| 148 | `).filter(Boolean),Y=[],$=0;for(let A of z){if(Y.length>=oR7){N(`Untracked file capture: reached max file count (${oR7})`);break}if(c$8(A))continue;try{let w=(await GR5(A)).size;if(w>iR7){N(`Untracked file capture: skipping ${A} (exceeds ${iR7} bytes)`);continue}if($+w>rR7){N(`Untracked file capture: reached total size limit (${rR7} bytes)`);break}if(w===0){Y.push({path:A,content:""});continue}let j=Math.min(ER5,w),H=await fR5(A,"r");try{let J=Buffer.alloc(j),{bytesRead:M}=await H.read(J,0,j,0),X=J.subarray(0,M);if(LR7(X))continue;let P;if(w<=j)P=X.toString("utf-8");else P=await ZR5(A,"utf-8");Y.push({path:A,content:P}),$+=w}finally{await H.close()}}catch(O){N(`Failed to read untracked file ${A}: ${O}`)}}return Y}async function RR5(){try{if(!await YJ())return null;if(await LR5()){N("Shallow clone detected, using HEAD-only mode for issue");let[{stdout:X},P]=await Promise.all([a8(L7(),["diff","HEAD"]),a$8()]);return{remote_base_sha:null,remote_base:null,patch:X||"",untracked_files:P,format_patch:null,head_sha:null,branch_name:null}}let K=await qh7();if(!K){N("No remote found, using HEAD-only mode for issue");let[{stdout:X},P]=await Promise.all([a8(L7(),["diff","HEAD"]),a$8()]);return{remote_base_sha:null,remote_base:null,patch:X||"",untracked_files:P,format_patch:null,head_sha:null,branch_name:null}}let{stdout:_,code:z}=await a8(L7(),["merge-base","HEAD",K],{preserveOutputOnError:!1});if(z!==0||!_.trim()){N("Merge-base failed, using HEAD-only mode for issue");let[{stdout:X},P]=await Promise.all([a8(L7(),["diff","HEAD"]),a$8()]);return{remote_base_sha:null,remote_base:null,patch:X||"",untracked_files:P,format_patch:null,head_sha:null,branch_name:null}}let Y=_.trim(),[{stdout:$},A,{stdout:O,code:w},{stdout:j},{stdout:H}]=await Promise.all([a8(L7(),["diff",Y]),a$8(),a8(L7(),["format-patch",`${Y}..HEAD`,"--stdout"]),a8(L7(),["rev-parse","HEAD"]),a8(L7(),["rev-parse","--abbrev-ref","HEAD"])]),J=null;if(w===0&&O&&O.trim())J=O;let M=H?.trim();return{remote_base_sha:Y,remote_base:K,patch:$||"",untracked_files:A,format_patch:J,head_sha:j?.trim()||null,branch_name:M&&M!=="HEAD"?M:null}}catch(q){return H6(q),null}}function hR5(q){let K=q.split(":")[0]??"";return K==="localhost"||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(K)}function Op6(){let q=X8(),K=Z8(),_=fh(K,".git");try{let z=q.statSync(_);if(z.isFile())return!1;if(z.isDirectory()){let Y=fh(_,"HEAD");try{if(q.statSync(Y).isFile())return!1}catch{}}}catch{}try{if(q.statSync(fh(K,"HEAD")).isFile())return!0}catch{}try{if(q.statSync(fh(K,"objects")).isDirectory())return!0}catch{}try{if(q.statSync(fh(K,"refs")).isDirectory())return!0}catch{}return!1}var aR7,lR7,hY,nR7,jH,L7,YJ,x41=async(q)=>{return hY(q)!==null},sR7=async()=>{return IR7()},oM=async()=>{return xR7()},dT=async()=>{return mR7()},EB=async()=>{return uR7()},eR7=async()=>{let{code:q}=await a8(L7(),["rev-parse","@{u}"],{preserveOutputOnError:!1});return q===0},NR5=async()=>{let{stdout:q,code:K}=await a8(L7(),["rev-list","--count","@{u}..HEAD"],{preserveOutputOnError:!1});return K===0&&parseInt(q.trim(),10)>0},rW6=async(q)=>{let K=["--no-optional-locks","status","--porcelain"];if(q?.ignoreUntracked)K.push("-uno");let{stdout:_}=await a8(L7(),K,{preserveOutputOnError:!1});return _.trim().length===0},yR5=async()=>{let{stdout:q}=await a8(L7(),["--no-optional-locks","status","--porcelain"],{preserveOutputOnError:!1});return q.trim().split(` |
| 149 | `).map((K)=>K.trim().split(" ",2)[1]?.trim()).filter((K)=>typeof K==="string")},e$8=async()=>{let{stdout:q}=await a8(L7(),["--no-optional-locks","status","--porcelain"],{preserveOutputOnError:!1}),K=[],_=[];return q.trim().split(` |
| 150 | `).filter((z)=>z.length>0).forEach((z)=>{let Y=z.substring(0,2),$=z.substring(2).trim();if(Y==="??")_.push($);else if($)K.push($)}),{tracked:K,untracked:_}},oW6=async()=>{return gR7()},I41=async(q)=>{try{let K=q||`Claude Code auto-stash - ${new Date().toISOString()}`,{untracked:_}=await e$8();if(_.length>0){let{code:Y}=await a8(L7(),["add",..._],{preserveOutputOnError:!1});if(Y!==0)return!1}let{code:z}=await a8(L7(),["stash","push","--message",K],{preserveOutputOnError:!1});return z===0}catch(K){return!1}},iR7=524288000,rR7=5368709120,oR7=20000,ER5=65536;var E5=y(()=>{F4();y41();I7();_8();oY();XK();e7();Hl();E8();VB();rk();aR7=Symbol("git-root-not-found"),lR7=HP((q)=>{let K=Date.now();c8("info","find_git_root_started");let _=s$8(q),z=_.substring(0,_.indexOf(cR7)+1)||cR7,Y=0;while(_!==z){try{let A=fh(_,".git");Y++;let O=QR7(A);if(O.isDirectory()||O.isFile())return c8("info","find_git_root_completed",{duration_ms:Date.now()-K,stat_count:Y,found:!0}),_.normalize("NFC")}catch{}let $=b41(_);if($===_)break;_=$}try{let $=fh(z,".git");Y++;let A=QR7($);if(A.isDirectory()||A.isFile())return c8("info","find_git_root_completed",{duration_ms:Date.now()-K,stat_count:Y,found:!0}),z.normalize("NFC")}catch{}return c8("info","find_git_root_completed",{duration_ms:Date.now()-K,stat_count:Y,found:!1}),aR7},(q)=>q,50),hY=vR5();nR7=HP((q)=>{try{let K=C41(fh(q,".git"),"utf-8").trim();if(!K.startsWith("gitdir:"))return q;let _=s$8(q,K.slice(7).trim()),z=s$8(_,C41(fh(_,"commondir"),"utf-8").trim());if(s$8(b41(_))!==fh(z,"worktrees"))return q;if(UR7(C41(fh(_,"gitdir"),"utf-8").trim())!==fh(UR7(q),".git"))return q;if(TR5(z)!==".git")return z.normalize("NFC");return b41(z).normalize("NFC")}catch{return q}},(q)=>q,50),jH=kR5();L7=_1(()=>{return iW6("git")||"git"}),YJ=_1(async()=>{let q=Date.now();c8("info","is_git_check_started");let K=hY(Z8())!==null;return c8("info","is_git_check_completed",{duration_ms:Date.now()-q,is_git:K}),K})});import{appendFile as SR5,mkdir as CR5,readFile as bR5,writeFile as xR5}from"fs/promises";import{homedir as IR5}from"os";import{dirname as uR5,join as mR5}from"path";async function m41(q,K){let{code:_}=await S7("git",["check-ignore",q],{preserveOutputOnError:!1,cwd:K});return _===0}function pR5(){return mR5(IR5(),".config","git","ignore")}async function Kh7(q,K=Z8()){try{if(!await x41(K))return;let _=`**/${q}`,z=q.endsWith("/")?`${q}sample-file.txt`:q;if(await m41(z,K))return;let Y=pR5(),$=uR5(Y);await CR5($,{recursive:!0});try{if((await bR5(Y,{encoding:"utf-8"})).includes(_))return;await SR5(Y,` |
| 151 | ${_} |
| 152 | `)}catch(A){if(s1(A)==="ENOENT")await xR5(Y,`${_} |
| 153 | `,"utf-8");else throw A}}catch(_){H6(_)}}var p41=y(()=>{I7();y8();XK();E5();E8()});function jp6(q,K=!1){let _=q.length,z=0,Y="",$=0,A=16,O=0,w=0,j=0,H=0,J=0;function M(Z,T){let v=0,V=0;while(v<Z||!T){let E=q.charCodeAt(z);if(E>=48&&E<=57)V=V*16+E-48;else if(E>=65&&E<=70)V=V*16+E-65+10;else if(E>=97&&E<=102)V=V*16+E-97+10;else break;z++,v++}if(v<Z)V=-1;return V}function X(Z){z=Z,Y="",$=0,A=16,J=0}function P(){let Z=z;if(q.charCodeAt(z)===48)z++;else{z++;while(z<q.length&&aW6(q.charCodeAt(z)))z++}if(z<q.length&&q.charCodeAt(z)===46)if(z++,z<q.length&&aW6(q.charCodeAt(z))){z++;while(z<q.length&&aW6(q.charCodeAt(z)))z++}else return J=3,q.substring(Z,z);let T=z;if(z<q.length&&(q.charCodeAt(z)===69||q.charCodeAt(z)===101)){if(z++,z<q.length&&q.charCodeAt(z)===43||q.charCodeAt(z)===45)z++;if(z<q.length&&aW6(q.charCodeAt(z))){z++;while(z<q.length&&aW6(q.charCodeAt(z)))z++;T=z}else J=3}return q.substring(Z,T)}function W(){let Z="",T=z;while(!0){if(z>=_){Z+=q.substring(T,z),J=2;break}let v=q.charCodeAt(z);if(v===34){Z+=q.substring(T,z),z++;break}if(v===92){if(Z+=q.substring(T,z),z++,z>=_){J=2;break}switch(q.charCodeAt(z++)){case 34:Z+='"';break;case 92:Z+="\\";break;case 47:Z+="/";break;case 98:Z+="\b";break;case 102:Z+="\f";break;case 110:Z+=` |