@av-pi-studio/web-client 0.0.77 → 0.0.79
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-DndVWlE2.js +1 -0
- package/dist/web/assets/{ChatPanel-CjvzKLjw.js → ChatPanel-aLqk6dHz.js} +1 -1
- package/dist/web/assets/CodeView-CiS2sFmL.js +1 -0
- package/dist/web/assets/{DiffView-Cb0GznJJ.js → DiffView-T-iuJ8Yk.js} +1 -1
- package/dist/web/assets/FilePanel-4ItigEY2.js +1 -0
- package/dist/web/assets/ImageViewer-K__5CJOI.js +1 -0
- package/dist/web/assets/{MarkdownFileViewer-Dgb-lpcR.js → MarkdownFileViewer-OD-3Ijl2.js} +1 -1
- package/dist/web/assets/MoleculeViewerPanel-BzchET8I.js +1 -0
- package/dist/web/assets/TerminalPanel-BRDe18PS.js +1 -0
- package/dist/web/assets/TextViewer-hUEyNBFc.js +1 -0
- package/dist/web/assets/VideoViewer-BIrwIYAa.js +1 -0
- package/dist/web/assets/index-CLKr9fTl.css +1 -0
- package/dist/web/assets/index-cV-KrlNo.js +17 -0
- package/dist/web/assets/markdown-BhPuAwG5.js +5 -0
- package/dist/web/assets/{use-file-download-CM-TNoGB.js → use-file-download-lPWoA8MP.js} +1 -1
- package/dist/web/assets/{use-file-watch-BYYZWBT_.js → use-file-watch-BeHuJ0hK.js} +1 -1
- package/dist/web/assets/{vendor-DD95eKEn.js → vendor-CKGvrx4M.js} +429 -685
- package/dist/web/assets/{vendor-highlight-C04AfhWw.js → vendor-highlight-Bp4AESDQ.js} +4 -4
- package/dist/web/assets/vendor-markdown-B1tcb-dp.js +297 -0
- package/dist/web/assets/{vendor-overlays-tAYh_S_2.js → vendor-overlays-DWX2bju9.js} +1 -1
- package/dist/web/index.html +4 -6
- package/package.json +3 -3
- package/dist/web/assets/BinaryFallbackViewer-X-k-_5v7.js +0 -1
- package/dist/web/assets/CodeView-WbzE5Xut.js +0 -1
- package/dist/web/assets/FilePanel-B-ElzjfK.js +0 -1
- package/dist/web/assets/ImageViewer-BXGBiKh3.js +0 -1
- package/dist/web/assets/MoleculeViewerPanel-CRRERvNi.js +0 -1
- package/dist/web/assets/TerminalPanel-DZRs1GkT.js +0 -1
- package/dist/web/assets/TextViewer-BFrF6-91.js +0 -1
- package/dist/web/assets/VideoViewer-D2ttE20H.js +0 -1
- package/dist/web/assets/index-B-VCYC5U.css +0 -1
- package/dist/web/assets/index-Bbf7RCxn.js +0 -17
- package/dist/web/assets/markdown-RMAa1RSb.js +0 -5
- package/dist/web/assets/vendor-markdown-AFaXf7Ur.js +0 -41
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as m,B as a}from"./index-cV-KrlNo.js";import{u as d}from"./use-file-download-lPWoA8MP.js";import{_ as c}from"./vendor-icons-C8b9N6AX.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-CKGvrx4M.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";const p="_wrap_inn1j_1",j="_name_inn1j_12",n={wrap:p,name:j};function y({path:s}){const[i,t]=l.useState(!1),r=d(s,i),o=s.split("/").pop()||s;return e.jsxs("div",{className:n.wrap,children:[e.jsx(c,{size:32}),e.jsx("div",{className:n.name,children:o}),e.jsx("div",{children:"No preview available for this file type."}),r.isError&&e.jsxs("div",{children:["Error: ",r.error instanceof Error?r.error.message:"download failed"]}),i&&r.isLoading?e.jsx(m,{size:"sm"}):r.data?e.jsx("a",{href:r.data.objectUrl,download:r.data.fileName||o,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>t(!0),children:"Download"})]})}export{y as BinaryFallbackViewer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as g,j as t}from"./vendor-react-DQUAl2K8.js";import{c as Pe,d as Oe,m as ze,u as me}from"./vendor-query-DhxQd-Xj.js";import{t as Q,u as R,a as $,I as M,S as Y,o as Me,D as He,b as Le,n as Fe,e as V,r as pe,M as fe,T as Ke,B as F,P as le}from"./index-
|
|
1
|
+
import{r as g,j as t}from"./vendor-react-DQUAl2K8.js";import{c as Pe,d as Oe,m as ze,u as me}from"./vendor-query-DhxQd-Xj.js";import{t as Q,u as R,a as $,I as M,S as Y,o as Me,D as He,b as Le,n as Fe,e as V,r as pe,M as fe,T as Ke,B as F,P as le}from"./index-cV-KrlNo.js";import{y as $e,z as Ue,B as We,m as qe,d as Ge,H as Je,I as _e,J as Qe,K as Ve,C as Ye,N as Xe,O as Ze,Q as et,V as tt,W as nt,w as st,f as ot,Y as at,e as rt,S as it,Z as lt,x as ct}from"./vendor-icons-C8b9N6AX.js";import{S as he,M as ge,r as dt}from"./markdown-BhPuAwG5.js";import{B as C}from"./vendor-CKGvrx4M.js";import{D as ut,p as mt}from"./DiffView-T-iuJ8Yk.js";import{R as xe,T as be,I as pt}from"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Bp4AESDQ.js";import"./vendor-markdown-B1tcb-dp.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:_e,read:Je,edit:Ge,write:qe,search:We,fetch:Ue,task:$e};function _t(e){return ft[e.kind]??_e}function ye(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function ht(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
2
|
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?n++:o.startsWith("-")&&s++);return{added:n,removed:s}}function vt(e){return e?(e.endsWith(`
|
|
3
3
|
`)?e.slice(0,-1):e).split(`
|
|
4
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"&&ht(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 X(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 H({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",zt="_userDisc_mdmbp_30",Mt="_userAligned_mdmbp_34",Ht="_userPendingRow_mdmbp_40",Lt="_userBubble_mdmbp_44",Ft="_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",Yt="_toolCardBody_mdmbp_127",Xt="_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",_n="_toolOpenButton_mdmbp_248",hn="_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:zt,userAligned:Mt,userPendingRow:Ht,userBubble:Lt,userBubbleFailed:Ft,userImages:Kt,userImage:$t,imageDialog:Ut,imageDialogPreview:Wt,assistantDisc:qt,assistantBody:Gt,reasoningDisc:Jt,reasoningBody:Qt,toolDisc:Vt,toolCardBody:Yt,toolCardBodyRunning:Xt,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:_n,toolBody:hn,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=X(e.timestamp);return t.jsx(H,{disc:t.jsx(M,{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(he,{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=X(e.timestamp);return t.jsx(H,{disc:t.jsx(M,{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(he,{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(Y,{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,h=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);Me(u,N.workspaceCwd,N.targetPaneId)}return t.jsx(H,{disc:t.jsx(M,{icon:_t(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(Ye,{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:[h&&(h.added>0||h.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:l.toolDiffAdded,children:["+",h.added]}),t.jsxs("span",{className:l.toolDiffRemoved,children:["−",h.removed]})]}),En(e),u&&t.jsxs("button",{type:"button",className:l.toolOpenButton,onClick:w,onKeyDown:b=>b.stopPropagation(),children:["Open",t.jsx(Xe,{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=X(e.timestamp);return t.jsxs(H,{disc:t.jsx(M,{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(He,{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(H,{disc:t.jsx(M,{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 zn(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},h=Dt(s.current,m,u);h.pinned!==s.current&&(s.current=h.pinned,r(h.pinned)),h.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 h=new ResizeObserver(()=>{m.clientHeight>0&&c({kind:"shown"})});return h.observe(m),()=>{h.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 Mn="_root_166ob_6",Hn="_viewport_166ob_13",Ln="_inner_166ob_20",Fn="_rowWrap_166ob_25",Kn="_empty_166ob_35",$n="_jumpToLatest_166ob_46",z={root:Mn,viewport:Hn,inner:Ln,rowWrap:Fn,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=Le(),c=Fe(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 ze(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}=zn(j,d),h=Nt(o);return g.useEffect(()=>{p()},[o.length,p]),g.useEffect(()=>{h!==null&&u()},[h,u]),t.jsxs("div",{className:z.root,children:[t.jsx("div",{className:z.viewport,ref:d,children:o.length===0?!r&&t.jsx("div",{className:z.empty,children:"No messages yet — say something to start."}):t.jsx("div",{className:z.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:z.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:z.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 Yn({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 Xn(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",_s="_commandKindPrompt_1jy8c_170",hs="_commandKindSkill_1jy8c_175",gs="_commandDescription_1jy8c_180",_={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:_s,commandKindSkill:hs,commandDescription:gs},xs={onOpenAutoFocus:e=>e.preventDefault()};function bs(e){switch(e){case"extension":return _.commandKindExtension;case"prompt":return _.commandKindPrompt;case"skill":return _.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,h;e&&((h=(u=p.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||h.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(_.picker,_.commandContent),side:"top",sideOffset:4,...xs,onCloseAutoFocus:u=>u.preventDefault(),children:[i&&t.jsx("div",{className:_.state,children:t.jsx(Y,{size:"sm"})}),!i&&c&&t.jsx("div",{className:_.stateError,children:d??"Failed to load commands"}),!i&&!c&&s.length===0&&t.jsx("div",{className:_.state,children:"No commands found"}),!i&&!c&&s.length>0&&t.jsx("div",{ref:p,className:C(_.list,_.commandList),children:s.map((u,h)=>t.jsxs("div",{role:"option","aria-selected":h===o,className:C(_.item,_.commandItem,h===o&&_.itemActive),title:u.description,onMouseDown:x=>{x.preventDefault(),r(u.value)},children:[t.jsxs("div",{className:_.commandItemHeader,children:[t.jsx("span",{className:_.label,children:u.label}),u.kind&&t.jsx("span",{className:C(_.commandKindBadge,bs(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:_.commandDescription,children:u.description})]},u.value))}),!i&&!c&&j>0&&t.jsxs("div",{className:_.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:h}=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=h instanceof Error?h.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:_.picker,children:[t.jsx("input",{ref:j,className:_.search,placeholder:"Search models…",value:c,onChange:v=>d(v.target.value),onKeyDown:N}),p&&t.jsx("div",{className:_.state,children:t.jsx(Y,{size:"sm"})}),!p&&u&&t.jsx("div",{className:_.stateError,children:b}),!p&&!u&&w.length===0&&t.jsx("div",{className:_.state,children:"No models found"}),!p&&!u&&w.length>0&&t.jsx("div",{className:_.list,children:w.map(v=>t.jsxs(pt,{className:_.item,onSelect:()=>s(v.value,S.get(v.value)),children:[t.jsx("span",{className:_.checkSlot,"aria-hidden":!0,children:v.value===e&&t.jsx(st,{size:14})}),t.jsx("span",{className:_.label,children:v.label}),t.jsxs("span",{className:_.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",zs="_toolbar_3wzps_104",Ms="_toolbarRight_3wzps_111",Hs="_toolBtn_3wzps_119",Ls="_roundBtn_3wzps_125",Fs="_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:zs,toolbarRight:Ms,toolBtn:Hs,roundBtn:Ls,modelBtn:Fs,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,h]=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),L=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 Xn(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&&L.length>0){if(a.key==="ArrowDown"||a.key==="ArrowUp"){a.preventDefault(),U(f=>Cs(f,a.key==="ArrowDown"?1:-1,L.length));return}if(a.key==="Enter"&&!a.shiftKey||a.key==="Tab"){a.preventDefault();const f=(y=L[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:h;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(Yn,{images:m,onRemove:Te}),t.jsxs("div",{className:k.toolbar,children:[t.jsx(F,{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:L,highlightedIndex:v,onSelect:ae,isLoading:Se,isError:De,errorMessage:te instanceof Error?te.message:void 0,hiddenExtensionCount:Ne,renderTrigger:()=>t.jsx(F,{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(F,{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(F,{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 Ys="_panel_1tq06_1",Xs="_empty_1tq06_5",ue={panel:Ys,empty:Xs};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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var f=Object.defineProperty;var d=(e,r,t)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var n=(e,r,t)=>d(e,typeof r!="symbol"?r+"":r,t);import{u as m}from"./vendor-query-DhxQd-Xj.js";import{a as p,r as g}from"./index-cV-KrlNo.js";import{j as u,r as l}from"./vendor-react-DQUAl2K8.js";import{N as h,O as w,P as x,Q as y,S as E,T as _}from"./vendor-CKGvrx4M.js";class F extends Error{constructor(t,a){super("file_too_large");n(this,"size");n(this,"maxBytes");this.name="FileTooLargeError",this.size=t,this.maxBytes=a}}function R(e){if(!e.ok)throw e.error==="file_too_large"?new F(e.size??0,e.maxBytes):new Error(e.error??"file read failed");return{content:e.content??"",size:e.size??0}}function v(e,r=!0){const t=p(a=>a.client);return m({queryKey:g.fileRead(e),queryFn:async()=>{if(!t)throw new Error("not connected");const a=await t.connection.request("file_read_request",{path:e});return R(a)},enabled:!!t&&!!e&&r})}const z="_wrap_1feu3_1",B={wrap:z},c=new Map;function C(e){const[r,t]=l.useState(null);return l.useEffect(()=>{const a=E.matchFilename(_,e);if(!a){t(null);return}const s=c.get(a.name);if(s){t(s);return}let o=!1;return t(null),a.load().then(i=>{c.set(a.name,i),o||t(i)}),()=>{o=!0}},[e]),r?[r]:[]}function K({path:e,content:r}){const t=C(e),a=[h.lineWrapping,w(),...t];return u.jsx("div",{className:B.wrap,children:u.jsx(x,{value:r,theme:y,extensions:a,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{K as C,F,v as u};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as d}from"./vendor-react-DQUAl2K8.js";import{
|
|
1
|
+
import{j as d}from"./vendor-react-DQUAl2K8.js";import{B as f}from"./vendor-CKGvrx4M.js";const h="_diffView_1qgdn_1",u="_hunkHeader_1qgdn_7",_="_line_1qgdn_14",x="_add_1qgdn_19",p="_del_1qgdn_23",m="_ctx_1qgdn_27",k="_ln_1qgdn_30",i={diffView:h,hunkHeader:u,line:_,add:x,del:p,ctx:m,ln:k},N=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/;function g(a){const r=a.split(`
|
|
2
2
|
`),n=[];let e=0,s=0;for(const t of r){if(t.startsWith("diff --git")){n.push({kind:"hunk-header",text:t});continue}if(!(t.startsWith("index ")||t.startsWith("---")||t.startsWith("+++"))){if(t.startsWith("@@")){const c=N.exec(t);if(c){const l=c[1],o=c[2];e=(l?parseInt(l,10):1)-1,s=(o?parseInt(o,10):1)-1}n.push({kind:"hunk-header",text:t});continue}t.startsWith("+")?(s++,n.push({kind:"add",text:t,lineNumber:s})):t.startsWith("-")?(e++,n.push({kind:"del",text:t,lineNumber:e})):(e++,s++,n.push({kind:"ctx",text:t,lineNumber:s}))}}return n}function j({patch:a}){const r=g(a);return d.jsx("div",{className:i.diffView,children:r.map((n,e)=>n.kind==="hunk-header"?d.jsx("div",{className:i.hunkHeader,children:n.text},e):d.jsxs("div",{className:f(i.line,i[n.kind]),children:[d.jsx("span",{className:i.ln,children:n.lineNumber??""}),n.text]},e))})}export{j as D,g as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as f,j as s}from"./vendor-react-DQUAl2K8.js";import{B as v}from"./vendor-CKGvrx4M.js";import{a as j,r as d,c as w,d as E,P as D,B as x,V as K,E as l,S as g}from"./index-cV-KrlNo.js";import{u as S,c as k}from"./vendor-query-DhxQd-Xj.js";import{u as q}from"./use-file-watch-BeHuJ0hK.js";import{D as z}from"./DiffView-T-iuJ8Yk.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";function B(e,a,r,i=!0){const t=j(n=>n.client);return S({queryKey:d.fileDiff(e,a,r),queryFn:async()=>{if(!t)throw new Error("not connected");return{patch:(await t.connection.request("file_diff_request",{path:e,cwd:a,staged:r})).patch??""}},enabled:!!t&&!!e&&!!a&&i})}const N=new Set(["text","markdown","image"]);function b(e,a,r){const i=k(),t=N.has(r)?w(e,a):null,{changedAt:n}=q(t);f.useEffect(()=>{n!==null&&(i.invalidateQueries({queryKey:d.fileRead(e)}),i.invalidateQueries({queryKey:d.fileDownload(e)}),i.invalidateQueries({queryKey:d.fileDiffByPath(e)}))},[n,e,i])}const F="_header_10rse_1",V="_path_10rse_11",C="_size_10rse_18",P="_viewToggle_10rse_23",Q="_body_10rse_28",c={header:F,path:V,size:C,viewToggle:P,body:Q};function y(e){return"path"in e}function R(e){return"staged"in e}function J({tab:e}){var m;const a=e.kind==="diff",r=e.data,i=y(r)?r.path:"",t=y(r)&&R(r)?r.staged:!1,[n,u]=f.useState(a?"diff":"file"),h=e.workspaceCwd||"~",p=E(i);b(i,h,p);const o=B(i,h,t,n==="diff"),_=K[p];return s.jsxs(D,{children:[s.jsxs("div",{className:c.header,children:[s.jsx("span",{className:c.path,children:i}),s.jsx("span",{className:c.size,children:n==="diff"?t?"staged":"unstaged":null}),s.jsxs("div",{className:c.viewToggle,children:[s.jsx(x,{size:"xs",variant:n==="file"?"default":"ghost",onClick:()=>u("file"),children:"File"}),s.jsx(x,{size:"xs",variant:n==="diff"?"default":"ghost",onClick:()=>u("diff"),children:"Diff"})]})]}),s.jsx("div",{className:v(c.body,"file-body"),children:n==="file"?s.jsx(f.Suspense,{fallback:s.jsxs(l,{children:[s.jsx(g,{size:"sm"})," Loading..."]}),children:s.jsx(_,{path:i})}):o.isLoading?s.jsxs(l,{children:[s.jsx(g,{size:"sm"})," Loading diff..."]}):o.isError?s.jsxs(l,{children:["Error: ",o.error instanceof Error?o.error.message:"unknown error"]}):(m=o.data)!=null&&m.patch?s.jsx(z,{patch:o.data.patch}):s.jsx(l,{style:{padding:"var(--pi-spacing-30)"},children:"No changes (file matches HEAD)"})})]})}export{J as FilePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as i,S as t}from"./index-cV-KrlNo.js";import{u as a}from"./use-file-download-lPWoA8MP.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-CKGvrx4M.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";const n="_wrap_1vzo5_1",m="_image_1vzo5_15",s={wrap:n,image:m};function x({path:e}){const r=a(e);return r.isLoading?o.jsxs(i,{children:[o.jsx(t,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(i,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:s.wrap,children:o.jsx("img",{className:s.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{x as ImageViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as d,j as r}from"./vendor-react-DQUAl2K8.js";import{E as n,S as c,B as a}from"./index-
|
|
1
|
+
import{r as d,j as r}from"./vendor-react-DQUAl2K8.js";import{E as n,S as c,B as a}from"./index-cV-KrlNo.js";import{u as l,C as m}from"./CodeView-CiS2sFmL.js";import{M as p}from"./markdown-BhPuAwG5.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-CKGvrx4M.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Bp4AESDQ.js";import"./vendor-markdown-B1tcb-dp.js";const u="_wrap_qjlik_1",x="_toolbar_qjlik_6",j="_rendered_qjlik_17",s={wrap:u,toolbar:x,rendered:j};function C({path:t}){const e=l(t),[o,i]=d.useState("preview");return e.isLoading?r.jsxs(n,{children:[r.jsx(c,{size:"sm"})," Loading..."]}):e.isError?r.jsxs(n,{children:["Error: ",e.error instanceof Error?e.error.message:"unknown error"]}):e.data?r.jsxs("div",{className:s.wrap,children:[r.jsxs("div",{className:s.toolbar,children:[r.jsx(a,{size:"xs",variant:o==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(a,{size:"xs",variant:o==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),o==="preview"?r.jsx("div",{className:s.rendered,children:r.jsx(p,{text:e.data.content})}):r.jsx(m,{path:t,content:e.data.content})]}):null}export{C as MarkdownFileViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o,r as i}from"./vendor-react-DQUAl2K8.js";import{a as O,l as W,P as g,E as k,S as C,k as I,m as q,p as D,q as U,C as X,s as Y,g as z}from"./index-cV-KrlNo.js";import{L as G}from"./vendor-molviewer-DSzG6_a2.js";import{u as H}from"./use-file-download-lPWoA8MP.js";import{u as K}from"./use-file-watch-BeHuJ0hK.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-CKGvrx4M.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";const J="_badge_iymy8_3",Q={badge:J};function Z(e){switch(e){case"success":return{token:"statusSuccess"};case"error":return{token:"statusDanger"};case"warning":return{token:"statusWarning"};case"muted":return{token:"foregroundMuted"}}}function v({label:e,variant:r,className:t}){const{token:l}=Z(r),n=`var(--pi-color-${l})`;return o.jsx("span",{className:`${Q.badge}${t?` ${t}`:""}`,style:{backgroundColor:`color-mix(in srgb, ${n} 18%, transparent)`,borderColor:`color-mix(in srgb, ${n} 45%, transparent)`,color:n},children:e})}function ee(e,r){return!e||!r?null:{url:r,name:e.split("/").pop()||e}}function re({changedAt:e,lastAppliedAt:r,modified:t}){return!(e===null||t||e===r)}const oe={empty_path:"Nothing to save.",too_large:"File is too large to save (over 5 MiB).",not_found:"The file no longer exists.",unreadable:"The file could not be read.",not_a_file:"That path is not a file."};async function te(e,r,t){const l=await e.connection.request("file_write_request",{path:r,content:t});if(!l.ok){const n=l.error??"";throw new Error(oe[n]??n??"Failed to save")}}const ne="mol2";function se(e){const{sourcePath:r,monomers:t,attempt:l}=e,n=l>0?`_${l+1}`:"";return`${ae(r)}_polymer_${t}${n}.${ne}`}function ae(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"").trim()||"polymer"}const le={"--canvas":"var(--pi-color-surface0)","--well":"var(--pi-color-surface0)","--recess":"var(--pi-color-surface1)","--chrome":"var(--pi-color-surface1)","--control":"var(--pi-color-surface2)","--control-hover":"var(--pi-color-surface3)","--control-strong-hover":"var(--pi-color-surface4)","--border-control":"var(--pi-color-border)","--border-input":"var(--pi-color-border)","--popover":"var(--pi-color-surface1)","--popover-item-hover":"var(--pi-color-surface2)","--row-hover":"var(--pi-color-surface2)","--border-popover":"var(--pi-color-border)","--text-primary":"var(--pi-color-foreground)","--text-on-control":"var(--pi-color-foreground)"},ce="_wrap_tixu9_1",ie="_molViewer_tixu9_4",ue="_badges_tixu9_8",y={wrap:ce,molViewer:ie,badges:ue},de=50;async function fe(e){const{client:r,upload:t,sourcePath:l,monomers:n,text:f}=e,p=D(l);let a=null,c="";for(let u=0;u<de&&a===null;u+=1){c=se({sourcePath:l,monomers:n,attempt:u});try{a=await U(r,p,c,"file")}catch(m){if(m instanceof X&&m.code==="exists")continue;throw m}}if(a===null)throw new Error(`No free name for ${c} — too many builds in this folder.`);try{await t(p,new File([f],c,{type:"chemical/x-mol2"}))}catch(u){throw await Y(r,a).catch(()=>{}),u}return a}function me({path:e,workspaceCwd:r,tabId:t,isActive:l,onModifiedChange:n}){var T;const f=O(s=>s.client),{upload:p}=W(),a=H(e??"",!!e),{changedAt:c}=K(e),u=i.useRef(null),m=i.useRef(!1),[w,_]=i.useState(null),[h,F]=i.useState(!1),[S,E]=i.useState(null),[j,x]=i.useState(null),[$,M]=i.useState(null),b=i.useRef(null),P=((T=a.data)==null?void 0:T.objectUrl)??null,L=i.useMemo(()=>ee(e,P),[e,P]);i.useEffect(()=>{re({changedAt:c,lastAppliedAt:b.current,modified:h})&&(b.current=c,a.refetch())},[c,h,a.refetch]);const N=c!==null&&c!==b.current&&h;async function A(s){if(e){if(!f){E("Not connected — cannot save.");return}E(null);try{await te(f,e,s.text()),s.saved()}catch(d){E(d instanceof Error?d.message:"Failed to save")}}}async function B(s){if(e){if(!f){x("Not connected — cannot save the polymer.");return}x(null),M(null);try{const d=await fe({client:f,upload:p,sourcePath:e,monomers:s.monomers,text:s.text()});s.report.clashes>0&&M(`${s.report.clashes} close contacts — relax the geometry before simulating`);const V=I.getState().paneOfTab(r,t);q(d,r,V??void 0)}catch(d){x(d instanceof Error?d.message:"Failed to save the polymer")}}}const R=(a.isError?a.error instanceof Error?a.error.message:"download failed":null)??(w==null?void 0:w.message)??null;return e&&a.isPending?o.jsx(g,{children:o.jsxs(k,{children:[o.jsx(C,{size:"sm"})," Loading..."]})}):R?o.jsx(g,{children:o.jsxs(k,{children:["Error: ",R]})}):o.jsxs(g,{className:y.wrap,"data-molecule-active":l?"true":"false",children:[o.jsxs("div",{className:y.badges,children:[N&&o.jsx(v,{label:"File changed on disk",variant:"muted"}),S&&o.jsx(v,{label:`Save failed: ${S}`,variant:"error"}),j&&o.jsx(v,{label:`Polymer build: ${j}`,variant:"error"}),$&&o.jsx(v,{label:$,variant:"warning"})]}),o.jsx(G,{ref:u,className:y.molViewer,theme:le,source:L,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:s=>_(s.error),onModifiedChange:s=>{F(s),n==null||n(s)},onSave:e?A:void 0,onPolymerBuild:e?B:void 0})]})}function je({tab:e}){const{path:r}=e.data,t=z(e.id);return o.jsx(g,{children:o.jsx(me,{path:r,workspaceCwd:e.workspaceCwd,tabId:e.id,isActive:t})})}export{je as MoleculeViewerPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var X=Object.defineProperty;var J=(r,e,t)=>e in r?X(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var D=(r,e,t)=>J(r,typeof e!="symbol"?e+"":e,t);import{r as s,j as T}from"./vendor-react-DQUAl2K8.js";import{x as K,a as Q}from"./vendor-terminal-BhzX2_ts.js";import{f as L,a as Z,g as $,h as ee,i as Y,S as te,j as re,k as ne}from"./index-cV-KrlNo.js";import"./vendor-CKGvrx4M.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";class se{constructor(e){D(this,"subscribers",new Map);D(this,"detach",null);this.daemon=e}start(){this.detach||(this.detach=this.daemon.onTerminalFrame(e=>this.dispatch(e)))}stop(){var e;(e=this.detach)==null||e.call(this),this.detach=null}subscribeSlot(e,t){return this.subscribers.set(e,t),()=>{this.subscribers.get(e)===t&&this.subscribers.delete(e)}}hasSlot(e){return this.subscribers.has(e)}sendInput(e,t){this.daemon.sendBinary(L({opcode:"Input",slot:e,data:t}))}sendResize(e,t,d){this.daemon.sendBinary(L({opcode:"Resize",slot:e,rows:t,cols:d}))}dispatch(e){var d,y,h;const t=this.subscribers.get(e.slot);if(t)switch(e.opcode){case"Output":(d=t.onOutput)==null||d.call(t,e.data);return;case"Snapshot":(y=t.onSnapshot)==null||y.call(t,e.data);return;case"Restore":(h=t.onRestore)==null||h.call(t,e.data);return;default:return}}}const oe=2,ce=1;function _(r){if(r==null)return!1;const{cols:e,rows:t}=r;return typeof e=="number"&&Number.isInteger(e)&&e>=oe&&typeof t=="number"&&Number.isInteger(t)&&t>=ce}function ue(r,e){return r===null||e===null?r===e:r.cols===e.cols&&r.rows===e.rows}function ie(r,e){return _(r)?!ue(r,e):!1}const ae="_wrap_7fmht_1",le="_terminal_7fmht_12",fe="_statusOverlay_7fmht_19",M={wrap:ae,terminal:le,statusOverlay:fe},de=64*1024,G=new TextEncoder,W=new WeakMap;function me(r){let e=W.get(r);return e||(e=new se(r),e.start(),W.set(r,e)),e}function V(r){const e=Y.getState(),t=e.tabs.find(d=>d.id===r);return!t||t.workspaceCwd!==e.activeWorkspaceCwd?!1:re(ne.getState().layouts[t.workspaceCwd],r)}const he={background:"#181b1a",foreground:"#fafafa",cursor:"#a2b4d7",cursorAccent:"#181b1a",selectionBackground:"rgba(255,255,255,0.18)",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#14b8a6",white:"#d4d4d8",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#2dd4bf",brightWhite:"#fafafa"};function Ae({tab:r}){const e=r.data,t=Z(n=>n.client),d=$(r.id),y=s.useRef(null),h=s.useRef(null),R=s.useRef(null),v=s.useRef(e.slot),q=s.useRef(null),I=s.useRef([]),k=s.useRef(0),z=s.useRef(null),A=s.useRef(null),w=s.useRef(null),E=s.useRef(null),N=s.useRef(!1),j=s.useRef(t);j.current=t;const[g,H]=s.useState(e.slot),[O,F]=s.useState({isAttaching:!0,error:null}),x=()=>{var c,a;const n=(c=R.current)==null?void 0:c.proposeDimensions();(a=A.current)==null||a.call(A,_(n)?n:null)},U=()=>{var n;E.current=null,N.current=!0,(n=R.current)==null||n.fit(),x(),requestAnimationFrame(()=>{N.current=!1})},P=()=>{w.current!==null&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{w.current=null,E.current===null&&(E.current=requestAnimationFrame(U))},60)};s.useEffect(()=>{const n=y.current;if(!n)return;const c=new K.Terminal({cursorBlink:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:ee.sm,scrollback:5e3,theme:he,allowProposedApi:!0}),a=new Q.FitAddon;c.loadAddon(a),c.open(n);const m=o=>{if(!V(r.id))return;const i=v.current,b=q.current;i===null||!b||ie(o,z.current)&&(z.current=o,b.sendResize(i,o.rows,o.cols))},l=c.onData(o=>{const i=v.current,b=q.current;if(i===null||!b){const C=G.encode(o);k.current+C.length<=de&&(I.current.push(C),k.current+=C.length);return}b.sendInput(i,G.encode(o))}),f=c.onResize(({cols:o,rows:i})=>{m({cols:o,rows:i})}),p=()=>{a.fit(),x()};n.addEventListener("focusin",p),a.fit(),h.current=c,R.current=a,A.current=m;const u=new ResizeObserver(o=>{if(N.current)return;const i=o[0];i&&(i.contentRect.width===0||i.contentRect.height===0)||P()});return u.observe(n),()=>{u.disconnect(),w.current!==null&&window.clearTimeout(w.current),E.current!==null&&cancelAnimationFrame(E.current),n.removeEventListener("focusin",p),l.dispose(),f.dispose(),c.dispose(),h.current=null,R.current=null,A.current=null}},[]);const S=s.useRef(!1),B=s.useRef(!1);return s.useEffect(()=>{var m;if(S.current=!0,!t||v.current!==null||B.current)return()=>{S.current=!1};B.current=!0;const n=e.cwd||"~",c=(m=R.current)==null?void 0:m.proposeDimensions(),a=_(c)?c:null;return t.connection.request("create_terminal_request",{workspaceId:"",cwd:n,...a?{cols:a.cols,rows:a.rows}:{}}).then(l=>{const f=l.terminal.slot;if(!S.current){t.connection.request("kill_terminal_request",{slot:f}).catch(()=>{});return}v.current=f,H(f),Y.getState().updateData(r.id,{slot:f});const p={cols:l.terminal.cols,rows:l.terminal.rows};z.current=_(p)?p:null}).catch(l=>{S.current&&F({isAttaching:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>{B.current=!1}),()=>{S.current=!1}},[t,r.id]),s.useEffect(()=>()=>{const n=v.current;n!==null&&setTimeout(()=>{var c;S.current||(c=j.current)==null||c.connection.request("kill_terminal_request",{slot:n}).catch(()=>{})},0)},[]),s.useEffect(()=>{var p;if(!t||g===null)return;F({isAttaching:!0,error:null});const n=me(t.connection);q.current=n;const c=u=>{var o,i;(o=h.current)==null||o.reset(),(i=h.current)==null||i.write(u)},a=n.subscribeSlot(g,{onOutput:u=>{var o;return(o=h.current)==null?void 0:o.write(u)},onSnapshot:c,onRestore:c});let m=!1;const l=(p=R.current)==null?void 0:p.proposeDimensions(),f=_(l)&&V(r.id)?l:null;return t.connection.request("subscribe_terminal_request",{slot:g,...f?{cols:f.cols,rows:f.rows}:{}}).then(u=>{if(m)return;F({isAttaching:!1,error:null});const o=I.current;I.current=[],k.current=0;for(const b of o)n.sendInput(g,b);const i={cols:u==null?void 0:u.cols,rows:u==null?void 0:u.rows};z.current=_(i)?i:f,x()}).catch(u=>{m||(I.current=[],k.current=0,F({isAttaching:!1,error:u instanceof Error?u.message:String(u)}))}),()=>{m=!0,a(),q.current=null,t.connection.request("unsubscribe_terminal_request",{slot:g}).catch(()=>{})}},[t,g]),s.useEffect(()=>{d&&P()},[d]),T.jsxs("div",{className:M.wrap,children:[T.jsx("div",{ref:y,className:M.terminal}),O.error?T.jsxs("div",{className:M.statusOverlay,children:["Terminal error: ",O.error]}):O.isAttaching?T.jsxs("div",{className:M.statusOverlay,children:[T.jsx(te,{size:"sm"})," Starting terminal…"]}):null]})}export{Ae as TerminalPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as b,j as r}from"./vendor-react-DQUAl2K8.js";import{r as k,E as d,S as u,B as w,P as h}from"./index-cV-KrlNo.js";import{u as S,F as _,C as y}from"./CodeView-CiS2sFmL.js";import{u as U}from"./vendor-query-DhxQd-Xj.js";import{u as p}from"./use-file-download-lPWoA8MP.js";import"./vendor-CKGvrx4M.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";function B(n){const{enabled:s,download:e,decode:o}=n;return{isLoading:s&&(e.isLoading||e.hasObjectUrl&&o.isLoading),isError:e.isError||o.isError,error:e.isError?e.error:o.error,data:o.data}}function F(n,s=!0){var a;const e=p(n,s),o=(a=e.data)==null?void 0:a.objectUrl,t=U({queryKey:k.fileText(n,o??null),queryFn:async()=>({content:await(await fetch(o)).text()}),enabled:s&&!!o});return B({enabled:s,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!o},decode:{isLoading:t.isLoading,isError:t.isError,error:t.error,data:t.data}})}function N(n){const{maxDisplayBytes:s,inline:e,streamed:o,download:t}=n;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:a}=e.tooLarge;return a>s?{kind:"too-large",size:a,maxDisplayBytes:s,downloading:t.requested&&t.isLoading,downloadUrl:t.objectUrl,downloadName:t.fileName}:o.isLoading?{kind:"streaming",size:a}:o.isError?{kind:"stream-error",size:a,message:o.errorMessage??"stream failed"}:o.content!==null?{kind:"streamed",size:a,content:o.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}const D="_note_1g5yz_1",M="_body_1g5yz_9",T="_tooLarge_1g5yz_13",g={note:D,body:M,tooLarge:T},E=30*1024*1024;function l(n){return`${(n/(1024*1024)).toFixed(1)} MB`}function Y({path:n}){var f,x,j,L;const s=S(n),e=s.error instanceof _?s.error:null,o=e!==null&&e.size<=E,t=F(n,o),[a,m]=b.useState(!1),c=p(n,a),i=N({maxDisplayBytes:E,inline:{isLoading:s.isLoading,isError:s.isError,tooLarge:e?{size:e.size}:null,errorMessage:s.error instanceof Error?s.error.message:null,content:((f=s.data)==null?void 0:f.content)??null},streamed:{isLoading:t.isLoading,isError:t.isError,errorMessage:t.error instanceof Error?t.error.message:null,content:((x=t.data)==null?void 0:x.content)??null},download:{requested:a,isLoading:c.isLoading,objectUrl:((j=c.data)==null?void 0:j.objectUrl)??null,fileName:((L=c.data)==null?void 0:L.fileName)??null}});switch(i.kind){case"loading":return r.jsxs(d,{children:[r.jsx(u,{size:"sm"})," Loading..."]});case"inline":return r.jsx(y,{path:n,content:i.content});case"streaming":return r.jsxs(d,{children:[r.jsx(u,{size:"sm"})," Streaming ",l(i.size)," file..."]});case"stream-error":return r.jsxs(d,{children:["Error: ",i.message]});case"streamed":return r.jsxs(h,{children:[r.jsxs("div",{className:g.note,children:[l(i.size)," file streamed"]}),r.jsx("div",{className:g.body,children:r.jsx(y,{path:n,content:i.content})})]});case"too-large":{const z=n.split("/").pop()||n;return r.jsx(d,{children:r.jsxs("div",{className:g.tooLarge,children:[r.jsxs("div",{children:[l(i.size)," — too large to display (display ceiling is"," ",l(i.maxDisplayBytes),")."]}),i.downloading?r.jsx(u,{size:"sm"}):i.downloadUrl?r.jsx("a",{href:i.downloadUrl,download:i.downloadName||z,children:r.jsx(w,{size:"sm",children:"Save file"})}):r.jsx(w,{size:"sm",onClick:()=>m(!0),children:"Download"})]})})}case"error":return r.jsxs(d,{children:["Error: ",i.message]})}}export{E as MAX_DISPLAY_BYTES,Y as TextViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as e,S as t}from"./index-cV-KrlNo.js";import{u as n}from"./use-file-download-lPWoA8MP.js";import"./vendor-query-DhxQd-Xj.js";import"./vendor-CKGvrx4M.js";import"./vendor-icons-C8b9N6AX.js";import"./vendor-overlays-DWX2bju9.js";import"./vendor-dnd-CayJj8TC.js";const a="_wrap_gy3e6_1",m="_video_gy3e6_10",i={wrap:a,video:m};function v({path:s}){const r=n(s);return r.isLoading?o.jsxs(e,{children:[o.jsx(t,{size:"sm"})," Loading video..."]}):r.isError?o.jsxs(e,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:i.wrap,children:o.jsx("video",{className:i.video,src:r.data.objectUrl,controls:!0})}):null}export{v as VideoViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
html,body{margin:0;padding:0}body{min-height:100vh;overflow:hidden;background:var(--pi-color-background);color:var(--pi-color-foreground);font-family:var(--pi-font-ui)}#root{display:flex;flex-direction:column;min-height:100vh}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--pi-color-border);border-radius:var(--pi-radius-base)}._btn_1oc6k_4{display:inline-flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);border-radius:var(--pi-radius-lg);border:1px solid transparent;font-family:var(--pi-font-ui);font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;transition:opacity .12s ease,background-color .12s ease,border-color .12s ease;box-sizing:border-box}._btn_1oc6k_4:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}._btn_1oc6k_4:disabled,._btn_1oc6k_4[aria-disabled=true]{cursor:not-allowed;pointer-events:none}._default_1oc6k_38{background-color:var(--pi-color-accent);color:var(--pi-color-accentForeground);border-color:var(--pi-color-accent)}._default_1oc6k_38:hover:not(:disabled){filter:brightness(1.08)}._secondary_1oc6k_47{background-color:var(--pi-color-surface3);color:var(--pi-color-foreground);border-color:var(--pi-color-border)}._secondary_1oc6k_47:hover:not(:disabled){background-color:var(--pi-color-surface2)}._outline_1oc6k_56{background-color:transparent;color:var(--pi-color-accentBright);border-color:var(--pi-color-accent)}._outline_1oc6k_56:hover:not(:disabled){background-color:var(--pi-color-surface1)}._ghost_1oc6k_65{background-color:transparent;color:var(--pi-color-foregroundMuted);border-color:transparent}._ghost_1oc6k_65:hover:not(:disabled){color:var(--pi-color-foreground);background-color:var(--pi-color-surface1)}._destructive_1oc6k_75{background-color:var(--pi-color-destructive);color:var(--pi-color-destructiveForeground);border-color:var(--pi-color-destructive)}._destructive_1oc6k_75:hover:not(:disabled){filter:brightness(1.1)}._iconOnly_1oc6k_85{padding-left:0!important;padding-right:0!important;aspect-ratio:1}._loadingSpinner_1oc6k_92{animation:_piSpin_1oc6k_1 .75s linear infinite;flex-shrink:0}@keyframes _piSpin_1oc6k_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}._input_756jo_3{width:100%;padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background-color:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-base);font-family:var(--pi-font-ui);outline:none;transition:border-color .12s ease;box-sizing:border-box}._input_756jo_3::placeholder{color:var(--pi-color-foregroundMuted)}._input_756jo_3:focus{border-color:var(--pi-color-accent);outline:2px solid var(--pi-color-accent);outline-offset:-1px}._input_756jo_3:disabled{opacity:.5;cursor:not-allowed}._textarea_756jo_32{resize:vertical;min-height:80px}._wrap_aquqo_1{display:inline-flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._dot_aquqo_8{width:8px;height:8px;border-radius:50%;background:var(--pi-color-foregroundMuted);flex-shrink:0}._dot_aquqo_8._open_aquqo_15{background:var(--pi-color-statusSuccess)}._dot_aquqo_8._connecting_aquqo_18{background:var(--pi-color-statusWarning)}._dot_aquqo_8._closed_aquqo_21,._dot_aquqo_8._idle_aquqo_22,._dot_aquqo_8._closing_aquqo_23{background:var(--pi-color-statusDanger)}._toolbar_1lcb1_1{display:flex;align-items:center;gap:var(--pi-spacing-10);padding:var(--pi-spacing-6) var(--pi-spacing-10);border-bottom:1px solid var(--pi-color-border);background:var(--pi-color-surface1);flex-shrink:0}._brand_1lcb1_10{font-weight:600;font-size:var(--pi-font-size-sm);letter-spacing:.02em;white-space:nowrap}._version_1lcb1_16{font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:nowrap;margin-left:-4px}._sep_1lcb1_22{width:1px;height:18px;background:var(--pi-color-border);flex-shrink:0}._host_1lcb1_28{width:190px}._password_1lcb1_31{width:100px}._sidebarToggles_1lcb1_34{display:flex;align-items:center;gap:var(--pi-spacing-4);margin-left:auto}._panel_1de7t_3{display:flex;flex-direction:column;height:100%;min-height:0}._emptyState_kp50e_3{display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs);padding:var(--pi-spacing-20);text-align:center}._iconBtn_1unr3_3{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;background:none;border:none;border-radius:var(--pi-radius-base);color:var(--pi-color-foregroundMuted);cursor:pointer}._iconBtn_1unr3_3:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--icon-btn-hover-base, var(--pi-color-surface1)) 85%,var(--pi-color-foreground) 15%)}._iconBtn_1unr3_3:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}._iconBtn_1unr3_3:disabled{opacity:.4;cursor:default}._xs_1unr3_32{width:20px;height:20px}._sm_1unr3_36{width:28px;height:28px}._dot_1mn1j_3{display:inline-block;width:8px;height:8px;border-radius:var(--pi-radius-full);flex-shrink:0}._spinner_1mn1j_16{display:inline-block;width:12px;height:12px;border-radius:var(--pi-radius-full);border:2px solid var(--pi-color-border);flex-shrink:0;animation:_statusSpin_1mn1j_1 .7s linear infinite}@keyframes _statusSpin_1mn1j_1{to{transform:rotate(360deg)}}._header_z4gra_1{display:flex;align-items:center;justify-content:space-between;padding:var(--pi-spacing-6) var(--pi-spacing-10);border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._openBtn_z4gra_9{width:20px!important;min-height:20px!important}._header_z4gra_1 h3{margin:0;font-size:var(--pi-font-size-xs);font-weight:600;color:var(--pi-color-foregroundMuted);text-transform:uppercase;letter-spacing:.04em}._list_z4gra_21{flex:1 1 auto;overflow-y:auto;min-height:0}._item_z4gra_26{position:relative;padding:var(--pi-spacing-8) var(--pi-spacing-10);cursor:pointer;border-bottom:1px solid transparent}._item_z4gra_26:hover{background:color-mix(in srgb,var(--pi-color-surfaceSidebar) 85%,var(--pi-color-foreground) 15%)}._item_z4gra_26._active_z4gra_39{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent)}._title_z4gra_43{display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._meta_z4gra_52{margin-top:var(--pi-spacing-2);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._menuBtn_z4gra_60{position:absolute;top:6px;right:6px;opacity:0}._item_z4gra_26:hover ._menuBtn_z4gra_60{opacity:1}._workspaceGroup_z4gra_69{border-bottom:1px solid var(--pi-color-border)}._workspaceHeader_z4gra_72{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-7) var(--pi-spacing-10);cursor:pointer;font-size:var(--pi-font-size-xs);font-weight:600;color:var(--pi-color-foreground);background:var(--pi-color-surfaceWorkspace)}._workspaceHeader_z4gra_72:hover{background:color-mix(in srgb,var(--pi-color-surfaceWorkspace) 85%,var(--pi-color-foreground) 15%)}._workspaceChevron_z4gra_97{flex-shrink:0}._workspaceHeader_z4gra_72 ._workspaceChevron_z4gra_97:hover{background:transparent}._workspaceIcon_z4gra_105{color:var(--pi-color-foregroundMuted);flex-shrink:0}._workspaceLabel_z4gra_109{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._workspaceCount_z4gra_115{font-size:var(--pi-font-size-2xs);font-weight:400;color:var(--pi-color-foregroundMuted)}._workspaceMenuBtn_z4gra_120{flex-shrink:0;opacity:0}._workspaceHeader_z4gra_72:hover ._workspaceMenuBtn_z4gra_120{opacity:1}._workspaceSessions_z4gra_127{padding-left:var(--pi-spacing-12)}._trigger_cd29a_3{position:fixed;width:1px;height:1px;padding:0;border:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0;pointer-events:none}._content_cd29a_15{min-width:140px;padding:var(--pi-spacing-4);border-radius:var(--pi-radius-md);background:var(--pi-color-surface1);border:1px solid var(--pi-color-border);box-shadow:0 8px 24px #0006;z-index:1000}._item_cd29a_25{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none}._item_cd29a_25:hover,._item_cd29a_25[data-highlighted]{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._item_cd29a_25[data-disabled]{opacity:.4;cursor:default}._danger_cd29a_44{color:var(--pi-color-statusDanger)}._sep_cd29a_48{height:1px;margin:var(--pi-spacing-4) 0;background:var(--pi-color-border)}._spinner_1ibj3_3{display:inline-block;border-radius:var(--pi-radius-full);border-style:solid;border-color:currentColor transparent transparent transparent;animation:_piSpinnerRotate_1ibj3_1 .7s linear infinite;flex-shrink:0}@keyframes _piSpinnerRotate_1ibj3_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){._spinner_1ibj3_3{animation:none}}._divider_4eg4l_9{position:absolute;z-index:2}._divider_4eg4l_9:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pi-color-border);transition:background .12s ease,inset .12s ease}._divider_4eg4l_9:hover:before,._divider_4eg4l_9:active:before{background:var(--pi-color-accent)}._vertical_4eg4l_26{width:7px;margin-left:-3px;cursor:col-resize}._vertical_4eg4l_26:before{left:3px;right:3px}._vertical_4eg4l_26:hover:before,._vertical_4eg4l_26:active:before{left:2px;right:2px}._horizontal_4eg4l_41{height:7px;margin-top:-3px;cursor:row-resize}._horizontal_4eg4l_41:before{top:3px;bottom:3px}._horizontal_4eg4l_41:hover:before,._horizontal_4eg4l_41:active:before{top:2px;bottom:2px}._strip_16ago_1{display:flex;align-items:center;gap:var(--pi-spacing-2);min-height:var(--pane-strip-height);padding:0 var(--pi-spacing-8);overflow:hidden;flex-shrink:0;border-bottom:var(--pi-border-width-1) solid var(--pi-color-border)}._tabs_16ago_13{display:flex;align-items:center;gap:var(--pi-spacing-2);flex:0 1 auto;min-width:0;overflow-x:auto}._paneStrip_16ago_23{position:absolute;z-index:1}._focused_16ago_28{border-bottom-color:var(--pi-color-accent)}._tab_16ago_13{display:flex;align-items:center;gap:var(--pi-spacing-7);flex:0 1 auto;min-width:var(--pi-spacing-128);max-width:200px;height:var(--pi-spacing-24);padding:0 var(--pi-spacing-10);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-2xs);cursor:pointer;color:var(--pi-color-foregroundMuted);white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}._tab_16ago_13:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._tabActive_16ago_51{background:var(--pi-color-surface2);color:var(--pi-color-foreground)}._tabIcon_16ago_55{display:flex;align-items:center;flex:none}._tabLabel_16ago_60{min-width:0;overflow:hidden;text-overflow:ellipsis}._tabLabelMono_16ago_65{font-family:var(--pi-font-mono)}._tabDot_16ago_70{flex:none}._tabClose_16ago_77{display:flex;align-items:center;flex:none;border-radius:var(--pi-radius-base);padding:var(--pi-spacing-1);opacity:0}._tabActive_16ago_51 ._tabClose_16ago_77,._tab_16ago_13:hover ._tabClose_16ago_77,._tab_16ago_13:focus-within ._tabClose_16ago_77{opacity:1}._tabClose_16ago_77:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}@media(max-width:575px),(hover:none){._tabClose_16ago_77{opacity:1}}._newTab_16ago_98{position:relative;border-radius:var(--pi-radius-sm);flex:none}._stripActions_16ago_106{margin-left:auto;display:flex;align-items:center;gap:var(--pi-spacing-8);flex:none}._splitAction_16ago_113{position:relative;border-radius:var(--pi-radius-sm);flex:none}._itemIcon_16ago_118{flex-shrink:0;color:var(--pi-color-foregroundMuted)}._preview_1txmv_1{position:absolute;z-index:3;pointer-events:none;border:1px solid var(--pi-color-accent);border-radius:var(--pi-radius-sm);background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent)}._chip_1txmv_9{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md);background:var(--pi-color-surface0);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);white-space:nowrap;cursor:grabbing;box-shadow:var(--pi-shadow-md)}._chipLabel_1txmv_23{max-width:160px;overflow:hidden;text-overflow:ellipsis}._area_9sawz_1{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;--pane-strip-height: 36px}._panel_9sawz_11{position:absolute;left:0;top:0;width:100%;height:100%;display:none;flex-direction:column;min-height:0;overflow:hidden}._dropZone_9sawz_27{position:absolute;pointer-events:none}._active_9sawz_31{display:flex}._empty_9sawz_35{position:absolute;left:0;right:0;top:var(--pane-strip-height);bottom:0;display:flex;align-items:center;justify-content:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._emptyStack_9sawz_47{position:absolute;left:0;right:0;top:var(--pane-strip-height);bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pi-spacing-10);padding:0 var(--pi-spacing-16);text-align:center}._emptyTitle_9sawz_61{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground)}._emptyHint_9sawz_65{font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._container_1wywk_1{position:relative;height:100%;display:flex;flex-direction:column}._header_1wywk_7{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-bottom:1px solid var(--pi-color-border)}._uploadButton_1wywk_14{display:inline-flex;align-items:center;gap:var(--pi-spacing-5);font-size:var(--pi-font-size-2xs);padding:var(--pi-spacing-3) var(--pi-spacing-8);border-radius:var(--pi-radius-base);border:1px solid var(--pi-color-border);background:var(--pi-color-surface1);color:var(--pi-color-foreground);cursor:pointer}._uploadButton_1wywk_14:hover:not(:disabled){background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._uploadButton_1wywk_14:disabled{opacity:.5;cursor:default}._hiddenInput_1wywk_33{display:none}._status_1wywk_36,._statusError_1wywk_37{font-size:var(--pi-font-size-2xs);padding:var(--pi-spacing-4) var(--pi-spacing-8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._status_1wywk_36{color:var(--pi-color-foregroundMuted)}._statusError_1wywk_37{color:var(--pi-color-statusDanger)}._rowAction_1wywk_50{margin-left:auto}._item_1wywk_53 ._rowAction_1wywk_50{display:none}._item_1wywk_53:hover ._rowAction_1wywk_50{display:inline-flex}._list_1wywk_60{padding:var(--pi-spacing-4) 0;flex:1;overflow-y:auto;position:relative}._item_1wywk_53{height:28px;padding-right:var(--pi-spacing-8);font-size:var(--pi-font-size-xs);border-radius:var(--pi-radius-base);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-6);user-select:none;-webkit-user-select:none}._item_1wywk_53:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._item_1wywk_53._active_1wywk_83{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._item_1wywk_53._selected_1wywk_88{background:var(--pi-color-surface0);border-radius:var(--pi-radius-none)}._item_1wywk_53._dropTarget_1wywk_92{background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);box-shadow:inset 0 0 0 1px var(--pi-color-accent);border-radius:var(--pi-radius-base)}._item_1wywk_53._rootItem_1wywk_99 ._dirName_1wywk_98{color:var(--pi-color-foreground);font-weight:600}._chevronSlot_1wywk_104{display:flex;align-items:center;justify-content:center;width:var(--pi-icon-size-sm);flex-shrink:0;color:var(--pi-color-foregroundMuted)}._chevron_1wywk_104{transition:transform .1s ease}._chevronOpen_1wywk_115{transform:rotate(90deg)}._icon_1wywk_118{display:flex;align-items:center;width:var(--pi-icon-size-md);flex-shrink:0;color:var(--pi-color-foregroundMuted)}._name_1wywk_125{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._dirName_1wywk_98{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--pi-color-accentBright)}._item_1wywk_53._gitAdded_1wywk_140 ._icon_1wywk_118,._item_1wywk_53._gitAdded_1wywk_140 ._name_1wywk_125,._item_1wywk_53._gitAdded_1wywk_140 ._dirName_1wywk_98{color:var(--pi-color-statusSuccess)}._item_1wywk_53._gitModified_1wywk_145 ._icon_1wywk_118,._item_1wywk_53._gitModified_1wywk_145 ._name_1wywk_125,._item_1wywk_53._gitModified_1wywk_145 ._dirName_1wywk_98{color:var(--pi-color-statusWarning)}._item_1wywk_53._gitDeleted_1wywk_150 ._icon_1wywk_118,._item_1wywk_53._gitDeleted_1wywk_150 ._name_1wywk_125,._item_1wywk_53._gitDeleted_1wywk_150 ._dirName_1wywk_98{color:var(--pi-color-statusDanger)}._item_1wywk_53._gitDeleted_1wywk_150 ._name_1wywk_125{text-decoration:line-through}._item_1wywk_53._hiddenEntry_1wywk_162{opacity:.45}._item_1wywk_53._hiddenEntry_1wywk_162:hover,._item_1wywk_53._hiddenEntry_1wywk_162._active_1wywk_83,._item_1wywk_53._hiddenEntry_1wywk_162._selected_1wywk_88,._item_1wywk_53._hiddenEntry_1wywk_162._dropTarget_1wywk_92{opacity:1}._statusRow_1wywk_171{height:28px;display:flex;align-items:center;padding-right:var(--pi-spacing-8);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._statusRowError_1wywk_182{color:var(--pi-color-statusDanger)}._draftInput_1wywk_185{flex:1;min-width:0;height:20px;font:inherit;font-size:var(--pi-font-size-xs);padding:0 var(--pi-spacing-4);color:var(--pi-color-foreground);background:var(--pi-color-surface0);border:1px solid var(--pi-color-accent);border-radius:var(--pi-radius-base);outline:none}._list_1n3q6_1{padding:var(--pi-spacing-4) 0}._summary_1n3q6_4{padding:var(--pi-spacing-4) var(--pi-spacing-8);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);border-bottom:1px solid var(--pi-color-border);margin-bottom:var(--pi-spacing-4)}._item_1n3q6_11{padding:var(--pi-spacing-4) var(--pi-spacing-8);font-size:var(--pi-font-size-xs);border-radius:var(--pi-radius-base);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-6)}._item_1n3q6_11:hover{background:color-mix(in srgb,var(--pi-color-background) 85%,var(--pi-color-foreground) 15%)}._badge_1n3q6_23{font-size:var(--pi-font-size-3xs);padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-base);font-weight:600;flex-shrink:0}._added_1n3q6_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 20%,transparent);color:var(--pi-color-statusSuccess)}._modified_1n3q6_34{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,transparent);color:var(--pi-color-statusWarning)}._deleted_1n3q6_38{background:color-mix(in srgb,var(--pi-color-statusDanger) 20%,transparent);color:var(--pi-color-statusDanger)}._name_1n3q6_42{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tabBar_1tvri_1{display:flex;align-items:center;border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._tabBtn_1tvri_7{display:flex;align-items:center;gap:var(--pi-spacing-6);font:inherit;font-size:var(--pi-font-size-xs);padding:var(--pi-spacing-8) var(--pi-spacing-12);background:none;border:none;color:var(--pi-color-foregroundMuted);cursor:pointer;border-bottom:2px solid transparent}._tabBtn_1tvri_7:hover{color:var(--pi-color-foreground)}._active_1tvri_23{color:var(--pi-color-foreground);border-bottom-color:var(--pi-color-accent)}._refreshBtn_1tvri_27{margin-left:auto;margin-right:var(--pi-spacing-6)}._content_1tvri_31{flex:1;overflow-y:auto;padding:var(--pi-spacing-8);min-height:0}._statusBar_t655h_1{height:35px;width:100%;flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-12);overflow-x:auto;border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);font-size:var(--pi-font-size-xs);color:var(--pi-color-foreground);white-space:nowrap}._segmentGroup_t655h_16{display:flex;align-items:center}._chevron_t655h_20{color:var(--pi-color-border);margin:0 var(--pi-spacing-4);flex-shrink:0}._segment_t655h_16{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-2) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface2)}._icon_t655h_33{display:flex;align-items:center;color:var(--pi-color-foregroundMuted);flex-shrink:0}._text_t655h_39{overflow:hidden;text-overflow:ellipsis;max-width:320px}._wrapper_14joh_3{display:inline-flex;align-items:center;gap:var(--pi-spacing-8);cursor:pointer;font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground)}._wrapper_14joh_3[data-disabled=true]{opacity:.5;pointer-events:none}._box_14joh_18{width:16px;height:16px;border-radius:var(--pi-radius-sm);border:1.5px solid var(--pi-color-border);background-color:transparent;display:flex;align-items:center;justify-content:center;transition:background-color .1s,border-color .1s;flex-shrink:0}._box_14joh_18[data-checked=true]{background-color:var(--pi-color-accent);border-color:var(--pi-color-accent)}._checkmark_14joh_38{color:var(--pi-color-accentForeground)}._nativeInput_14joh_43{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}._select_dl3mw_3{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:var(--pi-spacing-8) var(--pi-spacing-32) var(--pi-spacing-8) var(--pi-spacing-10);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground);width:100%;outline:none;transition:border-color .1s;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a1a1aa' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}._select_dl3mw_3:focus{border-color:var(--pi-color-accent)}._select_dl3mw_3:disabled{opacity:.5;cursor:not-allowed}._comboboxWrapper_dl3mw_31{position:relative;width:100%}._comboboxInput_dl3mw_36{width:100%;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:var(--pi-spacing-8) var(--pi-spacing-10);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground);outline:none;box-sizing:border-box}._comboboxInput_dl3mw_36:focus{border-color:var(--pi-color-accent)}._comboboxList_dl3mw_53{position:absolute;top:100%;left:0;right:0;z-index:80;max-height:200px;overflow-y:auto;background-color:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-base);margin-top:var(--pi-spacing-4);padding:var(--pi-spacing-4);box-shadow:var(--pi-shadow-md)}._comboboxOption_dl3mw_69{padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);color:var(--pi-color-foreground);cursor:pointer;background:none;border:none;width:100%;text-align:left}._comboboxOption_dl3mw_69:hover,._comboboxOptionHighlighted_dl3mw_83{background-color:var(--pi-color-surface2)}._overlay_1k4ng_1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100}._contentWrapper_1k4ng_7{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;display:flex;align-items:center;justify-content:center;pointer-events:none}._dialog_1k4ng_16{pointer-events:auto;width:500px;max-width:90vw;max-height:70vh;background:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-lg);display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}._header_1k4ng_28{padding:var(--pi-spacing-12) var(--pi-spacing-14);border-bottom:1px solid var(--pi-color-border);display:flex;align-items:center;gap:var(--pi-spacing-8);flex-shrink:0}._title_1k4ng_36{font-size:var(--pi-font-size-sm);margin:0;flex:1;color:var(--pi-color-foreground);font-weight:600}._body_1k4ng_43{flex:1;display:flex;flex-direction:column;min-height:0}._footer_1k4ng_49{padding:var(--pi-spacing-10) var(--pi-spacing-14);border-top:1px solid var(--pi-color-border);display:flex;align-items:center;gap:var(--pi-spacing-8);justify-content:flex-end;flex-shrink:0}._bare_1k4ng_58{border:none;background:transparent;box-shadow:none;position:relative}._bareBody_1k4ng_64{border-radius:var(--pi-radius-lg);overflow:hidden}._bareCloseBtn_1k4ng_68{position:absolute;top:-12px;right:-12px}._visuallyHidden_1k4ng_73{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._handle_1j18v_1{position:absolute;top:0;bottom:0;width:5px;cursor:col-resize;z-index:5;background:transparent;transition:background .12s ease}._handle_1j18v_1:hover,._handle_1j18v_1:active{background:var(--pi-color-accent)}._pathRow_1mu84_1{padding:var(--pi-spacing-8) var(--pi-spacing-14);display:flex;align-items:center;gap:var(--pi-spacing-6);border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._pathInput_1mu84_9{flex:1;font-size:var(--pi-font-size-xs)}._createRow_1mu84_13{padding:var(--pi-spacing-6) var(--pi-spacing-14);display:flex;align-items:center;gap:var(--pi-spacing-6);border-bottom:1px solid var(--pi-color-border);flex-shrink:0}._createInput_1mu84_21{flex:1;font-size:var(--pi-font-size-xs)}._createError_1mu84_25{padding:var(--pi-spacing-4) var(--pi-spacing-14) var(--pi-spacing-6);font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger)}._list_1mu84_30{flex:1;overflow-y:auto;padding:var(--pi-spacing-4) 0;min-height:200px;max-height:400px}._item_1mu84_37{padding:var(--pi-spacing-6) var(--pi-spacing-14);cursor:pointer;display:flex;align-items:center;gap:var(--pi-spacing-8);font-size:var(--pi-font-size-xs);color:var(--pi-color-foreground)}._item_1mu84_37:hover{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._name_1mu84_49{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._shell_570m8_1{display:flex;flex-direction:column;height:100vh;min-height:0}._main_570m8_7{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}._sidebarLeft_570m8_13{position:relative;flex-shrink:0;border-right:1px solid var(--pi-color-border);display:flex;flex-direction:column;min-width:0;background:var(--pi-color-surfaceSidebar)}._leftHandle_570m8_25{right:-3px}._center_570m8_28{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}._sidebarRight_570m8_35{position:relative;flex-shrink:0;border-left:1px solid var(--pi-color-border);display:flex;flex-direction:column;min-width:0}._rightHandle_570m8_43{left:-3px}
|