| 142 | `);lW6(q,Y,{encoding:_})}function b$8(q){try{let K=X8(),{resolvedPath:_}=F$(K,q);return am6(_)}catch(K){if(e3(K))N(`detectFileEncoding failed for expected reason: ${K.code}`,{level:"debug"});else H6(K);return"utf8"}}function TR7(q,K="utf8"){try{let _=X8(),{resolvedPath:z}=F$(_,q),{buffer:Y,bytesRead:$}=_.readSync(z,{length:4096}),A=Y.toString(K,0,$);return w41(A)}catch(_){return H6(_),"LF"}}function jl(q){if(!q.includes("\t"))return q;return q.replace(/^\t+/gm,(K)=>" ".repeat(K.length))}function rL5(q){let K=q?lq(q):void 0,_=K?ZR7(Z8(),K):void 0;return{absolutePath:K,relativePath:_}}function _3(q){let{relativePath:K}=rL5(q);if(K&&!K.startsWith(".."))return K;let _=fR7();if(q.startsWith(_+_p6))return"~"+q.slice(_.length);return q}function U$8(q){let K=X8();try{let _=F$8(q),z=Z41(q,WR7(q)),A=K.readdirSync(_).filter((O)=>Z41(O.name,WR7(O.name))===z&&cW6(_,O.name)!==q)[0];if(A)return A.name;return}catch(_){if(!_7(_))H6(_);return}}async function pe(q){let K=Z8(),_=F$8(K),z=q;try{let O=await cL5(F$8(q));z=cW6(O,Z41(q))}catch{}let Y=_===_p6?_p6:_+_p6;if(!z.startsWith(Y)||z.startsWith(K+_p6)||z===K)return;let $=ZR7(_,z),A=cW6(K,$);try{return await DR7(A),A}catch{return}}function T41(){return!g8("tengu_compact_line_prefix_killswitch",!1)}function Q$8({content:q,startLine:K}){if(!q)return"";let _=q.split(/\r?\n/);if(T41())return _.map((z,Y)=>`${Y+K} ${z}`).join(` |
| 143 | `);return _.map((z,Y)=>{let $=String(Y+K);if($.length>=6)return`${$}→${z}`;return`${$.padStart(6," ")}→${z}`}).join(` |
| 144 | `)}function vR7(q){return q.match(/^\s*\d+[\u2192\t](.*)$/)?.[1]??q}function kR7(q){try{return X8().isDirEmptySync(q)}catch(K){return _7(K)}}function v41(q){let{content:K}=sL7.readFile(q);return K}function lW6(q,K,_={encoding:"utf-8"}){let z=X8(),Y=q;try{let w=z.readlinkSync(q);Y=lL5(w)?w:iL5(F$8(q),w),N(`Writing through symlink: ${q} -> ${Y}`)}catch{}let $=`${Y}.tmp.${process.pid}.${Date.now()}`,A,O=!1;try{A=z.statSync(Y).mode,O=!0,N(`Preserving file permissions: ${A.toString(8)}`)}catch(w){if(!_7(w))throw w;if(_.mode!==void 0)A=_.mode,N(`Setting permissions for new file: ${A.toString(8)}`)}try{N(`Writing to temp file: ${$}`);let w={encoding:_.encoding,flush:!0};if(!O&&_.mode!==void 0)w.mode=_.mode;if(PR7($,K,w),N(`Temp file written successfully, size: ${K.length} bytes`),O&&A!==void 0)dL5($,A),N("Applied original permissions to temp file");N(`Renaming ${$} to ${Y}`),z.renameSync($,Y),N(`File ${Y} written atomically`)}catch(w){N(`Failed to write file atomically: ${w}`,{level:"error"}),d("tengu_atomic_write_error",{});try{N(`Cleaning up temp file: ${$}`),z.unlinkSync($)}catch(j){N(`Failed to clean up temp file: ${j}`)}N(`Falling back to non-atomic write for ${Y}`);try{let j={encoding:_.encoding,flush:!0};if(!O&&_.mode!==void 0)j.mode=_.mode;PR7(Y,K,j),N(`File ${Y} written successfully with non-atomic fallback`)}catch(j){throw N(`Non-atomic write also failed: ${j}`),j}}}function VR7(){let q=Z1(),K=fR7();if(q==="macos")return cW6(K,"Desktop");if(q==="windows"){let z=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(z){let $=`/mnt/c${z.replace(/^[A-Z]:/,"")}/Desktop`;if(X8().existsSync($))return $}try{let $=X8().readdirSync("/mnt/c/Users");for(let A of $){if(A.name==="Public"||A.name==="Default"||A.name==="Default User"||A.name==="All Users")continue;let O=cW6("/mnt/c/Users",A.name,"Desktop");if(X8().existsSync(O))return O}}catch(Y){H6(Y)}}let _=cW6(K,"Desktop");if(X8().existsSync(_))return _;return K}function d$8(q,K=G41){try{return X8().statSync(q).size<=K}catch{return!1}}function zJ(q){let K=nL5(q);if(Z1()==="windows")K=K.replace(/\//g,"\\").toLowerCase();return K}function NR7(q,K){return zJ(q)===zJ(K)}var G41=262144,uZ="Note: your current working directory is";var bK=y(()=>{k8();o1();I7();_8();y8();ZE();tL7();e7();E8();dz();vK()});function Ph(q,K,_=10*ER7*yR7){let j=[];try{let z;if(K===void 0)z={};else if(K instanceof AbortSignal)z={abortSignal:K,timeout:_};else z=K;let{abortSignal:Y,timeout:$=10*ER7*yR7,input:A,stdio:O=["ignore","pipe","pipe"]}=z;Y?.throwIfAborted();const w=Bz(j,cA`exec: ${q.slice(0,200)}`,0);try{let X=K_6(q,{env:process.env,maxBuffer:1e6,timeout:$,cwd:Z8(),stdio:O,shell:!0,reject:!1,input:A});if(!X.stdout)return null;return X.stdout.trim()||null}catch{return null}}catch(H){var J=H,M=1}finally{gz(j,J,M)}}var yR7=1000,ER7=60;var k41=y(()=>{Df();I7();l8()});function a8(q,K,_={timeout:10*N41*V41,preserveOutputOnError:!0,useCwd:!0}){return S7(q,K,{abortSignal:_.abortSignal,timeout:_.timeout,preserveOutputOnError:_.preserveOutputOnError,cwd:_.useCwd?Z8():void 0,env:_.env,stdin:_.stdin,input:_.input})}function oL5(q,K){if(q.shortMessage)return q.shortMessage;if(typeof q.signal==="string")return q.signal;return String(K)}function S7(q,K,{abortSignal:_,timeout:z=10*N41*V41,preserveOutputOnError:Y=!0,cwd:$,env:A,maxBuffer:O,shell:w,stdin:j,input:H}={timeout:10*N41*V41,preserveOutputOnError:!0,maxBuffer:1e6}){return new Promise((J)=>{m_(q,K,{maxBuffer:O,signal:_,timeout:z,cwd:$,env:A,shell:w,stdin:j,input:H,reject:!1}).then((M)=>{if(M.failed)if(Y){let X=M.exitCode??1;J({stdout:M.stdout||"",stderr:M.stderr||"",code:X,error:oL5(M,X)})}else J({stdout:"",stderr:"",code:M.exitCode??1});else J({stdout:M.stdout,stderr:M.stderr,code:0})}).catch((M)=>{H6(M),J({stdout:"",stderr:"",code:1})})})}var V41=1000,N41=60;var XK=y(()=>{Df();I7();E8();k41()});function c$8(q){let K=q.slice(q.lastIndexOf(".")).toLowerCase();return aL5.has(K)}function LR7(q){let K=Math.min(q.length,sL5),_=0;for(let z=0;z<K;z++){let Y=q[z];if(Y===0)return!0;if(Y<32&&Y!==9&&Y!==10&&Y!==13)_++}return _/K>0.1}var aL5,sL5=8192;var y41=y(()=>{aL5=new Set([".png",".jpg",".jpeg",".gif",".bmp",".ico",".webp",".tiff",".tif",".mp4",".mov",".avi",".mkv",".webm",".wmv",".flv",".m4v",".mpeg",".mpg",".mp3",".wav",".ogg",".flac",".aac",".m4a",".wma",".aiff",".opus",".zip",".tar",".gz",".bz2",".7z",".rar",".xz",".z",".tgz",".iso",".exe",".dll",".so",".dylib",".bin",".o",".a",".obj",".lib",".app",".msi",".deb",".rpm",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".odt",".ods",".odp",".ttf",".otf",".woff",".woff2",".eot",".pyc",".pyo",".class",".jar",".war",".ear",".node",".wasm",".rlib",".sqlite",".sqlite3",".db",".mdb",".idx",".psd",".ai",".eps",".sketch",".fig",".xd",".blend",".3ds",".max",".swf",".fla",".lockb",".dat",".data"])});import{readFile as tL5}from"fs/promises";import{join as eL5}from"path";async function J_6(q,K,_,z){try{let Y=await tL5(eL5(q,"config"),"utf-8");return qR5(Y,K,_,z)}catch{return null}}function qR5(q,K,_,z){let Y=q.split(` |
| 145 | `),$=K.toLowerCase(),A=z.toLowerCase(),O=!1;for(let w of Y){let j=w.trim();if(j.length===0||j[0]==="#"||j[0]===";")continue;if(j[0]==="["){O=YR5(j,$,_);continue}if(!O)continue;let H=KR5(j);if(H&&H.key.toLowerCase()===A)return H.value}return null}function KR5(q){let K=0;while(K<q.length&&$R5(q[K]))K++;if(K===0)return null;let _=q.slice(0,K);while(K<q.length&&(q[K]===" "||q[K]==="\t"))K++;if(K>=q.length||q[K]!=="=")return null;K++;while(K<q.length&&(q[K]===" "||q[K]==="\t"))K++;let z=_R5(q,K);return{key:_,value:z}}function _R5(q,K){let _="",z=!1,Y=K;while(Y<q.length){let $=q[Y];if(!z&&($==="#"||$===";"))break;if($==='"'){z=!z,Y++;continue}if($==="\\"&&Y+1<q.length){let A=q[Y+1];if(z){switch(A){case"n":_+=` |
| 146 | `;break;case"t":_+="\t";break;case"b":_+="\b";break;case'"':_+='"';break;case"\\":_+="\\";break;default:_+=A;break}Y+=2;continue}if(A==="\\"){_+="\\",Y+=2;continue}}_+=$,Y++}if(!z)_=zR5(_);return _}function zR5(q){let K=q.length;while(K>0&&(q[K-1]===" "||q[K-1]==="\t"))K--;return q.slice(0,K)}function YR5(q,K,_){let z=1;while(z<q.length&&q[z]!=="]"&&q[z]!==" "&&q[z]!=="\t"&&q[z]!=='"')z++;if(q.slice(1,z).toLowerCase()!==K)return!1;if(_===null)return z<q.length&&q[z]==="]";while(z<q.length&&(q[z]===" "||q[z]==="\t"))z++;if(z>=q.length||q[z]!=='"')return!1;z++;let $="";while(z<q.length&&q[z]!=='"'){if(q[z]==="\\"&&z+1<q.length){let A=q[z+1];if(A==="\\"||A==='"'){$+=A,z+=2;continue}$+=A,z+=2;continue}$+=q[z],z++}if(z>=q.length||q[z]!=='"')return!1;if(z++,z>=q.length||q[z]!=="]")return!1;return $===_}function $R5(q){return q>="a"&&q<="z"||q>="A"&&q<="Z"||q>="0"&&q<="9"||q==="-"}var E41=()=>{};import{unwatchFile as RR7,watchFile as AR5}from"fs";import{readdir as OR5,readFile as M_6,stat as SR7}from"fs/promises";import{join as Wh,resolve as l$8}from"path";function CR7(){nW6.clear()}async function QT(q){let K=l$8(q??Z8()),_=nW6.get(K);if(_!==void 0)return _;let z=hY(K);if(!z)return nW6.set(K,null),null;let Y=Wh(z,".git");try{if((await SR7(Y)).isFile()){let A=(await M_6(Y,"utf-8")).trim();if(A.startsWith("gitdir:")){let O=A.slice(7).trim(),w=l$8(z,O);return nW6.set(K,w),w}}return nW6.set(K,Y),Y}catch{return nW6.set(K,null),null}}function n$8(q){if(!q||q.startsWith("-")||q.startsWith("/"))return!1;if(q.includes(".."))return!1;if(q.split("/").some((K)=>K==="."||K===""))return!1;if(!/^[a-zA-Z0-9/._+@-]+$/.test(q))return!1;return!0}function L41(q){return/^[0-9a-f]{40}$/.test(q)||/^[0-9a-f]{64}$/.test(q)}async function Yp6(q){try{let K=(await M_6(Wh(q,"HEAD"),"utf-8")).trim();if(K.startsWith("ref:")){let _=K.slice(4).trim();if(_.startsWith("refs/heads/")){let Y=_.slice(11);if(!n$8(Y))return null;return{type:"branch",name:Y}}if(!n$8(_))return null;let z=await Be(q,_);return z?{type:"detached",sha:z}:{type:"detached",sha:""}}if(!L41(K))return null;return{type:"detached",sha:K}}catch{return null}}async function Be(q,K){let _=await hR7(q,K);if(_)return _;let z=await ex(q);if(z&&z!==q)return hR7(z,K);return null}async function hR7(q,K){try{let _=(await M_6(Wh(q,K),"utf-8")).trim();if(_.startsWith("ref:")){let z=_.slice(4).trim();if(!n$8(z))return null;return Be(q,z)}if(!L41(_))return null;return _}catch{}try{let _=await M_6(Wh(q,"packed-refs"),"utf-8");for(let z of _.split(` |
| 147 | `)){if(z.startsWith("#")||z.startsWith("^"))continue;let Y=z.indexOf(" ");if(Y===-1)continue;if(z.slice(Y+1)===K){let $=z.slice(0,Y);return L41($)?$:null}}}catch{}return null}async function ex(q){try{let K=(await M_6(Wh(q,"commondir"),"utf-8")).trim();return l$8(q,K)}catch{return null}}async function wR5(q,K,_){try{let z=(await M_6(Wh(q,K),"utf-8")).trim();if(z.startsWith("ref:")){let Y=z.slice(4).trim();if(Y.startsWith(_)){let $=Y.slice(_.length);if(!n$8($))return null;return $}}}catch{}return null}class bR7{gitDir=null;commonDir=null;initialized=!1;initPromise=null;watchedPaths=[];branchRefPath=null;cache=new Map;async ensureStarted(){if(this.initialized)return;if(this.initPromise)return this.initPromise;return this.initPromise=this.start(),this.initPromise}async start(){if(this.gitDir=await QT(),this.initialized=!0,!this.gitDir)return;this.commonDir=await ex(this.gitDir),this.watchPath(Wh(this.gitDir,"HEAD"),()=>{this.onHeadChanged()}),this.watchPath(Wh(this.commonDir??this.gitDir,"config"),()=>{this.invalidate()}),await this.watchCurrentBranchRef(),pq(async()=>{this.stopWatching()})}watchPath(q,K){this.watchedPaths.push(q),AR5(q,{interval:jR5},K)}async watchCurrentBranchRef(){if(!this.gitDir)return;let q=await Yp6(this.gitDir),K=this.commonDir??this.gitDir,_=q?.type==="branch"?Wh(K,"refs","heads",q.name):null;if(_===this.branchRefPath)return;if(this.branchRefPath)RR7(this.branchRefPath),this.watchedPaths=this.watchedPaths.filter((z)=>z!==this.branchRefPath);if(this.branchRefPath=_,!_)return;this.watchPath(_,()=>{this.invalidate()})}async onHeadChanged(){this.invalidate(),await pb6(),await this.watchCurrentBranchRef()}invalidate(){for(let q of this.cache.values())q.dirty=!0}stopWatching(){for(let q of this.watchedPaths)RR7(q);this.watchedPaths=[],this.branchRefPath=null}async get(q,K){await this.ensureStarted();let _=this.cache.get(q);if(_&&!_.dirty)return _.value;if(_)_.dirty=!1;let z=await K(),Y=this.cache.get(q);if(Y&&!Y.dirty)Y.value=z;if(!Y)this.cache.set(q,{value:z,dirty:!1,compute:K});return z}reset(){this.stopWatching(),this.cache.clear(),this.initialized=!1,this.initPromise=null,this.gitDir=null,this.commonDir=null}}async function HR5(){let q=await QT();if(!q)return"HEAD";let K=await Yp6(q);if(!K)return"HEAD";return K.type==="branch"?K.name:"HEAD"}async function JR5(){let q=await QT();if(!q)return"";let K=await Yp6(q);if(!K)return"";if(K.type==="branch")return await Be(q,`refs/heads/${K.name}`)??"";return K.sha}async function MR5(){let q=await QT();if(!q)return null;let K=await J_6(q,"remote","origin","url");if(K)return K;let _=await ex(q);if(_&&_!==q)return J_6(_,"remote","origin","url");return null}async function XR5(){let q=await QT();if(!q)return"main";let K=await ex(q)??q,_=await wR5(K,"refs/remotes/origin/HEAD","refs/remotes/origin/");if(_)return _;for(let z of["main","master"])if(await Be(K,`refs/remotes/origin/${z}`))return z;return"main"}function xR7(){return i$8.get("branch",HR5)}function IR7(){return i$8.get("head",JR5)}function uR7(){return i$8.get("remoteUrl",MR5)}function mR7(){return i$8.get("defaultBranch",XR5)}async function r$8(q){let K=await QT(q);if(!K)return null;let _=await Yp6(K);if(!_)return null;if(_.type==="branch")return Be(K,`refs/heads/${_.name}`);return _.sha}async function pR7(q){let K;try{let z=(await M_6(Wh(q,".git"),"utf-8")).trim();if(!z.startsWith("gitdir:"))return null;K=l$8(q,z.slice(7).trim())}catch{return null}let _=await Yp6(K);if(!_)return null;if(_.type==="branch")return Be(K,`refs/heads/${_.name}`);return _.sha}async function o$8(q){let K=await QT(q);if(!K)return null;let _=await J_6(K,"remote","origin","url");if(_)return _;let z=await ex(K);if(z&&z!==K)return J_6(z,"remote","origin","url");return null}async function BR7(){let q=await QT();if(!q)return!1;let K=await ex(q)??q;try{return await SR7(Wh(K,"shallow")),!0}catch{return!1}}async function gR7(){try{let q=await QT();if(!q)return 0;let K=await ex(q)??q;return(await OR5(Wh(K,"worktrees"))).length+1}catch{return 1}}var nW6,jR5=1000,i$8;var Hl=y(()=>{v8();c9();I7();E5();E41();nW6=new Map;i$8=new bR7});async function PR5(q){if(process.platform==="win32"){let _=await m_(`where.exe ${q}`,{shell:!0,stderr:"ignore",reject:!1});if(_.exitCode!==0||!_.stdout)return null;return _.stdout.trim().split(/\r?\n/)[0]||null}let K=await m_(`which ${q}`,{shell:!0,stderr:"ignore",reject:!1});if(K.exitCode!==0||!K.stdout)return null;return K.stdout.trim()}function WR5(q){if(process.platform==="win32")try{return xe(`where.exe ${q}`,{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).toString().trim().split(/\r?\n/)[0]||null}catch{return null}try{return xe(`which ${q}`,{encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).toString().trim()||null}catch{return null}}var R41,TO,iW6;var rk=y(()=>{Df();x$8();R41=typeof Bun<"u"&&typeof Bun.which==="function"?Bun.which:null,TO=R41?async(q)=>R41(q):PR5,iW6=R41??WR5});var $p6={};T8($p6,{parseGitRemote:()=>P_6,parseGitHubRepository:()=>W_6,getCachedRepository:()=>S41,detectCurrentRepositoryWithHost:()=>Dh,detectCurrentRepository:()=>ge,clearRepositoryCaches:()=>h41});function h41(){X_6.clear()}async function ge(){let q=await Dh();if(!q)return null;if(q.host!=="github.com")return null;return`${q.owner}/${q.name}`}async function Dh(){let q=Z8();if(X_6.has(q))return X_6.get(q)??null;try{let K=await EB();if(N(`Git remote URL: ${K}`),!K)return N("No git remote URL found"),X_6.set(q,null),null;let _=P_6(K);return N(`Parsed repository: ${_?`${_.host}/${_.owner}/${_.name}`:null} from URL: ${K}`),X_6.set(q,_),_}catch(K){return N(`Error detecting repository: ${K}`),X_6.set(q,null),null}}function S41(){let q=X_6.get(Z8());if(!q||q.host!=="github.com")return null;return`${q.owner}/${q.name}`}function P_6(q){let K=q.trim(),_=K.match(/^git@([^:]+):([^/]+)\/([^/]+?)(?:\.git)?$/);if(_?.[1]&&_[2]&&_[3]){if(!FR7(_[1]))return null;return{host:_[1],owner:_[2],name:_[3]}}let z=K.match(/^(https?|ssh|git):\/\/(?:[^@]+@)?([^/:]+(?::\d+)?)\/([^/]+)\/([^/]+?)(?:\.git)?$/);if(z?.[1]&&z[2]&&z[3]&&z[4]){let Y=z[1],$=z[2],A=$.split(":")[0]??"";if(!FR7(A))return null;return{host:Y==="https"||Y==="http"?$:A,owner:z[3],name:z[4]}}return null}function W_6(q){let K=q.trim(),_=P_6(K);if(_){if(_.host!=="github.com")return null;return`${_.owner}/${_.name}`}if(!K.includes("://")&&!K.includes("@")&&K.includes("/")){let z=K.split("/");if(z.length===2&&z[0]&&z[1]){let Y=z[1].replace(/\.git$/,"");return`${z[0]}/${Y}`}}return N(`Could not parse repository from: ${K}`),null}function FR7(q){if(!q.includes("."))return!1;let K=q.split(".").pop();if(!K)return!1;return/^[a-zA-Z]+$/.test(K)}var X_6;var mZ=y(()=>{I7();_8();E5();X_6=new Map});var qA8={};T8(qA8,{stashToCleanState:()=>I41,preserveGitStateForIssue:()=>RR5,normalizeGitRemoteUrl:()=>tR7,isCurrentDirectoryBareGitRepo:()=>Op6,isAtGitRoot:()=>VR5,hasUnpushedCommits:()=>NR5,gitExe:()=>L7,getWorktreeCount:()=>oW6,getRepoRemoteHash:()=>t$8,getRemoteUrl:()=>EB,getIsHeadOnRemote:()=>eR7,getIsGit:()=>YJ,getIsClean:()=>rW6,getHead:()=>sR7,getGithubRepo:()=>Fe,getGitState:()=>u41,getGitDir:()=>Ap6,getFileStatus:()=>e$8,getDefaultBranch:()=>dT,getChangedFiles:()=>yR5,getBranch:()=>oM,findRemoteBase:()=>qh7,findGitRoot:()=>hY,findCanonicalGitRoot:()=>jH,dirIsInGitRepo:()=>x41});import{createHash as DR5}from"crypto";import{readFileSync as C41,realpathSync as UR7,statSync as QR7}from"fs";import{open as fR5,readFile as ZR5,realpath as dR7,stat as GR5}from"fs/promises";import{basename as TR5,dirname as b41,join as fh,resolve as s$8,sep as cR7}from"path";function vR5(){function q(K){let _=lR7(K);return _===aR7?null:_}return q.cache=lR7.cache,q}function kR5(){function q(K){let _=hY(K);if(!_)return null;return nR7(_)}return q.cache=nR7.cache,q}function Ap6(q){return QT(q)}async function VR5(){let q=Z8(),K=hY(q);if(!K)return!1;try{let[_,z]=await Promise.all([dR7(q),dR7(K)]);return _===z}catch{return q===K}}function tR7(q){let K=q.trim();if(!K)return null;let _=K.match(/^git@([^:]+):(.+?)(?:\.git)?$/);if(_&&_[1]&&_[2])return`${_[1]}/${_[2]}`.toLowerCase();let z=K.match(/^(?:https?|ssh):\/\/(?:[^@]+@)?([^/]+)\/(.+?)(?:\.git)?$/);if(z&&z[1]&&z[2]){let Y=z[1],$=z[2];if(hR5(Y)&&$.startsWith("git/")){let A=$.slice(4),O=A.split("/");if(O.length>=3&&O[0].includes("."))return A.toLowerCase();return`github.com/${A}`.toLowerCase()}return`${Y}/${$}`.toLowerCase()}return null}async function t$8(){let q=await EB();if(!q)return null;let K=tR7(q);if(!K)return null;return DR5("sha256").update(K).digest("hex").substring(0,16)}async function u41(){try{let[q,K,_,z,Y,$]=await Promise.all([sR7(),oM(),EB(),eR7(),rW6(),oW6()]);return{commitHash:q,branchName:K,remoteUrl:_,isHeadOnRemote:z,isClean:Y,worktreeCount:$}}catch(q){return null}}async function Fe(){let{parseGitRemote:q}=await Promise.resolve().then(() => (mZ(),$p6)),K=await EB();if(!K)return N("Local GitHub repo: unknown"),null;let _=q(K);if(_&&_.host==="github.com"){let z=`${_.owner}/${_.name}`;return N(`Local GitHub repo: ${z}`),z}return N("Local GitHub repo: unknown"),null}async function qh7(){let{stdout:q,code:K}=await a8(L7(),["rev-parse","--abbrev-ref","--symbolic-full-name","@{u}"],{preserveOutputOnError:!1});if(K===0&&q.trim())return q.trim();let{stdout:_,code:z}=await a8(L7(),["remote","show","origin","--","HEAD"],{preserveOutputOnError:!1});if(z===0){let $=_.match(/HEAD branch: (\S+)/);if($&&$[1])return`origin/${$[1]}`}let Y=["origin/main","origin/staging","origin/master"];for(let $ of Y){let{code:A}=await a8(L7(),["rev-parse","--verify",$],{preserveOutputOnError:!1});if(A===0)return $}return null}function LR5(){return BR7()}async function a$8(){let{stdout:q,code:K}=await a8(L7(),["ls-files","--others","--exclude-standard"],{preserveOutputOnError:!1}),_=q.trim();if(K!==0||!_)return[];let z=_.split(` |