@neuralnomads/codenomad-dev 0.20.1-dev-20261019-e56b286a → 0.20.1-dev-20261019-7eb401eb
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/package.json +1 -1
- package/public/assets/{App-z4rDGruy.js → App-7u0r589J.js} +29 -29
- package/public/assets/App-7u0r589J.js.map +1 -0
- package/public/assets/{FilesPanel-BR_6pmtI.js → FilesPanel-DmdwCBoM.js} +3 -3
- package/public/assets/FilesPanel-DmdwCBoM.js.map +1 -0
- package/public/assets/{StatusTab-7nJ4mv4I.js → StatusTab-CPfdwHzQ.js} +2 -2
- package/public/assets/{StatusTab-7nJ4mv4I.js.map → StatusTab-CPfdwHzQ.js.map} +1 -1
- package/public/assets/{client-state-CdvbHQef.js → client-state-Dbg3RTSW.js} +2 -2
- package/public/assets/{client-state-CdvbHQef.js.map → client-state-Dbg3RTSW.js.map} +1 -1
- package/public/assets/{client-state-Dy45bMLT.js → client-state-_VkciMC3.js} +2 -2
- package/public/assets/{client-state-Dy45bMLT.js.map → client-state-_VkciMC3.js.map} +1 -1
- package/public/assets/client-state-owner-commands-C_V-9FL7.js +2 -0
- package/public/assets/{client-state-owner-commands-CNRMpxmP.js.map → client-state-owner-commands-C_V-9FL7.js.map} +1 -1
- package/public/assets/{diff-viewer-DidBGGSg.js → diff-viewer-EKYtk2Kn.js} +2 -2
- package/public/assets/{diff-viewer-DidBGGSg.js.map → diff-viewer-EKYtk2Kn.js.map} +1 -1
- package/public/assets/{main-2ULMhXOZ.js → main-CSjPT-d2.js} +4 -4
- package/public/assets/{main-2ULMhXOZ.js.map → main-CSjPT-d2.js.map} +1 -1
- package/public/assets/{markdown-B2vmXRgM.js → markdown-BCaUmWNf.js} +2 -2
- package/public/assets/{markdown-B2vmXRgM.js.map → markdown-BCaUmWNf.js.map} +1 -1
- package/public/assets/{opener-startup-state-settings-card-Bj8IDBCX.js → opener-startup-state-settings-card-DcDRs1t6.js} +2 -2
- package/public/assets/{opener-startup-state-settings-card-Bj8IDBCX.js.map → opener-startup-state-settings-card-DcDRs1t6.js.map} +1 -1
- package/public/assets/{startup-state-settings-card-DAkduiFk.js → startup-state-settings-card-CQaOfOwm.js} +2 -2
- package/public/assets/{startup-state-settings-card-DAkduiFk.js.map → startup-state-settings-card-CQaOfOwm.js.map} +1 -1
- package/public/assets/{startup-state-settings-view-CQ6mkdWM.js → startup-state-settings-view-Cd3LgXsC.js} +2 -2
- package/public/assets/{startup-state-settings-view-CQ6mkdWM.js.map → startup-state-settings-view-Cd3LgXsC.js.map} +1 -1
- package/public/assets/{terminal-square-DeHY-xG8.js → terminal-square-CBQGNjjn.js} +2 -2
- package/public/assets/{terminal-square-DeHY-xG8.js.map → terminal-square-CBQGNjjn.js.map} +1 -1
- package/public/assets/{tool-call-DPmRZgHK.js → tool-call-Q2b_KH6g.js} +4 -4
- package/public/assets/{tool-call-DPmRZgHK.js.map → tool-call-Q2b_KH6g.js.map} +1 -1
- package/public/assets/{unified-picker-Dpt39UfN.js → unified-picker-Dubi2nCg.js} +2 -2
- package/public/assets/{unified-picker-Dpt39UfN.js.map → unified-picker-Dubi2nCg.js.map} +1 -1
- package/public/index.html +1 -1
- package/public/sw.js +1 -1
- package/public/sw.js.map +1 -1
- package/public/assets/App-z4rDGruy.js.map +0 -1
- package/public/assets/FilesPanel-BR_6pmtI.js.map +0 -1
- package/public/assets/client-state-owner-commands-CNRMpxmP.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as A,i as n,d as g,u as J,e as he,g as ee,m as U,a as Oe,s as Me}from"./monaco-viewer-CtxFhd10.js";import{k as a,p as ce,o as Ie,n as Re,F as W,c as T,a as re,S as O,e as ge,t as ke}from"./git-diff-vendor-CINvIzmQ.js";import{a5 as ue,a6 as De,a7 as Te,a8 as we,a9 as ae,aa as qe,ab as Ge,ac as je,ad as Ne,ae as We,af as He,ag as Be}from"./App-z4rDGruy.js";import{I as oe,bL as Pe,aI as le,gf as Ue,bw as Ve,C as Ae,F as Xe,b3 as Ee,aM as Ze,bo as Je,a as xe,bp as Ke,bc as Qe,gg as Ye,Z as pe}from"./main-2ULMhXOZ.js";import{T as et}from"./terminal-square-DeHY-xG8.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./index-BB2Eo5pO.js";import"./client-state-CdvbHQef.js";import"./client-state-Dy45bMLT.js";import"./CodeNomad-Icon-DTDWwXip.js";const tt=[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m10 13-2 2 2 2",key:"17smn8"}],["path",{d:"m14 17 2-2-2-2",key:"14mezr"}]],nt=e=>a(oe,ce(e,{name:"FileCode",iconNode:tt})),it=[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]],at=e=>a(oe,ce(e,{name:"FileText",iconNode:it})),lt=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],st=e=>a(oe,ce(e,{name:"GitCommitHorizontal",iconNode:lt})),rt=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ct=e=>a(oe,ce(e,{name:"Image",iconNode:rt})),p=e=>Number.parseFloat(e)||0,te=new Set;let ne=0;function ot(e){te.add(e),!ne&&(ne=requestAnimationFrame(()=>{ne=0;const o=[...te];te.clear();const b=o.map(u=>u());for(const u of b)u==null||u()}))}function ze(e){var d;if(e.matches(".action-overflow-trigger"))return 0;const o=getComputedStyle(e);if(o.display==="none")return 0;if(e instanceof SVGElement||e.matches("button:not(.git-panel-file-main), .workspace-tree-spacer"))return e.getBoundingClientRect().width;const b=[];for(const r of e.childNodes)if(r instanceof Element)b.push(ze(r));else if(r.nodeType===Node.TEXT_NODE&&((d=r.textContent)!=null&&d.trim())){const f=document.createRange();f.selectNode(r),b.push(f.getBoundingClientRect().width)}const u=b.filter(r=>r>0),_=o.flexDirection==="column";return(_?Math.max(0,...u):u.reduce((r,f)=>r+f,0))+(_?0:Math.max(0,u.length-1)*p(o.columnGap))+p(o.paddingLeft)+p(o.paddingRight)+p(o.borderLeftWidth)+p(o.borderRightWidth)}function dt(e){var f;const o=e.parentElement;if(!o)return;let b=!1;const u=()=>{if(b||!e.isConnected||!o.getBoundingClientRect().width)return;const v=e.querySelector(".action-overflow-trigger"),x=e.querySelector(".file-row-inline-actions");if(!v||!x)return;const i=ze(o),l=o.getBoundingClientRect().width,h=v.hasAttribute("data-expanded")||i>l+.5;if(e.dataset.compact===String(h))return;const E=document.activeElement,L=E instanceof Element&&e.contains(E)&&E.matches(".file-row-inline-actions button, .action-overflow-trigger");return()=>{b||!e.isConnected||(e.dataset.compact=String(h),x.inert=h,L&&queueMicrotask(()=>{if(b||!e.isConnected)return;const c=h?v:e.querySelector(".file-row-inline-actions button:not(:disabled)");c==null||c.focus({preventScroll:!0})}))}},_=()=>{b||ot(u)},d=new ResizeObserver(_);d.observe(o),d.observe(e);const r=new MutationObserver(_);r.observe(o,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["data-expanded"]}),(f=document.fonts)==null||f.addEventListener("loadingdone",_),_(),Ie(()=>{var v;b=!0,te.delete(u),te.size||(cancelAnimationFrame(ne),ne=0),d.disconnect(),r.disconnect(),(v=document.fonts)==null||v.removeEventListener("loadingdone",_)})}var gt=A("<button type=button class=file-row-icon-button>"),ht=A("<span class=file-row-actions data-compact=false><span class=file-row-pinned-actions></span><span class=file-row-inline-actions>");const ve=e=>{let o;Re(()=>dt(o));const b=()=>e.items.filter(d=>typeof d.checked=="boolean"),u=()=>e.items.filter(d=>typeof d.checked!="boolean"),_=d=>(()=>{var r=gt();return r.$$click=()=>void d.onSelect(),n(r,()=>d.icon),T(f=>{var v=typeof d.checked=="boolean",x=d.label,i=d.label,l=d.checked,h=d.disabled;return v!==f.e&&r.classList.toggle("icon-toggle",f.e=v),x!==f.t&&g(r,"title",f.t=x),i!==f.a&&g(r,"aria-label",f.a=i),l!==f.o&&g(r,"aria-pressed",f.o=l),h!==f.i&&(r.disabled=f.i=h),f},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})();return(()=>{var d=ht(),r=d.firstChild,f=r.nextSibling;d.$$pointerdown=x=>x.stopPropagation(),d.$$click=x=>x.stopPropagation();var v=o;return typeof v=="function"?J(v,d):o=d,n(r,a(W,{get each(){return b()},children:_})),n(f,a(W,{get each(){return u()},children:_})),n(d,a(Pe,{get items(){return u()},get label(){return e.label},triggerClass:"file-row-icon-button action-overflow-trigger"}),null),d})()};he(["click","pointerdown"]);const se=e=>e!=null&&e.matches("[data-git-item-id]")?e.querySelector(".git-panel-file-main"):null,ut=e=>e.matches(".git-change-hidden-rows")?e.querySelector("button"):null,Ce=(e,o)=>{const b=[];for(let u=e[o];u;u=u[o])b.push(u);return b};function vt(e){var f;const o=document.activeElement;if(!(o instanceof HTMLElement)||!e.contains(o))return;const b=Array.from(e.querySelectorAll("button")).indexOf(o),u=e.parentElement,_=Ce(e,"nextElementSibling"),d=Ce(e,"previousElementSibling"),r=(f=e.closest(".git-change-section"))==null?void 0:f.querySelector(".git-change-section-header");queueMicrotask(()=>{const v=document.activeElement;if(e.isConnected||v&&v!==document.body)return;const x=Array.from((u==null?void 0:u.children)??[]).find(l=>l!==e&&se(l)&&l.dataset.gitItemId===e.dataset.gitItemId),i=[x==null?void 0:x.querySelectorAll("button")[b],se(x??null),..._.map(l=>se(l)??ut(l)),...d.map(se)];for(const l of i)if(!(!(l!=null&&l.isConnected)||l.disabled)&&(l.focus(),document.activeElement===l))return;r!=null&&r.isConnected&&r.focus({preventScroll:!0})})}var mt=A('<p class="p-3 text-xs text-secondary"role=status>'),ft=A("<div class=workspace-tree><div class=workspace-tree-root><strong></strong></div><div role=tree>"),bt=A("<div role=treeitem class=workspace-tree-row><span class=workspace-tree-label>"),yt=A("<span class=workspace-tree-spacer>"),$t=A('<div class="p-3 text-xs text-error"role=alert>: <button>');function St(e){const o=i=>/\.(png|jpe?g|gif|webp|svg|ico|bmp|avif)$/i.test(i)?ct:/\.(md|mdx|txt|rst)$/i.test(i)?at:/\.(tsx?|jsx?|json|ya?ml|css|html|py|rs|sh)$/i.test(i)?nt:Ue;let b;const u=re(()=>{var i;return e.tree.rows().some(l=>l.path===e.tree.state().selected)?e.tree.state().selected:(i=e.tree.rows()[0])==null?void 0:i.path}),_=i=>{var l;return(l=b.querySelector(`[data-path="${CSS.escape(i)}"]`))==null?void 0:l.focus()},d=i=>{e.tree.select(i.path),i.type==="directory"&&e.tree.toggle(i.path)};function r(i,l){var c;if(i.target!==i.currentTarget)return;const h=e.tree.rows(),E=h.findIndex(F=>F.path===l.path),L=document.documentElement.dir==="rtl";if(i.key==="ArrowDown")_(h[Math.min(E+1,h.length-1)].path);else if(i.key==="ArrowUp")_(h[Math.max(E-1,0)].path);else if(i.key==="Home")_(h[0].path);else if(i.key==="End")_(h[h.length-1].path);else if(i.key===(L?"ArrowLeft":"ArrowRight")&&l.type==="directory")e.tree.state().expanded.has(l.path)?((c=h[E+1])==null?void 0:c.parent)===l.path&&_(h[E+1].path):e.tree.toggle(l.path);else if(i.key===(L?"ArrowRight":"ArrowLeft"))l.type==="directory"&&e.tree.state().expanded.has(l.path)?e.tree.toggle(l.path):_(l.parent);else if(i.key==="Enter"||i.key===" ")d(l);else return;i.preventDefault()}const f=async i=>{const l=await Ke(i);xe({category:"copy",message:l?e.t("instanceShell.filesShell.toast.copyPathSuccess"):e.t("instanceShell.filesShell.toast.copyPathError"),variant:l?"success":"error"})},v=async(i,l)=>{try{await Te({target:i,instanceId:e.instanceId,worktreeSlug:e.worktreeSlug,path:l})}catch(h){xe({category:"files",message:e.t("instanceShell.filesShell.toast.openError",{message:h instanceof Error?h.message:String(h)}),variant:"error"})}},x=i=>{const l=[];if(i.type==="file"&&l.push({key:"preview",label:`${e.t("filesPanel.viewer")} · ${i.path}`,get icon(){return a(ue,{class:"w-3.5 h-3.5"})},disabled:!e.canOpen,checked:e.previewPath===i.path,onSelect:()=>e.onOpen(i.path)}),De())if(i.type==="directory"){const h=kt&&i.path.toLowerCase().endsWith(".app");l.push({key:"open-folder",label:e.t(h?"instanceShell.filesShell.actions.showInFolder":"instanceShell.filesShell.actions.openFolder"),get icon(){return a(le,{class:"w-3.5 h-3.5"})},onSelect:()=>v(h?"reveal":"default",i.path)},{key:"open-terminal",label:e.t("instanceShell.filesShell.actions.openTerminal"),get icon(){return a(et,{class:"w-3.5 h-3.5"})},onSelect:()=>v("terminal",i.path)})}else Le&&l.push({key:"open-default",label:e.t({open:"instanceShell.filesShell.actions.openDefault",edit:"instanceShell.filesShell.actions.editDefault",choose:"instanceShell.filesShell.actions.chooseApplication"}[Ct(i.path)]),get icon(){return a(Ze,{class:"w-3.5 h-3.5"})},onSelect:()=>v("default",i.path)}),l.push({key:"show-in-folder",label:e.t("instanceShell.filesShell.actions.showInFolder"),get icon(){return a(le,{class:"w-3.5 h-3.5"})},onSelect:()=>v("reveal",i.path)});return l.push({key:"copy-path",label:e.t("instanceShell.filesShell.actions.copyPath"),get icon(){return a(Je,{class:"w-3.5 h-3.5"})},onSelect:()=>f(i.path)}),l};return(()=>{var i=ft(),l=i.firstChild,h=l.firstChild,E=l.nextSibling;n(l,a(le,{size:15}),h),n(h,()=>e.directory.replace(/\\/g,"/").split("/").pop());var L=b;return typeof L=="function"?J(L,E):b=E,n(E,a(W,{get each(){return e.tree.rows()},children:c=>{const F=c.type==="directory",y=o(c.name),s=()=>e.tree.state().expanded.has(c.path),k=re(()=>x(c));return(()=>{var $=bt(),R=$.firstChild;return $.$$click=()=>d(c),$.$$keydown=C=>r(C,c),$.addEventListener("focus",()=>e.tree.select(c.path)),n($,a(O,{when:F,get fallback(){return yt()},get children(){return a(O,{get when(){return s()},get fallback(){return a(Ae,{size:12})},get children(){return a(Ve,{size:12})}})}}),R),n($,a(O,{when:F,get fallback(){return a(y,{size:14})},get children(){return a(O,{get when(){return s()},get fallback(){return a(Xe,{size:14})},get children(){return a(le,{size:14})}})}}),R),n(R,()=>c.name),n($,a(O,{get when(){return e.tree.busy().has(c.path)},get children(){return a(Ee,{size:12,class:"animate-spin"})}}),null),n($,a(ve,{get items(){return k()},get label(){return e.t("instanceShell.filesShell.actions.more",{name:c.name})}}),null),T(C=>{var G=c.path,H=c.name,K=c.depth,V=F?s():void 0,X=e.tree.state().selected===c.path,Z=`${8+c.depth*14}px`,B=c.path,N=u()===c.path?0:-1;return G!==C.e&&g($,"data-path",C.e=G),H!==C.t&&g($,"aria-label",C.t=H),K!==C.a&&g($,"aria-level",C.a=K),V!==C.o&&g($,"aria-expanded",C.o=V),X!==C.i&&g($,"aria-selected",C.i=X),Z!==C.n&&ee($,"padding-inline-start",C.n=Z),B!==C.s&&g($,"title",C.s=B),N!==C.h&&g($,"tabindex",C.h=N),C},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),$})()}})),n(i,a(W,{get each(){return[...e.tree.errors()]},children:([c,F])=>(()=>{var y=$t(),s=y.firstChild,k=s.nextSibling;return n(y,c,s),n(y,F,k),k.$$click=()=>void e.tree.load(c,!0),n(k,()=>e.t("instanceShell.rightPanel.actions.refresh")),y})()}),null),n(i,a(O,{get when(){return e.tree.busy().has(".")},get children(){var c=mt();return n(c,()=>e.t("instanceInfo.loading")),c}}),null),T(c=>{var F=e.directory,y=e.t("filesPanel.workspace");return F!==c.e&&g(l,"title",c.e=F),y!==c.t&&g(E,"aria-label",c.t=y),c},{e:void 0,t:void 0}),i})()}const Le=typeof navigator<"u"&&/windows/i.test(navigator.userAgent),kt=typeof navigator<"u"&&/macintosh|mac os x/i.test(navigator.userAgent),wt=new Set(["7z","avi","bmp","c","cc","cfg","conf","cpp","cs","css","csv","dart","diff","docx","env","flac","fs","fsx","gif","go","gz","h","hpp","htm","html","ini","java","jpeg","jpg","json","jsonc","jsx","kt","kts","less","lock","log","lua","md","markdown","mkv","mov","mp3","mp4","ogg","patch","pdf","png","pptx","r","rar","rmd","rs","scss","sql","svg","svelte","swift","tar","toml","ts","tsx","txt","vue","wav","webm","webp","xlsx","xml","yaml","yml","zip"]),xt=new Set(["bat","cmd","js","jse","pl","ps1","psd1","psm1","py","pyw","rb","reg","vbe","vbs","wsf","wsh"]);function Ct(e){const o=e.split(/[\\/]/).pop()??"",b=o.lastIndexOf("."),u=b>0?o.slice(b+1).toLowerCase():"";return!Le||u&&wt.has(u)?"open":u&&xt.has(u)?"edit":"choose"}he(["keydown","click"]);var _e=A("<option>"),_t=A("<span class=git-panel-count>"),Ft=A('<div role=alert class="p-3 text-error text-xs">'),de=A('<p class="p-3 text-xs text-secondary">'),It=A('<div class=git-init-empty><p></p><button type=button class="git-change-commit-button git-init-button">'),Fe=A("<button class=git-panel-more>"),At=A("<button class=git-panel-back>"),Et=A('<p class="p-3 text-xs text-secondary"role=status>'),zt=A("<section class=git-panel><header class=git-panel-context><div class=git-panel-branch><strong></strong><button class=files-header-icon-button></button></div><select class=git-panel-worktree></select></header><div class=git-panel-tools><div class=git-panel-switch role=group><button></button><button></button><button></button></div></div><div class=git-panel-body></div><div class=git-panel-body><div><input class=git-panel-filter></div></div><div class=git-panel-body>"),Lt=A("<span class=git-history-refs>"),Ot=A("<button class=git-history-row><span class=git-history-row-content><strong></strong><span class=git-history-meta><span> · </span><code>"),Mt=A("<div class=git-commit-summary><code></code><p></p><span>"),Rt=A("<div class=git-commit-files>"),Dt=A('<div class=git-panel-file-row><button class="git-panel-file git-panel-file-main"><span></span><span>'),Tt=A('<div class=git-change-commit-box role=group><div class=git-change-commit-input-wrap><textarea class=git-change-commit-input rows=1></textarea><button type=button class="git-change-commit-button git-change-commit-button-overlay">'),qt=A('<div class=git-change-hidden-rows><span class=git-change-hidden-rows-label></span><button type=button class="button-secondary git-change-hidden-rows-button">'),Gt=A('<div class="git-drop-zone git-change-section"><button type=button class=git-change-section-header><span class=git-change-section-header-main><span class="git-change-section-chevron disclosure-chevron"></span><span class=git-change-section-title></span></span><span class=git-change-section-count></span></button><div>'),jt=A('<div class=git-panel-file-row><button class="git-panel-file git-panel-file-main"><span class=git-file-status></span><span></span><small><b class=file-list-item-additions>+</b> <b class=file-list-item-deletions>−');const pt=e=>{const o=e.git.gitListItems,[b,u]=ge(""),[_,d]=ge(""),r=s=>{const k=ae(e.instanceId);return!!(k&&k.slug===e.slug&&k.directory===e.directory&&k.path===s.path&&(k.kind??"diff")===(s.kind??"diff")&&k.commit===s.commit&&k.scope===s.scope)},f=s=>{r(s)?Ne(e.instanceId):e.onOpenFile(s)};let v,x=0;const i=s=>{x=(v==null?void 0:v.scrollTop)??0,e.history.select(s)},l=()=>{e.history.back(),requestAnimationFrame(()=>{v!=null&&v.isConnected&&(v.scrollTop=x)})},h=re(()=>{var s;return(((s=e.history.page())==null?void 0:s.commits)??[]).filter(k=>`${k.subject} ${k.author} ${k.id}`.toLowerCase().includes(b().toLowerCase()))}),E=({draggable:s,droppable:k})=>{if(!k)return;const $=String(k.id);if($!=="staged"&&$!=="unstaged")return;const R=o().find(C=>C.id===String(s.id));!R||R.section===$||($==="staged"?e.git.stageGitFile(R):e.git.unstageGitFile(R))},L=()=>e.mode==="workspace"?e.tree.busy().size>0:e.mode==="history"?e.history.loading()||e.history.detailLoading():e.git.gitStatusLoading(),c=()=>e.mode==="workspace"||!e.gitAvailable?null:e.mode==="history"?e.history.error():e.git.gitStatusError(),F=s=>s.replace(/\\/g,"/").split("/").pop()||s,y=s=>new Date(s).toLocaleDateString(document.documentElement.lang||void 0,{month:"short",day:"numeric"});return(()=>{var s=zt(),k=s.firstChild,$=k.firstChild,R=$.firstChild,C=R.nextSibling,G=$.nextSibling,H=k.nextSibling,K=H.firstChild,V=K.firstChild,X=V.nextSibling,Z=X.nextSibling,B=H.nextSibling,N=B.nextSibling,Q=N.firstChild,ie=Q.firstChild,me=N.nextSibling;n($,a(we,{size:16}),R),n(R,(()=>{var t=U(()=>!!e.gitAvailable);return()=>t()?e.branch||e.t("gitPanel.detached"):F(e.directory)})()),C.$$click=()=>{e.mode==="workspace"?e.tree.refresh():e.gitAvailable?e.mode==="history"?e.history.refresh():e.git.refreshGitStatus():e.gitInit.recheck()},n(C,a(Ee,{size:14,get class(){return L()?"animate-spin":""}})),G.addEventListener("change",t=>e.onWorktreeChange(t.currentTarget.value)),n(G,a(O,{get when(){return!e.worktrees.some(t=>t.slug===e.slug)},get children(){var t=_e();return n(t,()=>F(e.directory)),T(()=>t.value=e.slug),t}}),null),n(G,a(W,{get each(){return e.worktrees},children:t=>(()=>{var S=_e();return n(S,()=>F(t.directory),null),n(S,(()=>{var m=U(()=>!!e.gitAvailable);return()=>m()?` · ${t.branch||e.t("gitPanel.detached")}`:""})(),null),T(()=>S.value=t.slug),S})()}),null),V.$$click=()=>e.onModeChange("workspace"),n(V,()=>e.t("filesPanel.workspace")),X.$$click=()=>e.onModeChange("changes"),n(X,()=>e.t("gitPanel.changes")),Z.$$click=()=>e.onModeChange("history"),n(Z,()=>e.t("filesPanel.commits")),n(H,a(O,{get when(){return U(()=>!!(e.gitAvailable&&e.mode==="changes"))()&&e.git.gitStatusEntries()},get children(){var t=_t();return n(t,()=>{var S;return e.t("gitPanel.files",{count:((S=e.git.gitStatusEntries())==null?void 0:S.length)??0})}),t}}),null),n(s,a(O,{get when(){return c()},get children(){var t=Ft();return n(t,c),t}}),B),n(s,a(O,{get when(){return!e.canOpenFile},get children(){var t=de();return n(t,()=>e.t("instanceShell.gitChanges.noSessionSelected")),t}}),B),n(B,a(St,{get tree(){return e.tree},get t(){return e.t},get directory(){return e.directory},get instanceId(){return e.instanceId},get worktreeSlug(){return e.slug},get canOpen(){return e.canOpenFile},get previewPath(){var t;return U(()=>{var S,m;return((S=ae(e.instanceId))==null?void 0:S.kind)==="workspace"&&((m=ae(e.instanceId))==null?void 0:m.slug)===e.slug})()?(t=ae(e.instanceId))==null?void 0:t.path:void 0},onOpen:t=>f({kind:"workspace",path:t})})),n(s,a(O,{get when(){return U(()=>!e.gitAvailable)()&&e.mode!=="workspace"},get children(){var t=It(),S=t.firstChild,m=S.nextSibling;return n(S,()=>e.t("filesPanel.gitInit.notRepository")),m.$$click=()=>void e.gitInit.initialize(),n(m,a(we,{size:14,"aria-hidden":"true"}),null),n(m,()=>e.t(e.gitInit.pending()?"filesPanel.gitInit.pending":"filesPanel.gitInit.action"),null),T(I=>{var D=e.gitInit.pending(),w=e.gitInit.pending(),M=e.directory;return D!==I.e&&(m.disabled=I.e=D),w!==I.t&&g(m,"aria-busy",I.t=w),M!==I.a&&g(m,"title",I.a=M),I},{e:void 0,t:void 0,a:void 0}),t}}),N);var fe=v;return typeof fe=="function"?J(fe,N):v=N,ie.$$input=t=>u(t.currentTarget.value),n(Q,a(W,{get each(){return h()},children:t=>(()=>{var S=Ot(),m=S.firstChild,I=m.firstChild,D=I.nextSibling,w=D.firstChild,M=w.firstChild,j=w.nextSibling;return S.$$click=()=>i(t.id),n(S,a(st,{class:"git-history-mark",size:16}),m),n(I,()=>t.subject),n(m,a(O,{get when(){return t.refs},get children(){var z=Lt();return n(z,()=>t.refs),T(()=>g(z,"title",t.refs)),z}}),D),n(w,()=>t.author,M),n(w,()=>y(t.date),null),n(j,()=>t.id.slice(0,7)),S})()}),null),n(Q,a(O,{get when(){return U(()=>!L())()&&h().length===0},get children(){var t=de();return n(t,()=>e.t("gitPanel.emptyHistory")),t}}),null),n(Q,a(O,{get when(){var t;return(t=e.history.page())==null?void 0:t.hasMore},get children(){var t=Fe();return t.$$click=()=>void e.history.refresh(!0),n(t,()=>e.t("gitPanel.more")),T(()=>t.disabled=L()),t}}),null),n(N,a(O,{get when(){return e.history.selected()},get children(){return[(()=>{var t=At();return t.$$click=l,n(t,a(Qe,{size:14}),null),n(t,()=>e.t("filesPanel.commits"),null),t})(),a(O,{get when(){return e.history.details()},children:t=>[(()=>{var S=Mt(),m=S.firstChild,I=m.nextSibling,D=I.nextSibling;return n(m,()=>t().id.slice(0,8)),n(I,()=>t().message),n(D,()=>e.t("gitPanel.files",{count:t().files.length})),S})(),(()=>{var S=Rt();return n(S,a(W,{get each(){return t().files},children:m=>{const I=()=>({path:m.path,commit:t().id,subject:t().message.split(`
|
|
1
|
+
import{t as A,i as n,d as g,u as J,e as he,g as ee,m as U,a as Oe,s as Me}from"./monaco-viewer-CtxFhd10.js";import{k as a,p as ce,o as Ie,n as Re,F as W,c as T,a as re,S as O,e as ge,t as ke}from"./git-diff-vendor-CINvIzmQ.js";import{a5 as ue,a6 as De,a7 as Te,a8 as we,a9 as ae,aa as qe,ab as Ge,ac as je,ad as Ne,ae as We,af as He,ag as Be}from"./App-7u0r589J.js";import{I as oe,bL as Pe,aI as le,gf as Ue,bw as Ve,C as Ae,F as Xe,b3 as Ee,aM as Ze,bo as Je,a as xe,bp as Ke,bc as Qe,gg as Ye,Z as pe}from"./main-CSjPT-d2.js";import{T as et}from"./terminal-square-CBQGNjjn.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./index-BB2Eo5pO.js";import"./client-state-Dbg3RTSW.js";import"./client-state-_VkciMC3.js";import"./CodeNomad-Icon-DTDWwXip.js";const tt=[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m10 13-2 2 2 2",key:"17smn8"}],["path",{d:"m14 17 2-2-2-2",key:"14mezr"}]],nt=e=>a(oe,ce(e,{name:"FileCode",iconNode:tt})),it=[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]],at=e=>a(oe,ce(e,{name:"FileText",iconNode:it})),lt=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],st=e=>a(oe,ce(e,{name:"GitCommitHorizontal",iconNode:lt})),rt=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ct=e=>a(oe,ce(e,{name:"Image",iconNode:rt})),p=e=>Number.parseFloat(e)||0,te=new Set;let ne=0;function ot(e){te.add(e),!ne&&(ne=requestAnimationFrame(()=>{ne=0;const o=[...te];te.clear();const b=o.map(u=>u());for(const u of b)u==null||u()}))}function ze(e){var d;if(e.matches(".action-overflow-trigger"))return 0;const o=getComputedStyle(e);if(o.display==="none")return 0;if(e instanceof SVGElement||e.matches("button:not(.git-panel-file-main), .workspace-tree-spacer"))return e.getBoundingClientRect().width;const b=[];for(const r of e.childNodes)if(r instanceof Element)b.push(ze(r));else if(r.nodeType===Node.TEXT_NODE&&((d=r.textContent)!=null&&d.trim())){const f=document.createRange();f.selectNode(r),b.push(f.getBoundingClientRect().width)}const u=b.filter(r=>r>0),_=o.flexDirection==="column";return(_?Math.max(0,...u):u.reduce((r,f)=>r+f,0))+(_?0:Math.max(0,u.length-1)*p(o.columnGap))+p(o.paddingLeft)+p(o.paddingRight)+p(o.borderLeftWidth)+p(o.borderRightWidth)}function dt(e){var f;const o=e.parentElement;if(!o)return;let b=!1;const u=()=>{if(b||!e.isConnected||!o.getBoundingClientRect().width)return;const v=e.querySelector(".action-overflow-trigger"),x=e.querySelector(".file-row-inline-actions");if(!v||!x)return;const i=ze(o),l=o.getBoundingClientRect().width,h=v.hasAttribute("data-expanded")||i>l+.5;if(e.dataset.compact===String(h))return;const E=document.activeElement,L=E instanceof Element&&e.contains(E)&&E.matches(".file-row-inline-actions button, .action-overflow-trigger");return()=>{b||!e.isConnected||(e.dataset.compact=String(h),x.inert=h,L&&queueMicrotask(()=>{if(b||!e.isConnected)return;const c=h?v:e.querySelector(".file-row-inline-actions button:not(:disabled)");c==null||c.focus({preventScroll:!0})}))}},_=()=>{b||ot(u)},d=new ResizeObserver(_);d.observe(o),d.observe(e);const r=new MutationObserver(_);r.observe(o,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["data-expanded"]}),(f=document.fonts)==null||f.addEventListener("loadingdone",_),_(),Ie(()=>{var v;b=!0,te.delete(u),te.size||(cancelAnimationFrame(ne),ne=0),d.disconnect(),r.disconnect(),(v=document.fonts)==null||v.removeEventListener("loadingdone",_)})}var gt=A("<button type=button class=file-row-icon-button>"),ht=A("<span class=file-row-actions data-compact=false><span class=file-row-pinned-actions></span><span class=file-row-inline-actions>");const ve=e=>{let o;Re(()=>dt(o));const b=()=>e.items.filter(d=>typeof d.checked=="boolean"),u=()=>e.items.filter(d=>typeof d.checked!="boolean"),_=d=>(()=>{var r=gt();return r.$$click=()=>void d.onSelect(),n(r,()=>d.icon),T(f=>{var v=typeof d.checked=="boolean",x=d.label,i=d.label,l=d.checked,h=d.disabled;return v!==f.e&&r.classList.toggle("icon-toggle",f.e=v),x!==f.t&&g(r,"title",f.t=x),i!==f.a&&g(r,"aria-label",f.a=i),l!==f.o&&g(r,"aria-pressed",f.o=l),h!==f.i&&(r.disabled=f.i=h),f},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r})();return(()=>{var d=ht(),r=d.firstChild,f=r.nextSibling;d.$$pointerdown=x=>x.stopPropagation(),d.$$click=x=>x.stopPropagation();var v=o;return typeof v=="function"?J(v,d):o=d,n(r,a(W,{get each(){return b()},children:_})),n(f,a(W,{get each(){return u()},children:_})),n(d,a(Pe,{get items(){return u()},get label(){return e.label},triggerClass:"file-row-icon-button action-overflow-trigger"}),null),d})()};he(["click","pointerdown"]);const se=e=>e!=null&&e.matches("[data-git-item-id]")?e.querySelector(".git-panel-file-main"):null,ut=e=>e.matches(".git-change-hidden-rows")?e.querySelector("button"):null,Ce=(e,o)=>{const b=[];for(let u=e[o];u;u=u[o])b.push(u);return b};function vt(e){var f;const o=document.activeElement;if(!(o instanceof HTMLElement)||!e.contains(o))return;const b=Array.from(e.querySelectorAll("button")).indexOf(o),u=e.parentElement,_=Ce(e,"nextElementSibling"),d=Ce(e,"previousElementSibling"),r=(f=e.closest(".git-change-section"))==null?void 0:f.querySelector(".git-change-section-header");queueMicrotask(()=>{const v=document.activeElement;if(e.isConnected||v&&v!==document.body)return;const x=Array.from((u==null?void 0:u.children)??[]).find(l=>l!==e&&se(l)&&l.dataset.gitItemId===e.dataset.gitItemId),i=[x==null?void 0:x.querySelectorAll("button")[b],se(x??null),..._.map(l=>se(l)??ut(l)),...d.map(se)];for(const l of i)if(!(!(l!=null&&l.isConnected)||l.disabled)&&(l.focus(),document.activeElement===l))return;r!=null&&r.isConnected&&r.focus({preventScroll:!0})})}var mt=A('<p class="p-3 text-xs text-secondary"role=status>'),ft=A("<div class=workspace-tree><div class=workspace-tree-root><strong></strong></div><div role=tree>"),bt=A("<div role=treeitem class=workspace-tree-row><span class=workspace-tree-label>"),yt=A("<span class=workspace-tree-spacer>"),$t=A('<div class="p-3 text-xs text-error"role=alert>: <button>');function St(e){const o=i=>/\.(png|jpe?g|gif|webp|svg|ico|bmp|avif)$/i.test(i)?ct:/\.(md|mdx|txt|rst)$/i.test(i)?at:/\.(tsx?|jsx?|json|ya?ml|css|html|py|rs|sh)$/i.test(i)?nt:Ue;let b;const u=re(()=>{var i;return e.tree.rows().some(l=>l.path===e.tree.state().selected)?e.tree.state().selected:(i=e.tree.rows()[0])==null?void 0:i.path}),_=i=>{var l;return(l=b.querySelector(`[data-path="${CSS.escape(i)}"]`))==null?void 0:l.focus()},d=i=>{e.tree.select(i.path),i.type==="directory"&&e.tree.toggle(i.path)};function r(i,l){var c;if(i.target!==i.currentTarget)return;const h=e.tree.rows(),E=h.findIndex(F=>F.path===l.path),L=document.documentElement.dir==="rtl";if(i.key==="ArrowDown")_(h[Math.min(E+1,h.length-1)].path);else if(i.key==="ArrowUp")_(h[Math.max(E-1,0)].path);else if(i.key==="Home")_(h[0].path);else if(i.key==="End")_(h[h.length-1].path);else if(i.key===(L?"ArrowLeft":"ArrowRight")&&l.type==="directory")e.tree.state().expanded.has(l.path)?((c=h[E+1])==null?void 0:c.parent)===l.path&&_(h[E+1].path):e.tree.toggle(l.path);else if(i.key===(L?"ArrowRight":"ArrowLeft"))l.type==="directory"&&e.tree.state().expanded.has(l.path)?e.tree.toggle(l.path):_(l.parent);else if(i.key==="Enter"||i.key===" ")d(l);else return;i.preventDefault()}const f=async i=>{const l=await Ke(i);xe({category:"copy",message:l?e.t("instanceShell.filesShell.toast.copyPathSuccess"):e.t("instanceShell.filesShell.toast.copyPathError"),variant:l?"success":"error"})},v=async(i,l)=>{try{await Te({target:i,instanceId:e.instanceId,worktreeSlug:e.worktreeSlug,path:l})}catch(h){xe({category:"files",message:e.t("instanceShell.filesShell.toast.openError",{message:h instanceof Error?h.message:String(h)}),variant:"error"})}},x=i=>{const l=[];if(i.type==="file"&&l.push({key:"preview",label:`${e.t("filesPanel.viewer")} · ${i.path}`,get icon(){return a(ue,{class:"w-3.5 h-3.5"})},disabled:!e.canOpen,checked:e.previewPath===i.path,onSelect:()=>e.onOpen(i.path)}),De())if(i.type==="directory"){const h=kt&&i.path.toLowerCase().endsWith(".app");l.push({key:"open-folder",label:e.t(h?"instanceShell.filesShell.actions.showInFolder":"instanceShell.filesShell.actions.openFolder"),get icon(){return a(le,{class:"w-3.5 h-3.5"})},onSelect:()=>v(h?"reveal":"default",i.path)},{key:"open-terminal",label:e.t("instanceShell.filesShell.actions.openTerminal"),get icon(){return a(et,{class:"w-3.5 h-3.5"})},onSelect:()=>v("terminal",i.path)})}else Le&&l.push({key:"open-default",label:e.t({open:"instanceShell.filesShell.actions.openDefault",edit:"instanceShell.filesShell.actions.editDefault",choose:"instanceShell.filesShell.actions.chooseApplication"}[Ct(i.path)]),get icon(){return a(Ze,{class:"w-3.5 h-3.5"})},onSelect:()=>v("default",i.path)}),l.push({key:"show-in-folder",label:e.t("instanceShell.filesShell.actions.showInFolder"),get icon(){return a(le,{class:"w-3.5 h-3.5"})},onSelect:()=>v("reveal",i.path)});return l.push({key:"copy-path",label:e.t("instanceShell.filesShell.actions.copyPath"),get icon(){return a(Je,{class:"w-3.5 h-3.5"})},onSelect:()=>f(i.path)}),l};return(()=>{var i=ft(),l=i.firstChild,h=l.firstChild,E=l.nextSibling;n(l,a(le,{size:15}),h),n(h,()=>e.directory.replace(/\\/g,"/").split("/").pop());var L=b;return typeof L=="function"?J(L,E):b=E,n(E,a(W,{get each(){return e.tree.rows()},children:c=>{const F=c.type==="directory",y=o(c.name),s=()=>e.tree.state().expanded.has(c.path),k=re(()=>x(c));return(()=>{var $=bt(),R=$.firstChild;return $.$$click=()=>d(c),$.$$keydown=C=>r(C,c),$.addEventListener("focus",()=>e.tree.select(c.path)),n($,a(O,{when:F,get fallback(){return yt()},get children(){return a(O,{get when(){return s()},get fallback(){return a(Ae,{size:12})},get children(){return a(Ve,{size:12})}})}}),R),n($,a(O,{when:F,get fallback(){return a(y,{size:14})},get children(){return a(O,{get when(){return s()},get fallback(){return a(Xe,{size:14})},get children(){return a(le,{size:14})}})}}),R),n(R,()=>c.name),n($,a(O,{get when(){return e.tree.busy().has(c.path)},get children(){return a(Ee,{size:12,class:"animate-spin"})}}),null),n($,a(ve,{get items(){return k()},get label(){return e.t("instanceShell.filesShell.actions.more",{name:c.name})}}),null),T(C=>{var G=c.path,H=c.name,K=c.depth,V=F?s():void 0,X=e.tree.state().selected===c.path,Z=`${8+c.depth*14}px`,B=c.path,N=u()===c.path?0:-1;return G!==C.e&&g($,"data-path",C.e=G),H!==C.t&&g($,"aria-label",C.t=H),K!==C.a&&g($,"aria-level",C.a=K),V!==C.o&&g($,"aria-expanded",C.o=V),X!==C.i&&g($,"aria-selected",C.i=X),Z!==C.n&&ee($,"padding-inline-start",C.n=Z),B!==C.s&&g($,"title",C.s=B),N!==C.h&&g($,"tabindex",C.h=N),C},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),$})()}})),n(i,a(W,{get each(){return[...e.tree.errors()]},children:([c,F])=>(()=>{var y=$t(),s=y.firstChild,k=s.nextSibling;return n(y,c,s),n(y,F,k),k.$$click=()=>void e.tree.load(c,!0),n(k,()=>e.t("instanceShell.rightPanel.actions.refresh")),y})()}),null),n(i,a(O,{get when(){return e.tree.busy().has(".")},get children(){var c=mt();return n(c,()=>e.t("instanceInfo.loading")),c}}),null),T(c=>{var F=e.directory,y=e.t("filesPanel.workspace");return F!==c.e&&g(l,"title",c.e=F),y!==c.t&&g(E,"aria-label",c.t=y),c},{e:void 0,t:void 0}),i})()}const Le=typeof navigator<"u"&&/windows/i.test(navigator.userAgent),kt=typeof navigator<"u"&&/macintosh|mac os x/i.test(navigator.userAgent),wt=new Set(["7z","avi","bmp","c","cc","cfg","conf","cpp","cs","css","csv","dart","diff","docx","env","flac","fs","fsx","gif","go","gz","h","hpp","htm","html","ini","java","jpeg","jpg","json","jsonc","jsx","kt","kts","less","lock","log","lua","md","markdown","mkv","mov","mp3","mp4","ogg","patch","pdf","png","pptx","r","rar","rmd","rs","scss","sql","svg","svelte","swift","tar","toml","ts","tsx","txt","vue","wav","webm","webp","xlsx","xml","yaml","yml","zip"]),xt=new Set(["bat","cmd","js","jse","pl","ps1","psd1","psm1","py","pyw","rb","reg","vbe","vbs","wsf","wsh"]);function Ct(e){const o=e.split(/[\\/]/).pop()??"",b=o.lastIndexOf("."),u=b>0?o.slice(b+1).toLowerCase():"";return!Le||u&&wt.has(u)?"open":u&&xt.has(u)?"edit":"choose"}he(["keydown","click"]);var _e=A("<option>"),_t=A("<span class=git-panel-count>"),Ft=A('<div role=alert class="p-3 text-error text-xs">'),de=A('<p class="p-3 text-xs text-secondary">'),It=A('<div class=git-init-empty><p></p><button type=button class="git-change-commit-button git-init-button">'),Fe=A("<button class=git-panel-more>"),At=A("<button class=git-panel-back>"),Et=A('<p class="p-3 text-xs text-secondary"role=status>'),zt=A("<section class=git-panel><header class=git-panel-context><div class=git-panel-branch><strong></strong><button class=files-header-icon-button></button></div><select class=git-panel-worktree></select></header><div class=git-panel-tools><div class=git-panel-switch role=group><button></button><button></button><button></button></div></div><div class=git-panel-body></div><div class=git-panel-body><div><input class=git-panel-filter></div></div><div class=git-panel-body>"),Lt=A("<span class=git-history-refs>"),Ot=A("<button class=git-history-row><span class=git-history-row-content><strong></strong><span class=git-history-meta><span> · </span><code>"),Mt=A("<div class=git-commit-summary><code></code><p></p><span>"),Rt=A("<div class=git-commit-files>"),Dt=A('<div class=git-panel-file-row><button class="git-panel-file git-panel-file-main"><span></span><span>'),Tt=A('<div class=git-change-commit-box role=group><div class=git-change-commit-input-wrap><textarea class=git-change-commit-input rows=1></textarea><button type=button class="git-change-commit-button git-change-commit-button-overlay">'),qt=A('<div class=git-change-hidden-rows><span class=git-change-hidden-rows-label></span><button type=button class="button-secondary git-change-hidden-rows-button">'),Gt=A('<div class="git-drop-zone git-change-section"><button type=button class=git-change-section-header><span class=git-change-section-header-main><span class="git-change-section-chevron disclosure-chevron"></span><span class=git-change-section-title></span></span><span class=git-change-section-count></span></button><div>'),jt=A('<div class=git-panel-file-row><button class="git-panel-file git-panel-file-main"><span class=git-file-status></span><span></span><small><b class=file-list-item-additions>+</b> <b class=file-list-item-deletions>−');const pt=e=>{const o=e.git.gitListItems,[b,u]=ge(""),[_,d]=ge(""),r=s=>{const k=ae(e.instanceId);return!!(k&&k.slug===e.slug&&k.directory===e.directory&&k.path===s.path&&(k.kind??"diff")===(s.kind??"diff")&&k.commit===s.commit&&k.scope===s.scope)},f=s=>{r(s)?Ne(e.instanceId):e.onOpenFile(s)};let v,x=0;const i=s=>{x=(v==null?void 0:v.scrollTop)??0,e.history.select(s)},l=()=>{e.history.back(),requestAnimationFrame(()=>{v!=null&&v.isConnected&&(v.scrollTop=x)})},h=re(()=>{var s;return(((s=e.history.page())==null?void 0:s.commits)??[]).filter(k=>`${k.subject} ${k.author} ${k.id}`.toLowerCase().includes(b().toLowerCase()))}),E=({draggable:s,droppable:k})=>{if(!k)return;const $=String(k.id);if($!=="staged"&&$!=="unstaged")return;const R=o().find(C=>C.id===String(s.id));!R||R.section===$||($==="staged"?e.git.stageGitFile(R):e.git.unstageGitFile(R))},L=()=>e.mode==="workspace"?e.tree.busy().size>0:e.mode==="history"?e.history.loading()||e.history.detailLoading():e.git.gitStatusLoading(),c=()=>e.mode==="workspace"||!e.gitAvailable?null:e.mode==="history"?e.history.error():e.git.gitStatusError(),F=s=>s.replace(/\\/g,"/").split("/").pop()||s,y=s=>new Date(s).toLocaleDateString(document.documentElement.lang||void 0,{month:"short",day:"numeric"});return(()=>{var s=zt(),k=s.firstChild,$=k.firstChild,R=$.firstChild,C=R.nextSibling,G=$.nextSibling,H=k.nextSibling,K=H.firstChild,V=K.firstChild,X=V.nextSibling,Z=X.nextSibling,B=H.nextSibling,N=B.nextSibling,Q=N.firstChild,ie=Q.firstChild,me=N.nextSibling;n($,a(we,{size:16}),R),n(R,(()=>{var t=U(()=>!!e.gitAvailable);return()=>t()?e.branch||e.t("gitPanel.detached"):F(e.directory)})()),C.$$click=()=>{e.mode==="workspace"?e.tree.refresh():e.gitAvailable?e.mode==="history"?e.history.refresh():e.git.refreshGitStatus():e.gitInit.recheck()},n(C,a(Ee,{size:14,get class(){return L()?"animate-spin":""}})),G.addEventListener("change",t=>e.onWorktreeChange(t.currentTarget.value)),n(G,a(O,{get when(){return!e.worktrees.some(t=>t.slug===e.slug)},get children(){var t=_e();return n(t,()=>F(e.directory)),T(()=>t.value=e.slug),t}}),null),n(G,a(W,{get each(){return e.worktrees},children:t=>(()=>{var S=_e();return n(S,()=>F(t.directory),null),n(S,(()=>{var m=U(()=>!!e.gitAvailable);return()=>m()?` · ${t.branch||e.t("gitPanel.detached")}`:""})(),null),T(()=>S.value=t.slug),S})()}),null),V.$$click=()=>e.onModeChange("workspace"),n(V,()=>e.t("filesPanel.workspace")),X.$$click=()=>e.onModeChange("changes"),n(X,()=>e.t("gitPanel.changes")),Z.$$click=()=>e.onModeChange("history"),n(Z,()=>e.t("filesPanel.commits")),n(H,a(O,{get when(){return U(()=>!!(e.gitAvailable&&e.mode==="changes"))()&&e.git.gitStatusEntries()},get children(){var t=_t();return n(t,()=>{var S;return e.t("gitPanel.files",{count:((S=e.git.gitStatusEntries())==null?void 0:S.length)??0})}),t}}),null),n(s,a(O,{get when(){return c()},get children(){var t=Ft();return n(t,c),t}}),B),n(s,a(O,{get when(){return!e.canOpenFile},get children(){var t=de();return n(t,()=>e.t("instanceShell.gitChanges.noSessionSelected")),t}}),B),n(B,a(St,{get tree(){return e.tree},get t(){return e.t},get directory(){return e.directory},get instanceId(){return e.instanceId},get worktreeSlug(){return e.slug},get canOpen(){return e.canOpenFile},get previewPath(){var t;return U(()=>{var S,m;return((S=ae(e.instanceId))==null?void 0:S.kind)==="workspace"&&((m=ae(e.instanceId))==null?void 0:m.slug)===e.slug})()?(t=ae(e.instanceId))==null?void 0:t.path:void 0},onOpen:t=>f({kind:"workspace",path:t})})),n(s,a(O,{get when(){return U(()=>!e.gitAvailable)()&&e.mode!=="workspace"},get children(){var t=It(),S=t.firstChild,m=S.nextSibling;return n(S,()=>e.t("filesPanel.gitInit.notRepository")),m.$$click=()=>void e.gitInit.initialize(),n(m,a(we,{size:14,"aria-hidden":"true"}),null),n(m,()=>e.t(e.gitInit.pending()?"filesPanel.gitInit.pending":"filesPanel.gitInit.action"),null),T(I=>{var D=e.gitInit.pending(),w=e.gitInit.pending(),M=e.directory;return D!==I.e&&(m.disabled=I.e=D),w!==I.t&&g(m,"aria-busy",I.t=w),M!==I.a&&g(m,"title",I.a=M),I},{e:void 0,t:void 0,a:void 0}),t}}),N);var fe=v;return typeof fe=="function"?J(fe,N):v=N,ie.$$input=t=>u(t.currentTarget.value),n(Q,a(W,{get each(){return h()},children:t=>(()=>{var S=Ot(),m=S.firstChild,I=m.firstChild,D=I.nextSibling,w=D.firstChild,M=w.firstChild,j=w.nextSibling;return S.$$click=()=>i(t.id),n(S,a(st,{class:"git-history-mark",size:16}),m),n(I,()=>t.subject),n(m,a(O,{get when(){return t.refs},get children(){var z=Lt();return n(z,()=>t.refs),T(()=>g(z,"title",t.refs)),z}}),D),n(w,()=>t.author,M),n(w,()=>y(t.date),null),n(j,()=>t.id.slice(0,7)),S})()}),null),n(Q,a(O,{get when(){return U(()=>!L())()&&h().length===0},get children(){var t=de();return n(t,()=>e.t("gitPanel.emptyHistory")),t}}),null),n(Q,a(O,{get when(){var t;return(t=e.history.page())==null?void 0:t.hasMore},get children(){var t=Fe();return t.$$click=()=>void e.history.refresh(!0),n(t,()=>e.t("gitPanel.more")),T(()=>t.disabled=L()),t}}),null),n(N,a(O,{get when(){return e.history.selected()},get children(){return[(()=>{var t=At();return t.$$click=l,n(t,a(Qe,{size:14}),null),n(t,()=>e.t("filesPanel.commits"),null),t})(),a(O,{get when(){return e.history.details()},children:t=>[(()=>{var S=Mt(),m=S.firstChild,I=m.nextSibling,D=I.nextSibling;return n(m,()=>t().id.slice(0,8)),n(I,()=>t().message),n(D,()=>e.t("gitPanel.files",{count:t().files.length})),S})(),(()=>{var S=Rt();return n(S,a(W,{get each(){return t().files},children:m=>{const I=()=>({path:m.path,commit:t().id,subject:t().message.split(`
|
|
2
2
|
`)[0]});return(()=>{var D=Dt(),w=D.firstChild,M=w.firstChild,j=M.nextSibling;return w.$$click=()=>d(`${t().id}:${m.path}`),n(M,()=>m.status),n(j,()=>m.path),n(D,a(ve,{get label(){return e.t("instanceShell.filesShell.actions.more",{name:m.path})},get items(){return[{key:"preview",label:`${e.t("filesPanel.viewer")} · ${m.path}`,icon:a(ue,{size:14}),checked:r(I()),disabled:!e.canOpenFile,onSelect:()=>f(I())}]}}),null),T(z=>{var q=_()===`${t().id}:${m.path}`,P=m.originalPath?`${m.originalPath} → ${m.path}`:m.path,Y=`git-file-status git-file-status-${m.status}`;return q!==z.e&&D.classList.toggle("git-panel-file-selected",z.e=q),P!==z.t&&g(w,"title",z.t=P),Y!==z.a&&Oe(M,z.a=Y),z},{e:void 0,t:void 0,a:void 0}),D})()}})),S})()]})]}}),null),n(N,a(O,{get when(){return L()},get children(){var t=Et();return n(t,()=>e.t("instanceInfo.loading")),t}}),null),n(me,a(je,{collisionDetector:qe,onDragEnd:E,get children(){return a(Ge,{get children(){return[a(O,{get when(){return o().length===0},get children(){var t=de();return n(t,(()=>{var S=U(()=>!!e.git.gitStatusLoading());return()=>S()?e.t("instanceInfo.loading"):e.t("instanceShell.gitChanges.empty")})()),t}}),a(W,{each:["staged","unstaged"],children:t=>a(Nt,{get t(){return e.t},section:t,get git(){return e.git},get canOpenFile(){return e.canOpenFile},onOpenFile:f,previewActive:r,get children(){return a(O,{when:t==="staged",get children(){var S=Tt(),m=S.firstChild,I=m.firstChild,D=I.nextSibling;return n(S,a(W,{each:["staged","unstaged"],children:w=>{const M=re(()=>e.git.gitActionItems().filter(z=>z.section===w)),j=w==="staged"?"unstage":"stage";return a(O,{get when(){return M().length>0},get children(){var z=Fe();return z.$$click=()=>{const q=M()[0];q&&(w==="staged"?e.git.unstageGitFile(q):e.git.stageGitFile(q))},n(z,(()=>{var q=U(()=>M().length>1);return()=>{var P;return q()?e.t(`instanceShell.gitChanges.actions.${j}Selected`,{count:M().length}):`${e.t(`instanceShell.gitChanges.actions.${j}`)} · ${((P=M()[0])==null?void 0:P.path)??""}`}})()),T(()=>g(z,"title",M().map(q=>q.path).join(`
|
|
3
|
-
`))),z}})}}),m),I.$$input=w=>e.git.setGitCommitMessage(w.currentTarget.value),D.$$click=()=>void e.git.submitGitCommit(),n(D,()=>e.t(e.git.gitCommitSubmitting()?"instanceShell.gitChanges.commit.submitting":"instanceShell.gitChanges.commit.submit")),T(w=>{var M=e.t("gitPanel.actions"),j=e.t("instanceShell.gitChanges.commit.placeholder"),z=e.t("instanceShell.gitChanges.commit.placeholder"),q=!e.git.gitCommitMessage().trim()||e.git.gitChangeWindow("staged").total===0||e.git.gitCommitSubmitting();return M!==w.e&&g(S,"aria-label",w.e=M),j!==w.t&&g(I,"aria-label",w.t=j),z!==w.a&&g(I,"placeholder",w.a=z),q!==w.o&&(D.disabled=w.o=q),w},{e:void 0,t:void 0,a:void 0,o:void 0}),T(()=>I.value=e.git.gitCommitMessage()),S}})}})})]}})}})),T(t=>{var S=e.t("instanceShell.rightPanel.tabs.files"),m=e.t("instanceShell.rightPanel.actions.refresh"),I=L(),D=e.t("gitPanel.worktree"),w=e.directory,M=e.t("instanceShell.rightPanel.tabs.files"),j=e.mode==="workspace",z=e.mode==="changes",q=e.mode==="history",P=e.mode==="workspace"?void 0:"none",Y=e.gitAvailable&&e.mode==="history"?void 0:"none",be=e.history.selected()?"none":void 0,ye=e.t("gitPanel.filter"),$e=e.t("gitPanel.filter"),Se=e.gitAvailable&&e.mode==="changes"?void 0:"none";return S!==t.e&&g(s,"aria-label",t.e=S),m!==t.t&&g(C,"aria-label",t.t=m),I!==t.a&&(C.disabled=t.a=I),D!==t.o&&g(G,"aria-label",t.o=D),w!==t.i&&g(G,"title",t.i=w),M!==t.n&&g(K,"aria-label",t.n=M),j!==t.s&&g(V,"aria-pressed",t.s=j),z!==t.h&&g(X,"aria-pressed",t.h=z),q!==t.r&&g(Z,"aria-pressed",t.r=q),P!==t.d&&ee(B,"display",t.d=P),Y!==t.l&&ee(N,"display",t.l=Y),be!==t.u&&ee(Q,"display",t.u=be),ye!==t.c&&g(ie,"aria-label",t.c=ye),$e!==t.w&&g(ie,"placeholder",t.w=$e),Se!==t.m&&ee(me,"display",t.m=Se),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0}),T(()=>G.value=e.slug),T(()=>ie.value=b()),s})()},Nt=e=>{const o=We(e.section),[b,u]=ge(!0),_=ke(),d=ke(),r=()=>e.git.gitChangeWindow(e.section),f=i=>i.toLocaleString(document.documentElement.lang||void 0);let v;const x=i=>{var L;const l=r().firstHiddenId,h=document.activeElement===i;if(e.git.revealGitChanges(e.section),!h||!l)return;const E=Array.from(v.querySelectorAll("[data-git-item-id]")).find(c=>c.dataset.gitItemId===l);(L=E==null?void 0:E.querySelector("button:enabled"))==null||L.focus({preventScroll:!0})};return(()=>{var i=Gt(),l=i.firstChild,h=l.firstChild,E=h.firstChild,L=E.nextSibling,c=h.nextSibling,F=l.nextSibling;J(o,i),l.$$click=()=>u(s=>!s),g(l,"aria-controls",_),n(E,a(Ae,{class:"w-3.5 h-3.5","aria-hidden":"true"})),n(L,()=>e.t(`instanceShell.gitChanges.sections.${e.section}`)),n(c,()=>r().total);var y=v;return typeof y=="function"?J(y,F):v=F,g(F,"id",_),n(F,()=>e.children,null),n(F,a(W,{get each(){return r().rows},children:s=>a(Wt,{get t(){return e.t},item:s,get git(){return e.git},get canOpenFile(){return e.canOpenFile},get onOpenFile(){return e.onOpenFile},get previewActive(){return e.previewActive}})}),null),n(F,a(O,{get when(){return r().hidden>0},get children(){var s=qt(),k=s.firstChild,$=k.nextSibling;return g(k,"id",d),n(k,()=>e.t(r().hidden===1?"instanceShell.gitChanges.hiddenRows.one":"instanceShell.gitChanges.hiddenRows.other",{count:f(r().hidden)})),$.$$click=R=>x(R.currentTarget),g($,"aria-describedby",d),n($,()=>e.t("instanceShell.gitChanges.hiddenRows.show",{count:f(r().nextReveal)})),s}}),null),T(s=>{var k=!!o.isActiveDroppable,$=b(),R=!b();return k!==s.e&&i.classList.toggle("git-drop-active",s.e=k),$!==s.t&&g(l,"aria-expanded",s.t=$),R!==s.a&&(F.hidden=s.a=R),s},{e:void 0,t:void 0,a:void 0}),i})()},Wt=e=>{const o=He(e.item.id),b=()=>e.item.section==="staged",u=()=>{b()?e.git.unstageGitFile(e.item):e.git.stageGitFile(e.item)},_=()=>e.t(b()?"instanceShell.gitChanges.actions.unstage":"instanceShell.gitChanges.actions.stage"),d=()=>({path:e.item.path,originalPath:e.item.originalPath,scope:e.item.section}),r=[{key:"preview",get label(){return`${e.t("filesPanel.viewer")} · ${e.item.path}`},icon:a(ue,{size:14}),get checked(){return e.previewActive(d())},get disabled(){return!e.canOpenFile},onSelect:()=>e.onOpenFile(d())},{key:"stage",get label(){return`${_()} · ${e.item.path}`},icon
|
|
4
|
-
//# sourceMappingURL=FilesPanel-
|
|
3
|
+
`))),z}})}}),m),I.$$input=w=>e.git.setGitCommitMessage(w.currentTarget.value),D.$$click=()=>void e.git.submitGitCommit(),n(D,()=>e.t(e.git.gitCommitSubmitting()?"instanceShell.gitChanges.commit.submitting":"instanceShell.gitChanges.commit.submit")),T(w=>{var M=e.t("gitPanel.actions"),j=e.t("instanceShell.gitChanges.commit.placeholder"),z=e.t("instanceShell.gitChanges.commit.placeholder"),q=!e.git.gitCommitMessage().trim()||e.git.gitChangeWindow("staged").total===0||e.git.gitCommitSubmitting();return M!==w.e&&g(S,"aria-label",w.e=M),j!==w.t&&g(I,"aria-label",w.t=j),z!==w.a&&g(I,"placeholder",w.a=z),q!==w.o&&(D.disabled=w.o=q),w},{e:void 0,t:void 0,a:void 0,o:void 0}),T(()=>I.value=e.git.gitCommitMessage()),S}})}})})]}})}})),T(t=>{var S=e.t("instanceShell.rightPanel.tabs.files"),m=e.t("instanceShell.rightPanel.actions.refresh"),I=L(),D=e.t("gitPanel.worktree"),w=e.directory,M=e.t("instanceShell.rightPanel.tabs.files"),j=e.mode==="workspace",z=e.mode==="changes",q=e.mode==="history",P=e.mode==="workspace"?void 0:"none",Y=e.gitAvailable&&e.mode==="history"?void 0:"none",be=e.history.selected()?"none":void 0,ye=e.t("gitPanel.filter"),$e=e.t("gitPanel.filter"),Se=e.gitAvailable&&e.mode==="changes"?void 0:"none";return S!==t.e&&g(s,"aria-label",t.e=S),m!==t.t&&g(C,"aria-label",t.t=m),I!==t.a&&(C.disabled=t.a=I),D!==t.o&&g(G,"aria-label",t.o=D),w!==t.i&&g(G,"title",t.i=w),M!==t.n&&g(K,"aria-label",t.n=M),j!==t.s&&g(V,"aria-pressed",t.s=j),z!==t.h&&g(X,"aria-pressed",t.h=z),q!==t.r&&g(Z,"aria-pressed",t.r=q),P!==t.d&&ee(B,"display",t.d=P),Y!==t.l&&ee(N,"display",t.l=Y),be!==t.u&&ee(Q,"display",t.u=be),ye!==t.c&&g(ie,"aria-label",t.c=ye),$e!==t.w&&g(ie,"placeholder",t.w=$e),Se!==t.m&&ee(me,"display",t.m=Se),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0}),T(()=>G.value=e.slug),T(()=>ie.value=b()),s})()},Nt=e=>{const o=We(e.section),[b,u]=ge(!0),_=ke(),d=ke(),r=()=>e.git.gitChangeWindow(e.section),f=i=>i.toLocaleString(document.documentElement.lang||void 0);let v;const x=i=>{var L;const l=r().firstHiddenId,h=document.activeElement===i;if(e.git.revealGitChanges(e.section),!h||!l)return;const E=Array.from(v.querySelectorAll("[data-git-item-id]")).find(c=>c.dataset.gitItemId===l);(L=E==null?void 0:E.querySelector("button:enabled"))==null||L.focus({preventScroll:!0})};return(()=>{var i=Gt(),l=i.firstChild,h=l.firstChild,E=h.firstChild,L=E.nextSibling,c=h.nextSibling,F=l.nextSibling;J(o,i),l.$$click=()=>u(s=>!s),g(l,"aria-controls",_),n(E,a(Ae,{class:"w-3.5 h-3.5","aria-hidden":"true"})),n(L,()=>e.t(`instanceShell.gitChanges.sections.${e.section}`)),n(c,()=>r().total);var y=v;return typeof y=="function"?J(y,F):v=F,g(F,"id",_),n(F,()=>e.children,null),n(F,a(W,{get each(){return r().rows},children:s=>a(Wt,{get t(){return e.t},item:s,get git(){return e.git},get canOpenFile(){return e.canOpenFile},get onOpenFile(){return e.onOpenFile},get previewActive(){return e.previewActive}})}),null),n(F,a(O,{get when(){return r().hidden>0},get children(){var s=qt(),k=s.firstChild,$=k.nextSibling;return g(k,"id",d),n(k,()=>e.t(r().hidden===1?"instanceShell.gitChanges.hiddenRows.one":"instanceShell.gitChanges.hiddenRows.other",{count:f(r().hidden)})),$.$$click=R=>x(R.currentTarget),g($,"aria-describedby",d),n($,()=>e.t("instanceShell.gitChanges.hiddenRows.show",{count:f(r().nextReveal)})),s}}),null),T(s=>{var k=!!o.isActiveDroppable,$=b(),R=!b();return k!==s.e&&i.classList.toggle("git-drop-active",s.e=k),$!==s.t&&g(l,"aria-expanded",s.t=$),R!==s.a&&(F.hidden=s.a=R),s},{e:void 0,t:void 0,a:void 0}),i})()},Wt=e=>{const o=He(e.item.id),b=()=>e.item.section==="staged",u=()=>{b()?e.git.unstageGitFile(e.item):e.git.stageGitFile(e.item)},_=()=>e.t(b()?"instanceShell.gitChanges.actions.unstage":"instanceShell.gitChanges.actions.stage"),d=()=>({path:e.item.path,originalPath:e.item.originalPath,scope:e.item.section}),r=[{key:"preview",get label(){return`${e.t("filesPanel.viewer")} · ${e.item.path}`},icon:a(ue,{size:14}),get checked(){return e.previewActive(d())},get disabled(){return!e.canOpenFile},onSelect:()=>e.onOpenFile(d())},{key:"stage",get label(){return`${_()} · ${e.item.path}`},get icon(){return a(O,{get when(){return b()},get fallback(){return a(pe,{size:14})},get children(){return a(Ye,{size:14})}})},onSelect:u}],f=()=>e.git.isGitItemSelected(e.item.id);let v;return Ie(()=>vt(v)),(()=>{var x=jt(),i=x.firstChild,l=i.firstChild,h=l.nextSibling,E=h.nextSibling,L=E.firstChild;L.firstChild;var c=L.nextSibling,F=c.nextSibling;return F.firstChild,J(y=>{v=y,o(y)},x),i.$$click=y=>{e.git.handleGitRowClick(e.item,y)},n(l,()=>e.item.status.slice(0,1).toUpperCase()),n(h,()=>e.item.path),n(L,()=>e.item.additions,null),n(F,()=>e.item.deletions,null),n(x,a(ve,{get label(){return e.t("instanceShell.filesShell.actions.more",{name:e.item.path})},items:r}),null),T(y=>{var s=e.item.id,k=!!f(),$=Be(o.transform),R=f(),C=e.git.isGitItemCurrent(e.item.id)?"true":void 0,G=e.item.path,H=!e.canOpenFile;return s!==y.e&&g(x,"data-git-item-id",y.e=s),k!==y.t&&x.classList.toggle("git-panel-file-selected",y.t=k),y.a=Me(x,$,y.a),R!==y.o&&g(i,"aria-pressed",y.o=R),C!==y.i&&g(i,"aria-current",y.i=C),G!==y.n&&g(i,"title",y.n=G),H!==y.s&&(i.disabled=y.s=H),y},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),x})()};he(["click","input"]);export{pt as default};
|
|
4
|
+
//# sourceMappingURL=FilesPanel-DmdwCBoM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesPanel-DmdwCBoM.js","sources":["../../../../../../node_modules/lucide-solid/dist/source/icons/file-code.jsx","../../../../../../node_modules/lucide-solid/dist/source/icons/file-text.jsx","../../../../../../node_modules/lucide-solid/dist/source/icons/git-commit-horizontal.jsx","../../../../../../node_modules/lucide-solid/dist/source/icons/image.jsx","../../../components/instance/shell/right-panel/row-compact-actions.ts","../../../components/instance/shell/right-panel/FileRowActions.tsx","../../../components/instance/shell/right-panel/git-change-row-focus.ts","../../../components/instance/shell/right-panel/components/WorkspaceTree.tsx","../../../components/instance/shell/right-panel/tabs/FilesPanel.tsx"],"sourcesContent":["import Icon from '../Icon';\nconst iconNode = [\n [\n 'path',\n { d: 'M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z', key: '1nnpy2' },\n ],\n ['polyline', { points: '14 2 14 8 20 8', key: '1ew0cm' }],\n ['path', { d: 'm10 13-2 2 2 2', key: '17smn8' }],\n ['path', { d: 'm14 17 2-2-2-2', key: '14mezr' }],\n];\nconst FileCode = (props) => <Icon {...props} name=\"FileCode\" iconNode={iconNode}/>;\nexport default FileCode;\n","import Icon from '../Icon';\nconst iconNode = [\n [\n 'path',\n { d: 'M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z', key: '1nnpy2' },\n ],\n ['polyline', { points: '14 2 14 8 20 8', key: '1ew0cm' }],\n ['line', { x1: '16', x2: '8', y1: '13', y2: '13', key: '14keom' }],\n ['line', { x1: '16', x2: '8', y1: '17', y2: '17', key: '17nazh' }],\n ['line', { x1: '10', x2: '8', y1: '9', y2: '9', key: '1a5vjj' }],\n];\nconst FileText = (props) => <Icon {...props} name=\"FileText\" iconNode={iconNode}/>;\nexport default FileText;\n","import Icon from '../Icon';\nconst iconNode = [\n ['circle', { cx: '12', cy: '12', r: '3', key: '1v7zrd' }],\n ['line', { x1: '3', x2: '9', y1: '12', y2: '12', key: '1dyftd' }],\n ['line', { x1: '15', x2: '21', y1: '12', y2: '12', key: 'oup4p8' }],\n];\nconst GitCommitHorizontal = (props) => (<Icon {...props} name=\"GitCommitHorizontal\" iconNode={iconNode}/>);\nexport default GitCommitHorizontal;\n","import Icon from '../Icon';\nconst iconNode = [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', ry: '2', key: '1m3agn' }],\n ['circle', { cx: '9', cy: '9', r: '2', key: 'af1f0g' }],\n ['path', { d: 'm21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21', key: '1xmnt7' }],\n];\nconst Image = (props) => <Icon {...props} name=\"Image\" iconNode={iconNode}/>;\nexport default Image;\n","import { onCleanup } from \"solid-js\"\n\nconst px = (value: string) => Number.parseFloat(value) || 0\n\ntype Measurement = () => (() => void) | undefined\nconst pendingMeasurements = new Set<Measurement>()\nlet scheduledFrame = 0\nfunction scheduleMeasurement(measure: Measurement) {\n pendingMeasurements.add(measure)\n if (scheduledFrame) return\n scheduledFrame = requestAnimationFrame(() => {\n scheduledFrame = 0\n const pending = [...pendingMeasurements]\n pendingMeasurements.clear()\n // Read every row before changing any DOM. Per-row read/write callbacks\n // repeatedly laid out the entire inventory when thousands of files mounted.\n const updates = pending.map(read => read())\n for (const update of updates) update?.()\n })\n}\n\n// Width of the row content ignoring the overflow trigger, so hidden inline\n// actions stay measurable. Text nodes are measured with a Range because the\n// label truncates with ellipsis.\nfunction rowContentWidth(element: Element): number {\n if (element.matches(\".action-overflow-trigger\")) return 0\n const style = getComputedStyle(element)\n if (style.display === \"none\") return 0\n if (element instanceof SVGElement || element.matches(\"button:not(.git-panel-file-main), .workspace-tree-spacer\")) {\n return element.getBoundingClientRect().width\n }\n const widths: number[] = []\n for (const child of element.childNodes) {\n if (child instanceof Element) widths.push(rowContentWidth(child))\n else if (child.nodeType === Node.TEXT_NODE && child.textContent?.trim()) {\n const range = document.createRange()\n range.selectNode(child)\n widths.push(range.getBoundingClientRect().width)\n }\n }\n const visible = widths.filter((width) => width > 0)\n const stacked = style.flexDirection === \"column\"\n return (stacked ? Math.max(0, ...visible) : visible.reduce((a, b) => a + b, 0))\n + (stacked ? 0 : Math.max(0, visible.length - 1) * px(style.columnGap))\n + px(style.paddingLeft) + px(style.paddingRight) + px(style.borderLeftWidth) + px(style.borderRightWidth)\n}\n\n// Toggle data-compact on a file row: inline icon buttons while they fit, the\n// shared overflow menu only when they don't. An open menu stays mounted\n// across resizes; hidden actions stay measurable but inert.\nexport function observeRowOverflow(element: HTMLElement) {\n const row = element.parentElement\n if (!row) return\n let disposed = false\n const measure = () => {\n if (disposed || !element.isConnected || !row.getBoundingClientRect().width) return\n const menu = element.querySelector<HTMLButtonElement>(\".action-overflow-trigger\")\n const inline = element.querySelector<HTMLElement>(\".file-row-inline-actions\")\n if (!menu || !inline) return\n // Budget against the entire row, not the shrink-wrapped action group.\n // The menu replaces inline actions; it must not add to their width budget.\n const required = rowContentWidth(row)\n const available = row.getBoundingClientRect().width\n const next = menu.hasAttribute(\"data-expanded\") || required > available + 0.5\n if (element.dataset.compact === String(next)) return\n const active = document.activeElement\n const hadActionFocus = active instanceof Element && element.contains(active)\n && active.matches(\".file-row-inline-actions button, .action-overflow-trigger\")\n return () => {\n if (disposed || !element.isConnected) return\n element.dataset.compact = String(next)\n inline.inert = next\n if (hadActionFocus) queueMicrotask(() => {\n if (disposed || !element.isConnected) return\n const target = next ? menu : element.querySelector<HTMLButtonElement>(\".file-row-inline-actions button:not(:disabled)\")\n target?.focus({ preventScroll: true })\n })\n }\n }\n const schedule = () => { if (!disposed) scheduleMeasurement(measure) }\n const resize = new ResizeObserver(schedule)\n resize.observe(row)\n resize.observe(element)\n const mutation = new MutationObserver(schedule)\n mutation.observe(row, { subtree: true, childList: true, characterData: true, attributes: true, attributeFilter: [\"data-expanded\"] })\n document.fonts?.addEventListener(\"loadingdone\", schedule)\n schedule()\n onCleanup(() => {\n disposed = true\n pendingMeasurements.delete(measure)\n if (!pendingMeasurements.size) { cancelAnimationFrame(scheduledFrame); scheduledFrame = 0 }\n resize.disconnect()\n mutation.disconnect()\n document.fonts?.removeEventListener(\"loadingdone\", schedule)\n })\n}\n","import type { Component } from \"solid-js\"\nimport { For, onMount } from \"solid-js\"\nimport ActionOverflowMenu, { type ActionOverflowMenuItem } from \"../../../action-overflow-menu\"\nimport { observeRowOverflow } from \"./row-compact-actions\"\n\n// File row actions with the message/session convention: inline icon buttons\n// while they fit, the shared overflow menu only when they don't. Hidden\n// actions stay measurable but inert; an open menu stays mounted.\nconst FileRowActions: Component<{ items: ActionOverflowMenuItem[]; label: string }> = props => {\n let element!: HTMLSpanElement\n onMount(() => observeRowOverflow(element))\n // Preview toggles remain directly reachable; only secondary actions overflow.\n const toggles = () => props.items.filter(item => typeof item.checked === \"boolean\")\n const secondary = () => props.items.filter(item => typeof item.checked !== \"boolean\")\n const button = (item: ActionOverflowMenuItem) => <button type=\"button\" class=\"file-row-icon-button\"\n classList={{ \"icon-toggle\": typeof item.checked === \"boolean\" }} title={item.label} aria-label={item.label} aria-pressed={item.checked}\n disabled={item.disabled} onClick={() => void item.onSelect()}>{item.icon}</button>\n return <span class=\"file-row-actions\" data-compact=\"false\" ref={element}\n onClick={event => event.stopPropagation()} onPointerDown={event => event.stopPropagation()}>\n <span class=\"file-row-pinned-actions\"><For each={toggles()}>{button}</For></span>\n <span class=\"file-row-inline-actions\">\n <For each={secondary()}>{button}</For>\n </span>\n <ActionOverflowMenu items={secondary()} label={props.label} triggerClass=\"file-row-icon-button action-overflow-trigger\" />\n </span>\n}\n\nexport default FileRowActions\n","const rowMain = (element: Element | null) =>\n element?.matches(\"[data-git-item-id]\") ? element.querySelector<HTMLButtonElement>(\".git-panel-file-main\") : null\nconst hiddenRowsButton = (element: Element) =>\n element.matches(\".git-change-hidden-rows\") ? element.querySelector<HTMLButtonElement>(\"button\") : null\n\nconst siblings = (row: Element, direction: \"nextElementSibling\" | \"previousElementSibling\") => {\n const elements: Element[] = []\n for (let element = row[direction]; element; element = element[direction]) elements.push(element)\n return elements\n}\n\n/**\n * Call while a Changes row unmounts (staged/unstaged into the other section, or\n * changed or removed by a refresh). If it held focus, focus moves to the same\n * control of its replacement for the same item, else to the nearest following\n * row or \"not shown\" control that survived (a bulk move removes neighbours in\n * the same update), the nearest preceding row, or the section header without\n * scrolling. Only rows and the section's own controls qualify, never the commit\n * box or an action on another file, so the next Enter cannot act on something else.\n */\nexport function keepFocusAfterRowRemoval(row: HTMLElement) {\n const active = document.activeElement\n if (!(active instanceof HTMLElement) || !row.contains(active)) return\n const control = Array.from(row.querySelectorAll(\"button\")).indexOf(active as HTMLButtonElement)\n const list = row.parentElement, following = siblings(row, \"nextElementSibling\"), preceding = siblings(row, \"previousElementSibling\")\n const header = row.closest(\".git-change-section\")?.querySelector<HTMLButtonElement>(\".git-change-section-header\")\n queueMicrotask(() => {\n const current = document.activeElement\n if (row.isConnected || (current && current !== document.body)) return\n const replacement = Array.from(list?.children ?? []).find(element => element !== row && rowMain(element)\n && (element as HTMLElement).dataset.gitItemId === row.dataset.gitItemId)\n const candidates = [\n replacement?.querySelectorAll(\"button\")[control], rowMain(replacement ?? null),\n ...following.map(element => rowMain(element) ?? hiddenRowsButton(element)), ...preceding.map(rowMain),\n ]\n for (const candidate of candidates) {\n if (!candidate?.isConnected || candidate.disabled) continue\n candidate.focus()\n if (document.activeElement === candidate) return\n }\n if (header?.isConnected) header.focus({ preventScroll: true })\n })\n}\n","import { For, Show, createMemo } from \"solid-js\"\nimport { ChevronDown, ChevronRight, Copy, ExternalLink, Eye, Folder, FolderOpen, FileCode, FileText, Image, File, RefreshCw, TerminalSquare } from \"lucide-solid\"\nimport type { useWorkspaceTree } from \"../useWorkspaceTree\"\nimport type { ActionOverflowMenuItem } from \"../../../../action-overflow-menu\"\nimport FileRowActions from \"../FileRowActions\"\nimport { copyToClipboard } from \"../../../../../lib/clipboard\"\nimport { showToastNotification } from \"../../../../../lib/notifications\"\nimport { canOpenWorkspacePaths, openWorkspacePath } from \"../../../../../lib/workspace-open\"\n\nexport function WorkspaceTree(props: {\n tree: ReturnType<typeof useWorkspaceTree>\n t: (key: string, vars?: Record<string, any>) => string\n directory: string\n instanceId: string\n worktreeSlug: string\n canOpen: boolean\n previewPath?: string\n onOpen: (path: string) => void\n}) {\n const icon = (name: string) => /\\.(png|jpe?g|gif|webp|svg|ico|bmp|avif)$/i.test(name) ? Image\n : /\\.(md|mdx|txt|rst)$/i.test(name) ? FileText\n : /\\.(tsx?|jsx?|json|ya?ml|css|html|py|rs|sh)$/i.test(name) ? FileCode : File\n let root!: HTMLDivElement\n const tabStop = createMemo(() => props.tree.rows().some(row => row.path === props.tree.state().selected)\n ? props.tree.state().selected : props.tree.rows()[0]?.path)\n const focusRow = (path: string) => root.querySelector<HTMLElement>(`[data-path=\"${CSS.escape(path)}\"]`)?.focus()\n const activateRow = (row: ReturnType<typeof props.tree.rows>[number]) => {\n props.tree.select(row.path)\n if (row.type === \"directory\") props.tree.toggle(row.path)\n }\n function keyDown(event: KeyboardEvent, row: ReturnType<typeof props.tree.rows>[number]) {\n // The row menu trigger is a separate tab stop; its keys must not toggle the row.\n if (event.target !== event.currentTarget) return\n const rows = props.tree.rows(), index = rows.findIndex(entry => entry.path === row.path)\n const rtl = document.documentElement.dir === \"rtl\"\n if (event.key === \"ArrowDown\") focusRow(rows[Math.min(index + 1, rows.length - 1)]!.path)\n else if (event.key === \"ArrowUp\") focusRow(rows[Math.max(index - 1, 0)]!.path)\n else if (event.key === \"Home\") focusRow(rows[0]!.path)\n else if (event.key === \"End\") focusRow(rows[rows.length - 1]!.path)\n else if (event.key === (rtl ? \"ArrowLeft\" : \"ArrowRight\") && row.type === \"directory\") {\n if (!props.tree.state().expanded.has(row.path)) props.tree.toggle(row.path)\n else if (rows[index + 1]?.parent === row.path) focusRow(rows[index + 1]!.path)\n } else if (event.key === (rtl ? \"ArrowRight\" : \"ArrowLeft\")) {\n if (row.type === \"directory\" && props.tree.state().expanded.has(row.path)) props.tree.toggle(row.path)\n else focusRow(row.parent)\n } else if (event.key === \"Enter\" || event.key === \" \") {\n activateRow(row)\n } else return\n event.preventDefault()\n }\n\n const handleCopyPath = async (path: string) => {\n const ok = await copyToClipboard(path)\n showToastNotification({ category: \"copy\",\n message: ok ? props.t(\"instanceShell.filesShell.toast.copyPathSuccess\") : props.t(\"instanceShell.filesShell.toast.copyPathError\"),\n variant: ok ? \"success\" : \"error\",\n })\n }\n\n const handleNativeOpen = async (target: \"default\" | \"reveal\" | \"terminal\", path: string) => {\n try {\n await openWorkspacePath({ target, instanceId: props.instanceId, worktreeSlug: props.worktreeSlug, path })\n } catch (error) {\n showToastNotification({ category: \"files\",\n message: props.t(\"instanceShell.filesShell.toast.openError\", {\n message: error instanceof Error ? error.message : String(error),\n }),\n variant: \"error\",\n })\n }\n }\n\n const rowActions = (row: ReturnType<typeof props.tree.rows>[number]): ActionOverflowMenuItem[] => {\n const items: ActionOverflowMenuItem[] = []\n if (row.type === \"file\") items.push({\n key: \"preview\", label: `${props.t(\"filesPanel.viewer\")} · ${row.path}`,\n get icon() { return <Eye class=\"w-3.5 h-3.5\" /> }, disabled: !props.canOpen,\n checked: props.previewPath === row.path, onSelect: () => props.onOpen(row.path),\n })\n if (canOpenWorkspacePaths()) {\n if (row.type === \"directory\") {\n const isMacApp = isMacDesktop && row.path.toLowerCase().endsWith(\".app\")\n items.push(\n {\n key: \"open-folder\",\n label: props.t(isMacApp\n ? \"instanceShell.filesShell.actions.showInFolder\"\n : \"instanceShell.filesShell.actions.openFolder\"),\n get icon() { return <FolderOpen class=\"w-3.5 h-3.5\" /> },\n onSelect: () => handleNativeOpen(isMacApp ? \"reveal\" : \"default\", row.path),\n },\n {\n key: \"open-terminal\",\n label: props.t(\"instanceShell.filesShell.actions.openTerminal\"),\n get icon() { return <TerminalSquare class=\"w-3.5 h-3.5\" /> },\n onSelect: () => handleNativeOpen(\"terminal\", row.path),\n },\n )\n } else {\n if (isWindowsDesktop) {\n items.push({\n key: \"open-default\",\n label: props.t({\n open: \"instanceShell.filesShell.actions.openDefault\",\n edit: \"instanceShell.filesShell.actions.editDefault\",\n choose: \"instanceShell.filesShell.actions.chooseApplication\",\n }[windowsDefaultAction(row.path)]),\n get icon() { return <ExternalLink class=\"w-3.5 h-3.5\" /> },\n onSelect: () => handleNativeOpen(\"default\", row.path),\n })\n }\n items.push({\n key: \"show-in-folder\",\n label: props.t(\"instanceShell.filesShell.actions.showInFolder\"),\n get icon() { return <FolderOpen class=\"w-3.5 h-3.5\" /> },\n onSelect: () => handleNativeOpen(\"reveal\", row.path),\n })\n }\n }\n items.push({\n key: \"copy-path\",\n label: props.t(\"instanceShell.filesShell.actions.copyPath\"),\n get icon() { return <Copy class=\"w-3.5 h-3.5\" /> },\n onSelect: () => handleCopyPath(row.path),\n })\n return items\n }\n\n return <div class=\"workspace-tree\">\n <div class=\"workspace-tree-root\" title={props.directory}><FolderOpen size={15} /><strong>{props.directory.replace(/\\\\/g, \"/\").split(\"/\").pop()}</strong></div>\n <div ref={root} role=\"tree\" aria-label={props.t(\"filesPanel.workspace\")}>\n <For each={props.tree.rows()}>{row => {\n const isFolder = row.type === \"directory\", Icon = icon(row.name)\n const expanded = () => props.tree.state().expanded.has(row.path)\n // Memoized per row so tree-state changes (selection, expansion) do not\n // rebuild the action array for every row. Icons are getters because\n // FileRowActions renders each item inline and in its overflow menu.\n const actions = createMemo(() => rowActions(row))\n return <div role=\"treeitem\" data-path={row.path} aria-label={row.name} aria-level={row.depth}\n aria-expanded={isFolder ? expanded() : undefined} aria-selected={props.tree.state().selected === row.path}\n class=\"workspace-tree-row\" style={{ \"padding-inline-start\": `${8 + row.depth * 14}px` }} title={row.path}\n tabIndex={tabStop() === row.path ? 0 : -1}\n onFocus={() => props.tree.select(row.path)} onKeyDown={event => keyDown(event, row)}\n onClick={() => activateRow(row)}>\n <Show when={isFolder} fallback={<span class=\"workspace-tree-spacer\" />}>\n <Show when={expanded()} fallback={<ChevronRight size={12} />}><ChevronDown size={12} /></Show>\n </Show>\n <Show when={isFolder} fallback={<Icon size={14} />}><Show when={expanded()} fallback={<Folder size={14} />}><FolderOpen size={14} /></Show></Show>\n <span class=\"workspace-tree-label\">{row.name}</span><Show when={props.tree.busy().has(row.path)}><RefreshCw size={12} class=\"animate-spin\" /></Show>\n <FileRowActions items={actions()} label={props.t(\"instanceShell.filesShell.actions.more\", { name: row.name })} />\n </div>\n }}</For>\n </div>\n <For each={[...props.tree.errors()]}>{([path, error]) => <div class=\"p-3 text-xs text-error\" role=\"alert\">{path}: {error}\n <button onClick={() => void props.tree.load(path, true)}>{props.t(\"instanceShell.rightPanel.actions.refresh\")}</button></div>}</For>\n <Show when={props.tree.busy().has(\".\")}><p class=\"p-3 text-xs text-secondary\" role=\"status\">{props.t(\"instanceInfo.loading\")}</p></Show>\n </div>\n}\n\nconst isWindowsDesktop = typeof navigator !== \"undefined\" && /windows/i.test(navigator.userAgent)\nconst isMacDesktop = typeof navigator !== \"undefined\" && /macintosh|mac os x/i.test(navigator.userAgent)\nconst safeWindowsOpenExtensions = new Set([\n \"7z\", \"avi\", \"bmp\", \"c\", \"cc\", \"cfg\", \"conf\", \"cpp\", \"cs\", \"css\", \"csv\", \"dart\", \"diff\", \"docx\",\n \"env\", \"flac\", \"fs\", \"fsx\", \"gif\", \"go\", \"gz\", \"h\", \"hpp\", \"htm\", \"html\", \"ini\", \"java\", \"jpeg\", \"jpg\",\n \"json\", \"jsonc\", \"jsx\", \"kt\", \"kts\", \"less\", \"lock\", \"log\", \"lua\", \"md\", \"markdown\", \"mkv\", \"mov\", \"mp3\",\n \"mp4\", \"ogg\", \"patch\", \"pdf\", \"png\", \"pptx\", \"r\", \"rar\", \"rmd\", \"rs\", \"scss\", \"sql\", \"svg\", \"svelte\",\n \"swift\", \"tar\", \"toml\", \"ts\", \"tsx\", \"txt\", \"vue\", \"wav\", \"webm\", \"webp\", \"xlsx\", \"xml\", \"yaml\", \"yml\", \"zip\",\n])\nconst windowsEditExtensions = new Set([\n \"bat\", \"cmd\", \"js\", \"jse\", \"pl\", \"ps1\", \"psd1\", \"psm1\", \"py\", \"pyw\", \"rb\", \"reg\", \"vbe\", \"vbs\", \"wsf\", \"wsh\",\n])\n\nfunction windowsDefaultAction(path: string): \"open\" | \"edit\" | \"choose\" {\n const name = path.split(/[\\\\/]/).pop() ?? \"\"\n const dot = name.lastIndexOf(\".\")\n const extension = dot > 0 ? name.slice(dot + 1).toLowerCase() : \"\"\n if (!isWindowsDesktop || (extension && safeWindowsOpenExtensions.has(extension))) return \"open\"\n if (extension && windowsEditExtensions.has(extension)) return \"edit\"\n return \"choose\"\n}\n","import { For, Show, createMemo, createSignal, createUniqueId, onCleanup, type Component, type JSX } from \"solid-js\"\nimport {\n DragDropProvider,\n DragDropSensors,\n closestCenter,\n createDraggable,\n createDroppable,\n transformStyle,\n type DragEvent as SolidDndDragEvent,\n} from \"@thisbeyond/solid-dnd\"\nimport { ArrowLeft, ChevronRight, Eye, GitBranch, GitCommitHorizontal, Minus, Plus, RefreshCw } from \"lucide-solid\"\nimport type { useGitChanges } from \"../useGitChanges\"\nimport type { useGitHistory } from \"../useGitHistory\"\nimport type { useGitInit } from \"../useGitInit\"\nimport { closeFilePreview, getFilePreview, type FilePreviewTarget } from \"../../../../../stores/files-preview\"\nimport FileRowActions from \"../FileRowActions\"\nimport { keepFocusAfterRowRemoval } from \"../git-change-row-focus\"\nimport type { ActionOverflowMenuItem } from \"../../../../action-overflow-menu\"\nimport type { GitChangeListItem, GitChangeSection } from \"../types\"\nimport type { useWorkspaceTree } from \"../useWorkspaceTree\"\nimport { WorkspaceTree } from \"../components/WorkspaceTree\"\nimport type { FilesPanelMode } from \"../files-panel-state\"\n\ninterface FilesPanelProps {\n t: (key: string, vars?: Record<string, any>) => string\n git: ReturnType<typeof useGitChanges>\n history: ReturnType<typeof useGitHistory>\n tree: ReturnType<typeof useWorkspaceTree>\n /** False only for a known non-repository; Changes/Commits then offer Initialize Git. */\n gitAvailable: boolean\n gitInit: ReturnType<typeof useGitInit>\n mode: FilesPanelMode\n onModeChange: (mode: FilesPanelMode) => void\n worktrees: Array<{ slug: string; directory: string; branch?: string | null }>\n slug: string\n directory: string\n instanceId: string\n branch: string | null\n onWorktreeChange: (slug: string) => void\n onOpenFile: (file: Pick<FilePreviewTarget, \"kind\" | \"path\" | \"originalPath\" | \"scope\" | \"commit\" | \"subject\">) => void\n canOpenFile: boolean\n}\n\nconst FilesPanel: Component<FilesPanelProps> = props => {\n const items = props.git.gitListItems\n const [filter, setFilter] = createSignal(\"\")\n const [selectedCommitFile, setSelectedCommitFile] = createSignal(\"\")\n const previewActive = (file: Parameters<FilesPanelProps[\"onOpenFile\"]>[0]) => {\n const target = getFilePreview(props.instanceId)\n return Boolean(target && target.slug === props.slug && target.directory === props.directory && target.path === file.path\n && (target.kind ?? \"diff\") === (file.kind ?? \"diff\") && target.commit === file.commit && target.scope === file.scope)\n }\n const togglePreview: FilesPanelProps[\"onOpenFile\"] = file => {\n if (previewActive(file)) closeFilePreview(props.instanceId)\n else props.onOpenFile(file)\n }\n let historyBody: HTMLDivElement | undefined\n let historyScroll = 0\n const selectCommit = (id: string) => {\n historyScroll = historyBody?.scrollTop ?? 0\n void props.history.select(id)\n }\n const backToCommits = () => {\n props.history.back()\n requestAnimationFrame(() => { if (historyBody?.isConnected) historyBody.scrollTop = historyScroll })\n }\n const commits = createMemo(() => (props.history.page()?.commits ?? []).filter(commit =>\n `${commit.subject} ${commit.author} ${commit.id}`.toLowerCase().includes(filter().toLowerCase())))\n const handleStageDragEnd = ({ draggable, droppable }: SolidDndDragEvent) => {\n if (!droppable) return\n const target = String(droppable.id)\n if (target !== \"staged\" && target !== \"unstaged\") return\n const item = items().find(entry => entry.id === String(draggable.id))\n if (!item || item.section === target) return\n if (target === \"staged\") props.git.stageGitFile(item)\n else props.git.unstageGitFile(item)\n }\n const loading = () => props.mode === \"workspace\" ? props.tree.busy().size > 0 : props.mode === \"history\" ? props.history.loading() || props.history.detailLoading() : props.git.gitStatusLoading()\n const error = () => props.mode === \"workspace\" || !props.gitAvailable ? null : props.mode === \"history\" ? props.history.error() : props.git.gitStatusError()\n const basename = (path: string) => path.replace(/\\\\/g, \"/\").split(\"/\").pop() || path\n const date = (value: string) => new Date(value).toLocaleDateString(document.documentElement.lang || undefined, { month: \"short\", day: \"numeric\" })\n\n return <section class=\"git-panel\" aria-label={props.t(\"instanceShell.rightPanel.tabs.files\")}>\n <header class=\"git-panel-context\">\n <div class=\"git-panel-branch\"><GitBranch size={16} /><strong>{props.gitAvailable ? props.branch || props.t(\"gitPanel.detached\") : basename(props.directory)}</strong>\n <button class=\"files-header-icon-button\" aria-label={props.t(\"instanceShell.rightPanel.actions.refresh\")} disabled={loading()} onClick={() => {\n if (props.mode === \"workspace\") props.tree.refresh()\n else if (!props.gitAvailable) void props.gitInit.recheck()\n else if (props.mode === \"history\") void props.history.refresh()\n else void props.git.refreshGitStatus()\n }}><RefreshCw size={14} class={loading() ? \"animate-spin\" : \"\"} /></button>\n </div>\n <select class=\"git-panel-worktree\" value={props.slug} aria-label={props.t(\"gitPanel.worktree\")} title={props.directory}\n onChange={event => props.onWorktreeChange(event.currentTarget.value)}>\n <Show when={!props.worktrees.some(tree => tree.slug === props.slug)}><option value={props.slug}>{basename(props.directory)}</option></Show>\n <For each={props.worktrees}>{tree => <option value={tree.slug}>{basename(tree.directory)}{props.gitAvailable ? ` · ${tree.branch || props.t(\"gitPanel.detached\")}` : \"\"}</option>}</For>\n </select>\n </header>\n <div class=\"git-panel-tools\">\n <div class=\"git-panel-switch\" role=\"group\" aria-label={props.t(\"instanceShell.rightPanel.tabs.files\")}>\n <button aria-pressed={props.mode === \"workspace\"} onClick={() => props.onModeChange(\"workspace\")}>{props.t(\"filesPanel.workspace\")}</button>\n <button aria-pressed={props.mode === \"changes\"} onClick={() => props.onModeChange(\"changes\")}>{props.t(\"gitPanel.changes\")}</button>\n <button aria-pressed={props.mode === \"history\"} onClick={() => props.onModeChange(\"history\")}>{props.t(\"filesPanel.commits\")}</button>\n </div>\n <Show when={props.gitAvailable && props.mode === \"changes\" && props.git.gitStatusEntries()}>\n <span class=\"git-panel-count\">{props.t(\"gitPanel.files\", { count: props.git.gitStatusEntries()?.length ?? 0 })}</span>\n </Show>\n </div>\n <Show when={error()}><div role=\"alert\" class=\"p-3 text-error text-xs\">{error()}</div></Show>\n <Show when={!props.canOpenFile}><p class=\"p-3 text-xs text-secondary\">{props.t(\"instanceShell.gitChanges.noSessionSelected\")}</p></Show>\n <div class=\"git-panel-body\" style={{ display: props.mode === \"workspace\" ? undefined : \"none\" }}>\n <WorkspaceTree tree={props.tree} t={props.t} directory={props.directory} instanceId={props.instanceId} worktreeSlug={props.slug} canOpen={props.canOpenFile}\n previewPath={getFilePreview(props.instanceId)?.kind === \"workspace\" && getFilePreview(props.instanceId)?.slug === props.slug ? getFilePreview(props.instanceId)?.path : undefined}\n onOpen={path => togglePreview({ kind: \"workspace\", path })} />\n </div>\n <Show when={!props.gitAvailable && props.mode !== \"workspace\"}>\n <div class=\"git-init-empty\">\n <p>{props.t(\"filesPanel.gitInit.notRepository\")}</p>\n <button type=\"button\" class=\"git-change-commit-button git-init-button\" disabled={props.gitInit.pending()} aria-busy={props.gitInit.pending()}\n title={props.directory} onClick={() => void props.gitInit.initialize()}>\n <GitBranch size={14} aria-hidden=\"true\" />\n {props.t(props.gitInit.pending() ? \"filesPanel.gitInit.pending\" : \"filesPanel.gitInit.action\")}\n </button>\n </div>\n </Show>\n <div ref={historyBody} class=\"git-panel-body\" style={{ display: props.gitAvailable && props.mode === \"history\" ? undefined : \"none\" }}>\n <div style={{ display: props.history.selected() ? \"none\" : undefined }}>\n <input class=\"git-panel-filter\" aria-label={props.t(\"gitPanel.filter\")} placeholder={props.t(\"gitPanel.filter\")} value={filter()} onInput={event => setFilter(event.currentTarget.value)} />\n <For each={commits()}>{commit => <button class=\"git-history-row\" onClick={() => selectCommit(commit.id)}>\n <GitCommitHorizontal class=\"git-history-mark\" size={16} />\n <span class=\"git-history-row-content\"><strong>{commit.subject}</strong>\n <Show when={commit.refs}><span class=\"git-history-refs\" title={commit.refs}>{commit.refs}</span></Show>\n <span class=\"git-history-meta\"><span>{commit.author} · {date(commit.date)}</span><code>{commit.id.slice(0, 7)}</code></span>\n </span>\n </button>}</For>\n <Show when={!loading() && commits().length === 0}><p class=\"p-3 text-xs text-secondary\">{props.t(\"gitPanel.emptyHistory\")}</p></Show>\n <Show when={props.history.page()?.hasMore}><button class=\"git-panel-more\" disabled={loading()} onClick={() => void props.history.refresh(true)}>{props.t(\"gitPanel.more\")}</button></Show>\n </div>\n <Show when={props.history.selected()}>\n <button class=\"git-panel-back\" onClick={backToCommits}><ArrowLeft size={14} />{props.t(\"filesPanel.commits\")}</button>\n <Show when={props.history.details()}>{details => <>\n <div class=\"git-commit-summary\"><code>{details().id.slice(0, 8)}</code><p>{details().message}</p><span>{props.t(\"gitPanel.files\", { count: details().files.length })}</span></div>\n <div class=\"git-commit-files\">\n <For each={details().files}>{file => {\n const target = () => ({ path: file.path, commit: details().id, subject: details().message.split(\"\\n\")[0] })\n return <div class=\"git-panel-file-row\" classList={{ \"git-panel-file-selected\": selectedCommitFile() === `${details().id}:${file.path}` }}>\n <button class=\"git-panel-file git-panel-file-main\" title={file.originalPath ? `${file.originalPath} → ${file.path}` : file.path} onClick={() => setSelectedCommitFile(`${details().id}:${file.path}`)}>\n <span class={`git-file-status git-file-status-${file.status}`}>{file.status}</span><span>{file.path}</span>\n </button>\n <FileRowActions label={props.t(\"instanceShell.filesShell.actions.more\", { name: file.path })} items={[{\n key: \"preview\", label: `${props.t(\"filesPanel.viewer\")} · ${file.path}`, icon: <Eye size={14} />,\n checked: previewActive(target()), disabled: !props.canOpenFile, onSelect: () => togglePreview(target()),\n }]} />\n </div>\n }}</For>\n </div>\n </>}</Show>\n </Show>\n <Show when={loading()}><p class=\"p-3 text-xs text-secondary\" role=\"status\">{props.t(\"instanceInfo.loading\")}</p></Show>\n </div>\n <div class=\"git-panel-body\" style={{ display: props.gitAvailable && props.mode === \"changes\" ? undefined : \"none\" }}>\n <DragDropProvider collisionDetector={closestCenter} onDragEnd={handleStageDragEnd}>\n <DragDropSensors>\n <Show when={items().length === 0}><p class=\"p-3 text-xs text-secondary\">{props.git.gitStatusLoading() ? props.t(\"instanceInfo.loading\") : props.t(\"instanceShell.gitChanges.empty\")}</p></Show>\n <For each={[\"staged\", \"unstaged\"] as const}>{section =>\n <ChangeSection t={props.t} section={section}\n git={props.git} canOpenFile={props.canOpenFile} onOpenFile={togglePreview} previewActive={previewActive}>\n <Show when={section === \"staged\"}>\n <div class=\"git-change-commit-box\" role=\"group\" aria-label={props.t(\"gitPanel.actions\")}>\n <For each={[\"staged\", \"unstaged\"] as const}>{actionSection => {\n const targets = createMemo(() => props.git.gitActionItems().filter(item => item.section === actionSection))\n const action = actionSection === \"staged\" ? \"unstage\" : \"stage\"\n return <Show when={targets().length > 0}><button class=\"git-panel-more\" title={targets().map(item => item.path).join(\"\\n\")} onClick={() => {\n const item = targets()[0]\n if (item) actionSection === \"staged\" ? props.git.unstageGitFile(item) : props.git.stageGitFile(item)\n }}>{targets().length > 1\n ? props.t(`instanceShell.gitChanges.actions.${action}Selected`, { count: targets().length })\n : `${props.t(`instanceShell.gitChanges.actions.${action}`)} · ${targets()[0]?.path ?? \"\"}`}</button></Show>\n }}</For>\n <div class=\"git-change-commit-input-wrap\">\n <textarea class=\"git-change-commit-input\" rows={1} aria-label={props.t(\"instanceShell.gitChanges.commit.placeholder\")} placeholder={props.t(\"instanceShell.gitChanges.commit.placeholder\")} value={props.git.gitCommitMessage()} onInput={event => props.git.setGitCommitMessage(event.currentTarget.value)} />\n <button type=\"button\" class=\"git-change-commit-button git-change-commit-button-overlay\" disabled={!props.git.gitCommitMessage().trim() || props.git.gitChangeWindow(\"staged\").total === 0 || props.git.gitCommitSubmitting()} onClick={() => void props.git.submitGitCommit()}>{props.t(props.git.gitCommitSubmitting() ? \"instanceShell.gitChanges.commit.submitting\" : \"instanceShell.gitChanges.commit.submit\")}</button>\n </div>\n </div>\n </Show>\n </ChangeSection>\n }</For>\n </DragDropSensors>\n </DragDropProvider>\n </div>\n </section>\n}\n\nconst ChangeSection: Component<{\n t: (key: string, vars?: Record<string, any>) => string\n section: GitChangeSection\n git: ReturnType<typeof useGitChanges>\n canOpenFile: boolean\n onOpenFile: FilesPanelProps[\"onOpenFile\"]\n previewActive: (file: Parameters<FilesPanelProps[\"onOpenFile\"]>[0]) => boolean\n children?: JSX.Element\n}> = sectionProps => {\n const droppable = createDroppable(sectionProps.section)\n const [open, setOpen] = createSignal(true)\n const contentId = createUniqueId(), hiddenLabelId = createUniqueId()\n const rows = () => sectionProps.git.gitChangeWindow(sectionProps.section)\n const count = (value: number) => value.toLocaleString(document.documentElement.lang || undefined)\n let content!: HTMLDivElement\n // In place, like hidden message parts: rows render synchronously above the\n // control, and keyboard focus moves to the first revealed row.\n const reveal = (button: HTMLButtonElement) => {\n const first = rows().firstHiddenId\n const hadFocus = document.activeElement === button\n sectionProps.git.revealGitChanges(sectionProps.section)\n if (!hadFocus || !first) return\n const row = Array.from(content.querySelectorAll<HTMLElement>(\"[data-git-item-id]\")).find(element => element.dataset.gitItemId === first)\n row?.querySelector<HTMLButtonElement>(\"button:enabled\")?.focus({ preventScroll: true })\n }\n return <div ref={droppable} class=\"git-drop-zone git-change-section\" classList={{ \"git-drop-active\": droppable.isActiveDroppable }}>\n <button type=\"button\" class=\"git-change-section-header\" aria-expanded={open()} aria-controls={contentId} onClick={() => setOpen(value => !value)}>\n <span class=\"git-change-section-header-main\">\n <span class=\"git-change-section-chevron disclosure-chevron\"><ChevronRight class=\"w-3.5 h-3.5\" aria-hidden=\"true\" /></span>\n <span class=\"git-change-section-title\">{sectionProps.t(`instanceShell.gitChanges.sections.${sectionProps.section}`)}</span>\n </span>\n <span class=\"git-change-section-count\">{rows().total}</span>\n </button>\n <div ref={content} id={contentId} hidden={!open()}>\n {sectionProps.children}\n <For each={rows().rows}>{item => <GitChangeRow t={sectionProps.t} item={item} git={sectionProps.git}\n canOpenFile={sectionProps.canOpenFile} onOpenFile={sectionProps.onOpenFile} previewActive={sectionProps.previewActive} />}</For>\n <Show when={rows().hidden > 0}>\n <div class=\"git-change-hidden-rows\">\n <span id={hiddenLabelId} class=\"git-change-hidden-rows-label\">\n {sectionProps.t(rows().hidden === 1 ? \"instanceShell.gitChanges.hiddenRows.one\" : \"instanceShell.gitChanges.hiddenRows.other\", { count: count(rows().hidden) })}\n </span>\n <button type=\"button\" class=\"button-secondary git-change-hidden-rows-button\" aria-describedby={hiddenLabelId} onClick={event => reveal(event.currentTarget)}>\n {sectionProps.t(\"instanceShell.gitChanges.hiddenRows.show\", { count: count(rows().nextReveal) })}\n </button>\n </div>\n </Show>\n </div>\n </div>\n}\n\nconst GitChangeRow: Component<{\n t: (key: string, vars?: Record<string, any>) => string\n item: GitChangeListItem\n git: ReturnType<typeof useGitChanges>\n canOpenFile: boolean\n onOpenFile: FilesPanelProps[\"onOpenFile\"]\n previewActive: (file: Parameters<FilesPanelProps[\"onOpenFile\"]>[0]) => boolean\n}> = rowProps => {\n const draggable = createDraggable(rowProps.item.id)\n const staged = () => rowProps.item.section === \"staged\"\n const toggleStage = () => {\n if (staged()) rowProps.git.unstageGitFile(rowProps.item)\n else rowProps.git.stageGitFile(rowProps.item)\n }\n const stageLabel = () => rowProps.t(staged() ? \"instanceShell.gitChanges.actions.unstage\" : \"instanceShell.gitChanges.actions.stage\")\n const target = () => ({ path: rowProps.item.path, originalPath: rowProps.item.originalPath, scope: rowProps.item.section })\n // Keep action identities stable when another reader opens. Recreating every\n // icon/menu for a preview-state change stalls large inventories, even hidden.\n // The stage icon is a getter: FileRowActions renders it inline and in its\n // overflow menu, and one DOM node cannot sit in both (the pinned eye never overflows).\n const actions: ActionOverflowMenuItem[] = [\n { key: \"preview\", get label() { return `${rowProps.t(\"filesPanel.viewer\")} · ${rowProps.item.path}` }, icon: <Eye size={14} />,\n get checked() { return rowProps.previewActive(target()) }, get disabled() { return !rowProps.canOpenFile }, onSelect: () => rowProps.onOpenFile(target()) },\n { key: \"stage\", get label() { return `${stageLabel()} · ${rowProps.item.path}` },\n get icon() { return <Show when={staged()} fallback={<Plus size={14} />}><Minus size={14} /></Show> }, onSelect: toggleStage },\n ]\n const selected = () => rowProps.git.isGitItemSelected(rowProps.item.id)\n // A focused row that leaves the list (moved to the other section, removed) hands focus on.\n let row!: HTMLDivElement\n onCleanup(() => keepFocusAfterRowRemoval(row))\n return <div ref={element => { row = element; draggable(element) }} class=\"git-panel-file-row\" data-git-item-id={rowProps.item.id}\n classList={{ \"git-panel-file-selected\": selected() }} style={transformStyle(draggable.transform)}>\n <button class=\"git-panel-file git-panel-file-main\" aria-pressed={selected()} aria-current={rowProps.git.isGitItemCurrent(rowProps.item.id) ? \"true\" : undefined} title={rowProps.item.path} disabled={!rowProps.canOpenFile} onClick={event => {\n rowProps.git.handleGitRowClick(rowProps.item, event)\n }}><span class=\"git-file-status\">{rowProps.item.status.slice(0, 1).toUpperCase()}</span><span>{rowProps.item.path}</span><small><b class=\"file-list-item-additions\">+{rowProps.item.additions}</b> <b class=\"file-list-item-deletions\">−{rowProps.item.deletions}</b></small></button>\n <FileRowActions label={rowProps.t(\"instanceShell.filesShell.actions.more\", { name: rowProps.item.path })} items={actions} />\n </div>\n}\nexport default FilesPanel\n"],"names":["iconNode","d","key","points","FileCode","props","_$createComponent","Icon","_$mergeProps","name","x1","x2","y1","y2","FileText","cx","cy","r","GitCommitHorizontal","width","height","x","y","rx","ry","Image","px","value","pendingMeasurements","scheduledFrame","scheduleMeasurement","measure","pending","updates","read","update","rowContentWidth","element","style","widths","child","_a","range","visible","stacked","a","b","observeRowOverflow","row","disposed","menu","inline","required","available","next","active","hadActionFocus","target","schedule","resize","mutation","onCleanup","FileRowActions","onMount","toggles","items","filter","item","checked","secondary","button","_el$","_tmpl$","$$click","onSelect","_$insert","icon","_$effect","_p$","_v$","_v$2","label","_v$3","_v$4","_v$5","disabled","e","classList","toggle","t","_$setAttribute","o","i","undefined","_el$2","_tmpl$2","_el$3","firstChild","_el$4","nextSibling","$$pointerdown","event","stopPropagation","_ref$","_$use","For","each","children","ActionOverflowMenu","triggerClass","_$delegateEvents","rowMain","hiddenRowsButton","siblings","direction","elements","keepFocusAfterRowRemoval","control","list","following","preceding","header","current","replacement","candidates","candidate","WorkspaceTree","test","File","root","tabStop","createMemo","tree","rows","some","path","state","selected","focusRow","querySelector","CSS","escape","focus","activateRow","select","type","keyDown","currentTarget","index","findIndex","entry","rtl","document","documentElement","dir","Math","min","length","max","expanded","has","parent","preventDefault","handleCopyPath","ok","copyToClipboard","showToastNotification","category","message","variant","handleNativeOpen","openWorkspacePath","instanceId","worktreeSlug","error","Error","String","rowActions","push","Eye","canOpen","previewPath","onOpen","canOpenWorkspacePaths","isMacApp","isMacDesktop","toLowerCase","endsWith","FolderOpen","TerminalSquare","isWindowsDesktop","open","edit","choose","windowsDefaultAction","ExternalLink","Copy","size","directory","replace","split","pop","isFolder","actions","_el$6","_tmpl$3","_el$7","$$keydown","addEventListener","Show","when","fallback","_tmpl$4","ChevronRight","ChevronDown","Folder","busy","RefreshCw","depth","_v$6","_v$7","_v$8","_v$9","_v$0","n","_$setStyleProperty","s","h","errors","_el$9","_tmpl$5","_el$0","_el$1","load","_el$5","navigator","userAgent","safeWindowsOpenExtensions","Set","windowsEditExtensions","dot","lastIndexOf","extension","slice","FilesPanel","git","gitListItems","setFilter","createSignal","selectedCommitFile","setSelectedCommitFile","previewActive","file","getFilePreview","Boolean","slug","kind","commit","scope","togglePreview","closeFilePreview","onOpenFile","historyBody","historyScroll","selectCommit","id","scrollTop","history","backToCommits","back","requestAnimationFrame","isConnected","commits","page","subject","author","includes","handleStageDragEnd","draggable","droppable","find","section","stageGitFile","unstageGitFile","loading","mode","detailLoading","gitStatusLoading","gitAvailable","gitStatusError","basename","date","Date","toLocaleDateString","lang","month","day","_tmpl$9","_el$8","_el$10","_el$14","_el$18","_el$19","_el$20","_el$25","GitBranch","_c$","_$memo","branch","refresh","refreshGitStatus","gitInit","recheck","onWorktreeChange","worktrees","_el$27","_c$3","onModeChange","gitStatusEntries","_el$11","count","_el$12","canOpenFile","_el$13","_el$15","_el$16","_el$17","initialize","$$input","_el$28","_tmpl$1","_el$29","_el$30","_el$32","_el$33","_el$34","_el$35","refs","_el$31","_tmpl$0","_el$21","hasMore","_el$22","_tmpl$6","_el$23","_tmpl$7","ArrowLeft","details","_el$36","_tmpl$10","_el$37","_el$38","_el$39","files","_el$40","_tmpl$11","_el$41","_tmpl$12","_el$42","_el$43","_el$44","status","_v$17","_v$18","originalPath","_v$19","_$className","_el$24","_tmpl$8","DragDropProvider","collisionDetector","closestCenter","onDragEnd","DragDropSensors","_el$26","_c$2","ChangeSection","_el$45","_tmpl$13","_el$46","_el$47","_el$48","actionSection","targets","gitActionItems","action","_el$49","_c$4","map","join","setGitCommitMessage","submitGitCommit","gitCommitSubmitting","_v$20","_v$21","_v$22","_v$23","gitCommitMessage","trim","gitChangeWindow","total","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","l","u","c","w","m","sectionProps","createDroppable","setOpen","contentId","createUniqueId","hiddenLabelId","toLocaleString","content","reveal","first","firstHiddenId","hadFocus","activeElement","revealGitChanges","Array","from","querySelectorAll","dataset","gitItemId","preventScroll","_el$50","_tmpl$15","_el$51","_el$52","_el$53","_el$54","_el$55","_el$56","_ref$2","GitChangeRow","hidden","_el$57","_tmpl$14","_el$58","_el$59","nextReveal","_v$24","isActiveDroppable","_v$25","_v$26","rowProps","createDraggable","staged","toggleStage","stageLabel","Plus","Minus","isGitItemSelected","_el$60","_tmpl$16","_el$61","_el$62","_el$63","_el$64","_el$65","_el$67","_el$68","handleGitRowClick","toUpperCase","additions","deletions","_v$27","_v$28","_v$29","transformStyle","transform","_v$30","_v$31","isGitItemCurrent","_v$32","_v$33","_$style"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{m as j,o as Oe,t as k,i as c,a as Me,j as Q,g as Ie,d as q,k as Ve,n as We,e as Ae,u as Je}from"./monaco-viewer-CtxFhd10.js";import{k as l,p as L,e as D,s as B,n as Xe,o as W,d as H,x as ae,S as P,m as ue,l as ge,t as fe,a as C,c as J,F as le,u as Ce}from"./git-diff-vendor-CINvIzmQ.js";import{ah as G,ai as Ge,aj as Ye,ac as Qe,aa as Ze,ab as et,ak as tt,al as _e,am as nt}from"./App-z4rDGruy.js";import{I as Ue,v as X,x as rt,H as se,Q as Ee,B as he,w as st,y as ce,z as me,E as it,U as de,_ as Fe,gh as ot,d8 as at,gi as lt,gj as N,gk as ct,gl as dt,eT as ut,gm as gt,gn as ft,b0 as ie,a$ as ht,D as Y,C as mt,b4 as ee,bN as pt,T as vt,go as bt,eW as xt,b5 as yt,b8 as wt,a as St}from"./main-2ULMhXOZ.js";import{u as pe}from"./index-BB2Eo5pO.js";import{h as $t,c as kt}from"./ansi-Bn1IjLoh.js";import{T as It}from"./terminal-square-DeHY-xG8.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./client-state-CdvbHQef.js";import"./client-state-Dy45bMLT.js";import"./CodeNomad-Icon-DTDWwXip.js";const Ct=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],_t=e=>l(Ue,L(e,{name:"GripVertical",iconNode:Ct})),Pt=[["polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",key:"h1p8hx"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Tt=e=>l(Ue,L(e,{name:"XOctagon",iconNode:Pt}));var Dt={};Fe(Dt,{Collapsible:()=>Ot,Content:()=>ve,Root:()=>be,Trigger:()=>xe,useCollapsibleContext:()=>Z});var Re=ge();function Z(){const e=ue(Re);if(e===void 0)throw new Error("[kobalte]: `useCollapsibleContext` must be used within a `Collapsible.Root` component");return e}function ve(e){const[i,a]=D(),s=Z(),t=X({id:s.generateId("content")},e),[g,v]=B(t,["ref","id","style"]),{present:u}=rt({show:s.shouldMount,element:()=>i()??null}),[p,b]=D(0),[I,$]=D(0);let f=s.isOpen()||u();return Xe(()=>{const n=requestAnimationFrame(()=>{f=!1});W(()=>{cancelAnimationFrame(n)})}),H(ae(u,()=>{if(!i())return;i().style.transitionDuration="0s",i().style.animationName="none";const n=i().getBoundingClientRect();b(n.height),$(n.width),f||(i().style.transitionDuration="",i().style.animationName="")})),H(ae(s.isOpen,n=>{!n&&i()&&(i().style.transitionDuration="",i().style.animationName="")},{defer:!0})),H(()=>W(s.registerContentId(g.id))),l(P,{get when(){return u()},get children(){return l(se,L({as:"div",ref(n){var r=he(a,g.ref);typeof r=="function"&&r(n)},get id(){return g.id},get style(){return Ee({"--kb-collapsible-content-height":p()?`${p()}px`:void 0,"--kb-collapsible-content-width":I()?`${I()}px`:void 0},g.style)}},()=>s.dataset(),v))}})}function be(e){const i=`collapsible-${fe()}`,a=X({id:i},e),[s,t]=B(a,["open","defaultOpen","onOpenChange","disabled","forceMount"]),[g,v]=D(),u=st({open:()=>s.open,defaultOpen:()=>s.defaultOpen,onOpenChange:I=>{var $;return($=s.onOpenChange)==null?void 0:$.call(s,I)}}),p=C(()=>({"data-expanded":u.isOpen()?"":void 0,"data-closed":u.isOpen()?void 0:"","data-disabled":s.disabled?"":void 0})),b={dataset:p,isOpen:u.isOpen,disabled:()=>s.disabled??!1,shouldMount:()=>s.forceMount||u.isOpen(),contentId:g,toggle:u.toggle,generateId:me(()=>t.id),registerContentId:ce(v)};return l(Re.Provider,{value:b,get children(){return l(se,L({as:"div"},p,t))}})}function xe(e){const i=Z(),[a,s]=B(e,["onClick"]);return l(it,L({get"aria-expanded"(){return i.isOpen()},get"aria-controls"(){return j(()=>!!i.isOpen())()?i.contentId():void 0},get disabled(){return i.disabled()},onClick:g=>{de(g,a.onClick),i.toggle()}},()=>i.dataset(),s))}var Ot=Object.assign(be,{Content:ve,Trigger:xe}),z={};Fe(z,{Accordion:()=>Mt,Content:()=>He,Header:()=>Ke,Item:()=>Be,Root:()=>ze,Trigger:()=>qe,useAccordionContext:()=>ye});var Le=ge();function Ne(){const e=ue(Le);if(e===void 0)throw new Error("[kobalte]: `useAccordionItemContext` must be used within a `Accordion.Item` component");return e}function He(e){const i=Ne(),a=i.generateId("content"),s=X({id:a},e),[t,g]=B(s,["id","style"]);return H(()=>W(i.registerContentId(t.id))),l(ve,L({role:"region",get"aria-labelledby"(){return i.triggerId()},get style(){return Ee({"--kb-accordion-content-height":"var(--kb-collapsible-content-height)","--kb-accordion-content-width":"var(--kb-collapsible-content-width)"},t.style)}},g))}function Ke(e){const i=Z();return l(se,L({as:"h3"},()=>i.dataset(),e))}var je=ge();function ye(){const e=ue(je);if(e===void 0)throw new Error("[kobalte]: `useAccordionContext` must be used within a `Accordion.Root` component");return e}function Be(e){const i=ye(),a=`${i.generateId("item")}-${fe()}`,s=X({id:a},e),[t,g]=B(s,["value","disabled"]),[v,u]=D(),[p,b]=D(),I=()=>i.listState().selectionManager(),$=()=>I().isSelected(t.value),m={value:()=>t.value,triggerId:v,contentId:p,generateId:me(()=>g.id),registerTriggerId:ce(u),registerContentId:ce(b)};return l(Le.Provider,{value:m,get children(){return l(be,L({get open(){return $()},get disabled(){return t.disabled}},g))}})}function ze(e){let i;const a=`accordion-${fe()}`,s=X({id:a,multiple:!1,collapsible:!1,shouldFocusWrap:!0},e),[t,g]=B(s,["id","ref","value","defaultValue","onChange","multiple","collapsible","shouldFocusWrap","onKeyDown","onMouseDown","onFocusIn","onFocusOut"]),[v,u]=D([]),{DomCollectionProvider:p}=ot({items:v,onItemsChange:u}),b=at({selectedKeys:()=>t.value,defaultSelectedKeys:()=>t.defaultValue,onSelectionChange:m=>{var f;return(f=t.onChange)==null?void 0:f.call(t,Array.from(m))},disallowEmptySelection:()=>!t.multiple&&!t.collapsible,selectionMode:()=>t.multiple?"multiple":"single",dataSource:v});b.selectionManager().setFocusedKey("item-1");const I=lt({selectionManager:()=>b.selectionManager(),collection:()=>b.collection(),disallowEmptySelection:()=>b.selectionManager().disallowEmptySelection(),shouldFocusWrap:()=>t.shouldFocusWrap,disallowTypeAhead:!0,allowsTabNavigation:!0},()=>i),$={listState:()=>b,generateId:me(()=>t.id)};return l(p,{get children(){return l(je.Provider,{value:$,get children(){return l(se,L({as:"div",get id(){return t.id},ref(m){var f=he(n=>i=n,t.ref);typeof f=="function"&&f(m)},get onKeyDown(){return N([t.onKeyDown,I.onKeyDown])},get onMouseDown(){return N([t.onMouseDown,I.onMouseDown])},get onFocusIn(){return N([t.onFocusIn])},get onFocusOut(){return N([t.onFocusOut,I.onFocusOut])}},g))}})}})}function qe(e){let i;const a=ye(),s=Ne(),t=Z(),g=s.generateId("trigger"),v=X({id:g},e),[u,p]=B(v,["ref","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]);ct({getItem:()=>({ref:()=>i,type:"item",key:s.value(),textValue:"",disabled:t.disabled()})});const b=dt({key:()=>s.value(),selectionManager:()=>a.listState().selectionManager(),disabled:()=>t.disabled(),shouldSelectOnPressUp:!0},()=>i),I=$=>{["Enter"," "].includes($.key)&&$.preventDefault(),de($,u.onKeyDown),de($,b.onKeyDown)};return H(()=>W(s.registerTriggerId(p.id))),l(xe,L({ref($){var m=he(f=>i=f,u.ref);typeof m=="function"&&m($)},get"data-key"(){return b.dataKey()},get onPointerDown(){return N([u.onPointerDown,b.onPointerDown])},get onPointerUp(){return N([u.onPointerUp,b.onPointerUp])},get onClick(){return N([u.onClick,b.onClick])},onKeyDown:I,get onMouseDown(){return N([u.onMouseDown,b.onMouseDown])},get onFocus(){return N([u.onFocus,b.onFocus])}},p))}var Mt=Object.assign(ze,{Content:He,Header:Ke,Item:Be,Trigger:qe}),te=k('<div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">'),At=k('<div><div class="flex flex-wrap items-center gap-2 text-xs text-primary opacity-50"><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">');const Ut=e=>{const{t:i}=pe(),{preferences:a}=Oe(),s=C(()=>a().showUsageMetrics??!0),t=C(()=>ut(e.instanceId,e.sessionId)??{cost:0,contextWindow:0,isSubscriptionModel:!1,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:0,contextAvailableTokens:null}),g=C(()=>gt(e.instanceId,e.sessionId)),v=C(()=>g().length>0),u=C(()=>v()?ft(e.instanceId,e.sessionId)??{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}:{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}),p=C(()=>`$${u().cost.toFixed(2)}`),b=C(()=>u().inputTokens),I=C(()=>u().outputTokens),$=C(()=>u().reasoningTokens),m=C(()=>t().inputTokens??0),f=C(()=>t().outputTokens??0),n=C(()=>{const h=t().isSubscriptionModel?0:t().cost;return h>0?h:0}),r=C(()=>t().isSubscriptionModel?i("contextUsagePanel.included"):`$${n().toFixed(2)}`);return(()=>{var h=At(),x=h.firstChild,S=x.firstChild,T=S.firstChild,o=T.nextSibling,d=S.nextSibling,y=d.firstChild,O=y.nextSibling,M=d.nextSibling,F=M.firstChild,E=F.nextSibling;return c(T,()=>i("contextUsagePanel.labels.input")),c(o,()=>G(m())),c(y,()=>i("contextUsagePanel.labels.output")),c(O,()=>G(f())),c(F,()=>i("contextUsagePanel.labels.cost")),c(E,r),c(x,l(P,{get when(){return j(()=>!!v())()&&s()},get children(){return[(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalInput")),c(A,()=>G(b())),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalOutput")),c(A,()=>G(I())),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalCost")),c(A,p),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalReasoning")),c(A,()=>G($())),_})()]}}),null),J(()=>Me(h,`session-context-panel px-4 py-2 ${e.class??""}`)),h})()},re=e=>JSON.stringify([e.instanceId,e.sessionId,e.directory,e.providerId,e.modelId]),Et=(e,i)=>e!=="credits_balance"||i;function Ft(e,i){let a=null,s=0,t=null;const g=()=>{s++,t=null,i(void 0)};return{select(u){u&&a&&re(u)===re(a)||(a=u,g())},invalidate:g,refresh:()=>{const u=a;if(!u)return Promise.resolve();if(t)return t.again=!0,t.promise;const p={generation:s,again:!1,promise:Promise.resolve()};return t=p,p.promise=(async()=>{try{do{p.again=!1;try{const b=await e(u);s===p.generation&&i(b)}catch{s===p.generation&&i(null)}}while(p.again&&s===p.generation)}finally{t===p&&(t=null)}})(),p.promise},dispose(){a=null,s++,t=null}}}var Rt=k('<div class="mt-2 truncate text-right text-sm font-semibold text-secondary">'),Lt=k("<div>"),oe=k("<div class=right-panel-empty-text>"),Nt=k("<div class=space-y-2>"),Ht=k('<div class="h-2 overflow-hidden border border-base"style=background-color:var(--surface-inset)><div class="h-full transition-[width] duration-300"role=progressbar aria-valuemin=0 aria-valuemax=100>'),Kt=k('<div><div class="mb-1 flex items-baseline justify-between gap-2 text-[11px] text-primary"><span class=font-medium></span><div class="flex min-w-0 items-baseline gap-1.5 text-right"><span class="shrink-0 font-medium">'),jt=k("<span class=text-tertiary aria-hidden=true>·"),Bt=k('<span class="truncate text-[10px] text-tertiary">');const zt=6e4,qt=e=>{const{t:i}=pe(),{preferences:a}=Oe(),s=C(()=>{if(!e.active)return null;const o=e.providerId.trim();if(!o)return null;const d=e.modelId.trim();return{instanceId:e.instanceId,sessionId:e.sessionId,directory:e.directory,providerId:o,modelId:d}},null,{equals:(o,d)=>o===d||!!(o&&d&&re(o)===re(d))}),[t,g]=D(),v=Ft(o=>Ve.fetchProviderUsage(o.instanceId,o.sessionId,o.providerId,o.modelId),o=>g(o));H(()=>{v.select(s()),v.refresh()});const u=()=>{v.invalidate(),s()&&v.refresh()},p=Q.on("instance.event",o=>{o.type!=="instance.event"||o.instanceId!==e.instanceId||(o.event.type==="provider.updated"?s()&&(!o.event.location||o.event.location.directory===e.directory)&&v.refresh():["credential.updated","credential.switched","integration.updated","config.updated","server.connected"].includes(o.event.type)&&u())});let b,I;const $=Q.on("instance.eventStatus",o=>{if(o.type!=="instance.eventStatus"||o.instanceId!==e.instanceId)return;const d=JSON.stringify([o.instanceId,o.status,o.generation]);d!==b&&(b=d,v.invalidate(),o.status==="connected"&&s()&&v.refresh())}),m=Q.onTransportStatus(o=>{o!==I&&(I=o,v.invalidate(),o==="connected"&&s()&&v.refresh())}),f=setInterval(()=>{s()&&v.refresh()},zt);W(()=>{v.dispose(),clearInterval(f),p(),$(),m()});const n=C(()=>{var o;return Object.entries(((o=t())==null?void 0:o.windows)??{})}),r=C(()=>n().map(([o])=>o).filter(o=>Et(o,a().showProviderUsageCreditBalance))),h=o=>{const d=o.indexOf(":");if(d>0)return`${h(o.slice(0,d))} · ${o.slice(d+1)}`;const y={"5h":"fiveHours","7d":"sevenDays","7d-sonnet":"sevenDaysSonnet","7d-opus":"sevenDaysOpus",weekly:"weekly",daily:"daily",monthly:"monthly",credits:"credits",credits_balance:"credits",billing_cycle:"billingCycle",session:"session",premium:"premium",chat:"chat",completions:"completions","mcp-tools":"mcpTools"}[o];return y?i(`providerUsage.windows.${y}`):o},x=o=>o.valueLabel?o.valueLabel:o.usedPercent===null?i("providerUsage.unavailableValue"):i("providerUsage.usedPercent",{percent:Math.round(o.usedPercent)}),S=o=>{if(!o)return null;const d=new Date(o);return Number.isFinite(d.getTime())?i("providerUsage.resets",{time:d.toLocaleString([],{dateStyle:"short",timeStyle:"short"})}):null},T=o=>o!==null&&o>=80?"var(--status-error)":o!==null&&o>=50?"var(--status-warning)":"var(--status-success)";return(()=>{var o=Lt();return c(o,l(P,{get when(){return t()!==void 0},get fallback(){return(()=>{var d=oe();return c(d,()=>i("providerUsage.loading")),d})()},get children(){return l(P,{get when(){return t()},get fallback(){return(()=>{var d=oe();return c(d,()=>i("providerUsage.unavailable")),d})()},children:d=>l(P,{get when(){return j(()=>!!(d().supported&&d().configured&&d().ok))()&&n().length>0},get fallback(){return(()=>{var y=oe();return c(y,()=>i(d().supported?d().configured?d().unavailableReason==="native-credential-api-unavailable"?"providerUsage.nativeCredentialApiUnavailable":d().unavailableReason==="openai-token-sharing-unsupported"?"providerUsage.openaiTokenSharingUnsupported":"providerUsage.unavailable":"providerUsage.notConfigured":"providerUsage.unsupported",{version:"2.0.20"})),y})()},get children(){var y=Nt();return c(y,l(le,{get each(){return r()},children:O=>{const M=C(F=>{var E;return((E=t())==null?void 0:E.windows[O])??F},t().windows[O]);return(()=>{var F=Kt(),E=F.firstChild,_=E.firstChild,w=_.nextSibling,A=w.firstChild;return c(_,()=>h(O)),c(A,()=>x(M())),c(w,l(P,{get when(){return S(M().resetAt)},children:K=>[jt(),(()=>{var R=Bt();return c(R,K),R})()]}),null),c(F,l(P,{get when(){return M().usedPercent!==null},get children(){var K=Ht(),R=K.firstChild;return J(U=>{var we=`${Math.max(0,Math.min(100,M().usedPercent??0))}%`,Se=T(M().usedPercent),$e=i("providerUsage.progressLabel",{window:h(O)}),ke=Math.round(M().usedPercent??0);return we!==U.e&&Ie(R,"width",U.e=we),Se!==U.t&&Ie(R,"background-color",U.t=Se),$e!==U.a&&q(R,"aria-label",U.a=$e),ke!==U.o&&q(R,"aria-valuenow",U.o=ke),U},{e:void 0,t:void 0,a:void 0,o:void 0}),K}}),null),F})()}})),y}})})}}),null),c(o,l(P,{get when(){return j(()=>{var d,y,O;return!!((d=t())!=null&&d.supported&&((y=t())!=null&&y.configured)&&((O=t())!=null&&O.ok))})()&&n().length>0},get children(){var d=Rt();return c(d,()=>{var y;return((y=t())==null?void 0:y.providerName)??e.providerId}),d}}),null),o})()},Pe=4*1024*1024;function Vt(e,i){const a=e+i;if(a.length<=Pe)return{output:a,truncated:!1};let s=a.length-Pe;a.charCodeAt(s)>=56320&&a.charCodeAt(s)<=57343&&(s+=1),a[s]==="\x1B"&&a[s+1]==="\\"?s+=2:a[s]==="\\"&&a[s-1]==="\x1B"&&(s+=1);const t=a.lastIndexOf("\x1B",s);if(t>=0){let g=-1,v=!1;if(a[t+1]==="["){v=!0;for(let u=t+2;u<a.length;u+=1){const p=a.charCodeAt(u);if(p===24||p===26){g=u+1;break}if(p>=64&&p<=126){g=u+1;break}}}else if(a[t+1]==="]"){v=!0;const u=a.indexOf("\x07",t+2),p=a.indexOf("\x1B\\",t+2),b=a.slice(t+2).search(/[\u0018\u001a]/),I=[u<0?1/0:u+1,p<0?1/0:p+2,b<0?1/0:t+3+b];g=Math.min(...I),Number.isFinite(g)||(g=-1)}else if(["P","X","^","_"].includes(a[t+1]??"")){v=!0;const u=a.indexOf("\x1B\\",t+2),p=a.slice(t+2).search(/[\u0018\u001a]/);g=Math.min(u<0?1/0:u+2,p<0?1/0:t+3+p),Number.isFinite(g)||(g=-1)}v&&g>=s?s=g:v&&g<0&&t<s&&(s=a.length)}return{output:a.slice(s),truncated:!0}}const Te={items:[],loading:!1,failed:!1},Wt=new Set(["shell.created","shell.exited","shell.deleted","server.connected"]);function Jt(e){const i=a=>({directory:a});return{list:async(a,s)=>(await e.shell.list({location:i(a)},ie({directory:a,workspaceID:s}))).data,remove:(a,s,t)=>e.shell.remove({id:s,location:i(a)},ie({directory:a,workspaceID:t})),output:async(a,s,t=0,g)=>(await e.shell.output({id:s,location:i(a),cursor:t,limit:1024*1024},ie({directory:a,workspaceID:g}))).data}}function Xt(e){const[i,a]=D(new Map),s=new Map,t=(m,f,n)=>JSON.stringify([m,f,n]),g=(m,f)=>a(n=>new Map(n).set(m,f)),v=m=>Ce(()=>i().get(m)??Te),u=async(m,f,n,r=!1)=>{if(!m||!f)return;const h=t(m,f,n),x=s.get(h);if(x)return r&&(x.dirty=!0),x.promise;const S={promise:Promise.resolve(),dirty:!1};return s.set(h,S),g(h,{...v(h),loading:!0,failed:!1}),S.promise=Promise.resolve().then(async()=>{do{S.dirty=!1;try{const T=await e(m).list(f,n);S.dirty||g(h,{items:T,loading:!1,failed:!1})}catch{S.dirty||g(h,{...v(h),loading:!1,failed:!0})}}while(S.dirty)}).finally(()=>s.delete(h)),S.promise};return{getState:(m,f,n)=>i().get(t(m,f,n))??Te,load:u,refreshForEvent:async(m,f)=>{var x,S,T;if(!Wt.has(f.type))return;const n=((x=f.location)==null?void 0:x.directory)??((T=(S=f.data)==null?void 0:S.info)==null?void 0:T.cwd),r=Array.from(Ce(i).keys()).map(o=>JSON.parse(o)).filter(([o])=>o===m),h=n?r.filter(([,o,d])=>{var y;return Gt(o,n)&&(((y=f.location)==null?void 0:y.workspaceID)===void 0||f.location.workspaceID===d)}):r;await Promise.all((h.length?h:r).map(([,o,d])=>u(m,o,d??void 0,!0)))},remove:async(m,f,n,r)=>{try{return await e(m).remove(f,n,r),await u(m,f,r,!0),!0}catch{return!1}},output:(m,f,n,r,h)=>e(m).output(f,n,r,h)}}function Gt(e,i){const a=s=>{const t=s.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t};return a(e)===a(i)}const V=Xt(e=>Jt(ht(e)));Q.on("instance.event",e=>{e.type!=="instance.event"||!e.event.type.startsWith("shell.")||V.refreshForEvent(e.instanceId,e.event)});Q.on("instance.eventStatus",e=>{e.type!=="instance.eventStatus"||e.status!=="connected"||V.refreshForEvent(e.instanceId,{type:"server.connected"})});var Yt=k('<div class=window-header><div class="min-w-0 flex-1"><span class="block truncate text-xs text-secondary"></span></div><button type=button class="button-tertiary shrink-0">'),Qt=k('<p class="text-xs text-secondary">'),Zt=k('<p class="mb-2 text-xs text-secondary">'),en=k('<pre class="border border-base bg-surface-inset p-4 font-mono text-xs text-primary whitespace-pre-wrap break-all">'),tn=k("<div class=window-body>"),nn=k('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">');function rn(e){const{t:i}=pe(),[a,s]=D(""),[t,g]=D(""),[v,u]=D(!1),[p,b]=D(!1),[I,$]=D(!1);return H(()=>{const m=e.shell,f=e.directory,n=e.workspaceID;if(!e.open||!m||!f)return;let r=!0,h=0,x="",S;const T=()=>{const d=$t(x);if(u(d),!d)return g("");const y=kt();g(y.render(x))},o=async()=>{try{const d=await V.output(e.instanceId,f,m.id,h,n);if(!r)return;if(h=d.cursor,d.output){const y=Vt(x,d.output);x=y.output,s(x),b(O=>O||d.truncated||y.truncated),T()}else d.truncated&&b(!0)}catch{if(!r)return;s(i("backgroundProcessOutputDialog.loadErrorFallback"))}finally{if(!r)return;$(!1),S=setTimeout(o,1e3)}};s(""),g(""),u(!1),b(!1),$(!0),o(),W(()=>{r=!1,S&&clearTimeout(S)})}),l(Y,{get open(){return e.open},onOpenChange:m=>!m&&e.onClose(),modal:!0,get children(){return l(Y.Portal,{get children(){return[l(Y.Overlay,{class:"modal-overlay"}),(()=>{var m=nn();return c(m,l(Y.Content,{class:"modal-surface flex max-h-[90vh] w-full max-w-5xl flex-col overflow-hidden",get children(){return[(()=>{var f=Yt(),n=f.firstChild,r=n.firstChild,h=n.nextSibling;return c(n,l(Y.Title,{class:"window-title",get children(){return i("backgroundProcessOutputDialog.title")}}),r),c(r,()=>{var x;return(x=e.shell)==null?void 0:x.command}),We(h,"click",e.onClose,!0),c(h,()=>i("backgroundProcessOutputDialog.actions.close")),J(()=>{var x;return q(r,"title",(x=e.shell)==null?void 0:x.command)}),f})(),(()=>{var f=tn();return c(f,l(P,{get when(){return I()},get children(){var n=Qt();return c(n,()=>i("backgroundProcessOutputDialog.loading")),n}}),null),c(f,l(P,{get when(){return p()},get children(){var n=Zt();return c(n,()=>i("backgroundProcessOutputDialog.truncatedNotice")),n}}),null),c(f,l(P,{get when(){return!I()},get children(){var n=en();return c(n,(()=>{var r=j(()=>!!v());return()=>r()?void 0:a()})()),J(()=>n.innerHTML=v()?t():void 0),n}}),null),f})()]}})),m})()]}})}})}Ae(["click"]);var sn=k("<span class=section-left><span class=section-label>"),on=k("<div>"),ne=k('<div class="right-panel-empty right-panel-empty--left"><span class=text-xs>'),an=k('<div class="flex items-center justify-between gap-2 border border-base bg-surface-secondary px-3 py-2"><p class="min-w-0 text-xs leading-5 text-secondary"></p><div class="-mr-2 shrink-0">'),ln=k('<div class="flex flex-col gap-1">'),De=k("<span>"),cn=k('<article class=status-process-card><div class="flex items-start justify-between gap-2"><div class="min-w-0 flex-1"><h4 class="truncate text-xs font-medium text-primary"></h4><code class="mt-1 block truncate text-xs text-secondary"></code></div></div><div class="mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs text-tertiary"><span></span></div><div class="mt-1 truncate text-xs text-tertiary"></div><div class=status-process-actions><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1"></button><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1">'),dn=k("<div class=right-panel-empty-text>"),un=k('<div class="border border-base bg-surface-secondary px-3 py-2">'),gn=k("<div class=status-tab-container>");const fn=e=>{const i=nt(e.section.id);return(()=>{var a=on();return Je(i,a),c(a,l(z.Item,{get value(){return e.section.id},class:"right-panel-accordion-item",get children(){return[l(z.Header,{class:"right-panel-accordion-header-row",get children(){return[l(z.Trigger,{class:"right-panel-accordion-trigger",get children(){var s=sn(),t=s.firstChild;return c(s,l(mt,{class:"right-panel-accordion-chevron disclosure-chevron"}),t),c(t,()=>e.t(e.section.labelKey)),s}}),l(ee,{openDelay:200,gutter:4,placement:"top",get children(){return[l(ee.Trigger,{as:"button",type:"button",class:"section-info-trigger",get"aria-label"(){return e.t(e.section.tooltipKey)},get children(){return l(pt,{class:"section-info-icon"})}}),l(ee.Portal,{get children(){return l(ee.Content,{class:"section-info-tooltip",get children(){return e.t(e.section.tooltipKey)}})}})]}}),l(_t,{class:"right-panel-section-grip","aria-hidden":"true"})]}}),l(z.Content,{class:"right-panel-accordion-content",get children(){return e.section.render()}})]}})),J(()=>Me(a,`right-panel-section-draggable ${i.isActiveDraggable?"right-panel-section-draggable-active":""}`)),a})()},Cn=e=>{const i=n=>e.expandedItems().includes(n),a=C(()=>{var n;return((n=e.activeSession())==null?void 0:n.location)??{directory:e.instance.folder}}),s=C(()=>V.getState(e.instanceId,a().directory,a().workspaceID)),[t,g]=D(null);H(ae(()=>[e.instanceId,a().directory,a().workspaceID],([n,r,h])=>void V.load(n,r,h)));const v=()=>{const n=e.activeSession();return n?(()=>{var r=an(),h=r.firstChild,x=h.nextSibling;return c(h,()=>e.t("instanceShell.yoloMode.description")),c(x,l(yt,{class:"yolo-mode-switch",get checked(){return xt(e.instanceId,n.id)},size:"small",sx:{"& .MuiSwitch-switchBase.Mui-checked":{color:"var(--session-yolo-accent)"},"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track":{backgroundColor:"var(--session-yolo-accent)"}},get inputProps(){return{"aria-label":e.t("instanceShell.yoloMode.title")}},onChange:()=>bt(e.instanceId,n.id)})),r})():(()=>{var r=ne(),h=r.firstChild;return c(h,()=>e.t("instanceShell.yoloMode.noSessionSelected")),r})()},u=async(n,r,h)=>{const x=e.instanceId,S={...a()};await wt(e.t("instanceShell.backgroundProcesses.remove.message",{title:r}),{title:e.t("instanceShell.backgroundProcesses.remove.title"),confirmLabel:e.t(h?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove")})&&!await V.remove(x,S.directory,n,S.workspaceID)&&St({category:"sessions",message:e.t("instanceShell.backgroundProcesses.error"),variant:"error"})},p=()=>l(P,{get when(){return!s().failed},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.error")),n})()},get children(){return l(P,{get when(){return!s().loading||s().items.length>0},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.loading")),n})()},get children(){return l(P,{get when(){return s().items.length>0},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.empty")),n})()},get children(){var n=ln();return c(n,l(le,{get each(){return s().items},children:r=>{const h=()=>r.status==="running";return(()=>{var x=cn(),S=x.firstChild,T=S.firstChild,o=T.firstChild,d=o.nextSibling,y=S.nextSibling,O=y.firstChild,M=y.nextSibling,F=M.nextSibling,E=F.firstChild,_=E.nextSibling;return c(o,()=>r.command),c(d,()=>r.shell),c(O,()=>e.t(`instanceShell.backgroundProcesses.status.${r.status}`)),c(y,l(P,{get when(){return r.pid!==void 0},get children(){var w=De();return c(w,()=>e.t("instanceShell.backgroundProcesses.pid",{pid:r.pid})),w}}),null),c(y,l(P,{get when(){return r.exit!==void 0},get children(){var w=De();return c(w,()=>e.t("instanceShell.backgroundProcesses.exitCode",{code:r.exit})),w}}),null),c(M,()=>r.cwd),E.$$click=()=>g({shell:r,location:{...a()},instanceId:e.instanceId}),c(E,l(It,{class:"h-3.5 w-3.5","aria-hidden":"true"}),null),c(E,()=>e.t("instanceShell.backgroundProcesses.actions.output"),null),_.$$click=()=>void u(r.id,r.command,h()),c(_,l(P,{get when(){return h()},get fallback(){return l(vt,{class:"h-3.5 w-3.5","aria-hidden":"true"})},get children(){return l(Tt,{class:"h-3.5 w-3.5","aria-hidden":"true"})}}),null),c(_,()=>e.t(h()?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove"),null),J(w=>{var A=r.command,K=r.shell,R=r.cwd,U=s().loading;return A!==w.e&&q(o,"title",w.e=A),K!==w.t&&q(d,"title",w.t=K),R!==w.a&&q(M,"title",w.a=R),U!==w.o&&(_.disabled=w.o=U),w},{e:void 0,t:void 0,a:void 0,o:void 0}),x})()}})),n}})}})}}),b=()=>l(P,{get when(){return e.activeSession()},get fallback(){return(()=>{var n=dn();return c(n,()=>e.t("providerUsage.noSession")),n})()},children:n=>(()=>{var r=un();return c(r,l(qt,{get instanceId(){return e.instanceId},get sessionId(){return n().id},get directory(){return n().location.directory},get providerId(){return n().model.providerId},get modelId(){return n().model.modelId},get active(){return j(()=>!!e.isActive())()&&e.expandedItems().includes("provider-usage")}})),r})()}),I=C(()=>[...Ge({renderTokens:()=>l(P,{get when(){var r;return(r=e.activeSession())==null?void 0:r.id},get children(){return l(Ut,{get instanceId(){return e.instanceId},get sessionId(){return e.activeSession().id}})}}),renderYoloModeSection:v,renderProviderUsage:b,renderBackgroundProcesses:p,renderMcpStatus:()=>l(_e,{get initialInstance(){return e.instance},sections:["mcp"],showSectionHeadings:!1,class:"space-y-2"}),renderPluginStatus:()=>l(_e,{get initialInstance(){return e.instance},sections:["plugins"],showSectionHeadings:!1,get pluginsActive(){return j(()=>!!e.isActive())()&&i("plugins")},class:"space-y-2"})}).statusSections??[],...e.extraSections??[]]),$=C(()=>Ye(I(),e.customization().statusSectionOrder,e.customization().hiddenStatusSectionIds)),m=(n,r)=>{if(!n||n===r)return;const h=$().map(d=>d.id),x=h.indexOf(n),S=h.indexOf(r);if(x===-1||S===-1)return;const T=[...h],[o]=T.splice(x,1);T.splice(S,0,o),e.onCustomizationChange(d=>({...d,statusSectionOrder:T}))},f=({draggable:n,droppable:r})=>{r&&m(String(n.id),String(r.id))};return(()=>{var n=gn();return c(n,l(z.Root,{class:"right-panel-accordion",collapsible:!0,multiple:!0,get value(){return e.expandedItems()},get onChange(){return e.onExpandedItemsChange},get children(){return l(Qe,{collisionDetector:Ze,onDragEnd:f,get children(){return l(et,{get children(){return l(tt,{get ids(){return $().map(r=>r.id)},get children(){return l(le,{get each(){return $()},children:r=>l(fn,{section:r,get expanded(){return i(r.id)},get t(){return e.t}})})}})}})}})}}),null),c(n,l(rn,{get open(){return!!t()},get instanceId(){var r;return((r=t())==null?void 0:r.instanceId)??e.instanceId},get directory(){var r;return((r=t())==null?void 0:r.location.directory)??a().directory},get workspaceID(){var r;return(r=t())==null?void 0:r.location.workspaceID},get shell(){var r;return((r=t())==null?void 0:r.shell)??null},onClose:()=>g(null)}),null),n})()};Ae(["click"]);export{Cn as default};
|
|
2
|
-
//# sourceMappingURL=StatusTab-
|
|
1
|
+
import{m as j,o as Oe,t as k,i as c,a as Me,j as Q,g as Ie,d as q,k as Ve,n as We,e as Ae,u as Je}from"./monaco-viewer-CtxFhd10.js";import{k as l,p as L,e as D,s as B,n as Xe,o as W,d as H,x as ae,S as P,m as ue,l as ge,t as fe,a as C,c as J,F as le,u as Ce}from"./git-diff-vendor-CINvIzmQ.js";import{ah as G,ai as Ge,aj as Ye,ac as Qe,aa as Ze,ab as et,ak as tt,al as _e,am as nt}from"./App-7u0r589J.js";import{I as Ue,v as X,x as rt,H as se,Q as Ee,B as he,w as st,y as ce,z as me,E as it,U as de,_ as Fe,gh as ot,d8 as at,gi as lt,gj as N,gk as ct,gl as dt,eT as ut,gm as gt,gn as ft,b0 as ie,a$ as ht,D as Y,C as mt,b4 as ee,bN as pt,T as vt,go as bt,eW as xt,b5 as yt,b8 as wt,a as St}from"./main-CSjPT-d2.js";import{u as pe}from"./index-BB2Eo5pO.js";import{h as $t,c as kt}from"./ansi-Bn1IjLoh.js";import{T as It}from"./terminal-square-CBQGNjjn.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./client-state-Dbg3RTSW.js";import"./client-state-_VkciMC3.js";import"./CodeNomad-Icon-DTDWwXip.js";const Ct=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],_t=e=>l(Ue,L(e,{name:"GripVertical",iconNode:Ct})),Pt=[["polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",key:"h1p8hx"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Tt=e=>l(Ue,L(e,{name:"XOctagon",iconNode:Pt}));var Dt={};Fe(Dt,{Collapsible:()=>Ot,Content:()=>ve,Root:()=>be,Trigger:()=>xe,useCollapsibleContext:()=>Z});var Re=ge();function Z(){const e=ue(Re);if(e===void 0)throw new Error("[kobalte]: `useCollapsibleContext` must be used within a `Collapsible.Root` component");return e}function ve(e){const[i,a]=D(),s=Z(),t=X({id:s.generateId("content")},e),[g,v]=B(t,["ref","id","style"]),{present:u}=rt({show:s.shouldMount,element:()=>i()??null}),[p,b]=D(0),[I,$]=D(0);let f=s.isOpen()||u();return Xe(()=>{const n=requestAnimationFrame(()=>{f=!1});W(()=>{cancelAnimationFrame(n)})}),H(ae(u,()=>{if(!i())return;i().style.transitionDuration="0s",i().style.animationName="none";const n=i().getBoundingClientRect();b(n.height),$(n.width),f||(i().style.transitionDuration="",i().style.animationName="")})),H(ae(s.isOpen,n=>{!n&&i()&&(i().style.transitionDuration="",i().style.animationName="")},{defer:!0})),H(()=>W(s.registerContentId(g.id))),l(P,{get when(){return u()},get children(){return l(se,L({as:"div",ref(n){var r=he(a,g.ref);typeof r=="function"&&r(n)},get id(){return g.id},get style(){return Ee({"--kb-collapsible-content-height":p()?`${p()}px`:void 0,"--kb-collapsible-content-width":I()?`${I()}px`:void 0},g.style)}},()=>s.dataset(),v))}})}function be(e){const i=`collapsible-${fe()}`,a=X({id:i},e),[s,t]=B(a,["open","defaultOpen","onOpenChange","disabled","forceMount"]),[g,v]=D(),u=st({open:()=>s.open,defaultOpen:()=>s.defaultOpen,onOpenChange:I=>{var $;return($=s.onOpenChange)==null?void 0:$.call(s,I)}}),p=C(()=>({"data-expanded":u.isOpen()?"":void 0,"data-closed":u.isOpen()?void 0:"","data-disabled":s.disabled?"":void 0})),b={dataset:p,isOpen:u.isOpen,disabled:()=>s.disabled??!1,shouldMount:()=>s.forceMount||u.isOpen(),contentId:g,toggle:u.toggle,generateId:me(()=>t.id),registerContentId:ce(v)};return l(Re.Provider,{value:b,get children(){return l(se,L({as:"div"},p,t))}})}function xe(e){const i=Z(),[a,s]=B(e,["onClick"]);return l(it,L({get"aria-expanded"(){return i.isOpen()},get"aria-controls"(){return j(()=>!!i.isOpen())()?i.contentId():void 0},get disabled(){return i.disabled()},onClick:g=>{de(g,a.onClick),i.toggle()}},()=>i.dataset(),s))}var Ot=Object.assign(be,{Content:ve,Trigger:xe}),z={};Fe(z,{Accordion:()=>Mt,Content:()=>He,Header:()=>Ke,Item:()=>Be,Root:()=>ze,Trigger:()=>qe,useAccordionContext:()=>ye});var Le=ge();function Ne(){const e=ue(Le);if(e===void 0)throw new Error("[kobalte]: `useAccordionItemContext` must be used within a `Accordion.Item` component");return e}function He(e){const i=Ne(),a=i.generateId("content"),s=X({id:a},e),[t,g]=B(s,["id","style"]);return H(()=>W(i.registerContentId(t.id))),l(ve,L({role:"region",get"aria-labelledby"(){return i.triggerId()},get style(){return Ee({"--kb-accordion-content-height":"var(--kb-collapsible-content-height)","--kb-accordion-content-width":"var(--kb-collapsible-content-width)"},t.style)}},g))}function Ke(e){const i=Z();return l(se,L({as:"h3"},()=>i.dataset(),e))}var je=ge();function ye(){const e=ue(je);if(e===void 0)throw new Error("[kobalte]: `useAccordionContext` must be used within a `Accordion.Root` component");return e}function Be(e){const i=ye(),a=`${i.generateId("item")}-${fe()}`,s=X({id:a},e),[t,g]=B(s,["value","disabled"]),[v,u]=D(),[p,b]=D(),I=()=>i.listState().selectionManager(),$=()=>I().isSelected(t.value),m={value:()=>t.value,triggerId:v,contentId:p,generateId:me(()=>g.id),registerTriggerId:ce(u),registerContentId:ce(b)};return l(Le.Provider,{value:m,get children(){return l(be,L({get open(){return $()},get disabled(){return t.disabled}},g))}})}function ze(e){let i;const a=`accordion-${fe()}`,s=X({id:a,multiple:!1,collapsible:!1,shouldFocusWrap:!0},e),[t,g]=B(s,["id","ref","value","defaultValue","onChange","multiple","collapsible","shouldFocusWrap","onKeyDown","onMouseDown","onFocusIn","onFocusOut"]),[v,u]=D([]),{DomCollectionProvider:p}=ot({items:v,onItemsChange:u}),b=at({selectedKeys:()=>t.value,defaultSelectedKeys:()=>t.defaultValue,onSelectionChange:m=>{var f;return(f=t.onChange)==null?void 0:f.call(t,Array.from(m))},disallowEmptySelection:()=>!t.multiple&&!t.collapsible,selectionMode:()=>t.multiple?"multiple":"single",dataSource:v});b.selectionManager().setFocusedKey("item-1");const I=lt({selectionManager:()=>b.selectionManager(),collection:()=>b.collection(),disallowEmptySelection:()=>b.selectionManager().disallowEmptySelection(),shouldFocusWrap:()=>t.shouldFocusWrap,disallowTypeAhead:!0,allowsTabNavigation:!0},()=>i),$={listState:()=>b,generateId:me(()=>t.id)};return l(p,{get children(){return l(je.Provider,{value:$,get children(){return l(se,L({as:"div",get id(){return t.id},ref(m){var f=he(n=>i=n,t.ref);typeof f=="function"&&f(m)},get onKeyDown(){return N([t.onKeyDown,I.onKeyDown])},get onMouseDown(){return N([t.onMouseDown,I.onMouseDown])},get onFocusIn(){return N([t.onFocusIn])},get onFocusOut(){return N([t.onFocusOut,I.onFocusOut])}},g))}})}})}function qe(e){let i;const a=ye(),s=Ne(),t=Z(),g=s.generateId("trigger"),v=X({id:g},e),[u,p]=B(v,["ref","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]);ct({getItem:()=>({ref:()=>i,type:"item",key:s.value(),textValue:"",disabled:t.disabled()})});const b=dt({key:()=>s.value(),selectionManager:()=>a.listState().selectionManager(),disabled:()=>t.disabled(),shouldSelectOnPressUp:!0},()=>i),I=$=>{["Enter"," "].includes($.key)&&$.preventDefault(),de($,u.onKeyDown),de($,b.onKeyDown)};return H(()=>W(s.registerTriggerId(p.id))),l(xe,L({ref($){var m=he(f=>i=f,u.ref);typeof m=="function"&&m($)},get"data-key"(){return b.dataKey()},get onPointerDown(){return N([u.onPointerDown,b.onPointerDown])},get onPointerUp(){return N([u.onPointerUp,b.onPointerUp])},get onClick(){return N([u.onClick,b.onClick])},onKeyDown:I,get onMouseDown(){return N([u.onMouseDown,b.onMouseDown])},get onFocus(){return N([u.onFocus,b.onFocus])}},p))}var Mt=Object.assign(ze,{Content:He,Header:Ke,Item:Be,Trigger:qe}),te=k('<div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">'),At=k('<div><div class="flex flex-wrap items-center gap-2 text-xs text-primary opacity-50"><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">');const Ut=e=>{const{t:i}=pe(),{preferences:a}=Oe(),s=C(()=>a().showUsageMetrics??!0),t=C(()=>ut(e.instanceId,e.sessionId)??{cost:0,contextWindow:0,isSubscriptionModel:!1,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:0,contextAvailableTokens:null}),g=C(()=>gt(e.instanceId,e.sessionId)),v=C(()=>g().length>0),u=C(()=>v()?ft(e.instanceId,e.sessionId)??{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}:{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}),p=C(()=>`$${u().cost.toFixed(2)}`),b=C(()=>u().inputTokens),I=C(()=>u().outputTokens),$=C(()=>u().reasoningTokens),m=C(()=>t().inputTokens??0),f=C(()=>t().outputTokens??0),n=C(()=>{const h=t().isSubscriptionModel?0:t().cost;return h>0?h:0}),r=C(()=>t().isSubscriptionModel?i("contextUsagePanel.included"):`$${n().toFixed(2)}`);return(()=>{var h=At(),x=h.firstChild,S=x.firstChild,T=S.firstChild,o=T.nextSibling,d=S.nextSibling,y=d.firstChild,O=y.nextSibling,M=d.nextSibling,F=M.firstChild,E=F.nextSibling;return c(T,()=>i("contextUsagePanel.labels.input")),c(o,()=>G(m())),c(y,()=>i("contextUsagePanel.labels.output")),c(O,()=>G(f())),c(F,()=>i("contextUsagePanel.labels.cost")),c(E,r),c(x,l(P,{get when(){return j(()=>!!v())()&&s()},get children(){return[(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalInput")),c(A,()=>G(b())),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalOutput")),c(A,()=>G(I())),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalCost")),c(A,p),_})(),(()=>{var _=te(),w=_.firstChild,A=w.nextSibling;return c(w,()=>i("contextUsagePanel.labels.totalReasoning")),c(A,()=>G($())),_})()]}}),null),J(()=>Me(h,`session-context-panel px-4 py-2 ${e.class??""}`)),h})()},re=e=>JSON.stringify([e.instanceId,e.sessionId,e.directory,e.providerId,e.modelId]),Et=(e,i)=>e!=="credits_balance"||i;function Ft(e,i){let a=null,s=0,t=null;const g=()=>{s++,t=null,i(void 0)};return{select(u){u&&a&&re(u)===re(a)||(a=u,g())},invalidate:g,refresh:()=>{const u=a;if(!u)return Promise.resolve();if(t)return t.again=!0,t.promise;const p={generation:s,again:!1,promise:Promise.resolve()};return t=p,p.promise=(async()=>{try{do{p.again=!1;try{const b=await e(u);s===p.generation&&i(b)}catch{s===p.generation&&i(null)}}while(p.again&&s===p.generation)}finally{t===p&&(t=null)}})(),p.promise},dispose(){a=null,s++,t=null}}}var Rt=k('<div class="mt-2 truncate text-right text-sm font-semibold text-secondary">'),Lt=k("<div>"),oe=k("<div class=right-panel-empty-text>"),Nt=k("<div class=space-y-2>"),Ht=k('<div class="h-2 overflow-hidden border border-base"style=background-color:var(--surface-inset)><div class="h-full transition-[width] duration-300"role=progressbar aria-valuemin=0 aria-valuemax=100>'),Kt=k('<div><div class="mb-1 flex items-baseline justify-between gap-2 text-[11px] text-primary"><span class=font-medium></span><div class="flex min-w-0 items-baseline gap-1.5 text-right"><span class="shrink-0 font-medium">'),jt=k("<span class=text-tertiary aria-hidden=true>·"),Bt=k('<span class="truncate text-[10px] text-tertiary">');const zt=6e4,qt=e=>{const{t:i}=pe(),{preferences:a}=Oe(),s=C(()=>{if(!e.active)return null;const o=e.providerId.trim();if(!o)return null;const d=e.modelId.trim();return{instanceId:e.instanceId,sessionId:e.sessionId,directory:e.directory,providerId:o,modelId:d}},null,{equals:(o,d)=>o===d||!!(o&&d&&re(o)===re(d))}),[t,g]=D(),v=Ft(o=>Ve.fetchProviderUsage(o.instanceId,o.sessionId,o.providerId,o.modelId),o=>g(o));H(()=>{v.select(s()),v.refresh()});const u=()=>{v.invalidate(),s()&&v.refresh()},p=Q.on("instance.event",o=>{o.type!=="instance.event"||o.instanceId!==e.instanceId||(o.event.type==="provider.updated"?s()&&(!o.event.location||o.event.location.directory===e.directory)&&v.refresh():["credential.updated","credential.switched","integration.updated","config.updated","server.connected"].includes(o.event.type)&&u())});let b,I;const $=Q.on("instance.eventStatus",o=>{if(o.type!=="instance.eventStatus"||o.instanceId!==e.instanceId)return;const d=JSON.stringify([o.instanceId,o.status,o.generation]);d!==b&&(b=d,v.invalidate(),o.status==="connected"&&s()&&v.refresh())}),m=Q.onTransportStatus(o=>{o!==I&&(I=o,v.invalidate(),o==="connected"&&s()&&v.refresh())}),f=setInterval(()=>{s()&&v.refresh()},zt);W(()=>{v.dispose(),clearInterval(f),p(),$(),m()});const n=C(()=>{var o;return Object.entries(((o=t())==null?void 0:o.windows)??{})}),r=C(()=>n().map(([o])=>o).filter(o=>Et(o,a().showProviderUsageCreditBalance))),h=o=>{const d=o.indexOf(":");if(d>0)return`${h(o.slice(0,d))} · ${o.slice(d+1)}`;const y={"5h":"fiveHours","7d":"sevenDays","7d-sonnet":"sevenDaysSonnet","7d-opus":"sevenDaysOpus",weekly:"weekly",daily:"daily",monthly:"monthly",credits:"credits",credits_balance:"credits",billing_cycle:"billingCycle",session:"session",premium:"premium",chat:"chat",completions:"completions","mcp-tools":"mcpTools"}[o];return y?i(`providerUsage.windows.${y}`):o},x=o=>o.valueLabel?o.valueLabel:o.usedPercent===null?i("providerUsage.unavailableValue"):i("providerUsage.usedPercent",{percent:Math.round(o.usedPercent)}),S=o=>{if(!o)return null;const d=new Date(o);return Number.isFinite(d.getTime())?i("providerUsage.resets",{time:d.toLocaleString([],{dateStyle:"short",timeStyle:"short"})}):null},T=o=>o!==null&&o>=80?"var(--status-error)":o!==null&&o>=50?"var(--status-warning)":"var(--status-success)";return(()=>{var o=Lt();return c(o,l(P,{get when(){return t()!==void 0},get fallback(){return(()=>{var d=oe();return c(d,()=>i("providerUsage.loading")),d})()},get children(){return l(P,{get when(){return t()},get fallback(){return(()=>{var d=oe();return c(d,()=>i("providerUsage.unavailable")),d})()},children:d=>l(P,{get when(){return j(()=>!!(d().supported&&d().configured&&d().ok))()&&n().length>0},get fallback(){return(()=>{var y=oe();return c(y,()=>i(d().supported?d().configured?d().unavailableReason==="native-credential-api-unavailable"?"providerUsage.nativeCredentialApiUnavailable":d().unavailableReason==="openai-token-sharing-unsupported"?"providerUsage.openaiTokenSharingUnsupported":"providerUsage.unavailable":"providerUsage.notConfigured":"providerUsage.unsupported",{version:"2.0.20"})),y})()},get children(){var y=Nt();return c(y,l(le,{get each(){return r()},children:O=>{const M=C(F=>{var E;return((E=t())==null?void 0:E.windows[O])??F},t().windows[O]);return(()=>{var F=Kt(),E=F.firstChild,_=E.firstChild,w=_.nextSibling,A=w.firstChild;return c(_,()=>h(O)),c(A,()=>x(M())),c(w,l(P,{get when(){return S(M().resetAt)},children:K=>[jt(),(()=>{var R=Bt();return c(R,K),R})()]}),null),c(F,l(P,{get when(){return M().usedPercent!==null},get children(){var K=Ht(),R=K.firstChild;return J(U=>{var we=`${Math.max(0,Math.min(100,M().usedPercent??0))}%`,Se=T(M().usedPercent),$e=i("providerUsage.progressLabel",{window:h(O)}),ke=Math.round(M().usedPercent??0);return we!==U.e&&Ie(R,"width",U.e=we),Se!==U.t&&Ie(R,"background-color",U.t=Se),$e!==U.a&&q(R,"aria-label",U.a=$e),ke!==U.o&&q(R,"aria-valuenow",U.o=ke),U},{e:void 0,t:void 0,a:void 0,o:void 0}),K}}),null),F})()}})),y}})})}}),null),c(o,l(P,{get when(){return j(()=>{var d,y,O;return!!((d=t())!=null&&d.supported&&((y=t())!=null&&y.configured)&&((O=t())!=null&&O.ok))})()&&n().length>0},get children(){var d=Rt();return c(d,()=>{var y;return((y=t())==null?void 0:y.providerName)??e.providerId}),d}}),null),o})()},Pe=4*1024*1024;function Vt(e,i){const a=e+i;if(a.length<=Pe)return{output:a,truncated:!1};let s=a.length-Pe;a.charCodeAt(s)>=56320&&a.charCodeAt(s)<=57343&&(s+=1),a[s]==="\x1B"&&a[s+1]==="\\"?s+=2:a[s]==="\\"&&a[s-1]==="\x1B"&&(s+=1);const t=a.lastIndexOf("\x1B",s);if(t>=0){let g=-1,v=!1;if(a[t+1]==="["){v=!0;for(let u=t+2;u<a.length;u+=1){const p=a.charCodeAt(u);if(p===24||p===26){g=u+1;break}if(p>=64&&p<=126){g=u+1;break}}}else if(a[t+1]==="]"){v=!0;const u=a.indexOf("\x07",t+2),p=a.indexOf("\x1B\\",t+2),b=a.slice(t+2).search(/[\u0018\u001a]/),I=[u<0?1/0:u+1,p<0?1/0:p+2,b<0?1/0:t+3+b];g=Math.min(...I),Number.isFinite(g)||(g=-1)}else if(["P","X","^","_"].includes(a[t+1]??"")){v=!0;const u=a.indexOf("\x1B\\",t+2),p=a.slice(t+2).search(/[\u0018\u001a]/);g=Math.min(u<0?1/0:u+2,p<0?1/0:t+3+p),Number.isFinite(g)||(g=-1)}v&&g>=s?s=g:v&&g<0&&t<s&&(s=a.length)}return{output:a.slice(s),truncated:!0}}const Te={items:[],loading:!1,failed:!1},Wt=new Set(["shell.created","shell.exited","shell.deleted","server.connected"]);function Jt(e){const i=a=>({directory:a});return{list:async(a,s)=>(await e.shell.list({location:i(a)},ie({directory:a,workspaceID:s}))).data,remove:(a,s,t)=>e.shell.remove({id:s,location:i(a)},ie({directory:a,workspaceID:t})),output:async(a,s,t=0,g)=>(await e.shell.output({id:s,location:i(a),cursor:t,limit:1024*1024},ie({directory:a,workspaceID:g}))).data}}function Xt(e){const[i,a]=D(new Map),s=new Map,t=(m,f,n)=>JSON.stringify([m,f,n]),g=(m,f)=>a(n=>new Map(n).set(m,f)),v=m=>Ce(()=>i().get(m)??Te),u=async(m,f,n,r=!1)=>{if(!m||!f)return;const h=t(m,f,n),x=s.get(h);if(x)return r&&(x.dirty=!0),x.promise;const S={promise:Promise.resolve(),dirty:!1};return s.set(h,S),g(h,{...v(h),loading:!0,failed:!1}),S.promise=Promise.resolve().then(async()=>{do{S.dirty=!1;try{const T=await e(m).list(f,n);S.dirty||g(h,{items:T,loading:!1,failed:!1})}catch{S.dirty||g(h,{...v(h),loading:!1,failed:!0})}}while(S.dirty)}).finally(()=>s.delete(h)),S.promise};return{getState:(m,f,n)=>i().get(t(m,f,n))??Te,load:u,refreshForEvent:async(m,f)=>{var x,S,T;if(!Wt.has(f.type))return;const n=((x=f.location)==null?void 0:x.directory)??((T=(S=f.data)==null?void 0:S.info)==null?void 0:T.cwd),r=Array.from(Ce(i).keys()).map(o=>JSON.parse(o)).filter(([o])=>o===m),h=n?r.filter(([,o,d])=>{var y;return Gt(o,n)&&(((y=f.location)==null?void 0:y.workspaceID)===void 0||f.location.workspaceID===d)}):r;await Promise.all((h.length?h:r).map(([,o,d])=>u(m,o,d??void 0,!0)))},remove:async(m,f,n,r)=>{try{return await e(m).remove(f,n,r),await u(m,f,r,!0),!0}catch{return!1}},output:(m,f,n,r,h)=>e(m).output(f,n,r,h)}}function Gt(e,i){const a=s=>{const t=s.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t};return a(e)===a(i)}const V=Xt(e=>Jt(ht(e)));Q.on("instance.event",e=>{e.type!=="instance.event"||!e.event.type.startsWith("shell.")||V.refreshForEvent(e.instanceId,e.event)});Q.on("instance.eventStatus",e=>{e.type!=="instance.eventStatus"||e.status!=="connected"||V.refreshForEvent(e.instanceId,{type:"server.connected"})});var Yt=k('<div class=window-header><div class="min-w-0 flex-1"><span class="block truncate text-xs text-secondary"></span></div><button type=button class="button-tertiary shrink-0">'),Qt=k('<p class="text-xs text-secondary">'),Zt=k('<p class="mb-2 text-xs text-secondary">'),en=k('<pre class="border border-base bg-surface-inset p-4 font-mono text-xs text-primary whitespace-pre-wrap break-all">'),tn=k("<div class=window-body>"),nn=k('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">');function rn(e){const{t:i}=pe(),[a,s]=D(""),[t,g]=D(""),[v,u]=D(!1),[p,b]=D(!1),[I,$]=D(!1);return H(()=>{const m=e.shell,f=e.directory,n=e.workspaceID;if(!e.open||!m||!f)return;let r=!0,h=0,x="",S;const T=()=>{const d=$t(x);if(u(d),!d)return g("");const y=kt();g(y.render(x))},o=async()=>{try{const d=await V.output(e.instanceId,f,m.id,h,n);if(!r)return;if(h=d.cursor,d.output){const y=Vt(x,d.output);x=y.output,s(x),b(O=>O||d.truncated||y.truncated),T()}else d.truncated&&b(!0)}catch{if(!r)return;s(i("backgroundProcessOutputDialog.loadErrorFallback"))}finally{if(!r)return;$(!1),S=setTimeout(o,1e3)}};s(""),g(""),u(!1),b(!1),$(!0),o(),W(()=>{r=!1,S&&clearTimeout(S)})}),l(Y,{get open(){return e.open},onOpenChange:m=>!m&&e.onClose(),modal:!0,get children(){return l(Y.Portal,{get children(){return[l(Y.Overlay,{class:"modal-overlay"}),(()=>{var m=nn();return c(m,l(Y.Content,{class:"modal-surface flex max-h-[90vh] w-full max-w-5xl flex-col overflow-hidden",get children(){return[(()=>{var f=Yt(),n=f.firstChild,r=n.firstChild,h=n.nextSibling;return c(n,l(Y.Title,{class:"window-title",get children(){return i("backgroundProcessOutputDialog.title")}}),r),c(r,()=>{var x;return(x=e.shell)==null?void 0:x.command}),We(h,"click",e.onClose,!0),c(h,()=>i("backgroundProcessOutputDialog.actions.close")),J(()=>{var x;return q(r,"title",(x=e.shell)==null?void 0:x.command)}),f})(),(()=>{var f=tn();return c(f,l(P,{get when(){return I()},get children(){var n=Qt();return c(n,()=>i("backgroundProcessOutputDialog.loading")),n}}),null),c(f,l(P,{get when(){return p()},get children(){var n=Zt();return c(n,()=>i("backgroundProcessOutputDialog.truncatedNotice")),n}}),null),c(f,l(P,{get when(){return!I()},get children(){var n=en();return c(n,(()=>{var r=j(()=>!!v());return()=>r()?void 0:a()})()),J(()=>n.innerHTML=v()?t():void 0),n}}),null),f})()]}})),m})()]}})}})}Ae(["click"]);var sn=k("<span class=section-left><span class=section-label>"),on=k("<div>"),ne=k('<div class="right-panel-empty right-panel-empty--left"><span class=text-xs>'),an=k('<div class="flex items-center justify-between gap-2 border border-base bg-surface-secondary px-3 py-2"><p class="min-w-0 text-xs leading-5 text-secondary"></p><div class="-mr-2 shrink-0">'),ln=k('<div class="flex flex-col gap-1">'),De=k("<span>"),cn=k('<article class=status-process-card><div class="flex items-start justify-between gap-2"><div class="min-w-0 flex-1"><h4 class="truncate text-xs font-medium text-primary"></h4><code class="mt-1 block truncate text-xs text-secondary"></code></div></div><div class="mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs text-tertiary"><span></span></div><div class="mt-1 truncate text-xs text-tertiary"></div><div class=status-process-actions><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1"></button><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1">'),dn=k("<div class=right-panel-empty-text>"),un=k('<div class="border border-base bg-surface-secondary px-3 py-2">'),gn=k("<div class=status-tab-container>");const fn=e=>{const i=nt(e.section.id);return(()=>{var a=on();return Je(i,a),c(a,l(z.Item,{get value(){return e.section.id},class:"right-panel-accordion-item",get children(){return[l(z.Header,{class:"right-panel-accordion-header-row",get children(){return[l(z.Trigger,{class:"right-panel-accordion-trigger",get children(){var s=sn(),t=s.firstChild;return c(s,l(mt,{class:"right-panel-accordion-chevron disclosure-chevron"}),t),c(t,()=>e.t(e.section.labelKey)),s}}),l(ee,{openDelay:200,gutter:4,placement:"top",get children(){return[l(ee.Trigger,{as:"button",type:"button",class:"section-info-trigger",get"aria-label"(){return e.t(e.section.tooltipKey)},get children(){return l(pt,{class:"section-info-icon"})}}),l(ee.Portal,{get children(){return l(ee.Content,{class:"section-info-tooltip",get children(){return e.t(e.section.tooltipKey)}})}})]}}),l(_t,{class:"right-panel-section-grip","aria-hidden":"true"})]}}),l(z.Content,{class:"right-panel-accordion-content",get children(){return e.section.render()}})]}})),J(()=>Me(a,`right-panel-section-draggable ${i.isActiveDraggable?"right-panel-section-draggable-active":""}`)),a})()},Cn=e=>{const i=n=>e.expandedItems().includes(n),a=C(()=>{var n;return((n=e.activeSession())==null?void 0:n.location)??{directory:e.instance.folder}}),s=C(()=>V.getState(e.instanceId,a().directory,a().workspaceID)),[t,g]=D(null);H(ae(()=>[e.instanceId,a().directory,a().workspaceID],([n,r,h])=>void V.load(n,r,h)));const v=()=>{const n=e.activeSession();return n?(()=>{var r=an(),h=r.firstChild,x=h.nextSibling;return c(h,()=>e.t("instanceShell.yoloMode.description")),c(x,l(yt,{class:"yolo-mode-switch",get checked(){return xt(e.instanceId,n.id)},size:"small",sx:{"& .MuiSwitch-switchBase.Mui-checked":{color:"var(--session-yolo-accent)"},"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track":{backgroundColor:"var(--session-yolo-accent)"}},get inputProps(){return{"aria-label":e.t("instanceShell.yoloMode.title")}},onChange:()=>bt(e.instanceId,n.id)})),r})():(()=>{var r=ne(),h=r.firstChild;return c(h,()=>e.t("instanceShell.yoloMode.noSessionSelected")),r})()},u=async(n,r,h)=>{const x=e.instanceId,S={...a()};await wt(e.t("instanceShell.backgroundProcesses.remove.message",{title:r}),{title:e.t("instanceShell.backgroundProcesses.remove.title"),confirmLabel:e.t(h?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove")})&&!await V.remove(x,S.directory,n,S.workspaceID)&&St({category:"sessions",message:e.t("instanceShell.backgroundProcesses.error"),variant:"error"})},p=()=>l(P,{get when(){return!s().failed},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.error")),n})()},get children(){return l(P,{get when(){return!s().loading||s().items.length>0},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.loading")),n})()},get children(){return l(P,{get when(){return s().items.length>0},get fallback(){return(()=>{var n=ne(),r=n.firstChild;return c(r,()=>e.t("instanceShell.backgroundProcesses.empty")),n})()},get children(){var n=ln();return c(n,l(le,{get each(){return s().items},children:r=>{const h=()=>r.status==="running";return(()=>{var x=cn(),S=x.firstChild,T=S.firstChild,o=T.firstChild,d=o.nextSibling,y=S.nextSibling,O=y.firstChild,M=y.nextSibling,F=M.nextSibling,E=F.firstChild,_=E.nextSibling;return c(o,()=>r.command),c(d,()=>r.shell),c(O,()=>e.t(`instanceShell.backgroundProcesses.status.${r.status}`)),c(y,l(P,{get when(){return r.pid!==void 0},get children(){var w=De();return c(w,()=>e.t("instanceShell.backgroundProcesses.pid",{pid:r.pid})),w}}),null),c(y,l(P,{get when(){return r.exit!==void 0},get children(){var w=De();return c(w,()=>e.t("instanceShell.backgroundProcesses.exitCode",{code:r.exit})),w}}),null),c(M,()=>r.cwd),E.$$click=()=>g({shell:r,location:{...a()},instanceId:e.instanceId}),c(E,l(It,{class:"h-3.5 w-3.5","aria-hidden":"true"}),null),c(E,()=>e.t("instanceShell.backgroundProcesses.actions.output"),null),_.$$click=()=>void u(r.id,r.command,h()),c(_,l(P,{get when(){return h()},get fallback(){return l(vt,{class:"h-3.5 w-3.5","aria-hidden":"true"})},get children(){return l(Tt,{class:"h-3.5 w-3.5","aria-hidden":"true"})}}),null),c(_,()=>e.t(h()?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove"),null),J(w=>{var A=r.command,K=r.shell,R=r.cwd,U=s().loading;return A!==w.e&&q(o,"title",w.e=A),K!==w.t&&q(d,"title",w.t=K),R!==w.a&&q(M,"title",w.a=R),U!==w.o&&(_.disabled=w.o=U),w},{e:void 0,t:void 0,a:void 0,o:void 0}),x})()}})),n}})}})}}),b=()=>l(P,{get when(){return e.activeSession()},get fallback(){return(()=>{var n=dn();return c(n,()=>e.t("providerUsage.noSession")),n})()},children:n=>(()=>{var r=un();return c(r,l(qt,{get instanceId(){return e.instanceId},get sessionId(){return n().id},get directory(){return n().location.directory},get providerId(){return n().model.providerId},get modelId(){return n().model.modelId},get active(){return j(()=>!!e.isActive())()&&e.expandedItems().includes("provider-usage")}})),r})()}),I=C(()=>[...Ge({renderTokens:()=>l(P,{get when(){var r;return(r=e.activeSession())==null?void 0:r.id},get children(){return l(Ut,{get instanceId(){return e.instanceId},get sessionId(){return e.activeSession().id}})}}),renderYoloModeSection:v,renderProviderUsage:b,renderBackgroundProcesses:p,renderMcpStatus:()=>l(_e,{get initialInstance(){return e.instance},sections:["mcp"],showSectionHeadings:!1,class:"space-y-2"}),renderPluginStatus:()=>l(_e,{get initialInstance(){return e.instance},sections:["plugins"],showSectionHeadings:!1,get pluginsActive(){return j(()=>!!e.isActive())()&&i("plugins")},class:"space-y-2"})}).statusSections??[],...e.extraSections??[]]),$=C(()=>Ye(I(),e.customization().statusSectionOrder,e.customization().hiddenStatusSectionIds)),m=(n,r)=>{if(!n||n===r)return;const h=$().map(d=>d.id),x=h.indexOf(n),S=h.indexOf(r);if(x===-1||S===-1)return;const T=[...h],[o]=T.splice(x,1);T.splice(S,0,o),e.onCustomizationChange(d=>({...d,statusSectionOrder:T}))},f=({draggable:n,droppable:r})=>{r&&m(String(n.id),String(r.id))};return(()=>{var n=gn();return c(n,l(z.Root,{class:"right-panel-accordion",collapsible:!0,multiple:!0,get value(){return e.expandedItems()},get onChange(){return e.onExpandedItemsChange},get children(){return l(Qe,{collisionDetector:Ze,onDragEnd:f,get children(){return l(et,{get children(){return l(tt,{get ids(){return $().map(r=>r.id)},get children(){return l(le,{get each(){return $()},children:r=>l(fn,{section:r,get expanded(){return i(r.id)},get t(){return e.t}})})}})}})}})}}),null),c(n,l(rn,{get open(){return!!t()},get instanceId(){var r;return((r=t())==null?void 0:r.instanceId)??e.instanceId},get directory(){var r;return((r=t())==null?void 0:r.location.directory)??a().directory},get workspaceID(){var r;return(r=t())==null?void 0:r.location.workspaceID},get shell(){var r;return((r=t())==null?void 0:r.shell)??null},onClose:()=>g(null)}),null),n})()};Ae(["click"]);export{Cn as default};
|
|
2
|
+
//# sourceMappingURL=StatusTab-CPfdwHzQ.js.map
|