MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / POY

Function POY

package/cli.js:5243–5258  ·  view source on GitHub ↗
(q,K,_,z)

Source from the content-addressed store, hash-verified

5241
5242${q}`,z=await hG({promptMessages:[U8({content:_})],cacheSafeParams:K,canUseTool:async()=>({behavior:"deny",message:"Side questions cannot use tools",decisionReason:{type:"other",reason:"side_question"}}),querySource:"side_question",forkLabel:"side_question",maxTurns:1,skipCacheWrite:!0});return{response:KOY(z.messages),usage:z.totalUsage}}function KOY(q){let K=q.flatMap((z)=>z.type==="assistant"?z.message.content:[]);if(K.length>0){let z=L3(K,`
5243
5244`).trim();if(z)return z;let Y=K.find(($)=>$.type==="tool_use");if(Y)return`(The model tried to call ${"name"in Y?Y.name:"a tool"} instead of answering directly. Try rephrasing or ask in the main conversation.)`}let _=q.find((z)=>z.type==="system"&&("subtype"in z)&&z.subtype==="api_error");if(_)return`(API error: ${Qk6(_.error)})`;return null}var qOY;var wg8=y(()=>{Pr();nv();i1();qOY=/^\/btw\b/gi});var oGK={};T8(oGK,{call:()=>wOY});function YOY(q){let K=z6(25),{question:_,context:z,onDone:Y}=q,[$,A]=j56.useState(null),[O,w]=j56.useState(null),[j,H]=j56.useState(0),J=j56.useRef(null),{rows:M}=vE8(t1()),X;if(K[0]===Symbol.for("react.memo_cache_sentinel"))X=()=>H($OY),K[0]=X;else X=K[0];eW(X,$||O?null:80);let P;if(K[1]!==Y)P=function(x){if(x.key==="escape"||x.key==="return"||x.key===" "||x.ctrl&&(x.key==="c"||x.key==="d")){x.preventDefault(),Y(void 0,{display:"skip"});return}if(x.key==="up"||x.ctrl&&x.key==="p")x.preventDefault(),J.current?.scrollBy(-rGK);if(x.key==="down"||x.ctrl&&x.key==="n")x.preventDefault(),J.current?.scrollBy(rGK)},K[1]=Y,K[2]=P;else P=K[2];let W=P,D,f;if(K[3]!==z||K[4]!==_)D=()=>{let R=P3();return async function(){try{let B=await OOY(z),p=await Og8({question:_,cacheSafeParams:B});if(!R.signal.aborted)if(p.response)A(p.response);else w("No response received")}catch(B){let p=B;if(!R.signal.aborted)w(d6(p)||"Failed to get response")}}(),()=>{R.abort()}},f=[_,z],K[3]=z,K[4]=_,K[5]=D,K[6]=f;else D=K[5],f=K[6];j56.useEffect(D,f);let G=Math.max(5,M-_OY-zOY),Z;if(K[7]===Symbol.for("react.memo_cache_sentinel"))Z=MO.createElement(k,{color:"warning",bold:!0},"/btw"," "),K[7]=Z;else Z=K[7];let T;if(K[8]!==_)T=MO.createElement(u,null,Z,MO.createElement(k,{dimColor:!0},_)),K[8]=_,K[9]=T;else T=K[9];let v;if(K[10]!==O||K[11]!==j||K[12]!==$)v=MO.createElement(xh6,{ref:J,flexDirection:"column",flexGrow:1},O?MO.createElement(k,{color:"error"},O):$?MO.createElement(AO,null,$):MO.createElement(u,null,MO.createElement(Ae6,{frame:j,messageColor:"warning"}),MO.createElement(k,{color:"warning"},"Answering..."))),K[10]=O,K[11]=j,K[12]=$,K[13]=v;else v=K[13];let V;if(K[14]!==G||K[15]!==v)V=MO.createElement(u,{marginTop:1,marginLeft:2,maxHeight:G},v),K[14]=G,K[15]=v,K[16]=V;else V=K[16];let E;if(K[17]!==O||K[18]!==$)E=($||O)&&MO.createElement(u,{marginTop:1},MO.createElement(k,{dimColor:!0},jA8,"/",Rh7," to scroll · Space, Enter, or Escape to dismiss")),K[17]=O,K[18]=$,K[19]=E;else E=K[19];let S;if(K[20]!==W||K[21]!==T||K[22]!==V||K[23]!==E)S=MO.createElement(u,{flexDirection:"column",paddingLeft:2,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:W},T,V,E),K[20]=W,K[21]=T,K[22]=V,K[23]=E,K[24]=S;else S=K[24];return S}function $OY(q){return q+1}function AOY(q){let K=q.at(-1);if(K?.type==="assistant"&&K.message.stop_reason===null)return q.slice(0,-1);return q}async function OOY(q){let K=i2(AOY(q.messages)),_=X18();if(_)return{systemPrompt:_.systemPrompt,userContext:_.userContext,systemContext:_.systemContext,toolUseContext:q,forkContextMessages:K};let[z,Y,$]=await Promise.all([QP(q.options.tools,q.options.mainLoopModel,[],q.options.mcpClients),bO(),tw()]);return{systemPrompt:iK(z),userContext:Y,systemContext:$,toolUseContext:q,forkContextMessages:K}}async function wOY(q,K,_){let z=_?.trim();if(!z)return q("Usage: /btw <your question>",{display:"system"}),null;return b8((Y)=>({...Y,btwUseCount:Y.btwUseCount+1})),MO.createElement(YOY,{question:z,context:K,onDone:q})}var MO,j56,_OY=5,zOY=6,rGK=3;var aGK=y(()=>{q8();dV();xN();EC8();zz();rL();CU();jN();t4();Ag8();s6();B2();V1();y8();nv();i1();wg8();MO=O6(D6(),1),j56=O6(D6(),1)});var jOY,Hq7;var sGK=y(()=>{jOY={type:"local-jsx",name:"btw",description:"Ask a quick side question without interrupting the main conversation",immediate:!0,argumentHint:"<question>",load:()=>Promise.resolve().then(() => (aGK(),oGK))},Hq7=jOY});var tGK;var eGK=y(()=>{tGK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var qTK;var KTK=y(()=>{qTK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});import{readFile as HOY,stat as JOY}from"fs/promises";function aa(q){let K=q;return K=K.replace(/"(sk-ant[^\s"']{24,})"/g,'"[REDACTED_API_KEY]"'),K=K.replace(/(?<![A-Za-z0-9"'])(sk-ant-?[A-Za-z0-9_-]{10,})(?![A-Za-z0-9"'])/g,"[REDACTED_API_KEY]"),K=K.replace(/AWS key: "(AWS[A-Z0-9]{20,})"/g,'AWS key: "[REDACTED_AWS_KEY]"'),K=K.replace(/(AKIA[A-Z0-9]{16})/g,"[REDACTED_AWS_KEY]"),K=K.replace(/(?<![A-Za-z0-9])(AIza[A-Za-z0-9_-]{35})(?![A-Za-z0-9])/g,"[REDACTED_GCP_KEY]"),K=K.replace(/(?<![A-Za-z0-9])([a-z0-9-]+@[a-z0-9-]+\.iam\.gserviceaccount\.com)(?![A-Za-z0-9])/g,"[REDACTED_GCP_SERVICE_ACCOUNT]"),K=K.replace(/(["']?x-api-key["']?\s*[:=]\s*["']?)[^"',\s)}\]]+/gi,"$1[REDACTED_API_KEY]"),K=K.replace(/(["']?authorization["']?\s*[:=]\s*["']?(bearer\s+)?)[^"',\s)}\]]+/gi,"$1[REDACTED_TOKEN]"),K=K.replace(/(AWS[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,"$1[REDACTED_AWS_VALUE]"),K=K.replace(/(GOOGLE[_-][A-Za-z0-9_]+\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,"$1[REDACTED_GCP_VALUE]"),K=K.replace(/((API[-_]?KEY|TOKEN|SECRET|PASSWORD)\s*[=:]\s*)["']?[^"',\s)}\]]+["']?/gi,"$1[REDACTED]"),K}function zTK(){return A_6().map((q)=>{let K={...q};if(K&&typeof K.error==="string")K.error=aa(K.error);return K})}async function XOY(){try{let q=Y$(),{size:K}=await JOY(q);if(K>$78)return N(`Skipping raw transcript read: file too large (${K} bytes)`,{level:"warn"}),null;return await HOY(q,"utf-8")}catch{return null}}function $TK({abortSignal:q,messages:K,initialDescription:_,onDone:z,backgroundTasks:Y={}}){let[$,A]=HR.useState("userInput"),[O,w]=HR.useState(0),[j,H]=HR.useState(_??""),[J,M]=HR.useState(null),[X,P]=HR.useState(null),[W,D]=HR.useState({isGit:!1,gitState:null}),[f,G]=HR.useState(null),Z=t1().columns-4;HR.useEffect(()=>{async function V(){let E=await YJ(),S=null;if(E)S=await u41();D({isGit:E,gitState:S})}V()},[]);let T=HR.useCallback(async()=>{A("submitting"),P(null),M(null);let V=zTK(),S=uP(K)?.requestId??null,[R,x]=await Promise.all([Xq7(),XOY()]),I=Mq7(Y),B={...R,...I},p={latestAssistantMessageId:S,message_count:K.length,datetime:new Date().toISOString(),description:j,platform:a1.platform,gitRepo:W.isGit,terminal:a1.terminal,version:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION,transcript:bP(K),errors:V,lastApiRequest:Li8(),...Object.keys(B).length>0&&{subagentTranscripts:B},...x&&{rawTranscriptJsonl:x}},[C,g]=await Promise.all([DOY(p,q),WOY(j,q)]);if(G(g),C.success){if(C.feedbackId)M(C.feedbackId),d("tengu_bug_report_submitted",{feedback_id:C.feedbackId,last_assistant_message_id:S}),Tc6("tengu_bug_report_description",{feedback_id:C.feedbackId,description:aa(j)});A("done")}else{if(C.isZdrOrg)P("Feedback collection is not available for organizations with custom data retention policies.");else P("Could not submit feedback. Please try again later.");A("userInput")}},[j,W.isGit,K]),v=HR.useCallback(()=>{if($==="done"){if(X)z("Error submitting feedback / bug report",{display:"system"});else z("Feedback / bug report submitted",{display:"system"});return}z("Feedback / bug report cancelled",{display:"system"})},[$,X,z]);return P1("confirm:no",v,{context:"Settings",isActive:$==="userInput"}),k4((V,E)=>{if($==="done"){if(E.return&&f){let S=POY(J??"",f,j,zTK());m3(S)}if(X)z("Error submitting feedback / bug report",{display:"system"});else z("Feedback / bug report submitted",{display:"system"});return}if(X&&$!=="userInput"){z("Error submitting feedback / bug report",{display:"system"});return}if($==="consent"&&(E.return||V===" "))T()}),K4.createElement(R1,{title:"Submit Feedback / Bug Report",onCancel:v,isCancelActive:$!=="userInput",inputGuide:(V)=>V.pending?K4.createElement(k,null,"Press ",V.keyName," again to exit"):$==="userInput"?K4.createElement(I1,null,K4.createElement(t8,{shortcut:"Enter",action:"continue"}),K4.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})):$==="consent"?K4.createElement(I1,null,K4.createElement(t8,{shortcut:"Enter",action:"submit"}),K4.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})):null},$==="userInput"&&K4.createElement(u,{flexDirection:"column",gap:1},K4.createElement(k,null,"Describe the issue below:"),K4.createElement(r3,{value:j,onChange:(V)=>{if(H(V),X)P(null)},columns:Z,onSubmit:()=>A("consent"),onExitMessage:()=>z("Feedback cancelled",{display:"system"}),cursorOffset:O,onChangeCursorOffset:w,showCursor:!0}),X&&K4.createElement(u,{flexDirection:"column",gap:1},K4.createElement(k,{color:"error"},X),K4.createElement(k,{dimColor:!0},"Edit and press Enter to retry, or Esc to cancel"))),$==="consent"&&K4.createElement(u,{flexDirection:"column"},K4.createElement(k,null,"This report will include:"),K4.createElement(u,{marginLeft:2,flexDirection:"column"},K4.createElement(k,null,"- Your feedback / bug description:"," ",K4.createElement(k,{dimColor:!0},j)),K4.createElement(k,null,"- Environment info:"," ",K4.createElement(k,{dimColor:!0},a1.platform,", ",a1.terminal,", v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION)),W.gitState&&K4.createElement(k,null,"- Git repo metadata:"," ",K4.createElement(k,{dimColor:!0},W.gitState.branchName,W.gitState.commitHash?`, ${W.gitState.commitHash.slice(0,7)}`:"",W.gitState.remoteUrl?` @ ${W.gitState.remoteUrl}`:"",!W.gitState.isHeadOnRemote&&", not synced",!W.gitState.isClean&&", has local changes")),K4.createElement(k,null,"- Current session transcript")),K4.createElement(u,{marginTop:1},K4.createElement(k,{wrap:"wrap",dimColor:!0},"We will use your feedback to debug related issues or to improve"," ","Claude Code's functionality (eg. to reduce the risk of bugs occurring in the future).")),K4.createElement(u,{marginTop:1},K4.createElement(k,null,"Press ",K4.createElement(k,{bold:!0},"Enter")," to confirm and submit."))),$==="submitting"&&K4.createElement(u,{flexDirection:"row",gap:1},K4.createElement(k,null,"Submitting report…")),$==="done"&&K4.createElement(u,{flexDirection:"column"},X?K4.createElement(k,{color:"error"},X):K4.createElement(k,{color:"success"},"Thank you for your report!"),J&&K4.createElement(k,{dimColor:!0},"Feedback ID: ",J),K4.createElement(u,{marginTop:1},K4.createElement(k,null,"Press "),K4.createElement(k,{bold:!0},"Enter "),K4.createElement(k,null,"to open your browser and draft a GitHub issue, or any other key to close."))))}function POY(q,K,_,z){let Y=aa(K),A=`**Bug Description**
5245${aa(_)}
5246
5247**Environment Info**
5248- Platform: ${a1.platform}
5249- Terminal: ${a1.terminal}
5250- Version: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION||"unknown"}
5251- Feedback ID: ${q}
5252
5253**Errors**
5254\`\`\`json
5255`,O="\n```\n",w=g6(z),j=`${MOY}/new?title=${encodeURIComponent(Y)}&labels=user-reported,bug&body=`,H=`
5256**Note:** Content was truncated.
5257`,J=encodeURIComponent(A),M=encodeURIComponent("\n```\n"),X=encodeURIComponent(`
5258**Note:** Content was truncated.
5259`),P=encodeURIComponent(w),W=_TK-j.length-J.length-M.length-X.length;if(W<=0){let T=encodeURIComponent("…"),v=50,V=_TK-j.length-T.length-X.length-50,E=A+w+"\n```\n",S=encodeURIComponent(E);if(S.length>V){S=S.slice(0,V);let R=S.lastIndexOf("%");if(R>=S.length-2)S=S.slice(0,R)}return j+S+T+X}if(P.length<=W)return j+J+P+M;let D=encodeURIComponent("…"),f=50,G=P.slice(0,W-D.length-f),Z=G.lastIndexOf("%");if(Z>=G.length-2)G=G.slice(0,Z);return j+J+G+D+M+X}async function WOY(q,K){try{let _=await RG({systemPrompt:iK(["Generate a concise, technical issue title (max 80 chars) for a public GitHub issue based on this bug report for Claude Code.","Claude Code is an agentic coding CLI based on the Anthropic API.","The title should:","- Include the type of issue [Bug] or [Feature Request] as the first thing in the title","- Be concise, specific and descriptive of the actual problem","- Use technical terminology appropriate for a software issue",'- For error messages, extract the key error (e.g., "Missing Tool Result Block" rather than the full message)',"- Be direct and clear for developers to understand the problem",'- If you cannot determine a clear issue, use "Bug Report: [brief description]"',"- Any LLM API errors are from the Anthropic API, not from any other model provider","Your response will be directly used as the title of the Github issue, and as such should not contain any other commentary or explaination",'Examples of good titles include: "[Bug] Auto-Compact triggers to soon", "[Bug] Anthropic API Error: Missing Tool Result Block", "[Bug] Error: Invalid Model Name for Opus"']),userPrompt:q,signal:K,options:{hasAppendSystemPrompt:!1,toolChoice:void 0,isNonInteractiveSession:!1,agents:[],querySource:"feedback",mcpTools:[]}}),z=_.message.content[0]?.type==="text"?_.message.content[0].text:"Bug Report";if(so(z))return YTK(q);return z}catch(_){return H6(_),YTK(q)}}function YTK(q){let K=q.split(`
5260`)[0]||"";if(K.length<=60&&K.length>5)return K;let _=K.slice(0,60);if(K.length>60){let z=_.lastIndexOf(" ");if(z>30)_=_.slice(0,z);_+="..."}return _.length<10?"Bug Report":_}function jg8(q){if(q instanceof Error){let K=Error(aa(q.message));if(q.stack)K.stack=aa(q.stack);H6(K)}else{let K=aa(String(q));H6(Error(K))}}async function DOY(q,K){if(iA())return{success:!1};try{await k$();let _=DJ();if(_.error)return{success:!1};let z={"Content-Type":"application/json","User-Agent":hS(),..._.headers},Y=await $1.post("https://api.anthropic.com/api/claude_cli_feedback",{content:g6(q)},{headers:z,timeout:30000,signal:K});if(Y.status===200){let $=Y.data;if($?.feedback_id)return{success:!0,feedbackId:$.feedback_id};return jg8(Error("Failed to submit feedback: request did not return feedback_id")),{success:!1}}return jg8(Error("Failed to submit feedback:"+Y.status)),{success:!1}}catch(_){if($1.isCancel(_))return{success:!1};if($1.isAxiosError(_)&&_.response?.status===403){let z=_.response.data;if(z?.error?.type==="permission_error"&&z?.error?.message?.includes("Custom data retention settings"))return jg8(Error("Cannot submit feedback because custom data retention settings are enabled")),{success:!1,isZdrOrg:!0}}return jg8(_),{success:!1}}}var K4,HR,_TK=7250,MOY="https://github.com/anthropics/claude-code/issues";var Jq7=y(()=>{CK();v8();Hi();k8();i1();t4();s6();Oq();ew();SC();G7();hH();_8();y_();E5();jG();E8();_K();l8();a5();QK();e4();rK();CH();K4=O6(D6(),1),HR=O6(D6(),1)});var OTK={};T8(OTK,{renderFeedbackComponent:()=>ATK,call:()=>fOY});function ATK(q,K,_,z="",Y={}){return Pq7.createElement($TK,{abortSignal:K,messages:_,initialDescription:z,onDone:q,backgroundTasks:Y})}async function fOY(q,K,_){let z=_||"";return ATK(q,K.abortController.signal,K.messages,z)}var Pq7;var wTK=y(()=>{Jq7();Pq7=O6(D6(),1)});var ZOY,Wq7;var jTK=y(()=>{ZD();m8();ZOY={aliases:["bug"],type:"local-jsx",name:"feedback",description:"Submit feedback about Claude Code",argumentHint:"[report]",isEnabled:()=>!(i6(process.env.CLAUDE_CODE_USE_BEDROCK)||i6(process.env.CLAUDE_CODE_USE_VERTEX)||i6(process.env.CLAUDE_CODE_USE_FOUNDRY)||i6(process.env.DISABLE_FEEDBACK_COMMAND)||i6(process.env.DISABLE_BUG_COMMAND)||iA()||!1||!OO("allow_product_feedback")),load:()=>Promise.resolve().then(() => (wTK(),OTK))},Wq7=ZOY});class Dq7{paths=[];lowerPaths=[];charBits=new Int32Array(0);pathLens=new Uint16Array(0);topLevelCache=null;readyCount=0;loadFromFileList(q){let K=new Set,_=[];for(let z of q)if(z.length>0&&!K.has(z))K.add(z),_.push(z);this.buildIndex(_)}loadFromFileListAsync(q){let K=()=>{},_=new Promise((Y)=>{K=Y}),z=this.buildAsync(q,K);return{queryable:_,done:z}}async buildAsync(q,K){let _=new Set,z=[],Y=performance.now();for(let A=0;A<q.length;A++){let O=q[A];if(O.length>0&&!_.has(O))_.add(O),z.push(O);if((A&255)===255&&performance.now()-Y>4)await Jg8(),Y=performance.now()}this.resetArrays(z),Y=performance.now();let $=!0;for(let A=0;A<z.length;A++)if(this.indexPath(A),(A&255)===255&&performance.now()-Y>4){if(this.readyCount=A+1,$)K(),$=!1;await Jg8(),Y=performance.now()}this.readyCount=z.length,K()}buildIndex(q){this.resetArrays(q);for(let K=0;K<q.length;K++)this.indexPath(K);this.readyCount=q.length}resetArrays(q){let K=q.length;this.paths=q,this.lowerPaths=Array(K),this.charBits=new Int32Array(K),this.pathLens=new Uint16Array(K),this.readyCount=0,this.topLevelCache=kOY(q,100)}indexPath(q){let K=this.paths[q].toLowerCase();this.lowerPaths[q]=K;let _=K.length;this.pathLens[q]=_;let z=0;for(let Y=0;Y<_;Y++){let $=K.charCodeAt(Y);if($>=97&&$<=122)z|=1<<$-97}this.charBits[q]=z}search(q,K){if(K<=0)return[];if(q.length===0){if(this.topLevelCache)return this.topLevelCache.slice(0,K);return[]}let _=q!==q.toLowerCase(),z=_?q:q.toLowerCase(),Y=Math.min(z.length,64),$=Array(Y),A=0;for(let G=0;G<Y;G++){let Z=z.charAt(G);$[G]=Z;let T=Z.charCodeAt(0);if(T>=97&&T<=122)A|=1<<T-97}let O=Y*24+8+32,w=[],j=-1/0,{paths:H,lowerPaths:J,charBits:M,pathLens:X,readyCount:P}=this;q:for(let G=0;G<P;G++){if((M[G]&A)!==A)continue;let Z=_?H[G]:J[G],T=Z.indexOf($[0]);if(T===-1)continue;Hg8[0]=T;let v=0,V=0,E=T;for(let I=1;I<Y;I++){if(T=Z.indexOf($[I],E+1),T===-1)continue q;Hg8[I]=T;let B=T-E-1;if(B===0)V+=4;else v+=3+B*1;E=T}if(w.length===K&&O+V-v<=j)continue;let S=H[G],R=X[G],x=Y*16+V-v;x+=HTK(S,Hg8[0],!0);for(let I=1;I<Y;I++)x+=HTK(S,Hg8[I],!1);if(x+=Math.max(0,32-(R>>2)),w.length<K){if(w.push({path:S,fuzzScore:x}),w.length===K)w.sort((I,B)=>I.fuzzScore-B.fuzzScore),j=w[0].fuzzScore}else if(x>j){let I=0,B=w.length;while(I<B){let p=I+B>>1;if(w[p].fuzzScore<x)I=p+1;else B=p}w.splice(I,0,{path:S,fuzzScore:x}),w.shift(),j=w[0].fuzzScore}}w.sort((G,Z)=>Z.fuzzScore-G.fuzzScore);let W=w.length,D=Math.max(W,1),f=Array(W);for(let G=0;G<W;G++){let Z=w[G].path,T=G/D,v=Z.includes("test")?Math.min(T*1.05,1):T;f[G]={path:Z,score:v}}return f}}function HTK(q,K,_){if(K===0)return _?8:0;let z=q.charCodeAt(K-1);if(GOY(z))return 8;if(TOY(z)&&vOY(q.charCodeAt(K)))return 6;return 0}function GOY(q){return q===47||q===92||q===45||q===95||q===46||q===32}function TOY(q){return q>=97&&q<=122}function vOY(q){return q>=65&&q<=90}function Jg8(){return new Promise((q)=>setImmediate(q))}function kOY(q,K){let _=new Set;for(let Y of q){let $=Y.length;for(let O=0;O<Y.length;O++){let w=Y.charCodeAt(O);if(w===47||w===92){$=O;break}}let A=Y.slice(0,$);if(A.length>0){if(_.add(A),_.size>=K)break}}let z=Array.from(_);return z.sort((Y,$)=>{let A=Y.length-$.length;if(A!==0)return A;return Y<$?-1:Y>$?1:0}),z.slice(0,K).map((Y)=>({path:Y,score:0}))}var JTK=4,Hg8;var MTK=y(()=>{Hg8=new Int32Array(64)});import{statSync as VOY}from"fs";import*as YT from"path";function fq7(){if(!sa)sa=new Dq7;return sa}function fTK(){sa=null,Ih6=null,uh6++,Mg8=null,A78=[],Eq7=[],Lq7=[],yq7.clear(),Zq7=null,Gq7=null,Tq7=0,vq7=null,kq7=null,Xg8=null}function ZTK(q){let K=q.length,_=Math.max(1,Math.floor(K/500)),z=-2128831035;for(let Y=0;Y<K;Y+=_){let $=q[Y];for(let A=0;A<$.length;A++)z=(z^$.charCodeAt(A))*16777619|0;z=z*16777619|0}if(K>0){let Y=q[K-1];for(let $=0;$<Y.length;$++)z=(z^Y.charCodeAt($))*16777619|0}return`${K}:${(z>>>0).toString(16)}`}function NOY(){let q=hY(Z8());if(!q)return null;try{return VOY(YT.join(q,".git","index")).mtimeMs}catch{return null}}function XTK(q,K,_){if(_===K)return q;return q.map((z)=>{let Y=YT.join(K,z);return YT.relative(_,Y)})}async function yOY(q){if(q.length===0)return;if(!sa||A78.length===0)return;let K=await GTK(q),_=[...A78,...Eq7,...Lq7,...q,...K],z=ZTK(_);if(z===Xg8){N("[FileIndex] skipped index rebuild — merged paths unchanged");return}await sa.loadFromFileListAsync(_).done,Xg8=z,N(`[FileIndex] rebuilt index with ${A78.length} tracked + ${q.length} untracked files`)}async function PTK(q,K){let _=`${q}:${K}`;if(Gq7===_)return Zq7;let z=X8(),Y=[".ignore",".rgignore"],$=[...new Set([q,K])],A=WTK.default(),O=!1,w=$.flatMap((J)=>Y.map((M)=>YT.join(J,M))),j=await Promise.all(w.map((J)=>z.readFile(J,{encoding:"utf8"}).catch(()=>null)));for(let[J,M]of j.entries()){if(M===null)continue;A.add(M),O=!0,N(`[FileIndex] loaded ignore patterns from ${w[J]}`)}let H=O?A:null;return Zq7=H,Gq7=_,H}async function EOY(q,K){let _=Date.now();N("[FileIndex] getFilesUsingGit called");let z=hY(Z8());if(!z)return N("[FileIndex] not a git repo, returning null"),null;try{let Y=Z8(),$=Date.now(),A=await S7(L7(),["-c","core.quotepath=false","ls-files","--recurse-submodules"],{timeout:5000,abortSignal:q,cwd:z});if(N(`[FileIndex] git ls-files (tracked) took ${Date.now()-$}ms`),A.code!==0)return N(`[FileIndex] git ls-files failed (code=${A.code}, stderr=${A.stderr}), falling back to ripgrep`),null;let O=A.stdout.trim().split(`
5261`).filter(Boolean),w=XTK(O,z,Y),j=await PTK(z,Y);if(j){let J=w.length;w=j.filter(w),N(`[FileIndex] applied ignore patterns: ${J} -> ${w.length} files`)}A78=w;let H=Date.now()-_;if(N(`[FileIndex] git ls-files: ${w.length} tracked files in ${H}ms`),d("tengu_file_suggestions_git_ls_files",{file_count:w.length,tracked_count:w.length,untracked_count:0,duration_ms:H}),!Mg8){let J=K?["-c","core.quotepath=false","ls-files","--others","--exclude-standard"]:["-c","core.quotepath=false","ls-files","--others"],M=uh6;Mg8=S7(L7(),J,{timeout:1e4,cwd:z}).then(async(X)=>{if(M!==uh6)return;if(X.code===0){let P=X.stdout.trim().split(`

Callers 1

$TKFunction · 0.85

Calls 3

aaFunction · 0.85
g6Function · 0.85
sliceMethod · 0.45

Tested by

no test coverage detected