@av-pi-studio/web-client 0.0.109 → 0.0.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{BinaryFallbackViewer-D3SiymLg.js → BinaryFallbackViewer-DpOfwwlU.js} +1 -1
- package/dist/web/assets/ChatPanel-8dn4l9xC.js +8 -0
- package/dist/web/assets/{ChatPanel-DOXUilBm.css → ChatPanel-C49fPd0n.css} +1 -1
- package/dist/web/assets/{CodeView-_q2A5_u4.js → CodeView-LdafEiaJ.js} +1 -1
- package/dist/web/assets/{FilePanel-CtTMIGGN.js → FilePanel-D94WKsxH.js} +1 -1
- package/dist/web/assets/{HtmlViewer-C375X5VB.js → HtmlViewer-CRFlnCxG.js} +1 -1
- package/dist/web/assets/{ImageViewer-DEd1JdfT.js → ImageViewer-lKcoFTgn.js} +1 -1
- package/dist/web/assets/{MarkdownFileViewer-DUmXZ9I3.js → MarkdownFileViewer-D6LqyXG0.js} +1 -1
- package/dist/web/assets/ModelProvidersPanel-CNeSw_fU.js +1 -0
- package/dist/web/assets/{MoleculeViewerPanel-B9ru3Tfz.js → MoleculeViewerPanel-BytUdaiR.js} +1 -1
- package/dist/web/assets/{SettingsDialog-Dzrj8U14.js → SettingsDialog-B1J5u_Ns.js} +6 -6
- package/dist/web/assets/{TerminalPanel-B4aQ2vFZ.js → TerminalPanel-BWwDblXt.js} +1 -1
- package/dist/web/assets/{TextViewer-DPjR2BtN.js → TextViewer-DsQWUVeF.js} +1 -1
- package/dist/web/assets/{VideoViewer-FVciwP8b.js → VideoViewer-lRbB3YI1.js} +1 -1
- package/dist/web/assets/{ViewersPanel-C0NvKhk9.js → ViewersPanel-DEMFfqRy.js} +1 -1
- package/dist/web/assets/{href-resolution-BRKhhrZR.js → href-resolution-CfEJwBz3.js} +1 -1
- package/dist/web/assets/{index-pQTEQ2P2.css → index-D0vOQcoX.css} +1 -1
- package/dist/web/assets/{index-Dsmi2Bzk.js → index-UMN9kelm.js} +5 -5
- package/dist/web/assets/{markdown-Cg0b167h.js → markdown-CB3yWTpJ.js} +1 -1
- package/dist/web/assets/{use-file-download-Dg_DH4LU.js → use-file-download-uF5qOkxO.js} +1 -1
- package/dist/web/assets/{use-file-watch-C7pdkH79.js → use-file-watch-Ct-kCO-0.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-CbjpDpe7.js → use-provider-auth-list-4Hw9XtBB.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/web/assets/ChatPanel-CBL-3Y4a.js +0 -8
- package/dist/web/assets/ModelProvidersPanel-EvzaltXg.js +0 -1
|
@@ -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 s}from"./vendor-react-DQUAl2K8.js";import{e as N,u as _,w as H,x as P,t as $,o as b,S as F,y as I,z as E,A as R}from"./index-
|
|
2
|
+
import{_ as L}from"./vendor-DaF96HbP.js";import{r as m,j as s}from"./vendor-react-DQUAl2K8.js";import{e as N,u as _,w as H,x as P,t as $,o as b,S as F,y as I,z as E,A as R}from"./index-UMN9kelm.js";import{c as D}from"./vendor-highlight-Ddi_n-Jh.js";import{r as y}from"./href-resolution-CfEJwBz3.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 z(r,e){if(j.has(e))return e;try{return await r.loadLanguage(e),j.add(e),e}catch{return"plaintext"}}async function G(r,e){const t=await B(),n=await z(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 K(r){var t;const e={};for(const[n,a]of Object.entries(v)){const o=(t=r[a])==null?void 0:t.trim();o&&(e[n]=o)}return e}function Y(){const r=getComputedStyle(document.documentElement),e={};for(const t of Object.values(v))e[t]=r.getPropertyValue(t);return K(e)}const Z="_prose_1697a_1",q="_streaming_1697a_26",W="_inlineCode_1697a_87",J="_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:W,mermaid:J,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 oe(r,e,t){const n=r.trim();if(!n)return{kind:"unresolvable"};const a=n.split(/[?#]/,1)[0];if(!a)return{kind:"unresolvable"};const o=ae.exec(a);if(o)return`${o[1].toLowerCase()}:`in ne?{kind:"remote"}:{kind:"unresolvable"};const i=y(r,e,t);return i?N(i)!=="image"?{kind:"unresolvable"}:{kind:"local",path:i}:{kind:"unresolvable"}}function se(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 ie(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,P(r)}}function le(r){const e=_(o=>o.client),t=_(o=>o.daemon),[n,a]=m.useState({status:"idle"});return m.useEffect(()=>ie(r,e&&t?i=>$(t).download(i):null,a),[e,t,r]),n}const ce=m.memo(function({src:e,alt:t,assetBase:n,owningPaneId:a,workspaceCwd:o}){const i=b(),u=m.useMemo(()=>oe(e||"",n,i),[e,n,i]),c=le(u.kind==="local"?u.path:null),l=se(u,c,e,t);if(l.kind==="remote")return s.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return s.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return s.jsx("div",{className:d.inlineImageSkeleton,children:s.jsx(F,{size:"sm"})});const g=C(n,a??null,o??null),p=()=>{E(l.path,g.workspaceCwd,g.targetPaneId)};return s.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 o=b(),i=ue(r??"",t,o);if(i.kind==="external")return s.jsx("a",{href:r,children:e});const u=i.path,c=C(t,n,a);return s.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,o=!1,i=!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=o;a=null,o=!1,f&&u()}continue}const p=me.exec(l);if(p&&!i){const f=p[2];a=new RegExp(`^[${f[0]}]{${f.length},}$`),o=p[1]==="",n.push(l);continue}if(g===""&&n.length===0)continue;if((g.split("$$").length-1)%2===1&&(i=!i),g===""&&!i){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 G(e,r).then(o=>{a||n(o)}),()=>{a=!0}},[e,r]),t?s.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:t}}):s.jsx("pre",{children:s.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:o}=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]));o.initialize({startOnLoad:!1,theme:"base",themeVariables:Y(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:i}=await o.render(e,r);a||n({status:"ready",svg:i})}catch(o){a||n({status:"error",message:o instanceof Error?o.message:"Failed to render diagram"})}})(),()=>{a=!0}},[e,r]),t.status==="ready"?s.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:t.svg}}):t.status==="error"?s.jsxs("div",{className:d.mermaidError,children:[s.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",t.message]}),s.jsx("pre",{children:s.jsx("code",{children:r})})]}):s.jsx("pre",{children:s.jsx("code",{children:r})})}function xe({className:r,children:e,...t}){const n=/language-(\w+)/.exec(r??""),a=!!n,o=String(e).replace(/\n$/,"");if(a&&n){const i=n[1]??"plaintext";return i==="mermaid"?s.jsx(ke,{code:o}):s.jsx(he,{language:i,code:o})}return s.jsx("code",{className:d.inlineCode,...t,children:e})}function _e({className:r,children:e,...t}){return/language-(\w+)/.test(r??"")?s.jsx("pre",{children:s.jsx("code",{children:String(e).replace(/\n$/,"")})}):s.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:o=!1}){return s.jsx(V,{remarkPlugins:je,rehypePlugins:o?Ie:be,components:{code:o?_e:xe,img:i=>s.jsx(ce,{...i,assetBase:t,owningPaneId:n,workspaceCwd:a}),a:i=>s.jsx(de,{...i,assetBase:t,owningPaneId:n,workspaceCwd:a})},children:e})});function Te({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){return s.jsx("div",{className:d.prose,children:s.jsx(x,{text:r,assetBase:e,owningPaneId:t,workspaceCwd:n})})}function Le({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){const{blocks:a,tail:o}=m.useMemo(()=>pe(r),[r]);return s.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[a.map((i,u)=>s.jsx(x,{text:i,assetBase:e,owningPaneId:t,workspaceCwd:n},u)),o!==""&&s.jsx(x,{text:o,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-
|
|
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-UMN9kelm.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-
|
|
1
|
+
import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as w}from"./index-UMN9kelm.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};
|
package/dist/web/assets/{use-provider-auth-list-CbjpDpe7.js → use-provider-auth-list-4Hw9XtBB.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,r as u}from"./index-
|
|
1
|
+
import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,r as u}from"./index-UMN9kelm.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};
|
package/dist/web/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
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-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-UMN9kelm.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">
|
|
@@ -13,7 +13,7 @@
|
|
|
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">
|
|
16
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D0vOQcoX.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@av-pi-studio/web-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.110",
|
|
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.
|
|
20
|
-
"@av-pi-studio/protocol": "^0.0.
|
|
19
|
+
"@av-pi-studio/client": "^0.0.110",
|
|
20
|
+
"@av-pi-studio/protocol": "^0.0.110",
|
|
21
21
|
"@codemirror/language": "^6.12.4",
|
|
22
22
|
"@codemirror/language-data": "^6.5.2",
|
|
23
23
|
"@codemirror/state": "^6.7.1",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{r as g,j as t}from"./vendor-react-DQUAl2K8.js";import{a as At,b as It,m as Lt,u as Ce}from"./vendor-query-i7fr__Xm.js";import{D as be,F as L,G as Ot,u as $,H as Mt,I as M,J as Pt,K as Ft,B as E,M as Kt,N as tt,S as pe,z as zt,O as Ht,Q as $t,R as Ut,o as Wt,n as Gt,U as Vt,W as Yt,X as Jt,m as Qt,Y as Xt,E as Zt,Z as me,r as we,_ as De,$ as en,a0 as ie,h as tn,a1 as nn,a2 as ue,a3 as sn,A as on,P as Ge}from"./index-Dsmi2Bzk.js";import{L as an,G as rn,S as cn,a as ln,P as dn,E as un,T as nt,C as he,b as Be,B as mn,c as st,d as ot,A as fn,e as pn,f as hn,U as gn,g as at,h as _n,i as xn,j as vn,k as kn,l as Ve,m as jn,N as yn,n as bn}from"./vendor-icons-K8oF_80Q.js";import{u as Nn}from"./use-provider-auth-list-CbjpDpe7.js";import{N as S}from"./vendor-DaF96HbP.js";import{S as rt,M as Te,r as Sn}from"./markdown-Cg0b167h.js";import{D as Cn,p as wn}from"./DiffView-D1TsZBGe.js";import{R as Ee,T as qe,I as it}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-BRKhhrZR.js";function ct(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 Dn={shell:nt,read:un,edit:dn,write:ln,search:cn,fetch:rn,task:an};function Bn(e){return Dn[e.kind]??nt}function lt(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function Tn(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function En(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=be(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const Ye={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 qn(e){return Ye[e.kind]??Ye.task}function Rn(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 An(e){return e?(e.endsWith(`
|
|
3
|
-
`)?e.slice(0,-1):e).split(`
|
|
4
|
-
`).length:0}const In=500;let ve;function Ln(e,s,n,o){clearTimeout(ve),ve=setTimeout(()=>{ve=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},In)}function On({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=L.getState();switch(a.applyStreamEvent(e,s,n),s.kind){case"turn_started":a.setStatus(e,"running");break;case"turn_completed":a.setStatus(e,"idle");break;case"turn_failed":a.setStatus(e,"error");break;case"turn_canceled":a.setStatus(e,"idle");break;case"compaction":s.phase==="completed"&&s.estimatedTokensAfter!==void 0&&Ot(e,s.estimatedTokensAfter);break;case"tool_call":{if(s.status==="completed"&&Tn(s.tool)){const c=a.sessions[e],l=(c==null?void 0:c.cwd)||null;Ln(r,o,l,lt(s.tool))}break}}}function Mn(e){const s=$(r=>r.client),n=L(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=At();g.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;On({sessionId:e,event:a,timestamp:l,client:s,queryClient:o})}),[s,n,e,o])}const dt=64;function ke(e){return e.clientHeight>0}function Pn(e,s,n,o=dt){switch(s.kind){case"scroll":return ke(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&&ke(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:ke(n)}}}function Fn(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const Kn="_shellRow_1kabp_2",zn="_rail_1kabp_10",Hn="_disc_1kabp_18",$n="_connector_1kabp_28",Un="_content_1kabp_2",Wn="_metaLine_1kabp_40",Gn="_metaTime_1kabp_52",Vn="_forkButton_1kabp_66",O={shellRow:Kn,rail:zn,disc:Hn,connector:$n,content:Un,metaLine:Wn,metaTime:Gn,forkButton:Vn};function z({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:c}){return t.jsxs("div",{className:O.shellRow,children:[t.jsxs("div",{className:O.rail,children:[t.jsx("span",{className:S(O.disc,s),children:e}),n&&t.jsx("span",{className:O.connector})]}),t.jsxs("div",{className:S(O.content,a),children:[o&&t.jsxs("div",{className:O.metaLine,children:[o,r]}),c]})]})}function Je(e){return typeof e=="number"?e:Date.parse(e)}function Yn(e,s){const n=Je(e.entry.createdAt),o=Je(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function Jn(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(Yn)}function Qn(e){return e.entry.requestId}function ut(e){return e.receivedAt===void 0}const Xn=4;function Zn(e,s){let n=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(n++,{item:l,collapsed:!s&&n>Xn})),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 es(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Mt(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function mt(e){return e==="editor"}const ts="Esc again to dismiss — the extension gets an empty answer";function ns(e,s){return s?{kind:"warning",text:ts}:{kind:"keys",segments:[{key:mt(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function ss(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const os=5,as=40,rs=6;function is(e){return{mode:e.length>=os||e.some(n=>n.length>as)?"stack":"row",scrolls:e.length>rs}}function Ne(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 cs(e,s){return{title:Ne(e),...s!==void 0?{message:Ne(s)}:{}}}const ls="_askDisc_ffqf1_5",ds="_card_ffqf1_9",us="_cardInert_ffqf1_41",ms="_askDiscInert_ffqf1_47",fs="_reconnectingNote_ffqf1_52",ps="_reconnectingDot_ffqf1_61",hs="_deadlineBar_ffqf1_71",gs="_deadlineApproximate_ffqf1_80",_s="_header_ffqf1_85",xs="_askBadge_ffqf1_16",vs="_methodName_ffqf1_101",ks="_title_ffqf1_107",js="_titleEmphasised_ffqf1_115",ys="_message_ffqf1_119",bs="_emptyOptionsNote_ffqf1_127",Ns="_controls_ffqf1_133",Ss="_controlsStack_ffqf1_141",Cs="_controlsScroll_ffqf1_148",ws="_optionButton_ffqf1_153",Ds="_field_ffqf1_161",Bs="_editorField_ffqf1_168",Ts="_rawPayload_ffqf1_176",Es="_resolvedCard_ffqf1_190",qs="_askBadgeNeutral_ffqf1_204",Rs="_resolvedMethodName_ffqf1_209",As="_outcome_ffqf1_218",Is="_outcomeSuccess_ffqf1_229",Ls="_outcomeText_ffqf1_233",Os="_hint_ffqf1_255",Ms="_hintKey_ffqf1_270",Ps="_hintSep_ffqf1_278",Fs="_recoveredChip_ffqf1_285",Ks="_collapsedPendingCard_ffqf1_297",zs="_moreRow_ffqf1_303",h={askDisc:ls,card:ds,cardInert:us,askDiscInert:ms,reconnectingNote:fs,reconnectingDot:ps,deadlineBar:hs,deadlineApproximate:gs,header:_s,askBadge:xs,methodName:vs,title:ks,titleEmphasised:js,message:ys,emptyOptionsNote:bs,controls:Ns,controlsStack:Ss,controlsScroll:Cs,optionButton:ws,field:Ds,editorField:Bs,rawPayload:Ts,resolvedCard:Es,askBadgeNeutral:qs,resolvedMethodName:Rs,outcome:As,outcomeSuccess:Is,outcomeText:Ls,hint:Os,hintKey:Ms,hintSep:Ps,recoveredChip:Fs,collapsedPendingCard:Ks,moreRow:zs},Hs=250,$s=320;function J(e,s){const n=e[s];return typeof n=="string"?n:void 0}function Us(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function Ws({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(Ys,{entry:e.entry,connector:s}):n?t.jsx(Gs,{entry:e.entry,connector:s}):t.jsx(Qs,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function ft(){return t.jsx("span",{className:h.recoveredChip,children:"still waiting"})}function Gs({entry:e,connector:s}){return t.jsx(z,{disc:t.jsx(M,{icon:he,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:h.askDisc,connector:s,children:t.jsxs("div",{className:S(h.resolvedCard,h.collapsedPendingCard),children:[t.jsx("span",{className:h.askBadge,children:"ASK"}),t.jsx("span",{className:h.resolvedMethodName,children:e.method}),ut(e)&&t.jsx(ft,{})]})})}function Vs({count:e,connector:s,onExpand:n}){return t.jsx(z,{disc:t.jsx(M,{icon:he,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:h.moreRow,onClick:n,children:[e," more waiting"]})})}function Ys({entry:e,connector:s}){const n=Pt(e);return t.jsx(z,{disc:t.jsx(M,{icon:he,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.askDiscInert,connector:s,children:t.jsxs("div",{className:h.resolvedCard,children:[t.jsx("span",{className:S(h.askBadge,h.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:h.resolvedMethodName,children:e.method}),t.jsxs("span",{className:S(h.outcome,n.tone==="success"&&h.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(Be,{size:11,"aria-hidden":!0}),t.jsx("span",{className:S(n.truncate&&h.outcomeText),children:n.text})]})]})})}function U(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function Js({hint:e}){return e.kind==="warning"?t.jsx("p",{className:h.hint,children:e.text}):t.jsx("p",{className:h.hint,children:e.segments.map((s,n)=>t.jsxs(g.Fragment,{children:[n>0&&t.jsx("span",{className:h.hintSep,children:"·"}),t.jsx("span",{className:h.hintKey,children:s.key}),s.label]},s.label))})}function Qs({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=g.useState(()=>Date.now()),c=es(e,r),[l,m]=g.useState(!1),d=g.useRef(null),p=g.useRef(null),u=g.useRef(null);g.useEffect(()=>{if(!c.show)return;const j=setInterval(()=>a(Date.now()),Hs);return()=>clearInterval(j)},[e.requestId,e.timeoutMs,c.show]),g.useEffect(()=>{var y,q;if(!n||!e.answerable)return;const j=document.activeElement;(j instanceof HTMLTextAreaElement||j instanceof HTMLInputElement)&&j.value.length>0&&!((y=d.current)!=null&&y.contains(j))||(q=p.current)==null||q.focus()},[n,e.answerable]);function v(j){var x,y;e.answerable&&(j.target.closest("button, input, textarea, a, select")||(x=d.current)!=null&&x.contains(document.activeElement)||(y=d.current)==null||y.focus())}function B(j){Ft(e.requestId,j)}function P(j){var y;if(j.key!=="Escape"||!e.answerable)return;j.preventDefault(),j.stopPropagation();const x=ss(l);if(m(x.armed),!x.resolve){(y=u.current)==null||y.focus();return}u.current?u.current.click():B({cancelled:!0})}function A(j){j.currentTarget.contains(j.relatedTarget)||m(!1)}return t.jsxs(z,{disc:t.jsx(M,{icon:he,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?h.askDisc:h.askDiscInert,connector:s,children:[t.jsxs("div",{ref:d,className:S(h.card,!e.answerable&&h.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:P,onMouseDown:v,onBlur:A,children:[c.show&&t.jsx("div",{className:S(h.deadlineBar,c.approximate&&h.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:h.header,children:[t.jsx("span",{className:S(h.askBadge,!e.answerable&&h.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:h.methodName,children:e.method}),ut(e)&&t.jsx(ft,{})]}),t.jsx(Xs,{entry:e,onSubmit:B,primaryRef:p,dismissRef:u})]}),t.jsx(Js,{hint:ns(e.method,l)}),!e.answerable&&t.jsxs("p",{className:h.reconnectingNote,children:[t.jsx("span",{className:h.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function Xs({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(Zs,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(eo,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(to,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(no,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(so,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function fe({text:e}){return t.jsx("div",{className:h.title,children:Ne(e).join(`
|
|
6
|
-
`)})}function Zs({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=Us(s,"options"),[l,m]=g.useState(null);if(c.length===0){const p=U(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(fe,{text:a}),t.jsx("p",{className:h.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:h.controls,children:t.jsx(E,{ref:u=>{o.current=u,r.current=u},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...p,children:"Cancel"})})]})}const d=is(c);return t.jsxs(t.Fragment,{children:[t.jsx(fe,{text:a}),t.jsx("div",{className:S(h.controls,d.mode==="stack"&&h.controlsStack,d.scrolls&&h.controlsScroll),children:c.map((p,u)=>t.jsx(E,{ref:u===0?v=>{o.current=v}:void 0,size:"xs",variant:"secondary",className:h.optionButton,onClick:()=>{m(u),n({value:p})},...U(e,l===u),children:p},u))})]})}function eo({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=J(s,"message"),l=cs(a,c),[m,d]=g.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:S(h.title,l.message&&h.titleEmphasised),children:l.title.join(`
|
|
7
|
-
`)}),l.message&&t.jsx("div",{className:h.message,children:l.message.join(`
|
|
8
|
-
`)}),t.jsxs("div",{className:h.controls,children:[t.jsx(E,{ref:p=>{o.current=p},size:"xs",variant:"default",onClick:()=>{d("yes"),n({confirmed:!0})},...U(e,m==="yes"),children:"Yes"}),t.jsx(E,{ref:p=>{r.current=p},size:"xs",variant:"secondary",onClick:()=>{d("no"),n({confirmed:!1})},...U(e,m==="no"),children:"No"})]})]})}function to({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=J(s,"title")??"",a=J(s,"placeholder"),[c,l]=g.useState(""),m=U(e,e.submitting===!0),d=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(fe,{text:r}),t.jsxs("div",{className:h.controls,children:[t.jsx(Kt,{ref:p=>{o.current=p},className:h.field,value:c,placeholder:a,disabled:d,onChange:p=>l(p.target.value),onKeyDown:p=>{p.key!=="Enter"||d||(p.preventDefault(),p.stopPropagation(),n({value:c}))}}),t.jsx(E,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function no({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=J(s,"prefill")??"",[l,m]=g.useState(c),[d,p]=g.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(fe,{text:a}),t.jsx(tt,{ref:u=>{o.current=u},className:h.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:u=>{m(u.target.value);const v=u.target;v.style.height="auto",v.style.height=`${Math.min(v.scrollHeight,$s)}px`},onKeyDown:u=>{u.key!=="Enter"||u.shiftKey!==mt(e.method)||(u.preventDefault(),u.stopPropagation(),p("submit"),n({value:l}))}}),t.jsxs("div",{className:h.controls,children:[t.jsx(E,{size:"xs",variant:"default",onClick:()=>{p("submit"),n({value:l})},...U(e,d==="submit"),children:"Submit"}),t.jsx(E,{ref:u=>{r.current=u},size:"xs",variant:"secondary",onClick:()=>{p("cancel"),n({cancelled:!0})},...U(e,d==="cancel"),children:"Cancel"})]})]})}function so({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=U(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:h.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:h.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:h.controls,children:t.jsx(E,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function Qe(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function oo(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const c=l=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(l!==null){const d=Qe(m.timestamp);if(d!==null&&d>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(Qe(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 ao(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const ro=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Xe(e){return String(e).padStart(2,"0")}function Re(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${ro[s.getMonth()]} ${s.getDate()}, ${Xe(s.getHours())}:${Xe(s.getMinutes())}`}const io="_queuedBadge_12qdc_8",co="_finalChip_12qdc_20",lo="_userDisc_12qdc_30",uo="_userAligned_12qdc_34",mo="_userPendingRow_12qdc_40",fo="_userBubble_12qdc_44",po="_userBubbleFailed_12qdc_58",ho="_userImages_12qdc_63",go="_userImage_12qdc_63",_o="_imageDialog_12qdc_79",xo="_imageDialogPreview_12qdc_83",vo="_assistantDisc_12qdc_93",ko="_assistantBody_12qdc_97",jo="_reasoningDisc_12qdc_108",yo="_reasoningBody_12qdc_112",bo="_toolDisc_12qdc_123",No="_toolCardBody_12qdc_127",So="_toolCardBodyRunning_12qdc_134",Co="_toolCardBodyCompleted_12qdc_138",wo="_toolCardBodyError_12qdc_142",Do="_toolHeader_12qdc_146",Bo="_toolHeaderRunning_12qdc_172",To="_toolChevron_12qdc_182",Eo="_toolChevronOpen_12qdc_188",qo="_kindBadge_12qdc_192",Ro="_toolPath_12qdc_204",Ao="_toolTrailing_12qdc_213",Io="_toolStatusRunning_12qdc_221",Lo="_toolStatusSuccess_12qdc_228",Oo="_toolStatusError_12qdc_232",Mo="_toolStatusUnknown_12qdc_236",Po="_toolDiffAdded_12qdc_240",Fo="_toolDiffRemoved_12qdc_244",Ko="_toolOpenButton_12qdc_248",zo="_toolBody_12qdc_266",Ho="_toolCode_12qdc_272",$o="_toolOutputStrip_12qdc_283",Uo="_toolDiffPreview_12qdc_293",Wo="_toolDiffPreviewLine_12qdc_301",Go="_toolDiffPreviewAdd_12qdc_305",Vo="_toolDiffPreviewDel_12qdc_310",Yo="_toolDiffPreviewMore_12qdc_315",Jo="_errorDisc_12qdc_322",Qo="_errorCard_12qdc_326",Xo="_errorLead_12qdc_335",Zo="_systemRow_12qdc_342",ea="_compactionRow_12qdc_351",ta="_compactionRowFailed_12qdc_357",na="_compactionDivider_12qdc_361",sa="_compactionRule_12qdc_367",oa="_compactionLabel_12qdc_373",aa="_compactionText_12qdc_380",ra="_compactionToggle_12qdc_386",ia="_compactionSummary_12qdc_403",f={queuedBadge:io,finalChip:co,userDisc:lo,userAligned:uo,userPendingRow:mo,userBubble:fo,userBubbleFailed:po,userImages:ho,userImage:go,imageDialog:_o,imageDialogPreview:xo,assistantDisc:vo,assistantBody:ko,reasoningDisc:jo,reasoningBody:yo,toolDisc:bo,toolCardBody:No,toolCardBodyRunning:So,toolCardBodyCompleted:Co,toolCardBodyError:wo,toolHeader:Do,toolHeaderRunning:Bo,toolChevron:To,toolChevronOpen:Eo,kindBadge:qo,toolPath:Ro,toolTrailing:Ao,toolStatusRunning:Io,toolStatusSuccess:Lo,toolStatusError:Oo,toolStatusUnknown:Mo,toolDiffAdded:Po,toolDiffRemoved:Fo,toolOpenButton:Ko,toolBody:zo,toolCode:Ho,toolOutputStrip:$o,toolDiffPreview:Uo,toolDiffPreviewLine:Wo,toolDiffPreviewAdd:Go,toolDiffPreviewDel:Vo,toolDiffPreviewMore:Yo,errorDisc:Jo,errorCard:Qo,errorLead:Xo,systemRow:Zo,compactionRow:ea,compactionRowFailed:ta,compactionDivider:na,compactionRule:sa,compactionLabel:oa,compactionText:aa,compactionToggle:ra,compactionSummary:ia};function ca({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Re(e.timestamp);return t.jsx(z,{disc:t.jsx(M,{icon:mn,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:f.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:O.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:f.assistantBody,children:e.streaming?t.jsx(rt,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Te,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function la({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Re(e.timestamp);return t.jsx(z,{disc:t.jsx(M,{icon:st,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:O.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:f.finalChip,children:"final"}),children:t.jsx("div",{className:f.reasoningBody,children:e.streaming?t.jsx(rt,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Te,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function da(e){const s=wn(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 ua(e){return e.status==="completed"?t.jsx("span",{className:f.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:f.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:f.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:f.toolStatusRunning,children:[t.jsx(pe,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function ma({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=g.useState(!1),l=qn(e.tool),m=En(e.tool),d=m.length>0,p=An(e.tool.output),u=e.tool.kind==="edit"||e.tool.kind==="write"?lt(e.tool):null,v=e.tool.kind==="edit"?Rn(e.tool.diff):null,B=e.tool.kind==="edit"&&e.tool.diff&&!a?da(e.tool.diff):null;function P(){d&&c(x=>!x)}function A(x){x.target===x.currentTarget&&(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),P())}function j(x){if(x.stopPropagation(),!u)return;const y=Sn(s,n,o);zt(u,y.workspaceCwd,y.targetPaneId)}return t.jsx(z,{disc:t.jsx(M,{icon:Bn(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.toolDisc,connector:r,children:t.jsxs("div",{className:S(f.toolCardBody,e.status==="running"&&f.toolCardBodyRunning,e.status==="completed"&&f.toolCardBodyCompleted,e.status==="error"&&f.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:d?0:-1,"aria-expanded":d?a:void 0,"aria-disabled":!d,className:S(f.toolHeader,e.status==="running"&&f.toolHeaderRunning),onClick:P,onKeyDown:A,children:[d&&t.jsx(ot,{size:12,className:S(f.toolChevron,a&&f.toolChevronOpen)}),t.jsx("span",{className:f.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:f.toolPath,title:be(e.tool),children:be(e.tool)}),t.jsxs("span",{className:f.toolTrailing,children:[v&&(v.added>0||v.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:f.toolDiffAdded,children:["+",v.added]}),t.jsxs("span",{className:f.toolDiffRemoved,children:["−",v.removed]})]}),ua(e),u&&t.jsxs("button",{type:"button",className:f.toolOpenButton,onClick:j,onKeyDown:x=>x.stopPropagation(),children:["Open",t.jsx(fn,{size:10})]})]})]}),p>0&&t.jsxs("div",{className:f.toolOutputStrip,children:["output · ",p," lines"]}),B&&t.jsxs("div",{className:f.toolDiffPreview,children:[t.jsx("div",{className:S(f.toolDiffPreviewLine,B.kind==="add"?f.toolDiffPreviewAdd:f.toolDiffPreviewDel),children:B.text}),B.moreCount>0&&t.jsxs("div",{className:f.toolDiffPreviewMore,children:["… ",B.moreCount," more lines"]})]}),a&&d&&t.jsx("div",{className:f.toolBody,children:m.map((x,y)=>x.kind==="diff"?t.jsx(Cn,{patch:x.patch},y):t.jsx("pre",{className:f.toolCode,children:x.text},y))})]})})}const fa="Fork from here",pa="Fork conversation from this message";function ha({row:e,connector:s,onFork:n}){const[o,r]=g.useState(null),a=Re(e.timestamp);return t.jsxs(z,{disc:t.jsx(M,{icon:gn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:f.userDisc,connector:s,className:S(f.userAligned,e.pending&&f.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:O.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:f.queuedBadge,children:[t.jsx(pn,{size:9}),"queued"]}),n&&t.jsx($t,{className:O.forkButton,hoverBase:"var(--pi-color-surface3)",title:fa,"aria-label":pa,onClick:n,children:t.jsx(hn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:S(f.userBubble,e.failed&&f.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:f.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:f.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&r(m)}},l)})}),t.jsx(Ht,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:f.imageDialog,children:o&&t.jsx("img",{className:f.imageDialogPreview,src:o,alt:""})})]})}function ga({row:e,connector:s}){return t.jsx(z,{disc:t.jsx(M,{icon:at,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:f.errorDisc,connector:s,children:t.jsxs("div",{className:f.errorCard,children:[t.jsx("span",{className:f.errorLead,children:"Error"})," · ",e.text]})})}function _a({row:e}){return t.jsx("div",{className:f.systemRow,children:e.text})}function xa({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null}){const[r,a]=g.useState(!1),c=Ut(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:f.compactionText,children:c});return t.jsxs("div",{className:S(f.compactionRow,e.phase==="failed"&&f.compactionRowFailed),children:[t.jsxs("div",{className:f.compactionDivider,children:[t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:f.compactionLabel,children:[e.phase==="started"&&t.jsx(pe,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(M,{icon:at,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:f.compactionToggle,"aria-expanded":r,onClick:()=>a(d=>!d),children:[t.jsx(ot,{size:12,className:S(f.toolChevron,r&&f.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"})]}),l&&r&&t.jsx("div",{className:f.compactionSummary,children:t.jsx(Te,{text:e.summary,assetBase:s,owningPaneId:n,workspaceCwd:o})})]})}const va=500;function ka(e,s){const n=g.useRef(!0),[o,r]=g.useState(!0),a=g.useRef(0),c=g.useCallback(d=>{const p=s.current,u=p?{scrollTop:p.scrollTop,scrollHeight:p.scrollHeight,clientHeight:p.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},v=Pn(n.current,d,u);v.pinned!==n.current&&(n.current=v.pinned,r(v.pinned)),v.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);g.useEffect(()=>{const d=s.current;if(!d)return;const p=()=>{a.current=performance.now()},u=()=>{c({kind:"scroll",gesture:performance.now()-a.current<va})};d.addEventListener("scroll",u,{passive:!0}),d.addEventListener("wheel",p,{passive:!0}),d.addEventListener("touchmove",p,{passive:!0}),d.addEventListener("pointerdown",p,{passive:!0}),d.addEventListener("keydown",p,{passive:!0});const v=new ResizeObserver(()=>{d.clientHeight>0&&c({kind:"shown"})});return v.observe(d),()=>{v.disconnect(),d.removeEventListener("scroll",u),d.removeEventListener("wheel",p),d.removeEventListener("touchmove",p),d.removeEventListener("pointerdown",p),d.removeEventListener("keydown",p)}},[c,s]);const l=g.useCallback(()=>c({kind:"tail"}),[c]),m=g.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const ja="_root_1xg4h_6",ya="_viewport_1xg4h_13",ba="_inner_1xg4h_20",Na="_rowWrap_1xg4h_25",Sa="_empty_1xg4h_35",Ca="_nudge_1xg4h_47",wa="_jumpToLatest_1xg4h_56",Y={root:ja,viewport:ya,inner:ba,rowWrap:Na,empty:Sa,nudge:Ca,jumpToLatest:wa},Da=160;function Ba(e){return e.kind==="ask"?`ask:${Qn(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function Ta(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(ha,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(ca,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(la,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(ma,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(ga,{row:e,connector:!s});case"system":return t.jsx(_a,{row:e});case"compaction":return t.jsx(xa,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r})}}function Ea(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(Ws,{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(Vs,{count:e.count,connector:!s,onExpand:a}):Ta(e.row,s,n,o,r,m)}function qa({session:e,owningPaneId:s,workspaceCwd:n}){var K,ee;const o=e.timeline.rows,r=e.status==="running",a=Wt(),c=Gt(e.cwd,a),l=g.useRef(null),m=Vt(e),d=Yt(e.agentId??""),p=Jt(e.agentId??""),[u,v]=g.useState(!1),B=L(N=>N.activeSessionId===e.id),P=Qt(N=>{var D;return((D=N.layouts[n])==null?void 0:D.focusedPaneId)===s}),A=B&&P?((K=d[0])==null?void 0:K.requestId)??null:null,j=g.useMemo(()=>{const N=Zn(Jn(d,p),u);return oo(o,N,D=>({kind:"row",row:D}),D=>D.kind==="more"?{kind:"ask-more",count:D.count}:{kind:"ask",item:D.item,collapsed:D.collapsed})},[o,d,p,u]),x=$(N=>N.status==="open"),y=$(N=>N.serverInfo),q=!!((ee=y==null?void 0:y.features)!=null&&ee.providerAuth),W=Xt(N=>N.openSettings),{data:Q}=Nn(o.length===0&&x&&q),w=ao(q,Q),T=It({count:j.length,getScrollElement:()=>l.current,estimateSize:()=>Da,overscan:8,getItemKey:N=>{const D=j[N];return D?Ba(D):N},measureElement:(N,D,H)=>{if(N.offsetParent!==null)return Lt(N,D,H);const te=H.indexFromElement(N),le=H.options.getItemKey(te);return H.itemSizeCache.get(le)??H.options.estimateSize(te)},anchorTo:"end",scrollEndThreshold:dt}),{pinned:ge,followTail:I,pinToBottom:X}=ka(T,l),F=Fn(o);return g.useEffect(()=>{I()},[j.length,I]),g.useEffect(()=>{F!==null&&X()},[F,X]),t.jsxs("div",{className:Y.root,children:[t.jsx("div",{className:Y.viewport,ref:l,children:j.length===0?!r&&(w?t.jsxs(Zt,{className:Y.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(E,{size:"xs",variant:"secondary",onClick:()=>W(),children:"Connect a model provider"})]}):t.jsx("div",{className:Y.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:Y.inner,style:{height:T.getTotalSize()},children:T.getVirtualItems().map(N=>{const D=j[N.index];return D?t.jsx("div",{ref:T.measureElement,"data-index":N.index,className:Y.rowWrap,style:{transform:`translateY(${N.start}px)`},children:Ea(D,N.index===j.length-1,c,s,n,()=>v(!0),A,e.title,m)},N.key):null})})}),!ge&&j.length>0&&t.jsx("button",{type:"button",className:Y.jumpToLatest,onClick:X,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(_n,{size:16,"aria-hidden":"true"})})]})}function Ra(e,s=!0){const n=$(o=>o.client);return Ce({queryKey:we.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await me(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function pt(e,s=!0){const n=$(o=>o.client);return Ce({queryKey:we.providerModels(e),queryFn:async()=>{if(!n)throw new Error("not connected");return(await n.providers.listModels(e)).models},enabled:!!n&&!!e&&s})}function Aa(e,s,n=!0){const o=$(r=>r.client);return Ce({queryKey:we.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 Ia="_strip_nzfk5_4",La="_thumb_nzfk5_11",Oa="_remove_nzfk5_28",je={strip:Ia,thumb:La,remove:Oa};function Ma({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:je.strip,children:e.map((n,o)=>t.jsxs("div",{className:je.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:je.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function Pa(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 Fa(e,s,n){return e?n:s}const Se=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function ht(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 Ae(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 Ka(e){return/^\/\S*$/.test(e)}function za(e,s){let n=0;const o=Se.map(a=>({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source,disabled:s.builtinsDisabled===!0})),r=new Set(Se.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 Ha(e,s,n){return n<=0?0:(e+s+n)%n}function $a(e,s){const n=Ae(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function Ua(e,s){const n=Ae(e);return!n||!s.includes(n.name)?null:{end:n.end}}function gt({running:e,compacting:s,hasAgent:n}){return n&&!e&&!s}function Wa(e){const s=e.text.trim().length>0||e.hasImages;return!e.hasClient||!s||e.busy||e.compacting?!1:ht(e.text)!==null?gt(e):!0}const Ga="_picker_4appn_4",Va="_search_4appn_10",Ya="_list_4appn_28",Ja="_item_4appn_33",Qa="_itemActive_4appn_50",Xa="_checkSlot_4appn_54",Za="_label_4appn_63",er="_modelId_4appn_69",tr="_state_4appn_76",nr="_stateError_4appn_85",sr="_commandContent_4appn_95",or="_commandList_4appn_98",ar="_commandItem_4appn_103",rr="_commandItemHeader_4appn_135",ir="_commandKindBadge_4appn_149",cr="_commandKindExtension_4appn_168",lr="_commandKindPrompt_4appn_173",dr="_commandKindSkill_4appn_178",ur="_commandDescription_4appn_183",mr="_commandItemDisabled_4appn_197",k={picker:Ga,search:Va,list:Ya,item:Ja,itemActive:Qa,checkSlot:Xa,label:Za,modelId:er,state:tr,stateError:nr,commandContent:sr,commandList:or,commandItem:ar,commandItemHeader:rr,commandKindBadge:ir,commandKindExtension:cr,commandKindPrompt:lr,commandKindSkill:dr,commandDescription:ur,commandItemDisabled:mr},fr={onOpenAutoFocus:e=>e.preventDefault()};function pr(e){switch(e){case"extension":return k.commandKindExtension;case"prompt":return k.commandKindPrompt;case"skill":return k.commandKindSkill;default:return}}function hr({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:d}){const p=g.useRef(null);return g.useEffect(()=>{var u,v;e&&((v=(u=p.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||v.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Ee,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(qe,{asChild:!0,children:d()}),t.jsxs(De,{className:S(k.picker,k.commandContent),side:"top",sideOffset:4,...fr,onCloseAutoFocus:u=>u.preventDefault(),children:[a&&t.jsx("div",{className:k.state,children:t.jsx(pe,{size:"sm"})}),!a&&c&&t.jsx("div",{className:k.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:k.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:p,className:S(k.list,k.commandList),children:n.map((u,v)=>t.jsxs("div",{role:"option","aria-selected":v===o,"aria-disabled":u.disabled||void 0,className:S(k.item,k.commandItem,v===o&&k.itemActive,u.disabled&&k.commandItemDisabled),title:u.description,onMouseDown:B=>{B.preventDefault(),u.disabled||r(u.value)},children:[t.jsxs("div",{className:k.commandItemHeader,children:[t.jsx("span",{className:k.label,children:u.label}),u.kind&&t.jsx("span",{className:S(k.commandKindBadge,pr(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:k.commandDescription,children:u.description})]},u.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:k.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function gr(e,s={}){const n=new Map;for(const m of e){const d=m.group??"",p=n.get(d);p?p.push(m):n.set(d,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:c}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const l=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function _r(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 xr(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 vr({currentModel:e,currentModelProvider:s,provider:n,onSelect:o,renderTrigger:r}){const[a,c]=g.useState(!1),[l,m]=g.useState(""),d=g.useRef(null),{data:p=[],isLoading:u,isError:v,error:B}=pt(n,a||e!==void 0);g.useEffect(()=>{var w;a&&(m(""),(w=d.current)==null||w.focus())},[a]);const A=xr(_r(p,e,s)).map(w=>({value:w.id,label:w.label??w.id,description:w.id,group:w.provider})),j=A[0],x=(j==null?void 0:j.value)===e?j:void 0,y=gr(ct(A,l),{priorityGroup:s,ungroupedLabel:"Other"}),q=y.length>1,W=B instanceof Error?B.message:"Failed to load models";function Q(w){w.stopPropagation(),w.key==="Escape"&&c(!1)}return t.jsxs(Ee,{open:a,onOpenChange:c,modal:!1,children:[t.jsx(qe,{asChild:!0,children:r(e,x==null?void 0:x.label)}),t.jsxs(De,{minWidth:240,align:"end",sideOffset:6,className:k.picker,children:[t.jsx("input",{ref:d,className:k.search,placeholder:"Search models…",value:l,onChange:w=>m(w.target.value),onKeyDown:Q}),u&&t.jsx("div",{className:k.state,children:t.jsx(pe,{size:"sm"})}),!u&&v&&t.jsx("div",{className:k.stateError,children:W}),!u&&!v&&y.length===0&&t.jsx("div",{className:k.state,children:"No models found"}),!u&&!v&&y.length>0&&t.jsx("div",{className:k.list,children:y.map(w=>t.jsx(en,{label:q?w.label:void 0,children:w.options.map(T=>t.jsxs(it,{className:k.item,onSelect:()=>o(T.value,T.group),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:T===x&&t.jsx(Be,{size:14})}),t.jsx("span",{className:k.label,children:T.label}),t.jsxs("span",{className:k.modelId,children:["(",T.value,")"]})]},`${T.group??""}/${T.value}`))},w.key))})]})]})}function kr({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ee,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(qe,{asChild:!0,children:a(e)}),t.jsx(De,{minWidth:140,align:"end",side:"top",sideOffset:6,className:k.picker,children:s.length===0?t.jsx("div",{className:k.state,children:"Loading levels…"}):t.jsx("div",{className:k.list,children:s.map(c=>t.jsxs(it,{className:k.item,onSelect:()=>r(c),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(Be,{size:14})}),t.jsx("span",{className:k.label,children:c})]},c))})})]})}const Ze=["off","minimal","low","medium","high","xhigh","max"];function jr(e,s){if(!e)return Ze;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:Ze}const yr="_composer_18cg3_4",br="_card_18cg3_13",Nr="_flash_18cg3_27",Sr="_note_18cg3_41",Cr="_compactError_18cg3_47",wr="_textarea_18cg3_55",Dr="_textareaWrap_18cg3_79",Br="_highlightLayer_18cg3_67",Tr="_commandMark_18cg3_102",Er="_hiddenFileInput_18cg3_127",qr="_toolbar_18cg3_133",Rr="_toolbarRight_18cg3_140",Ar="_toolBtn_18cg3_148",Ir="_roundBtn_18cg3_154",Lr="_modelBtn_18cg3_159",Or="_modelLabel_18cg3_189",Mr="_modelId_18cg3_187",Pr="_modelChevron_18cg3_207",C={composer:yr,card:br,flash:Nr,note:Sr,compactError:Cr,textarea:wr,textareaWrap:Dr,highlightLayer:Br,commandMark:Tr,hiddenFileInput:Er,toolbar:qr,toolbarRight:Rr,toolBtn:Ar,roundBtn:Ir,modelBtn:Lr,modelLabel:Or,modelId:Mr,modelChevron:Pr},Fr=160;function ce(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Fr)}px`}function Kr(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function zr(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Hr({sessionId:e}){var Ue;const s=$(i=>i.client),n=L(i=>i.sessions[e]),o=L(i=>i.addOptimisticUserMessage),r=L(i=>i.markUserMessageFailed),a=L(i=>i.setCwd),c=L(i=>i.setModel),l=L(i=>i.setThinkingLevel),m=$(i=>i.serverInfo),[d,p]=g.useState(!1),u=!!((Ue=m==null?void 0:m.features)!=null&&Ue.thinkingLevels),{data:v}=Aa(n==null?void 0:n.agentId,n==null?void 0:n.model,d&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:B}=pt("pi"),P=jr(n==null?void 0:n.model,B),A=v!==void 0&&v.length>0?v:P,j=u&&!(v!==void 0&&v.length===0),x=ie(i=>i.drafts[e]??""),y=ie(i=>i.setDraft),[q,W]=g.useState([]),[Q,w]=g.useState(!1),[T,ge]=g.useState(!1),I=g.useRef(null),X=g.useRef(null),[F,K]=g.useState(!1),[ee,N]=g.useState(0),D=tn(sn.chat(e)),H=ie(i=>i.pendingFeedback[e]),[te,le]=g.useState(null),[_t,Ie]=g.useState(!1),ne=g.useRef(null),se=g.useRef(null);g.useEffect(()=>{if(!D||H===void 0)return;const i=ie.getState().consumeFeedback(e);if(!i)return;le(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),ne.current!==null&&window.clearTimeout(ne.current),ne.current=window.setTimeout(()=>le(null),4e3);const _=I.current;_&&_.setSelectionRange(_.value.length,_.value.length),i.flash&&(Ie(!0),se.current!==null&&window.clearTimeout(se.current),se.current=window.setTimeout(()=>Ie(!1),zr()?1e3:400))},[D,H,e]),g.useEffect(()=>()=>{ne.current!==null&&window.clearTimeout(ne.current),se.current!==null&&window.clearTimeout(se.current)},[]);const R=(n==null?void 0:n.status)==="running",oe=nn(e),_e=ue(i=>i.lastErrorBySession[e]),xt=ue(i=>i.compactSession),vt=ue(i=>i.cancelCompaction),kt=ue(i=>i.clearError),Le=!!(n!=null&&n.agentId),jt=Fa(R,Q,T),Oe=Wa({hasClient:!!s,busy:jt,compacting:oe,running:R,hasAgent:Le,text:x,hasImages:q.length>0}),{data:Me=[],isLoading:yt,isError:bt,error:Pe}=Ra(e,F),{options:Fe,hiddenExtensionCount:Nt}=za(Me,{running:R,builtinsDisabled:!gt({running:R,compacting:oe,hasAgent:Le})}),Ke=Ae(x),de=Ke?ct(Fe,Ke.name):Fe,St=[...Se,...Me].map(i=>i.name),Z=Ua(x,St);async function ze(i){if(i.type.startsWith("image/"))try{const _=await Pa(i);W(b=>[...b,_])}catch{}}function Ct(i){for(const _ of i.target.files??[])ze(_);i.target.value=""}function wt(i){for(const _ of i.clipboardData.items)if(_.type.startsWith("image/")){i.preventDefault();const b=_.getAsFile();b&&ze(b)}}function Dt(i){W(_=>_.filter((b,G)=>G!==i))}function Bt(i){const _=i.target.value;y(e,_),ce(i.target),_e&&kt(e);const b=Ka(_);b!==F&&K(b),b&&N(0)}function Tt(i){if(!F&&Z&&i.key==="Backspace"){const _=i.currentTarget,b=_.selectionStart;if(b!==null&&b===_.selectionEnd){const G=Z.end+(x[Z.end]===" "?1:0);if(b>0&&b<=G){i.preventDefault();const ae=x.slice(G);y(e,ae),_.setSelectionRange(0,0),ce(_);return}}}if(F&&de.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),N(_=>Ha(_,i.key==="ArrowDown"?1:-1,de.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const _=de[ee];_&&!_.disabled&&He(_.value);return}}if(F&&i.key==="Escape"){i.preventDefault(),K(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),$e(R?"steer":"send"))}function He(i){const _=$a(x,i);y(e,_),K(!1),N(0);const b=I.current;b&&(b.focus(),b.setSelectionRange(_.length,_.length),ce(b))}async function $e(i){if(!s||!n||(i==="steer"?T:Q)||i==="steer"&&!n.agentId)return;const _=x.trim();if(!_&&q.length===0||!Oe)return;const b=ht(_);if(b){K(!1),(await xt(e,b.args)).ok&&ie.getState().drafts[e]===x&&(y(e,""),I.current&&ce(I.current));return}y(e,""),K(!1),I.current&&ce(I.current);const G=q;W([]);const ae=_||"Describe this image",xe=G.length>0?G.map(V=>({mimeType:V.mimeType,data:V.data})):void 0,re=on();o(e,re,ae,xe,i==="steer");const We=i==="steer"?ge:w;We(!0);try{if(i==="steer"){const V=await s.agent(n.agentId).steer(ae,{clientMessageId:re,images:xe});Kr(V)&&r(e,re)}else{n.agentId||a(e,n.cwd||"~");const V=await me(s,e);await s.agent(V).send(ae,{clientMessageId:re,images:xe})}}catch{r(e,re)}finally{We(!1)}}function Et(){n!=null&&n.agentId&&(oe?vt(e):s==null||s.agent(n.agentId).interrupt())}function qt(i,_){c(e,i,_),!(!s||!_)&&(async()=>{const b=await me(s,e);await s.agent(b).setModel(_,i)})().catch(()=>{})}function Rt(i){l(e,i),s&&(async()=>{const _=await me(s,e),b=await s.agent(_).setThinking(i);l(e,b.level)})().catch(()=>{})}return t.jsxs("div",{className:C.composer,children:[t.jsxs("div",{className:S(C.card,_t&&C.flash),children:[t.jsxs("div",{className:C.textareaWrap,children:[t.jsx("div",{className:C.highlightLayer,"aria-hidden":!0,children:Z?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:C.commandMark,children:x.slice(0,Z.end)}),x.slice(Z.end)]}):x}),t.jsx(tt,{ref:I,className:C.textarea,rows:1,value:x,placeholder:R?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Bt,onKeyDown:Tt,onPaste:wt,"data-session-id":e})]}),t.jsx(Ma,{images:q,onRemove:Dt}),t.jsxs("div",{className:C.toolbar,children:[t.jsx(E,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",onClick:()=>{var i;return(i=X.current)==null?void 0:i.click()},children:t.jsx(xn,{size:16})}),t.jsx(hr,{open:F,onOpenChange:K,options:de,highlightedIndex:ee,onSelect:He,isLoading:yt,isError:bt,errorMessage:Pe instanceof Error?Pe.message:void 0,hiddenExtensionCount:Nt,renderTrigger:()=>t.jsx(E,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(vn,{size:16})})}),t.jsxs("div",{className:C.toolbarRight,children:[t.jsx(vr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",onSelect:qt,renderTrigger:(i,_)=>{const b=_!==void 0&&_!==i;return t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Model: ${_??i}${b?` (${i})`:""}`:"Select model",children:[t.jsx(kn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:_??i??"Model"}),b&&t.jsxs("span",{className:C.modelId,children:["(",i,")"]}),t.jsx(Ve,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}}),j&&t.jsx(kr,{currentLevel:n==null?void 0:n.thinkingLevel,levels:A,open:d,onOpenChange:p,onSelect:Rt,renderTrigger:i=>t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(st,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:i??"Thinking"}),t.jsx(Ve,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}),(R||oe)&&t.jsx(E,{className:C.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:oe?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:Et,children:t.jsx(jn,{size:14})}),t.jsx(E,{className:C.roundBtn,size:"sm",iconOnly:!0,disabled:!Oe,title:R?"Steer the running turn":"Send","aria-label":R?"Steer":"Send",onClick:()=>void $e(R?"steer":"send"),children:R?t.jsx(yn,{size:16}):t.jsx(bn,{size:18})})]})]})]}),te!==null&&t.jsx("div",{className:C.note,children:te}),_e&&t.jsx("div",{role:"alert",className:C.compactError,children:_e}),t.jsx("input",{ref:X,className:C.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Ct})]})}const $r="_track_oxvl6_2",Ur="_sweep_oxvl6_24",Wr="_visuallyHidden_oxvl6_64",ye={track:$r,sweep:Ur,visuallyHidden:Wr};function Gr({running:e}){return e?t.jsxs("div",{className:ye.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:ye.sweep,"aria-hidden":"true"}),t.jsx("span",{className:ye.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const Vr="_panel_1tq06_1",Yr="_empty_1tq06_5",et={panel:Vr,empty:Yr};function li({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=L(r=>r.sessions[n]);return Mn(n),o?t.jsxs(Ge,{className:et.panel,children:[t.jsx(Gr,{running:o.status==="running"}),t.jsx(qa,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(Hr,{sessionId:o.id})]}):t.jsx(Ge,{children:t.jsx("div",{className:et.empty,children:"Session not found."})})}export{li as ChatPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as b,j as t}from"./vendor-react-DQUAl2K8.js";import{a as A}from"./vendor-query-i7fr__Xm.js";import{u as E,E as u,S as P,B as x,r as C}from"./index-Dsmi2Bzk.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-CbjpDpe7.js";import{u as y}from"./provider-auth-store-9hsJ07X1.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-K8oF_80Q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const N="env:";function I(e){var i;return e.configured==="unknown"?{label:"Unknown",variant:"warning"}:e.configured===!1?{label:"Not configured",variant:"muted"}:(i=e.configuredSource)!=null&&i.startsWith(N)?{label:`env: ${e.configuredSource.slice(N.length)}`,variant:"success"}:e.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(e){const i=e.configured===!0?"Re-login":"Log in";if(e.authTypes.length<=1){const s=e.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?e.oauthLoginLabel??i:i}]}return e.authTypes.map(s=>s==="oauth"?{authType:s,label:e.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const O="_list_vm1k7_1",T="_row_vm1k7_7",q="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",U="_pendingNote_vm1k7_44",K="_note_vm1k7_49",Q="_errorState_vm1k7_55",a={list:O,row:T,rowMain:q,name:B,tag:z,rowActions:F,pendingNote:U,note:K,errorState:Q};function nn(){const e=E(n=>n.client),i=A(),s=y(n=>n.pendingLogin),j=y(n=>n.requestLogin),[d,g]=b.useState(null),[k,m]=b.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function p(n){if(e&&window.confirm(`Log out of ${n.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[n.id]:""})),g(n.id);try{const o=await e.logoutProvider(n.id);m(l=>({...l,[n.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:C.providerAuthList()})}finally{g(null)}}}return L?t.jsxs(u,{children:[t.jsx(P,{size:"sm"})," Loading providers…"]}):S?t.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?t.jsx(u,{children:"No providers available."}):t.jsx("div",{className:a.list,children:r.map(n=>{const o=I(n),l=M(n),f=(s==null?void 0:s.provider)===n.id,_=s!==null&&!f,w=k[n.id];return t.jsxs("div",{className:a.row,children:[t.jsxs("div",{className:a.rowMain,children:[t.jsx("span",{className:a.name,children:n.name}),n.oauthIsSubscription&&t.jsx(v,{label:"Subscription",variant:"muted",className:a.tag}),t.jsx(v,{label:o.label,variant:o.variant,className:a.tag})]}),t.jsx("div",{className:a.rowActions,children:f?t.jsx("span",{className:a.pendingNote,children:"Logging in…"}):t.jsxs(t.Fragment,{children:[l.map(c=>t.jsx(x,{size:"xs",variant:"secondary",disabled:_,onClick:()=>j(n.id,n.name,c.authType),children:c.label},c.authType)),n.configured!==!1&&t.jsx(x,{size:"xs",variant:"ghost",disabled:_||d===n.id,loading:d===n.id,onClick:()=>void p(n),children:"Log out"})]})}),w&&t.jsx("div",{className:a.note,children:w})]},n.id)})})}export{nn as ModelProvidersPanel};
|