@getsolaris/copse 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cop.js ADDED
@@ -0,0 +1,223 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ var Eu=Object.defineProperty;var ku=(e)=>e;function Ou(e,t){this[e]=ku.bind(null,t)}var qe=(e,t)=>{for(var n in t)Eu(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Ou.bind(t,n)})};var we=(e,t)=>()=>(e&&(t=e(e=0)),t);var on=import.meta.require;import{existsSync as ki,readdirSync as yd,statSync as Kc}from"fs";import{join as Oi,resolve as $d}from"path";function Cd(e){let t=Bun.env.HOME??"~";return e.replace(/^~(?=\/|$)/,t)}function Hc(e){return $d(Cd(e))}function Sd(e){let t=Oi(e,".git");if(!ki(t))return!1;try{return Kc(t).isDirectory()}catch{return!1}}function Rd(e){return ki(Oi(e,".git"))}function Ed(e){if(!ki(e))return!1;try{return Kc(e).isDirectory()}catch{return!1}}function kd(e){let t=e.map((n)=>n.trim()).filter(Boolean).map((n)=>new Bun.Glob(n));if(t.length===0)return()=>!1;return(n)=>t.some((r)=>r.match(n))}function Od(e,t=Gc,n=[]){let r=Math.max(1,Math.min(t,Pd)),i=Hc(e);if(!Ed(i))return[];let s=kd(n),c=new Set,a=(d,h)=>{let p;try{p=yd(d,{withFileTypes:!0})}catch{return}for(let m of p){if(!m.isDirectory()||s(m.name))continue;let w=Oi(d,m.name);if(Rd(w)){if(Sd(w))c.add(w);continue}if(h<r)a(w,h+1)}};return a(i,1),[...c].sort((d,h)=>d.localeCompare(h))}function Uc(e){let t=e.workspaces;if(!t||t.length===0)return e;let n=new Set((e.repos??[]).map((i)=>Hc(i.path))),r=[];for(let i of t){let s=i.depth??Gc,c=i.exclude??[],a=Od(i.path,s,c);for(let d of a){if(n.has(d))continue;n.add(d),r.push({path:d,...i.defaults??{}})}}if(r.length===0)return e;return{...e,repos:[...e.repos??[],...r]}}var Gc=1,Pd=3;var Jc=()=>{};import{join as Fi,resolve as wo}from"path";import*as cn from"fs";function Nt(e,t,n){if(!Array.isArray(e)||e.some((r)=>typeof r!=="string"))n.push({field:t,message:"Must be an array of strings"})}function Yc(){let t=Bun.env.XDG_CONFIG_HOME??Fi(Bun.env.HOME??"~",".config");return Fi(t,"copse")}function yt(){return Fi(Yc(),"config.json")}function Zn(e){let t=[];if(typeof e!=="object"||e===null)return t.push({field:"root",message:"Config must be a JSON object"}),t;let n=e;if(!("version"in n))t.push({field:"version",message:"Required field 'version' is missing"});else if(n.version!==1)t.push({field:"version",message:`Expected version 1, got ${JSON.stringify(n.version)}`});for(let r of Object.keys(n))if(!Md.has(r))t.push({field:r,message:`Unknown field '${r}'`});if("defaults"in n&&n.defaults!==void 0)if(typeof n.defaults!=="object"||n.defaults===null)t.push({field:"defaults",message:"Must be an object"});else{let r=n.defaults;for(let i of Object.keys(r))if(!zc.has(i))t.push({field:`defaults.${i}`,message:`Unknown field '${i}'`});if("worktreeDir"in r&&typeof r.worktreeDir!=="string")t.push({field:"defaults.worktreeDir",message:"Must be a string"});if("autoUpstream"in r&&typeof r.autoUpstream!=="boolean")t.push({field:"defaults.autoUpstream",message:"Must be a boolean"});for(let i of["copyFiles","linkFiles","postCreate","postRemove"])if(i in r)Nt(r[i],`defaults.${i}`,t);if("sharedDeps"in r&&r.sharedDeps!==void 0)if(typeof r.sharedDeps!=="object"||r.sharedDeps===null)t.push({field:"defaults.sharedDeps",message:"Must be an object"});else Mi(r.sharedDeps,"defaults.sharedDeps",t)}if("repos"in n&&n.repos!==void 0)if(!Array.isArray(n.repos))t.push({field:"repos",message:"Must be an array"});else for(let r=0;r<n.repos.length;r++){let i=n.repos[r],s=`repos[${r}]`;if(typeof i!=="object"||i===null){t.push({field:s,message:"Must be an object"});continue}let c=i;for(let a of Object.keys(c))if(!Fd.has(a))t.push({field:`${s}.${a}`,message:`Unknown field '${a}'`});if(!("path"in c)||typeof c.path!=="string")t.push({field:`${s}.path`,message:"Required string field 'path' is missing"});if("worktreeDir"in c&&typeof c.worktreeDir!=="string")t.push({field:`${s}.worktreeDir`,message:"Must be a string"});if("autoUpstream"in c&&typeof c.autoUpstream!=="boolean")t.push({field:`${s}.autoUpstream`,message:"Must be a boolean"});for(let a of["copyFiles","linkFiles","postCreate","postRemove"])if(a in c)Nt(c[a],`${s}.${a}`,t);if("sharedDeps"in c&&c.sharedDeps!==void 0)if(typeof c.sharedDeps!=="object"||c.sharedDeps===null)t.push({field:`${s}.sharedDeps`,message:"Must be an object"});else Mi(c.sharedDeps,`${s}.sharedDeps`,t);if("monorepo"in c&&c.monorepo!==void 0)if(typeof c.monorepo!=="object"||c.monorepo===null)t.push({field:`${s}.monorepo`,message:"Must be an object"});else{let a=c.monorepo;for(let d of Object.keys(a))if(!Ad.has(d))t.push({field:`${s}.monorepo.${d}`,message:`Unknown field '${d}'`});if("autoDetect"in a&&typeof a.autoDetect!=="boolean")t.push({field:`${s}.monorepo.autoDetect`,message:"Must be a boolean"});if("extraPatterns"in a&&a.extraPatterns!==void 0)Nt(a.extraPatterns,`${s}.monorepo.extraPatterns`,t);if("hooks"in a&&a.hooks!==void 0)if(!Array.isArray(a.hooks))t.push({field:`${s}.monorepo.hooks`,message:"Must be an array"});else for(let d=0;d<a.hooks.length;d++){let h=a.hooks[d];if(typeof h!=="object"||h===null){t.push({field:`${s}.monorepo.hooks[${d}]`,message:"Must be an object"});continue}if(!("glob"in h)||typeof h.glob!=="string")t.push({field:`${s}.monorepo.hooks[${d}].glob`,message:"Required string field"});if("copyFiles"in h&&h.copyFiles!==void 0)Nt(h.copyFiles,`${s}.monorepo.hooks[${d}].copyFiles`,t);if("linkFiles"in h&&h.linkFiles!==void 0)Nt(h.linkFiles,`${s}.monorepo.hooks[${d}].linkFiles`,t);if("postCreate"in h&&h.postCreate!==void 0)Nt(h.postCreate,`${s}.monorepo.hooks[${d}].postCreate`,t);if("postRemove"in h&&h.postRemove!==void 0)Nt(h.postRemove,`${s}.monorepo.hooks[${d}].postRemove`,t)}}}if("workspaces"in n&&n.workspaces!==void 0)if(!Array.isArray(n.workspaces))t.push({field:"workspaces",message:"Must be an array"});else for(let r=0;r<n.workspaces.length;r++){let i=n.workspaces[r],s=`workspaces[${r}]`;if(typeof i!=="object"||i===null){t.push({field:s,message:"Must be an object"});continue}let c=i;for(let a of Object.keys(c))if(!Dd.has(a))t.push({field:`${s}.${a}`,message:`Unknown field '${a}'`});if(!("path"in c)||typeof c.path!=="string")t.push({field:`${s}.path`,message:"Required string field 'path' is missing"});if("depth"in c&&c.depth!==void 0){if(typeof c.depth!=="number"||!Number.isInteger(c.depth)||c.depth<1||c.depth>3)t.push({field:`${s}.depth`,message:"Must be an integer between 1 and 3"})}if("exclude"in c&&c.exclude!==void 0)Nt(c.exclude,`${s}.exclude`,t);if("defaults"in c&&c.defaults!==void 0)if(typeof c.defaults!=="object"||c.defaults===null||Array.isArray(c.defaults))t.push({field:`${s}.defaults`,message:"Must be an object"});else{let a=c.defaults;for(let d of Object.keys(a))if(!zc.has(d))t.push({field:`${s}.defaults.${d}`,message:`Unknown field '${d}'`});if("worktreeDir"in a&&typeof a.worktreeDir!=="string")t.push({field:`${s}.defaults.worktreeDir`,message:"Must be a string"});if("autoUpstream"in a&&typeof a.autoUpstream!=="boolean")t.push({field:`${s}.defaults.autoUpstream`,message:"Must be a boolean"});for(let d of["copyFiles","linkFiles","postCreate","postRemove"])if(d in a)Nt(a[d],`${s}.defaults.${d}`,t);if("sharedDeps"in a&&a.sharedDeps!==void 0)if(typeof a.sharedDeps!=="object"||a.sharedDeps===null)t.push({field:`${s}.defaults.sharedDeps`,message:"Must be an object"});else Mi(a.sharedDeps,`${s}.defaults.sharedDeps`,t)}}if("templates"in n&&n.templates!==void 0)if(typeof n.templates!=="object"||n.templates===null||Array.isArray(n.templates))t.push({field:"templates",message:"Must be an object (key-value map)"});else{let r=n.templates;for(let[i,s]of Object.entries(r)){let c=`templates.${i}`;if(typeof s!=="object"||s===null){t.push({field:c,message:"Must be an object"});continue}let a=s;for(let d of Object.keys(a))if(!Wd.has(d))t.push({field:`${c}.${d}`,message:`Unknown field '${d}'`});if("worktreeDir"in a&&typeof a.worktreeDir!=="string")t.push({field:`${c}.worktreeDir`,message:"Must be a string"});if("base"in a&&typeof a.base!=="string")t.push({field:`${c}.base`,message:"Must be a string"});if("autoUpstream"in a&&typeof a.autoUpstream!=="boolean")t.push({field:`${c}.autoUpstream`,message:"Must be a boolean"});for(let d of["copyFiles","linkFiles","postCreate","postRemove"])if(d in a)Nt(a[d],`${c}.${d}`,t)}}if("lifecycle"in n&&n.lifecycle!==void 0)if(typeof n.lifecycle!=="object"||n.lifecycle===null)t.push({field:"lifecycle",message:"Must be an object"});else{let r=n.lifecycle;for(let i of Object.keys(r))if(!Id.has(i))t.push({field:`lifecycle.${i}`,message:`Unknown field '${i}'`});if("autoCleanMerged"in r&&typeof r.autoCleanMerged!=="boolean")t.push({field:"lifecycle.autoCleanMerged",message:"Must be a boolean"});if("staleAfterDays"in r&&(typeof r.staleAfterDays!=="number"||r.staleAfterDays<1))t.push({field:"lifecycle.staleAfterDays",message:"Must be a positive number"});if("maxWorktrees"in r&&(typeof r.maxWorktrees!=="number"||r.maxWorktrees<1))t.push({field:"lifecycle.maxWorktrees",message:"Must be a positive number"})}if("sessions"in n&&n.sessions!==void 0)if(typeof n.sessions!=="object"||n.sessions===null)t.push({field:"sessions",message:"Must be an object"});else{let r=n.sessions;for(let i of Object.keys(r))if(!Td.has(i))t.push({field:`sessions.${i}`,message:`Unknown field '${i}'`});for(let i of["enabled","autoCreate","autoKill"])if(i in r&&typeof r[i]!=="boolean")t.push({field:`sessions.${i}`,message:"Must be a boolean"});if("prefix"in r&&typeof r.prefix!=="string")t.push({field:"sessions.prefix",message:"Must be a string"});if("defaultLayout"in r&&typeof r.defaultLayout!=="string")t.push({field:"sessions.defaultLayout",message:"Must be a string"});if("layouts"in r&&r.layouts!==void 0)if(typeof r.layouts!=="object"||r.layouts===null||Array.isArray(r.layouts))t.push({field:"sessions.layouts",message:"Must be an object (key-value map)"});else{let i=r.layouts;for(let[s,c]of Object.entries(i)){let a=`sessions.layouts.${s}`;if(typeof c!=="object"||c===null){t.push({field:a,message:"Must be an object"});continue}let d=c;if(!("windows"in d)||!Array.isArray(d.windows))t.push({field:`${a}.windows`,message:"Required array field"});else for(let h=0;h<d.windows.length;h++){let p=d.windows[h];if(typeof p!=="object"||p===null){t.push({field:`${a}.windows[${h}]`,message:"Must be an object"});continue}if(!("name"in p)||typeof p.name!=="string")t.push({field:`${a}.windows[${h}].name`,message:"Required string field"});if("command"in p&&typeof p.command!=="string")t.push({field:`${a}.windows[${h}].command`,message:"Must be a string"})}}}if("defaultLayout"in r&&typeof r.defaultLayout==="string"&&"layouts"in r&&typeof r.layouts==="object"&&r.layouts!==null){let i=r.layouts;if(!(r.defaultLayout in i))t.push({field:"sessions.defaultLayout",message:`Layout '${r.defaultLayout}' does not exist in sessions.layouts`})}}if("profiles"in n&&n.profiles!==void 0)if(typeof n.profiles!=="object"||n.profiles===null||Array.isArray(n.profiles))t.push({field:"profiles",message:"Must be an object (key-value map)"});else{let r=n.profiles;for(let[i,s]of Object.entries(r)){let c=`profiles.${i}`;if(typeof s!=="object"||s===null){t.push({field:c,message:"Must be an object"});continue}let a=s;for(let d of Object.keys(a))if(!Bd.has(d))t.push({field:`${c}.${d}`,message:`Unknown field '${d}'`})}}if("activeProfile"in n&&n.activeProfile!==void 0){if(typeof n.activeProfile!=="string")t.push({field:"activeProfile",message:"Must be a string"});else if("profiles"in n&&n.profiles!==void 0&&typeof n.profiles==="object"&&n.profiles!==null&&!Array.isArray(n.profiles)){let r=n.profiles;if(!(n.activeProfile in r))t.push({field:"activeProfile",message:`Profile '${n.activeProfile}' does not exist in profiles`})}else if(!("profiles"in n)||n.profiles===void 0)t.push({field:"activeProfile",message:"Cannot set activeProfile without profiles"})}return t}function Mi(e,t,n){let r=new Set(["strategy","paths","invalidateOn"]);for(let i of Object.keys(e))if(!r.has(i))n.push({field:`${t}.${i}`,message:`Unknown field '${i}'`});if("strategy"in e&&!["hardlink","symlink","copy"].includes(e.strategy))n.push({field:`${t}.strategy`,message:'Must be "hardlink", "symlink", or "copy"'});if("paths"in e)Nt(e.paths,`${t}.paths`,n);if("invalidateOn"in e)Nt(e.invalidateOn,`${t}.invalidateOn`,n)}function Kr(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Yn(e){if(Array.isArray(e))return e.map((t)=>Yn(t));if(Kr(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=Yn(r);return t}return e}function Zc(e,t){if(t===void 0)return Yn(e);if(Array.isArray(t))return t.map((i)=>Yn(i));if(!Kr(t))return Yn(t);let n=Kr(e)?e:{},r={};for(let[i,s]of Object.entries(n))r[i]=Yn(s);for(let[i,s]of Object.entries(t)){if(s===void 0)continue;let c=n[i];if(Kr(c)&&Kr(s)){r[i]=Zc(c,s);continue}r[i]=Yn(s)}return r}function Nd(e){if(!e.activeProfile)return structuredClone(e);let t=e.profiles?.[e.activeProfile];if(!t||typeof t!=="object"||Array.isArray(t))throw Error(`Active profile '${e.activeProfile}' does not exist`);return Zc(e,t)}function Qc(e){let t=e??yt();if(!cn.existsSync(t))return structuredClone(Xc);let n;try{let c=bo.readFileSync(t,"utf-8");n=JSON.parse(c)}catch(c){let a=c.message;if(a.includes("JSON"))throw Error(`Invalid JSON in config file: ${a}`);if(c instanceof SyntaxError)throw Error(`Invalid JSON in config file: ${a}`);throw Error(`Failed to read config file: ${a}`)}let r=Zn(n);if(r.length>0){let c=r.map((a)=>`${a.field}: ${a.message}`).join("; ");throw Error(`Config validation failed: ${c}`)}let i=Nd(n),s=Zn(i);if(s.length>0){let c=s.map((a)=>`${a.field}: ${a.message}`).join("; ");throw Error(`Config validation failed after applying activeProfile: ${c}`)}return i}function De(e){return Uc(Qc(e))}function Di(e){return Qc(e)}function wt(e,t){let n=wo(t),r=e.repos?.find((i)=>wo(i.path)===n);return{worktreeDir:r?.worktreeDir??e.defaults?.worktreeDir??ar.worktreeDir,copyFiles:r?.copyFiles??e.defaults?.copyFiles??ar.copyFiles,linkFiles:r?.linkFiles??e.defaults?.linkFiles??ar.linkFiles,postCreate:r?.postCreate??e.defaults?.postCreate??ar.postCreate,postRemove:r?.postRemove??e.defaults?.postRemove??ar.postRemove,autoUpstream:r?.autoUpstream??e.defaults?.autoUpstream??ar.autoUpstream,monorepo:r?.monorepo,sharedDeps:r?.sharedDeps??e.defaults?.sharedDeps}}function Rn(e){return(e.repos??[]).map((t)=>wo(t.path))}function vo(e,t){let n=Bun.env.HOME??"~";return e.replace(/^~(?=\/|$)/,n).replace(/\{repo\}/g,t.repo).replace(/\{branch\}/g,t.branch)}function jt(e){let t=e??yt(),n=e?wo(t,".."):Yc();if(!cn.existsSync(n))bo.mkdirSync(n,{recursive:!0,mode:448});if(cn.existsSync(t))return t;return Qn(t,`${JSON.stringify(Xc,null,2)}
4
+ `),t}function _c(e){let t=e??yt(),n=cn.existsSync(t);return{path:jt(e),created:!n}}function yo(e,t){return e.templates?.[t]}function $o(e,t){return{worktreeDir:t.worktreeDir??e.worktreeDir,copyFiles:t.copyFiles??e.copyFiles,linkFiles:t.linkFiles??e.linkFiles,postCreate:t.postCreate??e.postCreate,postRemove:t.postRemove??e.postRemove,autoUpstream:t.autoUpstream??e.autoUpstream,monorepo:e.monorepo,sharedDeps:e.sharedDeps}}function En(e){return e.sessions??{}}function Po(e,t){let n=e.sessions;if(!n?.layouts)return;let r=t??n.defaultLayout;if(!r)return;return n.layouts[r]}function ea(e,t,n){if(t.length===0)return;let r=e;for(let s=0;s<t.length-1;s++){let c=t[s],a=t[s+1],d=r[c];if(d===void 0||d===null)r[c]=typeof a==="number"?[]:{};r=r[c]}let i=t[t.length-1];if(n===void 0){if(Array.isArray(r)&&typeof i==="number")r.splice(i,1);else delete r[i];return}r[i]=n}function Qn(e,t){let n=`${e}.tmp.${Date.now()}`;try{cn.writeFileSync(n,t,{encoding:"utf-8",mode:384});let r=JSON.parse(t),i=Zn(r);if(i.length>0)throw Error(`Validation failed: ${i.map((s)=>s.message).join("; ")}`);bo.renameSync(n,e)}catch(r){if(cn.existsSync(n))bo.unlinkSync(n);throw r}}var bo,qc="~/.copse/worktrees/{repo}-{branch}",Xc,ar,Md,zc,Fd,Dd,Ad,Wd,Id,Td,Bd;var Ye=we(()=>{Jc();bo=cn,Xc={version:1,defaults:{worktreeDir:qc,copyFiles:[],linkFiles:[],postCreate:[],postRemove:[],autoUpstream:!0},repos:[]},ar={worktreeDir:qc,copyFiles:[],linkFiles:[],postCreate:[],postRemove:[],autoUpstream:!0,sharedDeps:void 0};Md=new Set(["version","defaults","repos","workspaces","$schema","theme","templates","lifecycle","sessions","profiles","activeProfile"]),zc=new Set(["worktreeDir","copyFiles","linkFiles","postCreate","postRemove","autoUpstream","sharedDeps"]),Fd=new Set(["path","worktreeDir","copyFiles","linkFiles","postCreate","postRemove","autoUpstream","monorepo","sharedDeps"]),Dd=new Set(["path","depth","exclude","defaults"]),Ad=new Set(["autoDetect","extraPatterns","hooks"]),Wd=new Set(["worktreeDir","copyFiles","linkFiles","postCreate","postRemove","autoUpstream","base"]),Id=new Set(["autoCleanMerged","staleAfterDays","maxWorktrees"]),Td=new Set(["enabled","autoCreate","autoKill","prefix","defaultLayout","layouts"]),Bd=new Set(["defaults","repos","workspaces","theme","templates","lifecycle","sessions"])});function ta(e){let t=String(e),n=t.length-1;return Ze.context.id+(n?String.fromCharCode(96+n):"")+t}function Ii(e){Ze.context=e}function jd(){return{...Ze.context,id:Ze.getNextContextId(),count:0}}function Gr(e,t){let n=Be,r=Ae,i=e.length===0,s=t===void 0?r:t,c=i?la:{owned:null,cleanups:null,context:s?s.context:null,owner:s},a=i?e:()=>e(()=>$t(()=>kn(c)));Ae=c,Be=null;try{return kt(a,!0)}finally{Be=n,Ae=r}}function ue(e,t){t=t?Object.assign({},Ro,t):Ro;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=(i)=>{if(typeof i==="function")if(fe&&fe.running&&fe.sources.has(n))i=i(n.tValue);else i=i(n.value);return da(n,i)};return[ua.bind(n),r]}function ra(e,t,n){let r=Oo(e,t,!0,Ot);if(fr&&fe&&fe.running)tt.push(r);else ur(r)}function Qt(e,t,n){let r=Oo(e,t,!1,Ot);if(fr&&fe&&fe.running)tt.push(r);else ur(r)}function Mt(e,t,n){aa=Yd;let r=Oo(e,t,!1,Ot),i=Ur&&Lt(Ur);if(i)r.suspense=i;if(!n||!n.render)r.user=!0;ut?ut.push(r):ur(r)}function He(e,t,n){n=n?Object.assign({},Ro,n):Ro;let r=Oo(e,t,!0,0);if(r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,fr&&fe&&fe.running)r.tState=Ot,tt.push(r);else ur(r);return ua.bind(r)}function Hd(e){return e&&typeof e==="object"&&"then"in e}function fa(e,t,n){let r,i,s;if(typeof t==="function")r=e,i=t,s=n||{};else r=!0,i=e,s=t||{};let c=null,a=Ai,d=null,h=!1,p=!1,m="initialValue"in s,w=typeof r==="function"&&He(r),A=new Set,[D,b]=(s.storage||ue)(s.initialValue),[S,M]=ue(void 0),[F,v]=ue(void 0,{equals:!1}),[y,P]=ue(m?"ready":"unresolved");if(Ze.context){if(d=Ze.getNextContextId(),s.ssrLoadFrom==="initial")a=s.initialValue;else if(Ze.load&&Ze.has(d))a=Ze.load(d)}function G(U,J,q,re){if(c===U){if(c=null,re!==void 0&&(m=!0),(U===a||J===a)&&s.onHydrated)queueMicrotask(()=>s.onHydrated(re,{value:J}));if(a=Ai,fe&&U&&h)fe.promises.delete(U),h=!1,kt(()=>{fe.running=!0,T(J,q)},!1);else T(J,q)}return J}function T(U,J){kt(()=>{if(J===void 0)b(()=>U);P(J!==void 0?"errored":m?"ready":"unresolved"),M(J);for(let q of A.keys())q.decrement();A.clear()},!1)}function K(){let U=Ur&&Lt(Ur),J=D(),q=S();if(q!==void 0&&!c)throw q;if(Be&&!Be.user&&U)ra(()=>{if(F(),c){if(U.resolved&&fe&&h)fe.promises.add(c);else if(!A.has(U))U.increment(),A.add(U)}});return J}function X(U=!0){if(U!==!1&&p)return;p=!1;let J=w?w():r;if(h=fe&&fe.running,J==null||J===!1){G(c,$t(D));return}if(fe&&c)fe.promises.delete(c);let q,re=a!==Ai?a:$t(()=>{try{return i(J,{value:D(),refetching:U})}catch(he){q=he}});if(q!==void 0){G(c,void 0,So(q),J);return}else if(!Hd(re))return G(c,re,void 0,J),re;if(c=re,"v"in re){if(re.s===1)G(c,re.v,void 0,J);else G(c,void 0,So(re.v),J);return re}return p=!0,queueMicrotask(()=>p=!1),kt(()=>{P(m?"refreshing":"pending"),v()},!1),re.then((he)=>G(re,he,void 0,J),(he)=>G(re,void 0,So(he),J))}Object.defineProperties(K,{state:{get:()=>y()},error:{get:()=>S()},loading:{get(){let U=y();return U==="pending"||U==="refreshing"}},latest:{get(){if(!m)return K();let U=S();if(U&&!c)throw U;return D()}}});let H=Ae;if(w)ra(()=>(H=Ae,X(!1)));else X(!1);return[K,{refetch:(U)=>Ud(H,()=>X(U)),mutate:b}]}function $t(e){if(!lr&&Be===null)return e();let t=Be;Be=null;try{if(lr)return lr.untrack(e);return e()}finally{Be=t}}function _t(e,t,n){let r=Array.isArray(e),i,s=n&&n.defer;return(c)=>{let a;if(r){a=Array(e.length);for(let h=0;h<e.length;h++)a[h]=e[h]()}else a=e();if(s)return s=!1,c;let d=$t(()=>t(a,i,c));return i=a,d}}function an(e){Mt(()=>$t(e))}function it(e){if(Ae===null);else if(Ae.cleanups===null)Ae.cleanups=[e];else Ae.cleanups.push(e);return e}function Ud(e,t){let n=Ae,r=Be;Ae=e,Be=null;try{return kt(t,!0)}catch(i){Mo(i)}finally{Ae=n,Be=r}}function Jd(e){if(fe&&fe.running)return e(),fe.done;let t=Be,n=Ae;return Promise.resolve().then(()=>{Be=t,Ae=n;let r;if(fr||Ur)r=fe||(fe={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),r.done||(r.done=new Promise((i)=>r.resolve=i)),r.running=!0;return kt(e,!1),Be=Ae=null,r?r.done:void 0})}function On(e,t){let n=Symbol("context");return{id:n,Provider:Zd(n),defaultValue:e}}function Lt(e){let t;return Ae&&Ae.context&&(t=Ae.context[e.id])!==void 0?t:e.defaultValue}function zd(e){let t=He(e),n=He(()=>Bi(t()));return n.toArray=()=>{let r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}function ua(){let e=fe&&fe.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===Ot)ur(this);else{let t=tt;tt=null,kt(()=>Eo(this),!1),tt=t}if(Be){let t=this.observers?this.observers.length:0;if(!Be.sources)Be.sources=[this],Be.sourceSlots=[t];else Be.sources.push(this),Be.sourceSlots.push(t);if(!this.observers)this.observers=[Be],this.observerSlots=[Be.sources.length-1];else this.observers.push(Be),this.observerSlots.push(Be.sources.length-1)}if(e&&fe.sources.has(this))return this.tValue;return this.value}function da(e,t,n){let r=fe&&fe.running&&fe.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(fe){let i=fe.running;if(i||!n&&fe.sources.has(e))fe.sources.add(e),e.tValue=t;if(!i)e.value=t}else e.value=t;if(e.observers&&e.observers.length)kt(()=>{for(let i=0;i<e.observers.length;i+=1){let s=e.observers[i],c=fe&&fe.running;if(c&&fe.disposed.has(s))continue;if(c?!s.tState:!s.state){if(s.pure)tt.push(s);else ut.push(s);if(s.observers)ma(s)}if(!c)s.state=Ot;else s.tState=Ot}if(tt.length>1e6)throw tt=[],Error()},!1)}return t}function ur(e){if(!e.fn)return;kn(e);let t=ko;if(ia(e,fe&&fe.running&&fe.sources.has(e)?e.tValue:e.value,t),fe&&!fe.running&&fe.sources.has(e))queueMicrotask(()=>{kt(()=>{fe&&(fe.running=!0),Be=Ae=e,ia(e,e.tValue,t),Be=Ae=null},!1)})}function ia(e,t,n){let r,i=Ae,s=Be;Be=Ae=e;try{r=e.fn(t)}catch(c){if(e.pure)if(fe&&fe.running)e.tState=Ot,e.tOwned&&e.tOwned.forEach(kn),e.tOwned=void 0;else e.state=Ot,e.owned&&e.owned.forEach(kn),e.owned=null;return e.updatedAt=n+1,Mo(c)}finally{Be=s,Ae=i}if(!e.updatedAt||e.updatedAt<=n){if(e.updatedAt!=null&&"observers"in e)da(e,r,!0);else if(fe&&fe.running&&e.pure){if(!fe.sources.has(e))e.value=r;fe.sources.add(e),e.tValue=r}else e.value=r;e.updatedAt=n}}function Oo(e,t,n,r=Ot,i){let s={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Ae,context:Ae?Ae.context:null,pure:n};if(fe&&fe.running)s.state=0,s.tState=r;if(Ae===null);else if(Ae!==la)if(fe&&fe.running&&Ae.pure)if(!Ae.tOwned)Ae.tOwned=[s];else Ae.tOwned.push(s);else if(!Ae.owned)Ae.owned=[s];else Ae.owned.push(s);if(lr&&s.fn){let c=s.fn,[a,d]=ue(void 0,{equals:!1}),h=lr.factory(c,d);it(()=>h.dispose());let p,m=()=>Jd(d).then(()=>{if(p)p.dispose(),p=void 0});s.fn=(w)=>{if(a(),fe&&fe.running){if(!p)p=lr.factory(c,m);return p.track(w)}return h.track(w)}}return s}function Jr(e){let t=fe&&fe.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===Hr)return Eo(e);if(e.suspense&&$t(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];while((e=e.owner)&&(!e.updatedAt||e.updatedAt<ko)){if(t&&fe.disposed.has(e))return;if(t?e.tState:e.state)n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let i=e,s=n[r+1];while((i=i.owner)&&i!==s)if(fe.disposed.has(i))return}if((t?e.tState:e.state)===Ot)ur(e);else if((t?e.tState:e.state)===Hr){let i=tt;tt=null,kt(()=>Eo(e,n[0]),!1),tt=i}}}function kt(e,t){if(tt)return e();let n=!1;if(!t)tt=[];if(ut)n=!0;else ut=[];ko++;try{let r=e();return qd(n),r}catch(r){if(!n)ut=null;tt=null,Mo(r)}}function qd(e){if(tt){if(fr&&fe&&fe.running)Xd(tt);else ha(tt);tt=null}if(e)return;let t;if(fe){if(!fe.promises.size&&!fe.queue.size){let{sources:r,disposed:i}=fe;ut.push.apply(ut,fe.effects),t=fe.resolve;for(let s of ut)"tState"in s&&(s.state=s.tState),delete s.tState;fe=null,kt(()=>{for(let s of i)kn(s);for(let s of r){if(s.value=s.tValue,s.owned)for(let c=0,a=s.owned.length;c<a;c++)kn(s.owned[c]);if(s.tOwned)s.owned=s.tOwned;delete s.tValue,delete s.tOwned,s.tState=0}oa(!1)},!1)}else if(fe.running){fe.running=!1,fe.effects.push.apply(fe.effects,ut),ut=null,oa(!0);return}}let n=ut;if(ut=null,n.length)kt(()=>aa(n),!1);if(t)t()}function ha(e){for(let t=0;t<e.length;t++)Jr(e[t])}function Xd(e){for(let t=0;t<e.length;t++){let n=e[t],r=fe.queue;if(!r.has(n))r.add(n),fr(()=>{r.delete(n),kt(()=>{fe.running=!0,Jr(n)},!1),fe&&(fe.running=!1)})}}function Yd(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];if(!r.user)Jr(r);else e[n++]=r}if(Ze.context){if(Ze.count){Ze.effects||(Ze.effects=[]),Ze.effects.push(...e.slice(0,n));return}Ii()}if(Ze.effects&&(Ze.done||!Ze.count))e=[...Ze.effects,...e],n+=Ze.effects.length,delete Ze.effects;for(t=0;t<n;t++)Jr(e[t])}function Eo(e,t){let n=fe&&fe.running;if(n)e.tState=0;else e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let s=n?i.tState:i.state;if(s===Ot){if(i!==t&&(!i.updatedAt||i.updatedAt<ko))Jr(i)}else if(s===Hr)Eo(i,t)}}}function ma(e){let t=fe&&fe.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];if(t?!r.tState:!r.state){if(t)r.tState=Hr;else r.state=Hr;if(r.pure)tt.push(r);else ut.push(r);r.observers&&ma(r)}}}function kn(e){let t;if(e.sources)while(e.sources.length){let n=e.sources.pop(),r=e.sourceSlots.pop(),i=n.observers;if(i&&i.length){let s=i.pop(),c=n.observerSlots.pop();if(r<i.length)s.sourceSlots[c]=r,i[r]=s,n.observerSlots[r]=c}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)kn(e.tOwned[t]);delete e.tOwned}if(fe&&fe.running&&e.pure)pa(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)kn(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}if(fe&&fe.running)e.tState=0;else e.state=0}function pa(e,t){if(!t)e.tState=0,fe.disposed.add(e);if(e.owned)for(let n=0;n<e.owned.length;n++)pa(e.owned[n])}function So(e){if(e instanceof Error)return e;return Error(typeof e==="string"?e:"Unknown error",{cause:e})}function sa(e,t,n){try{for(let r of t)r(e)}catch(r){Mo(r,n&&n.owner||null)}}function Mo(e,t=Ae){let n=na&&t&&t.context&&t.context[na],r=So(e);if(!n)throw r;if(ut)ut.push({fn(){sa(r,n,t)},state:Ot});else sa(r,n,t)}function Bi(e){if(typeof e==="function"&&!e.length)return Bi(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=Bi(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function Zd(e,t){return function(r){let i;return Qt(()=>i=$t(()=>{return Ae.context={...Ae.context,[e]:r.value},zd(()=>r.children)}),void 0),i}}function ca(e){for(let t=0;t<e.length;t++)e[t]()}function _d(e,t,n={}){let r=[],i=[],s=[],c=0,a=t.length>1?[]:null;return it(()=>ca(s)),()=>{let d=e()||[],h=d.length,p,m;return d[Gd],$t(()=>{let A,D,b,S,M,F,v,y,P;if(h===0){if(c!==0)ca(s),s=[],r=[],i=[],c=0,a&&(a=[]);if(n.fallback)r=[Qd],i[0]=Gr((G)=>{return s[0]=G,n.fallback()}),c=1}else if(c===0){i=Array(h);for(m=0;m<h;m++)r[m]=d[m],i[m]=Gr(w);c=h}else{b=Array(h),S=Array(h),a&&(M=Array(h));for(F=0,v=Math.min(c,h);F<v&&r[F]===d[F];F++);for(v=c-1,y=h-1;v>=F&&y>=F&&r[v]===d[y];v--,y--)b[y]=i[v],S[y]=s[v],a&&(M[y]=a[v]);A=new Map,D=Array(y+1);for(m=y;m>=F;m--)P=d[m],p=A.get(P),D[m]=p===void 0?-1:p,A.set(P,m);for(p=F;p<=v;p++)if(P=r[p],m=A.get(P),m!==void 0&&m!==-1)b[m]=i[p],S[m]=s[p],a&&(M[m]=a[p]),m=D[m],A.set(P,m);else s[p]();for(m=F;m<h;m++)if(m in b){if(i[m]=b[m],s[m]=S[m],a)a[m]=M[m],a[m](m)}else i[m]=Gr(w);i=i.slice(0,c=h),r=d.slice(0)}return i});function w(A){if(s[m]=A,a){let[D,b]=ue(m);return a[m]=b,t(d[m],D)}return t(d[m])}}}function ga(e,t){if(eh){if(Ze.context){let n=Ze.context;Ii(jd());let r=$t(()=>e(t||{}));return Ii(n),r}}return $t(()=>e(t||{}))}function Co(){return!0}function Wi(e){return!(e=typeof e==="function"?e():e)?{}:e}function nh(){for(let e=0,t=this.length;e<t;++e){let n=this[e]();if(n!==void 0)return n}}function Fo(...e){let t=!1;for(let c=0;c<e.length;c++){let a=e[c];t=t||!!a&&Ti in a,e[c]=typeof a==="function"?(t=!0,He(a)):a}if(Kd&&t)return new Proxy({get(c){for(let a=e.length-1;a>=0;a--){let d=Wi(e[a])[c];if(d!==void 0)return d}},has(c){for(let a=e.length-1;a>=0;a--)if(c in Wi(e[a]))return!0;return!1},keys(){let c=[];for(let a=0;a<e.length;a++)c.push(...Object.keys(Wi(e[a])));return[...new Set(c)]}},th);let n={},r=Object.create(null);for(let c=e.length-1;c>=0;c--){let a=e[c];if(!a)continue;let d=Object.getOwnPropertyNames(a);for(let h=d.length-1;h>=0;h--){let p=d[h];if(p==="__proto__"||p==="constructor")continue;let m=Object.getOwnPropertyDescriptor(a,p);if(!r[p])r[p]=m.get?{enumerable:!0,configurable:!0,get:nh.bind(n[p]=[m.get.bind(a)])}:m.value!==void 0?m:void 0;else{let w=n[p];if(w){if(m.get)w.push(m.get.bind(a));else if(m.value!==void 0)w.push(()=>m.value)}}}}let i={},s=Object.keys(r);for(let c=s.length-1;c>=0;c--){let a=s[c],d=r[a];if(d&&d.get)Object.defineProperty(i,a,d);else i[a]=d?d.value:void 0}return i}function et(e){let t="fallback"in e&&{fallback:()=>e.fallback};return He(_d(()=>e.each,e.children,t||void 0))}function ie(e){let t=e.keyed,n=He(()=>e.when,void 0,void 0),r=t?n:He(n,void 0,{equals:(i,s)=>!i===!s});return He(()=>{let i=r();if(i){let s=e.children;return typeof s==="function"&&s.length>0?$t(()=>s(t?i:()=>{if(!$t(r))throw rh("Show");return n()})):s}return e.fallback},void 0,void 0)}var Ze,Ld=!1,Vd=(e,t)=>e===t,Ti,Kd,Gd,Nw,Ro,na=null,aa,Ot=1,Hr=2,la,Ai,Ae=null,fe=null,fr=null,lr=null,Be=null,tt=null,ut=null,ko=0,jw,oa,Ur,Qd,eh=!1,th,rh=(e)=>`Stale read from <${e}>.`;var Ue=we(()=>{Ze={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return ta(this.context.count)},getNextContextId(){return ta(this.context.count++)}};Ti=Symbol("solid-proxy"),Kd=typeof Proxy==="function",Gd=Symbol("solid-track"),Nw=Symbol("solid-dev-component"),Ro={equals:Vd},aa=ha,la={owned:null,cleanups:null,context:null,owner:null},Ai={};[jw,oa]=ue(!1);Qd=Symbol("fallback");th={get(e,t,n){if(t===Ti)return n;return e.get(t)},has(e,t){if(t===Ti)return!0;return e.has(t)},set:Co,deleteProperty:Co,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Co,deleteProperty:Co}},ownKeys(e){return e.keys()}}});function wa(e){var t;if(e>=55296&&e<=57343||e>1114111)return 65533;return(t=oh.get(e))!==null&&t!==void 0?t:e}var Ni,oh,xa;var ba=we(()=>{oh=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),xa=(Ni=String.fromCodePoint)!==null&&Ni!==void 0?Ni:(e)=>{let t="";if(e>65535)e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023;return t+=String.fromCharCode(e),t}});function va(e){let t=typeof atob==="function"?atob(e):typeof Buffer.from==="function"?Buffer.from(e,"base64").toString("binary"):new Buffer(e,"base64").toString("binary"),n=t.length&-2,r=new Uint16Array(n/2);for(let i=0,s=0;i<n;i+=2){let c=t.charCodeAt(i),a=t.charCodeAt(i+1);r[s++]=c|a<<8}return r}var ya;var $a=we(()=>{ya=va("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")});var dt;var Pa=we(()=>{(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.FLAG13=8192]="FLAG13",e[e.BRANCH_LENGTH=8064]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(dt||(dt={}))});function Li(e){return e>=Je.ZERO&&e<=Je.NINE}function ih(e){return e>=Je.UPPER_A&&e<=Je.UPPER_F||e>=Je.LOWER_A&&e<=Je.LOWER_F}function sh(e){return e>=Je.UPPER_A&&e<=Je.UPPER_Z||e>=Je.LOWER_A&&e<=Je.LOWER_Z||Li(e)}function ch(e){return e===Je.EQUALS||sh(e)}class Vi{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=at.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=ln.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=at.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,t){switch(this.state){case at.EntityStart:{if(e.charCodeAt(t)===Je.NUM)return this.state=at.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1);return this.state=at.NamedEntity,this.stateNamedEntity(e,t)}case at.NumericStart:return this.stateNumericStart(e,t);case at.NumericDecimal:return this.stateNumericDecimal(e,t);case at.NumericHex:return this.stateNumericHex(e,t);case at.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){if(t>=e.length)return-1;if((e.charCodeAt(t)|Ca)===Je.LOWER_X)return this.state=at.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1);return this.state=at.NumericDecimal,this.stateNumericDecimal(e,t)}stateNumericHex(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Li(n)||ih(n)){let r=n<=Je.NINE?n-Je.ZERO:(n|Ca)-Je.LOWER_A+10;this.result=this.result*16+r,this.consumed++,t++}else return this.emitNumericEntity(n,3)}return-1}stateNumericDecimal(e,t){while(t<e.length){let n=e.charCodeAt(t);if(Li(n))this.result=this.result*10+(n-Je.ZERO),this.consumed++,t++;else return this.emitNumericEntity(n,2)}return-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===Je.SEMI)this.consumed+=1;else if(this.decodeMode===ln.Strict)return 0;if(this.emitCodePoint(wa(this.result),this.consumed),this.errors){if(e!==Je.SEMI)this.errors.missingSemicolonAfterCharacterReference();this.errors.validateNumericCharacterReference(this.result)}return this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],i=(r&dt.VALUE_LENGTH)>>14;while(t<e.length){if(i===0&&(r&dt.FLAG13)!==0){let c=(r&dt.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let a=r&dt.JUMP_TABLE;if(e.charCodeAt(t)!==a)return this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}while(this.runConsumed<c){if(t>=e.length)return-1;let a=this.runConsumed-1,d=n[this.treeIndex+1+(a>>1)],h=a%2===0?d&255:d>>8&255;if(e.charCodeAt(t)!==h)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();t++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(c>>1),r=n[this.treeIndex],i=(r&dt.VALUE_LENGTH)>>14}if(t>=e.length)break;let s=e.charCodeAt(t);if(s===Je.SEMI&&i!==0&&(r&dt.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.treeIndex=lh(n,r,this.treeIndex+Math.max(1,i),s),this.treeIndex<0)return this.result===0||this.decodeMode===ln.Attribute&&(i===0||ch(s))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&dt.VALUE_LENGTH)>>14,i!==0){if(s===Je.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);if(this.decodeMode!==ln.Strict&&(r&dt.FLAG13)===0)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}t++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&dt.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;if(this.emitCodePoint(t===1?r[e]&~(dt.VALUE_LENGTH|dt.FLAG13):r[e+1],n),t===3)this.emitCodePoint(r[e+2],n);return n}end(){var e;switch(this.state){case at.NamedEntity:return this.result!==0&&(this.decodeMode!==ln.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case at.NumericDecimal:return this.emitNumericEntity(0,2);case at.NumericHex:return this.emitNumericEntity(0,3);case at.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case at.EntityStart:return 0}}}function ah(e){let t="",n=new Vi(e,(r)=>t+=xa(r));return function(i,s){let c=0,a=0;while((a=i.indexOf("&",a))>=0){t+=i.slice(c,a),n.startEntity(s);let h=n.write(i,a+1);if(h<0){c=a+n.end();break}c=a+h,a=h===0?c+1:c}let d=t+i.slice(c);return t="",d}}function lh(e,t,n,r){let i=(t&dt.BRANCH_LENGTH)>>7,s=t&dt.JUMP_TABLE;if(i===0)return s!==0&&r===s?n:-1;if(s){let h=r-s;return h<0||h>=i?-1:e[n+h]-1}let c=i+1>>1,a=0,d=i-1;while(a<=d){let h=a+d>>>1,p=h>>1,w=e[n+p]>>(h&1)*8&255;if(w<r)a=h+1;else if(w>r)d=h-1;else return e[n+c+h]}return-1}function _n(e,t=ln.Legacy){return fh(e,t)}var Je,Ca=32,at,ln,fh;var Sa=we(()=>{ba();$a();Pa();(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Je||(Je={}));(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(at||(at={}));(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(ln||(ln={}));fh=ah(ya)});var Ra,Ea;var Oa=we(()=>{Sa();(function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"})(Ra||(Ra={}));(function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"})(Ea||(Ea={}))});import{CliRenderer as dh,createCliRenderer as hh,engine as mh}from"@opentui/core";import{createTestRenderer as tb}from"@opentui/core/testing";import{ASCIIFontRenderable as ph,BoxRenderable as gh,CodeRenderable as xh,DiffRenderable as wh,InputRenderable as bh,LineNumberRenderable as vh,MarkdownRenderable as yh,ScrollBoxRenderable as $h,SelectRenderable as Ph,TabSelectRenderable as Ch,TextareaRenderable as Sh,TextAttributes as Ki,TextNodeRenderable as Rh,TextRenderable as Eh}from"@opentui/core";import{engine as ob,Timeline as ib}from"@opentui/core";import{BaseRenderable as Ta,createTextAttributes as Oh,InputRenderable as Gi,InputRenderableEvents as zr,isTextNodeRenderable as Ji,parseColor as Ma,Renderable as Mh,RootTextNodeRenderable as Fh,ScrollBoxRenderable as Dh,SelectRenderable as Fa,SelectRenderableEvents as Hi,TabSelectRenderable as Da,TabSelectRenderableEvents as Ui,TextNodeRenderable as Ah,TextRenderable as Ba}from"@opentui/core";import{BaseRenderable as Gh,isTextNodeRenderable as Hh,TextNodeRenderable as Uh,TextRenderable as Jh,Yoga as Wa}from"@opentui/core";import{TimeToFirstDrawRenderable as Xh}from"@opentui/core";import{createSlotRegistry as xb}from"@opentui/core";function Ih({createElement:e,createTextNode:t,createSlotNode:n,isTextNode:r,replaceText:i,insertNode:s,removeNode:c,setProperty:a,getParentNode:d,getFirstChild:h,getNextSibling:p}){function m(v,y,P,G){if(P!==void 0&&!G)G=[];if(typeof y!=="function")return w(v,y,G,P);Qt((T)=>w(v,y(),T,P),G)}function w(v,y,P,G,T){while(typeof P==="function")P=P();if(y===P)return P;let K=typeof y,X=G!==void 0;if(K==="string"||K==="number"){if(K==="number")y=y.toString();if(X){let H=P[0];if(H&&r(H))i(H,y);else H=t(y);P=b(v,P,G,H)}else if(P!==""&&typeof P==="string")i(h(v),P=y);else b(v,P,G,t(y)),P=y}else if(y==null||K==="boolean")P=b(v,P,G);else if(K==="function")return Qt(()=>{let H=y();while(typeof H==="function")H=H();P=w(v,H,P,G)}),()=>P;else if(Array.isArray(y)){let H=[];if(A(H,y,T))return Qt(()=>P=w(v,H,P,G,!0)),()=>P;if(H.length===0){let U=b(v,P,G);if(X)return P=U}else if(Array.isArray(P))if(P.length===0)S(v,H,G);else D(v,P,H);else if(P==null||P==="")S(v,H);else D(v,X&&P||[h(v)],H);P=H}else{if(Array.isArray(P)){if(X)return P=b(v,P,G,y);b(v,P,null,y)}else if(P==null||P===""||!h(v))s(v,y);else M(v,y,h(v));P=y}return P}function A(v,y,P){let G=!1;for(let T=0,K=y.length;T<K;T++){let X=y[T],H;if(X==null||X===!0||X===!1);else if(Array.isArray(X))G=A(v,X)||G;else if((H=typeof X)==="string"||H==="number")v.push(t(X));else if(H==="function")if(P){while(typeof X==="function")X=X();G=A(v,Array.isArray(X)?X:[X])||G}else v.push(X),G=!0;else v.push(X)}return G}function D(v,y,P){let G=P.length,T=y.length,K=G,X=0,H=0,U=p(y[T-1]),J=null;while(X<T||H<K){if(y[X]===P[H]){X++,H++;continue}while(y[T-1]===P[K-1])T--,K--;if(T===X){let q=K<G?H?p(P[H-1]):P[K-H]:U;while(H<K)s(v,P[H++],q)}else if(K===H)while(X<T){if(!J||!J.has(y[X]))c(v,y[X]);X++}else if(y[X]===P[K-1]&&P[H]===y[T-1]){let q=p(y[--T]);s(v,P[H++],p(y[X++])),s(v,P[--K],q),y[T]=P[K]}else{if(!J){J=new Map;let re=H;while(re<K)J.set(P[re],re++)}let q=J.get(y[X]);if(q!=null)if(H<q&&q<K){let re=X,he=1,_;while(++re<T&&re<K){if((_=J.get(y[re]))==null||_!==q+he)break;he++}if(he>q-H){let me=y[X];while(H<q)s(v,P[H++],me)}else M(v,P[H++],y[X++])}else X++;else c(v,y[X++])}}}function b(v,y,P,G){if(P===void 0){let K;while(K=h(v))c(v,K);return G&&s(v,G),G??""}let T=G||n();if(y.length){let K=!1;for(let X=y.length-1;X>=0;X--){let H=y[X];if(T!==H){let U=d(H)===v;if(!K&&!X)U?M(v,T,H):s(v,T,P);else U&&c(v,H)}else K=!0}}else s(v,T,P);return[T]}function S(v,y,P){for(let G=0,T=y.length;G<T;G++)s(v,y[G],P)}function M(v,y,P){s(v,y,P),c(v,P)}function F(v,y,P={},G){if(y||(y={}),!G)Qt(()=>P.children=w(v,y.children,P.children));return Qt(()=>y.ref&&y.ref(v)),Qt(()=>{for(let T in y){if(T==="children"||T==="ref")continue;let K=y[T];if(K===P[T])continue;a(v,T,K,P[T]),P[T]=K}}),P}return{render(v,y){let P;return Gr((G)=>{P=G,m(y,v())}),P},insert:m,spread(v,y,P){if(typeof y==="function")Qt((G)=>F(v,y(),G,P));else F(v,y,void 0,P)},createElement:e,createTextNode:t,insertNode:s,setProp(v,y,P,G){return a(v,y,P,G),P},mergeProps:Fo,effect:Qt,memo:Wh,createComponent:ga,use(v,y,P){return $t(()=>v(y,P))}}}function Th(e){let t=Ih(e);return t.mergeProps=Fo,t}function Zi(e){if(!Do.has(e))Do.set(e,0);let t=Do.get(e)+1;return Do.set(e,t),`${e}-${t}`}function Bh(e,t,n){if(lt("Inserting node:",st(t),"into parent:",st(e),"with anchor:",st(n),t instanceof dr),t instanceof qr)t.parent=e,t=t.getSlotChild(e);if(n&&n instanceof qr)n=n.getSlotChild(e);if(Ji(t)){if(!(e instanceof Ba)&&!Ji(e))throw Error(`Orphan text error: "${t.toChunks().map((s)=>s.text).join("")}" must have a <text> as a parent: ${e.id} above ${t.id}`)}if(!(e instanceof Ta))throw console.error("[INSERT]","Tried to mount a non base renderable"),Error("Tried to mount a non base renderable");if(!n){e.add(t);return}let r=zi(e),i=r.findIndex((s)=>s.id===n.id);if(i===-1)lt("[INSERT]","Could not find anchor",st(e),st(n),"[children]",...r.map((s)=>s.id));e.add(t,i)}function Nh(e,t){if(lt("Removing node:",st(t),"from parent:",st(e)),t instanceof qr)t.parent=null,t=t.getSlotChild(e);e.remove(t.id),process.nextTick(()=>{if(t instanceof Ta&&!t.parent){t.destroyRecursively();return}})}function jh(e){lt("Creating text node:",e);let t=Zi("text-node");if(typeof e==="number")e=e.toString();return dr.fromString(_n(e),{id:t})}function Lh(){let e=Zi("slot-node");return lt("Creating slot node",e),new qr(e)}function Aa(e){lt("Getting parent of node:",st(e));let t=e.parent??void 0;if(t instanceof Fh)t=t.textParent??void 0;let n=t?.parent?.parent?.parent;if(n instanceof Dh&&n.content===t)t=n;return t}function _i(e){Object.assign(Ga,e)}function qh(){return Ga}var Yi,fn=()=>{let e=Lt(Yi);if(!e)throw Error("No renderer found");return e},kh=(e)=>{let t=fn();an(()=>{t.on("resize",e)}),it(()=>{t.off("resize",e)})},nt=()=>{let e=fn(),[t,n]=ue({width:e.width,height:e.height});return kh((i,s)=>{n({width:i,height:s})}),t},rt=(e,t)=>{let r=fn().keyInput;an(()=>{if(r.on("keypress",e),t?.release)r.on("keyrelease",e)}),it(()=>{if(r.off("keypress",e),t?.release)r.off("keyrelease",e)})},hr=(e)=>{let n=fn().keyInput;an(()=>{n.on("paste",e)}),it(()=>{n.off("paste",e)})},Ia=(e)=>{let t=fn();an(()=>{t.on("selection",e)}),it(()=>{t.off("selection",e)})},Wh=(e)=>He(()=>e()),Do,lt=(...e)=>{if(process.env.DEBUG)console.log("[Reconciler]",...e)},dr,st=(e)=>{if(!e)return;return e.id},zi=(e)=>{let t;if(e instanceof Ba)t=e.getTextChildren();else t=e.getChildren();return t},Vh,L,We,z,l,B,f,j,Kh,o,db,hb,Qi,Na,ja,qr,Xr,Ao,qi,Xi,La,Va,Ka,zh,Ga,Yh=(e,t)=>{let n,r=!1,i=!1,s=!0,c=!1,a=e.destroy.bind(e),d=()=>{if(i)return;if(!n){r=!0;return}i=!0,n()};e.once("destroy",d),e.destroy=()=>{if(s){c=!0;return}a()};try{n=Vh(()=>z(Yi.Provider,{get value(){return e},get children(){return z(t,{})}}),e.root)}finally{s=!1,e.destroy=a}if(r)d();if(c)a()},Ha=async(e,t={})=>{let n=t instanceof dh?t:await hh({...t,onDestroy:()=>{t.onDestroy?.()}});mh.attach(n),Yh(n,e)};var te=we(()=>{Ue();Oa();Ue();Ue();Ue();Yi=On();Do=new Map;dr=class dr extends Ah{static fromString(e,t={}){let n=new dr(t);return n.add(e),n}};({render:Vh,effect:L,memo:We,createComponent:z,createElement:l,createTextNode:B,insertNode:f,insert:j,spread:Kh,setProp:o,mergeProps:db,use:hb}=Th({createElement(e){lt("Creating element:",e);let t=Zi(e),n=Lt(Yi);if(!n)throw Error("No renderer found");let r=qh();if(!r[e])throw Error(`[Reconciler] Unknown component type: ${e}`);let i=new r[e](n,{id:t});return lt("Element created with id:",t),i},createTextNode:jh,createSlotNode:Lh,replaceText(e,t){if(lt("Replacing text:",t,"in node:",st(e)),!(e instanceof dr))return;e.replace(_n(t),0)},setProperty(e,t,n,r){if(t.startsWith("on:")){let i=t.slice(3);if(n)e.on(i,n);if(r)e.off(i,r);return}if(Ji(e)){if(t==="href"){e.link={url:n};return}if(t==="style"){e.attributes|=Oh(n),e.fg=n.fg?Ma(n.fg):e.fg,e.bg=n.bg?Ma(n.bg):e.bg;return}return}switch(t){case"id":lt("Id mapped",e.id,"=",n),e[t]=n;break;case"focused":if(!(e instanceof Mh))return;if(n)e.focus();else e.blur();break;case"onChange":let i=void 0;if(e instanceof Fa)i=Hi.SELECTION_CHANGED;else if(e instanceof Da)i=Ui.SELECTION_CHANGED;else if(e instanceof Gi)i=zr.CHANGE;if(!i)break;if(n)e.on(i,n);if(r)e.off(i,r);break;case"onInput":if(e instanceof Gi){if(n)e.on(zr.INPUT,n);if(r)e.off(zr.INPUT,r)}break;case"onSubmit":if(e instanceof Gi){if(n)e.on(zr.ENTER,n);if(r)e.off(zr.ENTER,r)}else e[t]=n;break;case"onSelect":if(e instanceof Fa){if(n)e.on(Hi.ITEM_SELECTED,n);if(r)e.off(Hi.ITEM_SELECTED,r)}else if(e instanceof Da){if(n)e.on(Ui.ITEM_SELECTED,n);if(r)e.off(Ui.ITEM_SELECTED,r)}break;case"style":for(let s in n){let c=n[s];if(r!==void 0&&c===r[s])continue;e[s]=c}break;case"text":case"content":{let s=typeof n==="string"?n:Array.isArray(n)?n.join(""):`${n}`;e[t]=_n(s);break}default:e[t]=n}},isTextNode(e){return e instanceof dr},insertNode:Bh,removeNode:Nh,getParentNode:Aa,getFirstChild(e){lt("Getting first child of node:",st(e));let t=zi(e)[0];if(!t){lt("No first child found for node:",st(e));return}return lt("First child found:",st(t),"for node:",st(e)),t},getNextSibling(e){lt("Getting next sibling of node:",st(e));let t=Aa(e);if(!t){lt("No parent found for node:",st(e));return}let n=zi(t),r=n.indexOf(e);if(r===-1||r===n.length-1){lt("No next sibling found for node:",st(e));return}let i=n[r+1];if(!i){lt("Next sibling is null for node:",st(e));return}return lt("Next sibling found:",st(i),"for node:",st(e)),i}}));Qi=class Qi extends Gh{constructor(e){super({id:e})}add(e,t){throw Error("Can't add children on an Slot renderable")}getChildren(){return[]}remove(e){}insertBefore(e,t){throw Error("Can't add children on an Slot renderable")}getRenderable(e){return}getChildrenCount(){return 0}requestRender(){}findDescendantById(e){return}};Na=class Na extends Uh{slotParent;destroyed=!1;constructor(e,t){super({id:e});this._visible=!1,this.slotParent=t}destroy(){if(this.destroyed)return;this.destroyed=!0,this.slotParent?.destroy(),super.destroy()}};ja=class ja extends Qi{yogaNode;slotParent;destroyed=!1;constructor(e,t){super(e);this._visible=!1,this.slotParent=t,this.yogaNode=Wa.default.Node.create(),this.yogaNode.setDisplay(Wa.Display.None)}getLayoutNode(){return this.yogaNode}updateFromLayout(){}updateLayout(){}onRemove(){}destroy(){if(this.destroyed)return;this.destroyed=!0,super.destroy(),this.slotParent?.destroy()}};qr=class qr extends Qi{layoutNode;textNode;destroyed=!1;constructor(e){super(e);this._visible=!1}getSlotChild(e){if(Hh(e)||e instanceof Jh){if(!this.textNode)this.textNode=new Na(`slot-text-${this.id}`,this);return this.textNode}if(!this.layoutNode)this.layoutNode=new ja(`slot-layout-${this.id}`,this);return this.layoutNode}destroy(){if(this.destroyed)return;if(this.destroyed=!0,this.layoutNode)this.layoutNode.destroy();if(this.textNode)this.textNode.destroy()}};Xr=class Xr extends Rh{_ctx;constructor(e,t){super(t);this._ctx=e}};Ao=class Ao extends Xr{constructor(e,t){super(null,e);if(t==="b"||t==="strong")this.attributes=(this.attributes||0)|Ki.BOLD;else if(t==="i"||t==="em")this.attributes=(this.attributes||0)|Ki.ITALIC;else if(t==="u")this.attributes=(this.attributes||0)|Ki.UNDERLINE}};qi=class qi extends Ao{constructor(e){super(e,"b")}};Xi=class Xi extends Ao{constructor(e){super(e,"i")}};La=class La extends Ao{constructor(e){super(e,"u")}};Va=class Va extends Xr{constructor(e,t){super(null,t);this.add()}add(){return super.add(`
5
+ `)}};Ka=class Ka extends Xr{constructor(e,t){let n={...t,link:{url:t.href}};super(null,n)}};zh={box:gh,text:Eh,input:bh,select:Ph,textarea:Sh,ascii_font:ph,tab_select:Ch,scrollbox:$h,code:xh,diff:wh,line_number:vh,markdown:yh,span:Xr,strong:qi,b:qi,em:Xi,i:Xi,u:La,br:Va,a:Ka},Ga={...zh};_i({time_to_first_draw:Xh})});function Ua(e){return typeof e==="object"&&e!==null&&"frames"in e&&"interval"in e&&Array.isArray(e.frames)}function Ja(e){return typeof e==="object"&&e!==null&&"label"in e&&"onClick"in e}function es(e,t){switch(e){case"success":return t.success;case"error":return t.error;case"warning":return t.warning;case"info":return t.info;case"loading":return ts(t.loading);default:return""}}function ts(e){if(Ua(e))return e.frames[0]??"\u25CC";return e}function ns(e){return Ua(e)?e:null}var Zh,za;var qa=we(()=>{Zh={frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"],interval:100},za={success:"\u2713",error:"\u2717",warning:"!",info:"\u2139",loading:Zh,close:"\xD7"}});import{BoxRenderable as Io,TextAttributes as Qh,TextRenderable as Yr,parseColor as _h}from"@opentui/core";function om(e){return e!==null&&typeof e==="object"&&"ok"in e&&typeof e.ok==="boolean"&&"status"in e&&typeof e.status==="number"}function lm(e,t={}){let[n,r]=e.split("-"),i={position:"absolute"};if(n==="top")i.top=t.top??Wo.top;else i.bottom=t.bottom??Wo.bottom;if(r==="left")i.left=t.left??Wo.left,i.alignItems="flex-start";else if(r==="center")i.left=0,i.width="100%",i.alignItems="center";else i.right=t.right??Wo.right,i.alignItems="flex-end";return i}function fm(e){return e.includes("center")}function um(e){return e.startsWith("top")}function dm(e,t={top:0,right:0,bottom:0,left:0}){if(!e)return{...t};let{padding:n,paddingX:r,paddingY:i}=e;return{top:e.paddingTop??i??n??t.top,right:e.paddingRight??r??n??t.right,bottom:e.paddingBottom??i??n??t.bottom,left:e.paddingLeft??r??n??t.left}}function hm(...e){let t={};for(let n of e){if(!n)continue;Object.assign(t,n)}return t}function Xa(e,t,n){let r=rs.style,i=rs[e]?.style,s=t?.style,c=t?.[e]?.style,a=hm(r,i,s,c,n);if(a.border===!1)delete a.borderStyle,delete a.borderColor;return a}function Ya(e,t,n){if(n!==void 0)return n;let r=t?.[e]?.duration;if(r!==void 0)return r;if(t?.duration!==void 0)return t.duration;return rs.duration}var em,tm=200,Za=60,Wo,nm,rs,rm=1,im=class{subscribers=[];toasts=[];dismissedToasts=new Set;_activeToasts=[];_updateActiveToastsCache=()=>{let e=this.toasts.filter((t)=>!this.dismissedToasts.has(t.id));if(e.length!==this._activeToasts.length||e.some((t,n)=>t!==this._activeToasts[n]))this._activeToasts=e};subscribe=(e)=>{return this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);if(t>-1)this.subscribers.splice(t,1)}};publish=(e)=>{for(let t of this.subscribers)t(e)};addToast=(e)=>{this.toasts=[...this.toasts,e],this._updateActiveToastsCache(),this.publish(e)};create=(e)=>{let{message:t,...n}=e,r=typeof e.id==="number"||e.id&&e.id.length>0?e.id:rm++,i=this.toasts.find((c)=>c.id===r),s=e.dismissible===void 0?!0:e.dismissible;if(this.dismissedToasts.has(r))this.dismissedToasts.delete(r);if(i)this.toasts=this.toasts.map((c)=>{if(c.id===r)return this.publish({...c,...e,id:r,title:t}),{...c,...e,id:r,dismissible:s,title:t};return c}),this._updateActiveToastsCache();else this.addToast({title:t,...n,dismissible:s,id:r,type:e.type??"default"});return r};dismiss=(e)=>{if(e!==void 0)this.dismissedToasts.add(e),this._updateActiveToastsCache(),setTimeout(()=>{for(let t of this.subscribers)t({id:e,dismiss:!0})},0);else{for(let t of this.toasts){this.dismissedToasts.add(t.id);for(let n of this.subscribers)n({id:t.id,dismiss:!0})}this._updateActiveToastsCache()}return e};message=(e,t)=>{return this.create({...t,message:e,type:"default"})};error=(e,t)=>{return this.create({...t,message:e,type:"error"})};success=(e,t)=>{return this.create({...t,message:e,type:"success"})};info=(e,t)=>{return this.create({...t,message:e,type:"info"})};warning=(e,t)=>{return this.create({...t,message:e,type:"warning"})};loading=(e,t)=>{return this.create({...t,message:e,type:"loading"})};promise=(e,t)=>{if(!t)return;let n;if(t.loading!==void 0)n=this.create({...t,type:"loading",message:t.loading,description:typeof t.description!=="function"?t.description:void 0});let r=e instanceof Function?e():e,i=n!==void 0,s,c=r.then(async(d)=>{if(s=["resolve",d],om(d)&&!d.ok){i=!1;let h=typeof t.error==="function"?await t.error(`HTTP error! status: ${d.status}`):t.error,p=typeof t.description==="function"?await t.description(`HTTP error! status: ${d.status}`):t.description,m=typeof h==="object"&&h!==null?h:{message:h};this.create({id:n,type:"error",description:p,...m})}else if(d instanceof Error){i=!1;let h=typeof t.error==="function"?await t.error(d):t.error,p=typeof t.description==="function"?await t.description(d):t.description,m=typeof h==="object"&&h!==null?h:{message:h};this.create({id:n,type:"error",description:p,...m})}else if(t.success!==void 0){i=!1;let h=typeof t.success==="function"?await t.success(d):t.success,p=typeof t.description==="function"?await t.description(d):t.description,m=typeof h==="object"&&h!==null?h:{message:h};this.create({id:n,type:"success",description:p,...m})}}).catch(async(d)=>{if(s=["reject",d],t.error!==void 0){i=!1;let h=typeof t.error==="function"?await t.error(d):t.error,p=typeof t.description==="function"?await t.description(d):t.description,m=typeof h==="object"&&h!==null?h:{message:h};this.create({id:n,type:"error",description:p,...m})}}).finally(()=>{if(i)this.dismiss(n),n=void 0;t.finally?.()}),a=()=>new Promise((d,h)=>c.then(()=>s[0]==="reject"?h(s[1]):d(s[1])).catch(h));if(typeof n!=="string"&&typeof n!=="number")return{unwrap:a};return Object.assign(n,{unwrap:a})};getActiveToasts=()=>{return this._activeToasts}},Pt,sm=(e,t)=>Pt.message(e,t),cm=()=>Pt.toasts,am=()=>Pt.getActiveToasts(),er,mm,Qa;var _a=we(()=>{qa();em={SHORT:2000,DEFAULT:4000,LONG:6000,EXTENDED:1e4,PERSISTENT:1/0},Wo={top:1,right:2,bottom:1,left:2},nm={border:!0,borderStyle:"single",borderColor:"#333333",minHeight:3,backgroundColor:"#1a1a1a",foregroundColor:"#ffffff",mutedColor:"#6b7280"},rs={style:nm,duration:em.DEFAULT,default:{style:{borderColor:"#333333"}},success:{style:{borderColor:"#22c55e"}},error:{style:{borderColor:"#ef4444"}},warning:{style:{borderColor:"#f59e0b"}},info:{style:{borderColor:"#3b82f6"}},loading:{style:{borderColor:"#6b7280"}}};Pt=new im,er=Object.assign(sm,{success:Pt.success,info:Pt.info,warning:Pt.warning,error:Pt.error,message:Pt.message,promise:Pt.promise,dismiss:Pt.dismiss,loading:Pt.loading},{getHistory:cm,getToasts:am});mm=class extends Io{_toast;_icons;_toastOptions;_computedStyle;_closeButton;_onRemove;_remainingTime;_closeTimerStartTime=0;_lastCloseTimerStartTime=0;_timerHandle=null;_paused=!1;_dismissed=!1;_spinnerHandle=null;_spinnerFrameIndex=0;_spinnerConfig=null;_iconText=null;_contentBox=null;_titleText=null;_descriptionText=null;_actionsBox=null;constructor(e,t){let n=Xa(t.toast.type,t.toastOptions,t.toast.style),r=Ya(t.toast.type,t.toastOptions,t.toast.duration),i=dm(n,{top:0,right:1,bottom:0,left:1});super(e,{id:`toast-${t.toast.id}`,flexDirection:"row",gap:1,border:n.border,borderStyle:n.borderStyle,borderColor:n.borderColor,customBorderChars:n.customBorderChars,backgroundColor:n.backgroundColor,minHeight:n.minHeight,maxWidth:n.maxWidth??Za,minWidth:n.minWidth,paddingTop:i.top,paddingRight:i.right,paddingBottom:i.bottom,paddingLeft:i.left,onMouseOver:()=>this.pause(),onMouseOut:()=>this.resume()});if(this._toast=t.toast,this._icons=t.icons===!1?!1:{...za,...t.icons},this._toastOptions=t.toastOptions,this._computedStyle=n,this._closeButton=t.closeButton,this._onRemove=t.onRemove,this._remainingTime=r,this.setupContent(),this._remainingTime!==1/0&&this._toast.type!=="loading")this.startTimer();if(this._toast.type==="loading")this.startSpinner()}setupContent(){let e=this.ctx,t=this._toast,n=this._computedStyle,r=this._icons,i=n.iconColor??n.borderColor,s=t.type==="loading";if(s&&r!==!1)this._spinnerConfig=ns(r.loading);let c=t.icon??(r===!1?void 0:s?ts(r.loading):es(t.type,r));if(c)this._iconText=new Yr(e,{id:`${this.id}-icon`,content:c,fg:i,flexShrink:0,paddingTop:0,paddingBottom:0}),this.add(this._iconText);this._contentBox=new Io(e,{id:`${this.id}-content`,flexDirection:"column",flexGrow:1,flexShrink:1,gap:0});let a=typeof t.title==="function"?t.title():t.title;if(a)this._titleText=new Yr(e,{id:`${this.id}-title`,content:a,fg:n.foregroundColor,attributes:Qh.BOLD,wrapMode:"word"}),this._contentBox.add(this._titleText);let d=typeof t.description==="function"?t.description():t.description;if(d)this._descriptionText=new Yr(e,{id:`${this.id}-description`,content:d,fg:n.mutedColor,wrapMode:"word"}),this._contentBox.add(this._descriptionText);if(this.add(this._contentBox),t.action){if(this._actionsBox=new Io(e,{id:`${this.id}-actions`,flexDirection:"row",gap:1,flexShrink:0,alignItems:"center"}),t.action&&Ja(t.action)){let h=new Yr(e,{id:`${this.id}-action`,content:`[${t.action.label}]`,fg:n.foregroundColor,onMouseUp:()=>t.action?.onClick?.()});this._actionsBox.add(h)}this.add(this._actionsBox)}if((t.closeButton??this._closeButton)&&t.dismissible!==!1){let h=r===!1?"\xD7":r.close,p=new Yr(e,{id:`${this.id}-close`,content:h,fg:n.mutedColor,flexShrink:0,onMouseUp:()=>this.dismiss()});this.add(p)}}startTimer(){if(this._remainingTime===1/0)return;this._closeTimerStartTime=Date.now(),this._timerHandle=setTimeout(()=>{this._toast.onAutoClose?.(this._toast),this.dismiss()},this._remainingTime)}pause(){if(this._paused||this._remainingTime===1/0)return;if(this._paused=!0,this._timerHandle)clearTimeout(this._timerHandle),this._timerHandle=null;if(this._lastCloseTimerStartTime<this._closeTimerStartTime){let e=Date.now()-this._closeTimerStartTime;this._remainingTime=Math.max(0,this._remainingTime-e)}this._lastCloseTimerStartTime=Date.now()}resume(){if(!this._paused||this._remainingTime===1/0)return;this._paused=!1,this.startTimer()}startSpinner(){if(this._spinnerHandle||!this._spinnerConfig)return;let{frames:e,interval:t}=this._spinnerConfig;this._spinnerHandle=setInterval(()=>{this._spinnerFrameIndex=(this._spinnerFrameIndex+1)%e.length;let n=e[this._spinnerFrameIndex];if(this._iconText&&n)this._iconText.content=n,this.requestRender()},t)}stopSpinner(){if(this._spinnerHandle)clearInterval(this._spinnerHandle),this._spinnerHandle=null}dismiss(){if(this._dismissed)return;if(this._dismissed=!0,this._timerHandle)clearTimeout(this._timerHandle),this._timerHandle=null;this.stopSpinner(),this._toast.onDismiss?.(this._toast),Pt.dismiss(this._toast.id),setTimeout(()=>{this._onRemove?.(this._toast)},tm)}updateToast(e){this._toast=e;let t=Xa(e.type,this._toastOptions,e.style);if(this._computedStyle=t,t.borderColor)this.borderColor=t.borderColor;if(t.customBorderChars)this.customBorderChars=t.customBorderChars;let n=t.iconColor??t.borderColor;if(this._iconText){let s=e.icon??(this._icons===!1?void 0:es(e.type,this._icons));if(s)this._iconText.content=s;if(n)this._iconText.fg=_h(n)}if(this._titleText){let s=typeof e.title==="function"?e.title():e.title;if(s)this._titleText.content=s}if(this._descriptionText){let s=typeof e.description==="function"?e.description():e.description;if(s)this._descriptionText.content=s}let r=this._spinnerHandle!==null,i=e.type==="loading";if(r&&!i)this.stopSpinner(),this._spinnerConfig=null;else if(!r&&i){if(this._icons!==!1)this._spinnerConfig=ns(this._icons.loading);this.startSpinner()}if(e.type!=="loading"){if(this._timerHandle)clearTimeout(this._timerHandle);if(this._remainingTime=Ya(e.type,this._toastOptions,e.duration),this._remainingTime!==1/0)this.startTimer()}this.requestRender()}get toast(){return this._toast}get isDismissed(){return this._dismissed}destroy(){if(this._timerHandle)clearTimeout(this._timerHandle),this._timerHandle=null;this.stopSpinner(),super.destroy()}},Qa=class extends Io{_options={};_toastRenderables=new Map;_unsubscribe=null;constructor(e,t={}){super(e,{id:"toaster",flexDirection:"column",gap:1,zIndex:9999});this._options=t,this.applyLayoutOptions(),this.subscribe()}applyLayoutOptions(){let e=this._options.position??"bottom-right",t=lm(e,this._options.offset??{}),n=fm(e);if(Object.assign(this,t),super.gap=this._options.gap??1,!n)super.maxWidth=this._options.maxWidth??Za}isToastPosition(e){return e==="top-left"||e==="top-center"||e==="top-right"||e==="bottom-left"||e==="bottom-center"||e==="bottom-right"}set position(e){if(this.isToastPosition(e))this._options.position=e,this.applyLayoutOptions();else super.position=e}set offset(e){this._options.offset=e,this.applyLayoutOptions()}set gap(e){this._options.gap=e,super.gap=e}set visibleToasts(e){this._options.visibleToasts=e}set closeButton(e){this._options.closeButton=e}set icons(e){this._options.icons=e}set stackingMode(e){this._options.stackingMode=e}set maxWidth(e){this._options.maxWidth=e,super.maxWidth=e}set toastOptions(e){this._options.toastOptions=e}subscribe(){this._unsubscribe=Pt.subscribe((e)=>{if("dismiss"in e&&e.dismiss)this.removeToast(e.id);else this.addOrUpdateToast(e)})}addOrUpdateToast(e){let t=this._toastRenderables.get(e.id);if(t){t.updateToast(e);return}if((this._options.stackingMode??"single")==="single")for(let[r]of this._toastRenderables)this.removeToast(r);else{let r=this._options.visibleToasts??3,i=this._toastRenderables.size;if(i>=r){let s=i-r+1,c=Array.from(this._toastRenderables.keys());for(let a=0;a<s;a++){let d=c[a];if(d!==void 0)this.removeToast(d)}}}let n=new mm(this.ctx,{toast:e,icons:this._options.icons,toastOptions:this._options.toastOptions,closeButton:this._options.closeButton,onRemove:(r)=>this.handleToastRemoved(r)});if(this._toastRenderables.set(e.id,n),um(this._options.position??"bottom-right"))this.add(n);else this.add(n,0);this.requestRender()}removeToast(e){let t=this._toastRenderables.get(e);if(t)t.dismiss()}handleToastRemoved(e){let t=this._toastRenderables.get(e.id);if(t)this._toastRenderables.delete(e.id),this.remove(t.id),t.destroy(),this.requestRender()}get toastCount(){return this._toastRenderables.size}dismissAll(){for(let[e]of this._toastRenderables)this.removeToast(e)}destroy(){this._unsubscribe?.();for(let[,e]of this._toastRenderables)e.destroy();this._toastRenderables.clear(),super.destroy()}}});var os=we(()=>{_a();te();_i({toaster:Qa})});function tl(e){let[t,n]=ue("list"),[r,i]=ue(0),[s,c]=ue(null),[a,d]=ue(!1),[h,p]=ue(!1),[m,w]=ue(!1),[A,D]=ue(!1),[b,S]=ue(new Set),[M,F]=ue(!1),[v,y]=ue(null),P=(X)=>{let H=new Set(b());if(H.has(X))H.delete(X);else H.add(X);S(H)},G=(X)=>{S(new Set(X))},T=(X)=>{let H=new Set(X),U=b(),J=new Set;for(let q of U)if(H.has(q))J.add(q);if(J.size!==U.size)S(J)},K=()=>{S(new Set)};return z(el.Provider,{value:{activeTab:t,setActiveTab:n,selectedWorktreeIndex:r,setSelectedWorktreeIndex:i,selectedWorktreePath:s,setSelectedWorktreePath:c,showRemove:a,setShowRemove:d,showCommandPalette:h,setShowCommandPalette:p,showDetailView:m,setShowDetailView:w,inputFocused:A,setInputFocused:D,repoPath:()=>e.repoPath,repoPaths:()=>e.repoPaths,selectedWorktrees:b,toggleWorktreeSelection:P,selectAllNonMain:G,pruneSelectedWorktrees:T,clearSelection:K,showBulkActions:M,setShowBulkActions:F,focusPickerData:v,setFocusPickerData:y},get children(){return e.children}})}function ot(){let e=Lt(el);if(!e)throw Error("useApp must be used within AppProvider");return e}var el;var Jt=we(()=>{te();Ue();el=On()});var Ft,Zr,is,Qr;var zt=we(()=>{Ft=class Ft extends Error{exitCode;stderr;command;constructor(e,t,n,r){super(e);this.exitCode=t;this.stderr=n;this.command=r;this.name="GitError"}};Zr=class Zr extends Error{installed;required;constructor(e,t){super(`git version ${e} is below minimum required ${t}`);this.installed=e;this.required=t;this.name="GitVersionError"}};is=class is extends Error{branch;reason;constructor(e,t,n){super(e);this.branch=t;this.reason=n;this.name="ArchiveError"}};Qr=class Qr extends Error{path;reason;constructor(e,t,n){super(e);this.path=t;this.reason=n;this.name="ImportError"}}});async function qt(e,t,n){let r=Array(e.length),i=0;async function s(){while(i<e.length){let a=i++;r[a]=await n(e[a])}}let c=Array.from({length:Math.min(t,e.length)},()=>s());return await Promise.all(c),r}import{resolve as nl,dirname as pm}from"path";import{mkdirSync as gm,existsSync as xm}from"fs";function _r(e){let t=To.get(e);if(!t)return;if(Date.now()>t.expires){To.delete(e);return}return t.data}function en(e,t,n=wm){return To.set(e,{data:t,expires:Date.now()+n}),t}function ht(){To.clear()}class se{static gitVersionChecked=!1;static async run(e,t){let n=Bun.spawn(["git",...e],{cwd:t??Bun.cwd,stdout:"pipe",stderr:"pipe",env:{...Bun.env,LC_ALL:"C",LANG:"C"}}),[r,i,s]=await Promise.all([new Response(n.stdout).text(),new Response(n.stderr).text(),n.exited]);if(s!==0)throw new Ft(`git ${e[0]} failed: ${i.trim()}`,s,i.trim(),`git ${e.join(" ")}`);return r.trim()}static async exec(e,t){return this.run(e,t)}static async checkVersion(){if(this.gitVersionChecked)return;let t=(await this.run(["--version"])).match(/git version (\d+)\.(\d+)\.?((\d+)?)/);if(!t)throw Error("Cannot parse git version");let[,n,r]=t.map(Number);if(n<2||n===2&&r<17)throw new Zr(`${n}.${r}`,"2.17");this.gitVersionChecked=!0}static async list(e){await this.checkVersion();let t=e??Bun.cwd,n=await this.getMainRepoPath(t).catch(()=>t),r=`list:${n}`,i=_r(r);if(i)return i;let s=n.split("/").pop()??"",c=await this.run(["worktree","list","--porcelain"],t),a=this.parsePorcelain(c,s,n),d=await qt(a,10,async(h)=>({...h,isDirty:await this.isDirty(h.path).catch(()=>!1)}));return en(r,d)}static async listAll(e){await this.checkVersion();let t=new Set,n=[];for(let i of e){let s=nl(i);if(!t.has(s))t.add(s),n.push(s)}return(await qt(n,5,async(i)=>{try{return await this.list(i)}catch{return[]}})).flat()}static parsePorcelain(e,t,n){let r=e.trim();if(!r)return[];return r.split(/\n\n+/).filter(Boolean).map((s,c)=>{let a=s.split(`
6
+ `),d=a.find((S)=>S.startsWith("worktree ")),h=a.find((S)=>S.startsWith("HEAD ")),p=a.find((S)=>S.startsWith("branch ")),m=a.find((S)=>S.startsWith("locked")),w=d?.slice(9)??"",A=h?.slice(5)??"",D=null;if(p)D=p.slice(7).replace(/^refs\/heads\//,"");let b=m&&m.startsWith("locked ")?m.slice(7):void 0;return{path:w,branch:D,head:A,isMain:c===0,isDirty:!1,isLocked:Boolean(m),lockReason:b,repoName:t,repoPath:n}})}static async add(e,t,n,r){await this.checkVersion();let i=pm(t);if(!xm(i))gm(i,{recursive:!0});let c=!await this.localBranchExists(e,r),a=["worktree","add",t,e];if(c)a=["worktree","add","-b",e,t,n?.base??"HEAD"];await this.run(a,r),ht()}static async localBranchExists(e,t){try{return await this.run(["rev-parse","--verify",`refs/heads/${e}`],t??Bun.cwd),!0}catch{return!1}}static async remove(e,t,n){await this.checkVersion();let r=["worktree","remove",e];if(t?.force)r.push("--force");await this.run(r,n),ht()}static async move(e,t,n){await this.checkVersion(),await this.run(["worktree","move",e,t],n),ht()}static async prune(e){await this.checkVersion(),await this.run(["worktree","prune"],e),ht()}static async isWorktree(e){let t=e??Bun.cwd;try{let n=await this.run(["rev-parse","--git-dir"],t),r=await this.run(["rev-parse","--git-common-dir"],t);return n!==r&&!n.endsWith("/.git")&&!n.endsWith("\\.git")}catch{return!1}}static async getMainRepoPath(e){let t=e??Bun.cwd,n=await this.run(["rev-parse","--git-common-dir"],t),r=nl(t,n);return r.endsWith("/.git")?r.slice(0,-5):r}static async getBranchForWorktree(e){try{let t=await this.run(["rev-parse","--abbrev-ref","HEAD"],e);return t==="HEAD"?null:t}catch{return null}}static async isDirty(e){try{return(await this.run(["status","--porcelain"],e??Bun.cwd)).length>0}catch{return!1}}static async getAheadBehind(e,t){let n=t??Bun.cwd,r=`ahead-behind:${n}:${e}`,i=_r(r);if(i)return i;try{let s=await this.run(["rev-parse","--abbrev-ref",`${e}@{upstream}`],n),c=await this.run(["rev-list","--left-right","--count",`${s}...${e}`],n),[a,d]=c.split(/\s+/).map(Number);return en(r,{ahead:d??0,behind:a??0})}catch{return en(r,{ahead:0,behind:0})}}static async getLastCommit(e){let t=e??Bun.cwd,n=`last-commit:${t}`,r=_r(n);if(r!==void 0)return r;try{let i=await this.run(["log","-1","--format=%h\x1F%s\x1F%cr"],t);if(!i)return en(n,null);let[s,c,a]=i.split("\x1F");return en(n,{hash:s??"",message:c??"",relativeDate:a??""})}catch{return en(n,null)}}static async getDirtyCount(e){let t=e??Bun.cwd,n=`dirty-count:${t}`,r=_r(n);if(r!==void 0)return r;try{let i=await this.run(["status","--porcelain"],t);if(!i)return en(n,0);return en(n,i.split(`
7
+ `).filter(Boolean).length)}catch{return en(n,0)}}static async unlock(e,t){await this.checkVersion(),await this.run(["worktree","unlock",e],t),ht()}static async isMergedInto(e,t,n){try{return(await this.run(["branch","--merged",t],n??Bun.cwd)).split(`
8
+ `).some((i)=>i.trim().replace(/^[*+] /,"")===e)}catch{return!1}}static async getDefaultRemote(e){try{return await this.run(["config","checkout.defaultRemote"],e??Bun.cwd)||"origin"}catch{return"origin"}}static async remoteBranchExists(e,t,n){let r=t??await this.getDefaultRemote(n);try{return await this.run(["rev-parse","--verify",`refs/remotes/${r}/${e}`],n??Bun.cwd),!0}catch{return!1}}static async listBranches(e){let t=e??Bun.cwd,n=`branches:${t}`,r=_r(n);if(r)return r;let[i,s]=await Promise.all([this.run(["for-each-ref","--sort=-committerdate","--format=%(refname:short)\x1F%(committerdate:relative)","refs/heads/"],t).catch(()=>""),this.run(["for-each-ref","--sort=-committerdate","--format=%(refname:short)\x1F%(committerdate:relative)","refs/remotes/"],t).catch(()=>"")]),c=[];for(let a of i.split(`
9
+ `).filter(Boolean)){let[d,h]=a.split("\x1F");c.push({name:d??"",isRemote:!1,lastCommitDate:h??""})}for(let a of s.split(`
10
+ `).filter(Boolean)){let[d,h]=a.split("\x1F");if(!d||d.endsWith("/HEAD"))continue;let p=d.replace(/^[^/]+\//,"");if(c.some((m)=>m.name===p))continue;c.push({name:p,isRemote:!0,lastCommitDate:h??""})}return en(n,c)}static async diffBetween(e,t,n,r){let i=["diff"];if(n?.stat)i.push("--stat");if(n?.nameOnly)i.push("--name-only");return i.push(e,t),this.run(i,r)}static async getWorktreeLastActivity(e){try{let t=await this.run(["log","-1","--format=%ci"],e);return t?new Date(t):null}catch{return null}}static async setUpstream(e,t,n){let r=t??await this.getDefaultRemote(n),i=n??Bun.cwd;try{if(await this.run(["config",`branch.${e}.remote`],i))return}catch{}await this.run(["branch",`--set-upstream-to=${r}/${e}`,e],i)}}var wm=3000,To;var je=we(()=>{zt();To=new Map});function ol(e){let[t,{refetch:n}]=fa(async()=>{try{if(e.repoPaths.length<=1)return await se.list(e.repoPaths[0]);return await se.listAll(e.repoPaths)}catch(a){throw a}}),r=()=>{ht(),n()},i=()=>{if(t.error)return;try{return t()}catch{return}},s=He(()=>{let a=i()??[],d=new Set,h=[];for(let p of a)if(!d.has(p.repoName))d.add(p.repoName),h.push(p.repoName);return h}),c=He(()=>s().length>1);return z(rl.Provider,{value:{worktrees:i,refetch:r,loading:()=>t.loading,error:()=>t.error,repoNames:s,isMultiRepo:c},get children(){return e.children}})}function mt(){let e=Lt(rl);if(!e)throw Error("useGit must be used within GitProvider");return e}var rl;var un=we(()=>{te();Ue();je();rl=On()});var bm,Dt,Bo,vm,mr,g;var bt=we(()=>{Ue();bm={opencode:{bg:{base:"#090909",surface:"#111111",elevated:"#1a1a1a",overlay:"#000000"},border:{default:"#2a2a2a",active:"#4fc3f7",subtle:"#1e1e1e"},text:{primary:"#e8e8e8",secondary:"#666666",accent:"#4fc3f7",success:"#4ade80",warning:"#fbbf24",error:"#f87171",selected:"#ffffff"},tab:{active:"#4fc3f7",activeBg:"#1a1a1a",inactive:"#555555",inactiveBg:"#000000"},select:{focusedBg:"#1a2a3a",focusedFg:"#4fc3f7",selectedBg:"#161616",selectedFg:"#e8e8e8",normalFg:"#e8e8e8",descFg:"#666666"}},"tokyo-night":{bg:{base:"#1a1b26",surface:"#1f2335",elevated:"#24283b",overlay:"#0d1117"},border:{default:"#3b4261",active:"#7aa2f7",subtle:"#292e42"},text:{primary:"#c0caf5",secondary:"#565f89",accent:"#7aa2f7",success:"#9ece6a",warning:"#e0af68",error:"#f7768e",selected:"#ffffff"},tab:{active:"#7aa2f7",activeBg:"#24283b",inactive:"#565f89",inactiveBg:"#1a1b26"},select:{focusedBg:"#283457",focusedFg:"#7aa2f7",selectedBg:"#2a2f44",selectedFg:"#c0caf5",normalFg:"#c0caf5",descFg:"#565f89"}},dracula:{bg:{base:"#282a36",surface:"#21222c",elevated:"#343746",overlay:"#191a21"},border:{default:"#6272a4",active:"#bd93f9",subtle:"#44475a"},text:{primary:"#f8f8f2",secondary:"#6272a4",accent:"#bd93f9",success:"#50fa7b",warning:"#ffb86c",error:"#ff5555",selected:"#ffffff"},tab:{active:"#bd93f9",activeBg:"#343746",inactive:"#6272a4",inactiveBg:"#282a36"},select:{focusedBg:"#44475a",focusedFg:"#bd93f9",selectedBg:"#383a4a",selectedFg:"#f8f8f2",normalFg:"#f8f8f2",descFg:"#6272a4"}},nord:{bg:{base:"#2e3440",surface:"#3b4252",elevated:"#434c5e",overlay:"#242933"},border:{default:"#4c566a",active:"#81a1c1",subtle:"#3b4252"},text:{primary:"#eceff4",secondary:"#4c566a",accent:"#81a1c1",success:"#a3be8c",warning:"#ebcb8b",error:"#bf616a",selected:"#ffffff"},tab:{active:"#88c0d0",activeBg:"#434c5e",inactive:"#4c566a",inactiveBg:"#2e3440"},select:{focusedBg:"#3b4252",focusedFg:"#88c0d0",selectedBg:"#3b4252",selectedFg:"#eceff4",normalFg:"#eceff4",descFg:"#4c566a"}},catppuccin:{bg:{base:"#1e1e2e",surface:"#181825",elevated:"#313244",overlay:"#11111b"},border:{default:"#45475a",active:"#cba6f7",subtle:"#313244"},text:{primary:"#cdd6f4",secondary:"#585b70",accent:"#cba6f7",success:"#a6e3a1",warning:"#fab387",error:"#f38ba8",selected:"#ffffff"},tab:{active:"#cba6f7",activeBg:"#313244",inactive:"#585b70",inactiveBg:"#1e1e2e"},select:{focusedBg:"#313244",focusedFg:"#cba6f7",selectedBg:"#313244",selectedFg:"#cdd6f4",normalFg:"#cdd6f4",descFg:"#585b70"}},"github-dark":{bg:{base:"#0d1117",surface:"#161b22",elevated:"#21262d",overlay:"#010409"},border:{default:"#30363d",active:"#58a6ff",subtle:"#21262d"},text:{primary:"#e6edf3",secondary:"#484f58",accent:"#58a6ff",success:"#3fb950",warning:"#d29922",error:"#f85149",selected:"#ffffff"},tab:{active:"#58a6ff",activeBg:"#21262d",inactive:"#484f58",inactiveBg:"#0d1117"},select:{focusedBg:"#1f2937",focusedFg:"#58a6ff",selectedBg:"#1f2937",selectedFg:"#e6edf3",normalFg:"#e6edf3",descFg:"#484f58"}},"one-dark":{bg:{base:"#282c34",surface:"#21252b",elevated:"#2c313a",overlay:"#1b1f27"},border:{default:"#3e4451",active:"#61afef",subtle:"#2c313a"},text:{primary:"#abb2bf",secondary:"#5c6370",accent:"#61afef",success:"#98c379",warning:"#e5c07b",error:"#e06c75",selected:"#ffffff"},tab:{active:"#61afef",activeBg:"#2c313a",inactive:"#5c6370",inactiveBg:"#282c34"},select:{focusedBg:"#2c313a",focusedFg:"#61afef",selectedBg:"#2c313a",selectedFg:"#abb2bf",normalFg:"#abb2bf",descFg:"#5c6370"}},monokai:{bg:{base:"#272822",surface:"#1e1f1c",elevated:"#3e3d32",overlay:"#1a1b18"},border:{default:"#49483e",active:"#a6e22e",subtle:"#3e3d32"},text:{primary:"#f8f8f2",secondary:"#75715e",accent:"#66d9ef",success:"#a6e22e",warning:"#e6db74",error:"#f92672",selected:"#ffffff"},tab:{active:"#a6e22e",activeBg:"#3e3d32",inactive:"#75715e",inactiveBg:"#272822"},select:{focusedBg:"#3e3d32",focusedFg:"#66d9ef",selectedBg:"#3e3d32",selectedFg:"#f8f8f2",normalFg:"#f8f8f2",descFg:"#75715e"}},"github-light":{bg:{base:"#ffffff",surface:"#f6f8fa",elevated:"#eaeef2",overlay:"#d0d7de"},border:{default:"#d0d7de",active:"#0969da",subtle:"#eaeef2"},text:{primary:"#1f2328",secondary:"#656d76",accent:"#0969da",success:"#1a7f37",warning:"#9a6700",error:"#cf222e",selected:"#000000"},tab:{active:"#0969da",activeBg:"#eaeef2",inactive:"#656d76",inactiveBg:"#ffffff"},select:{focusedBg:"#ddf4ff",focusedFg:"#0969da",selectedBg:"#eaeef2",selectedFg:"#1f2328",normalFg:"#1f2328",descFg:"#656d76"}}},Dt=["opencode","tokyo-night","dracula","nord","catppuccin","github-dark","one-dark","monokai","github-light"],Bo={opencode:"OpenCode","tokyo-night":"Tokyo Night",dracula:"Dracula",nord:"Nord",catppuccin:"Catppuccin Mocha","github-dark":"GitHub Dark","one-dark":"One Dark",monokai:"Monokai","github-light":"GitHub Light"},[vm,mr]=ue("opencode"),g=new Proxy({},{get(e,t){return new Proxy({},{get(n,r){return bm[vm()][t]?.[r]}})}})});import{readFileSync as ym,statSync as $m}from"fs";import{join as il,resolve as Pm}from"path";function eo(e){let t=il(e,".git"),n=$m(t,{throwIfNoEntry:!1});if(!n||n.isDirectory())return t;let i=ym(t,"utf-8").trim().replace(/^gitdir:\s*/,"").trim();return Pm(e,i)}function tn(e,t){return il(eo(e),t)}var Mn=()=>{};import{existsSync as Cm,mkdirSync as Sm,readFileSync as Rm,writeFileSync as Em}from"fs";import{dirname as km,join as ss}from"path";function sl(e){return tn(e,"cop-focus")}function pr(e,t){let n=sl(e);Sm(km(n),{recursive:!0}),Em(n,t.join(`
11
+ `),{encoding:"utf-8",mode:384})}function Vt(e){let t=sl(e);if(!Cm(t))return null;return Rm(t,"utf-8").split(/\r?\n/).filter(Boolean)}function jo(e,t){if(t?.forceRoot)return{kind:"root",path:e};let n=Vt(e)??[];if(t?.explicitFocus){if(!n.includes(t.explicitFocus))throw new No(t.explicitFocus,n);return{kind:"single",path:ss(e,t.explicitFocus),focus:t.explicitFocus}}if(n.length===0)return{kind:"root",path:e};if(n.length===1)return{kind:"single",path:ss(e,n[0]),focus:n[0]};return{kind:"multiple",focusPaths:n,resolvedPaths:n.map((r)=>ss(e,r))}}var No;var Xt=we(()=>{Mn();No=class No extends Error{requested;available;constructor(e,t){let n=t.length===0?"no focus paths are set on this worktree.":`available: ${t.join(", ")}.`;super(`Focus path '${e}' is not set; ${n}`);this.requested=e;this.available=t;this.name="FocusNotFoundError"}}});import{existsSync as as,mkdirSync as Om,readFileSync as Mm,writeFileSync as Fm,unlinkSync as Dm}from"fs";import{dirname as Am}from"path";function cs(e){return e.replace(/\//g,"-").replace(/[^a-zA-Z0-9._-]/g,"_")}async function dn(e){let t=Bun.spawn(["tmux",...e],{stdout:"pipe",stderr:"pipe",env:{...Bun.env,LC_ALL:"C"}}),[n,r,i]=await Promise.all([new Response(t.stdout).text(),new Response(t.stderr).text(),t.exited]);if(i!==0)throw new gr(`tmux ${e[0]} failed: ${r.trim()}`,r.trim());return n.trim()}function Fn(e,t){let n=cs(t??cl),r=cs(e);return`${n}_${r}`}function ls(e){return tn(e,"cop-session")}function Wm(e,t){let n=ls(e);Om(Am(n),{recursive:!0}),Fm(n,JSON.stringify(t),{encoding:"utf-8",mode:384})}function Kt(e){let t=ls(e);if(!as(t))return null;try{return JSON.parse(Mm(t,"utf-8"))}catch{return null}}function fs(e){let t=ls(e);if(as(t))Dm(t)}async function xr(){try{return await Bun.spawn(["tmux","-V"],{stdout:"pipe",stderr:"pipe"}).exited===0}catch{return!1}}function us(){return Boolean(Bun.env.TMUX)}async function hn(e){try{return await dn(["has-session","-t",e]),!0}catch{return!1}}async function Im(e,t,n){if(await hn(e))throw new gr(`Session '${e}' already exists`,"session_exists");if(!as(t))throw new gr(`Worktree path does not exist: ${t}`,"path_not_found");let r=n?.windows??[],i=r[0],s=["new-session","-d","-s",e,"-c",t];if(i)s.push("-n",i.name);if(await dn(s),i?.command)await dn(["send-keys","-t",`${e}:${i.name}`,i.command,"Enter"]);for(let c=1;c<r.length;c++){let a=r[c];if(await dn(["new-window","-t",e,"-n",a.name,"-c",t]),a.command)await dn(["send-keys","-t",`${e}:${a.name}`,a.command,"Enter"])}if(r.length>0)await dn(["select-window","-t",`${e}:${r[0].name}`])}async function ds(e){if(!await hn(e))return;await dn(["kill-session","-t",e])}async function Lo(e){if(!await hn(e))throw new gr(`Session '${e}' does not exist`,"session_not_found");if(us())await dn(["switch-client","-t",e]);else if(await Bun.spawn(["tmux","attach-session","-t",e],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited!==0)throw new gr(`Failed to attach to session '${e}'`,"attach_failed")}async function hs(e){let t=cs(e??cl);try{let n=await dn(["list-sessions","-F","#{session_name}|#{session_windows}|#{session_attached}|#{session_created}"]);if(!n)return[];return n.split(`
12
+ `).filter(Boolean).filter((r)=>r.startsWith(`${t}_`)||r.startsWith(`${t}:`)).map((r)=>{let[i,s,c,a]=r.split("|");return{name:i??"",windows:parseInt(s??"0",10),attached:c==="1",created:a??""}})}catch{return[]}}async function Vo(e,t,n){let r=Fn(e,n?.prefix),i=n?.attach??!0;if(await hn(r)){if(i)await Lo(r);return r}if(await Im(r,t,n?.layout),Wm(t,{name:r,branch:e,worktreePath:t,createdAt:new Date().toISOString(),layout:n?.layoutName}),i)await Lo(r);return r}async function Ko(e,t,n){let r=Fn(e,n),i=await hn(r);if(i)await ds(r);return fs(t),i}var gr,cl="cop";var Dn=we(()=>{Mn();gr=class gr extends Error{reason;constructor(e,t){super(e);this.reason=t;this.name="SessionError"}}});function ll(e){let[t,n]=ue([]),r=(s)=>{n((c)=>c.filter((a)=>a.id!==s))},i=(s)=>{let c=`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`,a=s.duration??3000;n((d)=>[...d,{...s,id:c}].slice(-5)),setTimeout(()=>{r(c)},a)};return z(al.Provider,{value:{toasts:t,addToast:i,removeToast:r},get children(){return e.children}})}function nn(){let e=Lt(al);if(!e)throw Error("useToast must be used within ToastProvider");return e}var al;var tr=we(()=>{te();Ue();al=On()});function wr(e){let[t,n]=ue(0),r=setInterval(()=>{n((i)=>(i+1)%fl.length)},80);return it(()=>clearInterval(r)),(()=>{var i=l("box"),s=l("text");return f(i,s),o(i,"flexDirection","row"),o(i,"gap",1),j(s,()=>fl[t()]),j(i,(()=>{var c=We(()=>!!e.label);return()=>c()&&(()=>{var a=l("text");return j(a,()=>e.label),L((d)=>o(a,"fg",g.text.secondary,d)),a})()})(),null),L((c)=>o(s,"fg",e.color??g.text.accent,c)),i})()}var fl;var Go=we(()=>{te();te();te();te();te();te();Ue();bt();fl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});function ul(e){let t=mt(),n=nn(),r=fn(),i=nt(),s=()=>i().width,c=()=>i().height,[a,d]=ue(null),[h,p]=ue(!0),[m,w]=ue("");Ia((y)=>{let P=y.getSelectedText();if(!P)return;r.copyToClipboardOSC52(P),n.addToast({type:"info",message:"Copied to clipboard"})});let A;it(()=>{if(A)clearTimeout(A)});let D=()=>{return(t.worktrees()??[]).find((G)=>G.isMain)?.branch??"main"};Mt(_t(()=>e.worktree.path,(y)=>{if(A)clearTimeout(A);if(!y){d(null),w(""),p(!1);return}d(null),w(""),p(!0),A=setTimeout(async()=>{if(e.worktree.path!==y)return;try{let[P,[G,T],K]=await Promise.all([Bm(y),e.worktree.branch&&!e.worktree.isMain?Promise.all([se.diffBetween(D(),e.worktree.branch,{stat:!0},y).catch(()=>""),se.diffBetween(D(),e.worktree.branch,void 0,y).catch(()=>"")]):Promise.resolve(["",""]),e.worktree.branch?se.getAheadBehind(e.worktree.branch,y):Promise.resolve({ahead:0,behind:0})]);if(e.worktree.path!==y)return;let X=null;try{X=Vt(y)}catch{}let H=null,U=Kt(y);if(U){let J=await hn(U.name).catch(()=>!1);H={meta:U,active:J}}if(e.worktree.path!==y)return;d({commits:P,diffStat:G,fullDiff:T,aheadBehind:K,focus:X,session:H}),w("")}catch(P){if(e.worktree.path!==y)return;d(null),w(P.message)}finally{if(e.worktree.path===y)p(!1)}},Tm)}));let b=()=>{let y=e.worktree;if(y.isLocked)return"\uD83D\uDD12 locked";if(y.isDirty)return"\u25CF dirty";return"\u2713 clean"},S=()=>{let y=e.worktree;if(y.isLocked)return g.text.warning;if(y.isDirty)return g.text.error;return g.text.success},M=()=>{let y=a();if(!y)return"";let P=[];if(y.aheadBehind.ahead>0)P.push(`\u2191${y.aheadBehind.ahead}`);if(y.aheadBehind.behind>0)P.push(`\u2193${y.aheadBehind.behind}`);return P.length>0?P.join(" "):"\u2713 up to date"},F=()=>{let y=a();if(!y)return g.text.secondary;return y.aheadBehind.ahead||y.aheadBehind.behind?g.text.warning:g.text.success},v=()=>"\u2500".repeat(Math.max(s()-7,10));return(()=>{var y=l("box"),P=l("scrollbox"),G=l("box"),T=l("text"),K=l("text"),X=l("box"),H=l("text"),U=l("box"),J=l("box"),q=l("box"),re=l("text"),he=l("text"),_=l("box"),me=l("box"),Ee=l("text"),R=l("text"),O=l("box"),V=l("box"),N=l("text"),I=l("text"),ee=l("box"),de=l("box"),ne=l("text"),ge=l("text"),Se=l("box"),pe=l("box"),ve=l("text"),Me=l("box"),Re=l("text");return f(y,P),o(y,"x",0),o(y,"y",0),f(P,G),f(P,X),f(P,U),f(P,J),f(P,_),f(P,O),f(P,ee),f(P,Se),f(P,pe),f(P,Me),o(P,"x",2),o(P,"y",1),f(G,T),f(G,K),o(G,"height",1),f(T,B("Worktree Detail")),o(T,"x",0),o(T,"y",0),o(T,"bold",!0),o(T,"selectable",!0),f(K,B("(Esc to close)")),o(K,"x",17),o(K,"y",0),o(K,"selectable",!0),f(X,H),o(X,"height",1),o(H,"x",0),o(H,"y",0),o(H,"selectable",!0),j(H,v),o(U,"height",1),f(J,q),f(J,he),o(J,"height",1),o(J,"flexDirection","row"),f(q,re),o(q,"width",16),o(q,"height",1),f(re,B("Branch")),o(re,"x",0),o(re,"y",0),o(re,"selectable",!0),o(he,"selectable",!0),j(he,()=>e.worktree.branch??"(detached)"),f(_,me),f(_,R),o(_,"height",1),o(_,"flexDirection","row"),f(me,Ee),o(me,"width",16),o(me,"height",1),f(Ee,B("Path")),o(Ee,"x",0),o(Ee,"y",0),o(Ee,"selectable",!0),o(R,"selectable",!0),j(R,()=>e.worktree.path),f(O,V),f(O,I),o(O,"height",1),o(O,"flexDirection","row"),f(V,N),o(V,"width",16),o(V,"height",1),f(N,B("Status")),o(N,"x",0),o(N,"y",0),o(N,"selectable",!0),o(I,"selectable",!0),j(I,b),f(ee,de),f(ee,ge),o(ee,"height",1),o(ee,"flexDirection","row"),f(de,ne),o(de,"width",16),o(de,"height",1),f(ne,B("HEAD")),o(ne,"x",0),o(ne,"y",0),o(ne,"selectable",!0),o(ge,"selectable",!0),j(ge,()=>e.worktree.head?.slice(0,8)),j(P,z(ie,{get when(){return h()},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box");return o(W,"height",1),j(W,z(wr,{label:"Loading details..."})),W})()]}}),Se),j(P,z(ie,{get when(){return We(()=>!h())()&&!!m()},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,()=>`Failed to load details: ${m()}`),L((x)=>o(u,"fg",g.text.error,x)),W})()]}}),Se),j(P,z(ie,{get when(){return We(()=>!h()&&!m())()&&!!a()},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("Upstream")),o(u,"x",0),o(u,"y",0),o(u,"bold",!0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.accent,x)),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,v),L((x)=>o(u,"fg",g.border.subtle,x)),W})(),(()=>{var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Sync")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,M),L((E)=>{var C=g.text.secondary,Q=F();return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W})(),z(ie,{get when(){return a().aheadBehind.ahead>0},get children(){var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Ahead")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,()=>`${a().aheadBehind.ahead} commit(s)`),L((E)=>{var C=g.text.secondary,Q=g.text.warning;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W}}),z(ie,{get when(){return a().aheadBehind.behind>0},get children(){var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Behind")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,()=>`${a().aheadBehind.behind} commit(s)`),L((E)=>{var C=g.text.secondary,Q=g.text.warning;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W}}),(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("Recent Commits")),o(u,"x",0),o(u,"y",0),o(u,"bold",!0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.accent,x)),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,v),L((x)=>o(u,"fg",g.border.subtle,x)),W})(),z(ie,{get when(){return a().commits.length>0},get fallback(){return(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("No commits found")),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.secondary,x)),W})()},get children(){return z(et,{get each(){return a().commits},children:(W)=>(()=>{var u=l("box"),x=l("text");return f(u,x),o(u,"height",1),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),j(x,W),L((k)=>o(x,"fg",g.text.primary,k)),u})()})}}),z(ie,{get when(){return!e.worktree.isMain},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"bold",!0),o(u,"selectable",!0),j(u,()=>`Diff vs ${D()}`),L((x)=>o(u,"fg",g.text.accent,x)),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,v),L((x)=>o(u,"fg",g.border.subtle,x)),W})(),z(ie,{get when(){return a().diffStat.length>0},get children(){var W=l("code");return o(W,"language","diff"),L((u)=>o(W,"code",a().diffStat,u)),W}}),(()=>{var W=l("box");return o(W,"height",1),W})(),z(ie,{get when(){return a().fullDiff.length>0},get fallback(){return(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("No changes")),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.secondary,x)),W})()},get children(){var W=l("scrollbox"),u=l("diff");return f(W,u),o(W,"height",15),o(u,"view","unified"),L((x)=>{var k=s()-3,E=a().fullDiff;return k!==x.e&&(x.e=o(W,"width",k,x.e)),E!==x.t&&(x.t=o(u,"diff",E,x.t)),x},{e:void 0,t:void 0}),W}})]}}),z(ie,{get when(){return We(()=>!!a().focus)()&&a().focus.length>0},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("Focus Paths")),o(u,"x",0),o(u,"y",0),o(u,"bold",!0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.accent,x)),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,v),L((x)=>o(u,"fg",g.border.subtle,x)),W})(),z(et,{get each(){return a().focus},children:(W)=>(()=>{var u=l("box"),x=l("text");return f(u,x),o(u,"height",1),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),j(x,` \u2022 ${W}`),L((k)=>o(x,"fg",g.text.primary,k)),u})()})]}}),z(ie,{get when(){return a().session},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),f(u,B("Session")),o(u,"x",0),o(u,"y",0),o(u,"bold",!0),o(u,"selectable",!0),L((x)=>o(u,"fg",g.text.accent,x)),W})(),(()=>{var W=l("box"),u=l("text");return f(W,u),o(W,"height",1),o(u,"x",0),o(u,"y",0),o(u,"selectable",!0),j(u,v),L((x)=>o(u,"fg",g.border.subtle,x)),W})(),(()=>{var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Name")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,()=>a().session.meta.name),L((E)=>{var C=g.text.secondary,Q=g.text.primary;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W})(),(()=>{var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Status")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,()=>a().session.active?"\u25CF active":"\u25CB inactive"),L((E)=>{var C=g.text.secondary,Q=a().session.active?g.text.success:g.text.error;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W})(),z(ie,{get when(){return a().session.meta.layout},get children(){var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Layout")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),o(k,"selectable",!0),j(k,()=>a().session.meta.layout),L((E)=>{var C=g.text.secondary,Q=g.text.primary;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W}})]}}),z(ie,{get when(){return e.worktree.isMain},get children(){return[(()=>{var W=l("box");return o(W,"height",1),W})(),(()=>{var W=l("box"),u=l("box"),x=l("text"),k=l("text");return f(W,u),f(W,k),o(W,"height",1),o(W,"flexDirection","row"),f(u,x),o(u,"width",16),o(u,"height",1),f(x,B("Type")),o(x,"x",0),o(x,"y",0),o(x,"selectable",!0),f(k,B("main worktree")),o(k,"selectable",!0),L((E)=>{var C=g.text.secondary,Q=g.text.accent;return C!==E.e&&(E.e=o(x,"fg",C,E.e)),Q!==E.t&&(E.t=o(k,"fg",Q,E.t)),E},{e:void 0,t:void 0}),W})()]}})]}}),Se),o(Se,"height",1),f(pe,ve),o(pe,"height",1),o(ve,"x",0),o(ve,"y",0),o(ve,"selectable",!0),j(ve,v),f(Me,Re),o(Me,"height",1),f(Re,B("Esc:back d:delete o:open r:refresh")),o(Re,"x",0),o(Re,"y",0),o(Re,"selectable",!0),L((W)=>{var u=s(),x=c(),k=g.bg.base,E=s()-3,C=c()-3,Q=g.text.accent,oe=g.text.secondary,xe=g.border.subtle,le=g.text.secondary,Ie=g.text.accent,Z=g.text.secondary,ae=g.text.primary,ce=g.text.secondary,Y=S(),Pe=g.text.secondary,$e=g.text.secondary,Ve=g.border.subtle,Ne=g.text.secondary;return u!==W.e&&(W.e=o(y,"width",u,W.e)),x!==W.t&&(W.t=o(y,"height",x,W.t)),k!==W.a&&(W.a=o(y,"backgroundColor",k,W.a)),E!==W.o&&(W.o=o(P,"width",E,W.o)),C!==W.i&&(W.i=o(P,"height",C,W.i)),Q!==W.n&&(W.n=o(T,"fg",Q,W.n)),oe!==W.s&&(W.s=o(K,"fg",oe,W.s)),xe!==W.h&&(W.h=o(H,"fg",xe,W.h)),le!==W.r&&(W.r=o(re,"fg",le,W.r)),Ie!==W.d&&(W.d=o(he,"fg",Ie,W.d)),Z!==W.l&&(W.l=o(Ee,"fg",Z,W.l)),ae!==W.u&&(W.u=o(R,"fg",ae,W.u)),ce!==W.c&&(W.c=o(N,"fg",ce,W.c)),Y!==W.w&&(W.w=o(I,"fg",Y,W.w)),Pe!==W.m&&(W.m=o(ne,"fg",Pe,W.m)),$e!==W.f&&(W.f=o(ge,"fg",$e,W.f)),Ve!==W.y&&(W.y=o(ve,"fg",Ve,W.y)),Ne!==W.g&&(W.g=o(Re,"fg",Ne,W.g)),W},{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,f:void 0,y:void 0,g:void 0}),y})()}async function Bm(e){try{let t=Bun.spawn(["git","log","--oneline","-10"],{cwd:e,stdout:"pipe",stderr:"pipe",env:{...process.env,LC_ALL:"C"}}),n=await new Response(t.stdout).text();if(await t.exited,t.exitCode!==0)return[];return n.trim().split(`
13
+ `).filter(Boolean)}catch{return[]}}var Tm=150;var dl=we(()=>{te();te();te();te();te();te();te();te();Ue();te();un();tr();bt();Xt();Dn();je();Go()});function hl(){let e=ot(),t=mt(),n=nt(),r=()=>{let b=t.worktrees()??[],S=e.selectedWorktreePath();if(S){let M=b.find((F)=>F.path===S);if(M)return M}return b[e.selectedWorktreeIndex()]},i=()=>n().width,s=14,[c,a]=ue(null),[d,h]=ue(!1),[p,m]=ue(""),w;it(()=>{if(w)clearTimeout(w)}),Mt(_t(()=>r()?.path,(b)=>{if(w)clearTimeout(w);if(!b){a(null),h(!1),m("");return}a(null),h(!0),m(""),w=setTimeout(async()=>{let S=r();if(!S||S.path!==b)return;try{let[M,F,v]=await Promise.all([S.branch?se.getAheadBehind(S.branch,S.path):Promise.resolve({ahead:0,behind:0}),se.getLastCommit(S.path),se.getDirtyCount(S.path)]);if(r()?.path===b)a({aheadBehind:M,lastCommit:F,dirtyCount:v}),m("")}catch(M){if(r()?.path===b)a(null),m(M.message)}finally{if(r()?.path===b)h(!1)}},Nm)}));let A=()=>{if(d())return"Loading...";if(p())return"Unavailable";let b=c();if(!b)return"";let S=[];if(b.aheadBehind.ahead>0)S.push(`\u2191${b.aheadBehind.ahead}`);if(b.aheadBehind.behind>0)S.push(`\u2193${b.aheadBehind.behind}`);return S.length>0?S.join(" "):"\u2713 up to date"},D=()=>{let b=r();if(!b)return"";if(b.isLocked)return"\uD83D\uDD12 locked";let S=c();if(S&&S.dirtyCount>0)return`\u25CF ${S.dirtyCount} file(s) dirty`;if(b.isDirty)return"\u25CF dirty";return"\u2713 clean"};return rt((b)=>{if(e.activeTab()!=="list")return;if(e.showCommandPalette())return;if(e.showRemove())return;if(e.showBulkActions())return;let S=b.name;if(S==="x"&&e.selectedWorktrees().size>0){e.setShowBulkActions(!0);return}if(S==="return"&&!e.showDetailView()&&r()){e.setShowDetailView(!0);return}if(S==="escape"&&e.showDetailView()){e.setShowDetailView(!1);return}}),(()=>{var b=l("box");return o(b,"width","100%"),o(b,"height","100%"),j(b,z(ie,{get when(){return We(()=>!!e.showDetailView())()&&!!r()},get children(){return z(ul,{get worktree(){return r()}})}}),null),j(b,z(ie,{get when(){return!e.showDetailView()},get children(){return[z(ie,{get when(){return t.loading()},get children(){return z(wr,{label:"Loading worktrees..."})}}),z(ie,{get when(){return We(()=>!t.loading())()&&!!t.error()},get children(){var S=l("box"),M=l("text"),F=l("text"),v=l("text"),y=l("text"),P=l("text"),G=l("text"),T=l("text"),K=l("text"),X=l("text");return f(S,M),f(S,F),f(S,v),f(S,y),f(S,P),f(S,G),f(S,T),f(S,K),f(S,X),o(S,"flexDirection","column"),o(S,"paddingX",2),o(S,"paddingY",1),o(S,"gap",0),f(M,B("Unable to list worktrees")),f(F,B(" ")),j(v,()=>t.error()?.message),f(y,B(" ")),f(P,B("cop needs a git repository to manage worktrees.")),f(G,B(" \xB7 cd into a git repository and relaunch cop, or")),f(T,B(" \xB7 configure repos in ~/.config/copse/config.json")),f(K,B(" ")),f(X,B("Press q to quit, or ^P to open the command palette.")),L((H)=>{var U=g.text.error,J=g.text.secondary,q=g.text.secondary,re=g.text.secondary,he=g.text.secondary,_=g.text.secondary,me=g.text.secondary,Ee=g.text.secondary,R=g.text.accent;return U!==H.e&&(H.e=o(M,"fg",U,H.e)),J!==H.t&&(H.t=o(F,"fg",J,H.t)),q!==H.a&&(H.a=o(v,"fg",q,H.a)),re!==H.o&&(H.o=o(y,"fg",re,H.o)),he!==H.i&&(H.i=o(P,"fg",he,H.i)),_!==H.n&&(H.n=o(G,"fg",_,H.n)),me!==H.s&&(H.s=o(T,"fg",me,H.s)),Ee!==H.h&&(H.h=o(K,"fg",Ee,H.h)),R!==H.r&&(H.r=o(X,"fg",R,H.r)),H},{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}),S}}),z(ie,{get when(){return We(()=>!t.loading()&&!t.error())()&&!!r()},get children(){var S=l("box"),M=l("box"),F=l("text"),v=l("box"),y=l("text"),P=l("box"),G=l("box"),T=l("text"),K=l("text"),X=l("box"),H=l("box"),U=l("text"),J=l("text"),q=l("box"),re=l("box"),he=l("text"),_=l("text"),me=l("box"),Ee=l("box"),R=l("text"),O=l("text"),V=l("box"),N=l("box"),I=l("text"),ee=l("text"),de=l("box"),ne=l("text"),ge=l("box"),Se=l("text"),pe=l("text"),ve=l("text"),Me=l("text"),Re=l("text"),W=l("text");return f(S,M),f(S,v),f(S,P),f(S,X),f(S,q),f(S,me),f(S,V),f(S,de),f(S,ge),o(S,"width","100%"),o(S,"height","100%"),o(S,"flexDirection","column"),o(S,"paddingX",2),o(S,"paddingY",1),f(M,F),o(M,"height",1),o(M,"flexDirection","row"),f(F,B("Worktree Details")),f(v,y),o(v,"height",1),j(y,()=>"\u2500".repeat(Math.max(i()-38,10))),j(S,z(ie,{get when(){return t.isMultiRepo()},get children(){var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),f(k,B("Repo")),j(E,()=>r()?.repoName),L((C)=>{var Q=g.text.secondary,oe=g.text.warning;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u}}),P),f(P,G),f(P,K),o(P,"height",1),o(P,"flexDirection","row"),f(G,T),o(G,"width",14),o(G,"height",1),f(T,B("Branch")),j(K,()=>r()?.branch??"(detached)"),f(X,H),f(X,J),o(X,"height",1),o(X,"flexDirection","row"),f(H,U),o(H,"width",14),o(H,"height",1),f(U,B("Path")),j(J,()=>r()?.path),f(q,re),f(q,_),o(q,"height",1),o(q,"flexDirection","row"),f(re,he),o(re,"width",14),o(re,"height",1),f(he,B("Status")),j(_,D),f(me,Ee),f(me,O),o(me,"height",1),o(me,"flexDirection","row"),f(Ee,R),o(Ee,"width",14),o(Ee,"height",1),f(R,B("Sync")),j(O,A),f(V,N),f(V,ee),o(V,"height",1),o(V,"flexDirection","row"),f(N,I),o(N,"width",14),o(N,"height",1),f(I,B("HEAD")),j(ee,()=>r()?.head?.slice(0,8)),j(S,z(ie,{get when(){return c()?.lastCommit},get children(){return[(()=>{var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),f(k,B("Last Commit")),j(E,()=>c().lastCommit.relativeDate),L((C)=>{var Q=g.text.secondary,oe=g.text.primary;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u})(),(()=>{var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),j(E,(()=>{var C=We(()=>c().lastCommit.message.length>50);return()=>C()?c().lastCommit.message.slice(0,47)+"...":c().lastCommit.message})()),L((C)=>{var Q=g.text.secondary,oe=g.text.secondary;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u})()]}}),de),j(S,z(ie,{get when(){let u=Vt(r()?.path??"");return u&&u.length>0},get children(){var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),f(k,B("Focus")),j(E,()=>Vt(r()?.path??"")?.join(", ")??""),L((C)=>{var Q=g.text.secondary,oe=g.text.accent;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u}}),de),j(S,z(ie,{get when(){return!!Kt(r()?.path??"")},get children(){var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),f(k,B("Session")),j(E,()=>{let C=Kt(r()?.path??"");if(!C)return"";return C.layout?`${C.name} [${C.layout}]`:C.name}),L((C)=>{var Q=g.text.secondary,oe=g.text.accent;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u}}),de),j(S,z(ie,{get when(){return r()?.isMain},get children(){var u=l("box"),x=l("box"),k=l("text"),E=l("text");return f(u,x),f(u,E),o(u,"height",1),o(u,"flexDirection","row"),f(x,k),o(x,"width",14),o(x,"height",1),f(k,B("Type")),f(E,B("main worktree")),L((C)=>{var Q=g.text.secondary,oe=g.text.accent;return Q!==C.e&&(C.e=o(k,"fg",Q,C.e)),oe!==C.t&&(C.t=o(E,"fg",oe,C.t)),C},{e:void 0,t:void 0}),u}}),de),f(de,ne),o(de,"height",1),j(ne,()=>"\u2500".repeat(Math.max(i()-38,10))),f(ge,Se),f(ge,pe),f(ge,ve),f(ge,Me),f(ge,Re),f(ge,W),o(ge,"height",1),o(ge,"flexDirection","row"),o(ge,"gap",2),f(Se,B("Enter:detail")),f(pe,B("d:delete")),f(ve,B("a:add")),f(Me,B("o:open")),f(Re,B("r:refresh")),f(W,B("^P:commands")),L((u)=>{var x=g.bg.surface,k=g.text.accent,E=g.border.subtle,C=g.text.secondary,Q=g.text.accent,oe=g.text.secondary,xe=g.text.primary,le=g.text.secondary,Ie=r()?.isDirty?g.text.error:r()?.isLocked?g.text.warning:g.text.success,Z=g.text.secondary,ae=p()?g.text.error:d()?g.text.secondary:c()?.aheadBehind?.ahead||c()?.aheadBehind?.behind?g.text.warning:g.text.success,ce=g.text.secondary,Y=g.text.secondary,Pe=g.border.subtle,$e=g.text.secondary,Ve=g.text.secondary,Ne=g.text.secondary,ze=g.text.secondary,ft=g.text.secondary,Fe=g.text.secondary;return x!==u.e&&(u.e=o(S,"backgroundColor",x,u.e)),k!==u.t&&(u.t=o(F,"fg",k,u.t)),E!==u.a&&(u.a=o(y,"fg",E,u.a)),C!==u.o&&(u.o=o(T,"fg",C,u.o)),Q!==u.i&&(u.i=o(K,"fg",Q,u.i)),oe!==u.n&&(u.n=o(U,"fg",oe,u.n)),xe!==u.s&&(u.s=o(J,"fg",xe,u.s)),le!==u.h&&(u.h=o(he,"fg",le,u.h)),Ie!==u.r&&(u.r=o(_,"fg",Ie,u.r)),Z!==u.d&&(u.d=o(R,"fg",Z,u.d)),ae!==u.l&&(u.l=o(O,"fg",ae,u.l)),ce!==u.u&&(u.u=o(I,"fg",ce,u.u)),Y!==u.c&&(u.c=o(ee,"fg",Y,u.c)),Pe!==u.w&&(u.w=o(ne,"fg",Pe,u.w)),$e!==u.m&&(u.m=o(Se,"fg",$e,u.m)),Ve!==u.f&&(u.f=o(pe,"fg",Ve,u.f)),Ne!==u.y&&(u.y=o(ve,"fg",Ne,u.y)),ze!==u.g&&(u.g=o(Me,"fg",ze,u.g)),ft!==u.p&&(u.p=o(Re,"fg",ft,u.p)),Fe!==u.b&&(u.b=o(W,"fg",Fe,u.b)),u},{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,f:void 0,y:void 0,g:void 0,p:void 0,b:void 0}),S}}),z(ie,{get when(){return We(()=>!t.loading()&&!t.error())()&&!r()},get children(){var S=l("box"),M=l("text"),F=l("text");return f(S,M),f(S,F),o(S,"flexDirection","column"),o(S,"gap",1),f(M,B("No worktree selected.")),f(F,B("Press 'a' to create one.")),L((v)=>{var y=g.text.secondary,P=g.text.accent;return y!==v.e&&(v.e=o(M,"fg",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),S}})]}}),null),L((S)=>o(b,"backgroundColor",g.bg.base,S)),b})()}var Nm=150;var ml=we(()=>{te();te();te();te();te();te();te();te();Ue();Jt();un();te();bt();Xt();Dn();je();dl();Go()});import*as jm from"fs";import{join as An,resolve as mn,dirname as to}from"path";function vr(e,t,n){let r={copied:[],linked:[],skipped:[],warnings:[]};for(let i of n){let s=An(mn(e),i),c=An(mn(t),i);if(!pn(s)){r.skipped.push(i),r.warnings.push(`Source not found, skipping copy: ${i}`);continue}if(pn(c)){r.skipped.push(i),r.warnings.push(`Target already exists, skipping copy: ${i}`);continue}try{br(to(c),{recursive:!0}),gl(s,c),r.copied.push(i)}catch(a){r.skipped.push(i),r.warnings.push(`Failed to copy ${i}: ${a.message}`)}}return r}function yr(e,t,n){let r={copied:[],linked:[],skipped:[],warnings:[]};for(let i of n){let s=mn(An(mn(e),i)),c=An(mn(t),i);if(!pn(s)){r.skipped.push(i),r.warnings.push(`Source not found, skipping symlink: ${i}`);continue}if(pn(c)){r.skipped.push(i),r.warnings.push(`Target already exists, skipping symlink: ${i}`);continue}try{br(to(c),{recursive:!0}),xl(s,c),r.linked.push(i)}catch(a){r.skipped.push(i),r.warnings.push(`Failed to symlink ${i}: ${a.message}`)}}return r}function wl(e,t,n=0){let r=0,i=[];if(n>Gm)return{linked:0,errors:[`Max directory depth exceeded at ${e}`]};let s=mn(e),c=mn(t);if(!pn(s))return{linked:0,errors:[`Source not found: ${e}`]};let a=Km(s,{throwIfNoEntry:!1});if(!a||!a.isDirectory())try{return br(to(c),{recursive:!0}),pl(s,c),{linked:1,errors:[]}}catch(d){return{linked:0,errors:[`Failed to hardlink ${e}: ${d.message}`]}}if(!pn(c))br(c,{recursive:!0});try{let d=Vm(s,{withFileTypes:!0});for(let h of d){let p=An(s,h.name),m=An(c,h.name);if(h.isDirectory()){let w=wl(p,m,n+1);if(r+=w.linked,w.errors.length>0)i.push(...w.errors)}else if(h.isFile()){if(pn(m))continue;try{pl(p,m),r++}catch(w){try{gl(p,m),r++}catch(A){i.push(`Failed to link/copy ${h.name}: ${A.message}`)}}}}}catch(d){i.push(`Failed to read directory ${e}: ${d.message}`)}return{linked:r,errors:i}}function bl(e,t,n){let r={copied:[],linked:[],skipped:[],warnings:[]},i=n.paths??[],s=n.strategy??"symlink";for(let c of i){let a=An(mn(e),c),d=An(mn(t),c);if(!pn(a)){r.skipped.push(c),r.warnings.push(`Source not found, skipping shared dep: ${c}`);continue}if(pn(d)){r.skipped.push(c);continue}try{if(s==="symlink")br(to(d),{recursive:!0}),xl(a,d),r.linked.push(c);else if(s==="hardlink"){let h=wl(a,d);if(h.linked>0)r.linked.push(c);for(let p of h.errors)r.warnings.push(p)}else br(to(d),{recursive:!0}),Lm(a,d,{recursive:!0}),r.copied.push(c)}catch(h){r.skipped.push(c),r.warnings.push(`Failed to share dep ${c}: ${h.message}`)}}return r}var gl,Lm,pn,xl,Q0,pl,Vm,Km,br,Gm=30;var Ho=we(()=>{({copyFileSync:gl,cpSync:Lm,existsSync:pn,symlinkSync:xl,unlinkSync:Q0,linkSync:pl,readdirSync:Vm,statSync:Km,mkdirSync:br}=jm)});import{existsSync as Hm,mkdirSync as Um}from"fs";async function pt(e,t){let n=t.timeout??30000;for(let r of e)await Jm(r,t.cwd,n,t.env??{},t.onOutput)}async function Jm(e,t,n,r,i){if(!Hm(t))Um(t,{recursive:!0});let s;try{s=Bun.spawn(["sh","-c",e],{cwd:t,env:{...process.env,...r},stdout:"pipe",stderr:"pipe"})}catch(h){if(h.code!=="ENOENT")throw h;s=Bun.spawn(["/bin/sh","-c",e],{cwd:t,env:{...process.env,...r},stdout:"pipe",stderr:"pipe"})}let c=!1,a=setTimeout(()=>{c=!0,s.kill()},n),d=s.stderr?new Response(s.stderr).text():Promise.resolve("");try{if(i&&s.stdout){let p=s.stdout.getReader(),m=new TextDecoder,w=[];while(!0){let{done:D,value:b}=await p.read();if(D)break;let M=m.decode(b,{stream:!0}).split(`
14
+ `);if(M.length===1)w.push(M[0]);else{w.push(M[0]);let F=w.join("");if(w.length=0,F)i(F);for(let y=1;y<M.length-1;y++)if(M[y])i(M[y]);let v=M[M.length-1];if(v)w.push(v)}}let A=w.join("")+m.decode();if(A)i(A)}let h=await s.exited;if(c)throw new Pr(e,n);if(h!==0){let p=(await d).trim();throw new $r(e,h,p)}}finally{clearTimeout(a)}}var $r,Pr;var gn=we(()=>{$r=class $r extends Error{command;exitCode;stderr;constructor(e,t,n){super(`Hook command failed (exit ${t}): ${e}
15
+ ${n}`);this.command=e;this.exitCode=t;this.stderr=n;this.name="HookError"}};Pr=class Pr extends Error{command;timeoutMs;constructor(e,t){super(`Hook command timed out after ${t}ms: ${e}`);this.command=e;this.timeoutMs=t;this.name="HookTimeoutError"}}});import{existsSync as zm,readdirSync as rv,readFileSync as ov,statSync as qm}from"fs";import{join as Xm,relative as sv}from"path";function Uo(e,t){let n=[],r=[];for(let i of t){let s=i.trim();if(!s){r.push(s);continue}let c=Xm(e,s);try{if(zm(c)&&qm(c).isDirectory())n.push(s);else r.push(s)}catch{r.push(s)}}return{valid:n,invalid:r}}var ms=()=>{};function nr(e,t){return e.map((n)=>{let r=new Bun.Glob(n.glob),i=t.filter((s)=>r.match(s));return{glob:n.glob,matchedPaths:i,copyFiles:n.copyFiles??[],linkFiles:n.linkFiles??[],postCreate:n.postCreate??[],postRemove:n.postRemove??[]}}).filter((n)=>n.matchedPaths.length>0)}function Ym(e,t){return e.replace(/\{packagePath\}/g,t.packagePath).replace(/\{repo\}/g,t.repo).replace(/\{branch\}/g,t.branch)}async function Cr(e,t,n){for(let r of e){let i=r[t],s=t==="postCreate"&&r.copyFiles.length>0,c=t==="postCreate"&&r.linkFiles.length>0,a=i.length>0;if(!s&&!c&&!a)continue;for(let d of r.matchedPaths){let{join:h}=await import("path"),p=h(n.mainRepoPath,d),m=h(n.cwd,d);if(s){let w=vr(p,m,r.copyFiles);for(let A of w.copied)n.onOutput?.(`Copied ${d}/${A}`);for(let A of w.warnings)n.onOutput?.(`\u26A0 ${A}`)}if(c){let w=yr(p,m,r.linkFiles);for(let A of w.linked)n.onOutput?.(`Linked ${d}/${A}`);for(let A of w.warnings)n.onOutput?.(`\u26A0 ${A}`)}if(a){let w=i.map((D)=>Ym(D,{packagePath:d,repo:n.repo,branch:n.branch})),A={...n.env??{},COP_FOCUS_PATHS:n.focusPaths.join(","),COP_PACKAGE_PATH:d};await pt(w,{cwd:n.cwd,timeout:n.timeout,env:A,onOutput:n.onOutput})}}}}var Jo=we(()=>{gn();Ho()});function rn(e){let t=nt(),n=()=>Math.max(0,Math.floor((t().width-e.width)/2)),r=()=>Math.max(0,Math.floor((t().height-e.height)/2)),i=()=>(()=>{var s=l("box");return o(s,"border",!0),o(s,"borderStyle","rounded"),o(s,"flexDirection","column"),o(s,"paddingX",1),o(s,"paddingY",1),o(s,"titleAlignment","left"),o(s,"position","absolute"),j(s,()=>e.children,null),j(s,z(ie,{get when(){return e.footer},get children(){return e.footer}}),null),L((c)=>{var a=n(),d=r(),h=e.width,p=e.height,m=e.borderColor??g.border.active,w=e.backgroundColor??g.bg.surface,A=e.gap??0,D=e.title;return a!==c.e&&(c.e=o(s,"x",a,c.e)),d!==c.t&&(c.t=o(s,"y",d,c.t)),h!==c.a&&(c.a=o(s,"width",h,c.a)),p!==c.o&&(c.o=o(s,"height",p,c.o)),m!==c.i&&(c.i=o(s,"borderColor",m,c.i)),w!==c.n&&(c.n=o(s,"backgroundColor",w,c.n)),A!==c.s&&(c.s=o(s,"gap",A,c.s)),D!==c.h&&(c.h=o(s,"title",D,c.h)),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}),s})();return z(ie,{get when(){return e.backdrop},get fallback(){return i()},get children(){var s=l("box");return o(s,"x",0),o(s,"y",0),o(s,"position","absolute"),j(s,i),L((c)=>{var a=t().width,d=t().height,h=e.backdropColor??g.bg.overlay;return a!==c.e&&(c.e=o(s,"width",a,c.e)),d!==c.t&&(c.t=o(s,"height",d,c.t)),h!==c.a&&(c.a=o(s,"backgroundColor",h,c.a)),c},{e:void 0,t:void 0,a:void 0}),s}})}var Sr=we(()=>{te();te();te();te();te();Ue();te();bt()});import{decodePasteBytes as Zm}from"@opentui/core";import{basename as vl,resolve as Qm}from"path";function yl(){let e=ot(),t=mt(),n=nt(),[r,i]=ue("input"),[s,c]=ue(""),[a,d]=ue(""),[h,p]=ue("branch"),[m,w]=ue(""),[A,D]=ue([]),[b,S]=ue(""),[M,F]=ue([]),[v,y]=ue(-1),[P,G]=ue(!1),T=()=>{let R=s().toLowerCase();if(!R)return M().slice(0,10);return M().filter((O)=>O.name.toLowerCase().includes(R)).slice(0,10)};Mt(_t(()=>X(),async()=>{try{let R=X(),O=await se.listBranches(R);F(O)}catch{F([])}})),an(()=>{queueMicrotask(()=>{c(""),d("")})}),Mt(_t(s,()=>{y(-1),G(s().length>0&&T().length>0)})),Mt(_t(r,(R)=>{e.setInputFocused(R==="input")})),it(()=>{e.setInputFocused(!1)});let K=(R,O)=>{D((V)=>V.map((N,I)=>I===R?{...N,...O}:N))},X=()=>{let R=t.worktrees()??[],O=e.selectedWorktreePath();return(O?R.find((N)=>N.path===O)??R[e.selectedWorktreeIndex()]:R[e.selectedWorktreeIndex()])?.repoPath??e.repoPath()},H=()=>{let R=t.worktrees()??[],O=e.selectedWorktreePath();return(O?R.find((N)=>N.path===O)??R[e.selectedWorktreeIndex()]:R[e.selectedWorktreeIndex()])?.repoName??e.repoPath().split("/").pop()??""},U=()=>{let R=s();if(!R)return"";let O=X(),V=De(),N=wt(V,O),I=R.replace(/\//g,"-"),ee=vl(O);return Qm(vo(N.worktreeDir,{repo:ee,branch:I}))};rt(async(R)=>{if(e.activeTab()!=="add")return;if(e.showCommandPalette())return;let O=R.name;if(O==="escape"){if(r()==="preview"){i("input");return}e.setActiveTab("list"),c(""),d(""),p("branch"),i("input");return}if(r()==="input"){if(O==="tab"){if(P()&&h()==="branch")G(!1),y(-1);p((V)=>V==="branch"?"focus":"branch");return}if(h()==="branch"&&P()&&T().length>0){if(O==="down"||R.sequence==="\x1B[B"){y((V)=>Math.min(V+1,T().length-1));return}if(O==="up"||R.sequence==="\x1B[A"){y((V)=>Math.max(V-1,-1));return}}if(O==="return"||O==="enter"){if(h()==="branch"&&v()>=0){let V=T()[v()];if(V){c(V.name),G(!1),y(-1);return}}if(!s())return;G(!1),w(U()),i("preview");return}}if(r()==="preview"){if(O==="return"||O==="enter"){i("creating");let V=s(),N=m(),I=X(),ee=vl(I);try{let de=De(),ne=wt(de,I),ge=[{label:"Creating worktree",status:"pending"}];if(ne.autoUpstream)ge.push({label:"Setting upstream",status:"pending"});if(ne.copyFiles.length>0)ge.push({label:"Copying files",status:"pending"});if(ne.linkFiles.length>0)ge.push({label:"Creating symlinks",status:"pending"});if(ne.postCreate.length>0)ge.push({label:"Running hooks",status:"pending"});let Se=a(),pe=[];if(Se)pe=Se.split(/[,\s]+/).map((Re)=>Re.trim()).filter(Boolean);if(pe.length>0)ge.push({label:"Setting focus",status:"pending"});if(pe.length>0&&ne.monorepo?.hooks&&ne.monorepo.hooks.length>0){if(nr(ne.monorepo.hooks,pe).length>0)ge.push({label:"Running monorepo hooks",status:"pending"})}D(ge);let ve=0;if(K(ve,{status:"running"}),await se.add(V,N,{createBranch:!0},I),K(ve,{status:"done"}),ve++,ne.autoUpstream){K(ve,{status:"running"});try{let Re=await se.getDefaultRemote(I);if(await se.remoteBranchExists(V,Re,I))await se.setUpstream(V,Re,I),K(ve,{status:"done",message:`\u2192 ${Re}/${V}`});else K(ve,{status:"done",message:"no remote branch"})}catch(Re){K(ve,{status:"error",message:Re.message})}ve++}if(ne.copyFiles.length>0)K(ve,{status:"running"}),vr(I,N,ne.copyFiles),K(ve,{status:"done"}),ve++;if(ne.linkFiles.length>0)K(ve,{status:"running"}),yr(I,N,ne.linkFiles),K(ve,{status:"done"}),ve++;let Me={COP_BRANCH:V,COP_WORKTREE_PATH:N,COP_REPO_PATH:I};if(ne.postCreate.length>0)K(ve,{status:"running"}),await pt(ne.postCreate,{cwd:N,env:Me,onOutput:(Re)=>K(ve,{message:Re})}),K(ve,{status:"done"}),ve++;if(pe.length>0){K(ve,{status:"running"});let{valid:Re}=Uo(N,pe);if(pe=Re,Re.length>0)pr(N,Re),Me.COP_FOCUS_PATHS=Re.join(",");K(ve,{status:"done"}),ve++}if(pe.length>0&&ne.monorepo?.hooks&&ne.monorepo.hooks.length>0){K(ve,{status:"running"});let Re=nr(ne.monorepo.hooks,pe);if(Re.length>0)await Cr(Re,"postCreate",{cwd:N,env:Me,repo:ee,branch:V,focusPaths:pe,mainRepoPath:I,onOutput:(W)=>K(ve,{message:W})});K(ve,{status:"done"}),ve++}S("Worktree created successfully!"),i("done"),er.success(`Worktree created: ${V}`),t.refetch(),setTimeout(()=>{e.setActiveTab("list"),c(""),d(""),p("branch"),i("input")},1500)}catch(de){er.error(de.message);let ge=A().findIndex((Se)=>Se.status==="running");if(ge>=0)K(ge,{status:"error",message:de.message});S(`${de.message}`),i("error")}return}}if(r()==="error"){if(O==="escape"||O==="return"||O==="enter")i("input"),S("")}}),hr((R)=>{if(!e.inputFocused())return;let O=Zm(R.bytes).replace(/\r?\n/g,"");if(!O)return;if(h()==="branch"){c((V)=>V+O);return}if(h()==="focus")d((V)=>V+O)});let J=()=>n().width,q=()=>n().height,re=()=>Math.max(50,Math.min(80,J()-4)),he=4,_=()=>{if(r()==="input"){let R=P()&&h()==="branch"?T().length*2:0,O=s().length>0?4:0;return Math.max(21+he,Math.min(21+he+R+O,q()-4))}if(r()==="preview")return Math.max(13+he,Math.min((a().length>0?15:13)+he,q()-4));if(r()==="creating")return Math.max(9+he,Math.min(A().length*2+7+he,q()-4));if(r()==="done")return Math.max(11+he,Math.min((a().length>0?15:13)+he,q()-4));return Math.max(11+he,Math.min(11+he,q()-4))},me=()=>Math.max(re()-4,10),Ee=()=>Math.max(me(),20);return z(rn,{get width(){return re()},get height(){return _()},get borderColor(){return We(()=>r()==="done")()?g.text.success:We(()=>r()==="error")()?g.text.error:g.border.active},get backgroundColor(){return g.bg.surface},gap:1,title:" Create Worktree ",get footer(){return[(()=>{var R=l("box"),O=l("text");return f(R,O),o(R,"height",1),j(O,()=>"\u2500".repeat(Math.max(me(),1))),L((V)=>{var N=me(),I=g.border.subtle;return N!==V.e&&(V.e=o(R,"width",N,V.e)),I!==V.t&&(V.t=o(O,"fg",I,V.t)),V},{e:void 0,t:void 0}),R})(),z(ie,{get when(){return r()==="input"},get children(){var R=l("box"),O=l("text"),V=l("text"),N=l("text"),I=l("text");return f(R,O),f(R,V),f(R,N),f(R,I),o(R,"flexDirection","row"),o(R,"gap",2),f(O,B("Tab:switch")),f(V,B("\u2191\u2193:pick")),f(N,B("Enter:confirm")),f(I,B("Esc:cancel")),L((ee)=>{var de=g.text.secondary,ne=g.text.secondary,ge=g.text.secondary,Se=g.text.secondary;return de!==ee.e&&(ee.e=o(O,"fg",de,ee.e)),ne!==ee.t&&(ee.t=o(V,"fg",ne,ee.t)),ge!==ee.a&&(ee.a=o(N,"fg",ge,ee.a)),Se!==ee.o&&(ee.o=o(I,"fg",Se,ee.o)),ee},{e:void 0,t:void 0,a:void 0,o:void 0}),R}}),z(ie,{get when(){return r()==="preview"},get children(){var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"flexDirection","row"),o(R,"gap",2),f(O,B("Enter:create")),f(V,B("Esc:back")),L((N)=>{var I=g.text.secondary,ee=g.text.secondary;return I!==N.e&&(N.e=o(O,"fg",I,N.e)),ee!==N.t&&(N.t=o(V,"fg",ee,N.t)),N},{e:void 0,t:void 0}),R}}),z(ie,{get when(){return r()==="creating"},get children(){var R=l("text");return f(R,B("Creating worktree...")),L((O)=>o(R,"fg",g.text.secondary,O)),R}}),z(ie,{get when(){return r()==="done"},get children(){var R=l("text");return f(R,B("\u2713 Done \u2014 returning to list")),L((O)=>o(R,"fg",g.text.secondary,O)),R}}),z(ie,{get when(){return r()==="error"},get children(){var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"flexDirection","row"),o(R,"gap",2),f(O,B("Enter:retry")),f(V,B("Esc:back")),L((N)=>{var I=g.text.secondary,ee=g.text.secondary;return I!==N.e&&(N.e=o(O,"fg",I,N.e)),ee!==N.t&&(N.t=o(V,"fg",ee,N.t)),N},{e:void 0,t:void 0}),R}})]},get children(){return[z(ie,{get when(){return r()==="input"},get children(){return[(()=>{var R=l("box"),O=l("text"),V=l("text"),N=l("text");return f(R,O),f(R,V),f(R,N),o(R,"height",1),f(O,B(">")),o(O,"x",1),o(O,"y",0),f(V,B("New Worktree")),o(V,"x",3),o(V,"y",0),o(N,"x",17),o(N,"y",0),j(N,H),L((I)=>{var ee=me(),de=g.bg.elevated,ne=g.text.accent,ge=g.text.primary,Se=g.text.secondary;return ee!==I.e&&(I.e=o(R,"width",ee,I.e)),de!==I.t&&(I.t=o(R,"backgroundColor",de,I.t)),ne!==I.a&&(I.a=o(O,"fg",ne,I.a)),ge!==I.o&&(I.o=o(V,"fg",ge,I.o)),Se!==I.i&&(I.i=o(N,"fg",Se,I.i)),I},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),R})(),(()=>{var R=l("text");return j(R,()=>"\u2500".repeat(me())),L((O)=>o(R,"fg",g.border.subtle,O)),R})(),(()=>{var R=l("text");return f(R,B("Branch name")),L((O)=>o(R,"fg",h()==="branch"?g.text.accent:g.text.secondary,O)),R})(),(()=>{var R=l("input");return o(R,"onInput",(O)=>c(O)),o(R,"placeholder","Branch name or search..."),L((O)=>{var V=s(),N=h()==="branch",I=Ee(),ee=g.bg.elevated,de=g.text.accent;return V!==O.e&&(O.e=o(R,"value",V,O.e)),N!==O.t&&(O.t=o(R,"focused",N,O.t)),I!==O.a&&(O.a=o(R,"width",I,O.a)),ee!==O.o&&(O.o=o(R,"backgroundColor",ee,O.o)),de!==O.i&&(O.i=o(R,"cursorColor",de,O.i)),O},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),R})(),z(ie,{get when(){return We(()=>!!(P()&&h()==="branch"))()&&T().length>0},get children(){return z(et,{get each(){return T()},children:(R,O)=>(()=>{var V=l("box"),N=l("text"),I=l("text");return f(V,N),f(V,I),o(V,"height",1),o(N,"x",1),o(N,"y",0),j(N,()=>O()===v()?"\u25B8 ":" ",null),j(N,()=>R.name,null),o(I,"y",0),j(I,()=>R.isRemote?"(remote) ":"",null),j(I,()=>R.lastCommitDate,null),L((ee)=>{var de=me(),ne=O()===v()?g.select.focusedBg:g.bg.surface,ge=O()===v()?g.tab.active:g.text.primary,Se=Math.max(1+R.name.length+4,27),pe=g.text.secondary;return de!==ee.e&&(ee.e=o(V,"width",de,ee.e)),ne!==ee.t&&(ee.t=o(V,"backgroundColor",ne,ee.t)),ge!==ee.a&&(ee.a=o(N,"fg",ge,ee.a)),Se!==ee.o&&(ee.o=o(I,"x",Se,ee.o)),pe!==ee.i&&(ee.i=o(I,"fg",pe,ee.i)),ee},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),V})()})}}),(()=>{var R=l("text");return f(R,B("Tab to switch fields \xB7 \u2191\u2193 to select branch")),L((O)=>o(R,"fg",g.text.secondary,O)),R})(),(()=>{var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"width","100%"),o(R,"height",1),o(R,"flexDirection","row"),f(O,B("Focus ")),f(V,B("(optional)")),L((N)=>{var I=h()==="focus"?g.text.accent:g.text.secondary,ee=g.text.secondary;return I!==N.e&&(N.e=o(O,"fg",I,N.e)),ee!==N.t&&(N.t=o(V,"fg",ee,N.t)),N},{e:void 0,t:void 0}),R})(),(()=>{var R=l("input");return o(R,"onInput",(O)=>d(O)),o(R,"placeholder","apps/web,apps/api (optional)"),L((O)=>{var V=a(),N=h()==="focus",I=Ee(),ee=g.bg.elevated,de=g.text.accent;return V!==O.e&&(O.e=o(R,"value",V,O.e)),N!==O.t&&(O.t=o(R,"focused",N,O.t)),I!==O.a&&(O.a=o(R,"width",I,O.a)),ee!==O.o&&(O.o=o(R,"backgroundColor",ee,O.o)),de!==O.i&&(O.i=o(R,"cursorColor",de,O.i)),O},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),R})(),(()=>{var R=l("text");return f(R,B("comma-separated paths, e.g. apps/web,apps/api")),L((O)=>o(R,"fg",g.text.secondary,O)),R})(),z(ie,{get when(){return s().length>0},get children(){return[(()=>{var R=l("text");return f(R,B("Target path")),L((O)=>o(R,"fg",g.text.secondary,O)),R})(),(()=>{var R=l("text");return j(R,U),L((O)=>o(R,"fg",g.text.primary,O)),R})()]}}),(()=>{var R=l("text");return f(R,B("Type a branch name, e.g. feature/my-feature")),L((O)=>o(R,"fg",g.text.primary,O)),R})()]}}),z(ie,{get when(){return r()==="preview"},get children(){return[(()=>{var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"height",1),f(O,B(">")),o(O,"x",1),o(O,"y",0),f(V,B("Confirm Worktree")),o(V,"x",3),o(V,"y",0),L((N)=>{var I=me(),ee=g.bg.elevated,de=g.text.accent,ne=g.text.primary;return I!==N.e&&(N.e=o(R,"width",I,N.e)),ee!==N.t&&(N.t=o(R,"backgroundColor",ee,N.t)),de!==N.a&&(N.a=o(O,"fg",de,N.a)),ne!==N.o&&(N.o=o(V,"fg",ne,N.o)),N},{e:void 0,t:void 0,a:void 0,o:void 0}),R})(),(()=>{var R=l("text");return j(R,()=>"\u2500".repeat(me())),L((O)=>o(R,"fg",g.border.subtle,O)),R})(),(()=>{var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Branch")),j(N,s),L((I)=>{var ee=g.text.secondary,de=g.text.accent;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R})(),(()=>{var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Path")),j(N,m),L((I)=>{var ee=g.text.secondary,de=g.text.primary;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R})(),z(ie,{get when(){return a().length>0},get children(){var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Focus")),j(N,a),L((I)=>{var ee=g.text.secondary,de=g.text.accent;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R}}),(()=>{var R=l("text");return f(R,B("\u2713 Ready to create. Press Enter to confirm.")),L((O)=>o(R,"fg",g.text.success,O)),R})()]}}),z(ie,{get when(){return r()==="creating"},get children(){return[(()=>{var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"height",1),f(O,B(">")),o(O,"x",1),o(O,"y",0),f(V,B("Creating Worktree")),o(V,"x",3),o(V,"y",0),L((N)=>{var I=me(),ee=g.bg.elevated,de=g.text.accent,ne=g.text.primary;return I!==N.e&&(N.e=o(R,"width",I,N.e)),ee!==N.t&&(N.t=o(R,"backgroundColor",ee,N.t)),de!==N.a&&(N.a=o(O,"fg",de,N.a)),ne!==N.o&&(N.o=o(V,"fg",ne,N.o)),N},{e:void 0,t:void 0,a:void 0,o:void 0}),R})(),(()=>{var R=l("text");return j(R,()=>"\u2500".repeat(me())),L((O)=>o(R,"fg",g.border.subtle,O)),R})(),z(et,{get each(){return A()},children:(R)=>(()=>{var O=l("box"),V=l("text"),N=B(" ");return f(O,V),o(O,"height",1),f(V,N),j(V,(()=>{var I=We(()=>R.status==="done");return()=>I()?"\u2713":We(()=>R.status==="running")()?"\u27F3":R.status==="error"?"\u2717":"\u25CB"})(),N),j(V,()=>R.label,null),j(O,z(ie,{get when(){return R.message},get children(){var I=l("text");return o(I,"y",0),j(I,()=>R.message),L((ee)=>{var de=R.label.length+4,ne=g.text.secondary;return de!==ee.e&&(ee.e=o(I,"x",de,ee.e)),ne!==ee.t&&(ee.t=o(I,"fg",ne,ee.t)),ee},{e:void 0,t:void 0}),I}}),null),L((I)=>o(V,"fg",R.status==="done"?g.text.success:R.status==="running"?g.text.accent:R.status==="error"?g.text.error:g.text.secondary,I)),O})()})]}}),z(ie,{get when(){return r()==="done"},get children(){return[(()=>{var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"height",1),f(O,B(">")),o(O,"x",1),o(O,"y",0),f(V,B("Worktree Created")),o(V,"x",3),o(V,"y",0),L((N)=>{var I=me(),ee=g.bg.elevated,de=g.text.success,ne=g.text.primary;return I!==N.e&&(N.e=o(R,"width",I,N.e)),ee!==N.t&&(N.t=o(R,"backgroundColor",ee,N.t)),de!==N.a&&(N.a=o(O,"fg",de,N.a)),ne!==N.o&&(N.o=o(V,"fg",ne,N.o)),N},{e:void 0,t:void 0,a:void 0,o:void 0}),R})(),(()=>{var R=l("text");return j(R,()=>"\u2500".repeat(me())),L((O)=>o(R,"fg",g.border.subtle,O)),R})(),(()=>{var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Branch")),j(N,s),L((I)=>{var ee=g.text.secondary,de=g.text.accent;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R})(),(()=>{var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Path")),j(N,m),L((I)=>{var ee=g.text.secondary,de=g.text.primary;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R})(),z(ie,{get when(){return a().length>0},get children(){var R=l("box"),O=l("box"),V=l("text"),N=l("text");return f(R,O),f(R,N),o(R,"height",1),o(R,"flexDirection","row"),f(O,V),o(O,"width",14),o(O,"height",1),f(V,B("Focus")),j(N,a),L((I)=>{var ee=g.text.secondary,de=g.text.accent;return ee!==I.e&&(I.e=o(V,"fg",ee,I.e)),de!==I.t&&(I.t=o(N,"fg",de,I.t)),I},{e:void 0,t:void 0}),R}}),(()=>{var R=l("text"),O=B("\u2713 ");return f(R,O),j(R,b,null),L((V)=>o(R,"fg",g.text.success,V)),R})()]}}),z(ie,{get when(){return r()==="error"},get children(){return[(()=>{var R=l("box"),O=l("text"),V=l("text");return f(R,O),f(R,V),o(R,"height",1),f(O,B(">")),o(O,"x",1),o(O,"y",0),f(V,B("Error")),o(V,"x",3),o(V,"y",0),L((N)=>{var I=me(),ee=g.bg.elevated,de=g.text.error,ne=g.text.primary;return I!==N.e&&(N.e=o(R,"width",I,N.e)),ee!==N.t&&(N.t=o(R,"backgroundColor",ee,N.t)),de!==N.a&&(N.a=o(O,"fg",de,N.a)),ne!==N.o&&(N.o=o(V,"fg",ne,N.o)),N},{e:void 0,t:void 0,a:void 0,o:void 0}),R})(),(()=>{var R=l("text");return j(R,()=>"\u2500".repeat(me())),L((O)=>o(R,"fg",g.border.subtle,O)),R})(),(()=>{var R=l("text");return f(R,B("\u2717 Failed")),L((O)=>o(R,"fg",g.text.error,O)),R})(),(()=>{var R=l("box"),O=l("text");return f(R,O),o(R,"height",1),o(O,"x",1),o(O,"y",0),j(O,()=>b().slice(0,Math.max(Ee()-3,10))),L((V)=>{var N=Ee(),I=g.bg.elevated,ee=g.text.primary;return N!==V.e&&(V.e=o(R,"width",N,V.e)),I!==V.t&&(V.t=o(R,"backgroundColor",I,V.t)),ee!==V.a&&(V.a=o(O,"fg",ee,V.a)),V},{e:void 0,t:void 0,a:void 0}),R})(),(()=>{var R=l("text");return f(R,B("Press Enter or Escape to try again")),L((O)=>o(R,"fg",g.text.secondary,O)),R})()]}})]}})}var $l=we(()=>{te();te();te();te();te();te();te();te();Ue();Jt();un();je();Ye();Ho();gn();Xt();ms();Jo();te();os();bt();Sr()});function Pl(){let e=ot(),t=mt(),n=nt(),[r,i]=ue(!1),[s,c]=ue(""),[a,d]=ue(!1),h=()=>{let b=t.worktrees()??[],S=e.selectedWorktreePath();if(S){let M=b.find((F)=>F.path===S);if(M)return M}return b[e.selectedWorktreeIndex()]},p=()=>{e.setShowRemove(!1),i(!1),c(""),d(!1)},m=async(b)=>{let S=h();if(!S){p();return}i(!0),c("Removing...");try{let M=De(),F=wt(M,S.repoPath);if(F.postRemove.length>0)c("Running postRemove hooks..."),await pt(F.postRemove,{cwd:S.path,env:{COP_BRANCH:S.branch??"",COP_WORKTREE_PATH:S.path,COP_REPO_PATH:S.repoPath}}).catch(()=>{});await se.remove(S.path,{force:b},S.repoPath),c("Removed successfully!"),er.success("Worktree removed");let v=t.worktrees()??[],y=e.selectedWorktreeIndex(),P=v[y-1]??v[y+1]??null;if(y>0)e.setSelectedWorktreeIndex(y-1);else e.setSelectedWorktreeIndex(0);e.setSelectedWorktreePath(P?.path??null),t.refetch(),setTimeout(p,1000)}catch(M){let F=M.message;if(!b&&F.includes("dirty"))c("Worktree has changes. Press Enter to force remove."),i(!1),d(!0);else c(`Failed: ${F}`),i(!1),er.error(`Failed: ${F}`)}};rt(async(b)=>{if(!e.showRemove())return;if(e.showCommandPalette())return;let S=b.name;if(S==="escape"){p();return}if(a()&&(S==="return"||S==="enter")){d(!1),await m(!0);return}if((S==="return"||S==="enter")&&!r())await m(!1)});let w=()=>h(),A=()=>Math.max(50,Math.min(80,n().width-4)),D=()=>10;return z(rn,{get width(){return A()},get height(){return D()},get borderColor(){return g.border.active},get backgroundColor(){return g.bg.elevated},gap:1,title:" Remove Worktree ",backdrop:!0,get footer(){return(()=>{var b=l("box");return o(b,"flexDirection","column"),j(b,z(ie,{get when(){return We(()=>!r())()&&!a()},get children(){var S=l("box"),M=l("text"),F=l("text");return f(S,M),f(S,F),o(S,"height",1),o(S,"flexDirection","row"),o(S,"gap",2),f(M,B("[Enter] Confirm")),f(F,B("[Esc] Cancel")),L((v)=>{var y=g.text.secondary,P=g.text.secondary;return y!==v.e&&(v.e=o(M,"fg",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),S}}),null),j(b,z(ie,{get when(){return a()},get children(){var S=l("box"),M=l("text"),F=l("text");return f(S,M),f(S,F),o(S,"height",1),o(S,"flexDirection","row"),o(S,"gap",2),f(M,B("[Enter] Force remove")),f(F,B("[Esc] Cancel")),L((v)=>{var y=g.text.secondary,P=g.text.secondary;return y!==v.e&&(v.e=o(M,"fg",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),S}}),null),b})()},get children(){return[z(ie,{get when(){return!!w()},get children(){return[(()=>{var b=l("box"),S=l("box"),M=l("text"),F=l("text");return f(b,S),f(b,F),o(b,"height",1),o(b,"flexDirection","row"),f(S,M),o(S,"width",10),o(S,"height",1),f(M,B("Branch")),j(F,()=>w()?.branch??"(detached)"),L((v)=>{var y=g.text.secondary,P=g.text.accent;return y!==v.e&&(v.e=o(M,"fg",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),b})(),(()=>{var b=l("box"),S=l("box"),M=l("text"),F=l("text");return f(b,S),f(b,F),o(b,"height",1),o(b,"flexDirection","row"),f(S,M),o(S,"width",10),o(S,"height",1),f(M,B("Path")),j(F,()=>w()?.path),L((v)=>{var y=g.text.secondary,P=g.text.primary;return y!==v.e&&(v.e=o(M,"fg",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),b})(),z(ie,{get when(){return a()},get children(){var b=l("text");return j(b,s),L((S)=>o(b,"fg",g.text.warning,S)),b}}),z(ie,{get when(){return r()},get children(){var b=l("text");return j(b,s),L((S)=>o(b,"fg",s().startsWith("Failed")?g.text.error:g.text.success,S)),b}})]}}),z(ie,{get when(){return!w()},get children(){var b=l("text");return f(b,B("No worktree selected.")),L((S)=>o(b,"fg",g.text.secondary,S)),b}})]}})}var Cl=we(()=>{te();te();te();te();te();te();te();te();Ue();Jt();un();je();Ye();gn();te();os();bt();Sr()});function Sl(e){let t=ot(),n=mt(),r=nn(),[i,s]=ue("confirming"),[c,a]=ue(""),[d,h]=ue(0),p=()=>{let D=n.worktrees()??[],b=t.selectedWorktrees(),S=[];for(let M of b){let F=D.find((v)=>v.path===M);if(F&&!F.isMain)S.push({branch:F.branch??"(detached)",path:F.path,repoPath:F.repoPath})}return S},m=()=>{t.setShowBulkActions(!1),s("confirming"),a(""),h(0)},w=async()=>{let D=p();if(D.length===0){m();return}s("executing"),h(0);let b=[];for(let S=0;S<D.length;S++){let M=D[S];a(`Removing ${M.branch} (${S+1}/${D.length})...`),h(S);try{let F=De(),v=wt(F,M.repoPath);if(v.postRemove.length>0)await pt(v.postRemove,{cwd:M.path,env:{COP_BRANCH:M.branch,COP_WORKTREE_PATH:M.path,COP_REPO_PATH:M.repoPath}}).catch(()=>{});await se.remove(M.path,{force:!1},M.repoPath)}catch(F){b.push(`${M.branch}: ${F.message}`)}}if(ht(),t.clearSelection(),t.setSelectedWorktreeIndex(0),t.setSelectedWorktreePath(null),n.refetch(),b.length>0)s("error"),a(`Failed: ${b.join("; ")}`),r.addToast({message:`Failed to remove ${b.length} worktree(s)`,type:"error"}),setTimeout(m,3000);else s("done"),a(`Removed ${D.length} worktree(s) successfully!`),r.addToast({message:`Removed ${D.length} worktrees`,type:"success"}),setTimeout(m,1500)};rt(async(D)=>{if(!t.showBulkActions())return;if(t.showCommandPalette())return;let b=D.name;if(i()==="executing")return;if(b==="escape"){m();return}if((b==="return"||b==="enter")&&i()==="confirming")await w()});let A=()=>p().length;return(()=>{var D=l("box"),b=l("box"),S=l("box"),M=l("text"),F=l("box"),v=l("text"),y=l("box");return f(D,b),o(D,"x",0),o(D,"y",0),f(b,S),f(b,F),f(b,y),o(b,"x",2),o(b,"y",1),o(b,"flexDirection","column"),f(S,M),o(S,"height",1),f(M,B("Bulk Delete Worktrees")),o(M,"x",0),o(M,"y",0),f(F,v),o(F,"height",1),o(v,"x",0),o(v,"y",0),j(v,()=>"\u2500".repeat(Math.max(e.w-5,10))),o(y,"height",1),j(b,z(ie,{get when(){return i()==="confirming"},get children(){return[(()=>{var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",0),o(G,"y",0),j(G,()=>`Delete ${A()} worktree(s)?`),L((T)=>o(G,"fg",g.text.warning,T)),P})(),(()=>{var P=l("box");return o(P,"height",1),P})(),z(et,{get each(){return p().slice(0,Math.max(e.h-10,5))},children:(P)=>(()=>{var G=l("box"),T=l("text");return f(G,T),o(G,"height",1),o(T,"x",2),o(T,"y",0),j(T,()=>`\u2022 ${P.branch}`),L((K)=>o(T,"fg",g.text.accent,K)),G})()}),z(ie,{get when(){return A()>Math.max(e.h-10,5)},get children(){var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",2),o(G,"y",0),j(G,()=>`... and ${A()-Math.max(e.h-10,5)} more`),L((T)=>o(G,"fg",g.text.secondary,T)),P}}),(()=>{var P=l("box");return o(P,"height",1),P})(),(()=>{var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),f(G,B("Enter:delete all Esc:cancel")),o(G,"x",0),o(G,"y",0),L((T)=>o(G,"fg",g.text.secondary,T)),P})()]}}),null),j(b,z(ie,{get when(){return i()==="executing"},get children(){return[(()=>{var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",0),o(G,"y",0),j(G,c),L((T)=>o(G,"fg",g.text.warning,T)),P})(),(()=>{var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",0),o(G,"y",0),j(G,()=>`Progress: ${d()+1}/${A()}`),L((T)=>o(G,"fg",g.text.secondary,T)),P})()]}}),null),j(b,z(ie,{get when(){return i()==="done"},get children(){var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",0),o(G,"y",0),j(G,c),L((T)=>o(G,"fg",g.text.success,T)),P}}),null),j(b,z(ie,{get when(){return i()==="error"},get children(){var P=l("box"),G=l("text");return f(P,G),o(P,"height",1),o(G,"x",0),o(G,"y",0),j(G,c),L((T)=>o(G,"fg",g.text.error,T)),P}}),null),L((P)=>{var{w:G,h:T}=e,K=g.bg.base,X=e.w-3,H=e.h-2,U=g.bg.base,J=g.text.error,q=g.border.subtle;return G!==P.e&&(P.e=o(D,"width",G,P.e)),T!==P.t&&(P.t=o(D,"height",T,P.t)),K!==P.a&&(P.a=o(D,"backgroundColor",K,P.a)),X!==P.o&&(P.o=o(b,"width",X,P.o)),H!==P.i&&(P.i=o(b,"height",H,P.i)),U!==P.n&&(P.n=o(b,"backgroundColor",U,P.n)),J!==P.s&&(P.s=o(M,"fg",J,P.s)),q!==P.h&&(P.h=o(v,"fg",q,P.h)),P},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),D})()}var Rl=we(()=>{te();te();te();te();te();te();te();Ue();Jt();tr();un();je();Ye();gn();te();bt()});import{decodePasteBytes as _m}from"@opentui/core";import{spawnSync as ep}from"child_process";function xn(e){if(!e)return"(inherits)";if(e.length===0)return"[]";return JSON.stringify(e)}function fp(e){if(!e)return!1;return/^\(.+\)$/.test(e)}function vt(e){if(e===void 0)return"(inherits)";if(e.length===0)return"[]";return JSON.stringify(e)}function xs(e){if(e===void 0)return"(inherits)";return e?"true":"false"}function up(e){let t=[];if(!e)return t;if(t.push({key:"top.version",kind:"field",label:"version",value:String(e.version),rawValue:e.version,path:["version"],editKind:null,depth:0}),t.push({key:"top.theme",kind:"field",label:"theme",value:e.theme??"(default: opencode)",rawValue:e.theme,path:["theme"],editKind:"theme",depth:0}),e.activeProfile!==void 0||e.profiles&&Object.keys(e.profiles).length>0)t.push({key:"top.activeProfile",kind:"field",label:"activeProfile",value:e.activeProfile??"(none)",rawValue:e.activeProfile,path:["activeProfile"],editKind:null,depth:0});t.push({key:"sp.top",kind:"spacer",label:"",depth:0}),t.push({key:"sec.defaults",kind:"section",label:"Defaults",depth:0});let n=e.defaults??{};if(t.push({key:"d.worktreeDir",kind:"field",label:"worktreeDir",value:n.worktreeDir??"(not set)",rawValue:n.worktreeDir,path:["defaults","worktreeDir"],editKind:"string",depth:1,suggestions:ps}),t.push({key:"d.copyFiles",kind:"field",label:"copyFiles",value:vt(n.copyFiles),rawValue:n.copyFiles,path:["defaults","copyFiles"],editKind:"strArray",depth:1,suggestions:zo}),t.push({key:"d.linkFiles",kind:"field",label:"linkFiles",value:vt(n.linkFiles),rawValue:n.linkFiles,path:["defaults","linkFiles"],editKind:"strArray",depth:1,suggestions:qo}),t.push({key:"d.postCreate",kind:"field",label:"postCreate",value:vt(n.postCreate),rawValue:n.postCreate,path:["defaults","postCreate"],editKind:"strArray",depth:1,suggestions:gs}),t.push({key:"d.postRemove",kind:"field",label:"postRemove",value:vt(n.postRemove),rawValue:n.postRemove,path:["defaults","postRemove"],editKind:"strArray",depth:1,suggestions:Xo}),t.push({key:"d.autoUpstream",kind:"field",label:"autoUpstream",value:xs(n.autoUpstream),rawValue:n.autoUpstream,path:["defaults","autoUpstream"],editKind:"boolean",depth:1}),n.sharedDeps)t.push({key:"d.sharedDeps.header",kind:"section",label:"sharedDeps",depth:1}),t.push({key:"d.sharedDeps.strategy",kind:"field",label:"strategy",value:n.sharedDeps.strategy??"(not set)",rawValue:n.sharedDeps.strategy,path:["defaults","sharedDeps","strategy"],editKind:"enum",depth:2,suggestions:cp}),t.push({key:"d.sharedDeps.paths",kind:"field",label:"paths",value:vt(n.sharedDeps.paths),rawValue:n.sharedDeps.paths,path:["defaults","sharedDeps","paths"],editKind:"strArray",depth:2,suggestions:ap}),t.push({key:"d.sharedDeps.invalidateOn",kind:"field",label:"invalidateOn",value:vt(n.sharedDeps.invalidateOn),rawValue:n.sharedDeps.invalidateOn,path:["defaults","sharedDeps","invalidateOn"],editKind:"strArray",depth:2,suggestions:lp});let r=e.workspaces??[];if(r.length>0)t.push({key:"sp.workspaces",kind:"spacer",label:"",depth:0}),t.push({key:"sec.workspaces",kind:"section",label:`Workspaces (${r.length})`,depth:0}),r.forEach((s,c)=>{let a=s.path.split("/").pop()||s.path;t.push({key:`w${c}.header`,kind:"section",label:a,depth:1}),t.push({key:`w${c}.path`,kind:"field",label:"path",value:s.path,rawValue:s.path,path:["workspaces",c,"path"],editKind:null,depth:2}),t.push({key:`w${c}.depth`,kind:"field",label:"depth",value:s.depth===void 0?"(default: 1)":String(s.depth),rawValue:s.depth,path:["workspaces",c,"depth"],editKind:null,depth:2}),t.push({key:`w${c}.exclude`,kind:"field",label:"exclude",value:vt(s.exclude),rawValue:s.exclude,path:["workspaces",c,"exclude"],editKind:"strArray",depth:2,suggestions:[wn,'["node_modules"]','["node_modules", ".cache"]','["node_modules", ".cache", "archived"]']});let d=s.defaults;if(d)t.push({key:`w${c}.defaults.header`,kind:"section",label:"defaults",depth:2}),t.push({key:`w${c}.defaults.worktreeDir`,kind:"field",label:"worktreeDir",value:d.worktreeDir??"(inherits)",rawValue:d.worktreeDir,path:["workspaces",c,"defaults","worktreeDir"],editKind:"string",depth:3,suggestions:ps}),t.push({key:`w${c}.defaults.copyFiles`,kind:"field",label:"copyFiles",value:vt(d.copyFiles),rawValue:d.copyFiles,path:["workspaces",c,"defaults","copyFiles"],editKind:"strArray",depth:3,suggestions:zo}),t.push({key:`w${c}.defaults.linkFiles`,kind:"field",label:"linkFiles",value:vt(d.linkFiles),rawValue:d.linkFiles,path:["workspaces",c,"defaults","linkFiles"],editKind:"strArray",depth:3,suggestions:qo}),t.push({key:`w${c}.defaults.postCreate`,kind:"field",label:"postCreate",value:vt(d.postCreate),rawValue:d.postCreate,path:["workspaces",c,"defaults","postCreate"],editKind:"strArray",depth:3,suggestions:gs}),t.push({key:`w${c}.defaults.postRemove`,kind:"field",label:"postRemove",value:vt(d.postRemove),rawValue:d.postRemove,path:["workspaces",c,"defaults","postRemove"],editKind:"strArray",depth:3,suggestions:Xo}),t.push({key:`w${c}.defaults.autoUpstream`,kind:"field",label:"autoUpstream",value:xs(d.autoUpstream),rawValue:d.autoUpstream,path:["workspaces",c,"defaults","autoUpstream"],editKind:"boolean",depth:3});if(c<r.length-1)t.push({key:`sp.w${c}`,kind:"spacer",label:"",depth:0})});let i=e.repos??[];if(t.push({key:"sp.repos",kind:"spacer",label:"",depth:0}),t.push({key:"sec.repos",kind:"section",label:`Repos (${i.length})`,depth:0}),i.length===0)t.push({key:"repos.empty",kind:"field",label:"(none)",value:"add repos via 'e' to edit config file",rawValue:null,editKind:null,depth:1});if(i.forEach((s,c)=>{let a=s.path.split("/").pop()??s.path;if(t.push({key:`r${c}.header`,kind:"section",label:a,depth:1}),t.push({key:`r${c}.path`,kind:"field",label:"path",value:s.path,rawValue:s.path,path:["repos",c,"path"],editKind:null,depth:2}),t.push({key:`r${c}.worktreeDir`,kind:"field",label:"worktreeDir",value:s.worktreeDir??"(inherits)",rawValue:s.worktreeDir,path:["repos",c,"worktreeDir"],editKind:"string",depth:2,suggestions:ps}),t.push({key:`r${c}.copyFiles`,kind:"field",label:"copyFiles",value:vt(s.copyFiles),rawValue:s.copyFiles,path:["repos",c,"copyFiles"],editKind:"strArray",depth:2,suggestions:zo}),t.push({key:`r${c}.linkFiles`,kind:"field",label:"linkFiles",value:vt(s.linkFiles),rawValue:s.linkFiles,path:["repos",c,"linkFiles"],editKind:"strArray",depth:2,suggestions:qo}),t.push({key:`r${c}.postCreate`,kind:"field",label:"postCreate",value:vt(s.postCreate),rawValue:s.postCreate,path:["repos",c,"postCreate"],editKind:"strArray",depth:2,suggestions:gs}),t.push({key:`r${c}.postRemove`,kind:"field",label:"postRemove",value:vt(s.postRemove),rawValue:s.postRemove,path:["repos",c,"postRemove"],editKind:"strArray",depth:2,suggestions:Xo}),t.push({key:`r${c}.autoUpstream`,kind:"field",label:"autoUpstream",value:xs(s.autoUpstream),rawValue:s.autoUpstream,path:["repos",c,"autoUpstream"],editKind:"boolean",depth:2}),s.monorepo){t.push({key:`r${c}.mr.header`,kind:"section",label:"monorepo",depth:2}),t.push({key:`r${c}.mr.autoDetect`,kind:"field",label:"autoDetect",value:s.monorepo.autoDetect===void 0?"(not set)":String(s.monorepo.autoDetect),rawValue:s.monorepo.autoDetect,path:["repos",c,"monorepo","autoDetect"],editKind:"boolean",depth:3}),t.push({key:`r${c}.mr.extraPatterns`,kind:"field",label:"extraPatterns",value:xn(s.monorepo.extraPatterns),rawValue:s.monorepo.extraPatterns,path:["repos",c,"monorepo","extraPatterns"],editKind:"strArray",depth:3,suggestions:rp});let d=s.monorepo.hooks??[];t.push({key:`r${c}.mr.hooks.header`,kind:"section",label:`hooks (${d.length})`,depth:3}),d.forEach((h,p)=>{t.push({key:`r${c}.h${p}.header`,kind:"section",label:`[${p}] ${h.glob}`,depth:4}),t.push({key:`r${c}.h${p}.glob`,kind:"field",label:"glob",value:h.glob,rawValue:h.glob,path:["repos",c,"monorepo","hooks",p,"glob"],editKind:"string",depth:5,suggestions:op}),t.push({key:`r${c}.h${p}.copyFiles`,kind:"field",label:"copyFiles",value:xn(h.copyFiles),rawValue:h.copyFiles,path:["repos",c,"monorepo","hooks",p,"copyFiles"],editKind:"strArray",depth:5,suggestions:zo}),t.push({key:`r${c}.h${p}.linkFiles`,kind:"field",label:"linkFiles",value:xn(h.linkFiles),rawValue:h.linkFiles,path:["repos",c,"monorepo","hooks",p,"linkFiles"],editKind:"strArray",depth:5,suggestions:qo}),t.push({key:`r${c}.h${p}.postCreate`,kind:"field",label:"postCreate",value:xn(h.postCreate),rawValue:h.postCreate,path:["repos",c,"monorepo","hooks",p,"postCreate"],editKind:"strArray",depth:5,suggestions:ip}),t.push({key:`r${c}.h${p}.postRemove`,kind:"field",label:"postRemove",value:xn(h.postRemove),rawValue:h.postRemove,path:["repos",c,"monorepo","hooks",p,"postRemove"],editKind:"strArray",depth:5,suggestions:Xo})})}if(c<i.length-1)t.push({key:`sp.r${c}`,kind:"spacer",label:"",depth:0})}),e.templates&&Object.keys(e.templates).length>0){t.push({key:"sp.templates",kind:"spacer",label:"",depth:0}),t.push({key:"sec.templates",kind:"section",label:`Templates (${Object.keys(e.templates).length})`,depth:0});for(let[s,c]of Object.entries(e.templates)){if(t.push({key:`t.${s}.header`,kind:"section",label:s,depth:1}),c.base!==void 0)t.push({key:`t.${s}.base`,kind:"field",label:"base",value:c.base,rawValue:c.base,path:["templates",s,"base"],editKind:"string",depth:2});if(c.worktreeDir!==void 0)t.push({key:`t.${s}.worktreeDir`,kind:"field",label:"worktreeDir",value:c.worktreeDir,rawValue:c.worktreeDir,path:["templates",s,"worktreeDir"],editKind:"string",depth:2});if(c.copyFiles!==void 0)t.push({key:`t.${s}.copyFiles`,kind:"field",label:"copyFiles",value:xn(c.copyFiles),rawValue:c.copyFiles,path:["templates",s,"copyFiles"],editKind:"strArray",depth:2});if(c.linkFiles!==void 0)t.push({key:`t.${s}.linkFiles`,kind:"field",label:"linkFiles",value:xn(c.linkFiles),rawValue:c.linkFiles,path:["templates",s,"linkFiles"],editKind:"strArray",depth:2});if(c.postCreate!==void 0)t.push({key:`t.${s}.postCreate`,kind:"field",label:"postCreate",value:xn(c.postCreate),rawValue:c.postCreate,path:["templates",s,"postCreate"],editKind:"strArray",depth:2});if(c.postRemove!==void 0)t.push({key:`t.${s}.postRemove`,kind:"field",label:"postRemove",value:xn(c.postRemove),rawValue:c.postRemove,path:["templates",s,"postRemove"],editKind:"strArray",depth:2});if(c.autoUpstream!==void 0)t.push({key:`t.${s}.autoUpstream`,kind:"field",label:"autoUpstream",value:String(c.autoUpstream),rawValue:c.autoUpstream,path:["templates",s,"autoUpstream"],editKind:"boolean",depth:2})}}if(e.lifecycle){if(t.push({key:"sp.lifecycle",kind:"spacer",label:"",depth:0}),t.push({key:"sec.lifecycle",kind:"section",label:"Lifecycle",depth:0}),e.lifecycle.autoCleanMerged!==void 0)t.push({key:"lc.autoCleanMerged",kind:"field",label:"autoCleanMerged",value:String(e.lifecycle.autoCleanMerged),rawValue:e.lifecycle.autoCleanMerged,path:["lifecycle","autoCleanMerged"],editKind:"boolean",depth:1});if(e.lifecycle.staleAfterDays!==void 0)t.push({key:"lc.staleAfterDays",kind:"field",label:"staleAfterDays",value:String(e.lifecycle.staleAfterDays),rawValue:e.lifecycle.staleAfterDays,path:["lifecycle","staleAfterDays"],editKind:null,depth:1});if(e.lifecycle.maxWorktrees!==void 0)t.push({key:"lc.maxWorktrees",kind:"field",label:"maxWorktrees",value:String(e.lifecycle.maxWorktrees),rawValue:e.lifecycle.maxWorktrees,path:["lifecycle","maxWorktrees"],editKind:null,depth:1})}if(e.sessions){t.push({key:"sp.sessions",kind:"spacer",label:"",depth:0}),t.push({key:"sec.sessions",kind:"section",label:"Sessions",depth:0});let s=e.sessions;if(s.enabled!==void 0)t.push({key:"s.enabled",kind:"field",label:"enabled",value:String(s.enabled),rawValue:s.enabled,path:["sessions","enabled"],editKind:"boolean",depth:1});if(s.autoCreate!==void 0)t.push({key:"s.autoCreate",kind:"field",label:"autoCreate",value:String(s.autoCreate),rawValue:s.autoCreate,path:["sessions","autoCreate"],editKind:"boolean",depth:1});if(s.autoKill!==void 0)t.push({key:"s.autoKill",kind:"field",label:"autoKill",value:String(s.autoKill),rawValue:s.autoKill,path:["sessions","autoKill"],editKind:"boolean",depth:1});if(s.prefix!==void 0)t.push({key:"s.prefix",kind:"field",label:"prefix",value:s.prefix,rawValue:s.prefix,path:["sessions","prefix"],editKind:"string",depth:1,suggestions:sp});if(s.defaultLayout!==void 0)t.push({key:"s.defaultLayout",kind:"field",label:"defaultLayout",value:s.defaultLayout,rawValue:s.defaultLayout,path:["sessions","defaultLayout"],editKind:"string",depth:1});if(s.layouts&&Object.keys(s.layouts).length>0){t.push({key:"s.layouts.header",kind:"section",label:`layouts (${Object.keys(s.layouts).length})`,depth:1});for(let[c,a]of Object.entries(s.layouts))t.push({key:`s.layouts.${c}`,kind:"field",label:c,value:`${a.windows?.length??0} window(s)`,rawValue:a,path:["sessions","layouts",c],editKind:null,depth:2})}}if(e.profiles&&Object.keys(e.profiles).length>0){t.push({key:"sp.profiles",kind:"spacer",label:"",depth:0}),t.push({key:"sec.profiles",kind:"section",label:`Profiles (${Object.keys(e.profiles).length})`,depth:0});for(let s of Object.keys(e.profiles)){let c=e.activeProfile===s;t.push({key:`p.${s}`,kind:"field",label:s,value:c?"active":"",rawValue:s,path:["profiles",s],editKind:null,depth:1})}}return t}function El(){let e=ot(),t=nt(),n=yt(),r=()=>{try{return{cfg:Di(),error:""}}catch(x){return{cfg:null,error:x.message}}},i=r(),[s,c]=ue(i.cfg),[a,d]=ue(i.error),[h,p]=ue(""),[m,w]=ue("info"),[A,D]=ue(0),[b,S]=ue(0),[M,F]=ue(!1),[v,y]=ue(null),[P,G]=ue(null),[T,K]=ue(""),[X,H]=ue(!1),[U,J]=ue(0),[q,re]=ue([]),[he,_]=ue(-1),[me,Ee]=ue(0),R=He(()=>up(s())),O=He(()=>{let x=[],k=R();for(let E=0;E<k.length;E++){let C=k[E];if(C.kind==="field"&&C.editKind!==null)x.push(E)}return x}),V=()=>{let x=O();if(x.length===0)return-1;let k=Math.max(0,Math.min(A(),x.length-1));return x[k]??-1},N=()=>{let x=V();if(x<0)return null;return R()[x]??null},I=(x,k="info")=>{p(x),w(k)},ee=()=>{let x=r();c(x.cfg),d(x.error)},de=()=>{let x=N();if(!x||!x.editKind||!x.path){I("Field is read-only (press 'e' to edit the file directly)","info");return}let k=x.suggestions??[];if(y(x.editKind),G(x.path),re(k),e.setInputFocused(!0),x.editKind==="string"){let E=typeof x.rawValue==="string"?x.rawValue:"";K(E),_(k.indexOf(E))}else if(x.editKind==="strArray"){let E=Array.isArray(x.rawValue)?x.rawValue:[],C=JSON.stringify(E);K(C),_(k.indexOf(C))}else if(x.editKind==="boolean")H(x.rawValue===!0),_(-1);else if(x.editKind==="theme"){let E=typeof x.rawValue==="string"?x.rawValue:"opencode",C=Dt.indexOf(E);J(C>=0?C:0),_(-1)}else if(x.editKind==="enum"){let E=x.suggestions??[],C=typeof x.rawValue==="string"?x.rawValue:"",Q=E.indexOf(C);Ee(Q>=0?Q:0),_(-1)}F(!0)},ne=()=>{F(!1),G(null),y(null),K(""),re([]),_(-1),e.setInputFocused(!1)},ge=(x)=>{let k=q();if(k.length===0)return;let E=(he()+x+k.length)%k.length;_(E);let C=k[E]??"",Q=v();if(Q==="string"||Q==="strArray")K(C)},Se=()=>{let x=P(),k=v();if(!x||!k){ne();return}let E;if(k==="string"){let C=T();E=C.length===0?void 0:C}else if(k==="strArray"){let C=T().trim();if(C.length===0)E=[];else try{let Q=JSON.parse(C);if(!Array.isArray(Q)||Q.some((oe)=>typeof oe!=="string"))throw Error("expected a JSON array of strings");E=Q}catch(Q){I(`Invalid JSON: ${Q.message}`,"error");return}}else if(k==="boolean")E=X();else if(k==="theme")E=Dt[U()];else if(k==="enum")E=q()[me()];try{jt();let C=Di();ea(C,x,E);let Q=Zn(C);if(Q.length>0){let oe=Q[0];I(`Validation: ${oe.field}: ${oe.message}`,"error");return}if(Qn(n,`${JSON.stringify(C,null,2)}
16
+ `),k==="theme"&&typeof E==="string"&&Dt.includes(E))mr(E);ee(),I("Saved","success"),F(!1),G(null),y(null),K(""),re([]),_(-1),e.setInputFocused(!1)}catch(C){I(`Save failed: ${C.message}`,"error")}};rt((x)=>{if(e.activeTab()!=="config")return;if(e.showCommandPalette())return;let k=x.name;if(M()){if(k==="escape"){ne();return}let E=v();if(E==="string"||E==="strArray"){if(k==="tab"){ge(x.shift?-1:1);return}if(k==="return"||k==="enter")Se();return}if(E==="boolean"){if(k==="space"||k==="tab"||k==="left"||k==="right"||k==="h"||k==="l"){H((C)=>!C);return}if(k==="return"||k==="enter")Se();return}if(E==="theme"){if(k==="left"||k==="up"||k==="h"||k==="k"||k==="tab"&&x.shift){J((C)=>(C-1+Dt.length)%Dt.length);return}if(k==="right"||k==="down"||k==="l"||k==="j"||k==="tab"){J((C)=>(C+1)%Dt.length);return}if(k==="return"||k==="enter")Se();return}if(E==="enum"){let C=q();if(C.length===0)return;if(k==="left"||k==="up"||k==="h"||k==="k"||k==="tab"&&x.shift){Ee((Q)=>(Q-1+C.length)%C.length);return}if(k==="right"||k==="down"||k==="l"||k==="j"||k==="tab"){Ee((Q)=>(Q+1)%C.length);return}if(k==="return"||k==="enter")Se();return}return}if(e.inputFocused())return;if(k==="j"||k==="down"){D((E)=>Math.min(E+1,O().length-1));return}if(k==="k"||k==="up"){D((E)=>Math.max(E-1,0));return}if(k==="g"){D(0);return}if(k==="G"){D(Math.max(O().length-1,0));return}if(k==="return"||k==="enter"){de();return}if(k==="e"){let E=process.env.EDITOR??process.env.VISUAL??"vi";jt(),ep(E,[n],{stdio:"inherit"}),ee(),I("Config reloaded","info");return}if(k==="r"){ee(),I("Reloaded","info");return}if(k==="i"){jt(),ee(),I("Initialized","info");return}}),hr((x)=>{if(!M())return;let k=v();if(k!=="string"&&k!=="strArray")return;let E=_m(x.bytes).replace(/\r?\n/g,"");if(!E)return;K((C)=>C+E)});let pe=()=>Math.max(t().height-10,5);Mt(_t([A,R],()=>{let x=V();if(x<0)return;let k=pe();if(x<b())S(x);else if(x>=b()+k)S(x-k+1)})),it(()=>{e.setInputFocused(!1)});let ve=He(()=>{let x=b();return R().slice(x,x+pe()).map((k,E)=>({row:k,globalIdx:x+E}))}),Me=()=>O().length,Re=()=>{let x=R().length;if(x<=pe())return"";let k=Math.min(b()+pe(),x);return`${b()+1}-${k}/${x}`},W=()=>t().width,u=()=>Math.max(W()-4-np-4,20);return(()=>{var x=l("box"),k=l("box"),E=l("box"),C=l("text"),Q=l("b"),oe=l("box"),xe=l("text"),le=l("text"),Ie=l("box");return f(x,k),f(x,Ie),o(x,"x",0),o(x,"y",0),o(x,"width","100%"),o(x,"height","100%"),o(x,"flexDirection","column"),f(k,E),f(k,oe),o(k,"width","100%"),o(k,"height","100%"),o(k,"flexDirection","column"),o(k,"paddingX",2),o(k,"paddingY",1),f(E,C),o(E,"height",1),o(E,"flexDirection","row"),f(C,Q),f(Q,B("Configuration")),j(E,z(ie,{get when(){return!!Re()},get children(){var Z=l("text"),ae=B(" ");return f(Z,ae),j(Z,()=>` \xB7 ${Re()}`,null),L((ce)=>o(Z,"fg",g.text.secondary,ce)),Z}}),null),j(E,z(ie,{get when(){return Me()>0},get children(){var Z=l("text"),ae=B(" ");return f(Z,ae),j(Z,()=>` \xB7 ${A()+1}/${Me()}`,null),L((ce)=>o(Z,"fg",g.text.secondary,ce)),Z}}),null),f(oe,xe),f(oe,le),o(oe,"height",1),o(oe,"flexDirection","row"),o(oe,"gap",1),f(xe,B("Path:")),j(le,n),j(k,z(ie,{get when(){return!!a()},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"height",1),o(Z,"flexDirection","row"),o(Z,"gap",1),f(ae,B("Load error:")),j(ce,a),L((Y)=>{var Pe=g.text.error,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),null),j(k,z(ie,{get when(){return We(()=>!s())()&&!a()},get children(){var Z=l("box"),ae=l("text"),ce=l("box"),Y=l("text"),Pe=l("text"),$e=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","column"),o(Z,"gap",1),f(ae,B("No config file found.")),f(ce,Y),f(ce,Pe),f(ce,$e),o(ce,"flexDirection","row"),o(ce,"gap",1),f(Y,B("Press")),f(Pe,B("i")),f($e,B("to initialize with defaults.")),L((Ve)=>{var Ne=g.text.warning,ze=g.text.secondary,ft=g.text.accent,Fe=g.text.secondary;return Ne!==Ve.e&&(Ve.e=o(ae,"fg",Ne,Ve.e)),ze!==Ve.t&&(Ve.t=o(Y,"fg",ze,Ve.t)),ft!==Ve.a&&(Ve.a=o(Pe,"fg",ft,Ve.a)),Fe!==Ve.o&&(Ve.o=o($e,"fg",Fe,Ve.o)),Ve},{e:void 0,t:void 0,a:void 0,o:void 0}),Z}}),null),j(k,z(ie,{get when(){return!!s()},get children(){return[(()=>{var Z=l("box"),ae=l("text");return f(Z,ae),o(Z,"height",1),j(ae,()=>"\u2500".repeat(Math.max(W()-34,10))),L((ce)=>o(ae,"fg",g.border.subtle,ce)),Z})(),(()=>{var Z=l("box");return o(Z,"flexDirection","column"),j(Z,z(et,{get each(){return ve()},children:(ae)=>{let ce=ae.row,Y=()=>ae.globalIdx===V(),Pe=()=>M()&&Y(),$e=" ".repeat(ce.depth*tp);if(ce.kind==="spacer")return(()=>{var Ne=l("box"),ze=l("text");return f(Ne,ze),o(Ne,"height",1),f(ze,B(" ")),L((ft)=>o(ze,"fg",g.text.secondary,ft)),Ne})();if(ce.kind==="section")return(()=>{var Ne=l("box"),ze=l("text");return f(Ne,ze),o(Ne,"height",1),o(Ne,"flexDirection","row"),j(ze,$e,null),j(ze,()=>ce.label,null),L((ft)=>o(ze,"fg",g.text.accent,ft)),Ne})();let Ve=()=>{let Ne=Y()?"\u25B8 ":" ";return`${$e}${Ne}${ce.label}`};return(()=>{var Ne=l("box"),ze=l("box"),ft=l("text");return f(Ne,ze),o(Ne,"height",1),o(Ne,"flexDirection","row"),f(ze,ft),o(ze,"width",30),o(ze,"height",1),j(ft,Ve),j(Ne,z(ie,{get when(){return Pe()},get fallback(){return(()=>{var Fe=l("text");return j(Fe,()=>ce.value??""),L((Te)=>o(Fe,"fg",fp(ce.value)?g.text.secondary:g.text.primary,Te)),Fe})()},get children(){return[z(ie,{get when(){return v()==="string"||v()==="strArray"},get children(){var Fe=l("input");return o(Fe,"onInput",(Te)=>K(Te)),o(Fe,"focused",!0),L((Te)=>{var bn=T(),Dr=u(),Ar=g.bg.elevated,Wr=g.text.accent,Ir=v()==="strArray"?'["a", "b"]':"";return bn!==Te.e&&(Te.e=o(Fe,"value",bn,Te.e)),Dr!==Te.t&&(Te.t=o(Fe,"width",Dr,Te.t)),Ar!==Te.a&&(Te.a=o(Fe,"backgroundColor",Ar,Te.a)),Wr!==Te.o&&(Te.o=o(Fe,"cursorColor",Wr,Te.o)),Ir!==Te.i&&(Te.i=o(Fe,"placeholder",Ir,Te.i)),Te},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),Fe}}),z(ie,{get when(){return v()==="boolean"},get children(){var Fe=l("text");return j(Fe,()=>X()?"[x] true":"[ ] false"),L((Te)=>o(Fe,"fg",X()?g.text.success:g.text.secondary,Te)),Fe}}),z(ie,{get when(){return v()==="theme"},get children(){var Fe=l("text");return j(Fe,()=>`\u25C2 ${Bo[Dt[U()]??"opencode"]} (${Dt[U()]??"opencode"}) \u25B8`),L((Te)=>o(Fe,"fg",g.text.accent,Te)),Fe}}),z(ie,{get when(){return v()==="enum"},get children(){var Fe=l("text");return j(Fe,()=>`\u25C2 ${q()[me()]??""} \u25B8`),L((Te)=>o(Fe,"fg",g.text.accent,Te)),Fe}})]}}),null),L((Fe)=>{var Te=Y()?g.select.focusedBg:void 0,bn=Y()?g.text.accent:g.text.secondary;return Te!==Fe.e&&(Fe.e=o(Ne,"backgroundColor",Te,Fe.e)),bn!==Fe.t&&(Fe.t=o(ft,"fg",bn,Fe.t)),Fe},{e:void 0,t:void 0}),Ne})()}})),L((ae)=>o(Z,"height",pe(),ae)),Z})()]}}),null),j(k,z(ie,{get when(){return!!h()},get children(){var Z=l("box"),ae=l("text");return f(Z,ae),o(Z,"height",1),j(ae,h),L((ce)=>o(ae,"fg",m()==="error"?g.text.error:m()==="success"?g.text.success:g.text.accent,ce)),Z}}),null),o(Ie,"width","100%"),o(Ie,"height",1),o(Ie,"flexDirection","row"),o(Ie,"gap",2),j(Ie,z(ie,{get when(){return!M()},get children(){return[(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("j/k")),f(ce,B(":nav")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("g/G")),f(ce,B(":top/bot")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Enter")),f(ce,B(":edit")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("e")),f(ce,B(":$EDITOR")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("r")),f(ce,B(":reload")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("i")),f(ce,B(":init")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})()]}}),null),j(Ie,z(ie,{get when(){return M()},get children(){return[(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Enter")),f(ce,B(":save")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),(()=>{var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Esc")),f(ce,B(":cancel")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z})(),z(ie,{get when(){return v()==="boolean"},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Space/Tab")),f(ce,B(":toggle")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),z(ie,{get when(){return v()==="theme"},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Tab/\u2190\u2192")),f(ce,B(":cycle")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),z(ie,{get when(){return v()==="enum"},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Tab/\u2190\u2192")),f(ce,B(":cycle")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),z(ie,{get when(){return v()==="strArray"},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("JSON")),f(ce,B(":array")),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),z(ie,{get when(){return We(()=>v()==="string"||v()==="strArray")()&&q().length>0},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B("Tab")),j(ce,()=>`:preset (${he()+1}/${q().length})`),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}}),z(ie,{get when(){return v()==="enum"},get children(){var Z=l("box"),ae=l("text"),ce=l("text");return f(Z,ae),f(Z,ce),o(Z,"flexDirection","row"),f(ae,B(" ")),j(ce,()=>`(${me()+1}/${q().length})`),L((Y)=>{var Pe=g.text.secondary,$e=g.text.primary;return Pe!==Y.e&&(Y.e=o(ae,"fg",Pe,Y.e)),$e!==Y.t&&(Y.t=o(ce,"fg",$e,Y.t)),Y},{e:void 0,t:void 0}),Z}})]}}),null),L((Z)=>{var ae=g.bg.base,ce=g.bg.surface,Y=g.text.accent,Pe=g.text.secondary,$e=g.text.primary,Ve=g.bg.base;return ae!==Z.e&&(Z.e=o(x,"backgroundColor",ae,Z.e)),ce!==Z.t&&(Z.t=o(k,"backgroundColor",ce,Z.t)),Y!==Z.a&&(Z.a=o(C,"fg",Y,Z.a)),Pe!==Z.o&&(Z.o=o(xe,"fg",Pe,Z.o)),$e!==Z.i&&(Z.i=o(le,"fg",$e,Z.i)),Ve!==Z.n&&(Z.n=o(Ie,"backgroundColor",Ve,Z.n)),Z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),x})()}var tp=2,np=30,ps,wn="[]",zo,qo,gs,Xo,rp,op,ip,sp,cp,ap,lp;var kl=we(()=>{te();te();te();te();te();te();te();te();Ue();Jt();Ye();te();bt();ps=["~/.copse/worktrees/{repo}-{branch}","~/.copse/worktree/{repo}-{branch}","../{repo}-{branch}","~/code/worktrees/{repo}/{branch}"],zo=[wn,'[".env"]','[".env", ".env.local"]','[".env", ".env.local", ".env.development"]'],qo=[wn,'["node_modules"]','["node_modules", ".next"]','["node_modules", ".cache"]'],gs=[wn,'["bun install"]','["pnpm install"]','["npm install"]','["yarn"]','["pnpm install", "pnpm build"]'],Xo=[wn,'["echo removed"]'],rp=[wn,'["apps/*"]','["apps/*/*"]','["packages/*"]','["apps/*", "packages/*"]'],op=["apps/*","apps/*/*","packages/*","apps/web","apps/api"],ip=[wn,'["cd {packagePath} && pnpm install"]','["cd {packagePath} && bun install"]','["cd {packagePath} && npm install"]','["cd {packagePath} && pnpm install && pnpm build"]'],sp=["cop","wt"],cp=["hardlink","symlink","copy"],ap=[wn,'["node_modules"]','["node_modules", ".next"]'],lp=[wn,'["package.json"]','["package.json", "bun.lockb"]','["package.json", "pnpm-lock.yaml"]']});import{existsSync as Er,readdirSync as dp,rmSync as hp}from"fs";import{basename as ws,dirname as bs,join as mp,resolve as Rr}from"path";function pp(e){let t=Bun.env.HOME??"~";return e.replace(/^~(?=\/|$)/,t)}function Ol(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Fl(e){if(!Er(yt()))return[];let t=e.find((a)=>a.isMain);if(!t)return[];let n=De(),r=Rr(t.path),i=ws(r);return[n.repos?.find((a)=>Rr(a.path)===r)?.worktreeDir??n.defaults?.worktreeDir].filter((a)=>typeof a==="string").map((a)=>pp(a)).filter((a)=>!bs(a).includes("{")&&ws(a).includes("{")).map((a)=>{let d=ws(a),h=`^${Ol(d).replace(/\\\{repo\\\}/g,Ol(i)).replace(/\\\{branch\\\}/g,".+")}$`,p=new RegExp(h);return{path:Rr(bs(a)),matches:(m)=>p.test(m)}})}function Dl(e){let t=new Set;for(let n of e)if(!n.isMain)t.add(Rr(bs(n.path)));return[...t]}function Ml(e,t,n,r){if(!Er(e))return;let i=dp(e,{withFileTypes:!0});for(let s of i){if(!s.isDirectory())continue;if(r&&!r(s.name))continue;let c=Rr(mp(e,s.name));if(!t.has(c))n.add(c)}}function Al(e){let t=new Set(e.map((i)=>Rr(i.path))),n=new Set,r=new Set;for(let i of Fl(e))r.add(i.path),Ml(i.path,t,n,i.matches);for(let i of Dl(e)){if(r.has(i))continue;Ml(i,t,n)}return[...n]}function gp(e){return Fl(e).some((t)=>Er(t.path))||Dl(e).some((t)=>Er(t))}async function xp(){let e=Bun.spawn(["git","--version"],{stdout:"pipe",stderr:"pipe",env:{...Bun.env,LC_ALL:"C",LANG:"C"}}),[t,n]=await Promise.all([new Response(e.stdout).text(),e.exited]);if(n!==0)return null;return t.trim().match(/git version (\d+\.\d+(?:\.\d+)?)/)?.[1]??null}async function wp(){try{return await se.checkVersion(),{name:"Git version",status:"pass",message:`${await xp()??"unknown"} (>= 2.17 required)`}}catch(t){if(t instanceof Zr)return{name:"Git version",status:"fail",message:t.message};return{name:"Git version",status:"fail",message:`Check failed: ${t.message}`}}}async function bp(){try{let n=(De().repos??[]).map((r)=>r.path).filter((r)=>!Er(r));if(n.length>0)return{name:"Configuration",status:"warn",message:"missing repository paths",detail:n};return{name:"Configuration",status:"pass",message:"valid"}}catch(t){return{name:"Configuration",status:"fail",message:`Check failed: ${t.message}`}}}function vp(e){let n=e.map((r)=>r.path).filter((r)=>!Er(r));if(n.length>0)return{name:"Stale worktrees",status:"warn",message:"missing worktree paths",detail:n};return{name:"Stale worktrees",status:"pass",message:"none"}}function yp(e){try{let n=Al(e);if(n.length===0)return{name:"Orphaned directories",status:"pass",message:gp(e)?"none":"no worktree directory"};return{name:"Orphaned directories",status:"warn",message:"orphaned worktree directories found",detail:n}}catch(n){return{name:"Orphaned directories",status:"fail",message:`Check failed: ${n.message}`}}}function $p(e){let n=e.filter((i)=>i.isLocked);if(n.length===0)return{name:"Worktree locks",status:"pass",message:"all clear"};return{name:"Worktree locks",status:"warn",message:"locked worktrees present",detail:n.map((i)=>{let s=i.branch??"detached";if(!i.lockReason)return`${s} - ${i.path} (potential stale lock: no reason)`;return`${s} - ${i.path} (reason: ${i.lockReason})`})}}function Pp(e){let n=e.filter((r)=>r.isDirty&&!r.isMain);if(n.length===0)return{name:"Dirty worktrees",status:"pass",message:"none"};return{name:"Dirty worktrees",status:"warn",message:"dirty non-main worktrees found",detail:n.map((r)=>`${r.branch??"detached"} - ${r.path}`)}}async function kr(e){let t=await se.list(e).catch(()=>[]),n=[await wp(),await bp(),vp(t),yp(t),$p(t),Pp(t)];return{checks:n,healthy:n.every((r)=>r.status==="pass")}}async function Cp(e){try{return await se.prune(e),{action:"Prune stale worktrees",success:!0}}catch(t){return{action:"Prune stale worktrees",success:!1,detail:t.message}}}async function Sp(e){let t=[];try{let n=Al(await se.list(e).catch(()=>[]));for(let r of n)try{hp(r,{recursive:!0,force:!0}),t.push({action:"Remove orphaned directory",success:!0,detail:r})}catch(i){t.push({action:"Remove orphaned directory",success:!1,detail:`${r}: ${i.message}`})}}catch(n){t.push({action:"Remove orphaned directories",success:!1,detail:n.message})}return t}async function Rp(e){let t=[];try{let r=(await se.list(e)).filter((i)=>i.isLocked&&!i.lockReason);for(let i of r)try{await se.unlock(i.path,e),t.push({action:"Unlock stale lock",success:!0,detail:`${i.branch??"detached"} - ${i.path}`})}catch(s){t.push({action:"Unlock stale lock",success:!1,detail:`${i.path}: ${s.message}`})}}catch(n){t.push({action:"Fix stale locks",success:!1,detail:n.message})}return t}async function Yo(e){let t=[];return t.push(await Cp(e)),t.push(...await Sp(e)),t.push(...await Rp(e)),t}var vs=we(()=>{Ye();je();zt()});function Wl(){let e=ot(),t=nt(),[n,r]=ue(null),[i,s]=ue(!0),[c,a]=ue(""),[d,h]=ue(!1),[p,m]=ue([]),w=async()=>{s(!0),a(""),m([]);try{let T=await kr();r(T)}catch(T){a(T.message)}s(!1)},A=async()=>{if(n()?.healthy)return;h(!0);try{let T=await Yo();m(T);let K=await kr();r(K)}catch(T){a(T.message)}h(!1)};w(),rt((T)=>{if(e.activeTab()!=="doctor")return;if(e.showCommandPalette())return;let K=T.name;if(K==="r")w();if(K==="f"&&!i()&&!d()&&!n()?.healthy)A()});let D=()=>t().width,b=()=>t().height,S=()=>Math.max(50,Math.min(80,D()-4)),M=()=>{let T=P()+G()+8+(G()>0?2:0);return Math.max(12,Math.min(T,b()-4))},F=()=>Math.max(S()-4,10),v=(T)=>{if(T==="pass")return"\u2713";if(T==="warn")return"\u26A0";return"\u2717"},y=(T)=>{if(T==="pass")return g.text.success;if(T==="warn")return g.text.warning;return g.text.error},P=()=>n()?.checks.length??0,G=()=>p().length;return z(rn,{get width(){return S()},get height(){return M()},get borderColor(){return We(()=>!!n()?.healthy)()?g.text.success:We(()=>!!n())()?g.text.warning:g.border.default},get backgroundColor(){return g.bg.surface},title:" Doctor ",get footer(){return[(()=>{var T=l("box"),K=l("text");return f(T,K),o(T,"height",1),j(K,()=>"\u2500".repeat(Math.max(F(),1))),L((X)=>{var H=F(),U=g.border.subtle;return H!==X.e&&(X.e=o(T,"width",H,X.e)),U!==X.t&&(X.t=o(K,"fg",U,X.t)),X},{e:void 0,t:void 0}),T})(),(()=>{var T=l("box"),K=l("text"),X=l("text");return f(T,K),f(T,X),o(T,"flexDirection","row"),o(T,"gap",2),f(K,B("r:recheck")),j(T,z(ie,{get when(){return!n()?.healthy},get children(){var H=l("text");return f(H,B("f:fix")),L((U)=>o(H,"fg",g.text.secondary,U)),H}}),X),f(X,B("Esc:back")),L((H)=>{var U=g.text.secondary,J=g.text.secondary;return U!==H.e&&(H.e=o(K,"fg",U,H.e)),J!==H.t&&(H.t=o(X,"fg",J,H.t)),H},{e:void 0,t:void 0}),T})()]},get children(){return[z(ie,{get when(){return i()},get children(){return z(wr,{label:"Running checks..."})}}),z(ie,{get when(){return d()},get children(){var T=l("text");return f(T,B("Running auto-fix...")),L((K)=>o(T,"fg",g.text.accent,K)),T}}),z(ie,{get when(){return We(()=>!i()&&!d())()&&!!c()},get children(){var T=l("text"),K=B("Error: ");return f(T,K),j(T,c,null),L((X)=>o(T,"fg",g.text.error,X)),T}}),z(ie,{get when(){return We(()=>!i()&&!d()&&!c())()&&!!n()},get children(){return[(()=>{var T=l("text");return f(T,B("Health Checks")),L((K)=>o(T,"fg",g.text.accent,K)),T})(),(()=>{var T=l("text");return j(T,()=>"\u2500".repeat(F())),L((K)=>o(T,"fg",g.border.subtle,K)),T})(),z(et,{get each(){return n().checks},children:(T)=>{return(()=>{var K=l("box"),X=l("text"),H=l("text"),U=B(":"),J=l("text");return f(K,X),f(K,H),f(K,J),o(K,"width","100%"),o(K,"height",1),o(K,"flexDirection","row"),j(X,()=>v(T.status)),f(H,U),o(H,"x",2),o(H,"y",0),j(H,()=>T.name,U),o(J,"y",0),j(J,()=>T.message),L((q)=>{var re=y(T.status),he=g.text.primary,_=T.name.length+4,me=g.text.secondary;return re!==q.e&&(q.e=o(X,"fg",re,q.e)),he!==q.t&&(q.t=o(H,"fg",he,q.t)),_!==q.a&&(q.a=o(J,"x",_,q.a)),me!==q.o&&(q.o=o(J,"fg",me,q.o)),q},{e:void 0,t:void 0,a:void 0,o:void 0}),K})()}}),(()=>{var T=l("text");return j(T,()=>"\u2500".repeat(F())),L((K)=>o(T,"fg",g.border.subtle,K)),T})(),(()=>{var T=l("text");return j(T,(()=>{var K=We(()=>!!n().healthy);return()=>K()?"\u2713 All checks passed":`${n().checks.filter((X)=>X.status==="fail").length} error(s), ${n().checks.filter((X)=>X.status==="warn").length} warning(s) found`})()),L((K)=>o(T,"fg",n().healthy?g.text.success:g.text.warning,K)),T})(),z(ie,{get when(){return G()>0},get children(){return[(()=>{var T=l("text");return f(T,B("Fix Results")),L((K)=>o(T,"fg",g.text.accent,K)),T})(),(()=>{var T=l("text");return j(T,()=>"\u2500".repeat(F())),L((K)=>o(T,"fg",g.border.subtle,K)),T})(),z(et,{get each(){return p()},children:(T)=>{return(()=>{var K=l("box"),X=l("text"),H=l("text");return f(K,X),f(K,H),o(K,"width","100%"),o(K,"height",1),o(K,"flexDirection","row"),j(X,()=>T.success?"\u2713":"\u2717"),o(H,"x",2),o(H,"y",0),j(H,()=>T.action),j(K,z(ie,{get when(){return!!T.detail},get children(){var U=l("text"),J=B("("),q=B(")");return f(U,J),f(U,q),o(U,"y",0),j(U,()=>T.detail,q),L((re)=>{var he=T.action.length+3,_=g.text.secondary;return he!==re.e&&(re.e=o(U,"x",he,re.e)),_!==re.t&&(re.t=o(U,"fg",_,re.t)),re},{e:void 0,t:void 0}),U}}),null),L((U)=>{var J=T.success?g.text.success:g.text.error,q=g.text.primary;return J!==U.e&&(U.e=o(X,"fg",J,U.e)),q!==U.t&&(U.t=o(H,"fg",q,U.t)),U},{e:void 0,t:void 0}),K})()}})]}})]}})]}})}var Il=we(()=>{te();te();te();te();te();te();te();te();Ue();Jt();vs();te();bt();Sr();Go()});var Nl={};qe(Nl,{writePin:()=>$s,removePin:()=>Ps,readPin:()=>ro,listPinnedWorktrees:()=>Cs,isPinned:()=>Wn});import{readFileSync as Tl,writeFileSync as Ep,unlinkSync as kp,mkdirSync as Op,existsSync as ys}from"fs";import{join as Mp,dirname as Bl}from"path";function no(e){return tn(e,"cop-pin")}function Fp(e){let t=no(e),n=Bl(t),r=Mp(n,"HEAD"),i=Tl(r,"utf-8").trim(),s=i.match(/^ref:\s+refs\/heads\/(.+)$/);return s?s[1]:i}function $s(e,t){let n=no(e),r={branch:Fp(e),pinnedAt:new Date().toISOString(),...t?{reason:t}:{}};Op(Bl(n),{recursive:!0}),Ep(n,JSON.stringify(r),{encoding:"utf-8",mode:384})}function ro(e){let t=no(e);if(!ys(t))return null;return JSON.parse(Tl(t,"utf-8"))}function Ps(e){let t=no(e);if(!ys(t))return;kp(t)}function Wn(e){return ys(no(e))}function Cs(e){return e.filter((t)=>Wn(t.path))}var Or=we(()=>{Mn()});function jl(){let e=ot(),t=mt(),n=()=>t.worktrees()??[],r=()=>e.selectedWorktreeIndex(),i=(p)=>{let m=Math.max(0,Math.min(p,Math.max(n().length-1,0))),w=n()[m];e.setSelectedWorktreeIndex(m),e.setSelectedWorktreePath(w?.path??null)},s=He(()=>{let p=n(),m=[],w=new Map;for(let b of p){let S=w.get(b.repoName);if(S)S.push(b);else w.set(b.repoName,[b])}let A=0,D=!0;for(let[b,S]of w){if(!D)m.push({type:"separator"});D=!1,m.push({type:"header",repoName:b});for(let M of S)m.push({type:"worktree",wt:M,flatIdx:A}),A++}return m}),c=()=>e.selectedWorktrees().size;rt((p)=>{if(e.activeTab()!=="list")return;if(e.showCommandPalette())return;if(e.showRemove())return;if(e.showBulkActions())return;if(e.inputFocused())return;let m=p.name,w=n();if(m==="j"||m==="down")i(Math.min(r()+1,w.length-1));if(m==="k"||m==="up")i(Math.max(r()-1,0));if(m==="space"){let A=r(),D=w[A];if(D&&!D.isMain)e.toggleWorktreeSelection(D.path)}if(p.ctrl&&m==="a")e.selectAllNonMain(w.filter((A)=>!A.isMain).map((A)=>A.path))});let a=(p)=>{if(p.isLocked)return"\uD83D\uDD12";if(p.isDirty)return"\u25CF";return"\u2713"},d=(p)=>{if(p.isLocked)return g.text.warning;if(p.isDirty)return g.text.error;return g.text.success},h=(p,m)=>{let w=p.branch??"(detached)",A=Math.max(8,Ss-(m?9:7));return w.length>A?w.slice(0,A-1)+"\u2026":w};return(()=>{var p=l("box");return o(p,"x",0),o(p,"y",0),o(p,"width","100%"),o(p,"height","100%"),o(p,"flexDirection","column"),o(p,"paddingX",1),o(p,"paddingY",1),o(p,"gap",0),j(p,z(ie,{get when(){return t.loading()},get children(){var m=l("text");return f(m,B("Loading...")),L((w)=>o(m,"fg",g.text.secondary,w)),m}}),null),j(p,z(ie,{get when(){return!t.loading()},get children(){return[z(et,{get each(){return s()},children:(m)=>{if(m.type==="header")return(()=>{var b=l("box"),S=l("text"),M=l("b");return f(b,S),o(b,"width","100%"),o(b,"height",1),f(S,M),j(M,()=>m.repoName),L((F)=>o(S,"fg",g.text.accent,F)),b})();if(m.type==="separator")return(()=>{var b=l("box"),S=l("text");return f(b,S),o(b,"width","100%"),o(b,"height",1),f(S,B("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),L((M)=>o(S,"fg",g.border.subtle,M)),b})();let w=m.wt,A=()=>m.flatIdx===r(),D=()=>e.selectedWorktrees().has(w.path);return(()=>{var b=l("box"),S=l("text"),M=l("text");return f(b,S),f(b,M),o(b,"width","100%"),o(b,"height",1),o(b,"paddingX",1),o(b,"onMouseDown",()=>i(m.flatIdx)),o(S,"x",0),o(S,"y",0),j(S,()=>a(w)),o(M,"x",2),o(M,"y",0),j(M,()=>h(w,!1)),j(b,z(ie,{get when(){return D()},get children(){var F=l("text");return f(F,B("\u2713")),o(F,"x",23),o(F,"y",0),L((v)=>o(F,"fg",g.text.accent,v)),F}}),null),j(b,z(ie,{get when(){return!!Kt(w.path)},get children(){var F=l("text");return f(F,B("S")),o(F,"y",0),L((v)=>{var y=Ss-(D()?3:1),P=g.text.accent;return y!==v.e&&(v.e=o(F,"x",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),F}}),null),j(b,z(ie,{get when(){return Wn(w.path)},get children(){var F=l("text");return f(F,B("P")),o(F,"y",0),L((v)=>{var y=Ss-(D()?5:3)+(Kt(w.path)?0:2),P=g.text.warning;return y!==v.e&&(v.e=o(F,"x",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),F}}),null),L((F)=>{var v=A()?g.select.focusedBg:D()?g.bg.elevated:g.bg.surface,y=d(w),P=A()?g.tab.active:g.text.primary;return v!==F.e&&(F.e=o(b,"backgroundColor",v,F.e)),y!==F.t&&(F.t=o(S,"fg",y,F.t)),P!==F.a&&(F.a=o(M,"fg",P,F.a)),F},{e:void 0,t:void 0,a:void 0}),b})()}}),z(ie,{get when(){return c()>0},get children(){var m=l("box"),w=l("text");return f(m,w),o(m,"width","100%"),o(m,"height",1),j(w,()=>`Selected: ${c()}`),L((A)=>o(w,"fg",g.text.accent,A)),m}})]}}),null),L((m)=>o(p,"backgroundColor",g.bg.surface,m)),p})()}var Ss=24;var Ll=we(()=>{te();te();te();te();te();te();te();Ue();Jt();un();te();bt();Or();Dn()});import{decodePasteBytes as Dp}from"@opentui/core";function Vl(){let e=ot(),t=mt(),n=nt(),[r,i]=ue(""),[s,c]=ue(0);an(()=>{e.setInputFocused(!0)}),it(()=>{e.setInputFocused(!1)});let a=()=>{let M=t.worktrees()??[],F=e.selectedWorktreePath();if(F){let v=M.find((y)=>y.path===F);if(v)return v}return M[e.selectedWorktreeIndex()]},d=()=>{let M=process.env.VISUAL||process.env.EDITOR;if(M)return M;let F=["code","cursor","vim","nvim","zed","subl","idea","webstorm"];for(let v of F)try{if(Bun.spawnSync(["which",v],{stdout:"pipe",stderr:"pipe"}).exitCode===0)return v}catch{}return null},h=He(()=>[{id:"add",label:"Add Worktree",description:"Create a new git worktree",action:()=>{e.setActiveTab("add"),e.setShowCommandPalette(!1)}},{id:"delete",label:"Delete Worktree",description:"Remove the selected worktree",action:()=>{let M=a();if(!M||M.isMain)return;e.setShowRemove(!0),e.setShowCommandPalette(!1)}},{id:"open-editor",label:"Open in Editor",description:"Open selected worktree in IDE",action:()=>{let M=a();if(!M)return;let F=d();if(!F)return;e.setShowCommandPalette(!1),Bun.spawn([F,M.path],{stdout:"inherit",stderr:"inherit"})}},{id:"refresh",label:"Refresh",description:"Reload worktree list",action:()=>{t.refetch(),e.setShowCommandPalette(!1)}},{id:"config",label:"Open Config",description:"View configuration",action:()=>{e.setActiveTab("config"),e.setShowCommandPalette(!1)}},{id:"doctor",label:"Run Doctor",description:"Check worktree health",action:()=>{e.setActiveTab("doctor"),e.setShowCommandPalette(!1)}},...Dt.map((M)=>({id:`theme:${M}`,label:`Theme: ${Bo[M]}`,description:"Switch color theme",action:()=>{mr(M);try{let F=yt(),v={...De()};v.theme=M,Qn(F,JSON.stringify(v,null,2))}catch{}e.setShowCommandPalette(!1)}})),{id:"quit",label:"Quit",description:"Exit copse",action:()=>process.exit(0)}]),p=He(()=>{let M=r().toLowerCase();if(!M)return h();return h().filter((F)=>F.label.toLowerCase().includes(M)||F.description.toLowerCase().includes(M))});rt((M)=>{if(!e.showCommandPalette())return;let F=M.name;if(F==="escape"){e.setInputFocused(!1),e.setShowCommandPalette(!1),i(""),c(0);return}if(F==="return"||F==="enter"){let v=p()[s()];if(v)v.action();i(""),c(0);return}if(F==="down"||F==="j"){c((v)=>Math.min(v+1,p().length-1));return}if(F==="up"||F==="k"){c((v)=>Math.max(v-1,0));return}}),hr((M)=>{if(!e.inputFocused())return;let F=Dp(M.bytes).replace(/\r?\n/g,"");if(!F)return;i((v)=>v+F),c(0)});let m=(M)=>{i(M),c(0)},w=()=>Math.max(50,Math.min(80,n().width-4)),A=()=>Math.max(10,Math.min(p().length+8,n().height-4)),D=()=>w()-4,b=()=>Math.max(D()-2,1),S=()=>A()-8;return z(rn,{get width(){return w()},get height(){return A()},get borderColor(){return g.border.active},get backgroundColor(){return g.bg.surface},title:" Command Palette ",get footer(){return[(()=>{var M=l("box"),F=l("text");return f(M,F),o(M,"height",1),j(F,()=>"\u2500".repeat(Math.max(D(),1))),L((v)=>{var y=D(),P=g.border.subtle;return y!==v.e&&(v.e=o(M,"width",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),M})(),(()=>{var M=l("box"),F=l("text"),v=l("text"),y=l("text");return f(M,F),f(M,v),f(M,y),o(M,"flexDirection","row"),o(M,"gap",2),f(F,B("\u2191\u2193:navigate")),f(v,B("Enter:run")),f(y,B("Esc:close")),L((P)=>{var G=g.text.secondary,T=g.text.secondary,K=g.text.secondary;return G!==P.e&&(P.e=o(F,"fg",G,P.e)),T!==P.t&&(P.t=o(v,"fg",T,P.t)),K!==P.a&&(P.a=o(y,"fg",K,P.a)),P},{e:void 0,t:void 0,a:void 0}),M})()]},get children(){return[(()=>{var M=l("box"),F=l("text"),v=l("input");return f(M,F),f(M,v),o(M,"height",1),o(M,"flexDirection","row"),f(F,B("> ")),o(v,"onInput",m),o(v,"placeholder","Search commands..."),o(v,"focused",!0),L((y)=>{var P=D(),G=g.bg.elevated,T=g.text.accent,K=r(),X=b(),H=g.bg.elevated,U=g.text.primary,J=g.text.secondary,q=g.text.accent,re=g.bg.elevated;return P!==y.e&&(y.e=o(M,"width",P,y.e)),G!==y.t&&(y.t=o(M,"backgroundColor",G,y.t)),T!==y.a&&(y.a=o(F,"fg",T,y.a)),K!==y.o&&(y.o=o(v,"value",K,y.o)),X!==y.i&&(y.i=o(v,"width",X,y.i)),H!==y.n&&(y.n=o(v,"backgroundColor",H,y.n)),U!==y.s&&(y.s=o(v,"textColor",U,y.s)),J!==y.h&&(y.h=o(v,"placeholderColor",J,y.h)),q!==y.r&&(y.r=o(v,"cursorColor",q,y.r)),re!==y.d&&(y.d=o(v,"focusedBackgroundColor",re,y.d)),y},{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}),M})(),(()=>{var M=l("box"),F=l("text");return f(M,F),o(M,"height",1),j(F,()=>"\u2500".repeat(Math.max(D(),1))),L((v)=>{var y=D(),P=g.border.subtle;return y!==v.e&&(v.e=o(M,"width",y,v.e)),P!==v.t&&(v.t=o(F,"fg",P,v.t)),v},{e:void 0,t:void 0}),M})(),(()=>{var M=l("box");return o(M,"flexDirection","column"),j(M,z(et,{get each(){return p().slice(0,S())},children:(F,v)=>{let y=()=>v()===s();return(()=>{var P=l("box"),G=l("text"),T=l("text");return f(P,G),f(P,T),o(P,"height",1),o(P,"onMouseDown",()=>{c(v()),F.action()}),o(G,"x",2),o(G,"y",0),j(G,()=>F.label),o(T,"y",0),j(T,()=>F.description),L((K)=>{var X=D(),H=y()?g.select.focusedBg:g.bg.surface,U=y()?g.tab.active:g.text.primary,J=Math.max(25,F.label.length+4),q=g.text.secondary;return X!==K.e&&(K.e=o(P,"width",X,K.e)),H!==K.t&&(K.t=o(P,"backgroundColor",H,K.t)),U!==K.a&&(K.a=o(G,"fg",U,K.a)),J!==K.o&&(K.o=o(T,"x",J,K.o)),q!==K.i&&(K.i=o(T,"fg",q,K.i)),K},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),P})()}}),null),j(M,z(ie,{get when(){return p().length===0},get children(){var F=l("box"),v=l("text");return f(F,v),o(F,"height",1),f(v,B("No commands found")),o(v,"x",2),o(v,"y",0),L((y)=>o(v,"fg",g.text.secondary,y)),F}}),null),L((F)=>{var v=D(),y=S(),P=g.bg.surface;return v!==F.e&&(F.e=o(M,"width",v,F.e)),y!==F.t&&(F.t=o(M,"height",y,F.t)),P!==F.a&&(F.a=o(M,"backgroundColor",P,F.a)),F},{e:void 0,t:void 0,a:void 0}),M})()]}})}var Kl=we(()=>{te();te();te();te();te();te();te();Ue();Jt();un();te();bt();Sr();Ye()});import{join as Ap}from"path";import{existsSync as Wp}from"fs";function Gl(e){let t=ot(),n=nn(),[r,i]=ue(0),s=()=>t.focusPickerData(),c=He(()=>{let p=s();if(!p)return[];return[...p.focusPaths.map((m)=>({label:m,value:m})),{label:"Worktree root",value:Rs}]}),a=()=>{t.setFocusPickerData(null),i(0)},d=(p)=>{let m=e.detectEditor();if(!m){n.addToast({message:"No editor detected. Set $VISUAL or $EDITOR.",type:"error"}),a();return}if(!Wp(p)){n.addToast({message:`Path does not exist: ${p}`,type:"error"}),a();return}Bun.spawn([m,p],{stdout:"inherit",stderr:"inherit"}),a()},h=()=>{let p=s(),m=c();if(!p||m.length===0)return;let w=m[r()];if(!w)return;if(w.value===Rs)d(p.worktreePath);else d(Ap(p.worktreePath,w.value))};return rt((p)=>{if(!s())return;let m=p.name;if(m==="escape"){a();return}let w=c();if(m==="down"||m==="j"||p.sequence==="\x1B[B"){i((A)=>Math.min(A+1,w.length-1));return}if(m==="up"||m==="k"||p.sequence==="\x1B[A"){i((A)=>Math.max(A-1,0));return}if(m==="return"||m==="enter"){h();return}}),z(ie,{get when(){return s()},get children(){return z(rn,{title:" Open Focus ",width:50,get height(){return Math.min(c().length+6,14)},backdrop:!0,get children(){return[(()=>{var p=l("box"),m=l("text");return f(p,m),o(p,"height",1),f(m,B("Multiple focus paths set. Pick one to open:")),L((w)=>o(m,"fg",g.text.secondary,w)),p})(),(()=>{var p=l("box");return o(p,"height",1),p})(),z(et,{get each(){return c()},children:(p,m)=>(()=>{var w=l("box"),A=l("text");return f(w,A),o(w,"height",1),o(w,"flexDirection","row"),j(A,()=>m()===r()?"\u276F ":" ",null),j(A,()=>p.label,null),L((D)=>o(A,"fg",m()===r()?g.text.accent:p.value===Rs?g.text.secondary:g.text.primary,D)),w})()}),(()=>{var p=l("box");return o(p,"height",1),p})(),(()=>{var p=l("box"),m=l("text");return f(p,m),o(p,"height",1),f(m,B("j/k:nav enter:open esc:cancel")),L((w)=>o(m,"fg",g.text.secondary,w)),p})()]}})}})}var Rs="__root__";var Hl=we(()=>{te();te();te();te();te();te();te();te();Ue();te();Jt();tr();bt();Sr()});function Ip(e){if(e==="success")return"\u2713";if(e==="warning")return"\u26A0";if(e==="error")return"\u2717";return"\u2139"}function Tp(e){if(e==="success")return g.text.success;if(e==="warning")return g.text.warning;if(e==="error")return g.text.error;return g.text.primary}function Ul(){let e=nt(),t=()=>Math.min(60,Math.max(24,e().width-4)),n=()=>Math.max(0,e().width-t()-1);return(()=>{var r=l("box");return o(r,"y",1),o(r,"height",5),o(r,"flexDirection","column"),j(r,z(et,{get each(){return nn().toasts()},children:(i,s)=>(()=>{var c=l("box"),a=l("text");return f(c,a),o(c,"x",0),o(c,"height",1),o(a,"x",1),o(a,"y",0),j(a,()=>`${Ip(i.type)} ${i.message}`),L((d)=>{var h=s(),p=t(),m=g.bg.elevated,w=Tp(i.type);return h!==d.e&&(d.e=o(c,"y",h,d.e)),p!==d.t&&(d.t=o(c,"width",p,d.t)),m!==d.a&&(d.a=o(c,"backgroundColor",m,d.a)),w!==d.o&&(d.o=o(a,"fg",w,d.o)),d},{e:void 0,t:void 0,a:void 0,o:void 0}),c})()})),L((i)=>{var s=n(),c=t();return s!==i.e&&(i.e=o(r,"x",s,i.e)),c!==i.t&&(i.t=o(r,"width",c,i.t)),i},{e:void 0,t:void 0}),r})()}var Jl=we(()=>{te();te();te();te();te();te();Ue();te();tr();bt()});var Xl={};qe(Xl,{launchTUI:()=>Lp});import{existsSync as Bp}from"fs";import{resolve as zl}from"path";function ql(){let e=["code","cursor","vim","nvim","zed","subl","idea","webstorm"];for(let t of e)try{if(Bun.spawnSync(["which",t],{stdout:"pipe",stderr:"pipe"}).exitCode===0)return t}catch{}return null}function jp(e){let t=ot(),n=mt(),r=nn(),i=fn(),[s,c]=ue(!1),a=nt(),d=()=>{let S=n.worktrees()??[],M=t.selectedWorktreePath();if(M){let F=S.find((v)=>v.path===M);if(F)return F}return S[t.selectedWorktreeIndex()]};Mt(()=>{let S=n.worktrees()??[],M=S.map((P)=>P.path);if(t.pruneSelectedWorktrees(M),S.length===0){if(t.selectedWorktreeIndex()!==0)t.setSelectedWorktreeIndex(0);if(t.selectedWorktreePath()!==null)t.setSelectedWorktreePath(null);return}let F=t.selectedWorktreePath();if(F){let P=S.findIndex((G)=>G.path===F);if(P>=0){if(P!==t.selectedWorktreeIndex())t.setSelectedWorktreeIndex(P);return}}let v=Math.min(t.selectedWorktreeIndex(),S.length-1),y=S[v]?.path??null;if(v!==t.selectedWorktreeIndex())t.setSelectedWorktreeIndex(v);if(y!==t.selectedWorktreePath())t.setSelectedWorktreePath(y)}),rt((S)=>{let M=S.name;if(M==="escape"){if(t.focusPickerData()){t.setFocusPickerData(null);return}if(t.showBulkActions()){t.setShowBulkActions(!1);return}if(t.showDetailView()){t.setShowDetailView(!1);return}if(t.showRemove()){t.setShowRemove(!1);return}if(s()){c(!1);return}if(t.inputFocused())return;if(t.activeTab()!=="list"){t.setActiveTab("list");return}}if(S.ctrl&&M==="p"){t.setShowCommandPalette(!0);return}if(t.focusPickerData())return;if(t.inputFocused())return;if(t.showCommandPalette())return;if(t.showBulkActions())return;if(t.showRemove())return;if(t.activeTab()==="add")return;if(t.activeTab()==="list"){if(t.showDetailView())return;if(M==="a"){t.setActiveTab("add");return}if(M==="r"){n.refetch();return}if(M==="d"){let F=d();if(F&&!F.isMain)t.setShowRemove(!0);return}if(M==="o"){let F=d();if(!F)return;let v=jo(F.path);if(v.kind==="multiple"){t.setFocusPickerData({worktreePath:F.path,focusPaths:v.focusPaths});return}let y=process.env.VISUAL||process.env.EDITOR||ql();if(!y){r.addToast({message:"No editor detected. Set $VISUAL or $EDITOR.",type:"error"});return}if(!Bp(v.path)){r.addToast({message:`Path does not exist: ${v.path}`,type:"error"});return}Bun.spawn([y,v.path],{stdout:"inherit",stderr:"inherit"});return}}if(M==="h"){t.setActiveTab("doctor");return}if(M==="q"||M==="Q")i.destroy();if(M==="?")c((F)=>!F)});let h=()=>a().width,p=()=>a().height,m=()=>e.repoPath.split("/").pop()??"",w=()=>{let S=n.repoNames();if(S.length<=1)return m();return`${S.length} repos`},A=()=>{let S=n.worktrees()??[];return`${m()} \xB7 ${S.length} worktrees`},D=()=>{return` Worktrees (${(n.worktrees()??[]).length}) `},b=()=>h()-Np-1;return(()=>{var S=l("box"),M=l("box"),F=l("text"),v=l("text"),y=l("box"),P=l("box"),G=l("box"),T=l("text"),K=l("b"),X=l("box"),H=l("box"),U=l("toaster"),J=l("box"),q=l("text"),re=l("box"),he=l("text");return f(S,M),f(S,y),f(S,U),f(S,J),f(S,re),o(S,"flexDirection","column"),f(M,F),f(M,v),o(M,"height",1),f(F,B("\uD83C\uDF33 copse")),o(F,"x",1),o(F,"y",0),o(v,"y",0),j(v,w),f(y,P),f(y,X),f(y,H),o(y,"flexGrow",1),o(y,"flexDirection","row"),f(P,G),o(P,"width",28),o(P,"flexShrink",0),o(P,"flexDirection","column"),f(G,T),o(G,"height",1),o(G,"paddingX",1),f(T,K),j(K,D),j(P,z(jl,{}),null),o(X,"width",1),o(H,"flexGrow",1),j(H,z(ie,{get when(){return We(()=>t.activeTab()!=="config"&&!t.showRemove())()&&!t.showBulkActions()},get children(){return z(hl,{})}}),null),j(H,z(ie,{get when(){return We(()=>t.activeTab()==="list")()&&t.showBulkActions()},get children(){return z(Sl,{get w(){return b()},get h(){return p()-3}})}}),null),j(H,z(ie,{get when(){return t.activeTab()==="config"},get children(){return z(El,{})}}),null),j(S,z(Ul,{}),U),o(U,"position","bottom-right"),f(J,q),o(J,"height",1),o(q,"x",0),o(q,"y",0),j(q,()=>"\u2500".repeat(h())),f(re,he),o(re,"height",1),f(he,B("d:delete a:add o:open r:refresh ^P:cmd h:health q:quit")),o(he,"x",1),o(he,"y",0),j(S,z(ie,{get when(){return We(()=>!!s())()&&!t.showCommandPalette()},get children(){var _=l("box"),me=l("box"),Ee=l("text"),R=l("text"),O=l("box"),V=l("text"),N=l("text"),I=l("box"),ee=l("text"),de=l("text"),ne=l("box"),ge=l("text"),Se=l("text"),pe=l("box"),ve=l("text"),Me=l("text"),Re=l("box"),W=l("box"),u=l("text"),x=l("text"),k=l("box"),E=l("text"),C=l("text"),Q=l("box"),oe=l("box"),xe=l("text");return f(_,me),f(_,O),f(_,I),f(_,ne),f(_,pe),f(_,Re),f(_,W),f(_,k),f(_,Q),f(_,oe),o(_,"height",14),o(_,"border",!0),o(_,"borderStyle","rounded"),o(_,"title"," Keyboard Shortcuts "),o(_,"titleAlignment","left"),o(_,"flexDirection","column"),o(_,"paddingX",1),o(_,"paddingY",1),o(_,"position","absolute"),f(me,Ee),f(me,R),o(me,"height",1),f(Ee,B("q")),o(Ee,"x",1),f(R,B("Quit")),o(R,"x",8),f(O,V),f(O,N),o(O,"height",1),f(V,B("j/k")),o(V,"x",1),f(N,B("Navigate list")),o(N,"x",8),f(I,ee),f(I,de),o(I,"height",1),f(ee,B("a")),o(ee,"x",1),f(de,B("Add worktree")),o(de,"x",8),f(ne,ge),f(ne,Se),o(ne,"height",1),f(ge,B("d")),o(ge,"x",1),f(Se,B("Delete worktree")),o(Se,"x",8),f(pe,ve),f(pe,Me),o(pe,"height",1),f(ve,B("r")),o(ve,"x",1),f(Me,B("Refresh list")),o(Me,"x",8),o(Re,"height",1),f(W,u),f(W,x),o(W,"height",1),f(u,B("Ctrl+P")),o(u,"x",1),f(x,B("Command palette")),o(x,"x",8),f(k,E),f(k,C),o(k,"height",1),f(E,B("?")),o(E,"x",1),f(C,B("Toggle help")),o(C,"x",8),o(Q,"height",1),f(oe,xe),o(oe,"height",1),f(xe,B("Press ? to close")),o(xe,"x",1),L((le)=>{var Ie=Math.max(0,Math.floor((h()-Math.max(40,Math.min(60,h()-4)))/2)),Z=Math.max(0,Math.floor((p()-14)/2)),ae=Math.max(40,Math.min(60,h()-4)),ce=g.border.active,Y=g.bg.elevated,Pe=g.text.secondary,$e=g.text.primary,Ve=g.text.secondary,Ne=g.text.primary,ze=g.text.secondary,ft=g.text.primary,Fe=g.text.secondary,Te=g.text.primary,bn=g.text.secondary,Dr=g.text.primary,Ar=g.text.secondary,Wr=g.text.primary,Ir=g.text.secondary,Is=g.text.primary,Ts=g.text.accent;return Ie!==le.e&&(le.e=o(_,"x",Ie,le.e)),Z!==le.t&&(le.t=o(_,"y",Z,le.t)),ae!==le.a&&(le.a=o(_,"width",ae,le.a)),ce!==le.o&&(le.o=o(_,"borderColor",ce,le.o)),Y!==le.i&&(le.i=o(_,"backgroundColor",Y,le.i)),Pe!==le.n&&(le.n=o(Ee,"fg",Pe,le.n)),$e!==le.s&&(le.s=o(R,"fg",$e,le.s)),Ve!==le.h&&(le.h=o(V,"fg",Ve,le.h)),Ne!==le.r&&(le.r=o(N,"fg",Ne,le.r)),ze!==le.d&&(le.d=o(ee,"fg",ze,le.d)),ft!==le.l&&(le.l=o(de,"fg",ft,le.l)),Fe!==le.u&&(le.u=o(ge,"fg",Fe,le.u)),Te!==le.c&&(le.c=o(Se,"fg",Te,le.c)),bn!==le.w&&(le.w=o(ve,"fg",bn,le.w)),Dr!==le.m&&(le.m=o(Me,"fg",Dr,le.m)),Ar!==le.f&&(le.f=o(u,"fg",Ar,le.f)),Wr!==le.y&&(le.y=o(x,"fg",Wr,le.y)),Ir!==le.g&&(le.g=o(E,"fg",Ir,le.g)),Is!==le.p&&(le.p=o(C,"fg",Is,le.p)),Ts!==le.b&&(le.b=o(xe,"fg",Ts,le.b)),le},{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,f:void 0,y:void 0,g:void 0,p:void 0,b:void 0}),_}}),null),j(S,z(ie,{get when(){return t.activeTab()==="add"},get children(){return z(yl,{})}}),null),j(S,z(ie,{get when(){return t.activeTab()==="doctor"},get children(){return z(Wl,{})}}),null),j(S,z(ie,{get when(){return t.showRemove()},get children(){return z(Pl,{})}}),null),j(S,z(ie,{get when(){return t.showCommandPalette()},get children(){return z(Vl,{})}}),null),j(S,z(Gl,{detectEditor:()=>process.env.VISUAL||process.env.EDITOR||ql()}),null),L((_)=>{var me=h(),Ee=p(),R=g.bg.base,O=g.bg.overlay,V=g.text.accent,N=h()-w().length-2,I=g.text.secondary,ee=g.bg.surface,de=g.text.accent,ne=g.bg.base,ge=g.bg.overlay,Se=g.border.subtle,pe=g.bg.overlay,ve=g.text.secondary;return me!==_.e&&(_.e=o(S,"width",me,_.e)),Ee!==_.t&&(_.t=o(S,"height",Ee,_.t)),R!==_.a&&(_.a=o(S,"backgroundColor",R,_.a)),O!==_.o&&(_.o=o(M,"backgroundColor",O,_.o)),V!==_.i&&(_.i=o(F,"fg",V,_.i)),N!==_.n&&(_.n=o(v,"x",N,_.n)),I!==_.s&&(_.s=o(v,"fg",I,_.s)),ee!==_.h&&(_.h=o(P,"backgroundColor",ee,_.h)),de!==_.r&&(_.r=o(T,"fg",de,_.r)),ne!==_.d&&(_.d=o(H,"backgroundColor",ne,_.d)),ge!==_.l&&(_.l=o(J,"backgroundColor",ge,_.l)),Se!==_.u&&(_.u=o(q,"fg",Se,_.u)),pe!==_.c&&(_.c=o(re,"backgroundColor",pe,_.c)),ve!==_.w&&(_.w=o(he,"fg",ve,_.w)),_},{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}),S})()}async function Lp(){if(process.stdout.isTTY)process.stdout.write("\x1B]0;Copse\x07");let e=null;try{e=await se.getMainRepoPath()}catch{}let t=[],n;try{let c={...De()};if(t=Rn(c),typeof c.theme==="string")n=c.theme}catch{}let r=e??t[0]??process.cwd(),i=[r],s=new Set([zl(r)]);for(let c of t){let a=zl(c);if(!s.has(a))s.add(a),i.push(c)}if(n&&Dt.includes(n))mr(n);await Ha(()=>z(tl,{repoPath:r,repoPaths:i,get children(){return z(ol,{repoPaths:i,get children(){return z(ll,{get children(){return z(jp,{repoPath:r})}})}})}}),{exitOnCtrlC:!0,useMouse:!0})}var Np=28;var Yl=we(()=>{te();te();te();te();te();te();te();te();Ue();te();Jt();un();je();ml();$l();Cl();Rl();kl();Il();Ll();bt();Kl();Hl();tr();Jl();tr();Ye();Xt()});import*as Zl from"readline";async function In(e){let t=Zl.createInterface({input:process.stdin,output:process.stdout});return new Promise((n)=>{t.question(e,(r)=>{t.close(),n(r.toLowerCase()==="y"||r.toLowerCase()==="yes")})})}async function Le(){return se.getMainRepoPath().catch(()=>process.cwd())}function Gt(e,t){let n=e.find((r)=>r.branch===t||r.path===t||r.path.endsWith("/"+t));if(!n)console.error(`Error: no worktree found for '${t}'`),process.exit(1);return n}function Qe(e){if(e instanceof Ft)console.error(`Git error: ${e.message}`);else console.error(`Error: ${e.message}`);process.exit(1)}var gt=we(()=>{je();zt()});import{mkdirSync as Vp,writeFileSync as Kp}from"fs";import{dirname as Gp}from"path";function Hp(e){return tn(e,"cop-pr")}function Ql(e,t){let n=Hp(e);Vp(Gp(n),{recursive:!0}),Kp(n,JSON.stringify(t),{encoding:"utf-8",mode:384})}var _l=we(()=>{Mn()});import{appendFileSync as Up,existsSync as Jp,mkdirSync as zp,readFileSync as ef,rmSync as qp,statSync as Xp,writeFileSync as Yp}from"fs";import{dirname as Zp}from"path";function Es(e){return tn(e,"cop-activity.log")}function Ht(e,t){let n=Es(e);zp(Zp(n),{recursive:!0}),Up(n,`${JSON.stringify(t)}
17
+ `,{encoding:"utf-8",mode:384});let r=Xp(n,{throwIfNoEntry:!1});if(r&&r.size>_p){let i=ef(n,"utf-8").split(/\r?\n/).filter(Boolean);if(i.length>tf){let s=i.slice(-Qp);Yp(n,`${s.join(`
18
+ `)}
19
+ `,{encoding:"utf-8",mode:384})}}}function nf(e,t){let n=Es(e),r=t?.limit??50;if(!Jp(n))return[];let s=ef(n,"utf-8").split(/\r?\n/).filter(Boolean),c=Math.max(0,s.length-r),a=[];for(let d=s.length-1;d>=c;d--)try{a.push(JSON.parse(s[d]))}catch{}return a}function rf(e){qp(Es(e),{force:!0})}var tf=1000,Qp=500,_p;var Tn=we(()=>{Mn();_p=80*tf});var of={};qe(of,{default:()=>og});import{basename as eg,resolve as tg}from"path";import{existsSync as ng}from"fs";var rg,og;var sf=we(()=>{je();zt();Ye();gt();gn();Jo();Ho();Xt();_l();Tn();ms();Dn();rg={command:"add [branch] [path]",describe:"Create a new worktree for a branch",builder:(e)=>e.positional("branch",{type:"string",describe:"Branch name"}).positional("path",{type:"string",describe:"Worktree directory path"}).option("create",{type:"boolean",alias:"c",describe:"Optional compatibility flag; missing branches are created automatically"}).option("base",{type:"string",alias:"b",describe:"Base branch/commit for new branch"}).option("focus",{type:"array",alias:"f",describe:"Focus packages for monorepo (comma or space separated paths)",string:!0}).option("template",{type:"string",alias:"t",describe:"Use a named template from config"}).option("pr",{type:"number",describe:"Create worktree from a GitHub PR number (requires gh CLI)"}).option("session",{type:"boolean",alias:"s",describe:"Create a tmux session for this worktree"}).option("layout",{type:"string",describe:"Session layout name from config"}),handler:async(e)=>{let{branch:t,pr:n}=e,r=await Le(),i=eg(r);if(!t&&!n)console.error("Error: specify a branch or use --pr <number>."),process.exit(1);if(n)try{let D=Bun.spawn(["gh","pr","view",String(n),"--json","headRefName","--jq",".headRefName"],{cwd:r,stdout:"pipe",stderr:"pipe"}),[b,S,M]=await Promise.all([new Response(D.stdout).text(),new Response(D.stderr).text(),D.exited]);if(M!==0)console.error(`Error: failed to resolve PR #${n}: ${S.trim()}`),console.error("Make sure 'gh' CLI is installed and authenticated."),process.exit(1);if(t=b.trim(),!t)console.error(`Error: PR #${n} has no branch name`),process.exit(1);console.log(`PR #${n} \u2192 branch '${t}'`)}catch{console.error("Error: 'gh' CLI not found. Install it from https://cli.github.com"),process.exit(1)}if(!t)console.error("Error: could not determine branch name."),process.exit(1);let s=t.replace(/\//g,"-"),c=De(),a=wt(c,r),d=e.template;if(d){let D=yo(c,d);if(!D){let b=Object.keys(c.templates??{});if(console.error(`Error: template '${d}' not found.`),b.length>0)console.error(`Available templates: ${b.join(", ")}`);else console.error("No templates configured. Add templates to your config file.");process.exit(1)}if(a=$o(a,D),D.base&&!e.base)e.base=D.base;console.log(`Using template '${d}'`)}let h=e.path??a.worktreeDir,p=vo(h,{repo:i,branch:s}),m=tg(r,p);console.log(`Creating worktree for branch '${t}'...`),console.log(` Target: ${m}`);let A=(await se.list(r)).find((D)=>D.branch===t);if(A)console.error(`Error: branch '${t}' is already checked out in ${A.path}`),process.exit(1);if(ng(m))console.error(`Error: directory already exists: ${m}`),process.exit(1);try{await se.add(t,m,{createBranch:Boolean(e.create),base:e.base},r),console.log(" \u2713 Worktree created");try{Ht(r,{timestamp:new Date().toISOString(),event:"create",branch:t,path:m})}catch{}if(n)Ql(m,{number:n,branch:t,createdAt:new Date().toISOString()}),console.log(` \u2713 PR #${n} metadata saved`)}catch(D){if(D instanceof Ft)console.error(`Error creating worktree: ${D.stderr||D.message}`);else console.error(`Error: ${D.message}`);process.exit(1)}if(a.autoUpstream)try{let D=await se.getDefaultRemote(r);if(await se.remoteBranchExists(t,D,r))await se.setUpstream(t,D,r),console.log(` \u2713 Upstream tracking set \u2192 ${D}/${t}`);else console.log(" \u2139 No remote branch found \u2014 upstream tracking skipped")}catch(D){console.warn(` \u26A0 Could not set upstream tracking: ${D.message}`)}try{if(a.copyFiles.length>0){console.log(` Copying files: ${a.copyFiles.join(", ")}`);let v=vr(r,m,a.copyFiles);for(let y of v.warnings)console.log(` \u26A0 ${y}`);if(v.copied.length>0)console.log(` \u2713 Copied: ${v.copied.join(", ")}`)}if(a.linkFiles.length>0){console.log(` Linking files: ${a.linkFiles.join(", ")}`);let v=yr(r,m,a.linkFiles);for(let y of v.warnings)console.log(` \u26A0 ${y}`);if(v.linked.length>0)console.log(` \u2713 Linked: ${v.linked.join(", ")}`)}if(a.sharedDeps&&a.sharedDeps.paths&&a.sharedDeps.paths.length>0){let v=a.sharedDeps.strategy??"symlink";console.log(` Sharing dependencies (${v}): ${a.sharedDeps.paths.join(", ")}`);let y=bl(r,m,a.sharedDeps);for(let P of y.warnings)console.log(` \u26A0 ${P}`);if(y.linked.length>0)console.log(` \u2713 Shared (${v}): ${y.linked.join(", ")}`);if(y.copied.length>0)console.log(` \u2713 Copied: ${y.copied.join(", ")}`)}let D={COP_BRANCH:t,COP_WORKTREE_PATH:m,COP_REPO_PATH:r},b=e.focus,S=[];if(b&&b.length>0)S=b.flatMap((v)=>v.split(/[,\s]+/)).map((v)=>v.trim()).filter(Boolean);if(S.length>0){let{valid:v,invalid:y}=Uo(m,S);if(y.length>0)console.log(` \u26A0 Focus paths not found (will be skipped): ${y.join(", ")}`);if(v.length>0)pr(m,v),console.log(` \u2713 Focus set: ${v.join(", ")}`);D.COP_FOCUS_PATHS=v.join(",")}if(a.postCreate.length>0)console.log(" Running postCreate hooks..."),await pt(a.postCreate,{cwd:m,env:D,onOutput:(v)=>console.log(` ${v}`)}),console.log(" \u2713 Hooks completed");if(S.length>0&&a.monorepo?.hooks&&a.monorepo.hooks.length>0){let v=nr(a.monorepo.hooks,S);if(v.length>0)console.log(" Running monorepo hooks..."),await Cr(v,"postCreate",{cwd:m,env:D,repo:i,branch:t,focusPaths:S,mainRepoPath:r,onOutput:(y)=>console.log(` ${y}`)}),console.log(" \u2713 Monorepo hooks completed")}let M=En(c);if(e.session||M.autoCreate)if(await xr()){let y=e.layout??M.defaultLayout,P=Po(c,y),G=await Vo(t,m,{layout:P,prefix:M.prefix,attach:!1,layoutName:y});console.log(` \u2713 Session created: ${G}`)}else console.log(" \u26A0 tmux not found \u2014 session skipped");console.log(`
20
+ Worktree ready: ${m}`),process.exit(0)}catch(D){console.error(`
21
+ Setup failed, rolling back...`);try{await se.remove(m,{force:!0},r),console.error("Rolled back worktree.")}catch(b){console.error(`Warning: rollback failed: ${b.message}`)}if(D instanceof Pr)console.error(`Error: hook timed out: ${D.command}`);else if(D instanceof $r){if(console.error(`Error: hook failed (exit ${D.exitCode}): ${D.command}`),D.stderr)console.error(D.stderr)}else console.error(`Error: ${D.message}`);process.exit(1)}}},og=rg});var cf={};qe(cf,{default:()=>cg});import{relative as ig,resolve as ks}from"path";var sg,cg;var af=we(()=>{je();zt();Ye();Xt();gt();sg={command:"list",aliases:["ls"],describe:"List all worktrees with their status",builder:(e)=>e.option("json",{type:"boolean",alias:"j",describe:"Output as JSON"}).option("porcelain",{type:"boolean",alias:"p",describe:"Machine-readable output"}).option("all",{type:"boolean",alias:"a",describe:"List worktrees from all configured repos"}),handler:async(e)=>{try{let t;if(e.all){let c=De(),a=await Le(),d=Rn(c),h=new Set([ks(a)]),p=[a];for(let m of d){let w=ks(m);if(!h.has(w))h.add(w),p.push(m)}t=await se.listAll(p)}else t=await se.list();let n=await Promise.all(t.map(async(c)=>({...c,focus:Vt(c.path)})));if(e.json)console.log(JSON.stringify(n,null,2)),process.exit(0);if(e.porcelain){for(let c of n){if(e.all)console.log(`repo ${c.repoName}`);if(console.log(`path ${c.path}`),console.log(`branch ${c.branch??"(detached)"}`),console.log(`head ${c.head}`),console.log(`dirty ${c.isDirty}`),console.log(`locked ${c.isLocked}`),c.focus&&c.focus.length>0)console.log(`focus ${c.focus.join(",")}`);console.log("")}process.exit(0)}if(t.length===0)console.log("No worktrees found."),process.exit(0);let r=ks(process.cwd()),i=e.all&&new Set(n.map((c)=>c.repoName)).size>1,s=n.map((c)=>({repo:c.repoName,branch:c.branch??"(detached)",path:c.path===r?c.path:ig(r,c.path)||c.path,status:c.isLocked?"locked":c.isDirty?"dirty":"clean",focus:c.focus?c.focus.join(", ").slice(0,40)+(c.focus.join(", ").length>40?"...":""):"\u2014"}));if(i){let c=Math.max(4,...s.map((m)=>m.repo.length)),a=Math.max(6,...s.map((m)=>m.branch.length)),d=Math.max(4,...s.map((m)=>m.path.length)),h=Math.max(6,...s.map((m)=>m.status.length)),p=Math.max(5,...s.map((m)=>m.focus.length));console.log(`${"Repo".padEnd(c)} ${"Branch".padEnd(a)} ${"Path".padEnd(d)} ${"Status".padEnd(h)} ${"Focus".padEnd(p)}`),console.log(`${"-".repeat(c)} ${"-".repeat(a)} ${"-".repeat(d)} ${"-".repeat(h)} ${"-".repeat(p)}`);for(let m of s)console.log(`${m.repo.padEnd(c)} ${m.branch.padEnd(a)} ${m.path.padEnd(d)} ${m.status.padEnd(h)} ${m.focus.padEnd(p)}`)}else{let c=Math.max(6,...s.map((p)=>p.branch.length)),a=Math.max(4,...s.map((p)=>p.path.length)),d=Math.max(6,...s.map((p)=>p.status.length)),h=Math.max(5,...s.map((p)=>p.focus.length));console.log(`${"Branch".padEnd(c)} ${"Path".padEnd(a)} ${"Status".padEnd(d)} ${"Focus".padEnd(h)}`),console.log(`${"-".repeat(c)} ${"-".repeat(a)} ${"-".repeat(d)} ${"-".repeat(h)}`);for(let p of s)console.log(`${p.branch.padEnd(c)} ${p.path.padEnd(a)} ${p.status.padEnd(d)} ${p.focus.padEnd(h)}`)}process.exit(0)}catch(t){if(t instanceof Ft)if(t.stderr.includes("not a git repository"))console.error("Error: not a git repository (or any of the parent directories): .git"),console.error("Run cop from within a git repository.");else console.error(`Git error: ${t.message}`);else console.error(`Error: ${t.message}`);process.exit(1)}}},cg=sg});var ff={};qe(ff,{default:()=>lg});import{basename as lf}from"path";var ag,lg;var uf=we(()=>{je();Ye();gn();Xt();Jo();Tn();Dn();gt();ag={command:"remove <branch-or-path>",aliases:["rm"],describe:"Remove a worktree",builder:(e)=>e.positional("branch-or-path",{type:"string",demandOption:!0}).option("force",{type:"boolean",alias:"f",describe:"Force removal even with uncommitted changes"}).option("yes",{type:"boolean",alias:"y",describe:"Skip confirmation prompt"}),handler:async(e)=>{let t=e["branch-or-path"],n=!!e.force,r=!!e.yes;try{let i=await Le(),s=await se.list(i),c=Gt(s,t);if(c.isMain)console.error("Error: cannot remove the main worktree"),process.exit(1);if(await se.isDirty(c.path)&&!n)console.error(`Error: worktree has uncommitted changes: ${c.path}`),console.error("Use --force to remove anyway."),process.exit(1);if(c.isLocked){if(console.error(`Error: worktree is locked: ${c.path}`),c.lockReason)console.error(`Lock reason: ${c.lockReason}`);process.exit(1)}if(!r){if(!await In(`Remove worktree '${c.branch??lf(c.path)}' at ${c.path}? [y/N] `))console.log("Cancelled."),process.exit(0)}let d=De(),h=wt(d,i);if(h.postRemove.length>0)console.log("Running postRemove hooks..."),await pt(h.postRemove,{cwd:c.path,env:{COP_BRANCH:c.branch??"",COP_WORKTREE_PATH:c.path,COP_REPO_PATH:i},onOutput:(w)=>console.log(` ${w}`)}).catch((w)=>console.warn(`Warning: postRemove hook failed: ${w.message}`));let p=Vt(c.path)??[];if(p.length>0&&h.monorepo?.hooks&&h.monorepo.hooks.length>0){let w=nr(h.monorepo.hooks,p);if(w.length>0){let A=lf(i),D=c.branch??"unknown";console.log(" Running monorepo postRemove hooks..."),await Cr(w,"postRemove",{cwd:c.path,env:{COP_BRANCH:D,COP_WORKTREE_PATH:c.path,COP_REPO_PATH:i,COP_FOCUS_PATHS:p.join(",")},repo:A,branch:D,focusPaths:p,mainRepoPath:i,onOutput:(b)=>console.log(` ${b}`)}),console.log(" \u2713 Monorepo hooks completed")}}let m=En(d);if(m.autoKill){if(await xr()){let A=c.branch??t;if(await Ko(A,c.path,m.prefix))console.log(" \u2713 Session killed")}}await se.remove(c.path,{force:n},i),console.log(`Removed worktree: ${c.path}`);try{Ht(i,{timestamp:new Date().toISOString(),event:"delete",branch:c.branch??t,path:c.path})}catch{}process.exit(0)}catch(i){Qe(i)}}},lg=ag});var df={};qe(df,{default:()=>dg});import{basename as fg}from"path";var ug,dg;var hf=we(()=>{je();Tn();Ye();Dn();gt();ug={command:"switch <branch-or-path>",aliases:["sw"],describe:"Switch to a worktree directory (outputs cd command for shell eval)",builder:(e)=>e.positional("branch-or-path",{type:"string",demandOption:!0}),handler:async(e)=>{let t=e["branch-or-path"];try{let n=await Le(),r=await se.list(n),i=Gt(r,t);try{Ht(n,{timestamp:new Date().toISOString(),event:"switch",branch:i.branch??t,path:i.path})}catch{}let s=De(),c=En(s);if(c.enabled&&us()){let a=i.branch??fg(i.path),d=Fn(a,c.prefix);if(await hn(d))try{await Lo(d),process.exit(0)}catch{}}console.log(`cd ${JSON.stringify(i.path)}`),process.exit(0)}catch(n){Qe(n)}}},dg=ug});async function mf(e,t,n,r){let i=e.filter((p)=>!p.isMain),s=i.filter((p)=>Wn(p.path)),c=new Set(s.map((p)=>p.path)),a=[];if(t.autoCleanMerged){let p=i.filter((w)=>!c.has(w.path)&&w.branch);a=(await qt(p,10,async(w)=>({wt:w,isMerged:await se.isMergedInto(w.branch,n,r)}))).filter((w)=>w.isMerged&&!w.wt.isDirty).map((w)=>w.wt)}let d=[];if(t.staleAfterDays&&t.staleAfterDays>0){let p=new Date,m=i.filter((A)=>!c.has(A.path));d=(await qt(m,10,async(A)=>{let D=await se.getWorktreeLastActivity(A.path),b=D?Math.floor((p.getTime()-D.getTime())/86400000):1/0;return{wt:A,lastActivity:D,daysSince:b}})).filter((A)=>A.daysSince>=t.staleAfterDays).map((A)=>({worktree:A.wt,lastActivity:A.lastActivity,daysSinceActivity:A.daysSince===1/0?-1:A.daysSince}))}let h=t.maxWorktrees?i.length>t.maxWorktrees:!1;return{merged:a,stale:d,pinProtected:s,overLimit:h,totalCount:i.length,maxWorktrees:t.maxWorktrees??null}}function pf(e){let t=[];if(e.pinProtected.length>0){t.push(`Pin-protected worktrees (${e.pinProtected.length}):`);for(let n of e.pinProtected)t.push(` ${n.branch??"(detached)"} \u2192 ${n.path}`)}if(e.merged.length>0){t.push(`Merged worktrees (${e.merged.length}):`);for(let n of e.merged)t.push(` ${n.branch??"(detached)"} \u2192 ${n.path}`)}if(e.stale.length>0){t.push(`Stale worktrees (${e.stale.length}):`);for(let n of e.stale){let r=n.daysSinceActivity<0?"unknown":`${n.daysSinceActivity} days`;t.push(` ${n.worktree.branch??"(detached)"} \u2014 inactive ${r}`)}}if(e.overLimit)t.push(`Worktree limit exceeded: ${e.totalCount}/${e.maxWorktrees}`);if(t.length===0)t.push("All worktrees are healthy.");return t.join(`
22
+ `)}var gf=we(()=>{je();Or()});var xf={};qe(xf,{default:()=>mg});var hg,mg;var wf=we(()=>{je();Ye();gf();Or();gt();hg={command:"clean",describe:"Remove merged worktrees and prune stale entries",builder:(e)=>e.option("dry-run",{type:"boolean",alias:"n",describe:"Show what would be removed"}).option("yes",{type:"boolean",alias:"y",describe:"Skip confirmation"}).option("stale",{type:"boolean",describe:"Also show stale worktrees (based on lifecycle config)"}),handler:async(e)=>{let t=!!(e["dry-run"]||e.n),n=!!e.yes;try{let r=await Le(),i=await se.list(r),c=(i.find((p)=>p.isMain)??i[0])?.branch??"main",a=i.filter((p)=>{if(p.isMain)return!1;if(Wn(p.path))return console.log(` Skipping (pinned): ${p.branch}`),!1;if(!p.branch)return!1;return!0}),d=await qt(a,10,async(p)=>{let[m,w]=await Promise.all([se.isMergedInto(p.branch,c,r),se.isDirty(p.path)]);return{wt:p,merged:m,dirty:w}}),h=[];for(let{wt:p,merged:m,dirty:w}of d){if(!m)continue;if(w){console.log(` Skipping (dirty): ${p.branch}`);continue}h.push(p)}if(h.length===0)console.log("No merged worktrees to clean.");else{console.log(t?"Would remove:":"To remove:");for(let p of h)console.log(` ${p.branch} (${p.path})`)}if(!t&&h.length>0){if(!n){if(!await In(`
23
+ Remove ${h.length} worktree(s)? [y/N] `))console.log("Cancelled."),process.exit(0)}for(let p of h)await se.remove(p.path,{force:!1},r),console.log(` Removed: ${p.branch}`)}if(!t)await se.prune(r),console.log("Pruned stale worktree entries.");if(e.stale){let p=De();if(p.lifecycle){let m=await mf(i,p.lifecycle,c,r);console.log(),console.log(pf(m))}else console.log(`
24
+ No lifecycle config found. Add 'lifecycle' to your config to enable stale detection.`)}process.exit(0)}catch(r){Qe(r)}}},mg=hg});import{existsSync as pg,mkdirSync as gg,readFileSync as xg,writeFileSync as wg}from"fs";import{dirname as bg}from"path";function bf(){let e=yt();try{return De(e)}catch{if(!pg(e))throw Error("Failed to load config");let t=xg(e,"utf-8");return JSON.parse(t)}}function vf(e){let t=yt(),n=bg(t);gg(n,{recursive:!0,mode:448});let r=`${JSON.stringify(e,null,2)}
25
+ `;try{Qn(t,r)}catch{wg(t,r,{encoding:"utf-8",mode:384})}}function Os(e){return Object.keys(e.profiles??{})}function yf(e){let t=bf();vf({...t,activeProfile:e})}function $f(e){return e.activeProfile??null}function Pf(e){let t=bf(),n={...t.profiles??{}};delete n[e],vf({...t,profiles:n,activeProfile:t.activeProfile===e?void 0:t.activeProfile})}var Cf=we(()=>{Ye()});var Sf={};qe(Sf,{default:()=>Pg});import{spawnSync as vg}from"child_process";import{readFileSync as yg}from"fs";var $g,Pg;var Rf=we(()=>{Ye();Cf();$g={command:"config",describe:"Manage copse configuration",builder:(e)=>e.option("init",{type:"boolean",describe:"Create default config file"}).option("show",{type:"boolean",alias:"s",describe:"Print current config as JSON"}).option("edit",{type:"boolean",alias:"e",describe:"Open config in $EDITOR"}).option("path",{type:"boolean",describe:"Print config file path"}).option("validate",{type:"boolean",describe:"Validate config against schema"}).option("profiles",{type:"boolean",describe:"List config profiles"}).option("profile",{type:"string",describe:"Profile name for activation/deletion"}).option("activate",{type:"boolean",describe:"Activate the specified profile"}).option("delete",{type:"boolean",describe:"Delete the specified profile"}),handler:async(e)=>{let t=yt();if(e.init){let n=jt();console.log(`Config initialized: ${n}`),process.exit(0)}if(e.path)console.log(t),process.exit(0);if(e.show){try{let n=De();console.log(JSON.stringify(n,null,2))}catch(n){console.error(`Error loading config: ${n.message}`),process.exit(1)}process.exit(0)}if(e.edit){let n=process.env.EDITOR??process.env.VISUAL??"vi";jt();let r=vg(n,[t],{stdio:"inherit"});process.exit(r.status??0)}if(e.validate)try{let n=yg(t,"utf-8"),r;try{r=JSON.parse(n)}catch{console.error(`Error: invalid JSON in config file: ${t}`),process.exit(1)}let i=Zn(r);if(i.length===0)console.log(`\u2713 Config is valid: ${t}`),process.exit(0);else{console.error(`Config validation failed (${i.length} error(s)):`);for(let s of i)console.error(` ${s.field}: ${s.message}`);process.exit(1)}}catch(n){console.error(`Error reading config: ${n.message}`),process.exit(1)}if(e.profiles){try{let n=De(),r=Os(n),i=$f(n);for(let s of r)console.log(`${s}${s===i?" \u2605":""}`)}catch(n){console.error(`Error loading config: ${n.message}`),process.exit(1)}process.exit(0)}if(e.profile&&e.activate){try{let n=De(),r=e.profile;if(!Os(n).includes(r))console.error(`Error: profile '${r}' does not exist.`),process.exit(1);yf(r)}catch(n){console.error(`Error loading config: ${n.message}`),process.exit(1)}process.exit(0)}if(e.profile&&e.delete)Pf(e.profile),process.exit(0);console.log("Usage: cop config [options]"),console.log(""),console.log("Options:"),console.log(" --init Create default config file"),console.log(" --show, -s Print current config as JSON"),console.log(" --edit, -e Open config in $EDITOR"),console.log(" --path Print config file path"),console.log(" --validate Validate config against schema"),console.log(" --profiles List config profiles"),console.log(" --profile Profile name for activation/deletion"),console.log(" --activate Activate the specified profile"),console.log(" --delete Delete the specified profile"),console.log(""),console.log(`Config path: ${t}`),process.exit(0)}},Pg=$g});var Ef={};qe(Ef,{default:()=>Sg});var Cg,Sg;var kf=we(()=>{vs();Cg={command:"doctor",describe:"Check worktree health and diagnose issues",builder:(e)=>e.option("json",{type:"boolean",alias:"j",describe:"Output as JSON"}).option("fix",{type:"boolean",describe:"Auto-fix issues (prune stale, remove orphans, unlock stale locks)"}),handler:async(e)=>{let t=process.cwd(),n=await kr(t);if(e.json&&!e.fix){let s={pass:n.checks.filter((c)=>c.status==="pass").length,warn:n.checks.filter((c)=>c.status==="warn").length,fail:n.checks.filter((c)=>c.status==="fail").length};console.log(JSON.stringify({healthy:n.healthy,checks:n.checks,summary:s},null,2)),process.exit(n.healthy?0:1)}console.log(`copse doctor
26
+ `);for(let s of n.checks){let c=s.status==="pass"?"\u2713":s.status==="warn"?"\u26A0":"\u2717";if(console.log(`${c} ${s.name}: ${s.message}`),s.detail)for(let a of s.detail)console.log(` \u2192 ${a}`)}let r=n.checks.filter((s)=>s.status==="warn").length,i=n.checks.filter((s)=>s.status==="fail").length;if(n.healthy)console.log(`
27
+ All checks passed.`);else{let s=[];if(i>0)s.push(`${i} error(s)`);if(r>0)s.push(`${r} warning(s)`);console.log(`
28
+ ${s.join(", ")} found.`)}if(e.fix){if(n.healthy)console.log(`
29
+ Nothing to fix.`),process.exit(0);console.log(`
30
+ Running auto-fix...
31
+ `);let s=await Yo(t);if(s.length===0)console.log("No auto-fixable issues found.");else{for(let h of s){let p=h.success?"\u2713":"\u2717",m=h.detail?` (${h.detail})`:"";console.log(`${p} ${h.action}${m}`)}let a=s.filter((h)=>h.success).length,d=s.filter((h)=>!h.success).length;console.log(`
32
+ Fixed ${a} issue(s)${d>0?`, ${d} failed`:""}.`)}let c=await kr(t);if(c.healthy)console.log("All checks now pass.");process.exit(c.healthy?0:1)}process.exit(n.healthy?0:1)}},Sg=Cg});var Ff={};qe(Ff,{default:()=>Dg});function Rg(e){if(e?.includes("fish"))return"fish";if(e?.includes("bash"))return"bash";return"zsh"}function Of(){return`cop() {
33
+ if [ "$1" = "switch" ] || [ "$1" = "sw" ]; then
34
+ local output
35
+ output=$(command cop "$@" 2>/dev/null)
36
+ local status=$?
37
+ if [ $status -ne 0 ]; then
38
+ command cop "$@"
39
+ return $status
40
+ fi
41
+
42
+ if [[ "$output" == cd\\ * ]]; then
43
+ eval "$output"
44
+ elif [ -n "$output" ]; then
45
+ printf '%s\\n' "$output"
46
+ fi
47
+ else
48
+ command cop "$@"
49
+ fi
50
+ }`}function Mf(){return`function cop
51
+ if test "$argv[1]" = "switch"; or test "$argv[1]" = "sw"
52
+ set output (command cop $argv 2>/dev/null)
53
+ set status_code $status
54
+ if test $status_code -ne 0
55
+ command cop $argv
56
+ return $status_code
57
+ end
58
+
59
+ if string match -q 'cd *' -- $output
60
+ eval $output
61
+ else if test -n "$output"
62
+ printf '%s\\n' $output
63
+ end
64
+ else
65
+ command cop $argv
66
+ end
67
+ end`}function Eg(){return`_cop_completions() {
68
+ local cur="\${COMP_WORDS[COMP_CWORD]}"
69
+ local prev="\${COMP_WORDS[COMP_CWORD-1]}"
70
+ local commands="add list remove switch clean config doctor pin log archive rename clone import exec diff open status shell-init"
71
+
72
+ if [ $COMP_CWORD -eq 1 ]; then
73
+ COMPREPLY=($(compgen -W "$commands" -- "$cur"))
74
+ return
75
+ fi
76
+
77
+ case "$prev" in
78
+ add|switch|rename|pin|archive)
79
+ local branches=$(git branch --format='%(refname:short)' 2>/dev/null)
80
+ COMPREPLY=($(compgen -W "$branches" -- "$cur"))
81
+ ;;
82
+ remove)
83
+ local worktrees=$(git worktree list --porcelain 2>/dev/null | grep '^worktree ' | sed 's/worktree //' | xargs -I{} basename {})
84
+ COMPREPLY=($(compgen -W "$worktrees" -- "$cur"))
85
+ ;;
86
+ *)
87
+ COMPREPLY=()
88
+ ;;
89
+ esac
90
+ }
91
+ complete -F _cop_completions cop`}function kg(){return`_cop() {
92
+ local -a commands
93
+ commands=(
94
+ 'add:Add a new worktree'
95
+ 'list:List worktrees'
96
+ 'remove:Remove a worktree'
97
+ 'switch:Switch to a worktree'
98
+ 'clean:Clean merged/stale worktrees'
99
+ 'config:Manage configuration'
100
+ 'doctor:Health check'
101
+ 'pin:Pin a worktree'
102
+ 'log:Show activity log'
103
+ 'archive:Archive worktree changes'
104
+ 'rename:Rename worktree branch'
105
+ 'clone:Clone and init cop'
106
+ 'import:Adopt a worktree'
107
+ 'exec:Run command in worktrees'
108
+ 'diff:Show diff between worktrees'
109
+ 'open:Open worktree in editor'
110
+ 'status:Show worktree status'
111
+ )
112
+
113
+ if (( CURRENT == 2 )); then
114
+ _describe 'command' commands
115
+ else
116
+ case "\${words[2]}" in
117
+ add|switch|rename|pin|archive)
118
+ local branches=(\${(f)"$(git branch --format='%(refname:short)' 2>/dev/null)"})
119
+ compadd -a branches
120
+ ;;
121
+ remove)
122
+ local worktrees=(\${(f)"$(git worktree list --porcelain 2>/dev/null | grep '^worktree ' | sed 's/worktree //')"})
123
+ compadd -a worktrees
124
+ ;;
125
+ esac
126
+ fi
127
+ }
128
+ compdef _cop cop`}function Og(){return`complete -c cop -f
129
+ complete -c cop -n '__fish_use_subcommand' -a 'add' -d 'Add a new worktree'
130
+ complete -c cop -n '__fish_use_subcommand' -a 'list' -d 'List worktrees'
131
+ complete -c cop -n '__fish_use_subcommand' -a 'remove' -d 'Remove a worktree'
132
+ complete -c cop -n '__fish_use_subcommand' -a 'switch' -d 'Switch to a worktree'
133
+ complete -c cop -n '__fish_use_subcommand' -a 'clean' -d 'Clean worktrees'
134
+ complete -c cop -n '__fish_use_subcommand' -a 'config' -d 'Manage configuration'
135
+ complete -c cop -n '__fish_use_subcommand' -a 'doctor' -d 'Health check'
136
+ complete -c cop -n '__fish_use_subcommand' -a 'pin' -d 'Pin a worktree'
137
+ complete -c cop -n '__fish_use_subcommand' -a 'log' -d 'Activity log'
138
+ complete -c cop -n '__fish_use_subcommand' -a 'archive' -d 'Archive changes'
139
+ complete -c cop -n '__fish_use_subcommand' -a 'rename' -d 'Rename branch'
140
+ complete -c cop -n '__fish_use_subcommand' -a 'clone' -d 'Clone and init'
141
+ complete -c cop -n '__fish_use_subcommand' -a 'import' -d 'Adopt worktree'
142
+ complete -c cop -n '__fish_use_subcommand' -a 'exec' -d 'Run command'
143
+ complete -c cop -n '__fish_use_subcommand' -a 'diff' -d 'Show diff'
144
+ complete -c cop -n '__fish_use_subcommand' -a 'open' -d 'Open in editor'
145
+ complete -c cop -n '__fish_use_subcommand' -a 'status' -d 'Show status'
146
+ complete -c cop -n '__fish_seen_subcommand_from add switch rename pin archive' -a '(git branch --format="%(refname:short)" 2>/dev/null)'`}function Mg(e){switch(e){case"bash":return Eg();case"zsh":return kg();case"fish":return Og()}}var Fg,Dg;var Df=we(()=>{Fg={command:"shell-init [shell]",describe:"Print shell integration code for cop switch",builder:(e)=>e.positional("shell",{type:"string",choices:["bash","zsh","fish"],describe:"Shell to generate integration for (auto-detected if omitted)"}).option("completions",{type:"string",describe:"Generate shell completions (bash, zsh, fish)",coerce:(t)=>t===!0?void 0:t}),handler:async(e)=>{let t="completions"in e,n=e.shell,r=e.completions,i=n??r??Rg(process.env.SHELL);if(t){let s=i==="fish"?Mf():Of(),c=Mg(i);console.log(s+`
147
+ `+c),process.exit(0)}if(i==="fish")console.log(Mf()),process.exit(0);console.log(Of()),process.exit(0)}},Dg=Fg});var Wf={};qe(Wf,{default:()=>Wg});import{resolve as Zo}from"path";function Af(e,t){if(e.length<=t)return e;return e.slice(0,t-3)+"..."}var Ag,Wg;var If=we(()=>{je();zt();Ye();Xt();gt();Ag={command:"status",aliases:["st"],describe:"Show status overview of all worktrees",builder:(e)=>e.option("json",{type:"boolean",alias:"j",describe:"Output as JSON"}).option("all",{type:"boolean",alias:"a",describe:"Show worktrees from all configured repos"}),handler:async(e)=>{try{let t;if(e.all){let a=De(),d=await Le(),h=Rn(a),p=new Set([Zo(d)]),m=[d];for(let w of h){let A=Zo(w);if(!p.has(A))p.add(A),m.push(w)}t=await se.listAll(m)}else t=await se.list();if(t.length===0)console.log("No worktrees found."),process.exit(0);let n=await Promise.all(t.map(async(a)=>{let[d,h,p,m]=await Promise.all([a.branch?se.getAheadBehind(a.branch,a.path):Promise.resolve({ahead:0,behind:0}),se.getLastCommit(a.path),se.getDirtyCount(a.path),Promise.resolve(Vt(a.path))]);return{...a,aheadBehind:d,lastCommit:h,dirtyCount:p,focus:m}}));if(e.json)console.log(JSON.stringify(n,null,2)),process.exit(0);let r=Zo(process.cwd()),i=e.all&&new Set(n.map((a)=>a.repoName)).size>1,s=n.map((a)=>{let h=(Zo(a.path)===r?"* ":" ")+(a.branch??"(detached)"),p;if(a.isLocked)p="locked";else if(a.dirtyCount>0)p=`${a.dirtyCount} dirty`;else p="clean";let m=[];if(a.aheadBehind.ahead>0)m.push(`+${a.aheadBehind.ahead}`);if(a.aheadBehind.behind>0)m.push(`-${a.aheadBehind.behind}`);let w=m.length>0?m.join(" "):"=",A=a.lastCommit?`${a.lastCommit.relativeDate} ${Af(a.lastCommit.message,30)}`:"\u2014",D=a.focus&&a.focus.length>0?Af(a.focus.join(", "),30):"\u2014";return{repo:a.repoName,branch:h,dirty:p,sync:w,lastCommit:A,focus:D}}),c={branch:Math.max(6,...s.map((a)=>a.branch.length)),dirty:Math.max(6,...s.map((a)=>a.dirty.length)),sync:Math.max(4,...s.map((a)=>a.sync.length)),lastCommit:Math.max(11,...s.map((a)=>a.lastCommit.length)),focus:Math.max(5,...s.map((a)=>a.focus.length)),repo:Math.max(4,...s.map((a)=>a.repo.length))};if(i){let a=`${"Repo".padEnd(c.repo)} ${"Branch".padEnd(c.branch)} ${"Status".padEnd(c.dirty)} ${"Sync".padEnd(c.sync)} ${"Last Commit".padEnd(c.lastCommit)} ${"Focus".padEnd(c.focus)}`,d=`${"-".repeat(c.repo)} ${"-".repeat(c.branch)} ${"-".repeat(c.dirty)} ${"-".repeat(c.sync)} ${"-".repeat(c.lastCommit)} ${"-".repeat(c.focus)}`;console.log(a),console.log(d);for(let h of s)console.log(`${h.repo.padEnd(c.repo)} ${h.branch.padEnd(c.branch)} ${h.dirty.padEnd(c.dirty)} ${h.sync.padEnd(c.sync)} ${h.lastCommit.padEnd(c.lastCommit)} ${h.focus.padEnd(c.focus)}`)}else{let a=`${"Branch".padEnd(c.branch)} ${"Status".padEnd(c.dirty)} ${"Sync".padEnd(c.sync)} ${"Last Commit".padEnd(c.lastCommit)} ${"Focus".padEnd(c.focus)}`,d=`${"-".repeat(c.branch)} ${"-".repeat(c.dirty)} ${"-".repeat(c.sync)} ${"-".repeat(c.lastCommit)} ${"-".repeat(c.focus)}`;console.log(a),console.log(d);for(let h of s)console.log(`${h.branch.padEnd(c.branch)} ${h.dirty.padEnd(c.dirty)} ${h.sync.padEnd(c.sync)} ${h.lastCommit.padEnd(c.lastCommit)} ${h.focus.padEnd(c.focus)}`)}process.exit(0)}catch(t){if(t instanceof Ft)if(t.stderr.includes("not a git repository"))console.error("Error: not a git repository (or any of the parent directories): .git"),console.error("Run cop from within a git repository.");else console.error(`Git error: ${t.message}`);else console.error(`Error: ${t.message}`);process.exit(1)}}};Wg=Ag});var Nf={};qe(Nf,{default:()=>Bg});import{existsSync as Tf}from"fs";function Ig(e){if(e)return e;let t=process.env.VISUAL||process.env.EDITOR;if(t)return t;for(let n of Bf)try{if(Bun.spawnSync(["which",n],{stdout:"pipe",stderr:"pipe"}).exitCode===0)return n}catch{continue}return null}var Bf,Tg,Bg;var jf=we(()=>{je();Xt();gt();Bf=["code","cursor","vim","nvim","emacs","nano","subl","zed","idea","webstorm"];Tg={command:"open [branch-or-path]",describe:"Open a worktree in your editor/IDE",builder:(e)=>e.positional("branch-or-path",{type:"string",describe:"Branch name or worktree path (defaults to current worktree)"}).option("editor",{type:"string",alias:"e",describe:"Editor command to use (overrides $VISUAL/$EDITOR)"}).option("focus",{type:"string",alias:"f",describe:"Open a specific focus path (must match an existing focus entry)"}).option("root",{type:"boolean",describe:"Force opening the worktree root, ignoring focus paths",default:!1}).option("list-editors",{type:"boolean",describe:"List detected editors"}),handler:async(e)=>{if(e["list-editors"]){let t=process.env.VISUAL||process.env.EDITOR;if(t)console.log(`$VISUAL/$EDITOR: ${t}`);for(let n of Bf)try{let r=Bun.spawnSync(["which",n],{stdout:"pipe",stderr:"pipe"});if(r.exitCode===0){let i=new TextDecoder().decode(r.stdout).trim();console.log(` ${n}: ${i}`)}}catch{}process.exit(0)}try{let t=e["branch-or-path"],n=e.focus,r=Boolean(e.root),i;if(!t)i=process.cwd();else{let p=await Le(),m=await se.list(p);i=Gt(m,t).path}if(!Tf(i))console.error(`Error: worktree path does not exist: ${i}`),process.exit(1);let s;try{s=jo(i,{explicitFocus:n,forceRoot:r})}catch(p){if(p instanceof No)console.error(`Error: ${p.message}`),process.exit(1);throw p}let c;if(s.kind==="multiple")console.error(`Error: worktree has multiple focus paths set: ${s.focusPaths.join(", ")}`),console.error("Use --focus <path> to pick one, or --root to open the worktree root."),process.exit(1);if(c=s.path,!Tf(c)){if(console.error(`Error: target path does not exist: ${c}`),s.kind==="single")console.error("The focus path may have been deleted. Try --root to open the worktree root.");process.exit(1)}let a=Ig(e.editor);if(!a)console.error("Error: no editor detected."),console.error("Set $VISUAL or $EDITOR, or use --editor <command>."),console.error("Detected editors can be listed with: cop open --list-editors"),process.exit(1);let d=s.kind==="single"?` [focus: ${s.focus}]`:"";console.log(`Opening ${c} with ${a}${d}...`),await Bun.spawn([a,c],{stdout:"inherit",stderr:"inherit",stdin:"inherit"}).exited,process.exit(0)}catch(t){Qe(t)}}},Bg=Tg});var Vf={};qe(Vf,{default:()=>jg});import{resolve as Lf}from"path";var Ng,jg;var Kf=we(()=>{je();Ye();gt();Ng={command:"exec <command>",describe:"Run a command in each worktree",builder:(e)=>e.positional("command",{type:"string",describe:"Shell command to execute",demandOption:!0}).option("all",{type:"boolean",alias:"a",describe:"Run across all configured repos"}).option("dirty",{type:"boolean",describe:"Only run in dirty worktrees"}).option("clean",{type:"boolean",describe:"Only run in clean worktrees"}).option("behind",{type:"boolean",describe:"Only run in worktrees behind upstream"}).option("parallel",{type:"boolean",alias:"p",describe:"Run commands in parallel (default: sequential)"}).option("json",{type:"boolean",alias:"j",describe:"Output results as JSON"}),handler:async(e)=>{let t=e.command,n=!!e.parallel,r=!!e.json;try{let i;if(e.all){let h=De(),p=await Le(),m=Rn(h),w=new Set([Lf(p)]),A=[p];for(let D of m){let b=Lf(D);if(!w.has(b))w.add(b),A.push(D)}i=await se.listAll(A)}else i=await se.list();let s=i.filter((h)=>!h.isMain);if(e.dirty)s=s.filter((h)=>h.isDirty);if(e.clean)s=s.filter((h)=>!h.isDirty);if(e.behind)s=(await qt(s,10,async(p)=>{if(!p.branch)return{wt:p,behind:!1};let m=await se.getAheadBehind(p.branch,p.path);return{wt:p,behind:m.behind>0}})).filter((p)=>p.behind).map((p)=>p.wt);if(s.length===0)console.log("No matching worktrees found."),process.exit(0);if(!r)console.log(`Running '${t}' in ${s.length} worktree(s)...
148
+ `);let c=async(h)=>{let p=Bun.spawn(["sh","-c",t],{cwd:h.path,stdout:"pipe",stderr:"pipe",env:{...Bun.env,COP_BRANCH:h.branch??"",COP_WORKTREE_PATH:h.path,COP_REPO_PATH:h.repoPath}}),[m,w,A]=await Promise.all([new Response(p.stdout).text(),new Response(p.stderr).text(),p.exited]);return{branch:h.branch??"(detached)",path:h.path,exitCode:A,stdout:m.trim(),stderr:w.trim()}},a;if(n)a=await qt(s,10,c);else{a=[];for(let h of s)a.push(await c(h))}if(r)console.log(JSON.stringify(a,null,2));else{for(let m of a){let w=m.exitCode===0?"\u2713":"\u2717";if(console.log(`${w} ${m.branch} (exit ${m.exitCode})`),m.stdout)for(let A of m.stdout.split(`
149
+ `))console.log(` ${A}`);if(m.stderr)for(let A of m.stderr.split(`
150
+ `))console.log(` ${A}`);console.log()}let h=a.filter((m)=>m.exitCode===0).length,p=a.length-h;console.log(`Done: ${h} passed, ${p} failed`)}let d=a.some((h)=>h.exitCode!==0);process.exit(d?1:0)}catch(i){Qe(i)}}},jg=Ng});var Gf={};qe(Gf,{default:()=>Vg});var Lg,Vg;var Hf=we(()=>{je();gt();Lg={command:"diff <ref1> [ref2]",describe:"Show diff between two worktrees or branches",builder:(e)=>e.positional("ref1",{type:"string",describe:"First worktree branch or ref",demandOption:!0}).positional("ref2",{type:"string",describe:"Second worktree branch or ref (default: current HEAD)"}).option("stat",{type:"boolean",alias:"s",describe:"Show diffstat summary only"}).option("name-only",{type:"boolean",alias:"n",describe:"Show only names of changed files"}),handler:async(e)=>{let t=e.ref1,n=e.ref2??"HEAD",r=!!e.stat,i=!!e["name-only"];try{let s=await Le(),c=await se.list(s),a=(m)=>{return c.find((A)=>A.branch===m)?.branch??m},d=a(t),h=a(n),p=await se.diffBetween(d,h,{stat:r,nameOnly:i},s);if(!p)console.log(`No differences between ${t} and ${n==="HEAD"?"current HEAD":n}`);else console.log(p);process.exit(0)}catch(s){Qe(s)}}},Vg=Lg});var Uf={};qe(Uf,{default:()=>Gg});var Kg,Gg;var Jf=we(()=>{je();Or();gt();Kg={command:"pin [branch]",aliases:["unpin"],describe:"Pin or unpin a worktree",builder:(e)=>e.positional("branch",{type:"string",describe:"Branch name"}).option("reason",{type:"string",describe:"Reason for pinning"}).option("list",{type:"boolean",describe:"List pinned worktrees"}).option("json",{type:"boolean",alias:"j",describe:"Output as JSON"}).option("unpin",{type:"boolean",describe:"Unpin instead of pinning"}),handler:async(e)=>{try{let t=e,n=await se.list();if(e.list){let a=Cs(n).map((w)=>({...w,pin:ro(w.path)}));if(e.json)console.log(JSON.stringify(a,null,2)),process.exit(0);if(a.length===0)console.log("No pinned worktrees found."),process.exit(0);let d=Math.max(6,...a.map((w)=>(w.branch??"(detached)").length)),h=Math.max(4,...a.map((w)=>w.path.length)),p=Math.max(6,...a.map((w)=>(w.pin?.reason??"\u2014").length)),m=Math.max(9,...a.map((w)=>(w.pin?.pinnedAt??"\u2014").length));console.log(`${"Branch".padEnd(d)} ${"Path".padEnd(h)} ${"Reason".padEnd(p)} ${"Pinned At".padEnd(m)}`),console.log(`${"-".repeat(d)} ${"-".repeat(h)} ${"-".repeat(p)} ${"-".repeat(m)}`);for(let w of a)console.log(`${(w.branch??"(detached)").padEnd(d)} ${w.path.padEnd(h)} ${(w.pin?.reason??"\u2014").padEnd(p)} ${(w.pin?.pinnedAt??"\u2014").padEnd(m)}`);process.exit(0)}let r=e._[0]==="unpin"||!!e.unpin,i=typeof t.branch==="string"?t.branch:typeof e._[1]==="string"?e._[1]:void 0;if(!i)console.error("Error: branch is required"),process.exit(1);let s=n.find((a)=>a.branch===i);if(!s)console.error(`Error: no worktree found for '${i}'`),process.exit(1);if(r){if(!ro(s.path))console.warn(`Warning: worktree is not pinned: ${s.path}`),process.exit(0);Ps(s.path),console.log(`Unpinned worktree: ${s.path}`),process.exit(0)}if(ro(s.path))console.warn(`Warning: worktree is already pinned: ${s.path}`),process.exit(0);let c=typeof t.reason==="string"?t.reason:void 0;$s(s.path,c),console.log(`Pinned worktree: ${s.path}`),process.exit(0)}catch(t){Qe(t)}}},Gg=Kg});var zf={};qe(zf,{default:()=>Jg});function Hg(e){let t={create:"\x1B[32m",delete:"\x1B[31m",switch:"\x1B[34m",rename:"\x1B[33m",archive:"\x1B[35m",import:"\x1B[36m",reset:"\x1B[0m"};return`${t[e]??t.reset}${e}${t.reset}`}var Ug,Jg;var qf=we(()=>{Tn();gt();Ug={command:"log",aliases:["logs"],describe:"Show worktree activity log",builder:(e)=>e.option("limit",{type:"number",default:20,describe:"Show the last N entries"}).option("json",{type:"boolean",alias:"j",describe:"Output as JSON"}).option("clear",{type:"boolean",describe:"Clear the activity log"}),handler:async(e)=>{try{let t=await Le();if(e.clear){if(!await In("Clear activity log? [y/N] "))console.log("Cancelled."),process.exit(0);rf(t),console.log("Activity log cleared."),process.exit(0)}let n=typeof e.limit==="number"?e.limit:20,r=nf(t,{limit:n});if(e.json)console.log(JSON.stringify(r,null,2)),process.exit(0);for(let i of r){let s=Hg(i.event),c=i.branch??"(unknown)",a=i.details?Object.entries(i.details).map(([d,h])=>`${d}=${h}`).join(" "):"";console.log(`[${i.timestamp}] ${s} ${c}${a?` (${a})`:""}`)}process.exit(0)}catch(t){Qe(t)}}},Jg=Ug});import{existsSync as Zf,mkdirSync as zg,readFileSync as Qf,writeFileSync as Xf}from"fs";import{homedir as qg}from"os";import{basename as Xg,join as Qo}from"path";function Yg(e){let t=eo(e),n=Qo(t,"HEAD");if(!Zf(n))return null;let i=Qf(n,"utf-8").trim().match(/^ref:\s+(.+)$/);if(!i)return null;return i[1]?.replace(/^refs\/heads\//,"")??null}async function Yf(e,t){return se.exec(e,t)}function _f(){let e=Bun.env.HOME??qg();return Qo(e,".copse","archives")}async function eu(e,t){let n=Xg(t),r=await se.getBranchForWorktree(e)??Yg(e)??"detached-head",i=r.replaceAll("/","-"),s=new Date().toISOString(),c=s.replaceAll(":","-"),a=Qo(_f(),n);zg(a,{recursive:!0});let d=Qo(a,`${i}-${c}`),h=`${d}.patch`,p=`${d}.json`;try{let[m,w,A]=await Promise.all([Yf(["diff"],e),Yf(["format-patch","-5","HEAD","--stdout"],e),se.getLastCommit(e)]),D=["# COP archive",`# repo: ${n}`,`# branch: ${r}`,`# archivedAt: ${s}`,"","# Uncommitted diff",m||"# (no uncommitted changes)","","# Recent commits (git format-patch -5 HEAD --stdout)",w||"# (no recent commits)"].join(`
151
+ `);Xf(h,D,"utf-8");let b={branch:r,repo:n,archivedAt:s,patchPath:h,commitHash:A?.hash??"",message:A?.message??""};return Xf(p,JSON.stringify(b,null,2),"utf-8"),b}catch(m){let w=m instanceof Error?m.message:"Unknown archive error";throw new is(`Failed to archive worktree: ${w}`,r,"archive_failed")}}async function tu(e){let t=_f();if(!Zf(t))return[];let n=e?`${e}/*.json`:"**/*.json",r=new Bun.Glob(n),i=[];for await(let s of r.scan({cwd:t,absolute:!0}))try{let c=Qf(s,"utf-8");i.push(JSON.parse(c))}catch{}return i.sort((s,c)=>{let a=Date.parse(s.archivedAt);return Date.parse(c.archivedAt)-a})}var nu=we(()=>{je();zt();Mn()});var ru={};qe(ru,{default:()=>_g});import{basename as Zg}from"path";var Qg,_g;var ou=we(()=>{je();Tn();nu();Ye();gn();gt();Qg={command:"archive [branch]",describe:"Archive worktree changes and optionally remove",builder:(e)=>e.positional("branch",{type:"string",describe:"Branch name or worktree path"}).option("yes",{type:"boolean",alias:"y",describe:"Skip confirmation prompt"}).option("keep",{type:"boolean",describe:"Archive without removing the worktree"}).option("list",{type:"boolean",describe:"List all archives"}).option("json",{type:"boolean",alias:"j",describe:"Output as JSON (with --list)"}),handler:async(e)=>{let t=e.branch,n=!!e.yes,r=!!e.keep,i=!!e.list,s=!!e.json;try{if(i){let m=await tu();if(s)console.log(JSON.stringify(m,null,2));else if(m.length===0)console.log("No archives found.");else{console.log(`Archives:
152
+ `);for(let w of m){let A=new Date(w.archivedAt).toLocaleString();console.log(` ${w.repo}/${w.branch}`),console.log(` Date: ${A}`),console.log(` Commit: ${w.commitHash.slice(0,8)} ${w.message}`),console.log(` Patch: ${w.patchPath}`),console.log()}}process.exit(0)}if(!t)console.error("Error: branch name is required (or use --list to view archives)"),process.exit(1);let c=await Le(),a=await se.list(c),d=Gt(a,t);if(d.isMain)console.error("Error: cannot archive the main worktree"),process.exit(1);let h=r?"Archive":"Archive and remove";if(!n){if(!await In(`${h} worktree '${d.branch??Zg(d.path)}'? [y/N] `))console.log("Cancelled."),process.exit(0)}let p=await eu(d.path,c);console.log(`Archived: ${p.patchPath}`);try{Ht(c,{timestamp:new Date().toISOString(),event:"archive",branch:p.branch,path:p.patchPath})}catch{}if(!r){let m=De(),w=wt(m,c);if(w.postRemove.length>0)console.log("Running postRemove hooks..."),await pt(w.postRemove,{cwd:d.path,env:{COP_BRANCH:d.branch??"",COP_WORKTREE_PATH:d.path,COP_REPO_PATH:c},onOutput:(A)=>console.log(` ${A}`)}).catch((A)=>console.warn(`Warning: postRemove hook failed: ${A.message}`));await se.remove(d.path,{force:!1},c),ht(),console.log(`Removed worktree: ${d.path}`)}process.exit(0)}catch(c){Qe(c)}}},_g=Qg});var iu={};qe(iu,{default:()=>ox});import{dirname as ex,basename as tx,join as nx}from"path";var rx,ox;var su=we(()=>{je();Tn();gt();rx={command:"rename <old> <new>",describe:"Rename worktree branch",builder:(e)=>e.positional("old",{type:"string",demandOption:!0,describe:"Current branch name"}).positional("new",{type:"string",demandOption:!0,describe:"New branch name"}).option("move-path",{type:"boolean",describe:"Also rename the worktree directory path"}),handler:async(e)=>{let{old:t,new:n}=e,r=!!e["move-path"];try{let i=await Le(),s=await se.list(i),c=Gt(s,t);if(c.isMain)console.error("Error: cannot rename the main worktree branch"),process.exit(1);if(s.find((d)=>d.branch===n))console.error(`Error: branch '${n}' already exists`),process.exit(1);if(await se.exec(["branch","-m",t,n],i),ht(),r){let d=n.replace(/\//g,"-"),h=ex(c.path),p=tx(c.path),m=t.replace(/\//g,"-"),w=p.replace(m,d),A=nx(h,w);if(A!==c.path)await se.move(c.path,A,i),ht(),console.log(`Moved worktree: ${c.path} \u2192 ${A}`)}console.log(`Renamed branch: ${t} \u2192 ${n}`);try{Ht(i,{timestamp:new Date().toISOString(),event:"rename",branch:n,details:{oldBranch:t}})}catch{}process.exit(0)}catch(i){Qe(i)}}},ox=rx});var cu={};qe(cu,{default:()=>ax});import{basename as ix,resolve as sx}from"path";var cx,ax;var au=we(()=>{je();zt();Ye();gn();cx={command:"clone <url> [path]",describe:"Clone a repository and initialize cop config",builder:(e)=>e.positional("url",{type:"string",describe:"Repository URL to clone",demandOption:!0}).positional("path",{type:"string",describe:"Target directory path"}).option("template",{type:"string",alias:"t",describe:"Apply a named template after cloning"}).option("init-config",{type:"boolean",describe:"Initialize cop config after cloning",default:!0}),handler:async(e)=>{let{url:t,template:n}=e,r=e["init-config"],i=e.path;if(!i)try{let s=new URL(t);i=ix(s.pathname).replace(/\.git$/,"")}catch{i=(t.split("/").pop()??t.split(":").pop()??t).replace(/\.git$/,"")}if(!i)console.error("Error: could not determine target directory from URL"),process.exit(1);console.log(`Cloning ${t}...`);try{await se.exec(["clone",t,i])}catch(s){if(s instanceof Ft)console.error(`Error: ${s.stderr||s.message}`);else console.error(`Error: ${s.message}`);process.exit(1)}if(r)try{let s=jt();console.log(` \u2713 Config initialized: ${s}`)}catch(s){console.warn(` \u26A0 Could not initialize config: ${s.message}`)}if(n)try{let s=De(),c=yo(s,n);if(!c){let p=Object.keys(s.templates??{});if(console.error(`Error: template '${n}' not found.`),p.length>0)console.error(`Available templates: ${p.join(", ")}`);else console.error("No templates configured. Add templates to your config file.");process.exit(1)}console.log(` Using template '${n}'`);let a=sx(i),d=wt(s,a),h=$o(d,c);if(h.postCreate.length>0)console.log(" Running postCreate hooks..."),await pt(h.postCreate,{cwd:a,env:{COP_REPO_PATH:a},onOutput:(p)=>console.log(` ${p}`)}),console.log(" \u2713 Hooks completed");console.log(` \u2713 Template '${n}' applied`)}catch(s){if(s instanceof Pr)console.error(`Error: hook timed out: ${s.command}`);else if(s instanceof $r){if(console.error(`Error: hook failed (exit ${s.exitCode}): ${s.command}`),s.stderr)console.error(s.stderr)}else console.error(`Error applying template: ${s.message}`);process.exit(1)}console.log(`
153
+ Cloned: ${t} \u2192 ${i}`),process.exit(0)}},ax=cx});import{existsSync as lu,readFileSync as fu,statSync as _o}from"fs";import{basename as lx,join as ei,resolve as Mr}from"path";async function Ms(e,t){return se.exec(e,t)}function fx(e){let t=ei(e,"HEAD");if(!lu(t))return null;let r=fu(t,"utf-8").trim().match(/^ref:\s+refs\/heads\/(.+)$/);return r?r[1]:null}function uu(e){let t=Mr(e),n=ei(t,".git");if(!_o(n,{throwIfNoEntry:!1}))throw Error(`Missing .git at ${n}`);return eo(t)}function Fs(e){let t=Mr(e),n=_o(t,{throwIfNoEntry:!1});if(!n)return{valid:!1,reason:`Path does not exist: ${t}`};if(!n.isDirectory())return{valid:!1,reason:`Path is not a directory: ${t}`};let r=ei(t,".git"),i=_o(r,{throwIfNoEntry:!1});if(!i)return{valid:!1,reason:`Target is missing .git: ${t}`};if(i.isDirectory())return{valid:!1,reason:`Target is not a linked git worktree (.git is a directory): ${t}`};if(!i.isFile())return{valid:!1,reason:`Target has invalid .git entry: ${t}`};let s="";try{s=uu(t)}catch{return{valid:!1,reason:`Cannot resolve gitdir from .git file: ${t}`}}if(!_o(s,{throwIfNoEntry:!1})?.isDirectory())return{valid:!1,reason:`Resolved gitdir does not exist: ${s}`};let a=fx(s);if(!a)return{valid:!1,reason:`Cannot resolve branch name from HEAD: ${t}`};return{valid:!0,branch:a}}async function du(e,t){let n=Mr(e),r=Fs(n);if(!r.valid)throw new Qr(`Cannot import worktree: ${r.reason??"invalid target"}`,n,r.reason??"invalid target");let[i,s,c]=await Promise.all([Ms(["rev-parse","HEAD"],n),Ms(["status","--porcelain"],n),Ms(["rev-parse","--git-common-dir"],n)]),a=Mr(n,c),d=a.endsWith("/.git")||a.endsWith("\\.git")?a.slice(0,-5):a,h=lx(d),p=Mr(n)===Mr(d),m=uu(n),w=ei(m,"locked"),A=lu(w),D=A?fu(w,"utf-8").trim()||void 0:void 0;if(t?.focus&&t.focus.length>0)pr(n,t.focus);if(t?.pin)try{(await Promise.resolve().then(() => (Or(),Nl))).writePin(n)}catch(b){console.warn(`Warning: failed to pin worktree: ${b.message}`)}return{path:n,branch:r.branch??null,head:i,isMain:p,isDirty:s.length>0,isLocked:A,lockReason:D,repoName:h,repoPath:d}}var hu=we(()=>{je();Xt();zt();Mn()});var mu={};qe(mu,{default:()=>hx});import{resolve as ux}from"path";var dx,hx;var pu=we(()=>{hu();je();Tn();zt();gt();dx={command:"import <path>",describe:"Adopt a worktree with cop metadata",builder:(e)=>e.positional("path",{type:"string",describe:"Existing worktree directory path",demandOption:!0}).option("focus",{type:"array",alias:"f",describe:"Focus packages for monorepo (comma or space separated paths)",string:!0}).option("pin",{type:"boolean",describe:"Pin the worktree"}),handler:async(e)=>{let t=ux(e.path),n=Fs(t);if(!n.valid)console.error(`Error: ${n.reason??"invalid import target"}`),process.exit(1);let i=e.focus?.flatMap((c)=>c.split(/[,\s]+/)).map((c)=>c.trim()).filter(Boolean)??[],s=!!e.pin;try{let c=await du(t,{focus:i,pin:s});ht();let a=c.branch??n.branch??"unknown",d=c.repoPath??await Le();console.log(`Imported worktree: ${a} at ${c.path}`);try{Ht(d,{timestamp:new Date().toISOString(),event:"import",branch:c.branch??n.branch??"unknown",path:c.path})}catch{}if(i.length>0)console.log(` Focus: ${i.join(", ")}`);if(s)console.log(" Pinned");process.exit(0)}catch(c){if(c instanceof Qr)console.error(`Error: ${c.reason}`);else console.error(`Error: ${c.message}`);process.exit(1)}}},hx=dx});var gu={};qe(gu,{default:()=>xx});import{basename as ti}from"path";async function px(e,t,n){let[r,i]=await Promise.all([hs(t),se.list(e)]);if(n){let s=r.map((c)=>{let a=i.find((h)=>{let p=h.branch??ti(h.path);return Fn(p,t)===c.name}),d=a?Kt(a.path):null;return{...c,branch:a?.branch??null,worktreePath:a?.path??null,layout:d?.layout??null}});console.log(JSON.stringify(s,null,2));return}if(r.length===0){console.log("No active cop sessions.");return}console.log(`Active sessions (${r.length}):
154
+ `);for(let s of r){let c=i.find((m)=>{let w=m.branch??ti(m.path);return Fn(w,t)===s.name}),a=c?Kt(c.path):null,d=s.attached?" (attached)":"",h=a?.layout?` [${a.layout}]`:"",p=c?.branch?` ${c.branch}`:"";console.log(` ${s.name}${p} ${s.windows} windows${h}${d}`)}}async function gx(e,t){let[n,r]=await Promise.all([hs(t),se.list(e)]);if(n.length===0){console.log("No active cop sessions.");return}let i=0;for(let s of n){let c=r.find((a)=>{let d=Kt(a.path),h=a.branch??ti(a.path);return d?.name===s.name||Fn(h,t)===s.name});if(await ds(s.name),c)fs(c.path);i++,console.log(` \u2713 Killed ${s.name}`)}console.log(`
155
+ Killed ${i} session${i!==1?"s":""}.`)}var mx,xx;var xu=we(()=>{je();Ye();Dn();gt();mx={command:"session [branch-or-path]",aliases:["ss"],describe:"Manage tmux sessions for worktrees",builder:(e)=>e.positional("branch-or-path",{type:"string",describe:"Branch name or worktree path to open session for"}).option("list",{type:"boolean",alias:"l",describe:"List active cop tmux sessions"}).option("kill",{type:"boolean",alias:"k",describe:"Kill the session for the specified worktree"}).option("kill-all",{type:"boolean",describe:"Kill all cop tmux sessions"}).option("layout",{type:"string",describe:"Use a named layout from config"}).option("json",{type:"boolean",alias:"j",describe:"Output in JSON format"}),handler:async(e)=>{let t=e["branch-or-path"],n=!!e.list,r=!!e.kill,i=!!e["kill-all"],s=e.layout,c=!!e.json;if(!await xr())console.error("Error: tmux is not installed or not in PATH."),console.error("Install tmux to use session management."),process.exit(1);try{let a=await Le(),d=De(),h=En(d);if(n)await px(a,h.prefix,c),process.exit(0);if(i)await gx(a,h.prefix),process.exit(0);if(!t)console.error("Error: specify a branch or worktree path, or use --list."),process.exit(1);let p=await se.list(a),m=Gt(p,t),w=m.branch??ti(m.path);if(r){if(await Ko(w,m.path,h.prefix))console.log(`Killed session for '${w}'`);else console.log(`No active session for '${w}'`);process.exit(0)}let A=Po(d,s),D=await Vo(w,m.path,{layout:A,prefix:h.prefix,attach:!0,layoutName:s??h.defaultLayout});console.log(`Session: ${D}`),process.exit(0)}catch(a){Qe(a)}}};xx=mx});import{existsSync as Ds,mkdirSync as wu,writeFileSync as bu}from"fs";import{dirname as vu,join as Fr}from"path";function wx(e){let t=process.env.HOME||process.env.USERPROFILE||"~";switch(e){case"claude-code":return Fr(t,".claude","skills","cop");case"codex":return Fr(t,".agents","skills","cop");case"opencode":return Fr(t,".config","opencode","skill","cop")}}function bx(e){return Fr(wx(e),"SKILL.md")}function $x(e){return["| Flag | Type | Alias | Description |","|------|------|-------|-------------|",...e.length>0?e.map((n)=>`| ${n.flag} | ${n.type} | ${n.alias} | ${n.description} |`):["| - | - | - | No options |"]].join(`
156
+ `)}function Px(){let e=yx.map((n)=>`| \`${n.command}\` | ${n.aliases} | ${n.description} |`),t=yu.map((n)=>`- [\`cop ${n.command}\`](references/${n.command}.md)`);return["---","name: cop",`description: ${vx}`,"metadata:"," author: getsolaris",' version: "1.0.0"',"---","","# copse (cop)","","## Quick Start","","### Create a feature worktree","","```bash","cop add feature/my-feature --base main","```","","### List and check status","","```bash","cop list","cop status","```","","### Clean up merged worktrees","","```bash","cop clean --dry-run","cop clean --yes","```","","### Run commands across worktrees","","```bash",'cop exec "bun test" --parallel',"```","","### Review a GitHub PR","","```bash","cop add pr-review --pr 42","cop open pr-review","```","","### Use templates","","```bash","# Create worktree with predefined template (hooks, base branch, settings)","cop add feature/new --template frontend","```","","### Tmux session management","","```bash","# Create worktree with tmux session","cop add feature/api --session --layout dev","","# List active sessions","cop session --list","","# Attach to existing session","cop session feature/api","```","","### Shell integration setup","","```bash","# Add to ~/.zshrc or ~/.bashrc",'eval "$(cop shell-init)"',"","# Then switch worktrees with cd","cop switch feature/auth","```","","## Command Overview","","| Command | Aliases | Description |","|---------|---------|-------------|",...e,"","## Monorepo Workflows","","Use focus paths to target packages and trigger matching monorepo hooks.","","```bash","cop add feature/web-auth --focus apps/web,apps/api","cop import /path/to/worktree --focus packages/core --pin","cop list --json","```","","Focus accepts comma-separated values, space-separated values, or repeated --focus flags.","","## Configuration","","- Config path: `~/.config/copse/config.json`","- Use `--json` output flags for scripting and automation","- Environment variables in `cop exec`: `COP_BRANCH`, `COP_WORKTREE_PATH`, `COP_REPO_PATH`","","## Command Reference","","For detailed options and examples for each command:","",...t,"- [`Configuration Schema`](references/config-schema.md)",""].join(`
157
+ `)}function Cx(){let e=new Map;for(let n of yu){let r=[`# cop ${n.command}`,"",n.summary,"","## Synopsis","","```",n.synopsis,"```","","## Options","",$x(n.options),"","## Examples","","```bash",`# ${n.examples[0][0]}`,n.examples[0][1],"",`# ${n.examples[1][0]}`,n.examples[1][1],"```","","## Notes","",...n.notes.map((i)=>`- ${i}`),"",...n.configKeys.length>0?["## Configuration","","Related config keys in `~/.config/copse/config.json`:","",...n.configKeys.map((i)=>`- ${i}`),""]:[]];e.set(`${n.command}.md`,r.join(`
158
+ `))}let t=Sx();return e.set("config-schema.md",t),e}function Sx(){return["# Configuration Schema","","Config file path: `~/.config/copse/config.json`","","## Minimal Example","","```json","{",' "version": 1,',' "defaults": {',' "worktreeDir": "~/.copse/worktrees/{repo}-{branch}",',' "copyFiles": [".env", ".env.local"],',' "linkFiles": ["node_modules"],',' "postCreate": ["bun install"],',' "postRemove": [],',' "autoUpstream": true'," }","}","```","","## Full Example","","```json","{",' "version": 1,',' "defaults": {',' "worktreeDir": "~/.copse/worktrees/{repo}-{branch}",',' "copyFiles": [".env"],',' "linkFiles": [],',' "postCreate": ["bun install"],',' "postRemove": [],',' "autoUpstream": true,',' "sharedDeps": {',' "strategy": "symlink",',' "paths": ["node_modules"]'," }"," },",' "repos": ['," {",' "path": "/path/to/repo",',' "copyFiles": [".env", ".env.local"],',' "monorepo": {',' "autoDetect": true,',' "hooks": ['," {",' "glob": "apps/*",',' "postCreate": ["bun install"]'," }"," ]"," }"," }"," ],",' "templates": {',' "frontend": {',' "base": "main",',' "copyFiles": [".env"],',' "postCreate": ["bun install", "bun run build"]'," },",' "review": {',' "base": "main",',' "postCreate": ["bun install"]'," }"," },",' "sessions": {',' "enabled": true,',' "autoCreate": false,',' "autoKill": true,',' "prefix": "cop",',' "defaultLayout": "dev",',' "layouts": {',' "dev": {',' "windows": [',' { "name": "editor", "command": "nvim ." },',' { "name": "server", "command": "bun run dev" },',' { "name": "shell" }'," ]"," }"," }"," },",' "lifecycle": {',' "autoCleanMerged": false,',' "staleAfterDays": 30,',' "maxWorktrees": 10'," },",' "theme": "default"',"}","```","","## Key Reference","","### defaults","","| Key | Type | Default | Description |","|-----|------|---------|-------------|","| `worktreeDir` | string | `~/.copse/worktrees/{repo}-{branch}` | Directory pattern. Supports `{repo}` and `{branch}` variables |","| `copyFiles` | string[] | `[]` | Files to copy from main worktree on creation |","| `linkFiles` | string[] | `[]` | Files to symlink from main worktree on creation |","| `postCreate` | string[] | `[]` | Shell commands to run after worktree creation |","| `postRemove` | string[] | `[]` | Shell commands to run before worktree removal |","| `autoUpstream` | boolean | `false` | Automatically set upstream tracking branch |","| `sharedDeps.strategy` | string | `symlink` | Strategy for sharing deps: `symlink`, `hardlink`, or `copy` |","| `sharedDeps.paths` | string[] | `[]` | Paths to share between worktrees |","","### repos[]","","Per-repository overrides. Same keys as `defaults` plus:","","| Key | Type | Description |","|-----|------|-------------|","| `path` | string | **Required.** Absolute path to the repository |","| `monorepo.autoDetect` | boolean | Auto-detect monorepo tools (pnpm, turbo, nx, lerna) |","| `monorepo.extraPatterns` | string[] | Additional glob patterns for package discovery |","| `monorepo.hooks[]` | object[] | Per-package hooks matched by glob pattern |","| `monorepo.hooks[].glob` | string | Glob to match against focus paths |","| `monorepo.hooks[].copyFiles` | string[] | Package-level files to copy |","| `monorepo.hooks[].linkFiles` | string[] | Package-level files to symlink |","| `monorepo.hooks[].postCreate` | string[] | Package-level post-create hooks |","| `monorepo.hooks[].postRemove` | string[] | Package-level post-remove hooks |","","### workspaces[]","","Auto-discover git repositories under parent directories. Discovered repos are merged into `repos[]` at load time. Explicit `repos[]` entries with the same resolved path always take precedence.","","| Key | Type | Default | Description |","|-----|------|---------|-------------|","| `path` | string | \u2014 | **Required.** Parent directory to scan. Supports `~` expansion. |","| `depth` | integer | `1` | Scan depth (1\u20133). `1` scans only immediate children. |","| `exclude` | string[] | `[]` | Glob patterns matched against directory names to skip. |","| `defaults` | object | \u2014 | Per-repo defaults applied to discovered repos. Same fields as `defaults`, but `monorepo` is not allowed. |","","Discovery rules: a directory is a repo only if it contains a `.git` **directory** (not a file). Linked worktrees and submodules are skipped. Discovered repos are not recursed into. Symbolic links are not followed.","","### templates","","Named presets applied via `cop add --template <name>` or `cop clone --template <name>`.","","| Key | Type | Description |","|-----|------|-------------|","| `base` | string | Default base branch for new worktrees |","| `worktreeDir` | string | Override directory pattern |","| `copyFiles` | string[] | Override files to copy |","| `linkFiles` | string[] | Override files to symlink |","| `postCreate` | string[] | Override post-create hooks |","| `postRemove` | string[] | Override post-remove hooks |","| `autoUpstream` | boolean | Override upstream tracking |","","### sessions","","| Key | Type | Default | Description |","|-----|------|---------|-------------|","| `enabled` | boolean | `false` | Enable tmux session integration |","| `autoCreate` | boolean | `false` | Auto-create session on `cop add` |","| `autoKill` | boolean | `false` | Auto-kill session on `cop remove` |","| `prefix` | string | `cop` | Prefix for tmux session names |","| `defaultLayout` | string | - | Default layout name |","| `layouts.<name>.windows[]` | object[] | - | Window definitions |","| `layouts.<name>.windows[].name` | string | **Required.** | Window name |","| `layouts.<name>.windows[].command` | string | - | Command to run in window |","","### lifecycle","","| Key | Type | Default | Description |","|-----|------|---------|-------------|","| `autoCleanMerged` | boolean | `false` | Auto-clean merged worktrees |","| `staleAfterDays` | number | `30` | Days until a worktree is considered stale |","| `maxWorktrees` | number | `10` | Maximum number of worktrees |",""].join(`
159
+ `)}function $u(e){let t=bx(e),n=Fr(vu(t),"references"),r=Px(),i=Cx(),s=vu(t);if(!Ds(s))wu(s,{recursive:!0});if(!Ds(n))wu(n,{recursive:!0});let c=Ds(t);bu(t,r,"utf-8");for(let[a,d]of i.entries())bu(Fr(n,a),d,"utf-8");return{filePath:t,referenceDir:n,referenceCount:i.size,platform:e,action:c?"updated":"created"}}var As,vx="Git worktree manager. Use when working with git worktrees \u2014 creating, switching, removing, listing, or managing worktrees across repositories. Also use for monorepo focus, tmux sessions, and worktree health checks.",yx,yu;var Pu=we(()=>{As=["claude-code","codex","opencode"];yx=[{command:"add",aliases:"-",description:"Create a new worktree from a branch, template, or PR."},{command:"remove",aliases:"rm",description:"Remove a worktree by branch or path."},{command:"list",aliases:"ls",description:"List worktrees with branch, path, status, and focus."},{command:"switch",aliases:"sw",description:"Print shell cd command for a target worktree."},{command:"status",aliases:"st",description:"Show status summary for worktrees."},{command:"clean",aliases:"-",description:"Clean merged worktrees and optionally report stale ones."},{command:"doctor",aliases:"-",description:"Run worktree health checks and optional auto-fixes."},{command:"exec",aliases:"-",description:"Run commands across non-main worktrees."},{command:"diff",aliases:"-",description:"Compare two refs or worktree branches."},{command:"pin",aliases:"unpin",description:"Pin or unpin worktrees and inspect pin metadata."},{command:"log",aliases:"logs",description:"Read or clear the activity log."},{command:"archive",aliases:"-",description:"Archive worktree changes as patch files."},{command:"rename",aliases:"-",description:"Rename a worktree branch and optionally move its path."},{command:"clone",aliases:"-",description:"Clone a repository and initialize cop setup."},{command:"import",aliases:"-",description:"Import an existing worktree into cop metadata."},{command:"session",aliases:"ss",description:"Manage tmux sessions for worktrees."},{command:"config",aliases:"-",description:"Initialize, inspect, validate, and manage config profiles."},{command:"open",aliases:"-",description:"Open a worktree path in your preferred editor."},{command:"shell-init",aliases:"-",description:"Generate shell integration and completions."},{command:"init",aliases:"-",description:"Initialize config or install/update cop AI agent skill files."}],yu=[{command:"add",summary:"Create a new worktree from a branch, template, or GitHub PR.",synopsis:"cop add [branch] [path]",options:[{flag:"--create",type:"boolean",alias:"-c",description:"Optional compatibility flag; missing branches are created automatically"},{flag:"--base",type:"string",alias:"-b",description:"Base branch/commit for new branch"},{flag:"--focus",type:"array",alias:"-f",description:"Focus packages for monorepo"},{flag:"--template",type:"string",alias:"-t",description:"Use a named template from config"},{flag:"--pr",type:"number",alias:"-",description:"Create worktree from a GitHub PR number"},{flag:"--session",type:"boolean",alias:"-s",description:"Create a tmux session for this worktree"},{flag:"--layout",type:"string",alias:"-",description:"Session layout name from config"}],examples:[["Create a feature branch worktree","cop add feature/auth --base main"],["Create from PR with session layout","cop add feature/review --pr 123 --session --layout dev"]],notes:["Creates the branch automatically when it does not already exist.","Existing branches are reused as-is; --base only applies when a new branch is created.","Runs copyFiles, linkFiles, sharedDeps, postCreate hooks, monorepo hooks after creation.","Rolls back on hook failure.","Requires gh CLI for --pr.","Supports comma/space separated focus paths."],configKeys:["`defaults.worktreeDir` \u2014 Directory pattern for new worktrees","`defaults.copyFiles` \u2014 Files to copy from main worktree","`defaults.linkFiles` \u2014 Files to symlink from main worktree","`defaults.sharedDeps` \u2014 Shared dependency strategy and paths","`defaults.postCreate` \u2014 Hooks to run after worktree creation","`defaults.autoUpstream` \u2014 Auto-set upstream tracking branch","`templates.*` \u2014 Named template overrides","`sessions.autoCreate` \u2014 Auto-create tmux session on add","`sessions.layouts` \u2014 Tmux session layout definitions"]},{command:"remove",summary:"Remove a worktree by branch name or path.",synopsis:"cop remove <branch-or-path>",options:[{flag:"--force",type:"boolean",alias:"-f",description:"Force removal even with uncommitted changes"},{flag:"--yes",type:"boolean",alias:"-y",description:"Skip confirmation prompt"}],examples:[["Remove a branch worktree","cop remove feature/auth"],["Force remove without prompt","cop remove feature/auth --force --yes"]],notes:["Runs postRemove hooks and monorepo postRemove hooks before removal.","Cannot remove main worktree.","Cannot remove locked worktrees.","Auto-kills tmux session if sessions.autoKill is enabled."],configKeys:["`defaults.postRemove` \u2014 Hooks to run before worktree removal","`sessions.autoKill` \u2014 Auto-kill tmux session on remove"]},{command:"list",summary:"List worktrees with branch, path, status, and focus details.",synopsis:"cop list",options:[{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON"},{flag:"--porcelain",type:"boolean",alias:"-p",description:"Machine-readable output"},{flag:"--all",type:"boolean",alias:"-a",description:"List worktrees from all configured repos"}],examples:[["Show all worktrees","cop list"],["Get machine-readable output","cop list --porcelain"]],notes:["Shows branch, path, status (clean/dirty/locked), focus paths.","Focus column truncated to 40 chars.","--all also includes repos auto-discovered via the `workspaces` config."],configKeys:["`repos[].path` \u2014 Repository paths for --all flag","`workspaces[].path` \u2014 Parent directories whose git repos are auto-discovered for --all"]},{command:"switch",summary:"Switch shell context to a worktree by branch or path.",synopsis:"cop switch <branch-or-path>",options:[],examples:[["Switch using branch name","cop switch feature/auth"],["Switch using path","cop switch ~/.copse/worktrees/repo-feature-auth"]],notes:["Outputs cd command for shell eval.","Requires shell integration (cop shell-init).","Auto-switches tmux session if sessions.enabled and inside tmux.","Logs switch activity."],configKeys:["`sessions.enabled` \u2014 Enable tmux session switching","`sessions.prefix` \u2014 Tmux session name prefix"]},{command:"status",summary:"Show branch health, sync state, commit info, and focus.",synopsis:"cop status",options:[{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON"},{flag:"--all",type:"boolean",alias:"-a",description:"Show worktrees from all configured repos"}],examples:[["Print status table","cop status"],["Parse status in scripts","cop status --json"]],notes:["Shows branch, dirty count, sync status (ahead/behind), last commit info, focus paths.","Marks current worktree with *.","--all also includes repos auto-discovered via the `workspaces` config."],configKeys:["`repos[].path` \u2014 Repository paths for --all flag","`workspaces[].path` \u2014 Parent directories whose git repos are auto-discovered for --all"]},{command:"clean",summary:"Remove merged worktrees and optionally inspect stale candidates.",synopsis:"cop clean",options:[{flag:"--dry-run",type:"boolean",alias:"-n",description:"Show what would be removed"},{flag:"--yes",type:"boolean",alias:"-y",description:"Skip confirmation"},{flag:"--stale",type:"boolean",alias:"-",description:"Also show stale worktrees based on lifecycle config"}],examples:[["Preview merged cleanup","cop clean --dry-run"],["Run cleanup without prompts","cop clean --yes"]],notes:["Only removes merged worktrees.","Skips pinned and dirty worktrees.","Runs git worktree prune after cleanup.","--stale uses lifecycle config (staleAfterDays, maxWorktrees)."],configKeys:["`lifecycle.staleAfterDays` \u2014 Days until a worktree is considered stale","`lifecycle.maxWorktrees` \u2014 Maximum allowed worktrees","`lifecycle.autoCleanMerged` \u2014 Auto-clean merged worktrees"]},{command:"doctor",summary:"Run health checks for worktree state and configuration.",synopsis:"cop doctor",options:[{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON"},{flag:"--fix",type:"boolean",alias:"-",description:"Auto-fix issues"}],examples:[["Run health checks","cop doctor"],["Auto-fix detectable issues","cop doctor --fix"]],notes:["Checks: git version (>=2.17), config validity, stale worktrees, orphaned directories, lock status, dirty worktrees.","Auto-fix: prune stale, remove orphans, unlock stale locks.","Exit code 0 if healthy, 1 if warnings/errors."],configKeys:[]},{command:"exec",summary:"Run a shell command across filtered non-main worktrees.",synopsis:"cop exec <command>",options:[{flag:"--all",type:"boolean",alias:"-a",description:"Run across all configured repos"},{flag:"--dirty",type:"boolean",alias:"-",description:"Only run in dirty worktrees"},{flag:"--clean",type:"boolean",alias:"-",description:"Only run in clean worktrees"},{flag:"--behind",type:"boolean",alias:"-",description:"Only run in worktrees behind upstream"},{flag:"--parallel",type:"boolean",alias:"-p",description:"Run commands in parallel"},{flag:"--json",type:"boolean",alias:"-j",description:"Output results as JSON"}],examples:[["Run tests in parallel",'cop exec "bun test" --parallel'],["Pull only behind worktrees",'cop exec "git pull" --behind']],notes:["Runs in non-main worktrees only.","Sets env vars: COP_BRANCH, COP_WORKTREE_PATH, COP_REPO_PATH.","Exit code 1 if any command fails.","--all also includes repos auto-discovered via the `workspaces` config."],configKeys:["`repos[].path` \u2014 Repository paths for --all flag","`workspaces[].path` \u2014 Parent directories whose git repos are auto-discovered for --all"]},{command:"diff",summary:"Diff two refs or worktree branches.",synopsis:"cop diff <ref1> [ref2]",options:[{flag:"--stat",type:"boolean",alias:"-s",description:"Show diffstat summary only"},{flag:"--name-only",type:"boolean",alias:"-n",description:"Show only names of changed files"}],examples:[["Show diffstat only","cop diff feature/a feature/b --stat"],["List changed file names","cop diff feature/a --name-only"]],notes:["ref2 defaults to HEAD.","Resolves worktree branch names to refs automatically."],configKeys:[]},{command:"pin",summary:"Pin or unpin worktrees and inspect pin metadata.",synopsis:"cop pin [branch]",options:[{flag:"--reason",type:"string",alias:"-",description:"Reason for pinning"},{flag:"--list",type:"boolean",alias:"-",description:"List pinned worktrees"},{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON"},{flag:"--unpin",type:"boolean",alias:"-",description:"Unpin instead of pinning"}],examples:[["Pin with a reason",'cop pin feature/auth --reason "active sprint"'],["Unpin a branch","cop pin feature/auth --unpin"]],notes:["Pinned worktrees are excluded from cop clean.","Also invokable as cop unpin <branch>.","Pin metadata stored in git internals."],configKeys:[]},{command:"log",summary:"View or clear activity log events.",synopsis:"cop log",options:[{flag:"--limit",type:"number",alias:"-",description:"default 20, Show the last N entries"},{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON"},{flag:"--clear",type:"boolean",alias:"-",description:"Clear the activity log"}],examples:[["Show recent entries","cop log --limit 50"],["Clear the log","cop log --clear"]],notes:["Events: create (green), delete (red), switch (blue), rename (yellow), archive (magenta), import (cyan).","Color-coded in terminal."],configKeys:[]},{command:"archive",summary:"Archive worktree changes as patch files before optional removal.",synopsis:"cop archive [branch]",options:[{flag:"--yes",type:"boolean",alias:"-y",description:"Skip confirmation prompt"},{flag:"--keep",type:"boolean",alias:"-",description:"Archive without removing the worktree"},{flag:"--list",type:"boolean",alias:"-",description:"List all archives"},{flag:"--json",type:"boolean",alias:"-j",description:"Output as JSON with --list"}],examples:[["Archive and remove","cop archive feature/done --yes"],["List archive records","cop archive --list --json"]],notes:["Archives stored as patch files in ~/.copse/archives/.","Cannot archive main worktree.","Runs postRemove hooks before removal unless --keep."],configKeys:["`defaults.postRemove` \u2014 Hooks to run before worktree removal"]},{command:"rename",summary:"Rename a worktree branch and optionally move its directory path.",synopsis:"cop rename <old> <new>",options:[{flag:"--move-path",type:"boolean",alias:"-",description:"Also rename the worktree directory path"}],examples:[["Rename a worktree branch","cop rename feature/old feature/new"],["Rename branch and directory","cop rename feature/old feature/new --move-path"]],notes:["Cannot rename main worktree.","Checks for branch name conflicts.","Logs rename activity.","--move-path replaces old branch slug with new one in directory name."],configKeys:[]},{command:"clone",summary:"Clone a repository and optionally apply cop template setup.",synopsis:"cop clone <url> [path]",options:[{flag:"--template",type:"string",alias:"-t",description:"Apply a named template after cloning"},{flag:"--init-config",type:"boolean",alias:"-",description:"default true, Initialize cop config after cloning"}],examples:[["Clone and initialize","cop clone https://github.com/user/repo.git"],["Clone with template and no config init","cop clone https://github.com/user/repo.git --template review --no-init-config"]],notes:["Auto-detects target path from URL.","Runs template postCreate hooks if template specified.","Use --no-init-config to skip config initialization."],configKeys:["`templates.*` \u2014 Named template overrides"]},{command:"import",summary:"Import an existing git worktree into cop metadata.",synopsis:"cop import <path>",options:[{flag:"--focus",type:"array",alias:"-f",description:"Focus packages for monorepo"},{flag:"--pin",type:"boolean",alias:"-",description:"Pin the worktree"}],examples:[["Import a worktree path","cop import /path/to/worktree"],["Import with focus and pin","cop import /path/to/worktree --focus apps/web,apps/api --pin"]],notes:["Validates that path is a valid git worktree.","Logs import activity.","Supports comma/space separated focus paths."],configKeys:[]},{command:"session",summary:"Manage tmux sessions for worktrees.",synopsis:"cop session [branch-or-path]",options:[{flag:"--list",type:"boolean",alias:"-l",description:"List active cop tmux sessions"},{flag:"--kill",type:"boolean",alias:"-k",description:"Kill the session for the specified worktree"},{flag:"--kill-all",type:"boolean",alias:"-",description:"Kill all cop tmux sessions"},{flag:"--layout",type:"string",alias:"-",description:"Use a named layout from config"},{flag:"--json",type:"boolean",alias:"-j",description:"Output in JSON format"}],examples:[["Attach or create a session","cop session feature/auth"],["List sessions as JSON","cop session --list --json"]],notes:["Requires tmux.","Session naming: branch feat/auth-token \u2192 tmux session cop_feat-auth-token.","Supports layout templates with multiple windows."],configKeys:["`sessions.enabled` \u2014 Enable tmux session integration","`sessions.autoCreate` \u2014 Auto-create session on worktree add","`sessions.autoKill` \u2014 Auto-kill session on worktree remove","`sessions.prefix` \u2014 Tmux session name prefix","`sessions.defaultLayout` \u2014 Default layout name","`sessions.layouts` \u2014 Layout definitions with windows"]},{command:"config",summary:"Initialize, inspect, edit, validate, and manage profiles.",synopsis:"cop config",options:[{flag:"--init",type:"boolean",alias:"-",description:"Create default config file"},{flag:"--show",type:"boolean",alias:"-s",description:"Print current config as JSON"},{flag:"--edit",type:"boolean",alias:"-e",description:"Open config in $EDITOR"},{flag:"--path",type:"boolean",alias:"-",description:"Print config file path"},{flag:"--validate",type:"boolean",alias:"-",description:"Validate config against schema"},{flag:"--profiles",type:"boolean",alias:"-",description:"List config profiles"},{flag:"--profile",type:"string",alias:"-",description:"Profile name for activation/deletion"},{flag:"--activate",type:"boolean",alias:"-",description:"Activate the specified profile"},{flag:"--delete",type:"boolean",alias:"-",description:"Delete the specified profile"}],examples:[["Initialize config","cop config --init"],["Activate a profile","cop config --profile work --activate"]],notes:["Config path: ~/.config/copse/config.json.","XDG-compliant."],configKeys:[]},{command:"open",summary:"Open the target or current worktree in an editor (focus-aware).",synopsis:"cop open [branch-or-path]",options:[{flag:"--editor",type:"string",alias:"-e",description:"Editor command to use"},{flag:"--focus",type:"string",alias:"-f",description:"Open a specific focus path (must match an existing focus entry)"},{flag:"--root",type:"boolean",alias:"-",description:"Force opening the worktree root, ignoring focus paths"},{flag:"--list-editors",type:"boolean",alias:"-",description:"List detected editors"}],examples:[["Open current worktree","cop open"],["Open with specific editor","cop open feature/auth --editor nvim"],["Open a specific focus path","cop open feature/auth --focus apps/web"],["Force open the worktree root","cop open feature/auth --root"]],notes:["Auto-detects editors: code, cursor, vim, nvim, emacs, nano, subl, zed, idea, webstorm.","Uses $VISUAL or $EDITOR env vars.","Defaults to current worktree if no branch specified.","Focus-aware: 0 focus paths \u2192 root, 1 focus path \u2192 that path, 2+ focus paths \u2192 errors and asks for --focus or --root (the TUI shows an interactive picker instead)."],configKeys:[]},{command:"shell-init",summary:"Generate shell integration wrappers and completions.",synopsis:"cop shell-init [shell]",options:[{flag:"--completions",type:"string",alias:"-",description:"Generate shell completions: bash, zsh, fish"}],examples:[["Generate shell wrapper","cop shell-init zsh"],["Generate completion script","cop shell-init --completions fish"]],notes:["Shell arg is auto-detected if omitted.","Generates wrapper function for cop switch to work with shell cd.","Supports bash, zsh, fish."],configKeys:[]},{command:"init",summary:"Initialize cop config or install AI agent skill files.",synopsis:"cop init",options:[{flag:"--skill",type:"string",alias:"-s",description:"Install AI agent skill: claude-code, codex, opencode"}],examples:[["Initialize config","cop init"],["Install Claude Code skill","cop init --skill claude-code"],["Install Codex skill","cop init --skill codex"]],notes:["Without --skill, reuses config initialization and creates only config.json.","With --skill, installs or updates SKILL.md + references/ directory.","Idempotent \u2014 running again updates existing files without breaking existing setup."],configKeys:[]}]});var Cu={};qe(Cu,{default:()=>kx});import{dirname as Rx}from"path";var Ex,kx;var Su=we(()=>{Ye();Pu();Ex={command:"init",describe:"Initialize config or install cop integrations",builder:(e)=>e.option("skill",{type:"string",alias:"s",describe:`Install AI agent skill (${As.join(", ")})`,choices:As}),handler:async(e)=>{let t=e.skill;try{if(!t){let i=jt();console.log(`\u2713 Initialized config \u2192 ${i}`),process.exit(0)}let n=$u(t),r=n.action==="created"?"Installed":"Updated";console.log(`\u2713 ${r} \u2192 ${Rx(n.filePath)}/`),console.log(" SKILL.md"),console.log(` references/ (${n.referenceCount} commands)`),process.exit(0)}catch(n){console.error(`Error: ${n.message}`),process.exit(1)}}},kx=Ex});import{notStrictEqual as Zu,strictEqual as Qu}from"assert";var Mu={right:Au,center:Wu};class Ns{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0)this.div("");if(this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]==="string")return this.applyLayoutDSL(e[0]);let t=e.map((n)=>{if(typeof n==="string")return this.colFromString(n);return n});return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]==="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
160
+ `).map((r)=>r.split("\t")),n=0;return t.forEach((r)=>{if(r.length>1&&Ct.stringWidth(r[0])>n)n=Math.min(Math.floor(this.width*0.5),Ct.stringWidth(r[0]))}),t.forEach((r)=>{this.div(...r.map((i,s)=>{return{text:i.trim(),padding:this.measurePadding(i),width:s===0&&r.length>1?n:void 0}}))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){let t=Ct.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){let e=[];return this.rows.forEach((t)=>{this.rowToString(t,e)}),e.filter((t)=>!t.hidden).map((t)=>t.text).join(`
161
+ `)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let i="";n.forEach((s,c)=>{let{width:a}=e[c],d=this.negatePadding(e[c]),h=s;if(d>Ct.stringWidth(s))h+=" ".repeat(d-Ct.stringWidth(s));if(e[c].align&&e[c].align!=="left"&&this.wrap){let m=Mu[e[c].align];if(h=m(h,d),Ct.stringWidth(h)<d)h+=" ".repeat((a||0)-Ct.stringWidth(h)-1)}let p=e[c].padding||[0,0,0,0];if(p[3])i+=" ".repeat(p[3]);if(i+=Bs(e[c],h,"| "),i+=h,i+=Bs(e[c],h," |"),p[1])i+=" ".repeat(p[1]);if(r===0&&t.length>0)i=this.renderInline(i,t[t.length-1])}),t.push({text:i.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){let n=e.match(/^ */),r=n?n[0].length:0,i=t.text,s=Ct.stringWidth(i.trimRight());if(!t.span)return e;if(!this.wrap)return t.hidden=!0,i+e;if(r<s)return e;return t.hidden=!0,i.trimRight()+" ".repeat(r-s)+e.trimLeft()}rasterize(e){let t=[],n=this.columnWidths(e),r;return e.forEach((i,s)=>{if(i.width=n[s],this.wrap)r=Ct.wrap(i.text,this.negatePadding(i),{hard:!0}).split(`
162
+ `);else r=i.text.split(`
163
+ `);if(i.border)r.unshift("."+"-".repeat(this.negatePadding(i)+2)+"."),r.push("'"+"-".repeat(this.negatePadding(i)+2)+"'");if(i.padding)r.unshift(...Array(i.padding[0]||0).fill("")),r.push(...Array(i.padding[2]||0).fill(""));r.forEach((c,a)=>{if(!t[a])t.push([]);let d=t[a];for(let h=0;h<s;h++)if(d[h]===void 0)d.push("");d.push(c)})}),t}negatePadding(e){let t=e.width||0;if(e.padding)t-=(e.padding[3]||0)+(e.padding[1]||0);if(e.border)t-=4;return t}columnWidths(e){if(!this.wrap)return e.map((s)=>{return s.width||Ct.stringWidth(s.text)});let t=e.length,n=this.width,r=e.map((s)=>{if(s.width)return t--,n-=s.width,s.width;return}),i=t?Math.floor(n/t):0;return r.map((s,c)=>{if(s===void 0)return Math.max(i,Fu(e[c]));return s})}}function Bs(e,t,n){if(e.border){if(/[.']-+[.']/.test(t))return"";if(t.trim().length!==0)return n;return" "}return""}function Fu(e){let t=e.padding||[],n=1+(t[3]||0)+(t[1]||0);if(e.border)return n+4;return n}function Du(){if(typeof process==="object"&&process.stdout&&process.stdout.columns)return process.stdout.columns;return 80}function Au(e,t){e=e.trim();let n=Ct.stringWidth(e);if(n<t)return" ".repeat(t-n)+e;return e}function Wu(e,t){e=e.trim();let n=Ct.stringWidth(e);if(n>=t)return e;return" ".repeat(t-n>>1)+e}var Ct;function js(e,t){return Ct=t,new Ns({width:(e===null||e===void 0?void 0:e.width)||Du(),wrap:e===null||e===void 0?void 0:e.wrap})}var Ls=new RegExp("\x1B(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)","g");function ni(e){return e.replace(Ls,"")}function Vs(e,t){let[n,r]=e.match(Ls)||["",""];e=ni(e);let i="";for(let s=0;s<e.length;s++){if(s!==0&&s%t===0)i+=`
164
+ `;i+=e.charAt(s)}if(n&&r)i=`${n}${i}${r}`;return i}function ri(e){return js(e,{stringWidth:(t)=>{return[...t].length},stripAnsi:ni,wrap:Vs})}import{dirname as Ks,resolve as Gs}from"path";import{readdirSync as Iu,statSync as Tu}from"fs";function oi(e,t){let n=Gs(".",e),r;if(!Tu(n).isDirectory())n=Ks(n);while(!0){if(r=t(n,Iu(n)),r)return Gs(n,r);if(n=Ks(r=n),r===n)break}}import{inspect as _u}from"util";import{readFileSync as ed}from"fs";import{fileURLToPath as td}from"url";import{format as ju}from"util";import{normalize as Lu,resolve as Vu}from"path";function Bn(e){if(!(e!==e.toLowerCase()&&e!==e.toUpperCase()))e=e.toLowerCase();if(e.indexOf("-")===-1&&e.indexOf("_")===-1)return e;else{let n="",r=!1,i=e.match(/^-+/);for(let s=i?i[0].length:0;s<e.length;s++){let c=e.charAt(s);if(r)r=!1,c=c.toUpperCase();if(s!==0&&(c==="-"||c==="_"))r=!0;else if(c!=="-"&&c!=="_")n+=c}return n}}function oo(e,t){let n=e.toLowerCase();t=t||"-";let r="";for(let i=0;i<e.length;i++){let s=n.charAt(i),c=e.charAt(i);if(s!==c&&i>0)r+=`${t}${n.charAt(i)}`;else r+=c}return r}function io(e){if(e===null||e===void 0)return!1;if(typeof e==="number")return!0;if(/^0x[0-9a-f]+$/i.test(e))return!0;if(/^0[^.]/.test(e))return!1;return/^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e)}function Hs(e){if(Array.isArray(e))return e.map((c)=>typeof c!=="string"?c+"":c);e=e.trim();let t=0,n=null,r=null,i=null,s=[];for(let c=0;c<e.length;c++){if(n=r,r=e.charAt(c),r===" "&&!i){if(n!==" ")t++;continue}if(r===i)i=null;else if((r==="'"||r==='"')&&!i)i=r;if(!s[t])s[t]="";s[t]+=r}return s}var At;(function(e){e.BOOLEAN="boolean",e.STRING="string",e.NUMBER="number",e.ARRAY="array"})(At||(At={}));var sn;class si{constructor(e){sn=e}parse(e,t){let n=Object.assign({alias:void 0,array:void 0,boolean:void 0,config:void 0,configObjects:void 0,configuration:void 0,coerce:void 0,count:void 0,default:void 0,envPrefix:void 0,narg:void 0,normalize:void 0,string:void 0,number:void 0,__:void 0,key:void 0},t),r=Hs(e),i=typeof e==="string",s=Bu(Object.assign(Object.create(null),n.alias)),c=Object.assign({"boolean-negation":!0,"camel-case-expansion":!0,"combine-arrays":!1,"dot-notation":!0,"duplicate-arguments-array":!0,"flatten-duplicate-arrays":!0,"greedy-arrays":!0,"halt-at-non-option":!1,"nargs-eats-options":!1,"negation-prefix":"no-","parse-numbers":!0,"parse-positional-numbers":!0,"populate--":!1,"set-placeholder-key":!1,"short-option-groups":!0,"strip-aliased":!1,"strip-dashed":!1,"unknown-options-as-args":!1},n.configuration),a=Object.assign(Object.create(null),n.default),d=n.configObjects||[],h=n.envPrefix,p=c["populate--"],m=p?"--":"_",w=Object.create(null),A=Object.create(null),D=n.__||sn.format,b={aliases:Object.create(null),arrays:Object.create(null),bools:Object.create(null),strings:Object.create(null),numbers:Object.create(null),counts:Object.create(null),normalize:Object.create(null),configs:Object.create(null),nargs:Object.create(null),coercions:Object.create(null),keys:[]},S=/^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/,M=new RegExp("^--"+c["negation-prefix"]+"(.+)");if([].concat(n.array||[]).filter(Boolean).forEach(function(u){let x=typeof u==="object"?u.key:u,k=Object.keys(u).map(function(E){return{boolean:"bools",string:"strings",number:"numbers"}[E]}).filter(Boolean).pop();if(k)b[k][x]=!0;b.arrays[x]=!0,b.keys.push(x)}),[].concat(n.boolean||[]).filter(Boolean).forEach(function(u){b.bools[u]=!0,b.keys.push(u)}),[].concat(n.string||[]).filter(Boolean).forEach(function(u){b.strings[u]=!0,b.keys.push(u)}),[].concat(n.number||[]).filter(Boolean).forEach(function(u){b.numbers[u]=!0,b.keys.push(u)}),[].concat(n.count||[]).filter(Boolean).forEach(function(u){b.counts[u]=!0,b.keys.push(u)}),[].concat(n.normalize||[]).filter(Boolean).forEach(function(u){b.normalize[u]=!0,b.keys.push(u)}),typeof n.narg==="object")Object.entries(n.narg).forEach(([u,x])=>{if(typeof x==="number")b.nargs[u]=x,b.keys.push(u)});if(typeof n.coerce==="object")Object.entries(n.coerce).forEach(([u,x])=>{if(typeof x==="function")b.coercions[u]=x,b.keys.push(u)});if(typeof n.config<"u"){if(Array.isArray(n.config)||typeof n.config==="string")[].concat(n.config).filter(Boolean).forEach(function(u){b.configs[u]=!0});else if(typeof n.config==="object")Object.entries(n.config).forEach(([u,x])=>{if(typeof x==="boolean"||typeof x==="function")b.configs[u]=x})}N(n.key,s,n.default,b.arrays),Object.keys(a).forEach(function(u){(b.aliases[u]||[]).forEach(function(x){a[x]=a[u]})});let F=null;W();let v=[],y=Object.assign(Object.create(null),{_:[]}),P={};for(let u=0;u<r.length;u++){let x=r[u],k=x.replace(/^-{3,}/,"---"),E,C,Q,oe,xe,le;if(x!=="--"&&/^-/.test(x)&&ge(x))G(x);else if(k.match(/^---+(=|$)/)){G(x);continue}else if(x.match(/^--.+=/)||!c["short-option-groups"]&&x.match(/^-.+=/)){if(oe=x.match(/^--?([^=]+)=([\s\S]*)$/),oe!==null&&Array.isArray(oe)&&oe.length>=3)if(I(oe[1],b.arrays))u=K(u,oe[1],r,oe[2]);else if(I(oe[1],b.nargs)!==!1)u=T(u,oe[1],r,oe[2]);else X(oe[1],oe[2],!0)}else if(x.match(M)&&c["boolean-negation"]){if(oe=x.match(M),oe!==null&&Array.isArray(oe)&&oe.length>=2)C=oe[1],X(C,I(C,b.arrays)?[!1]:!1)}else if(x.match(/^--.+/)||!c["short-option-groups"]&&x.match(/^-[^-]+/)){if(oe=x.match(/^--?(.+)/),oe!==null&&Array.isArray(oe)&&oe.length>=2)if(C=oe[1],I(C,b.arrays))u=K(u,C,r);else if(I(C,b.nargs)!==!1)u=T(u,C,r);else if(xe=r[u+1],xe!==void 0&&(!xe.match(/^-/)||xe.match(S))&&!I(C,b.bools)&&!I(C,b.counts))X(C,xe),u++;else if(/^(true|false)$/.test(xe))X(C,xe),u++;else X(C,pe(C))}else if(x.match(/^-.\..+=/)){if(oe=x.match(/^-([^=]+)=([\s\S]*)$/),oe!==null&&Array.isArray(oe)&&oe.length>=3)X(oe[1],oe[2])}else if(x.match(/^-.\..+/)&&!x.match(S)){if(xe=r[u+1],oe=x.match(/^-(.\..+)/),oe!==null&&Array.isArray(oe)&&oe.length>=2)if(C=oe[1],xe!==void 0&&!xe.match(/^-/)&&!I(C,b.bools)&&!I(C,b.counts))X(C,xe),u++;else X(C,pe(C))}else if(x.match(/^-[^-]+/)&&!x.match(S)){Q=x.slice(1,-1).split(""),E=!1;for(let Ie=0;Ie<Q.length;Ie++){if(xe=x.slice(Ie+2),Q[Ie+1]&&Q[Ie+1]==="="){if(le=x.slice(Ie+3),C=Q[Ie],I(C,b.arrays))u=K(u,C,r,le);else if(I(C,b.nargs)!==!1)u=T(u,C,r,le);else X(C,le);E=!0;break}if(xe==="-"){X(Q[Ie],xe);continue}if(/[A-Za-z]/.test(Q[Ie])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(xe)&&I(xe,b.bools)===!1){X(Q[Ie],xe),E=!0;break}if(Q[Ie+1]&&Q[Ie+1].match(/\W/)){X(Q[Ie],xe),E=!0;break}else X(Q[Ie],pe(Q[Ie]))}if(C=x.slice(-1)[0],!E&&C!=="-")if(I(C,b.arrays))u=K(u,C,r);else if(I(C,b.nargs)!==!1)u=T(u,C,r);else if(xe=r[u+1],xe!==void 0&&(!/^(-|--)[^-]/.test(xe)||xe.match(S))&&!I(C,b.bools)&&!I(C,b.counts))X(C,xe),u++;else if(/^(true|false)$/.test(xe))X(C,xe),u++;else X(C,pe(C))}else if(x.match(/^-[0-9]$/)&&x.match(S)&&I(x.slice(1),b.bools))C=x.slice(1),X(C,pe(C));else if(x==="--"){v=r.slice(u+1);break}else if(c["halt-at-non-option"]){v=r.slice(u);break}else G(x)}if(_(y,!0),_(y,!1),q(y),he(),R(y,b.aliases,a,!0),me(y),c["set-placeholder-key"])Ee(y);if(Object.keys(b.counts).forEach(function(u){if(!O(y,u.split(".")))X(u,0)}),p&&v.length)y[m]=[];if(v.forEach(function(u){y[m].push(u)}),c["camel-case-expansion"]&&c["strip-dashed"])Object.keys(y).filter((u)=>u!=="--"&&u.includes("-")).forEach((u)=>{delete y[u]});if(c["strip-aliased"])[].concat(...Object.keys(s).map((u)=>s[u])).forEach((u)=>{if(c["camel-case-expansion"]&&u.includes("-"))delete y[u.split(".").map((x)=>Bn(x)).join(".")];delete y[u]});function G(u){let x=J("_",u);if(typeof x==="string"||typeof x==="number")y._.push(x)}function T(u,x,k,E){let C,Q=I(x,b.nargs);if(Q=typeof Q!=="number"||isNaN(Q)?1:Q,Q===0){if(!Re(E))F=Error(D("Argument unexpected for: %s",x));return X(x,pe(x)),u}let oe=Re(E)?0:1;if(c["nargs-eats-options"]){if(k.length-(u+1)+oe<Q)F=Error(D("Not enough arguments following: %s",x));oe=Q}else{for(C=u+1;C<k.length;C++)if(!k[C].match(/^-[^0-9]/)||k[C].match(S)||ge(k[C]))oe++;else break;if(oe<Q)F=Error(D("Not enough arguments following: %s",x))}let xe=Math.min(oe,Q);if(!Re(E)&&xe>0)X(x,E),xe--;for(C=u+1;C<xe+u+1;C++)X(x,k[C]);return u+xe}function K(u,x,k,E){let C=[],Q=E||k[u+1],oe=I(x,b.nargs);if(I(x,b.bools)&&!/^(true|false)$/.test(Q))C.push(!0);else if(Re(Q)||Re(E)&&/^-/.test(Q)&&!S.test(Q)&&!ge(Q)){if(a[x]!==void 0){let xe=a[x];C=Array.isArray(xe)?xe:[xe]}}else{if(!Re(E))C.push(U(x,E,!0));for(let xe=u+1;xe<k.length;xe++){if(!c["greedy-arrays"]&&C.length>0||oe&&typeof oe==="number"&&C.length>=oe)break;if(Q=k[xe],/^-/.test(Q)&&!S.test(Q)&&!ge(Q))break;u=xe,C.push(U(x,Q,i))}}if(typeof oe==="number"&&(oe&&C.length<oe||isNaN(oe)&&C.length===0))F=Error(D("Not enough arguments following: %s",x));return X(x,C),u}function X(u,x,k=i){if(/-/.test(u)&&c["camel-case-expansion"]){let Q=u.split(".").map(function(oe){return Bn(oe)}).join(".");H(u,Q)}let E=U(u,x,k),C=u.split(".");if(V(y,C,E),b.aliases[u])b.aliases[u].forEach(function(Q){let oe=Q.split(".");V(y,oe,E)});if(C.length>1&&c["dot-notation"])(b.aliases[C[0]]||[]).forEach(function(Q){let oe=Q.split("."),xe=[].concat(C);if(xe.shift(),oe=oe.concat(xe),!(b.aliases[u]||[]).includes(oe.join(".")))V(y,oe,E)});if(I(u,b.normalize)&&!I(u,b.arrays))[u].concat(b.aliases[u]||[]).forEach(function(oe){Object.defineProperty(P,oe,{enumerable:!0,get(){return x},set(xe){x=typeof xe==="string"?sn.normalize(xe):xe}})})}function H(u,x){if(!(b.aliases[u]&&b.aliases[u].length))b.aliases[u]=[x],w[x]=!0;if(!(b.aliases[x]&&b.aliases[x].length))H(x,u)}function U(u,x,k){if(k)x=Nu(x);if(I(u,b.bools)||I(u,b.counts)){if(typeof x==="string")x=x==="true"}let E=Array.isArray(x)?x.map(function(C){return J(u,C)}):J(u,x);if(I(u,b.counts)&&(Re(E)||typeof E==="boolean"))E=ii();if(I(u,b.normalize)&&I(u,b.arrays))if(Array.isArray(x))E=x.map((C)=>{return sn.normalize(C)});else E=sn.normalize(x);return E}function J(u,x){if(!c["parse-positional-numbers"]&&u==="_")return x;if(!I(u,b.strings)&&!I(u,b.bools)&&!Array.isArray(x)){if(io(x)&&c["parse-numbers"]&&Number.isSafeInteger(Math.floor(parseFloat(`${x}`)))||!Re(x)&&I(u,b.numbers))x=Number(x)}return x}function q(u){let x=Object.create(null);R(x,b.aliases,a),Object.keys(b.configs).forEach(function(k){let E=u[k]||x[k];if(E)try{let C=null,Q=sn.resolve(sn.cwd(),E),oe=b.configs[k];if(typeof oe==="function"){try{C=oe(Q)}catch(xe){C=xe}if(C instanceof Error){F=C;return}}else C=sn.require(Q);re(C)}catch(C){if(C.name==="PermissionDenied")F=C;else if(u[k])F=Error(D("Invalid JSON config file: %s",E))}})}function re(u,x){Object.keys(u).forEach(function(k){let E=u[k],C=x?x+"."+k:k;if(typeof E==="object"&&E!==null&&!Array.isArray(E)&&c["dot-notation"])re(E,C);else if(!O(y,C.split("."))||I(C,b.arrays)&&c["combine-arrays"])X(C,E)})}function he(){if(typeof d<"u")d.forEach(function(u){re(u)})}function _(u,x){if(typeof h>"u")return;let k=typeof h==="string"?h:"",E=sn.env();Object.keys(E).forEach(function(C){if(k===""||C.lastIndexOf(k,0)===0){let Q=C.split("__").map(function(oe,xe){if(xe===0)oe=oe.substring(k.length);return Bn(oe)});if((x&&b.configs[Q.join(".")]||!x)&&!O(u,Q))X(Q.join("."),E[C])}})}function me(u){let x,k=new Set;Object.keys(u).forEach(function(E){if(!k.has(E)){if(x=I(E,b.coercions),typeof x==="function")try{let C=J(E,x(u[E]));[].concat(b.aliases[E]||[],E).forEach((Q)=>{k.add(Q),u[Q]=C})}catch(C){F=C}}})}function Ee(u){return b.keys.forEach((x)=>{if(~x.indexOf("."))return;if(typeof u[x]>"u")u[x]=void 0}),u}function R(u,x,k,E=!1){Object.keys(k).forEach(function(C){if(!O(u,C.split("."))){if(V(u,C.split("."),k[C]),E)A[C]=!0;(x[C]||[]).forEach(function(Q){if(O(u,Q.split(".")))return;V(u,Q.split("."),k[C])})}})}function O(u,x){let k=u;if(!c["dot-notation"])x=[x.join(".")];x.slice(0,-1).forEach(function(C){k=k[C]||{}});let E=x[x.length-1];if(typeof k!=="object")return!1;else return E in k}function V(u,x,k){let E=u;if(!c["dot-notation"])x=[x.join(".")];x.slice(0,-1).forEach(function(le){if(le=Us(le),typeof E==="object"&&E[le]===void 0)E[le]={};if(typeof E[le]!=="object"||Array.isArray(E[le])){if(Array.isArray(E[le]))E[le].push({});else E[le]=[E[le],{}];E=E[le][E[le].length-1]}else E=E[le]});let C=Us(x[x.length-1]),Q=I(x.join("."),b.arrays),oe=Array.isArray(k),xe=c["duplicate-arguments-array"];if(!xe&&I(C,b.nargs)){if(xe=!0,!Re(E[C])&&b.nargs[C]===1||Array.isArray(E[C])&&E[C].length===b.nargs[C])E[C]=void 0}if(k===ii())E[C]=ii(E[C]);else if(Array.isArray(E[C]))if(xe&&Q&&oe)E[C]=c["flatten-duplicate-arrays"]?E[C].concat(k):(Array.isArray(E[C][0])?E[C]:[E[C]]).concat([k]);else if(!xe&&Boolean(Q)===Boolean(oe))E[C]=k;else E[C]=E[C].concat([k]);else if(E[C]===void 0&&Q)E[C]=oe?k:[k];else if(xe&&!(E[C]===void 0||I(C,b.counts)||I(C,b.bools)))E[C]=[E[C],k];else E[C]=k}function N(...u){u.forEach(function(x){Object.keys(x||{}).forEach(function(k){if(b.aliases[k])return;b.aliases[k]=[].concat(s[k]||[]),b.aliases[k].concat(k).forEach(function(E){if(/-/.test(E)&&c["camel-case-expansion"]){let C=Bn(E);if(C!==k&&b.aliases[k].indexOf(C)===-1)b.aliases[k].push(C),w[C]=!0}}),b.aliases[k].concat(k).forEach(function(E){if(E.length>1&&/[A-Z]/.test(E)&&c["camel-case-expansion"]){let C=oo(E,"-");if(C!==k&&b.aliases[k].indexOf(C)===-1)b.aliases[k].push(C),w[C]=!0}}),b.aliases[k].forEach(function(E){b.aliases[E]=[k].concat(b.aliases[k].filter(function(C){return E!==C}))})})})}function I(u,x){let k=[].concat(b.aliases[u]||[],u),E=Object.keys(x),C=k.find((Q)=>E.includes(Q));return C?x[C]:!1}function ee(u){let x=Object.keys(b);return[].concat(x.map((E)=>b[E])).some(function(E){return Array.isArray(E)?E.includes(u):E[u]})}function de(u,...x){return[].concat(...x).some(function(E){let C=u.match(E);return C&&ee(C[1])})}function ne(u){if(u.match(S)||!u.match(/^-[^-]+/))return!1;let x=!0,k,E=u.slice(1).split("");for(let C=0;C<E.length;C++){if(k=u.slice(C+2),!ee(E[C])){x=!1;break}if(E[C+1]&&E[C+1]==="="||k==="-"||/[A-Za-z]/.test(E[C])&&/^-?\d+(\.\d*)?(e-?\d+)?$/.test(k)||E[C+1]&&E[C+1].match(/\W/))break}return x}function ge(u){return c["unknown-options-as-args"]&&Se(u)}function Se(u){if(u=u.replace(/^-{3,}/,"--"),u.match(S))return!1;if(ne(u))return!1;return!de(u,/^-+([^=]+?)=[\s\S]*$/,M,/^-+([^=]+?)$/,/^-+([^=]+?)-$/,/^-+([^=]+?\d+)$/,/^-+([^=]+?)\W+.*$/)}function pe(u){if(!I(u,b.bools)&&!I(u,b.counts)&&`${u}`in a)return a[u];else return ve(Me(u))}function ve(u){return{[At.BOOLEAN]:!0,[At.STRING]:"",[At.NUMBER]:void 0,[At.ARRAY]:[]}[u]}function Me(u){let x=At.BOOLEAN;if(I(u,b.strings))x=At.STRING;else if(I(u,b.numbers))x=At.NUMBER;else if(I(u,b.bools))x=At.BOOLEAN;else if(I(u,b.arrays))x=At.ARRAY;return x}function Re(u){return u===void 0}function W(){Object.keys(b.counts).find((u)=>{if(I(u,b.arrays))return F=Error(D("Invalid configuration: %s, opts.count excludes opts.array.",u)),!0;else if(I(u,b.nargs))return F=Error(D("Invalid configuration: %s, opts.count excludes opts.narg.",u)),!0;return!1})}return{aliases:Object.assign({},b.aliases),argv:Object.assign(P,y),configuration:c,defaulted:Object.assign({},A),error:F,newAliases:Object.assign({},w)}}}function Bu(e){let t=[],n=Object.create(null),r=!0;Object.keys(e).forEach(function(i){t.push([].concat(e[i],i))});while(r){r=!1;for(let i=0;i<t.length;i++)for(let s=i+1;s<t.length;s++)if(t[i].filter(function(a){return t[s].indexOf(a)!==-1}).length){t[i]=t[i].concat(t[s]),t.splice(s,1),r=!0;break}}return t.forEach(function(i){i=i.filter(function(c,a,d){return d.indexOf(c)===a});let s=i.pop();if(s!==void 0&&typeof s==="string")n[s]=i}),n}function ii(e){return e!==void 0?e+1:1}function Us(e){if(e==="__proto__")return"___proto___";return e}function Nu(e){return typeof e==="string"&&(e[0]==="'"||e[0]==='"')&&e[e.length-1]===e[0]?e.substring(1,e.length-1):e}var ci,ai,li,Js=process&&process.env&&process.env.YARGS_MIN_NODE_VERSION?Number(process.env.YARGS_MIN_NODE_VERSION):12,zs=(ai=(ci=process===null||process===void 0?void 0:process.versions)===null||ci===void 0?void 0:ci.node)!==null&&ai!==void 0?ai:(li=process===null||process===void 0?void 0:process.version)===null||li===void 0?void 0:li.slice(1);if(zs){if(Number(zs.match(/^([^.]+)/)[1])<Js)throw Error(`yargs parser supports a minimum Node.js version of ${Js}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`)}var Ku=process?process.env:{},qs=new si({cwd:process.cwd,env:()=>{return Ku},format:ju,normalize:Lu,resolve:Vu,require:(e)=>{return on(e)}}),Tr=function(t,n){return qs.parse(t.slice(),n).argv};Tr.detailed=function(e,t){return qs.parse(e.slice(),t)};Tr.camelCase=Bn;Tr.decamelize=oo;Tr.looksLikeNumber=io;var fi=Tr;import{basename as nd,dirname as rd,extname as od,relative as id,resolve as tc}from"path";function Xs(){if(Gu())return 0;return 1}function Gu(){return Hu()&&!process.defaultApp}function Hu(){return!!process.versions.electron}function ui(e){return e.slice(Xs()+1)}function Ys(){return process.argv[Xs()]}class Ke extends Error{constructor(e){super(e||"yargs error");if(this.name="YError",Error.captureStackTrace)Error.captureStackTrace(this,Ke)}}import{readFileSync as Uu,statSync as Ju,writeFile as zu}from"fs";import{format as qu}from"util";import{resolve as Xu}from"path";var Zs={fs:{readFileSync:Uu,writeFile:zu},format:qu,resolve:Xu,exists:(e)=>{try{return Ju(e).isFile()}catch(t){return!1}}};var Ut;class Qs{constructor(e){e=e||{},this.directory=e.directory||"./locales",this.updateFiles=typeof e.updateFiles==="boolean"?e.updateFiles:!0,this.locale=e.locale||"en",this.fallbackToLanguage=typeof e.fallbackToLanguage==="boolean"?e.fallbackToLanguage:!0,this.cache=Object.create(null),this.writeQueue=[]}__(...e){if(typeof arguments[0]!=="string")return this._taggedLiteral(arguments[0],...arguments);let t=e.shift(),n=function(){};if(typeof e[e.length-1]==="function")n=e.pop();if(n=n||function(){},!this.cache[this.locale])this._readLocaleFile();if(!this.cache[this.locale][t]&&this.updateFiles)this.cache[this.locale][t]=t,this._enqueueWrite({directory:this.directory,locale:this.locale,cb:n});else n();return Ut.format.apply(Ut.format,[this.cache[this.locale][t]||t].concat(e))}__n(){let e=Array.prototype.slice.call(arguments),t=e.shift(),n=e.shift(),r=e.shift(),i=function(){};if(typeof e[e.length-1]==="function")i=e.pop();if(!this.cache[this.locale])this._readLocaleFile();let s=r===1?t:n;if(this.cache[this.locale][t])s=this.cache[this.locale][t][r===1?"one":"other"];if(!this.cache[this.locale][t]&&this.updateFiles)this.cache[this.locale][t]={one:t,other:n},this._enqueueWrite({directory:this.directory,locale:this.locale,cb:i});else i();let c=[s];if(~s.indexOf("%d"))c.push(r);return Ut.format.apply(Ut.format,c.concat(e))}setLocale(e){this.locale=e}getLocale(){return this.locale}updateLocale(e){if(!this.cache[this.locale])this._readLocaleFile();for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))this.cache[this.locale][t]=e[t]}_taggedLiteral(e,...t){let n="";return e.forEach(function(r,i){let s=t[i+1];if(n+=r,typeof s<"u")n+="%s"}),this.__.apply(this,[n].concat([].slice.call(t,1)))}_enqueueWrite(e){if(this.writeQueue.push(e),this.writeQueue.length===1)this._processWriteQueue()}_processWriteQueue(){let e=this,t=this.writeQueue[0],n=t.directory,r=t.locale,i=t.cb,s=this._resolveLocaleFile(n,r),c=JSON.stringify(this.cache[r],null,2);Ut.fs.writeFile(s,c,"utf-8",function(a){if(e.writeQueue.shift(),e.writeQueue.length>0)e._processWriteQueue();i(a)})}_readLocaleFile(){let e={},t=this._resolveLocaleFile(this.directory,this.locale);try{if(Ut.fs.readFileSync)e=JSON.parse(Ut.fs.readFileSync(t,"utf-8"))}catch(n){if(n instanceof SyntaxError)n.message="syntax error in "+t;if(n.code==="ENOENT")e={};else throw n}this.cache[this.locale]=e}_resolveLocaleFile(e,t){let n=Ut.resolve(e,"./",t+".json");if(this.fallbackToLanguage&&!this._fileExistsSync(n)&&~t.lastIndexOf("_")){let r=Ut.resolve(e,"./",t.split("_")[0]+".json");if(this._fileExistsSync(r))n=r}return n}_fileExistsSync(e){return Ut.exists(e)}}function _s(e,t){Ut=t;let n=new Qs(e);return{__:n.__.bind(n),__n:n.__n.bind(n),setLocale:n.setLocale.bind(n),getLocale:n.getLocale.bind(n),updateLocale:n.updateLocale.bind(n),locale:n.locale}}var Yu=(e)=>{return _s(e,Zs)},ec=Yu;var sd="require is not supported by ESM",nc="loading a directory of commands is not supported yet for ESM",Br;try{Br=td(import.meta.url)}catch(e){Br=process.cwd()}var cd=Br.substring(0,Br.lastIndexOf("node_modules")),di={assert:{notStrictEqual:Zu,strictEqual:Qu},cliui:ri,findUp:oi,getEnv:(e)=>{return process.env[e]},inspect:_u,getCallerFile:()=>{throw new Ke(nc)},getProcessArgvBin:Ys,mainFilename:cd||process.cwd(),Parser:fi,path:{basename:nd,dirname:rd,extname:od,relative:id,resolve:tc},process:{argv:()=>process.argv,cwd:process.cwd,emitWarning:(e,t)=>process.emitWarning(e,t),execPath:()=>process.execPath,exit:process.exit,nextTick:process.nextTick,stdColumns:typeof process.stdout.columns<"u"?process.stdout.columns:null},readFileSync:ed,require:()=>{throw new Ke(sd)},requireDirectory:()=>{throw new Ke(nc)},stringWidth:(e)=>{return[...e].length},y18n:ec({directory:tc(Br,"../../../locales"),updateFiles:!1})};function xt(e,t,n,r){n.assert.notStrictEqual(e,t,r)}function hi(e,t){t.assert.strictEqual(typeof e,"string")}function rr(e){return Object.keys(e)}function Ge(e){return!!e&&!!e.then&&typeof e.then==="function"}function vn(e){let n=e.replace(/\s{2,}/g," ").split(/\s+(?![^[]*]|[^<]*>)/),r=/\.*[\][<>]/g,i=n.shift();if(!i)throw Error(`No command found in: ${e}`);let s={cmd:i.replace(r,""),demanded:[],optional:[]};return n.forEach((c,a)=>{let d=!1;if(c=c.replace(/\s/g,""),/\.+[\]>]/.test(c)&&a===n.length-1)d=!0;if(/^\[/.test(c))s.optional.push({cmd:c.replace(r,"").split("|"),variadic:d});else s.demanded.push({cmd:c.replace(r,"").split("|"),variadic:d})}),s}var ad=["first","second","third","fourth","fifth","sixth"];function be(e,t,n){function r(){return typeof e==="object"?[{demanded:[],optional:[]},e,t]:[vn(`cmd ${e}`),t,n]}try{let i=0,[s,c,a]=r(),d=[].slice.call(c);while(d.length&&d[d.length-1]===void 0)d.pop();let h=a||d.length;if(h<s.demanded.length)throw new Ke(`Not enough arguments provided. Expected ${s.demanded.length} but received ${d.length}.`);let p=s.demanded.length+s.optional.length;if(h>p)throw new Ke(`Too many arguments provided. Expected max ${p} but received ${h}.`);s.demanded.forEach((m)=>{let w=d.shift(),A=rc(w);if(m.cmd.filter((b)=>b===A||b==="*").length===0)oc(A,m.cmd,i);i+=1}),s.optional.forEach((m)=>{if(d.length===0)return;let w=d.shift(),A=rc(w);if(m.cmd.filter((b)=>b===A||b==="*").length===0)oc(A,m.cmd,i);i+=1})}catch(i){console.warn(i.stack)}}function rc(e){if(Array.isArray(e))return"array";else if(e===null)return"null";return typeof e}function oc(e,t,n){throw new Ke(`Invalid ${ad[n]||"manyith"} argument. Expected ${t.join(" or ")} but received ${e}.`)}class mi{constructor(e){this.globalMiddleware=[],this.frozens=[],this.yargs=e}addMiddleware(e,t,n=!0,r=!1){if(be("<array|function> [boolean] [boolean] [boolean]",[e,t,n],arguments.length),Array.isArray(e)){for(let i=0;i<e.length;i++){if(typeof e[i]!=="function")throw Error("middleware must be a function");let s=e[i];s.applyBeforeValidation=t,s.global=n}Array.prototype.push.apply(this.globalMiddleware,e)}else if(typeof e==="function"){let i=e;i.applyBeforeValidation=t,i.global=n,i.mutates=r,this.globalMiddleware.push(e)}return this.yargs}addCoerceMiddleware(e,t){let n=this.yargs.getAliases();return this.globalMiddleware=this.globalMiddleware.filter((r)=>{let i=[...n[t]||[],t];if(!r.option)return!0;else return!i.includes(r.option)}),e.option=t,this.addMiddleware(e,!0,!0,!0)}getMiddleware(){return this.globalMiddleware}freeze(){this.frozens.push([...this.globalMiddleware])}unfreeze(){let e=this.frozens.pop();if(e!==void 0)this.globalMiddleware=e}reset(){this.globalMiddleware=this.globalMiddleware.filter((e)=>e.global)}}function ic(e){if(!e)return[];return e.map((t)=>{return t.applyBeforeValidation=!1,t})}function Nn(e,t,n,r){return n.reduce((i,s)=>{if(s.applyBeforeValidation!==r)return i;if(s.mutates){if(s.applied)return i;s.applied=!0}if(Ge(i))return i.then((c)=>Promise.all([c,s(c,t)])).then(([c,a])=>Object.assign(c,a));else{let c=s(i,t);return Ge(c)?c.then((a)=>Object.assign(i,a)):Object.assign(i,c)}},e)}function jn(e,t,n=(r)=>{throw r}){try{let r=ld(e)?e():e;return Ge(r)?r.then((i)=>t(i)):t(r)}catch(r){return n(r)}}function ld(e){return typeof e==="function"}function pi(e){for(let t=0,n=Object.keys(on.cache),r;t<n.length;t++)if(r=on.cache[n[t]],r.exports===e)return r;return null}var or=/(^\*)|(^\$0)/;class cc{constructor(e,t,n,r){this.requireCache=new Set,this.handlers={},this.aliasMap={},this.frozens=[],this.shim=r,this.usage=e,this.globalMiddleware=n,this.validation=t}addDirectory(e,t,n,r){if(r=r||{},typeof r.recurse!=="boolean")r.recurse=!1;if(!Array.isArray(r.extensions))r.extensions=["js"];let i=typeof r.visit==="function"?r.visit:(s)=>s;r.visit=(s,c,a)=>{let d=i(s,c,a);if(d){if(this.requireCache.has(c))return d;else this.requireCache.add(c);this.addHandler(d)}return d},this.shim.requireDirectory({require:t,filename:n},e,r)}addHandler(e,t,n,r,i,s){let c=[],a=ic(i);if(r=r||(()=>{}),Array.isArray(e))if(fd(e))[e,...c]=e;else for(let d of e)this.addHandler(d);else if(dd(e)){let d=Array.isArray(e.command)||typeof e.command==="string"?e.command:this.moduleName(e);if(e.aliases)d=[].concat(d).concat(e.aliases);this.addHandler(d,this.extractDesc(e),e.builder,e.handler,e.middlewares,e.deprecated);return}else if(sc(n)){this.addHandler([e].concat(c),t,n.builder,n.handler,n.middlewares,n.deprecated);return}if(typeof e==="string"){let d=vn(e);c=c.map((m)=>vn(m).cmd);let h=!1,p=[d.cmd].concat(c).filter((m)=>{if(or.test(m))return h=!0,!1;return!0});if(p.length===0&&h)p.push("$0");if(h)d.cmd=p[0],c=p.slice(1),e=e.replace(or,d.cmd);if(c.forEach((m)=>{this.aliasMap[m]=d.cmd}),t!==!1)this.usage.command(e,t,h,c,s);if(this.handlers[d.cmd]={original:e,description:t,handler:r,builder:n||{},middlewares:a,deprecated:s,demanded:d.demanded,optional:d.optional},h)this.defaultCommand=this.handlers[d.cmd]}}getCommandHandlers(){return this.handlers}getCommands(){return Object.keys(this.handlers).concat(Object.keys(this.aliasMap))}hasDefaultCommand(){return!!this.defaultCommand}runCommand(e,t,n,r,i,s){let c=this.handlers[e]||this.handlers[this.aliasMap[e]]||this.defaultCommand,a=t.getInternalMethods().getContext(),d=a.commands.slice(),h=!e;if(e)a.commands.push(e),a.fullCommands.push(c.original);let p=this.applyBuilderUpdateUsageAndParse(h,c,t,n.aliases,d,r,i,s);return Ge(p)?p.then((m)=>this.applyMiddlewareAndGetResult(h,c,m.innerArgv,a,i,m.aliases,t)):this.applyMiddlewareAndGetResult(h,c,p.innerArgv,a,i,p.aliases,t)}applyBuilderUpdateUsageAndParse(e,t,n,r,i,s,c,a){let d=t.builder,h=n;if(so(d)){n.getInternalMethods().getUsageInstance().freeze();let p=d(n.getInternalMethods().reset(r),a);if(Ge(p))return p.then((m)=>{return h=lc(m)?m:n,this.parseAndUpdateUsage(e,t,h,i,s,c)})}else if(ud(d))n.getInternalMethods().getUsageInstance().freeze(),h=n.getInternalMethods().reset(r),Object.keys(t.builder).forEach((p)=>{h.option(p,d[p])});return this.parseAndUpdateUsage(e,t,h,i,s,c)}parseAndUpdateUsage(e,t,n,r,i,s){if(e)n.getInternalMethods().getUsageInstance().unfreeze(!0);if(this.shouldUpdateUsage(n))n.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(r,t),t.description);let c=n.getInternalMethods().runYargsParserAndExecuteCommands(null,void 0,!0,i,s);return Ge(c)?c.then((a)=>({aliases:n.parsed.aliases,innerArgv:a})):{aliases:n.parsed.aliases,innerArgv:c}}shouldUpdateUsage(e){return!e.getInternalMethods().getUsageInstance().getUsageDisabled()&&e.getInternalMethods().getUsageInstance().getUsage().length===0}usageFromParentCommandsCommandHandler(e,t){let n=or.test(t.original)?t.original.replace(or,"").trim():t.original,r=e.filter((i)=>{return!or.test(i)});return r.push(n),`$0 ${r.join(" ")}`}handleValidationAndGetResult(e,t,n,r,i,s,c,a){if(!s.getInternalMethods().getHasOutput()){let d=s.getInternalMethods().runValidation(i,a,s.parsed.error,e);n=jn(n,(h)=>{return d(h),h})}if(t.handler&&!s.getInternalMethods().getHasOutput()){s.getInternalMethods().setHasOutput();let d=!!s.getOptions().configuration["populate--"];if(s.getInternalMethods().postProcess(n,d,!1,!1),n=Nn(n,s,c,!1),n=jn(n,(h)=>{let p=t.handler(h);return Ge(p)?p.then(()=>h):h}),!e)s.getInternalMethods().getUsageInstance().cacheHelpMessage();if(Ge(n)&&!s.getInternalMethods().hasParseCallback())n.catch((h)=>{try{s.getInternalMethods().getUsageInstance().fail(null,h)}catch(p){}})}if(!e)r.commands.pop(),r.fullCommands.pop();return n}applyMiddlewareAndGetResult(e,t,n,r,i,s,c){let a={};if(i)return n;if(!c.getInternalMethods().getHasOutput())a=this.populatePositionals(t,n,r,c);let d=this.globalMiddleware.getMiddleware().slice(0).concat(t.middlewares),h=Nn(n,c,d,!0);return Ge(h)?h.then((p)=>this.handleValidationAndGetResult(e,t,p,r,s,c,d,a)):this.handleValidationAndGetResult(e,t,h,r,s,c,d,a)}populatePositionals(e,t,n,r){t._=t._.slice(n.commands.length);let i=e.demanded.slice(0),s=e.optional.slice(0),c={};this.validation.positionalCount(i.length,t._.length);while(i.length){let a=i.shift();this.populatePositional(a,t,c)}while(s.length){let a=s.shift();this.populatePositional(a,t,c)}return t._=n.commands.concat(t._.map((a)=>""+a)),this.postProcessPositionals(t,c,this.cmdToParseOptions(e.original),r),c}populatePositional(e,t,n){let r=e.cmd[0];if(e.variadic)n[r]=t._.splice(0).map(String);else if(t._.length)n[r]=[String(t._.shift())]}cmdToParseOptions(e){let t={array:[],default:{},alias:{},demand:{}},n=vn(e);return n.demanded.forEach((r)=>{let[i,...s]=r.cmd;if(r.variadic)t.array.push(i),t.default[i]=[];t.alias[i]=s,t.demand[i]=!0}),n.optional.forEach((r)=>{let[i,...s]=r.cmd;if(r.variadic)t.array.push(i),t.default[i]=[];t.alias[i]=s}),t}postProcessPositionals(e,t,n,r){let i=Object.assign({},r.getOptions());i.default=Object.assign(n.default,i.default);for(let d of Object.keys(n.alias))i.alias[d]=(i.alias[d]||[]).concat(n.alias[d]);i.array=i.array.concat(n.array),i.config={};let s=[];if(Object.keys(t).forEach((d)=>{t[d].map((h)=>{if(i.configuration["unknown-options-as-args"])i.key[d]=!0;s.push(`--${d}`),s.push(h)})}),!s.length)return;let c=Object.assign({},i.configuration,{"populate--":!1}),a=this.shim.Parser.detailed(s,Object.assign({},i,{configuration:c}));if(a.error)r.getInternalMethods().getUsageInstance().fail(a.error.message,a.error);else{let d=Object.keys(t);Object.keys(t).forEach((h)=>{d.push(...a.aliases[h])}),Object.keys(a.argv).forEach((h)=>{if(d.includes(h)){if(!t[h])t[h]=a.argv[h];if(!this.isInConfigs(r,h)&&!this.isDefaulted(r,h)&&Object.prototype.hasOwnProperty.call(e,h)&&Object.prototype.hasOwnProperty.call(a.argv,h)&&(Array.isArray(e[h])||Array.isArray(a.argv[h])))e[h]=[].concat(e[h],a.argv[h]);else e[h]=a.argv[h]}})}}isDefaulted(e,t){let{default:n}=e.getOptions();return Object.prototype.hasOwnProperty.call(n,t)||Object.prototype.hasOwnProperty.call(n,this.shim.Parser.camelCase(t))}isInConfigs(e,t){let{configObjects:n}=e.getOptions();return n.some((r)=>Object.prototype.hasOwnProperty.call(r,t))||n.some((r)=>Object.prototype.hasOwnProperty.call(r,this.shim.Parser.camelCase(t)))}runDefaultBuilderOn(e){if(!this.defaultCommand)return;if(this.shouldUpdateUsage(e)){let n=or.test(this.defaultCommand.original)?this.defaultCommand.original:this.defaultCommand.original.replace(/^[^[\]<>]*/,"$0 ");e.getInternalMethods().getUsageInstance().usage(n,this.defaultCommand.description)}let t=this.defaultCommand.builder;if(so(t))return t(e,!0);else if(!sc(t))Object.keys(t).forEach((n)=>{e.option(n,t[n])});return}moduleName(e){let t=pi(e);if(!t)throw Error(`No command name given for module: ${this.shim.inspect(e)}`);return this.commandFromFilename(t.filename)}commandFromFilename(e){return this.shim.path.basename(e,this.shim.path.extname(e))}extractDesc({describe:e,description:t,desc:n}){for(let r of[e,t,n]){if(typeof r==="string"||r===!1)return r;xt(r,!0,this.shim)}return!1}freeze(){this.frozens.push({handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand})}unfreeze(){let e=this.frozens.pop();xt(e,void 0,this.shim),{handlers:this.handlers,aliasMap:this.aliasMap,defaultCommand:this.defaultCommand}=e}reset(){return this.handlers={},this.aliasMap={},this.defaultCommand=void 0,this.requireCache=new Set,this}}function ac(e,t,n,r){return new cc(e,t,n,r)}function sc(e){return typeof e==="object"&&!!e.builder&&typeof e.handler==="function"}function fd(e){return e.every((t)=>typeof t==="string")}function so(e){return typeof e==="function"}function ud(e){return typeof e==="object"}function dd(e){return typeof e==="object"&&!Array.isArray(e)}function yn(e={},t=()=>!0){let n={};return rr(e).forEach((r)=>{if(t(r,e[r]))n[r]=e[r]}),n}function $n(e){if(typeof process>"u")return;[process.stdout,process.stderr].forEach((t)=>{let n=t;if(n._handle&&n.isTTY&&typeof n._handle.setBlocking==="function")n._handle.setBlocking(e)})}function hd(e){return typeof e==="boolean"}function uc(e,t){let n=t.y18n.__,r={},i=[];r.failFn=function(J){i.push(J)};let s=null,c=null,a=!0;r.showHelpOnFail=function(J=!0,q){let[re,he]=typeof J==="string"?[!0,J]:[J,q];if(e.getInternalMethods().isGlobalContext())c=he;return s=he,a=re,r};let d=!1;r.fail=function(J,q){let re=e.getInternalMethods().getLoggerInstance();if(i.length)for(let he=i.length-1;he>=0;--he){let _=i[he];if(hd(_)){if(q)throw q;else if(J)throw Error(J)}else _(J,q,r)}else{if(e.getExitProcess())$n(!0);if(!d){if(d=!0,a)e.showHelp("error"),re.error();if(J||q)re.error(J||q);let he=s||c;if(he){if(J||q)re.error("");re.error(he)}}if(q=q||new Ke(J),e.getExitProcess())return e.exit(1);else if(e.getInternalMethods().hasParseCallback())return e.exit(1,q);else throw q}};let h=[],p=!1;r.usage=(U,J)=>{if(U===null)return p=!0,h=[],r;return p=!1,h.push([U,J||""]),r},r.getUsage=()=>{return h},r.getUsageDisabled=()=>{return p},r.getPositionalGroupName=()=>{return n("Positionals:")};let m=[];r.example=(U,J)=>{m.push([U,J||""])};let w=[];r.command=function(J,q,re,he,_=!1){if(re)w=w.map((me)=>{return me[2]=!1,me});w.push([J,q||"",re,he,_])},r.getCommands=()=>w;let A={};r.describe=function(J,q){if(Array.isArray(J))J.forEach((re)=>{r.describe(re,q)});else if(typeof J==="object")Object.keys(J).forEach((re)=>{r.describe(re,J[re])});else A[J]=q},r.getDescriptions=()=>A;let D=[];r.epilog=(U)=>{D.push(U)};let b=!1,S;r.wrap=(U)=>{b=!0,S=U},r.getWrap=()=>{if(t.getEnv("YARGS_DISABLE_WRAP"))return null;if(!b)S=K(),b=!0;return S};let M="__yargsString__:";r.deferY18nLookup=(U)=>M+U,r.help=function(){if(y)return y;v();let J=e.customScriptName?e.$0:t.path.basename(e.$0),q=e.getDemandedOptions(),re=e.getDemandedCommands(),he=e.getDeprecatedOptions(),_=e.getGroups(),me=e.getOptions(),Ee=[];Ee=Ee.concat(Object.keys(A)),Ee=Ee.concat(Object.keys(q)),Ee=Ee.concat(Object.keys(re)),Ee=Ee.concat(Object.keys(me.default)),Ee=Ee.filter(G),Ee=Object.keys(Ee.reduce((ne,ge)=>{if(ge!=="_")ne[ge]=!0;return ne},{}));let R=r.getWrap(),O=t.cliui({width:R,wrap:!!R});if(!p){if(h.length)h.forEach((ne)=>{if(O.div({text:`${ne[0].replace(/\$0/g,J)}`}),ne[1])O.div({text:`${ne[1]}`,padding:[1,0,0,0]})}),O.div();else if(w.length){let ne=null;if(re._)ne=`${J} <${n("command")}>
165
+ `;else ne=`${J} [${n("command")}]
166
+ `;O.div(`${ne}`)}}if(w.length>1||w.length===1&&!w[0][2]){O.div(n("Commands:"));let ne=e.getInternalMethods().getContext(),ge=ne.commands.length?`${ne.commands.join(" ")} `:"";if(e.getInternalMethods().getParserConfiguration()["sort-commands"]===!0)w=w.sort((pe,ve)=>pe[0].localeCompare(ve[0]));let Se=J?`${J} `:"";w.forEach((pe)=>{let ve=`${Se}${ge}${pe[0].replace(/^\$0 ?/,"")}`;O.span({text:ve,padding:[0,2,0,2],width:F(w,R,`${J}${ge}`)+4},{text:pe[1]});let Me=[];if(pe[2])Me.push(`[${n("default")}]`);if(pe[3]&&pe[3].length)Me.push(`[${n("aliases:")} ${pe[3].join(", ")}]`);if(pe[4])if(typeof pe[4]==="string")Me.push(`[${n("deprecated: %s",pe[4])}]`);else Me.push(`[${n("deprecated")}]`);if(Me.length)O.div({text:Me.join(" "),padding:[0,0,0,2],align:"right"});else O.div()}),O.div()}let V=(Object.keys(me.alias)||[]).concat(Object.keys(e.parsed.newAliases)||[]);Ee=Ee.filter((ne)=>!e.parsed.newAliases[ne]&&V.every((ge)=>(me.alias[ge]||[]).indexOf(ne)===-1));let N=n("Options:");if(!_[N])_[N]=[];P(Ee,me.alias,_,N);let I=(ne)=>/^--/.test(co(ne)),ee=Object.keys(_).filter((ne)=>_[ne].length>0).map((ne)=>{let ge=_[ne].filter(G).map((Se)=>{if(V.includes(Se))return Se;for(let pe=0,ve;(ve=V[pe])!==void 0;pe++)if((me.alias[ve]||[]).includes(Se))return ve;return Se});return{groupName:ne,normalizedKeys:ge}}).filter(({normalizedKeys:ne})=>ne.length>0).map(({groupName:ne,normalizedKeys:ge})=>{let Se=ge.reduce((pe,ve)=>{return pe[ve]=[ve].concat(me.alias[ve]||[]).map((Me)=>{if(ne===r.getPositionalGroupName())return Me;else return(/^[0-9]$/.test(Me)?me.boolean.includes(ve)?"-":"--":Me.length>1?"--":"-")+Me}).sort((Me,Re)=>I(Me)===I(Re)?0:I(Me)?1:-1).join(", "),pe},{});return{groupName:ne,normalizedKeys:ge,switches:Se}});if(ee.filter(({groupName:ne})=>ne!==r.getPositionalGroupName()).some(({normalizedKeys:ne,switches:ge})=>!ne.every((Se)=>I(ge[Se]))))ee.filter(({groupName:ne})=>ne!==r.getPositionalGroupName()).forEach(({normalizedKeys:ne,switches:ge})=>{ne.forEach((Se)=>{if(I(ge[Se]))ge[Se]=md(ge[Se],4)})});if(ee.forEach(({groupName:ne,normalizedKeys:ge,switches:Se})=>{O.div(ne),ge.forEach((pe)=>{let ve=Se[pe],Me=A[pe]||"",Re=null;if(Me.includes(M))Me=n(Me.substring(M.length));if(me.boolean.includes(pe))Re=`[${n("boolean")}]`;if(me.count.includes(pe))Re=`[${n("count")}]`;if(me.string.includes(pe))Re=`[${n("string")}]`;if(me.normalize.includes(pe))Re=`[${n("string")}]`;if(me.array.includes(pe))Re=`[${n("array")}]`;if(me.number.includes(pe))Re=`[${n("number")}]`;let W=(k)=>typeof k==="string"?`[${n("deprecated: %s",k)}]`:`[${n("deprecated")}]`,u=[pe in he?W(he[pe]):null,Re,pe in q?`[${n("required")}]`:null,me.choices&&me.choices[pe]?`[${n("choices:")} ${r.stringifiedValues(me.choices[pe])}]`:null,T(me.default[pe],me.defaultDescription[pe])].filter(Boolean).join(" ");O.span({text:co(ve),padding:[0,2,0,2+fc(ve)],width:F(Se,R)+4},Me);let x=e.getInternalMethods().getUsageConfiguration()["hide-types"]===!0;if(u&&!x)O.div({text:u,padding:[0,0,0,2],align:"right"});else O.div()}),O.div()}),m.length)O.div(n("Examples:")),m.forEach((ne)=>{ne[0]=ne[0].replace(/\$0/g,J)}),m.forEach((ne)=>{if(ne[1]==="")O.div({text:ne[0],padding:[0,2,0,2]});else O.div({text:ne[0],padding:[0,2,0,2],width:F(m,R)+4},{text:ne[1]})}),O.div();if(D.length>0){let ne=D.map((ge)=>ge.replace(/\$0/g,J)).join(`
167
+ `);O.div(`${ne}
168
+ `)}return O.toString().replace(/\s*$/,"")};function F(U,J,q){let re=0;if(!Array.isArray(U))U=Object.values(U).map((he)=>[he]);if(U.forEach((he)=>{re=Math.max(t.stringWidth(q?`${q} ${co(he[0])}`:co(he[0]))+fc(he[0]),re)}),J)re=Math.min(re,parseInt((J*0.5).toString(),10));return re}function v(){let U=e.getDemandedOptions(),J=e.getOptions();(Object.keys(J.alias)||[]).forEach((q)=>{J.alias[q].forEach((re)=>{if(A[re])r.describe(q,A[re]);if(re in U)e.demandOption(q,U[re]);if(J.boolean.includes(re))e.boolean(q);if(J.count.includes(re))e.count(q);if(J.string.includes(re))e.string(q);if(J.normalize.includes(re))e.normalize(q);if(J.array.includes(re))e.array(q);if(J.number.includes(re))e.number(q)})})}let y;r.cacheHelpMessage=function(){y=this.help()},r.clearCachedHelpMessage=function(){y=void 0},r.hasCachedHelpMessage=function(){return!!y};function P(U,J,q,re){let he=[],_=null;return Object.keys(q).forEach((me)=>{he=he.concat(q[me])}),U.forEach((me)=>{if(_=[me].concat(J[me]),!_.some((Ee)=>he.indexOf(Ee)!==-1))q[re].push(me)}),he}function G(U){return e.getOptions().hiddenOptions.indexOf(U)<0||e.parsed.argv[e.getOptions().showHiddenOpt]}r.showHelp=(U)=>{let J=e.getInternalMethods().getLoggerInstance();if(!U)U="error";(typeof U==="function"?U:J[U])(r.help())},r.functionDescription=(U)=>{return["(",U.name?t.Parser.decamelize(U.name,"-"):n("generated-value"),")"].join("")},r.stringifiedValues=function(J,q){let re="",he=q||", ",_=[].concat(J);if(!J||!_.length)return re;return _.forEach((me)=>{if(re.length)re+=he;re+=JSON.stringify(me)}),re};function T(U,J){let q=`[${n("default:")} `;if(U===void 0&&!J)return null;if(J)q+=J;else switch(typeof U){case"string":q+=`"${U}"`;break;case"object":q+=JSON.stringify(U);break;default:q+=U}return`${q}]`}function K(){if(t.process.stdColumns)return Math.min(80,t.process.stdColumns);else return 80}let X=null;r.version=(U)=>{X=U},r.showVersion=(U)=>{let J=e.getInternalMethods().getLoggerInstance();if(!U)U="error";(typeof U==="function"?U:J[U])(X)},r.reset=function(J){return s=null,d=!1,h=[],p=!1,D=[],m=[],w=[],A=yn(A,(q)=>!J[q]),r};let H=[];return r.freeze=function(){H.push({failMessage:s,failureOutput:d,usages:h,usageDisabled:p,epilogs:D,examples:m,commands:w,descriptions:A})},r.unfreeze=function(J=!1){let q=H.pop();if(!q)return;if(J)A={...q.descriptions,...A},w=[...q.commands,...w],h=[...q.usages,...h],m=[...q.examples,...m],D=[...q.epilogs,...D];else({failMessage:s,failureOutput:d,usages:h,usageDisabled:p,epilogs:D,examples:m,commands:w,descriptions:A}=q)},r}function gi(e){return typeof e==="object"}function md(e,t){return gi(e)?{text:e.text,indentation:e.indentation+t}:{text:e,indentation:t}}function fc(e){return gi(e)?e.indentation:0}function co(e){return gi(e)?e.text:e}var dc=`###-begin-{{app_name}}-completions-###
169
+ #
170
+ # yargs command completion script
171
+ #
172
+ # Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
173
+ # or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.
174
+ #
175
+ _{{app_name}}_yargs_completions()
176
+ {
177
+ local cur_word args type_list
178
+
179
+ cur_word="\${COMP_WORDS[COMP_CWORD]}"
180
+ args=("\${COMP_WORDS[@]}")
181
+
182
+ # ask yargs to generate completions.
183
+ type_list=$({{app_path}} --get-yargs-completions "\${args[@]}")
184
+
185
+ COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) )
186
+
187
+ # if no match was found, fall back to filename completion
188
+ if [ \${#COMPREPLY[@]} -eq 0 ]; then
189
+ COMPREPLY=()
190
+ fi
191
+
192
+ return 0
193
+ }
194
+ complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}}
195
+ ###-end-{{app_name}}-completions-###
196
+ `,hc=`#compdef {{app_name}}
197
+ ###-begin-{{app_name}}-completions-###
198
+ #
199
+ # yargs command completion script
200
+ #
201
+ # Installation: {{app_path}} {{completion_command}} >> ~/.zshrc
202
+ # or {{app_path}} {{completion_command}} >> ~/.zprofile on OSX.
203
+ #
204
+ _{{app_name}}_yargs_completions()
205
+ {
206
+ local reply
207
+ local si=$IFS
208
+ IFS=$'
209
+ ' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}"))
210
+ IFS=$si
211
+ _describe 'values' reply
212
+ }
213
+ compdef _{{app_name}}_yargs_completions {{app_name}}
214
+ ###-end-{{app_name}}-completions-###
215
+ `;class mc{constructor(e,t,n,r){var i,s,c;this.yargs=e,this.usage=t,this.command=n,this.shim=r,this.completionKey="get-yargs-completions",this.aliases=null,this.customCompletionFunction=null,this.indexAfterLastReset=0,this.zshShell=(c=((i=this.shim.getEnv("SHELL"))===null||i===void 0?void 0:i.includes("zsh"))||((s=this.shim.getEnv("ZSH_NAME"))===null||s===void 0?void 0:s.includes("zsh")))!==null&&c!==void 0?c:!1}defaultCompletion(e,t,n,r){let i=this.command.getCommandHandlers();for(let c=0,a=e.length;c<a;++c)if(i[e[c]]&&i[e[c]].builder){let d=i[e[c]].builder;if(so(d)){this.indexAfterLastReset=c+1;let h=this.yargs.getInternalMethods().reset();return d(h,!0),h.argv}}let s=[];this.commandCompletions(s,e,n),this.optionCompletions(s,e,t,n),this.choicesFromOptionsCompletions(s,e,t,n),this.choicesFromPositionalsCompletions(s,e,t,n),r(null,s)}commandCompletions(e,t,n){let r=this.yargs.getInternalMethods().getContext().commands;if(!n.match(/^-/)&&r[r.length-1]!==n&&!this.previousArgHasChoices(t))this.usage.getCommands().forEach((i)=>{let s=vn(i[0]).cmd;if(t.indexOf(s)===-1)if(!this.zshShell)e.push(s);else{let c=i[1]||"";e.push(s.replace(/:/g,"\\:")+":"+c)}})}optionCompletions(e,t,n,r){if((r.match(/^-/)||r===""&&e.length===0)&&!this.previousArgHasChoices(t)){let i=this.yargs.getOptions(),s=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[];Object.keys(i.key).forEach((c)=>{let a=!!i.configuration["boolean-negation"]&&i.boolean.includes(c);if(!s.includes(c)&&!i.hiddenOptions.includes(c)&&!this.argsContainKey(t,c,a))this.completeOptionKey(c,e,r,a&&!!i.default[c])})}}choicesFromOptionsCompletions(e,t,n,r){if(this.previousArgHasChoices(t)){let i=this.getPreviousArgChoices(t);if(i&&i.length>0)e.push(...i.map((s)=>s.replace(/:/g,"\\:")))}}choicesFromPositionalsCompletions(e,t,n,r){if(r===""&&e.length>0&&this.previousArgHasChoices(t))return;let i=this.yargs.getGroups()[this.usage.getPositionalGroupName()]||[],s=Math.max(this.indexAfterLastReset,this.yargs.getInternalMethods().getContext().commands.length+1),c=i[n._.length-s-1];if(!c)return;let a=this.yargs.getOptions().choices[c]||[];for(let d of a)if(d.startsWith(r))e.push(d.replace(/:/g,"\\:"))}getPreviousArgChoices(e){if(e.length<1)return;let t=e[e.length-1],n="";if(!t.startsWith("-")&&e.length>1)n=t,t=e[e.length-2];if(!t.startsWith("-"))return;let r=t.replace(/^-+/,""),i=this.yargs.getOptions(),s=[r,...this.yargs.getAliases()[r]||[]],c;for(let a of s)if(Object.prototype.hasOwnProperty.call(i.key,a)&&Array.isArray(i.choices[a])){c=i.choices[a];break}if(c)return c.filter((a)=>!n||a.startsWith(n))}previousArgHasChoices(e){let t=this.getPreviousArgChoices(e);return t!==void 0&&t.length>0}argsContainKey(e,t,n){let r=(i)=>e.indexOf((/^[^0-9]$/.test(i)?"-":"--")+i)!==-1;if(r(t))return!0;if(n&&r(`no-${t}`))return!0;if(this.aliases){for(let i of this.aliases[t])if(r(i))return!0}return!1}completeOptionKey(e,t,n,r){var i,s,c,a;let d=e;if(this.zshShell){let w=this.usage.getDescriptions(),A=(s=(i=this===null||this===void 0?void 0:this.aliases)===null||i===void 0?void 0:i[e])===null||s===void 0?void 0:s.find((S)=>{let M=w[S];return typeof M==="string"&&M.length>0}),D=A?w[A]:void 0,b=(a=(c=w[e])!==null&&c!==void 0?c:D)!==null&&a!==void 0?a:"";d=`${e.replace(/:/g,"\\:")}:${b.replace("__yargsString__:","").replace(/(\r\n|\n|\r)/gm," ")}`}let h=(w)=>/^--/.test(w),p=(w)=>/^[^0-9]$/.test(w),m=!h(n)&&p(e)?"-":"--";if(t.push(m+d),r)t.push(m+"no-"+d)}customCompletion(e,t,n,r){if(xt(this.customCompletionFunction,null,this.shim),gd(this.customCompletionFunction)){let i=this.customCompletionFunction(n,t);if(Ge(i))return i.then((s)=>{this.shim.process.nextTick(()=>{r(null,s)})}).catch((s)=>{this.shim.process.nextTick(()=>{r(s,void 0)})});return r(null,i)}else if(xd(this.customCompletionFunction))return this.customCompletionFunction(n,t,(i=r)=>this.defaultCompletion(e,t,n,i),(i)=>{r(null,i)});else return this.customCompletionFunction(n,t,(i)=>{r(null,i)})}getCompletion(e,t){let n=e.length?e[e.length-1]:"",r=this.yargs.parse(e,!0),i=this.customCompletionFunction?(s)=>this.customCompletion(e,s,n,t):(s)=>this.defaultCompletion(e,s,n,t);return Ge(r)?r.then(i):i(r)}generateCompletionScript(e,t){let n=this.zshShell?hc:dc,r=this.shim.path.basename(e);if(e.match(/\.js$/))e=`./${e}`;return n=n.replace(/{{app_name}}/g,r),n=n.replace(/{{completion_command}}/g,t),n.replace(/{{app_path}}/g,e)}registerFunction(e){this.customCompletionFunction=e}setParsed(e){this.aliases=e.aliases}}function pc(e,t,n,r){return new mc(e,t,n,r)}function gd(e){return e.length<3}function xd(e){return e.length>3}function gc(e,t){if(e.length===0)return t.length;if(t.length===0)return e.length;let n=[],r;for(r=0;r<=t.length;r++)n[r]=[r];let i;for(i=0;i<=e.length;i++)n[0][i]=i;for(r=1;r<=t.length;r++)for(i=1;i<=e.length;i++)if(t.charAt(r-1)===e.charAt(i-1))n[r][i]=n[r-1][i-1];else if(r>1&&i>1&&t.charAt(r-2)===e.charAt(i-1)&&t.charAt(r-1)===e.charAt(i-2))n[r][i]=n[r-2][i-2]+1;else n[r][i]=Math.min(n[r-1][i-1]+1,Math.min(n[r][i-1]+1,n[r-1][i]+1));return n[t.length][e.length]}var xc=["$0","--","_"];function wc(e,t,n){let r=n.y18n.__,i=n.y18n.__n,s={};s.nonOptionCount=function(m){let w=e.getDemandedCommands(),D=m._.length+(m["--"]?m["--"].length:0)-e.getInternalMethods().getContext().commands.length;if(w._&&(D<w._.min||D>w._.max)){if(D<w._.min)if(w._.minMsg!==void 0)t.fail(w._.minMsg?w._.minMsg.replace(/\$0/g,D.toString()).replace(/\$1/,w._.min.toString()):null);else t.fail(i("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",D,D.toString(),w._.min.toString()));else if(D>w._.max)if(w._.maxMsg!==void 0)t.fail(w._.maxMsg?w._.maxMsg.replace(/\$0/g,D.toString()).replace(/\$1/,w._.max.toString()):null);else t.fail(i("Too many non-option arguments: got %s, maximum of %s","Too many non-option arguments: got %s, maximum of %s",D,D.toString(),w._.max.toString()))}},s.positionalCount=function(m,w){if(w<m)t.fail(i("Not enough non-option arguments: got %s, need at least %s","Not enough non-option arguments: got %s, need at least %s",w,w+"",m+""))},s.requiredArguments=function(m,w){let A=null;for(let D of Object.keys(w))if(!Object.prototype.hasOwnProperty.call(m,D)||typeof m[D]>"u")A=A||{},A[D]=w[D];if(A){let D=[];for(let S of Object.keys(A)){let M=A[S];if(M&&D.indexOf(M)<0)D.push(M)}let b=D.length?`
216
+ ${D.join(`
217
+ `)}`:"";t.fail(i("Missing required argument: %s","Missing required arguments: %s",Object.keys(A).length,Object.keys(A).join(", ")+b))}},s.unknownArguments=function(m,w,A,D,b=!0){var S;let M=e.getInternalMethods().getCommandInstance().getCommands(),F=[],v=e.getInternalMethods().getContext();if(Object.keys(m).forEach((y)=>{if(!xc.includes(y)&&!Object.prototype.hasOwnProperty.call(A,y)&&!Object.prototype.hasOwnProperty.call(e.getInternalMethods().getParseContext(),y)&&!s.isValidAndSomeAliasIsNotNew(y,w))F.push(y)}),b&&(v.commands.length>0||M.length>0||D))m._.slice(v.commands.length).forEach((y)=>{if(!M.includes(""+y))F.push(""+y)});if(b){let P=((S=e.getDemandedCommands()._)===null||S===void 0?void 0:S.max)||0,G=v.commands.length+P;if(G<m._.length)m._.slice(G).forEach((T)=>{if(T=String(T),!v.commands.includes(T)&&!F.includes(T))F.push(T)})}if(F.length)t.fail(i("Unknown argument: %s","Unknown arguments: %s",F.length,F.map((y)=>y.trim()?y:`"${y}"`).join(", ")))},s.unknownCommands=function(m){let w=e.getInternalMethods().getCommandInstance().getCommands(),A=[],D=e.getInternalMethods().getContext();if(D.commands.length>0||w.length>0)m._.slice(D.commands.length).forEach((b)=>{if(!w.includes(""+b))A.push(""+b)});if(A.length>0)return t.fail(i("Unknown command: %s","Unknown commands: %s",A.length,A.join(", "))),!0;else return!1},s.isValidAndSomeAliasIsNotNew=function(m,w){if(!Object.prototype.hasOwnProperty.call(w,m))return!1;let A=e.parsed.newAliases;return[m,...w[m]].some((D)=>!Object.prototype.hasOwnProperty.call(A,D)||!A[m])},s.limitedChoices=function(m){let w=e.getOptions(),A={};if(!Object.keys(w.choices).length)return;Object.keys(m).forEach((S)=>{if(xc.indexOf(S)===-1&&Object.prototype.hasOwnProperty.call(w.choices,S))[].concat(m[S]).forEach((M)=>{if(w.choices[S].indexOf(M)===-1&&M!==void 0)A[S]=(A[S]||[]).concat(M)})});let D=Object.keys(A);if(!D.length)return;let b=r("Invalid values:");D.forEach((S)=>{b+=`
218
+ ${r("Argument: %s, Given: %s, Choices: %s",S,t.stringifiedValues(A[S]),t.stringifiedValues(w.choices[S]))}`}),t.fail(b)};let c={};s.implies=function(m,w){if(be("<string|object> [array|number|string]",[m,w],arguments.length),typeof m==="object")Object.keys(m).forEach((A)=>{s.implies(A,m[A])});else{if(e.global(m),!c[m])c[m]=[];if(Array.isArray(w))w.forEach((A)=>s.implies(m,A));else xt(w,void 0,n),c[m].push(w)}},s.getImplied=function(){return c};function a(p,m){let w=Number(m);if(m=isNaN(w)?m:w,typeof m==="number")m=p._.length>=m;else if(m.match(/^--no-.+/))m=m.match(/^--no-(.+)/)[1],m=!Object.prototype.hasOwnProperty.call(p,m);else m=Object.prototype.hasOwnProperty.call(p,m);return m}s.implications=function(m){let w=[];if(Object.keys(c).forEach((A)=>{let D=A;(c[A]||[]).forEach((b)=>{let S=D,M=b;if(S=a(m,S),b=a(m,b),S&&!b)w.push(` ${D} -> ${M}`)})}),w.length){let A=`${r("Implications failed:")}
219
+ `;w.forEach((D)=>{A+=D}),t.fail(A)}};let d={};s.conflicts=function(m,w){if(be("<string|object> [array|string]",[m,w],arguments.length),typeof m==="object")Object.keys(m).forEach((A)=>{s.conflicts(A,m[A])});else{if(e.global(m),!d[m])d[m]=[];if(Array.isArray(w))w.forEach((A)=>s.conflicts(m,A));else d[m].push(w)}},s.getConflicting=()=>d,s.conflicting=function(m){if(Object.keys(m).forEach((w)=>{if(d[w])d[w].forEach((A)=>{if(A&&m[w]!==void 0&&m[A]!==void 0)t.fail(r("Arguments %s and %s are mutually exclusive",w,A))})}),e.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(d).forEach((w)=>{d[w].forEach((A)=>{if(A&&m[n.Parser.camelCase(w)]!==void 0&&m[n.Parser.camelCase(A)]!==void 0)t.fail(r("Arguments %s and %s are mutually exclusive",w,A))})})},s.recommendCommands=function(m,w){w=w.sort((S,M)=>M.length-S.length);let D=null,b=1/0;for(let S=0,M;(M=w[S])!==void 0;S++){let F=gc(m,M);if(F<=3&&F<b)b=F,D=M}if(D)t.fail(r("Did you mean %s?",D))},s.reset=function(m){return c=yn(c,(w)=>!m[w]),d=yn(d,(w)=>!m[w]),s};let h=[];return s.freeze=function(){h.push({implied:c,conflicting:d})},s.unfreeze=function(){let m=h.pop();xt(m,void 0,n),{implied:c,conflicting:d}=m},s}var xi=[],Nr;function jr(e,t,n,r){Nr=r;let i={};if(Object.prototype.hasOwnProperty.call(e,"extends")){if(typeof e.extends!=="string")return i;let s=/\.json|\..*rc$/.test(e.extends),c=null;if(!s)try{c=on.resolve(e.extends)}catch(a){return e}else c=bd(t,e.extends);wd(c),xi.push(c),i=s?JSON.parse(Nr.readFileSync(c,"utf8")):on(e.extends),delete e.extends,i=jr(i,Nr.path.dirname(c),n,Nr)}return xi=[],n?bc(i,e):Object.assign({},i,e)}function wd(e){if(xi.indexOf(e)>-1)throw new Ke(`Circular extended configurations: '${e}'.`)}function bd(e,t){return Nr.path.resolve(e,t)}function bc(e,t){let n={};function r(i){return i&&typeof i==="object"&&!Array.isArray(i)}Object.assign(n,e);for(let i of Object.keys(t))if(r(t[i])&&r(n[i]))n[i]=bc(e[i],t[i]);else n[i]=t[i];return n}var ye=function(e,t,n,r,i){if(r==="m")throw TypeError("Private method is not writable");if(r==="a"&&!i)throw TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n},$=function(e,t,n,r){if(n==="a"&&!r)throw TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},_e,Ln,Lr,Wt,St,ao,Pn,Vn,lo,It,fo,Tt,Yt,Rt,Bt,uo,ir,ct,Ce,ho,mo,Et,Kn,sr,Gn,Cn,po,ke,Hn,Un,Jn,Oe,go,Zt,Xe;function jc(e){return(t=[],n=e.process.cwd(),r)=>{let i=new Lc(t,n,r,e);return Object.defineProperty(i,"argv",{get:()=>{return i.parse()},enumerable:!0}),i.help(),i.version(),i}}var vc=Symbol("copyDoubleDash"),yc=Symbol("copyDoubleDash"),wi=Symbol("deleteFromParserHintObject"),$c=Symbol("emitWarning"),Pc=Symbol("freeze"),Cc=Symbol("getDollarZero"),zn=Symbol("getParserConfiguration"),Sc=Symbol("getUsageConfiguration"),bi=Symbol("guessLocale"),Rc=Symbol("guessVersion"),Ec=Symbol("parsePositionalNumbers"),vi=Symbol("pkgUp"),Sn=Symbol("populateParserHintArray"),cr=Symbol("populateParserHintSingleValueDictionary"),yi=Symbol("populateParserHintArrayDictionary"),$i=Symbol("populateParserHintDictionary"),Pi=Symbol("sanitizeKey"),Ci=Symbol("setKey"),Si=Symbol("unfreeze"),kc=Symbol("validateAsync"),Oc=Symbol("getCommandInstance"),Mc=Symbol("getContext"),Fc=Symbol("getHasOutput"),Dc=Symbol("getLoggerInstance"),Ac=Symbol("getParseContext"),Wc=Symbol("getUsageInstance"),Ic=Symbol("getValidationInstance"),xo=Symbol("hasParseCallback"),Tc=Symbol("isGlobalContext"),qn=Symbol("postProcess"),Bc=Symbol("rebase"),Ri=Symbol("reset"),Vr=Symbol("runYargsParserAndExecuteCommands"),Ei=Symbol("runValidation"),Nc=Symbol("setHasOutput"),Xn=Symbol("kTrackManuallySetKeys");class Lc{constructor(e=[],t,n,r){this.customScriptName=!1,this.parsed=!1,_e.set(this,void 0),Ln.set(this,void 0),Lr.set(this,{commands:[],fullCommands:[]}),Wt.set(this,null),St.set(this,null),ao.set(this,"show-hidden"),Pn.set(this,null),Vn.set(this,!0),lo.set(this,{}),It.set(this,!0),fo.set(this,[]),Tt.set(this,void 0),Yt.set(this,{}),Rt.set(this,!1),Bt.set(this,null),uo.set(this,!0),ir.set(this,void 0),ct.set(this,""),Ce.set(this,void 0),ho.set(this,void 0),mo.set(this,{}),Et.set(this,null),Kn.set(this,null),sr.set(this,{}),Gn.set(this,{}),Cn.set(this,void 0),po.set(this,!1),ke.set(this,void 0),Hn.set(this,!1),Un.set(this,!1),Jn.set(this,!1),Oe.set(this,void 0),go.set(this,{}),Zt.set(this,null),Xe.set(this,void 0),ye(this,ke,r,"f"),ye(this,Cn,e,"f"),ye(this,Ln,t,"f"),ye(this,ho,n,"f"),ye(this,Tt,new mi(this),"f"),this.$0=this[Cc](),this[Ri](),ye(this,_e,$(this,_e,"f"),"f"),ye(this,Oe,$(this,Oe,"f"),"f"),ye(this,Xe,$(this,Xe,"f"),"f"),ye(this,Ce,$(this,Ce,"f"),"f"),$(this,Ce,"f").showHiddenOpt=$(this,ao,"f"),ye(this,ir,this[yc](),"f")}addHelpOpt(e,t){if(be("[string|boolean] [string]",[e,t],arguments.length),$(this,Bt,"f"))this[wi]($(this,Bt,"f")),ye(this,Bt,null,"f");if(e===!1&&t===void 0)return this;return ye(this,Bt,typeof e==="string"?e:"help","f"),this.boolean($(this,Bt,"f")),this.describe($(this,Bt,"f"),t||$(this,Oe,"f").deferY18nLookup("Show help")),this}help(e,t){return this.addHelpOpt(e,t)}addShowHiddenOpt(e,t){if(be("[string|boolean] [string]",[e,t],arguments.length),e===!1&&t===void 0)return this;let n=typeof e==="string"?e:$(this,ao,"f");return this.boolean(n),this.describe(n,t||$(this,Oe,"f").deferY18nLookup("Show hidden options")),$(this,Ce,"f").showHiddenOpt=n,this}showHidden(e,t){return this.addShowHiddenOpt(e,t)}alias(e,t){return be("<object|string|array> [string|array]",[e,t],arguments.length),this[yi](this.alias.bind(this),"alias",e,t),this}array(e){return be("<array|string>",[e],arguments.length),this[Sn]("array",e),this[Xn](e),this}boolean(e){return be("<array|string>",[e],arguments.length),this[Sn]("boolean",e),this[Xn](e),this}check(e,t){return be("<function> [boolean]",[e,t],arguments.length),this.middleware((n,r)=>{return jn(()=>{return e(n,r.getOptions())},(i)=>{if(!i)$(this,Oe,"f").fail($(this,ke,"f").y18n.__("Argument check failed: %s",e.toString()));else if(typeof i==="string"||i instanceof Error)$(this,Oe,"f").fail(i.toString(),i);return n},(i)=>{return $(this,Oe,"f").fail(i.message?i.message:i.toString(),i),n})},!1,t),this}choices(e,t){return be("<object|string|array> [string|array]",[e,t],arguments.length),this[yi](this.choices.bind(this),"choices",e,t),this}coerce(e,t){if(be("<object|string|array> [function]",[e,t],arguments.length),Array.isArray(e)){if(!t)throw new Ke("coerce callback must be provided");for(let n of e)this.coerce(n,t);return this}else if(typeof e==="object"){for(let n of Object.keys(e))this.coerce(n,e[n]);return this}if(!t)throw new Ke("coerce callback must be provided");return $(this,Ce,"f").key[e]=!0,$(this,Tt,"f").addCoerceMiddleware((n,r)=>{let i;if(!Object.prototype.hasOwnProperty.call(n,e))return n;return jn(()=>{return i=r.getAliases(),t(n[e])},(c)=>{n[e]=c;let a=r.getInternalMethods().getParserConfiguration()["strip-aliased"];if(i[e]&&a!==!0)for(let d of i[e])n[d]=c;return n},(c)=>{throw new Ke(c.message)})},e),this}conflicts(e,t){return be("<string|object> [string|array]",[e,t],arguments.length),$(this,Xe,"f").conflicts(e,t),this}config(e="config",t,n){if(be("[object|string] [string|function] [function]",[e,t,n],arguments.length),typeof e==="object"&&!Array.isArray(e))return e=jr(e,$(this,Ln,"f"),this[zn]()["deep-merge-config"]||!1,$(this,ke,"f")),$(this,Ce,"f").configObjects=($(this,Ce,"f").configObjects||[]).concat(e),this;if(typeof t==="function")n=t,t=void 0;return this.describe(e,t||$(this,Oe,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach((r)=>{$(this,Ce,"f").config[r]=n||!0}),this}completion(e,t,n){if(be("[string] [string|boolean|function] [function]",[e,t,n],arguments.length),typeof t==="function")n=t,t=void 0;if(ye(this,St,e||$(this,St,"f")||"completion","f"),!t&&t!==!1)t="generate completion script";if(this.command($(this,St,"f"),t),n)$(this,Wt,"f").registerFunction(n);return this}command(e,t,n,r,i,s){return be("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,t,n,r,i,s],arguments.length),$(this,_e,"f").addHandler(e,t,n,r,i,s),this}commands(e,t,n,r,i,s){return this.command(e,t,n,r,i,s)}commandDir(e,t){be("<string> [object]",[e,t],arguments.length);let n=$(this,ho,"f")||$(this,ke,"f").require;return $(this,_e,"f").addDirectory(e,n,$(this,ke,"f").getCallerFile(),t),this}count(e){return be("<array|string>",[e],arguments.length),this[Sn]("count",e),this[Xn](e),this}default(e,t,n){if(be("<object|string|array> [*] [string]",[e,t,n],arguments.length),n)hi(e,$(this,ke,"f")),$(this,Ce,"f").defaultDescription[e]=n;if(typeof t==="function"){if(hi(e,$(this,ke,"f")),!$(this,Ce,"f").defaultDescription[e])$(this,Ce,"f").defaultDescription[e]=$(this,Oe,"f").functionDescription(t);t=t.call()}return this[cr](this.default.bind(this),"default",e,t),this}defaults(e,t,n){return this.default(e,t,n)}demandCommand(e=1,t,n,r){if(be("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,t,n,r],arguments.length),typeof t!=="number")n=t,t=1/0;return this.global("_",!1),$(this,Ce,"f").demandedCommands._={min:e,max:t,minMsg:n,maxMsg:r},this}demand(e,t,n){if(Array.isArray(t))t.forEach((r)=>{xt(n,!0,$(this,ke,"f")),this.demandOption(r,n)}),t=1/0;else if(typeof t!=="number")n=t,t=1/0;if(typeof e==="number")xt(n,!0,$(this,ke,"f")),this.demandCommand(e,t,n,n);else if(Array.isArray(e))e.forEach((r)=>{xt(n,!0,$(this,ke,"f")),this.demandOption(r,n)});else if(typeof n==="string")this.demandOption(e,n);else if(n===!0||typeof n>"u")this.demandOption(e);return this}demandOption(e,t){return be("<object|string|array> [string]",[e,t],arguments.length),this[cr](this.demandOption.bind(this),"demandedOptions",e,t),this}deprecateOption(e,t){return be("<string> [string|boolean]",[e,t],arguments.length),$(this,Ce,"f").deprecatedOptions[e]=t,this}describe(e,t){return be("<object|string|array> [string]",[e,t],arguments.length),this[Ci](e,!0),$(this,Oe,"f").describe(e,t),this}detectLocale(e){return be("<boolean>",[e],arguments.length),ye(this,Vn,e,"f"),this}env(e){if(be("[string|boolean]",[e],arguments.length),e===!1)delete $(this,Ce,"f").envPrefix;else $(this,Ce,"f").envPrefix=e||"";return this}epilogue(e){return be("<string>",[e],arguments.length),$(this,Oe,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,t){if(be("<string|array> [string]",[e,t],arguments.length),Array.isArray(e))e.forEach((n)=>this.example(...n));else $(this,Oe,"f").example(e,t);return this}exit(e,t){if(ye(this,Rt,!0,"f"),ye(this,Pn,t,"f"),$(this,It,"f"))$(this,ke,"f").process.exit(e)}exitProcess(e=!0){return be("[boolean]",[e],arguments.length),ye(this,It,e,"f"),this}fail(e){if(be("<function|boolean>",[e],arguments.length),typeof e==="boolean"&&e!==!1)throw new Ke("Invalid first argument. Expected function or boolean 'false'");return $(this,Oe,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,t){if(be("<array> [function]",[e,t],arguments.length),!t)return new Promise((n,r)=>{$(this,Wt,"f").getCompletion(e,(i,s)=>{if(i)r(i);else n(s)})});else return $(this,Wt,"f").getCompletion(e,t)}getDemandedOptions(){return be([],0),$(this,Ce,"f").demandedOptions}getDemandedCommands(){return be([],0),$(this,Ce,"f").demandedCommands}getDeprecatedOptions(){return be([],0),$(this,Ce,"f").deprecatedOptions}getDetectLocale(){return $(this,Vn,"f")}getExitProcess(){return $(this,It,"f")}getGroups(){return Object.assign({},$(this,Yt,"f"),$(this,Gn,"f"))}getHelp(){if(ye(this,Rt,!0,"f"),!$(this,Oe,"f").hasCachedHelpMessage()){if(!this.parsed){let t=this[Vr]($(this,Cn,"f"),void 0,void 0,0,!0);if(Ge(t))return t.then(()=>{return $(this,Oe,"f").help()})}let e=$(this,_e,"f").runDefaultBuilderOn(this);if(Ge(e))return e.then(()=>{return $(this,Oe,"f").help()})}return Promise.resolve($(this,Oe,"f").help())}getOptions(){return $(this,Ce,"f")}getStrict(){return $(this,Hn,"f")}getStrictCommands(){return $(this,Un,"f")}getStrictOptions(){return $(this,Jn,"f")}global(e,t){if(be("<string|array> [boolean]",[e,t],arguments.length),e=[].concat(e),t!==!1)$(this,Ce,"f").local=$(this,Ce,"f").local.filter((n)=>e.indexOf(n)===-1);else e.forEach((n)=>{if(!$(this,Ce,"f").local.includes(n))$(this,Ce,"f").local.push(n)});return this}group(e,t){be("<string|array> <string>",[e,t],arguments.length);let n=$(this,Gn,"f")[t]||$(this,Yt,"f")[t];if($(this,Gn,"f")[t])delete $(this,Gn,"f")[t];let r={};return $(this,Yt,"f")[t]=(n||[]).concat(e).filter((i)=>{if(r[i])return!1;return r[i]=!0}),this}hide(e){return be("<string>",[e],arguments.length),$(this,Ce,"f").hiddenOptions.push(e),this}implies(e,t){return be("<string|object> [number|string|array]",[e,t],arguments.length),$(this,Xe,"f").implies(e,t),this}locale(e){if(be("[string]",[e],arguments.length),e===void 0)return this[bi](),$(this,ke,"f").y18n.getLocale();return ye(this,Vn,!1,"f"),$(this,ke,"f").y18n.setLocale(e),this}middleware(e,t,n){return $(this,Tt,"f").addMiddleware(e,!!t,n)}nargs(e,t){return be("<string|object|array> [number]",[e,t],arguments.length),this[cr](this.nargs.bind(this),"narg",e,t),this}normalize(e){return be("<array|string>",[e],arguments.length),this[Sn]("normalize",e),this}number(e){return be("<array|string>",[e],arguments.length),this[Sn]("number",e),this[Xn](e),this}option(e,t){if(be("<string|object> [object]",[e,t],arguments.length),typeof e==="object")Object.keys(e).forEach((n)=>{this.options(n,e[n])});else{if(typeof t!=="object")t={};if(this[Xn](e),$(this,Zt,"f")&&(e==="version"||(t===null||t===void 0?void 0:t.alias)==="version"))this[$c](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
220
+ `),void 0,"versionWarning");if($(this,Ce,"f").key[e]=!0,t.alias)this.alias(e,t.alias);let n=t.deprecate||t.deprecated;if(n)this.deprecateOption(e,n);let r=t.demand||t.required||t.require;if(r)this.demand(e,r);if(t.demandOption)this.demandOption(e,typeof t.demandOption==="string"?t.demandOption:void 0);if(t.conflicts)this.conflicts(e,t.conflicts);if("default"in t)this.default(e,t.default);if(t.implies!==void 0)this.implies(e,t.implies);if(t.nargs!==void 0)this.nargs(e,t.nargs);if(t.config)this.config(e,t.configParser);if(t.normalize)this.normalize(e);if(t.choices)this.choices(e,t.choices);if(t.coerce)this.coerce(e,t.coerce);if(t.group)this.group(e,t.group);if(t.boolean||t.type==="boolean"){if(this.boolean(e),t.alias)this.boolean(t.alias)}if(t.array||t.type==="array"){if(this.array(e),t.alias)this.array(t.alias)}if(t.number||t.type==="number"){if(this.number(e),t.alias)this.number(t.alias)}if(t.string||t.type==="string"){if(this.string(e),t.alias)this.string(t.alias)}if(t.count||t.type==="count")this.count(e);if(typeof t.global==="boolean")this.global(e,t.global);if(t.defaultDescription)$(this,Ce,"f").defaultDescription[e]=t.defaultDescription;if(t.skipValidation)this.skipValidation(e);let i=t.describe||t.description||t.desc,s=$(this,Oe,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(s,e)||typeof i==="string")this.describe(e,i);if(t.hidden)this.hide(e);if(t.requiresArg)this.requiresArg(e)}return this}options(e,t){return this.option(e,t)}parse(e,t,n){if(be("[string|array] [function|boolean|object] [function]",[e,t,n],arguments.length),this[Pc](),typeof e>"u")e=$(this,Cn,"f");if(typeof t==="object")ye(this,Kn,t,"f"),t=n;if(typeof t==="function")ye(this,Et,t,"f"),t=!1;if(!t)ye(this,Cn,e,"f");if($(this,Et,"f"))ye(this,It,!1,"f");let r=this[Vr](e,!!t),i=this.parsed;if($(this,Wt,"f").setParsed(this.parsed),Ge(r))return r.then((s)=>{if($(this,Et,"f"))$(this,Et,"f").call(this,$(this,Pn,"f"),s,$(this,ct,"f"));return s}).catch((s)=>{if($(this,Et,"f"))$(this,Et,"f")(s,this.parsed.argv,$(this,ct,"f"));throw s}).finally(()=>{this[Si](),this.parsed=i});else{if($(this,Et,"f"))$(this,Et,"f").call(this,$(this,Pn,"f"),r,$(this,ct,"f"));this[Si](),this.parsed=i}return r}parseAsync(e,t,n){let r=this.parse(e,t,n);return!Ge(r)?Promise.resolve(r):r}parseSync(e,t,n){let r=this.parse(e,t,n);if(Ge(r))throw new Ke(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return r}parserConfiguration(e){return be("<object>",[e],arguments.length),ye(this,mo,e,"f"),this}pkgConf(e,t){be("<string> [string]",[e,t],arguments.length);let n=null,r=this[vi](t||$(this,Ln,"f"));if(r[e]&&typeof r[e]==="object")n=jr(r[e],t||$(this,Ln,"f"),this[zn]()["deep-merge-config"]||!1,$(this,ke,"f")),$(this,Ce,"f").configObjects=($(this,Ce,"f").configObjects||[]).concat(n);return this}positional(e,t){be("<string> <object>",[e,t],arguments.length);let n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];t=yn(t,(s,c)=>{if(s==="type"&&!["string","number","boolean"].includes(c))return!1;return n.includes(s)});let r=$(this,Lr,"f").fullCommands[$(this,Lr,"f").fullCommands.length-1],i=r?$(this,_e,"f").cmdToParseOptions(r):{array:[],alias:{},default:{},demand:{}};return rr(i).forEach((s)=>{let c=i[s];if(Array.isArray(c)){if(c.indexOf(e)!==-1)t[s]=!0}else if(c[e]&&!(s in t))t[s]=c[e]}),this.group(e,$(this,Oe,"f").getPositionalGroupName()),this.option(e,t)}recommendCommands(e=!0){return be("[boolean]",[e],arguments.length),ye(this,po,e,"f"),this}required(e,t,n){return this.demand(e,t,n)}require(e,t,n){return this.demand(e,t,n)}requiresArg(e){if(be("<array|string|object> [number]",[e],arguments.length),typeof e==="string"&&$(this,Ce,"f").narg[e])return this;else this[cr](this.requiresArg.bind(this),"narg",e,NaN);return this}showCompletionScript(e,t){return be("[string] [string]",[e,t],arguments.length),e=e||this.$0,$(this,ir,"f").log($(this,Wt,"f").generateCompletionScript(e,t||$(this,St,"f")||"completion")),this}showHelp(e){if(be("[string|function]",[e],arguments.length),ye(this,Rt,!0,"f"),!$(this,Oe,"f").hasCachedHelpMessage()){if(!this.parsed){let n=this[Vr]($(this,Cn,"f"),void 0,void 0,0,!0);if(Ge(n))return n.then(()=>{$(this,Oe,"f").showHelp(e)}),this}let t=$(this,_e,"f").runDefaultBuilderOn(this);if(Ge(t))return t.then(()=>{$(this,Oe,"f").showHelp(e)}),this}return $(this,Oe,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,t){return be("[boolean|string] [string]",[e,t],arguments.length),$(this,Oe,"f").showHelpOnFail(e,t),this}showVersion(e){return be("[string|function]",[e],arguments.length),$(this,Oe,"f").showVersion(e),this}skipValidation(e){return be("<array|string>",[e],arguments.length),this[Sn]("skipValidation",e),this}strict(e){return be("[boolean]",[e],arguments.length),ye(this,Hn,e!==!1,"f"),this}strictCommands(e){return be("[boolean]",[e],arguments.length),ye(this,Un,e!==!1,"f"),this}strictOptions(e){return be("[boolean]",[e],arguments.length),ye(this,Jn,e!==!1,"f"),this}string(e){return be("<array|string>",[e],arguments.length),this[Sn]("string",e),this[Xn](e),this}terminalWidth(){return be([],0),$(this,ke,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return be("<object>",[e],arguments.length),ye(this,Vn,!1,"f"),$(this,ke,"f").y18n.updateLocale(e),this}usage(e,t,n,r){if(be("<string|null|undefined> [string|boolean] [function|object] [function]",[e,t,n,r],arguments.length),t!==void 0)if(xt(e,null,$(this,ke,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,t,n,r);else throw new Ke(".usage() description must start with $0 if being used as alias for .command()");else return $(this,Oe,"f").usage(e),this}usageConfiguration(e){return be("<object>",[e],arguments.length),ye(this,go,e,"f"),this}version(e,t,n){if(be("[boolean|string] [string] [string]",[e,t,n],arguments.length),$(this,Zt,"f"))this[wi]($(this,Zt,"f")),$(this,Oe,"f").version(void 0),ye(this,Zt,null,"f");if(arguments.length===0)n=this[Rc](),e="version";else if(arguments.length===1){if(e===!1)return this;n=e,e="version"}else if(arguments.length===2)n=t,t=void 0;return ye(this,Zt,typeof e==="string"?e:"version","f"),t=t||$(this,Oe,"f").deferY18nLookup("Show version number"),$(this,Oe,"f").version(n||void 0),this.boolean($(this,Zt,"f")),this.describe($(this,Zt,"f"),t),this}wrap(e){return be("<number|null|undefined>",[e],arguments.length),$(this,Oe,"f").wrap(e),this}[(_e=new WeakMap,Ln=new WeakMap,Lr=new WeakMap,Wt=new WeakMap,St=new WeakMap,ao=new WeakMap,Pn=new WeakMap,Vn=new WeakMap,lo=new WeakMap,It=new WeakMap,fo=new WeakMap,Tt=new WeakMap,Yt=new WeakMap,Rt=new WeakMap,Bt=new WeakMap,uo=new WeakMap,ir=new WeakMap,ct=new WeakMap,Ce=new WeakMap,ho=new WeakMap,mo=new WeakMap,Et=new WeakMap,Kn=new WeakMap,sr=new WeakMap,Gn=new WeakMap,Cn=new WeakMap,po=new WeakMap,ke=new WeakMap,Hn=new WeakMap,Un=new WeakMap,Jn=new WeakMap,Oe=new WeakMap,go=new WeakMap,Zt=new WeakMap,Xe=new WeakMap,vc)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch(t){}return e}[yc](){return{log:(...e)=>{if(!this[xo]())console.log(...e);if(ye(this,Rt,!0,"f"),$(this,ct,"f").length)ye(this,ct,$(this,ct,"f")+`
221
+ `,"f");ye(this,ct,$(this,ct,"f")+e.join(" "),"f")},error:(...e)=>{if(!this[xo]())console.error(...e);if(ye(this,Rt,!0,"f"),$(this,ct,"f").length)ye(this,ct,$(this,ct,"f")+`
222
+ `,"f");ye(this,ct,$(this,ct,"f")+e.join(" "),"f")}}}[wi](e){rr($(this,Ce,"f")).forEach((t)=>{if(((r)=>r==="configObjects")(t))return;let n=$(this,Ce,"f")[t];if(Array.isArray(n)){if(n.includes(e))n.splice(n.indexOf(e),1)}else if(typeof n==="object")delete n[e]}),delete $(this,Oe,"f").getDescriptions()[e]}[$c](e,t,n){if(!$(this,lo,"f")[n])$(this,ke,"f").process.emitWarning(e,t),$(this,lo,"f")[n]=!0}[Pc](){$(this,fo,"f").push({options:$(this,Ce,"f"),configObjects:$(this,Ce,"f").configObjects.slice(0),exitProcess:$(this,It,"f"),groups:$(this,Yt,"f"),strict:$(this,Hn,"f"),strictCommands:$(this,Un,"f"),strictOptions:$(this,Jn,"f"),completionCommand:$(this,St,"f"),output:$(this,ct,"f"),exitError:$(this,Pn,"f"),hasOutput:$(this,Rt,"f"),parsed:this.parsed,parseFn:$(this,Et,"f"),parseContext:$(this,Kn,"f")}),$(this,Oe,"f").freeze(),$(this,Xe,"f").freeze(),$(this,_e,"f").freeze(),$(this,Tt,"f").freeze()}[Cc](){let e="",t;if(/\b(node|iojs|electron)(\.exe)?$/.test($(this,ke,"f").process.argv()[0]))t=$(this,ke,"f").process.argv().slice(1,2);else t=$(this,ke,"f").process.argv().slice(0,1);if(e=t.map((n)=>{let r=this[Bc]($(this,Ln,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&r.length<n.length?r:n}).join(" ").trim(),$(this,ke,"f").getEnv("_")&&$(this,ke,"f").getProcessArgvBin()===$(this,ke,"f").getEnv("_"))e=$(this,ke,"f").getEnv("_").replace(`${$(this,ke,"f").path.dirname($(this,ke,"f").process.execPath())}/`,"");return e}[zn](){return $(this,mo,"f")}[Sc](){return $(this,go,"f")}[bi](){if(!$(this,Vn,"f"))return;let e=$(this,ke,"f").getEnv("LC_ALL")||$(this,ke,"f").getEnv("LC_MESSAGES")||$(this,ke,"f").getEnv("LANG")||$(this,ke,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[Rc](){return this[vi]().version||"unknown"}[Ec](e){let t=e["--"]?e["--"]:e._;for(let n=0,r;(r=t[n])!==void 0;n++)if($(this,ke,"f").Parser.looksLikeNumber(r)&&Number.isSafeInteger(Math.floor(parseFloat(`${r}`))))t[n]=Number(r);return e}[vi](e){let t=e||"*";if($(this,sr,"f")[t])return $(this,sr,"f")[t];let n={};try{let r=e||$(this,ke,"f").mainFilename;if(!e&&$(this,ke,"f").path.extname(r))r=$(this,ke,"f").path.dirname(r);let i=$(this,ke,"f").findUp(r,(s,c)=>{if(c.includes("package.json"))return"package.json";else return});xt(i,void 0,$(this,ke,"f")),n=JSON.parse($(this,ke,"f").readFileSync(i,"utf8"))}catch(r){}return $(this,sr,"f")[t]=n||{},$(this,sr,"f")[t]}[Sn](e,t){t=[].concat(t),t.forEach((n)=>{n=this[Pi](n),$(this,Ce,"f")[e].push(n)})}[cr](e,t,n,r){this[$i](e,t,n,r,(i,s,c)=>{$(this,Ce,"f")[i][s]=c})}[yi](e,t,n,r){this[$i](e,t,n,r,(i,s,c)=>{$(this,Ce,"f")[i][s]=($(this,Ce,"f")[i][s]||[]).concat(c)})}[$i](e,t,n,r,i){if(Array.isArray(n))n.forEach((s)=>{e(s,r)});else if(((s)=>typeof s==="object")(n))for(let s of rr(n))e(s,n[s]);else i(t,this[Pi](n),r)}[Pi](e){if(e==="__proto__")return"___proto___";return e}[Ci](e,t){return this[cr](this[Ci].bind(this),"key",e,t),this}[Si](){var e,t,n,r,i,s,c,a,d,h,p,m;let w=$(this,fo,"f").pop();xt(w,void 0,$(this,ke,"f"));let A;e=this,t=this,n=this,r=this,i=this,s=this,c=this,a=this,d=this,h=this,p=this,m=this,{options:{set value(D){ye(e,Ce,D,"f")}}.value,configObjects:A,exitProcess:{set value(D){ye(t,It,D,"f")}}.value,groups:{set value(D){ye(n,Yt,D,"f")}}.value,output:{set value(D){ye(r,ct,D,"f")}}.value,exitError:{set value(D){ye(i,Pn,D,"f")}}.value,hasOutput:{set value(D){ye(s,Rt,D,"f")}}.value,parsed:this.parsed,strict:{set value(D){ye(c,Hn,D,"f")}}.value,strictCommands:{set value(D){ye(a,Un,D,"f")}}.value,strictOptions:{set value(D){ye(d,Jn,D,"f")}}.value,completionCommand:{set value(D){ye(h,St,D,"f")}}.value,parseFn:{set value(D){ye(p,Et,D,"f")}}.value,parseContext:{set value(D){ye(m,Kn,D,"f")}}.value}=w,$(this,Ce,"f").configObjects=A,$(this,Oe,"f").unfreeze(),$(this,Xe,"f").unfreeze(),$(this,_e,"f").unfreeze(),$(this,Tt,"f").unfreeze()}[kc](e,t){return jn(t,(n)=>{return e(n),n})}getInternalMethods(){return{getCommandInstance:this[Oc].bind(this),getContext:this[Mc].bind(this),getHasOutput:this[Fc].bind(this),getLoggerInstance:this[Dc].bind(this),getParseContext:this[Ac].bind(this),getParserConfiguration:this[zn].bind(this),getUsageConfiguration:this[Sc].bind(this),getUsageInstance:this[Wc].bind(this),getValidationInstance:this[Ic].bind(this),hasParseCallback:this[xo].bind(this),isGlobalContext:this[Tc].bind(this),postProcess:this[qn].bind(this),reset:this[Ri].bind(this),runValidation:this[Ei].bind(this),runYargsParserAndExecuteCommands:this[Vr].bind(this),setHasOutput:this[Nc].bind(this)}}[Oc](){return $(this,_e,"f")}[Mc](){return $(this,Lr,"f")}[Fc](){return $(this,Rt,"f")}[Dc](){return $(this,ir,"f")}[Ac](){return $(this,Kn,"f")||{}}[Wc](){return $(this,Oe,"f")}[Ic](){return $(this,Xe,"f")}[xo](){return!!$(this,Et,"f")}[Tc](){return $(this,uo,"f")}[qn](e,t,n,r){if(n)return e;if(Ge(e))return e;if(!t)e=this[vc](e);if(this[zn]()["parse-positional-numbers"]||this[zn]()["parse-positional-numbers"]===void 0)e=this[Ec](e);if(r)e=Nn(e,this,$(this,Tt,"f").getMiddleware(),!1);return e}[Ri](e={}){ye(this,Ce,$(this,Ce,"f")||{},"f");let t={};t.local=$(this,Ce,"f").local||[],t.configObjects=$(this,Ce,"f").configObjects||[];let n={};t.local.forEach((s)=>{n[s]=!0,(e[s]||[]).forEach((c)=>{n[c]=!0})}),Object.assign($(this,Gn,"f"),Object.keys($(this,Yt,"f")).reduce((s,c)=>{let a=$(this,Yt,"f")[c].filter((d)=>!(d in n));if(a.length>0)s[c]=a;return s},{})),ye(this,Yt,{},"f");let r=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],i=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(r.forEach((s)=>{t[s]=($(this,Ce,"f")[s]||[]).filter((c)=>!n[c])}),i.forEach((s)=>{t[s]=yn($(this,Ce,"f")[s],(c)=>!n[c])}),t.envPrefix=$(this,Ce,"f").envPrefix,ye(this,Ce,t,"f"),ye(this,Oe,$(this,Oe,"f")?$(this,Oe,"f").reset(n):uc(this,$(this,ke,"f")),"f"),ye(this,Xe,$(this,Xe,"f")?$(this,Xe,"f").reset(n):wc(this,$(this,Oe,"f"),$(this,ke,"f")),"f"),ye(this,_e,$(this,_e,"f")?$(this,_e,"f").reset():ac($(this,Oe,"f"),$(this,Xe,"f"),$(this,Tt,"f"),$(this,ke,"f")),"f"),!$(this,Wt,"f"))ye(this,Wt,pc(this,$(this,Oe,"f"),$(this,_e,"f"),$(this,ke,"f")),"f");return $(this,Tt,"f").reset(),ye(this,St,null,"f"),ye(this,ct,"","f"),ye(this,Pn,null,"f"),ye(this,Rt,!1,"f"),this.parsed=!1,this}[Bc](e,t){return $(this,ke,"f").path.relative(e,t)}[Vr](e,t,n,r=0,i=!1){let s=!!n||i;e=e||$(this,Cn,"f"),$(this,Ce,"f").__=$(this,ke,"f").y18n.__,$(this,Ce,"f").configuration=this[zn]();let c=!!$(this,Ce,"f").configuration["populate--"],a=Object.assign({},$(this,Ce,"f").configuration,{"populate--":!0}),d=$(this,ke,"f").Parser.detailed(e,Object.assign({},$(this,Ce,"f"),{configuration:{"parse-positional-numbers":!1,...a}})),h=Object.assign(d.argv,$(this,Kn,"f")),p=void 0,m=d.aliases,w=!1,A=!1;if(Object.keys(h).forEach((D)=>{if(D===$(this,Bt,"f")&&h[D])w=!0;else if(D===$(this,Zt,"f")&&h[D])A=!0}),h.$0=this.$0,this.parsed=d,r===0)$(this,Oe,"f").clearCachedHelpMessage();try{if(this[bi](),t)return this[qn](h,c,!!n,!1);if($(this,Bt,"f")){if([$(this,Bt,"f")].concat(m[$(this,Bt,"f")]||[]).filter((F)=>F.length>1).includes(""+h._[h._.length-1]))h._.pop(),w=!0}ye(this,uo,!1,"f");let D=$(this,_e,"f").getCommands(),b=$(this,Wt,"f").completionKey in h,S=w||b||i;if(h._.length){if(D.length){let M;for(let F=r||0,v;h._[F]!==void 0;F++)if(v=String(h._[F]),D.includes(v)&&v!==$(this,St,"f")){let y=$(this,_e,"f").runCommand(v,this,d,F+1,i,w||A||i);return this[qn](y,c,!!n,!1)}else if(!M&&v!==$(this,St,"f")){M=v;break}if(!$(this,_e,"f").hasDefaultCommand()&&$(this,po,"f")&&M&&!S)$(this,Xe,"f").recommendCommands(M,D)}if($(this,St,"f")&&h._.includes($(this,St,"f"))&&!b){if($(this,It,"f"))$n(!0);this.showCompletionScript(),this.exit(0)}}if($(this,_e,"f").hasDefaultCommand()&&!S){let M=$(this,_e,"f").runCommand(null,this,d,0,i,w||A||i);return this[qn](M,c,!!n,!1)}if(b){if($(this,It,"f"))$n(!0);e=[].concat(e);let M=e.slice(e.indexOf(`--${$(this,Wt,"f").completionKey}`)+1);return $(this,Wt,"f").getCompletion(M,(F,v)=>{if(F)throw new Ke(F.message);(v||[]).forEach((y)=>{$(this,ir,"f").log(y)}),this.exit(0)}),this[qn](h,!c,!!n,!1)}if(!$(this,Rt,"f")){if(w){if($(this,It,"f"))$n(!0);s=!0,this.showHelp("log"),this.exit(0)}else if(A){if($(this,It,"f"))$n(!0);s=!0,$(this,Oe,"f").showVersion("log"),this.exit(0)}}if(!s&&$(this,Ce,"f").skipValidation.length>0)s=Object.keys(h).some((M)=>$(this,Ce,"f").skipValidation.indexOf(M)>=0&&h[M]===!0);if(!s){if(d.error)throw new Ke(d.error.message);if(!b){let M=this[Ei](m,{},d.error);if(!n)p=Nn(h,this,$(this,Tt,"f").getMiddleware(),!0);if(p=this[kc](M,p!==null&&p!==void 0?p:h),Ge(p)&&!n)p=p.then(()=>{return Nn(h,this,$(this,Tt,"f").getMiddleware(),!1)})}}}catch(D){if(D instanceof Ke)$(this,Oe,"f").fail(D.message,D);else throw D}return this[qn](p!==null&&p!==void 0?p:h,c,!!n,!0)}[Ei](e,t,n,r){let i={...this.getDemandedOptions()};return(s)=>{if(n)throw new Ke(n.message);$(this,Xe,"f").nonOptionCount(s),$(this,Xe,"f").requiredArguments(s,i);let c=!1;if($(this,Un,"f"))c=$(this,Xe,"f").unknownCommands(s);if($(this,Hn,"f")&&!c)$(this,Xe,"f").unknownArguments(s,e,t,!!r);else if($(this,Jn,"f"))$(this,Xe,"f").unknownArguments(s,e,{},!1,!1);$(this,Xe,"f").limitedChoices(s),$(this,Xe,"f").implications(s),$(this,Xe,"f").conflicting(s)}}[Nc](){ye(this,Rt,!0,"f")}[Xn](e){if(typeof e==="string")$(this,Ce,"f").key[e]=!0;else for(let t of e)$(this,Ce,"f").key[t]=!0}}function lc(e){return!!e&&typeof e.getInternalMethods==="function"}var vd=jc(di),Vc=vd;Ye();import{readFileSync as Ru}from"fs";import{join as Ws}from"path";function Ox(){let e=import.meta.dir;for(let t=0;t<5;t++){let n=Ws(e,"package.json");try{return Ru(n,"utf-8"),n}catch{}e=Ws(e,"..")}return Ws(import.meta.dir,"../../package.json")}var Mx=JSON.parse(Ru(Ox(),"utf-8")),Fx=process.argv[2]==="init";if(!Fx)try{let e=_c();if(e.created&&process.stdout.isTTY)process.stderr.write(`cop: created default config at ${e.path}
223
+ `)}catch{}if(process.argv.length===2){let{launchTUI:e}=await Promise.resolve().then(() => (Yl(),Xl));await e()}else{let[e,t,n,r,i,s,c,a,d,h,p,m,w,A,D,b,S,M,F,v]=await Promise.all([Promise.resolve().then(() => (sf(),of)),Promise.resolve().then(() => (af(),cf)),Promise.resolve().then(() => (uf(),ff)),Promise.resolve().then(() => (hf(),df)),Promise.resolve().then(() => (wf(),xf)),Promise.resolve().then(() => (Rf(),Sf)),Promise.resolve().then(() => (kf(),Ef)),Promise.resolve().then(() => (Df(),Ff)),Promise.resolve().then(() => (If(),Wf)),Promise.resolve().then(() => (jf(),Nf)),Promise.resolve().then(() => (Kf(),Vf)),Promise.resolve().then(() => (Hf(),Gf)),Promise.resolve().then(() => (Jf(),Uf)),Promise.resolve().then(() => (qf(),zf)),Promise.resolve().then(() => (ou(),ru)),Promise.resolve().then(() => (su(),iu)),Promise.resolve().then(() => (au(),cu)),Promise.resolve().then(() => (pu(),mu)),Promise.resolve().then(() => (xu(),gu)),Promise.resolve().then(() => (Su(),Cu))]);Vc(ui(process.argv)).locale("en").scriptName("cop").version(`copse v${Mx.version}`).alias("version","v").help("help").alias("help","h").option("no-color",{type:"boolean",description:"Disable color output"}).command(e.default).command(t.default).command(n.default).command(r.default).command(i.default).command(s.default).command(c.default).command(a.default).command(d.default).command(h.default).command(p.default).command(m.default).command(w.default).command(A.default).command(D.default).command(b.default).command(S.default).command(M.default).command(F.default).command(v.default).completion("completion","Generate shell completion script").demandCommand(1,"Please specify a command. Run --help to see available commands.").strict().parse()}