import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{er as t}from"./control-ui-foundation-CeFMP1Ly.js";import{Aa as n,Co as r,Da as i,U as a,b as o,fl as s,fs as c,ja as l,ml as u,ms as d,w as f,xo as p}from"./control-ui-core-pH6nakZ-.js";import{G as m,J as h,W as g,Z as _,rt as v}from"./lit-runtime-BEtFSUCp.js";import{Cn as y,Jt as b,Sn as x,Yt as S,ln as C,m as w,p as T}from"./control-ui-core-DGVkFhVB.js";import{Ht as E,qt as D}from"./control-ui-core-Br5DB0Zj.js";import{F as O,I as k,In as A,L as j,Ln as M,z as N}from"./control-ui-boot-wpHCbPL9.js";import{Ca as P,bn as F,cn as I,gn as L,mn as R,on as z,un as B,vn as V,wa as H}from"./control-ui-boot-Cdpgu1Gm.js";import{n as U,t as W}from"./settings-workspace-Bo4nqRhI.js";import{n as G,t as K}from"./gateway-page-controller-bzyUg03c.js";import{t as q}from"./create-worktree-YmYUx5eq.js";import{n as J,t as Y}from"./sessions-hub-header-DEIZ2OS0.js";var X,Z;function Q(){return(Q=e((()=>{M(),O(),g(),_(),C(),w(),b(),P(),Y(),z(),W(),E(),d(),f(),p(),i(),G(),u(),X=`https://docs.openclaw.ai/concepts/managed-worktrees`,Z=class extends s{constructor(...e){super(...e),this.records=[],this.error=null,this.busyId=null,this.createOpen=!1,this.createRepoRoot=``,this.createName=``,this.createBaseRef=``,this.createBranches=[],this.creating=!1,this.gcLoading=!1,this.listClient=null,this.gateway=new K(this,{getGateway:()=>this.context?.gateway,onIdentityChange:()=>{this.records=[],this.error=null},invalidateRequests:e=>{(e.snapshot.phase!==`connected`||!e.snapshot.client)&&(this.listClient=null,this.listTask.run([null])),this.branchesTask.run([null,``]),this.invalidateOperations()},ensureInitialData:()=>void this.load(),onSnapshot:e=>{S(e.snapshot).canAdmin||(this.createOpen=!1)}}),this.listTask=new k(this,{autoRun:!1,args:()=>[this.gateway.connected?this.gateway.client:null],task:([e],{signal:t})=>e?e.request(`worktrees.list`,{},{signal:t}):j,onComplete:e=>{this.records=e.worktrees.toSorted((e,t)=>t.lastActiveAt-e.lastActiveAt)},onError:e=>{this.error=c(e)}}),this.branchesTask=new k(this,{autoRun:!1,args:()=>[this.gateway.connected?this.gateway.client:null,this.createRepoRoot.trim()],task:([e,t],{signal:n})=>e&&t?e.request(`worktrees.branches`,{repoRoot:t},{signal:n}):j,onComplete:e=>{this.createBranches=e.branches.map(e=>e.name),this.createBaseRef||=e.defaultBranch??e.headBranch??``},onError:()=>{this.createBranches=[]}})}disconnectedCallback(){this.listClient=null,this.listTask.run([null]),this.branchesTask.run([null,``]),super.disconnectedCallback()}invalidateOperations(){this.busyId=null,this.creating=!1,this.gcLoading=!1}get operationPending(){return this.loading||this.busyId!==null||this.creating}get loading(){return this.gcLoading||this.listTask.status===N.PENDING}get canAdmin(){return S(this.context.gateway.snapshot).canAdmin}get canWrite(){return S(this.context.gateway.snapshot).canWrite}async load(e={}){let t=this.gateway.client;!t||!this.gateway.connected||this.busyId!==null||this.creating||this.gcLoading||this.listTask.status===N.PENDING&&this.listClient===t||(this.listClient=t,e.preserveError||(this.error=null),await this.listTask.run([t]))}async removeWorktree(e){let t=this.gateway.capture();if(!(!t||!this.canAdmin||this.operationPending)&&!(!await H({message:D(`worktrees.confirmDelete`,{name:e.name}),confirmLabel:D(`common.delete`),danger:!0})||!this.gateway.isCurrent(t)||!this.canAdmin||this.operationPending)){this.busyId=e.id,this.error=null;try{let n=await t.client.request(`worktrees.remove`,{id:e.id});if(!this.gateway.isCurrent(t)||n.removed)return;let r=n.snapshotError??``,i=await H({message:D(`worktrees.confirmForceDelete`,{error:r}),confirmLabel:D(`common.delete`),danger:!0});if(!this.gateway.isCurrent(t)||!this.canAdmin)return;if(!i){this.error=r||null;return}try{let n=await t.client.request(`worktrees.remove`,{id:e.id,force:!0});this.gateway.isCurrent(t)&&(this.error=n.snapshotError??null)}catch(e){this.gateway.isCurrent(t)&&(this.error=c(e))}}catch(e){this.gateway.isCurrent(t)&&(this.error=c(e))}finally{this.gateway.isCurrent(t)&&(this.busyId=null,await this.load({preserveError:!0}))}}}async restore(e){let t=this.gateway.capture();if(!(!t||!this.canAdmin||this.operationPending)){this.busyId=e.id,this.error=null;try{await t.client.request(`worktrees.restore`,{id:e.id})}catch(e){this.gateway.isCurrent(t)&&(this.error=c(e))}finally{this.gateway.isCurrent(t)&&(this.busyId=null,await this.load({preserveError:!0}))}}}async gc(){let e=this.gateway.capture();if(!(!e||!this.canAdmin||this.operationPending)){this.gcLoading=!0,this.error=null;try{await e.client.request(`worktrees.gc`,{})}catch(t){this.gateway.isCurrent(e)&&(this.error=c(t))}finally{this.gateway.isCurrent(e)&&(this.gcLoading=!1,await this.load({preserveError:!0}))}}}toggleCreate(){if(!(!this.canAdmin||this.creating)&&(this.createOpen=!this.createOpen,this.createOpen&&!this.createRepoRoot)){let e=this.context.agents.state.agentsList,t=e?.agents.find(t=>t.id===e.defaultId);this.createRepoRoot=t?.workspace??``,this.loadCreateBranches()}}loadCreateBranches(){let e=this.gateway.connected?this.gateway.client:null,t=this.createRepoRoot.trim();if(!e||!t||!this.canWrite){this.createBranches=[],this.branchesTask.run([null,``]);return}this.branchesTask.run([e,t])}async createWorktree(){let e=this.gateway.capture(),t=this.createRepoRoot.trim();if(!(!e||!this.canAdmin||!t||this.operationPending)){this.creating=!0,this.error=null;try{await q(e.client,{repoRoot:t,name:this.createName,baseRef:this.createBaseRef}),this.gateway.isCurrent(e)&&(this.createOpen=!1,this.createName=``)}catch(t){this.gateway.isCurrent(e)&&(this.error=c(t))}finally{this.gateway.isCurrent(e)&&(this.creating=!1,await this.load({preserveError:!0}))}}}renderOwner(e){if(e.ownerKind===`session`&&e.ownerId){let t=n(this.context,e.ownerId),r=l({context:this.context,face:t,sessionKey:e.ownerId,preferenceDerivedFace:!0});return h`{a(e)&&(e.preventDefault(),this.context.navigate(t,r.options))}} >${D(`worktrees.ownerSession`)}`}return e.ownerKind===`workboard`?h`${D(`worktrees.ownerWorkboard`)}`:h`${D(`worktrees.ownerManual`)}`}renderCreateRows(){return this.createOpen?h` ${L({title:D(`worktrees.repo`),control:h` {this.createRepoRoot=e.target.value,this.createBaseRef=``,this.loadCreateBranches()}} /> `})} ${L({title:D(`worktrees.name`),control:h` {this.createName=e.target.value}} /> `})} ${L({title:D(`newSession.baseBranch`),control:h` {this.createBaseRef=e.target.value}} /> `})} ${L({title:D(`worktrees.newWorktree`),control:h` `})} `:m}renderRecordRow(e){return L({title:e.name,description:h` ${r(e.repoRoot)} · ${e.branch} · ${this.renderOwner(e)} · ${o(e.lastActiveAt)} `,control:h` ${e.removedAt?F({kind:`muted`,label:D(`worktrees.restorable`)}):F({kind:`ok`,label:D(`common.active`)})} `})}render(){let e=h` `,t=h` ${this.renderCreateRows()} ${this.records.length===0?B(D(`worktrees.empty`)):this.records.map(e=>this.renderRecordRow(e))} `,n=R(h` ${this.canAdmin?m:h`