@av-pi-studio/web-client 0.0.82 → 0.0.83
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-BhBojgYd.js → BinaryFallbackViewer-DekY7VRF.js} +1 -1
- package/dist/web/assets/ChatPanel-CtECldc3.js +4 -0
- package/dist/web/assets/{CodeView-D91mREsp.js → CodeView-C4sk-KiE.js} +1 -1
- package/dist/web/assets/{FilePanel-CIFuH4f_.js → FilePanel-CzXhq3Hu.js} +1 -1
- package/dist/web/assets/{ImageViewer-BcpC-9HE.js → ImageViewer-QvSUEaaQ.js} +1 -1
- package/dist/web/assets/{MarkdownFileViewer-BDzrwPiB.js → MarkdownFileViewer-CPHS_Npv.js} +1 -1
- package/dist/web/assets/{MoleculeViewerPanel-aCElW220.js → MoleculeViewerPanel-BuiEdCWP.js} +1 -1
- package/dist/web/assets/{TerminalPanel-B95G8KXL.js → TerminalPanel-CvJZUneu.js} +1 -1
- package/dist/web/assets/{TextViewer-C1zYu_5r.js → TextViewer-WeseUSSg.js} +1 -1
- package/dist/web/assets/{VideoViewer-BZMclaqR.js → VideoViewer-CaCi8C8s.js} +1 -1
- package/dist/web/assets/{index-C-gDLAhS.js → index-CJKgXjmo.js} +5 -5
- package/dist/web/assets/markdown-CZPTvNlV.js +5 -0
- package/dist/web/assets/{use-file-download-DaCAhjAL.js → use-file-download-4ySDCFi1.js} +1 -1
- package/dist/web/assets/{use-file-watch-a91DX08b.js → use-file-watch-CDe1Klx7.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +3 -3
- package/dist/web/assets/ChatPanel-B2VO6E82.js +0 -4
- package/dist/web/assets/markdown-B-dnhity.js +0 -5
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BEntOW_N.js","assets/vendor-DVp0ZLQo.js","assets/vendor-react-DQUAl2K8.js","assets/vendor-CEK31ho9.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as L}from"./vendor-DVp0ZLQo.js";import{r as m,j as o}from"./vendor-react-DQUAl2K8.js";import{n as N,a as H,m as P,d as R,u as _,p as $,q as F,t as D,s as b,S as A,v as E,w as I,x as V}from"./index-CJKgXjmo.js";import{c as U}from"./vendor-highlight-BjiGXuEM.js";import{M as z,r as O,a as B,b as G}from"./vendor-markdown-Bc_dOmsB.js";const y="github-dark";let h=null;const j=new Set(["plaintext"]);function K(){return h||(h=U({themes:[y],langs:["plaintext"]})),h}async function W(t,e){if(j.has(e))return e;try{return await t.loadLanguage(e),j.add(e),e}catch{return"plaintext"}}async function Z(t,e){const n=await K(),r=await W(n,e);return n.codeToHtml(t,{lang:r,theme:y})}const M={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 q(t){var n;const e={};for(const[r,s]of Object.entries(M)){const a=(n=t[s])==null?void 0:n.trim();a&&(e[r]=a)}return e}function Y(){const t=getComputedStyle(document.documentElement),e={};for(const n of Object.values(M))e[n]=t.getPropertyValue(n);return q(e)}const J="_prose_k8kw9_1",Q="_streaming_k8kw9_26",X="_inlineCode_k8kw9_65",ee="_mermaid_k8kw9_83",te="_mermaidError_k8kw9_92",ne="_mermaidErrorMessage_k8kw9_95",re="_inlineImage_k8kw9_126",se="_inlineImageSkeleton_k8kw9_135",ae="_inlineImageFallback_k8kw9_146",d={prose:J,streaming:Q,inlineCode:X,mermaid:ee,mermaidError:te,mermaidErrorMessage:ne,inlineImage:re,inlineImageSkeleton:se,inlineImageFallback:ae},ie=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function oe(t){try{return decodeURIComponent(t)}catch{return t}}function v(t,e,n){const r=t.trim();if(!r)return null;const s=r.split(/[?#]/,1)[0];if(!s||ie.exec(s))return null;let i;if(s.startsWith("/")?i=s:s==="~"||s.startsWith("~/")?i=n?N(s,n):null:i=H(s,e??""),!i)return null;const c=P(i);return oe(c)}const le={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},ce=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function ue(t,e,n){const r=t.trim();if(!r)return{kind:"unresolvable"};const s=r.split(/[?#]/,1)[0];if(!s)return{kind:"unresolvable"};const a=ce.exec(s);if(a)return`${a[1].toLowerCase()}:`in le?{kind:"remote"}:{kind:"unresolvable"};const i=v(t,e,n);return i?R(i)!=="image"?{kind:"unresolvable"}:{kind:"local",path:i}:{kind:"unresolvable"}}function de(t,e,n,r){return t.kind==="remote"?{kind:"remote",src:n||"",alt:r}:t.kind==="unresolvable"?{kind:"unresolvable",fallbackText:r||n||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:r,path:t.path}:{kind:"error",fallbackText:r||t.path||"(image)"}}function w(t,e,n){return{workspaceCwd:n??(t||"~"),targetPaneId:e??void 0}}function me(t,e,n){if(!t||!e){n({status:"idle"});return}let r=!1;return n({status:"loading"}),$(t,e).then(s=>{r||n({status:"ready",objectUrl:s.objectUrl})}).catch(s=>{r||n({status:"error",message:s instanceof Error?s.message:String(s)})}),()=>{r=!0,F(t)}}function fe(t){const e=_(a=>a.client),n=_(a=>a.daemon),[r,s]=m.useState({status:"idle"});return m.useEffect(()=>me(t,e&&n?i=>D(n).download(i):null,s),[e,n,t]),r}const ge=m.memo(function({src:e,alt:n,assetBase:r,owningPaneId:s,workspaceCwd:a}){const i=b(),c=m.useMemo(()=>ue(e||"",r,i),[e,r,i]),u=fe(c.kind==="local"?c.path:null),l=de(c,u,e,n);if(l.kind==="remote")return o.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return o.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return o.jsx("div",{className:d.inlineImageSkeleton,children:o.jsx(A,{size:"sm"})});const g=w(r,s??null,a??null),p=()=>{I(l.path,g.workspaceCwd,g.targetPaneId)};return o.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:E(l.path),onClick:p,style:{cursor:"pointer"}})});function pe(t,e,n){const r=t.trim();if(!r)return{kind:"external"};if(r.startsWith("#"))return{kind:"external"};const s=v(t,e,n);return s?{kind:"local",path:s}:{kind:"external"}}function ke({href:t,children:e,assetBase:n,owningPaneId:r,workspaceCwd:s}){const a=b(),i=pe(t??"",n,a);if(i.kind==="external")return o.jsx("a",{href:t,children:e});const c=i.path,u=w(n,r,s);return o.jsx("a",{href:t,draggable:!0,onDragStart:E(c),onClick:l=>{l.preventDefault(),I(c,u.workspaceCwd,u.targetPaneId)},children:e})}const C=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,he=/^(\s*)(`{3,}|~{3,})(.*)$/;function xe(t){return C.test(t[0]??"")}function _e(t,e){for(let n=e;n<t.length;n++)if((t[n]??"").trim()!=="")return n;return-1}function je(t){if(!t)return{blocks:[],tail:""};const e=t.split(`
|
|
3
|
+
`),n=[];let r=[],s=null,a=!1,i=!1;const c=()=>{const u=r.join(`
|
|
4
|
+
`).trim();u&&n.push(u),r=[]};for(let u=0;u<e.length;u++){const l=e[u]??"",g=l.trim();if(s!==null){if(r.push(l),s.test(g)){const f=a;s=null,a=!1,f&&c()}continue}const p=he.exec(l);if(p&&!i){const f=p[2];s=new RegExp(`^[${f[0]}]{${f.length},}$`),a=p[1]==="",r.push(l);continue}if(g===""&&r.length===0)continue;if((g.split("$$").length-1)%2===1&&(i=!i),g===""&&!i){const f=_e(e,u+1),k=f===-1?null:e[f]??"",S=k!==null&&!/^\s/.test(k),T=k!==null&&C.test(k)&&xe(r);if(S&&!T){c(),u=f-1;continue}}r.push(l)}return{blocks:n,tail:r.join(`
|
|
5
|
+
`)}}function be({language:t,code:e}){const[n,r]=m.useState(null);return m.useEffect(()=>{let s=!1;return Z(e,t).then(a=>{s||r(a)}),()=>{s=!0}},[e,t]),n?o.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:n}}):o.jsx("pre",{children:o.jsx("code",{children:e})})}function Ee({code:t}){const[e]=m.useState(()=>`mermaid-${V()}`),[n,r]=m.useState({status:"pending"});return m.useEffect(()=>{let s=!1;return(async()=>{try{const{default:a}=await L(async()=>{const{default:c}=await import("./mermaid.core-BEntOW_N.js").then(u=>u.b0);return{default:c}},__vite__mapDeps([0,1,2,3]));a.initialize({startOnLoad:!1,theme:"base",themeVariables:Y(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:i}=await a.render(e,t);s||r({status:"ready",svg:i})}catch(a){s||r({status:"error",message:a instanceof Error?a.message:"Failed to render diagram"})}})(),()=>{s=!0}},[e,t]),n.status==="ready"?o.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:n.svg}}):n.status==="error"?o.jsxs("div",{className:d.mermaidError,children:[o.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",n.message]}),o.jsx("pre",{children:o.jsx("code",{children:t})})]}):o.jsx("pre",{children:o.jsx("code",{children:t})})}function Ie({className:t,children:e,...n}){const r=/language-(\w+)/.exec(t??""),s=!!r,a=String(e).replace(/\n$/,"");if(s&&r){const i=r[1]??"plaintext";return i==="mermaid"?o.jsx(Ee,{code:a}):o.jsx(be,{language:i,code:a})}return o.jsx("code",{className:d.inlineCode,...n,children:e})}function ye({className:t,children:e,...n}){return/language-(\w+)/.test(t??"")?o.jsx("pre",{children:o.jsx("code",{children:String(e).replace(/\n$/,"")})}):o.jsx("code",{className:d.inlineCode,...n,children:e})}const Me=[B,G],ve=[O],we=[],x=m.memo(function({text:e,assetBase:n=null,owningPaneId:r=null,workspaceCwd:s=null,lean:a=!1}){return o.jsx(z,{remarkPlugins:Me,rehypePlugins:a?we:ve,components:{code:a?ye:Ie,img:i=>o.jsx(ge,{...i,assetBase:n,owningPaneId:r,workspaceCwd:s}),a:i=>o.jsx(ke,{...i,assetBase:n,owningPaneId:r,workspaceCwd:s})},children:e})});function Pe({text:t,assetBase:e,owningPaneId:n,workspaceCwd:r}){return o.jsx("div",{className:d.prose,children:o.jsx(x,{text:t,assetBase:e,owningPaneId:n,workspaceCwd:r})})}function Re({text:t,assetBase:e,owningPaneId:n,workspaceCwd:r}){const{blocks:s,tail:a}=m.useMemo(()=>je(t),[t]);return o.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[s.map((i,c)=>o.jsx(x,{text:i,assetBase:e,owningPaneId:n,workspaceCwd:r},c)),a!==""&&o.jsx(x,{text:a,lean:!0,assetBase:e,owningPaneId:n,workspaceCwd:r})]})}export{Pe as M,Re as S,w 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-CJKgXjmo.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-CJKgXjmo.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/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>Pi-Studio</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-CJKgXjmo.js"></script>
|
|
8
8
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-DQUAl2K8.js">
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/vendor-query-i7fr__Xm.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/vendor-DVp0ZLQo.js">
|
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.83",
|
|
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.83",
|
|
20
|
+
"@av-pi-studio/protocol": "^0.0.83",
|
|
21
21
|
"@codemirror/language": "^6.12.4",
|
|
22
22
|
"@codemirror/language-data": "^6.5.2",
|
|
23
23
|
"@codemirror/state": "^6.7.1",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{r as g,j as t}from"./vendor-react-DQUAl2K8.js";import{a as Pe,b as Oe,m as Me,u as me}from"./vendor-query-i7fr__Xm.js";import{x as Q,y as R,u as $,I as z,S as X,w as ze,D as Le,s as Fe,n as He,z as V,r as pe,M as fe,T as Ke,B as H,P as le}from"./index-C-gDLAhS.js";import{L as $e,G as Ue,S as We,a as qe,P as Ge,E as Je,T as he,B as Qe,b as Ve,C as Xe,A as Ye,c as Ze,U as et,d as tt,e as nt,f as st,g as ot,h as at,i as rt,j as it,N as lt,k as ct}from"./vendor-icons-CQPWxe0u.js";import{S as _e,M as ge,r as dt}from"./markdown-B-dnhity.js";import{M as C}from"./vendor-DVp0ZLQo.js";import{D as ut,p as mt}from"./DiffView-CRrnffpG.js";import{R as xe,T as be,I as pt}from"./vendor-overlays-BfyojyuH.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-BjiGXuEM.js";import"./vendor-markdown-Bc_dOmsB.js";function ve(e,n){if(n.trim()==="")return e;const s=n.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(s)||o.description!==void 0&&o.description.toLowerCase().includes(s))}const ft={shell:he,read:Je,edit:Ge,write:qe,search:We,fetch:Ue,task:$e};function ht(e){return ft[e.kind]??he}function ye(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function _t(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function gt(e){const n=[];if(e.kind==="edit"&&e.diff)n.push({kind:"diff",patch:e.diff});else{const s=Q(e);s&&n.push({kind:"code",text:s})}return e.output&&n.push({kind:"code",text:e.output}),n}const ce={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 xt(e){return ce[e.kind]??ce.task}function bt(e){if(!e)return{added:0,removed:0};let n=0,s=0;for(const o of e.split(`
|
|
2
|
-
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?n++:o.startsWith("-")&&s++);return{added:n,removed:s}}function vt(e){return e?(e.endsWith(`
|
|
3
|
-
`)?e.slice(0,-1):e).split(`
|
|
4
|
-
`).length:0}const yt=500;let W;function jt(e,n,s,o){clearTimeout(W),W=setTimeout(()=>{W=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),n&&s&&n.connection.request("checkout_refresh_request",{cwd:s}).catch(()=>{})},yt)}function kt({sessionId:e,event:n,timestamp:s,client:o,queryClient:r}){const i=R.getState();switch(i.applyStreamEvent(e,n,s),n.kind){case"turn_started":i.setStatus(e,"running");break;case"turn_completed":i.setStatus(e,"idle");break;case"turn_failed":i.setStatus(e,"error");break;case"turn_canceled":i.setStatus(e,"idle");break;case"tool_call":{if(n.status==="completed"&&_t(n.tool)){const c=i.sessions[e],d=(c==null?void 0:c.cwd)||null;jt(r,o,d,ye(n.tool))}break}}}function St(e){const n=$(r=>r.client),s=R(r=>{var i;return((i=r.sessions[e])==null?void 0:i.agentId)??null}),o=Pe();g.useEffect(()=>!n||!s?void 0:n.agent(s).timeline.subscribe((i,c)=>{const d=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;kt({sessionId:e,event:i,timestamp:d,client:n,queryClient:o})}),[n,s,e,o])}const je=64;function q(e){return e.clientHeight>0}function Dt(e,n,s,o=je){switch(n.kind){case"scroll":return q(s)?s.scrollHeight-s.scrollTop-s.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:n.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&q(s)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:q(s)}}}function Nt(e){const n=e[e.length-1];return(n==null?void 0:n.kind)==="user"?n.id:null}const Ct=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function de(e){return String(e).padStart(2,"0")}function Y(e){if(!e)return;const n=new Date(e);if(!Number.isNaN(n.getTime()))return`${Ct[n.getMonth()]} ${n.getDate()}, ${de(n.getHours())}:${de(n.getMinutes())}`}const wt="_shellRow_5a5cb_2",Bt="_rail_5a5cb_10",Tt="_disc_5a5cb_18",Et="_connector_5a5cb_28",Rt="_content_5a5cb_2",At="_metaLine_5a5cb_40",It="_metaTime_5a5cb_52",E={shellRow:wt,rail:Bt,disc:Tt,connector:Et,content:Rt,metaLine:At,metaTime:It};function L({disc:e,discClassName:n,connector:s,meta:o,metaTrailing:r,className:i,children:c}){return t.jsxs("div",{className:E.shellRow,children:[t.jsxs("div",{className:E.rail,children:[t.jsx("span",{className:C(E.disc,n),children:e}),s&&t.jsx("span",{className:E.connector})]}),t.jsxs("div",{className:C(E.content,i),children:[o&&t.jsxs("div",{className:E.metaLine,children:[o,r]}),c]})]})}const Pt="_queuedBadge_mdmbp_8",Ot="_finalChip_mdmbp_20",Mt="_userDisc_mdmbp_30",zt="_userAligned_mdmbp_34",Lt="_userPendingRow_mdmbp_40",Ft="_userBubble_mdmbp_44",Ht="_userBubbleFailed_mdmbp_58",Kt="_userImages_mdmbp_63",$t="_userImage_mdmbp_63",Ut="_imageDialog_mdmbp_79",Wt="_imageDialogPreview_mdmbp_83",qt="_assistantDisc_mdmbp_93",Gt="_assistantBody_mdmbp_97",Jt="_reasoningDisc_mdmbp_108",Qt="_reasoningBody_mdmbp_112",Vt="_toolDisc_mdmbp_123",Xt="_toolCardBody_mdmbp_127",Yt="_toolCardBodyRunning_mdmbp_134",Zt="_toolCardBodyCompleted_mdmbp_138",en="_toolCardBodyError_mdmbp_142",tn="_toolHeader_mdmbp_146",nn="_toolHeaderRunning_mdmbp_172",sn="_toolChevron_mdmbp_182",on="_toolChevronOpen_mdmbp_188",an="_kindBadge_mdmbp_192",rn="_toolPath_mdmbp_204",ln="_toolTrailing_mdmbp_213",cn="_toolStatusRunning_mdmbp_221",dn="_toolStatusSuccess_mdmbp_228",un="_toolStatusError_mdmbp_232",mn="_toolStatusUnknown_mdmbp_236",pn="_toolDiffAdded_mdmbp_240",fn="_toolDiffRemoved_mdmbp_244",hn="_toolOpenButton_mdmbp_248",_n="_toolBody_mdmbp_266",gn="_toolCode_mdmbp_272",xn="_toolOutputStrip_mdmbp_283",bn="_toolDiffPreview_mdmbp_293",vn="_toolDiffPreviewLine_mdmbp_301",yn="_toolDiffPreviewAdd_mdmbp_305",jn="_toolDiffPreviewDel_mdmbp_310",kn="_toolDiffPreviewMore_mdmbp_315",Sn="_errorDisc_mdmbp_322",Dn="_errorCard_mdmbp_326",Nn="_errorLead_mdmbp_335",Cn="_systemRow_mdmbp_342",l={queuedBadge:Pt,finalChip:Ot,userDisc:Mt,userAligned:zt,userPendingRow:Lt,userBubble:Ft,userBubbleFailed:Ht,userImages:Kt,userImage:$t,imageDialog:Ut,imageDialogPreview:Wt,assistantDisc:qt,assistantBody:Gt,reasoningDisc:Jt,reasoningBody:Qt,toolDisc:Vt,toolCardBody:Xt,toolCardBodyRunning:Yt,toolCardBodyCompleted:Zt,toolCardBodyError:en,toolHeader:tn,toolHeaderRunning:nn,toolChevron:sn,toolChevronOpen:on,kindBadge:an,toolPath:rn,toolTrailing:ln,toolStatusRunning:cn,toolStatusSuccess:dn,toolStatusError:un,toolStatusUnknown:mn,toolDiffAdded:pn,toolDiffRemoved:fn,toolOpenButton:hn,toolBody:_n,toolCode:gn,toolOutputStrip:xn,toolDiffPreview:bn,toolDiffPreviewLine:vn,toolDiffPreviewAdd:yn,toolDiffPreviewDel:jn,toolDiffPreviewMore:kn,errorDisc:Sn,errorCard:Dn,errorLead:Nn,systemRow:Cn};function wn({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:r}){const i=Y(e.timestamp);return t.jsx(L,{disc:t.jsx(z,{icon:Qe,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:l.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",i&&t.jsxs("span",{className:E.metaTime,children:[" · ",i]})]}),children:t.jsx("div",{className:l.assistantBody,children:e.streaming?t.jsx(_e,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o}):t.jsx(ge,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o})})})}function Bn({row:e,owningPaneId:n=null,workspaceCwd:s=null,connector:o}){const r=Y(e.timestamp);return t.jsx(L,{disc:t.jsx(z,{icon:Ve,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:l.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:E.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:l.finalChip,children:"final"}),children:t.jsx("div",{className:l.reasoningBody,children:e.streaming?t.jsx(_e,{text:e.text,owningPaneId:n,workspaceCwd:s}):t.jsx(ge,{text:e.text,owningPaneId:n,workspaceCwd:s})})})}function Tn(e){const n=mt(e).filter(o=>o.kind==="add"||o.kind==="del"),s=n[0];return s?{text:s.text,kind:s.kind,moreCount:n.length-1}:null}function En(e){return e.status==="completed"?t.jsx("span",{className:l.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:l.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:l.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:l.toolStatusRunning,children:[t.jsx(X,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function Rn({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:r}){const[i,c]=g.useState(!1),d=xt(e.tool),j=gt(e.tool),m=j.length>0,p=vt(e.tool.output),u=e.tool.kind==="edit"||e.tool.kind==="write"?ye(e.tool):null,_=e.tool.kind==="edit"?bt(e.tool.diff):null,x=e.tool.kind==="edit"&&e.tool.diff&&!i?Tn(e.tool.diff):null;function S(){m&&c(b=>!b)}function D(b){b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),S())}function w(b){if(b.stopPropagation(),!u)return;const N=dt(n,s,o);ze(u,N.workspaceCwd,N.targetPaneId)}return t.jsx(L,{disc:t.jsx(z,{icon:ht(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:l.toolDisc,connector:r,children:t.jsxs("div",{className:C(l.toolCardBody,e.status==="running"&&l.toolCardBodyRunning,e.status==="completed"&&l.toolCardBodyCompleted,e.status==="error"&&l.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:m?0:-1,"aria-expanded":m?i:void 0,"aria-disabled":!m,className:C(l.toolHeader,e.status==="running"&&l.toolHeaderRunning),onClick:S,onKeyDown:D,children:[m&&t.jsx(Xe,{size:12,className:C(l.toolChevron,i&&l.toolChevronOpen)}),t.jsx("span",{className:l.kindBadge,style:{"--kindToken":`var(--pi-color-${d.token})`},children:d.label}),t.jsx("span",{className:l.toolPath,title:Q(e.tool),children:Q(e.tool)}),t.jsxs("span",{className:l.toolTrailing,children:[_&&(_.added>0||_.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:l.toolDiffAdded,children:["+",_.added]}),t.jsxs("span",{className:l.toolDiffRemoved,children:["−",_.removed]})]}),En(e),u&&t.jsxs("button",{type:"button",className:l.toolOpenButton,onClick:w,onKeyDown:b=>b.stopPropagation(),children:["Open",t.jsx(Ye,{size:10})]})]})]}),p>0&&t.jsxs("div",{className:l.toolOutputStrip,children:["output · ",p," lines"]}),x&&t.jsxs("div",{className:l.toolDiffPreview,children:[t.jsx("div",{className:C(l.toolDiffPreviewLine,x.kind==="add"?l.toolDiffPreviewAdd:l.toolDiffPreviewDel),children:x.text}),x.moreCount>0&&t.jsxs("div",{className:l.toolDiffPreviewMore,children:["… ",x.moreCount," more lines"]})]}),i&&m&&t.jsx("div",{className:l.toolBody,children:j.map((b,N)=>b.kind==="diff"?t.jsx(ut,{patch:b.patch},N):t.jsx("pre",{className:l.toolCode,children:b.text},N))})]})})}function An({row:e,connector:n}){const[s,o]=g.useState(null),r=Y(e.timestamp);return t.jsxs(L,{disc:t.jsx(z,{icon:et,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:l.userDisc,connector:n,className:C(l.userAligned,e.pending&&l.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",r&&t.jsxs("span",{className:E.metaTime,children:[" · ",r]}),e.failed&&" · failed to send"]}),metaTrailing:e.queued&&!e.failed&&t.jsxs("span",{className:l.queuedBadge,children:[t.jsx(Ze,{size:9}),"queued"]}),children:[t.jsx("span",{className:C(l.userBubble,e.failed&&l.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:l.userImages,children:e.images.map((i,c)=>{const d=`data:${i.mimeType??"image/png"};base64,${i.data??""}`;return t.jsx("img",{className:l.userImage,src:d,alt:"",role:"button",tabIndex:0,onClick:()=>o(d),onKeyDown:j=>{(j.key==="Enter"||j.key===" ")&&o(d)}},c)})}),t.jsx(Le,{open:s!==null,onOpenChange:i=>{i||o(null)},title:"Image",width:"auto",bare:!0,className:l.imageDialog,children:s&&t.jsx("img",{className:l.imageDialogPreview,src:s,alt:""})})]})}function In({row:e,connector:n}){return t.jsx(L,{disc:t.jsx(z,{icon:tt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:l.errorDisc,connector:n,children:t.jsxs("div",{className:l.errorCard,children:[t.jsx("span",{className:l.errorLead,children:"Error"})," · ",e.text]})})}function Pn({row:e}){return t.jsx("div",{className:l.systemRow,children:e.text})}const On=500;function Mn(e,n){const s=g.useRef(!0),[o,r]=g.useState(!0),i=g.useRef(0),c=g.useCallback(m=>{const p=n.current,u=p?{scrollTop:p.scrollTop,scrollHeight:p.scrollHeight,clientHeight:p.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},_=Dt(s.current,m,u);_.pinned!==s.current&&(s.current=_.pinned,r(_.pinned)),_.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[n,e]);g.useEffect(()=>{const m=n.current;if(!m)return;const p=()=>{i.current=performance.now()},u=()=>{c({kind:"scroll",gesture:performance.now()-i.current<On})};m.addEventListener("scroll",u,{passive:!0}),m.addEventListener("wheel",p,{passive:!0}),m.addEventListener("touchmove",p,{passive:!0}),m.addEventListener("pointerdown",p,{passive:!0}),m.addEventListener("keydown",p,{passive:!0});const _=new ResizeObserver(()=>{m.clientHeight>0&&c({kind:"shown"})});return _.observe(m),()=>{_.disconnect(),m.removeEventListener("scroll",u),m.removeEventListener("wheel",p),m.removeEventListener("touchmove",p),m.removeEventListener("pointerdown",p),m.removeEventListener("keydown",p)}},[c,n]);const d=g.useCallback(()=>c({kind:"tail"}),[c]),j=g.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:d,pinToBottom:j}}const zn="_root_166ob_6",Ln="_viewport_166ob_13",Fn="_inner_166ob_20",Hn="_rowWrap_166ob_25",Kn="_empty_166ob_35",$n="_jumpToLatest_166ob_46",M={root:zn,viewport:Ln,inner:Fn,rowWrap:Hn,empty:Kn,jumpToLatest:$n},Un=160;function Wn(e,n,s,o,r){switch(e.kind){case"user":return t.jsx(An,{row:e,connector:!n});case"assistant":return t.jsx(wn,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:r,connector:!n});case"reasoning":return t.jsx(Bn,{row:e,owningPaneId:o,workspaceCwd:r,connector:!n});case"tool":return t.jsx(Rn,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:r,connector:!n});case"error":return t.jsx(In,{row:e,connector:!n});case"system":return t.jsx(Pn,{row:e})}}function qn({session:e,owningPaneId:n,workspaceCwd:s}){const o=e.timeline.rows,r=e.status==="running",i=Fe(),c=He(e.cwd,i),d=g.useRef(null),j=Oe({count:o.length,getScrollElement:()=>d.current,estimateSize:()=>Un,overscan:8,getItemKey:x=>{var S;return((S=o[x])==null?void 0:S.id)??x},measureElement:(x,S,D)=>{if(x.offsetParent!==null)return Me(x,S,D);const w=D.indexFromElement(x),b=D.options.getItemKey(w);return D.itemSizeCache.get(b)??D.options.estimateSize(w)},anchorTo:"end",scrollEndThreshold:je}),{pinned:m,followTail:p,pinToBottom:u}=Mn(j,d),_=Nt(o);return g.useEffect(()=>{p()},[o.length,p]),g.useEffect(()=>{_!==null&&u()},[_,u]),t.jsxs("div",{className:M.root,children:[t.jsx("div",{className:M.viewport,ref:d,children:o.length===0?!r&&t.jsx("div",{className:M.empty,children:"No messages yet — say something to start."}):t.jsx("div",{className:M.inner,style:{height:j.getTotalSize()},children:j.getVirtualItems().map(x=>{const S=o[x.index];return S?t.jsx("div",{ref:j.measureElement,"data-index":x.index,className:M.rowWrap,style:{transform:`translateY(${x.start}px)`},children:Wn(S,x.index===o.length-1,c,n,s)},x.key):null})})}),!m&&o.length>0&&t.jsx("button",{type:"button",className:M.jumpToLatest,onClick:u,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(nt,{size:16,"aria-hidden":"true"})})]})}function Gn(e,n=!0){const s=$(o=>o.client);return me({queryKey:pe.agentCommands(e),queryFn:async()=>{if(!s)throw new Error("not connected");const o=await V(s,e),{commands:r}=await s.agent(o).listCommands();return r},enabled:!!s&&!!e&&n})}const Jn="_strip_nzfk5_4",Qn="_thumb_nzfk5_11",Vn="_remove_nzfk5_28",G={strip:Jn,thumb:Qn,remove:Vn};function Xn({images:e,onRemove:n}){return e.length===0?null:t.jsx("div",{className:G.strip,children:e.map((s,o)=>t.jsxs("div",{className:G.thumb,children:[t.jsx("img",{src:s.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:G.remove,title:"Remove",onClick:()=>n(o),children:"×"})]},o))})}function Yn(e){const{promise:n,resolve:s,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const i=r.result;if(typeof i!="string"){o(new Error("Unexpected FileReader result"));return}const c=i.indexOf(","),d=c>=0?i.slice(c+1):i;s({mimeType:e.type,data:d,thumbUrl:i})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),n}const Zn="_picker_1jy8c_4",es="_search_1jy8c_10",ts="_list_1jy8c_28",ns="_item_1jy8c_33",ss="_itemActive_1jy8c_47",os="_checkSlot_1jy8c_51",as="_label_1jy8c_60",rs="_modelId_1jy8c_66",is="_state_1jy8c_73",ls="_stateError_1jy8c_82",cs="_commandContent_1jy8c_92",ds="_commandList_1jy8c_95",us="_commandItem_1jy8c_100",ms="_commandItemHeader_1jy8c_132",ps="_commandKindBadge_1jy8c_146",fs="_commandKindExtension_1jy8c_165",hs="_commandKindPrompt_1jy8c_170",_s="_commandKindSkill_1jy8c_175",gs="_commandDescription_1jy8c_180",h={picker:Zn,search:es,list:ts,item:ns,itemActive:ss,checkSlot:os,label:as,modelId:rs,state:is,stateError:ls,commandContent:cs,commandList:ds,commandItem:us,commandItemHeader:ms,commandKindBadge:ps,commandKindExtension:fs,commandKindPrompt:hs,commandKindSkill:_s,commandDescription:gs},xs={onOpenAutoFocus:e=>e.preventDefault()};function bs(e){switch(e){case"extension":return h.commandKindExtension;case"prompt":return h.commandKindPrompt;case"skill":return h.commandKindSkill;default:return}}function vs({open:e,onOpenChange:n,options:s,highlightedIndex:o,onSelect:r,isLoading:i,isError:c,errorMessage:d,hiddenExtensionCount:j,renderTrigger:m}){const p=g.useRef(null);return g.useEffect(()=>{var u,_;e&&((_=(u=p.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||_.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(xe,{open:e,onOpenChange:n,modal:!1,children:[t.jsx(be,{asChild:!0,children:m()}),t.jsxs(fe,{className:C(h.picker,h.commandContent),side:"top",sideOffset:4,...xs,onCloseAutoFocus:u=>u.preventDefault(),children:[i&&t.jsx("div",{className:h.state,children:t.jsx(X,{size:"sm"})}),!i&&c&&t.jsx("div",{className:h.stateError,children:d??"Failed to load commands"}),!i&&!c&&s.length===0&&t.jsx("div",{className:h.state,children:"No commands found"}),!i&&!c&&s.length>0&&t.jsx("div",{ref:p,className:C(h.list,h.commandList),children:s.map((u,_)=>t.jsxs("div",{role:"option","aria-selected":_===o,className:C(h.item,h.commandItem,_===o&&h.itemActive),title:u.description,onMouseDown:x=>{x.preventDefault(),r(u.value)},children:[t.jsxs("div",{className:h.commandItemHeader,children:[t.jsx("span",{className:h.label,children:u.label}),u.kind&&t.jsx("span",{className:C(h.commandKindBadge,bs(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:h.commandDescription,children:u.description})]},u.value))}),!i&&!c&&j>0&&t.jsxs("div",{className:h.state,children:[j," extension command(s) unavailable while the agent is running"]})]})]})}function ys(e,n=!0){const s=$(o=>o.client);return me({queryKey:pe.providerModels(e),queryFn:async()=>{if(!s)throw new Error("not connected");return(await s.providers.listModels(e)).models},enabled:!!s&&!!e&&n})}function js(e,n){if(!n)return e;const s=e.find(o=>o.id===n);return s?[s,...e.filter(o=>o.id!==n)]:e}function ks(e){const n=new Set;return e.filter(s=>n.has(s.id)?!1:(n.add(s.id),!0))}function Ss({currentModel:e,provider:n,onSelect:s,renderTrigger:o}){const[r,i]=g.useState(!1),[c,d]=g.useState(""),j=g.useRef(null),{data:m=[],isLoading:p,isError:u,error:_}=ys(n,r),x=ks(js(m,e));g.useEffect(()=>{var v;r&&(d(""),(v=j.current)==null||v.focus())},[r]);const S=new Map(x.map(v=>[v.id,v.provider])),D=x.map(v=>({value:v.id,label:v.label??v.id,description:v.id})),w=ve(D,c),b=_ instanceof Error?_.message:"Failed to load models";function N(v){v.stopPropagation(),v.key==="Escape"&&i(!1)}return t.jsxs(xe,{open:r,onOpenChange:i,modal:!1,children:[t.jsx(be,{asChild:!0,children:o(e)}),t.jsxs(fe,{minWidth:240,align:"end",sideOffset:6,className:h.picker,children:[t.jsx("input",{ref:j,className:h.search,placeholder:"Search models…",value:c,onChange:v=>d(v.target.value),onKeyDown:N}),p&&t.jsx("div",{className:h.state,children:t.jsx(X,{size:"sm"})}),!p&&u&&t.jsx("div",{className:h.stateError,children:b}),!p&&!u&&w.length===0&&t.jsx("div",{className:h.state,children:"No models found"}),!p&&!u&&w.length>0&&t.jsx("div",{className:h.list,children:w.map(v=>t.jsxs(pt,{className:h.item,onSelect:()=>s(v.value,S.get(v.value)),children:[t.jsx("span",{className:h.checkSlot,"aria-hidden":!0,children:v.value===e&&t.jsx(st,{size:14})}),t.jsx("span",{className:h.label,children:v.label}),t.jsxs("span",{className:h.modelId,children:["(",v.value,")"]})]},v.value))})]})]})}function Z(e){if(!e.startsWith("/"))return null;const n=/^\/(\S*)/.exec(e),s=(n==null?void 0:n[1])??"",o=1+s.length,r=/\S/.test(e.slice(o));return{name:s,end:o,hasArgs:r}}function Ds(e){return/^\/\S*$/.test(e)}function Ns(e,n){let s=0;const o=[];for(const r of e){if(n.running&&r.source==="extension"){s+=1;continue}o.push({value:r.name,label:`/${r.name}`,description:r.description,kind:r.source})}return{options:o,hiddenExtensionCount:s}}function Cs(e,n,s){return s<=0?0:(e+n+s)%s}function ws(e,n){const s=Z(e);return s?s.hasArgs?`/${n}${e.slice(s.end)}`:`/${n} `:`/${n} ${e}`}function Bs(e,n){const s=Z(e);return!s||!n.includes(s.name)?null:{end:s.end}}const Ts="_composer_3wzps_4",Es="_card_3wzps_13",Rs="_textarea_3wzps_26",As="_textareaWrap_3wzps_50",Is="_highlightLayer_3wzps_38",Ps="_commandMark_3wzps_73",Os="_hiddenFileInput_3wzps_98",Ms="_toolbar_3wzps_104",zs="_toolbarRight_3wzps_111",Ls="_toolBtn_3wzps_119",Fs="_roundBtn_3wzps_125",Hs="_modelBtn_3wzps_130",Ks="_modelLabel_3wzps_156",$s="_modelChevron_3wzps_161",k={composer:Ts,card:Es,textarea:Rs,textareaWrap:As,highlightLayer:Is,commandMark:Ps,hiddenFileInput:Os,toolbar:Ms,toolbarRight:zs,toolBtn:Ls,roundBtn:Fs,modelBtn:Hs,modelLabel:Ks,modelChevron:$s},Us=160;function K(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Us)}px`}function Ws(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function qs({sessionId:e}){const n=$(a=>a.client),s=R(a=>a.sessions[e]),o=R(a=>a.addOptimisticUserMessage),r=R(a=>a.markUserMessageFailed),i=R(a=>a.setCwd),c=R(a=>a.setModel),[d,j]=g.useState(""),[m,p]=g.useState([]),[u,_]=g.useState(!1),[x,S]=g.useState(!1),D=g.useRef(null),w=g.useRef(null),[b,N]=g.useState(!1),[v,U]=g.useState(0),T=(s==null?void 0:s.status)==="running",ke=!!n&&!(T?x:u)&&(d.trim().length>0||m.length>0),{data:ee=[],isLoading:Se,isError:De,error:te}=Gn(e,b),{options:ne,hiddenExtensionCount:Ne}=Ns(ee,{running:T}),se=Z(d),F=se?ve(ne,se.name):ne,Ce=ee.map(a=>a.name),I=Bs(d,Ce);async function oe(a){if(a.type.startsWith("image/"))try{const y=await Yn(a);p(f=>[...f,y])}catch{}}function we(a){for(const y of a.target.files??[])oe(y);a.target.value=""}function Be(a){for(const y of a.clipboardData.items)if(y.type.startsWith("image/")){a.preventDefault();const f=y.getAsFile();f&&oe(f)}}function Te(a){p(y=>y.filter((f,B)=>B!==a))}function Ee(a){const y=a.target.value;j(y),K(a.target);const f=Ds(y);f!==b&&N(f),f&&U(0)}function Re(a){var y;if(!b&&I&&a.key==="Backspace"){const f=a.currentTarget,B=f.selectionStart;if(B!==null&&B===f.selectionEnd){const P=I.end+(d[I.end]===" "?1:0);if(B>0&&B<=P){a.preventDefault();const A=d.slice(P);j(A),f.setSelectionRange(0,0),K(f);return}}}if(b&&F.length>0){if(a.key==="ArrowDown"||a.key==="ArrowUp"){a.preventDefault(),U(f=>Cs(f,a.key==="ArrowDown"?1:-1,F.length));return}if(a.key==="Enter"&&!a.shiftKey||a.key==="Tab"){a.preventDefault();const f=(y=F[v])==null?void 0:y.value;f&&ae(f);return}}if(b&&a.key==="Escape"){a.preventDefault(),N(!1);return}a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),re(T?"steer":"send"))}function ae(a){const y=ws(d,a);j(y),N(!1),U(0);const f=D.current;f&&(f.focus(),f.setSelectionRange(y.length,y.length),K(f))}async function re(a){if(!n||!s||(a==="steer"?x:u)||a==="steer"&&!s.agentId)return;const y=d.trim();if(!y&&m.length===0)return;j(""),N(!1),D.current&&K(D.current);const f=m;p([]);const B=y||"Describe this image",P=f.length>0?f.map(O=>({mimeType:O.mimeType,data:O.data})):void 0,A=crypto.randomUUID();o(e,A,B,P,a==="steer");const ie=a==="steer"?S:_;ie(!0);try{if(a==="steer"){const O=await n.agent(s.agentId).steer(B,{clientMessageId:A,images:P});Ws(O)&&r(e,A)}else{s.agentId||i(e,s.cwd||"~");const O=await V(n,e);await n.agent(O).send(B,{clientMessageId:A,images:P})}}catch{r(e,A)}finally{ie(!1)}}function Ae(){s!=null&&s.agentId&&(n==null||n.agent(s.agentId).interrupt())}function Ie(a,y){c(e,a,y),!(!n||!y)&&(async()=>{const f=await V(n,e);await n.agent(f).setModel(y,a)})().catch(()=>{})}return t.jsxs("div",{className:k.composer,children:[t.jsxs("div",{className:k.card,children:[t.jsxs("div",{className:k.textareaWrap,children:[t.jsx("div",{className:k.highlightLayer,"aria-hidden":!0,children:I?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:k.commandMark,children:d.slice(0,I.end)}),d.slice(I.end)]}):d}),t.jsx(Ke,{ref:D,className:k.textarea,rows:1,value:d,placeholder:T?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Ee,onKeyDown:Re,onPaste:Be})]}),t.jsx(Xn,{images:m,onRemove:Te}),t.jsxs("div",{className:k.toolbar,children:[t.jsx(H,{className:k.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",onClick:()=>{var a;return(a=w.current)==null?void 0:a.click()},children:t.jsx(ot,{size:16})}),t.jsx(vs,{open:b,onOpenChange:N,options:F,highlightedIndex:v,onSelect:ae,isLoading:Se,isError:De,errorMessage:te instanceof Error?te.message:void 0,hiddenExtensionCount:Ne,renderTrigger:()=>t.jsx(H,{className:k.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(at,{size:16})})}),t.jsxs("div",{className:k.toolbarRight,children:[t.jsx(Ss,{currentModel:s==null?void 0:s.model,provider:"pi",onSelect:Ie,renderTrigger:a=>t.jsxs("button",{type:"button",className:k.modelBtn,disabled:!n,title:a?`Model: ${a}`:"Select model",children:[t.jsx("span",{className:k.modelLabel,children:a??"Model"}),t.jsx(rt,{size:13,className:k.modelChevron,"aria-hidden":"true"})]})}),T&&t.jsx(H,{className:k.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:"Stop the running turn","aria-label":"Stop",onClick:Ae,children:t.jsx(it,{size:14})}),t.jsx(H,{className:k.roundBtn,size:"sm",iconOnly:!0,disabled:!ke,title:T?"Steer the running turn":"Send","aria-label":T?"Steer":"Send",onClick:()=>void re(T?"steer":"send"),children:T?t.jsx(lt,{size:16}):t.jsx(ct,{size:18})})]})]})]}),t.jsx("input",{ref:w,className:k.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:we})]})}const Gs="_track_oxvl6_2",Js="_sweep_oxvl6_24",Qs="_visuallyHidden_oxvl6_64",J={track:Gs,sweep:Js,visuallyHidden:Qs};function Vs({running:e}){return e?t.jsxs("div",{className:J.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:J.sweep,"aria-hidden":"true"}),t.jsx("span",{className:J.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const Xs="_panel_1tq06_1",Ys="_empty_1tq06_5",ue={panel:Xs,empty:Ys};function mo({tab:e,owningPaneId:n}){const{sessionId:s}=e.data,o=R(r=>r.sessions[s]);return St(s),o?t.jsxs(le,{className:ue.panel,children:[t.jsx(Vs,{running:o.status==="running"}),t.jsx(qn,{session:o,owningPaneId:n,workspaceCwd:e.workspaceCwd}),t.jsx(qs,{sessionId:o.id})]}):t.jsx(le,{children:t.jsx("div",{className:ue.empty,children:"Session not found."})})}export{mo as ChatPanel};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BEntOW_N.js","assets/vendor-DVp0ZLQo.js","assets/vendor-react-DQUAl2K8.js","assets/vendor-CEK31ho9.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as L}from"./vendor-DVp0ZLQo.js";import{r as m,j as o}from"./vendor-react-DQUAl2K8.js";import{c as N}from"./vendor-highlight-BjiGXuEM.js";import{n as H,a as P,m as R,d as $,u as _,p as D,q as F,t as A,s as b,S as U,v as E,w as I}from"./index-C-gDLAhS.js";import{M as V,r as z,a as O,b as B}from"./vendor-markdown-Bc_dOmsB.js";const y="github-dark";let h=null;const j=new Set(["plaintext"]);function G(){return h||(h=N({themes:[y],langs:["plaintext"]})),h}async function K(t,e){if(j.has(e))return e;try{return await t.loadLanguage(e),j.add(e),e}catch{return"plaintext"}}async function W(t,e){const n=await G(),r=await K(n,e);return n.codeToHtml(t,{lang:r,theme:y})}const M={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(t){var n;const e={};for(const[r,s]of Object.entries(M)){const a=(n=t[s])==null?void 0:n.trim();a&&(e[r]=a)}return e}function q(){const t=getComputedStyle(document.documentElement),e={};for(const n of Object.values(M))e[n]=t.getPropertyValue(n);return Z(e)}const Y="_prose_k8kw9_1",J="_streaming_k8kw9_26",Q="_inlineCode_k8kw9_65",X="_mermaid_k8kw9_83",ee="_mermaidError_k8kw9_92",te="_mermaidErrorMessage_k8kw9_95",ne="_inlineImage_k8kw9_126",re="_inlineImageSkeleton_k8kw9_135",se="_inlineImageFallback_k8kw9_146",d={prose:Y,streaming:J,inlineCode:Q,mermaid:X,mermaidError:ee,mermaidErrorMessage:te,inlineImage:ne,inlineImageSkeleton:re,inlineImageFallback:se},ae=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function ie(t){try{return decodeURIComponent(t)}catch{return t}}function v(t,e,n){const r=t.trim();if(!r)return null;const s=r.split(/[?#]/,1)[0];if(!s||ae.exec(s))return null;let i;if(s.startsWith("/")?i=s:s==="~"||s.startsWith("~/")?i=n?H(s,n):null:i=P(s,e??""),!i)return null;const c=R(i);return ie(c)}const oe={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},le=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function ce(t,e,n){const r=t.trim();if(!r)return{kind:"unresolvable"};const s=r.split(/[?#]/,1)[0];if(!s)return{kind:"unresolvable"};const a=le.exec(s);if(a)return`${a[1].toLowerCase()}:`in oe?{kind:"remote"}:{kind:"unresolvable"};const i=v(t,e,n);return i?$(i)!=="image"?{kind:"unresolvable"}:{kind:"local",path:i}:{kind:"unresolvable"}}function ue(t,e,n,r){return t.kind==="remote"?{kind:"remote",src:n||"",alt:r}:t.kind==="unresolvable"?{kind:"unresolvable",fallbackText:r||n||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:r,path:t.path}:{kind:"error",fallbackText:r||t.path||"(image)"}}function w(t,e,n){return{workspaceCwd:n??(t||"~"),targetPaneId:e??void 0}}function de(t,e,n){if(!t||!e){n({status:"idle"});return}let r=!1;return n({status:"loading"}),D(t,e).then(s=>{r||n({status:"ready",objectUrl:s.objectUrl})}).catch(s=>{r||n({status:"error",message:s instanceof Error?s.message:String(s)})}),()=>{r=!0,F(t)}}function me(t){const e=_(a=>a.client),n=_(a=>a.daemon),[r,s]=m.useState({status:"idle"});return m.useEffect(()=>de(t,e&&n?i=>A(n).download(i):null,s),[e,n,t]),r}const fe=m.memo(function({src:e,alt:n,assetBase:r,owningPaneId:s,workspaceCwd:a}){const i=b(),c=m.useMemo(()=>ce(e||"",r,i),[e,r,i]),u=me(c.kind==="local"?c.path:null),l=ue(c,u,e,n);if(l.kind==="remote")return o.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return o.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return o.jsx("div",{className:d.inlineImageSkeleton,children:o.jsx(U,{size:"sm"})});const g=w(r,s??null,a??null),p=()=>{I(l.path,g.workspaceCwd,g.targetPaneId)};return o.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:E(l.path),onClick:p,style:{cursor:"pointer"}})});function ge(t,e,n){const r=t.trim();if(!r)return{kind:"external"};if(r.startsWith("#"))return{kind:"external"};const s=v(t,e,n);return s?{kind:"local",path:s}:{kind:"external"}}function pe({href:t,children:e,assetBase:n,owningPaneId:r,workspaceCwd:s}){const a=b(),i=ge(t??"",n,a);if(i.kind==="external")return o.jsx("a",{href:t,children:e});const c=i.path,u=w(n,r,s);return o.jsx("a",{href:t,draggable:!0,onDragStart:E(c),onClick:l=>{l.preventDefault(),I(c,u.workspaceCwd,u.targetPaneId)},children:e})}const C=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,ke=/^(\s*)(`{3,}|~{3,})(.*)$/;function he(t){return C.test(t[0]??"")}function xe(t,e){for(let n=e;n<t.length;n++)if((t[n]??"").trim()!=="")return n;return-1}function _e(t){if(!t)return{blocks:[],tail:""};const e=t.split(`
|
|
3
|
-
`),n=[];let r=[],s=null,a=!1,i=!1;const c=()=>{const u=r.join(`
|
|
4
|
-
`).trim();u&&n.push(u),r=[]};for(let u=0;u<e.length;u++){const l=e[u]??"",g=l.trim();if(s!==null){if(r.push(l),s.test(g)){const f=a;s=null,a=!1,f&&c()}continue}const p=ke.exec(l);if(p&&!i){const f=p[2];s=new RegExp(`^[${f[0]}]{${f.length},}$`),a=p[1]==="",r.push(l);continue}if(g===""&&r.length===0)continue;if((g.split("$$").length-1)%2===1&&(i=!i),g===""&&!i){const f=xe(e,u+1),k=f===-1?null:e[f]??"",S=k!==null&&!/^\s/.test(k),T=k!==null&&C.test(k)&&he(r);if(S&&!T){c(),u=f-1;continue}}r.push(l)}return{blocks:n,tail:r.join(`
|
|
5
|
-
`)}}function je({language:t,code:e}){const[n,r]=m.useState(null);return m.useEffect(()=>{let s=!1;return W(e,t).then(a=>{s||r(a)}),()=>{s=!0}},[e,t]),n?o.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:n}}):o.jsx("pre",{children:o.jsx("code",{children:e})})}function be({code:t}){const[e]=m.useState(()=>`mermaid-${crypto.randomUUID()}`),[n,r]=m.useState({status:"pending"});return m.useEffect(()=>{let s=!1;return(async()=>{try{const{default:a}=await L(async()=>{const{default:c}=await import("./mermaid.core-BEntOW_N.js").then(u=>u.b0);return{default:c}},__vite__mapDeps([0,1,2,3]));a.initialize({startOnLoad:!1,theme:"base",themeVariables:q(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:i}=await a.render(e,t);s||r({status:"ready",svg:i})}catch(a){s||r({status:"error",message:a instanceof Error?a.message:"Failed to render diagram"})}})(),()=>{s=!0}},[e,t]),n.status==="ready"?o.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:n.svg}}):n.status==="error"?o.jsxs("div",{className:d.mermaidError,children:[o.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",n.message]}),o.jsx("pre",{children:o.jsx("code",{children:t})})]}):o.jsx("pre",{children:o.jsx("code",{children:t})})}function Ee({className:t,children:e,...n}){const r=/language-(\w+)/.exec(t??""),s=!!r,a=String(e).replace(/\n$/,"");if(s&&r){const i=r[1]??"plaintext";return i==="mermaid"?o.jsx(be,{code:a}):o.jsx(je,{language:i,code:a})}return o.jsx("code",{className:d.inlineCode,...n,children:e})}function Ie({className:t,children:e,...n}){return/language-(\w+)/.test(t??"")?o.jsx("pre",{children:o.jsx("code",{children:String(e).replace(/\n$/,"")})}):o.jsx("code",{className:d.inlineCode,...n,children:e})}const ye=[O,B],Me=[z],ve=[],x=m.memo(function({text:e,assetBase:n=null,owningPaneId:r=null,workspaceCwd:s=null,lean:a=!1}){return o.jsx(V,{remarkPlugins:ye,rehypePlugins:a?ve:Me,components:{code:a?Ie:Ee,img:i=>o.jsx(fe,{...i,assetBase:n,owningPaneId:r,workspaceCwd:s}),a:i=>o.jsx(pe,{...i,assetBase:n,owningPaneId:r,workspaceCwd:s})},children:e})});function He({text:t,assetBase:e,owningPaneId:n,workspaceCwd:r}){return o.jsx("div",{className:d.prose,children:o.jsx(x,{text:t,assetBase:e,owningPaneId:n,workspaceCwd:r})})}function Pe({text:t,assetBase:e,owningPaneId:n,workspaceCwd:r}){const{blocks:s,tail:a}=m.useMemo(()=>_e(t),[t]);return o.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[s.map((i,c)=>o.jsx(x,{text:i,assetBase:e,owningPaneId:n,workspaceCwd:r},c)),a!==""&&o.jsx(x,{text:a,lean:!0,assetBase:e,owningPaneId:n,workspaceCwd:r})]})}export{He as M,Pe as S,w as r};
|