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

Function Al_

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

Source from the content-addressed store, hash-verified

1480${j||"(clean)"}`,`Recent commits:
1481${O}`].join(`
1482
1483`)}catch(z){return c8("error","git_status_failed",{duration_ms:Date.now()-q}),H6(z),null}}),tw=_1(async()=>{let q=Date.now();c8("info","system_context_started");let K=i6(process.env.CLAUDE_CODE_REMOTE)||!Ik8()?null:await XI1(),_=null;return c8("info","system_context_completed",{duration_ms:Date.now()-q,has_git_status:K!==null,has_injection:_!==null}),{...K&&{gitStatus:K},...{}}}),bO=_1(async()=>{let q=Date.now();c8("info","user_context_started");let K=i6(process.env.CLAUDE_CODE_DISABLE_CLAUDE_MDS)||f9()&&NZ().length===0,_=K?null:$I1(Pr6(await yH()));return hi8(_||null),c8("info","user_context_completed",{duration_ms:Date.now()-q,claudemd_length:_?.length??0,claudemd_disabled:Boolean(K)}),{..._&&{claudeMd:_},currentDate:`Today's date is ${Qi6()}.`}})});function qU(q){if(q?.type==="assistant"&&"usage"in q.message&&!(q.message.content[0]?.type==="text"&&i76.has(q.message.content[0].text))&&q.message.model!==CO6)return q.message.usage;return}function RH4(q){if(q?.type==="assistant"&&"id"in q.message&&q.message.model!==CO6)return q.message.id;return}function fr6(q){return q.input_tokens+(q.cache_creation_input_tokens??0)+(q.cache_read_input_tokens??0)+q.output_tokens}function NL(q){let K=q.length-1;while(K>=0){let _=q[K],z=_?qU(_):void 0;if(z)return fr6(z);K--}return 0}function PI1(q){let K=q.length-1;while(K>=0){let _=q[K],z=_?qU(_):void 0;if(z){let Y=z.iterations;if(Y&&Y.length>0){let $=Y.at(-1);return $.input_tokens+$.output_tokens}return z.input_tokens+z.output_tokens}K--}return 0}function uk8(q){for(let K=q.length-1;K>=0;K--){let _=q[K],z=_?qU(_):void 0;if(z)return{input_tokens:z.input_tokens,output_tokens:z.output_tokens,cache_creation_input_tokens:z.cache_creation_input_tokens??0,cache_read_input_tokens:z.cache_read_input_tokens??0}}return null}function mk8(q){let _=q.findLast((Y)=>Y.type==="assistant");if(!_)return!1;let z=qU(_);return z?fr6(z)>200000:!1}function pk8(q){let K=0;for(let _ of q.message.content)if(_.type==="text")K+=_.text.length;else if(_.type==="thinking")K+=_.thinking.length;else if(_.type==="redacted_thinking")K+=_.data.length;else if(_.type==="tool_use")K+=g6(_.input).length;return K}function yG(q){let K=q.length-1;while(K>=0){let _=q[K],z=_?qU(_):void 0;if(_&&z){let Y=RH4(_);if(Y){let $=K-1;while($>=0){let A=q[$],O=A?RH4(A):void 0;if(O===Y)K=$;else if(O!==void 0)break;$--}}return fr6(z)+Bk6(q.slice(K+1))}K--}return Bk6(q)}var EG=y(()=>{ON();i1();l8()});function bH4(){return hH4}function r76(q){hH4=q}function xH4(){Bk8=Date.now()}function IH4(){Bk8=void 0}async function uH4(){let q=Date.now();while(Bk8){if(Date.now()-Bk8>dc_)return;if(Date.now()-q>Qc_)return;await R7(1000)}}async function Gr6(){let q=X8(),K=Fk6();try{let _=await q.readFile(K,{encoding:"utf-8"});return d("tengu_session_memory_loaded",{content_length:_.length}),_}catch(_){if(e3(_))return null;throw _}}function mH4(q){gk6={...gk6,...q}}function pH4(){return{...gk6}}function BH4(q){SH4=q}function gH4(){return CH4}function FH4(){CH4=!0}function UH4(q){return q>=gk6.minimumMessageTokensToInit}function QH4(q){return q-SH4>=gk6.minimumTokensBetweenUpdate}function dH4(){return gk6.toolCallsBetweenUpdates}var Qc_=15000,dc_=60000,Zr6,gk6,hH4,Bk8,SH4=0,CH4=!1;var bO6=y(()=>{y8();e7();Tz();k8();Zr6={minimumMessageTokensToInit:1e4,minimumTokensBetweenUpdate:5000,toolCallsBetweenUpdates:3},gk6={...Zr6}});function cc_(q,K,_,z){var Y=q.length,$=_+(z?1:-1);while(z?$--:++$<Y)if(K(q[$],$,q))return $;return-1}var cH4;var lH4=y(()=>{cH4=cc_});function lc_(q){return q!==q}var nH4;var iH4=y(()=>{nH4=lc_});function nc_(q,K,_){var z=_-1,Y=q.length;while(++z<Y)if(q[z]===K)return z;return-1}var rH4;var oH4=y(()=>{rH4=nc_});function ic_(q,K,_){return K===K?rH4(q,K,_):cH4(q,nH4,_)}var aH4;var sH4=y(()=>{lH4();iH4();oH4();aH4=ic_});function rc_(q,K){var _=q==null?0:q.length;return!!_&&aH4(q,K,0)>-1}var tH4;var eH4=y(()=>{sH4();tH4=rc_});function oc_(q,K,_){var z=-1,Y=q==null?0:q.length;while(++z<Y)if(_(K,q[z]))return!0;return!1}var qJ4;var KJ4=y(()=>{qJ4=oc_});var ac_=1/0,sc_,_J4;var zJ4=y(()=>{En8();EN1();G58();sc_=!(Rt&&1/WX6(new Rt([,-0]))[1]==ac_)?Gi:function(q){return new Rt(q)},_J4=sc_});function ec_(q,K,_){var z=-1,Y=tH4,$=q.length,A=!0,O=[],w=O;if(_)A=!1,Y=qJ4;else if($>=tc_){var j=K?null:_J4(q);if(j)return WX6(j);A=!1,Y=f58,w=new D58}else w=K?[]:O;q:while(++z<$){var H=q[z],J=K?K(H):H;if(H=_||H!==0?H:0,A&&J===J){var M=w.length;while(M--)if(w[M]===J)continue q;if(K)w.push(J);O.push(H)}else if(!Y(w,J,_)){if(w!==O)w.push(J);O.push(H)}}return O}var tc_=200,YJ4;var $J4=y(()=>{Xn8();eH4();KJ4();Pn8();zJ4();G58();YJ4=ec_});function ql_(q,K){return q&&q.length?YJ4(q,oR(K,2)):[]}var u2;var Fu=y(()=>{U36();$J4();u2=ql_});var jJ4={};T8(jJ4,{outputSchema:()=>wJ4,inputSchema:()=>OJ4,clearToolSearchDescriptionCache:()=>zl_,ToolSearchTool:()=>Tr6});function Kl_(q){return q.map((K)=>K.name).sort().join(",")}function _l_(q){let K=Kl_(q);if(WI1!==K)N("ToolSearchTool: cache invalidated - deferred tools changed"),Fk8.cache.clear?.(),WI1=K}function zl_(){Fk8.cache.clear?.(),WI1=null}function gk8(q,K,_,z){return{data:{matches:q,query:K,total_deferred_tools:_,...z&&z.length>0?{pending_mcp_servers:z}:{}}}}function AJ4(q){if(q.startsWith("mcp__")){let _=q.replace(/^mcp__/,"").toLowerCase();return{parts:_.split("__").flatMap((Y)=>Y.split("_")).filter(Boolean),full:_.replace(/__/g," ").replace(/_/g," "),isMcp:!0}}let K=q.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/_/g," ").toLowerCase().split(/\s+/).filter(Boolean);return{parts:K,full:K.join(" "),isMcp:!1}}function Yl_(q){let K=new Map;for(let _ of q)if(!K.has(_))K.set(_,new RegExp(`\\b${jD6(_)}\\b`));return K}async function $l_(q,K,_,z){let Y=q.toLowerCase().trim(),$=K.find((X)=>X.name.toLowerCase()===Y)??_.find((X)=>X.name.toLowerCase()===Y);if($)return[$.name];if(Y.startsWith("mcp__")&&Y.length>5){let X=K.filter((P)=>P.name.toLowerCase().startsWith(Y)).slice(0,z).map((P)=>P.name);if(X.length>0)return X}let A=Y.split(/\s+/).filter((X)=>X.length>0),O=[],w=[];for(let X of A)if(X.startsWith("+")&&X.length>1)O.push(X.slice(1));else w.push(X);let j=O.length>0?[...O,...w]:A,H=Yl_(j),J=K;if(O.length>0)J=(await Promise.all(K.map(async(P)=>{let W=AJ4(P.name),f=(await Fk8(P.name,_)).toLowerCase(),G=P.searchHint?.toLowerCase()??"";return O.every((T)=>{let v=H.get(T);return W.parts.includes(T)||W.parts.some((V)=>V.includes(T))||v.test(f)||G&&v.test(G)})?P:null}))).filter((P)=>P!==null);return(await Promise.all(J.map(async(X)=>{let P=AJ4(X.name),D=(await Fk8(X.name,_)).toLowerCase(),f=X.searchHint?.toLowerCase()??"",G=0;for(let Z of j){let T=H.get(Z);if(P.parts.includes(Z))G+=P.isMcp?12:10;else if(P.parts.some((v)=>v.includes(Z)))G+=P.isMcp?6:5;if(P.full.includes(Z)&&G===0)G+=3;if(f&&T.test(f))G+=4;if(T.test(D))G+=2}return{name:X.name,score:G}}))).filter((X)=>X.score>0).sort((X,P)=>P.score-X.score).slice(0,z).map((X)=>X.name)}var OJ4,wJ4,WI1=null,Fk8,Tr6;var Uk8=y(()=>{F4();x7();k8();Bq();_8();RC();rF();OJ4=B6(()=>L.object({query:L.string().describe('Query to find deferred tools. Use "select:<tool_name>" for direct selection, or keywords to search.'),max_results:L.number().optional().default(5).describe("Maximum number of results to return (default: 5)")})),wJ4=B6(()=>L.object({matches:L.array(L.string()),query:L.string(),total_deferred_tools:L.number(),pending_mcp_servers:L.array(L.string()).optional()}));Fk8=_1(async(q,K)=>{let _=L5(K,q);if(!_)return"";return _.prompt({getToolPermissionContext:async()=>({mode:"default",additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1}),tools:K,agents:[]})},(q)=>q);Tr6=sq({isEnabled(){return yL()},isConcurrencySafe(){return!0},isReadOnly(){return!0},name:CP,maxResultSizeChars:1e5,async description(){return Gk8()},async prompt(){return Gk8()},get inputSchema(){return OJ4()},get outputSchema(){return wJ4()},async call(q,{options:{tools:K},getAppState:_}){let{query:z,max_results:Y=5}=q,$=K.filter(yC);_l_($);function A(){let J=_().mcp.clients.filter((M)=>M.type==="pending");return J.length>0?J.map((M)=>M.name):void 0}function O(H,J){d("tengu_tool_search_outcome",{query:z,queryType:J,matchCount:H.length,totalDeferredTools:$.length,maxResults:Y,hasMatches:H.length>0})}let w=z.match(/^select:(.+)$/i);if(w){let H=w[1].split(",").map((X)=>X.trim()).filter(Boolean),J=[],M=[];for(let X of H){let P=L5($,X)??L5(K,X);if(P){if(!J.includes(P.name))J.push(P.name)}else M.push(X)}if(J.length===0){N(`ToolSearchTool: select failed — none found: ${M.join(", ")}`),O([],"select");let X=A();return gk8([],z,$.length,X)}if(M.length>0)N(`ToolSearchTool: partial select — found: ${J.join(", ")}, missing: ${M.join(", ")}`);else N(`ToolSearchTool: selected ${J.join(", ")}`);return O(J,"select"),gk8(J,z,$.length)}let j=await $l_(z,$,K,Y);if(N(`ToolSearchTool: keyword search for "${z}", found ${j.length} matches`),O(j,"keyword"),j.length===0){let H=A();return gk8(j,z,$.length,H)}return gk8(j,z,$.length)},renderToolUseMessage(){return null},userFacingName:()=>"",mapToolResultToToolResultBlockParam(q,K){if(q.matches.length===0){let _="No matching deferred tools found";if(q.pending_mcp_servers&&q.pending_mcp_servers.length>0)_+=`. Some MCP servers are still connecting: ${q.pending_mcp_servers.join(", ")}. Their tools will become available shortly — try searching again.`;return{type:"tool_result",tool_use_id:K,content:_}}return{type:"tool_result",tool_use_id:K,content:q.matches.map((_)=>({type:"tool_reference",tool_name:_}))}}})});function JJ4(q){let K={toolRequests:new Map,toolResults:new Map,humanMessages:0,assistantMessages:0,localCommandOutputs:0,other:0,attachments:new Map,duplicateFileReads:new Map,total:0},_=new Map,z=new Map,Y=new Map;return q.forEach((A)=>{if(A.type==="attachment"){let O=A.attachment.type||"unknown";K.attachments.set(O,(K.attachments.get(O)||0)+1)}}),bP(q).forEach((A)=>{let{content:O}=A.message;if(typeof O==="string"){let w=E3(O);if(K.total+=w,A.type==="user"&&O.includes("local-command-stdout"))K.localCommandOutputs+=w;else K[A.type==="user"?"humanMessages":"assistantMessages"]+=w}else O.forEach((w)=>Al_(w,A,K,_,z,Y))}),Y.forEach((A,O)=>{if(A.count>1){let j=Math.floor(A.totalTokens/A.count)*(A.count-1);K.duplicateFileReads.set(O,{count:A.count,tokens:j})}}),K}function Al_(q,K,_,z,Y,$){let A=E3(g6(q));switch(_.total+=A,q.type){case"text":if(K.type==="user"&&"text"in q&&q.text.includes("local-command-stdout"))_.localCommandOutputs+=A;else _[K.type==="user"?"humanMessages":"assistantMessages"]+=A;break;case"tool_use":{if("name"in q&&"id"in q){let O=q.name||"unknown";if(HJ4(_.toolRequests,O,A),z.set(q.id,O),O==="Read"&&"input"in q&&q.input&&typeof q.input==="object"&&"file_path"in q.input){let w=String(q.input.file_path);Y.set(q.id,w)}}break}case"tool_result":{if("tool_use_id"in q){let O=z.get(q.tool_use_id)||"unknown";if(HJ4(_.toolResults,O,A),O==="Read"){let w=Y.get(q.tool_use_id);if(w){let j=$.get(w)||{count:0,totalTokens:0};$.set(w,{count:j.count+1,totalTokens:j.totalTokens+A})}}}break}case"image":case"server_tool_use":case"web_search_tool_result":case"search_result":case"document":case"thinking":case"redacted_thinking":case"code_execution_tool_result":case"mcp_tool_use":case"mcp_tool_result":case"container_upload":case"web_fetch_tool_result":case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":case"tool_search_tool_result":case"compaction":_.other+=A;break}}function HJ4(q,K,_){q.set(K,(q.get(K)||0)+_)}function MJ4(q){let K={total_tokens:q.total,human_message_tokens:q.humanMessages,assistant_message_tokens:q.assistantMessages,local_command_output_tokens:q.localCommandOutputs,other_tokens:q.other};q.attachments.forEach((z,Y)=>{K[`attachment_${Y}_count`]=z}),q.toolRequests.forEach((z,Y)=>{K[`tool_request_${Y}_tokens`]=z}),q.toolResults.forEach((z,Y)=>{K[`tool_result_${Y}_tokens`]=z});let _=[...q.duplicateFileReads.values()].reduce((z,Y)=>z+Y.tokens,0);if(K.duplicate_read_tokens=_,K.duplicate_read_file_count=q.duplicateFileReads.size,q.total>0){K.human_message_percent=Math.round(q.humanMessages/q.total*100),K.assistant_message_percent=Math.round(q.assistantMessages/q.total*100),K.local_command_output_percent=Math.round(q.localCommandOutputs/q.total*100),K.duplicate_read_percent=Math.round(_/q.total*100);let z=[...q.toolRequests.values()].reduce(($,A)=>$+A,0),Y=[...q.toolResults.values()].reduce(($,A)=>$+A,0);K.tool_request_percent=Math.round(z/q.total*100),K.tool_result_percent=Math.round(Y/q.total*100),q.toolRequests.forEach(($,A)=>{K[`tool_request_${A}_percent`]=Math.round($/q.total*100)}),q.toolResults.forEach(($,A)=>{K[`tool_result_${A}_percent`]=Math.round($/q.total*100)})}return K}var XJ4=y(()=>{ON();i1();l8()});function DI1(q){if(T06())return $Yq(q);return q}function Uk6(q){return q||T06()}function PJ4(q){return T06()&&q.status===429}var vr6=y(()=>{LZ();VJ1()});function o76(q){if(!q||typeof q!=="object")return null;let K=q,_=5,z=0;while(K&&z<_){if(K instanceof Error&&"code"in K&&typeof K.code==="string"){let Y=K.code,$=Ol_.has(Y);return{code:Y,message:K.message,isSSLError:$}}if(K instanceof Error&&"cause"in K&&K.cause!==K)K=K.cause,z++;else break}return null}function a76(q){let K=o76(q);if(!K?.isSSLError)return null;return`SSL certificate error (${K.code}). If you are behind a corporate proxy or TLS-intercepting firewall, set NODE_EXTRA_CA_CERTS to your CA bundle path, or ask IT to allowlist *.anthropic.com. Run /doctor for details.`}function fI1(q){if(q.includes("<!DOCTYPE html")||q.includes("<html")){let K=q.match(/<title>([^<]+)<\/title>/);if(K&&K[1])return K[1].trim();return""}return q}function wl_(q){let K=q.message;if(!K)return"";return fI1(K)}function jl_(q){return typeof q==="object"&&q!==null&&"error"in q&&typeof q.error==="object"&&q.error!==null}function Hl_(q){if(!jl_(q))return null;let _=q.error,z=_?.error?.message;if(typeof z==="string"&&z.length>0){let $=fI1(z);if($.length>0)return $}let Y=_?.message;if(typeof Y==="string"&&Y.length>0){let $=fI1(Y);if($.length>0)return $}return null}function Qk6(q){let K=o76(q);if(K){let{code:z,isSSLError:Y}=K;if(z==="ETIMEDOUT")return"Request timed out. Check your internet connection and proxy settings";if(Y)switch(z){case"UNABLE_TO_VERIFY_LEAF_SIGNATURE":case"UNABLE_TO_GET_ISSUER_CERT":case"UNABLE_TO_GET_ISSUER_CERT_LOCALLY":return"Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates";case"CERT_HAS_EXPIRED":return"Unable to connect to API: SSL certificate has expired";case"CERT_REVOKED":return"Unable to connect to API: SSL certificate has been revoked";case"DEPTH_ZERO_SELF_SIGNED_CERT":case"SELF_SIGNED_CERT_IN_CHAIN":return"Unable to connect to API: Self-signed certificate detected. Check your proxy or corporate SSL certificates";case"ERR_TLS_CERT_ALTNAME_INVALID":case"HOSTNAME_MISMATCH":return"Unable to connect to API: SSL certificate hostname mismatch";case"CERT_NOT_YET_VALID":return"Unable to connect to API: SSL certificate is not yet valid";default:return`Unable to connect to API: SSL error (${z})`}}if(q.message==="Connection error."){if(K?.code)return`Unable to connect to API (${K.code})`;return"Unable to connect to API. Check your internet connection"}if(!q.message)return Hl_(q)??`API error (status ${q.status??"unknown"})`;let _=wl_(q);return _!==q.message&&_.length>0?_:q.message}var Ol_;var Pr=y(()=>{Ol_=new Set(["UNABLE_TO_VERIFY_LEAF_SIGNATURE","UNABLE_TO_GET_ISSUER_CERT","UNABLE_TO_GET_ISSUER_CERT_LOCALLY","CERT_SIGNATURE_FAILURE","CERT_NOT_YET_VALID","CERT_HAS_EXPIRED","CERT_REVOKED","CERT_REJECTED","CERT_UNTRUSTED","DEPTH_ZERO_SELF_SIGNED_CERT","SELF_SIGNED_CERT_IN_CHAIN","CERT_CHAIN_TOO_LONG","PATH_LENGTH_EXCEEDED","ERR_TLS_CERT_ALTNAME_INVALID","HOSTNAME_MISMATCH","ERR_TLS_HANDSHAKE_TIMEOUT","ERR_SSL_WRONG_VERSION_NUMBER","ERR_SSL_DECRYPTION_FAILED_OR_BAD_RECORD_MAC"])});function Dl_(q){return q===void 0||Wl_.has(q)}function Qk8(){return!1}function DJ4(q){return xO6(q)||q instanceof Qq&&q.status===429}function Zl_(q){if(!(q instanceof wf))return!1;let K=o76(q);return K?.code==="ECONNRESET"||K?.code==="EPIPE"}async function*dk8(q,K,_){let z=Nl_(_),Y={model:_.model,thinkingConfig:_.thinkingConfig,...BK()&&{fastMode:_.fastMode}},$=null,A=_.initialConsecutive529Errors??0,O,w=0;for(let j=1;j<=z+1;j++){if(_.signal?.aborted)throw new V_;let H=BK()?Y.fastMode&&!yg():!1;try{let J=Zl_(O);if(J&&g8("tengu_disable_keepalive_on_econnreset",!1))N("Stale connection (ECONNRESET/EPIPE) — disabling keep-alive for retry"),d1q();if($===null||O instanceof Qq&&O.status===401||vI1(O)||GJ4(O)||TJ4(O)||J){if(O instanceof Qq&&O.status===401||vI1(O)){let M=Kq()?.accessToken;if(M)await OS(M)}$=await q()}return await K($,j,Y)}catch(J){if(O=J,N(`API error (attempt ${j}/${z+1}): ${J instanceof Qq?`${J.status} ${J.message}`:d6(J)}`,{level:"error"}),H&&!Qk8()&&J instanceof Qq&&(J.status===429||xO6(J))){let f=J.headers?.get("anthropic-ratelimit-unified-overage-disabled-reason");if(f!==null&&f!==void 0){k2q(f),Y.fastMode=!1;continue}let G=Rl_(J);if(G!==null&&G<El_){await R7(G,_.signal,{abortError:ZI1});continue}let Z=Math.max(G??yl_,Ll_),T=xO6(J)?"overloaded":"rate_limit";if(Z2q(Date.now()+Z,T),BK())Y.fastMode=!1;continue}if(H&&Gl_(J)){G2q(),Y.fastMode=!1;continue}if(xO6(J)&&!Dl_(_.querySource))throw d("tengu_api_529_background_dropped",{query_source:_.querySource}),new Uu(J,Y);if(xO6(J)&&(process.env.FALLBACK_FOR_ALL_PRIMARY_MODELS||!d7()&&Uz6(_.model))){if(A++,A>=Xl_){if(_.fallbackModel)throw d("tengu_api_opus_fallback_triggered",{original_model:_.model,fallback_model:_.fallbackModel,provider:i66()}),new IO6(_.model,_.fallbackModel);if(!process.env.IS_SANDBOX&&!Qk8())throw d("tengu_api_custom_529_overloaded_error",{}),new Uu(Error(VI1),Y)}}let M=Qk8()&&DJ4(J);if(j>z&&!M)throw new Uu(J,Y);if(!(Tl_(J)||kl_(J))&&(!(J instanceof Qq)||!Vl_(J)))throw new Uu(J,Y);if(J instanceof Qq){let f=ZJ4(J);if(f){let{inputTokens:G,contextLimit:Z}=f,T=1000,v=Math.max(0,Z-G-1000);if(v<GI1)throw H6(Error(`availableContext ${v} is less than FLOOR_OUTPUT_TOKENS ${GI1}`)),J;let V=(Y.thinkingConfig.type==="enabled"?Y.thinkingConfig.budgetTokens:0)+1,E=Math.max(GI1,v,V);Y.maxTokensOverride=E,d("tengu_max_tokens_context_overflow_adjustment",{inputTokens:G,contextLimit:Z,adjustedMaxTokens:E,attempt:j});continue}}let P=fJ4(J),W;if(M&&J instanceof Qq&&J.status===429)w++,W=hl_(J)??Math.min(hC(w,P,WJ4),TI1);else if(M)w++,W=Math.min(hC(w,P,WJ4),TI1);else W=hC(j,P);let D=M?w:j;if(d("tengu_api_retry",{attempt:D,delayMs:W,error:J.message,status:J.status,provider:i66()}),M){if(W>60000)d("tengu_api_persistent_retry_wait",{status:J.status,delayMs:W,attempt:D,provider:i66()});let f=W;while(f>0){if(_.signal?.aborted)throw new V_;if(J instanceof Qq)yield kI1(J,f,D,z);let G=Math.min(f,fl_);await R7(G,_.signal,{abortError:ZI1}),f-=G}if(j>=z)j=z}else{if(J instanceof Qq)yield kI1(J,W,j,z);await R7(W,_.signal,{abortError:ZI1})}}}throw new Uu(O,Y)}function fJ4(q){return(q.headers?.["retry-after"]||q.headers?.get?.("retry-after"))??null}function hC(q,K,_=32000){if(K){let $=parseInt(K,10);if(!isNaN($))return $*1000}let z=Math.min(Pl_*Math.pow(2,q-1),_),Y=Math.random()*0.25*z;return z+Y}function ZJ4(q){if(q.status!==400||!q.message)return;if(!q.message.includes("input length and `max_tokens` exceed context limit"))return;let K=/input length and `max_tokens` exceed context limit: (\d+) \+ (\d+) > (\d+)/,_=q.message.match(K);if(!_||_.length!==4)return;if(!_[1]||!_[2]||!_[3]){H6(Error("Unable to parse max_tokens from max_tokens exceed context limit error message"));return}let z=parseInt(_[1],10),Y=parseInt(_[2],10),$=parseInt(_[3],10);if(isNaN(z)||isNaN(Y)||isNaN($))return;return{inputTokens:z,maxTokens:Y,contextLimit:$}}function Gl_(q){if(!(q instanceof Qq))return!1;return q.status===400&&(q.message?.includes("Fast mode is not enabled")??!1)}function xO6(q){if(!(q instanceof Qq))return!1;return q.status===529||(q.message?.includes('"type":"overloaded_error"')??!1)}function vI1(q){return q instanceof Qq&&q.status===403&&(q.message?.includes("OAuth token has been revoked")??!1)}function GJ4(q){if(i6(process.env.CLAUDE_CODE_USE_BEDROCK)){if(A2q(q)||q instanceof Qq&&q.status===403)return!0}return!1}function Tl_(q){if(GJ4(q))return rd6(),!0;return!1}function vl_(q){if(!(q instanceof Error))return!1;let K=q.message;return K.includes("Could not load the default credentials")||K.includes("Could not refresh access token")||K.includes("invalid_grant")}function TJ4(q){if(i6(process.env.CLAUDE_CODE_USE_VERTEX)){if(vl_(q))return!0;if(q instanceof Qq&&q.status===401)return!0}return!1}function kl_(q){if(TJ4(q))return od6(),!0;return!1}function Vl_(q){if(PJ4(q))return!1;if(Qk8()&&DJ4(q))return!0;if(i6(process.env.CLAUDE_CODE_REMOTE)&&(q.status===401||q.status===403))return!0;if(q.message?.includes('"type":"overloaded_error"'))return!0;if(ZJ4(q))return!0;let K=q.headers?.get("x-should-retry");if(K==="true"&&(!d7()||LG6()))return!0;if(K==="false"){let _=q.status!==void 0&&q.status>=500;return!1}if(q instanceof wf)return!0;if(!q.status)return!1;if(q.status===408)return!0;if(q.status===409)return!0;if(q.status===429)return!d7()||LG6();if(q.status===401)return id6(),!0;if(vI1(q))return!0;if(q.status&&q.status>=500)return!0;return!1}function kr6(){if(process.env.CLAUDE_CODE_MAX_RETRIES)return parseInt(process.env.CLAUDE_CODE_MAX_RETRIES,10);return Ml_}function Nl_(q){return q.maxRetries??kr6()}function Rl_(q){let K=fJ4(q);if(K){let _=parseInt(K,10);if(!isNaN(_))return _*1000}return null}function hl_(q){let K=q.headers?.get?.("anthropic-ratelimit-unified-reset");if(!K)return null;let _=Number(K);if(!Number.isFinite(_))return null;let z=_*1000-Date.now();if(z<=0)return null;return Math.min(z,TI1)}var ZI1=()=>new V_,Ml_=10,GI1=3000,Xl_=3,Pl_=500,Wl_,WJ4=300000,TI1=21600000,fl_=30000,Uu,IO6,yl_=1800000,El_=20000,Ll_=600000;var Wr=y(()=>{LZ();NX1();_8();E8();i1();Az();G7();m8();y8();xf();aq();qv();o1();k8();vr6();SC();Pr();Wl_=new Set(["repl_main_thread","repl_main_thread:outputStyle:custom","repl_main_thread:outputStyle:Explanatory","repl_main_thread:outputStyle:Learning","sdk","agent:custom","agent:default","agent:builtin","compact","hook_agent","hook_prompt","verification_agent","side_question","auto_mode",...[]]);Uu=class Uu extends Error{originalError;retryContext;constructor(q,K){let _=d6(q);super(_);this.originalError=q;this.retryContext=K;if(this.name="RetryError",q instanceof Error&&q.stack)this.stack=q.stack}};IO6=class IO6 extends Error{originalModel;fallbackModel;constructor(q,K){super(`Model fallback triggered: ${q} -> ${K}`);this.originalModel=q;this.fallbackModel=K;this.name="FallbackTriggeredError"}}});function Sl_(q){if(typeof q!=="object"||q===null)return!1;let K=q;if(K.type!=="image")return!1;if(typeof K.source!=="object"||K.source===null)return!1;let _=K.source;return _.type==="base64"&&typeof _.data==="string"}function vJ4(q){let K=[],_=0;for(let z of q){if(typeof z!=="object"||z===null)continue;let Y=z;if(Y.type!=="user")continue;let $=Y.message;if(!$)continue;let A=$.content;if(typeof A==="string"||!Array.isArray(A))continue;for(let O of A)if(Sl_(O)){_++;let w=O.source.data.length;if(w>Ek6)d("tengu_image_api_validation_failed",{base64_size_bytes:w,max_bytes:Ek6}),K.push({index:_,size:w})}}if(K.length>0)throw new dk6(K,Ek6)}var dk6;var ck8=y(()=>{k8();U7();dk6=class dk6 extends Error{constructor(q,K){let _,z=q[0];if(q.length===1&&z)_=`Image base64 size (${m4(z.size)}) exceeds API limit (${m4(K)}). Please resize the image before sending.`;else _=`${q.length} images exceed the API limit (${m4(K)}): `+q.map((Y)=>`Image ${Y.index}: ${m4(Y.size)}`).join(", ")+". Please resize these images before sending.";super(_);this.name="ImageSizeError"}}});var nk8={};T8(nk8,{sharp:()=>NJ4,getNativeModule:()=>VJ4,default:()=>Cl_});function VJ4(){if(kJ4)return lk8;kJ4=!0;try{lk8=(()=>{throw new Error("Cannot require module "+"../../image-processor.node");})()}catch{lk8=null}return lk8}function NJ4(q){let K=null,_=[],z=0;async function Y(){if(!K)K=(async()=>{let O=VJ4();if(!O)throw Error("Native image processor module not available");return O.processImage(q)})();return K}function $(O){for(let w=z;w<_.length;w++){let j=_[w];if(j)j(O)}z=_.length}let A={async metadata(){return(await Y()).metadata()},resize(O,w,j){return _.push((H)=>{H.resize(O,w,j)}),A},jpeg(O){return _.push((w)=>{w.jpeg(O?.quality)}),A},png(O){return _.push((w)=>{w.png(O)}),A},webp(O){return _.push((w)=>{w.webp(O?.quality)}),A},async toBuffer(){let O=await Y();return $(O),O.toBuffer()}};return A}var lk8=null,kJ4=!1,Cl_;var ik8=y(()=>{Cl_=NJ4});var KU=m((neA,EJ4)=>{/*!
1484 Copyright 2013 Lovell Fuller and others.
1485 SPDX-License-Identifier: Apache-2.0

Callers 1

JJ4Function · 0.85

Calls 6

E3Function · 0.85
g6Function · 0.85
HJ4Function · 0.85
includesMethod · 0.80
setMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected