MCPcopy Create free account
hub / github.com/ChinaSiro/claude-code-sourcemap / RyY

Function RyY

package/cli.js:6745–6752  ·  view source on GitHub ↗
(q,K,_)

Source from the content-addressed store, hash-verified

6743 /tag bugfix # Add tag
6744 /tag bugfix # Remove tag (toggle)
6745 /tag feature-auth
6746 /tag wip`,{display:"system"})},Y=[_],K[0]=_,K[1]=z,K[2]=Y;else z=K[1],Y=K[2];return nH.useEffect(z,Y),null}async function wyY(q,K,_){if(_=_?.trim()||"",f$8.includes(_)||D$8.includes(_))return nH.createElement($mK,{onDone:q});if(!_)return nH.createElement($mK,{onDone:q});return nH.createElement(OyY,{tagName:_,onDone:q})}var nH;var OmK=y(()=>{q8();x3();v8();p3();e4();RY();s6();k8();_K();nH=O6(D6(),1)});var jyY,wmK;var jmK=y(()=>{jyY={type:"local-jsx",name:"tag",description:"Toggle a searchable tag on the current session",isEnabled:()=>!1,argumentHint:"<tag-name>",load:()=>Promise.resolve().then(() => (OmK(),AmK))},wmK=jyY});var HmK={};T8(HmK,{call:()=>HyY});async function HyY(q){q("/output-style has been deprecated. Use /config to change your output style, or set it in your settings file. Changes take effect on the next session.",{display:"system"})}var JyY,JmK;var MmK=y(()=>{JyY={type:"local-jsx",name:"output-style",description:"Deprecated: use /config to change output style",isHidden:!0,load:()=>Promise.resolve().then(() => HmK)},JmK=JyY});async function XmK(){let q=await rm();if(q.length===0)return{availableEnvironments:[],selectedEnvironment:null,selectedEnvironmentSource:null};let _=Z7()?.remote?.defaultEnvironmentId,z=q.find(($)=>$.kind!=="bridge")??q[0],Y=null;if(_){let $=q.find((A)=>A.environment_id===_);if($){z=$;for(let A=cT.length-1;A>=0;A--){let O=cT[A];if(!O||O==="flagSettings")continue;if(v1(O)?.remote?.defaultEnvironmentId===_){Y=O;break}}}}return{availableEnvironments:q,selectedEnvironment:z,selectedEnvironmentSource:Y}}var PmK=y(()=>{kO();U1();oE6()});function WmK(q){let K=z6(27),{onDone:_}=q,[z,Y]=Q56.useState("loading"),$;if(K[0]===Symbol.for("react.memo_cache_sentinel"))$=[],K[0]=$;else $=K[0];let[A,O]=Q56.useState($),[w,j]=Q56.useState(null),[H,J]=Q56.useState(null),[M,X]=Q56.useState(null),P,W;if(K[1]===Symbol.for("react.memo_cache_sentinel"))P=()=>{let Z=!1;return async function(){try{let V=await XmK();if(Z)return;O(V.availableEnvironments),j(V.selectedEnvironment),J(V.selectedEnvironmentSource),Y(null)}catch(V){let E=V;if(Z)return;let S=x1(E);H6(S),X(S.message),Y(null)}}(),()=>{Z=!0}},W=[],K[1]=P,K[2]=W;else P=K[1],W=K[2];Q56.useEffect(P,W);let D;if(K[3]!==A||K[4]!==_)D=function(T){if(T==="cancel"){_();return}Y("updating");let v=A.find((V)=>V.environment_id===T);if(!v){_("Error: Selected environment not found");return}W7("localSettings",{remote:{defaultEnvironmentId:v.environment_id}}),_(`Set default remote environment to ${$8.bold(v.name)} (${v.environment_id})`)},K[3]=A,K[4]=_,K[5]=D;else D=K[5];let f=D;if(z==="loading"){let Z;if(K[6]===Symbol.for("react.memo_cache_sentinel"))Z=t5.createElement(pb,{message:"Loading environments…"}),K[6]=Z;else Z=K[6];let T;if(K[7]!==_)T=t5.createElement(R1,{title:yq8,onCancel:_,hideInputGuide:!0},Z),K[7]=_,K[8]=T;else T=K[8];return T}if(M){let Z;if(K[9]!==M)Z=t5.createElement(k,{color:"error"},"Error: ",M),K[9]=M,K[10]=Z;else Z=K[10];let T;if(K[11]!==_||K[12]!==Z)T=t5.createElement(R1,{title:yq8,onCancel:_},Z),K[11]=_,K[12]=Z,K[13]=T;else T=K[13];return T}if(!w){let Z;if(K[14]===Symbol.for("react.memo_cache_sentinel"))Z=t5.createElement(k,null,"No remote environments available."),K[14]=Z;else Z=K[14];let T;if(K[15]!==_)T=t5.createElement(R1,{title:yq8,subtitle:K97,onCancel:_},Z),K[15]=_,K[16]=T;else T=K[16];return T}if(A.length===1){let Z;if(K[17]!==_||K[18]!==w)Z=t5.createElement(XyY,{environment:w,onDone:_}),K[17]=_,K[18]=w,K[19]=Z;else Z=K[19];return Z}let G;if(K[20]!==A||K[21]!==f||K[22]!==z||K[23]!==_||K[24]!==w||K[25]!==H)G=t5.createElement(PyY,{environments:A,selectedEnvironment:w,selectedEnvironmentSource:H,loadingState:z,onSelect:f,onCancel:_}),K[20]=A,K[21]=f,K[22]=z,K[23]=_,K[24]=w,K[25]=H,K[26]=G;else G=K[26];return G}function MyY(q){let K=z6(7),{environment:_}=q,z;if(K[0]!==_.name)z=t5.createElement(k,{bold:!0},_.name),K[0]=_.name,K[1]=z;else z=K[1];let Y;if(K[2]!==_.environment_id)Y=t5.createElement(k,{dimColor:!0},"(",_.environment_id,")"),K[2]=_.environment_id,K[3]=Y;else Y=K[3];let $;if(K[4]!==z||K[5]!==Y)$=t5.createElement(k,null,t6.tick," Using ",z," ",Y),K[4]=z,K[5]=Y,K[6]=$;else $=K[6];return $}function XyY(q){let K=z6(6),{environment:_,onDone:z}=q,Y;if(K[0]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},K[0]=Y;else Y=K[0];P1("confirm:yes",z,Y);let $;if(K[1]!==_)$=t5.createElement(MyY,{environment:_}),K[1]=_,K[2]=$;else $=K[2];let A;if(K[3]!==z||K[4]!==$)A=t5.createElement(R1,{title:yq8,subtitle:K97,onCancel:z},$),K[3]=z,K[4]=$,K[5]=A;else A=K[5];return A}function PyY(q){let K=z6(18),{environments:_,selectedEnvironment:z,selectedEnvironmentSource:Y,loadingState:$,onSelect:A,onCancel:O}=q,w;if(K[0]!==Y)w=Y&&Y!=="localSettings"?` (from ${Ue(Y)} settings)`:"",K[0]=Y,K[1]=w;else w=K[1];let j=w,H;if(K[2]!==z.name)H=t5.createElement(k,{bold:!0},z.name),K[2]=z.name,K[3]=H;else H=K[3];let J;if(K[4]!==j||K[5]!==H)J=t5.createElement(k,null,"Currently using: ",H,j),K[4]=j,K[5]=H,K[6]=J;else J=K[6];let M=J,X;if(K[7]===Symbol.for("react.memo_cache_sentinel"))X=t5.createElement(k,{dimColor:!0},K97),K[7]=X;else X=K[7];let P;if(K[8]!==_||K[9]!==$||K[10]!==A||K[11]!==z.environment_id)P=$==="updating"?t5.createElement(pb,{message:"Updating…"}):t5.createElement(H1,{options:_.map(WyY),defaultValue:z.environment_id,onChange:A,onCancel:()=>A("cancel"),layout:"compact-vertical"}),K[8]=_,K[9]=$,K[10]=A,K[11]=z.environment_id,K[12]=P;else P=K[12];let W;if(K[13]===Symbol.for("react.memo_cache_sentinel"))W=t5.createElement(k,{dimColor:!0},t5.createElement(I1,null,t5.createElement(t8,{shortcut:"Enter",action:"select"}),t5.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"}))),K[13]=W;else W=K[13];let D;if(K[14]!==O||K[15]!==M||K[16]!==P)D=t5.createElement(R1,{title:yq8,subtitle:M,onCancel:O,hideInputGuide:!0},X,P,W),K[14]=O,K[15]=M,K[16]=P,K[17]=D;else D=K[17];return D}function WyY(q){return{label:t5.createElement(k,null,q.name," ",t5.createElement(k,{dimColor:!0},"(",q.environment_id,")")),value:q.environment_id}}var t5,Q56,yq8="Select Remote Environment",K97="Configure environments at: https://claude.ai/code";var DmK=y(()=>{q8();x3();bq();s6();Oq();y8();E8();kO();U1();PmK();a5();p3();QK();e4();rK();IH6();t5=O6(D6(),1),Q56=O6(D6(),1)});var fmK={};T8(fmK,{call:()=>DyY});async function DyY(q){return _97.createElement(WmK,{onDone:q})}var _97;var ZmK=y(()=>{DmK();_97=O6(D6(),1)});var GmK;var TmK=y(()=>{ZD();G7();GmK={type:"local-jsx",name:"remote-env",description:"Configure the default remote environment for teleport sessions",isEnabled:()=>d7()&&OO("allow_remote_sessions"),get isHidden(){return!d7()||!OO("allow_remote_sessions")},load:()=>Promise.resolve().then(() => (ZmK(),fmK))}});var vmK={};T8(vmK,{call:()=>Y97});async function Y97(q,K){try{if(d7()){let z=Kq(),Y=!1;if(z?.subscriptionType&&z?.rateLimitTier)Y=z.subscriptionType==="max"&&z.rateLimitTier==="default_claude_max_20x";else if(z?.accessToken){let $=await Zg(z.accessToken);Y=$?.organization?.organization_type==="claude_max"&&$?.organization?.rate_limit_tier==="default_claude_max_20x"}if(Y)return setTimeout(q,0,"You are already on the highest Max subscription plan. For additional usage, run /login to switch to an API usage-billed account."),null}return await m3("https://claude.ai/upgrade/max"),z97.createElement(uE6,{startingMessage:"Starting new login following /upgrade. Exit with Ctrl-C to use existing account.",onDone:(z)=>{K.onChangeAPIKey(),q(z?"Login successful":"Login interrupted")}})}catch(_){H6(_),setTimeout(q,0,"Failed to open browser. Please visit https://claude.ai/upgrade/max to upgrade.")}return null}var z97;var $97=y(()=>{v06();G7();hH();E8();Xb8();z97=O6(D6(),1)});var fyY,iU8;var A97=y(()=>{G7();m8();fyY={type:"local-jsx",name:"upgrade",description:"Upgrade to Max for higher rate limits and more Opus",availability:["claude-ai"],isEnabled:()=>!i6(process.env.DISABLE_UPGRADE_COMMAND)&&yK()!=="enterprise",load:()=>Promise.resolve().then(() => ($97(),vmK))},iU8=fyY});var kmK={};T8(kmK,{call:()=>GyY});function ZyY(q){let K=z6(25),{onDone:_,context:z}=q,[Y,$]=IS6.useState(null),A=e46(),O;if(K[0]===Symbol.for("react.memo_cache_sentinel"))O=yK(),K[0]=O;else O=K[0];let w=O,j;if(K[1]===Symbol.for("react.memo_cache_sentinel"))j=qF(),K[1]=j;else j=K[1];let H=j,J=B_()?.hasExtraUsageEnabled===!0,X=w==="max"&&H==="default_claude_max_20x",P=w==="team"||w==="enterprise",W=g8("tengu_jade_anvil_4",!1),D;q:{let S;if(K[2]!==A.overageDisabledReason||K[3]!==A.overageStatus){if(S=[],t46.isEnabled()){let B=fg(),p=P&&!B,C=A.overageDisabledReason==="out_of_credits"||A.overageDisabledReason==="org_level_disabled_until"||A.overageDisabledReason==="org_service_zero_credit_limit";if(p&&C);else{let g=A.overageStatus==="rejected"||A.overageStatus==="allowed_warning",F;if(p)F=g?"Request more":"Request extra usage";else F=J?"Add funds to continue with extra usage":"Switch to extra usage";let U;if(K[5]!==F)U={label:F,value:"extra-usage"},K[5]=F,K[6]=U;else U=K[6];S.push(U)}}if(!X&&!P&&iU8.isEnabled()){let B;if(K[7]===Symbol.for("react.memo_cache_sentinel"))B={label:"Upgrade your plan",value:"upgrade"},K[7]=B;else B=K[7];S.push(B)}K[2]=A.overageDisabledReason,K[3]=A.overageStatus,K[4]=S}else S=K[4];let R;if(K[8]===Symbol.for("react.memo_cache_sentinel"))R={label:"Stop and wait for limit to reset",value:"cancel"},K[8]=R;else R=K[8];let x=R;if(W){let B;if(K[9]!==S)B=[...S,x],K[9]=S,K[10]=B;else B=K[10];D=B;break q}let I;if(K[11]!==S)I=[x,...S],K[11]=S,K[12]=I;else I=K[12];D=I}let f=D,G;if(K[13]!==_)G=function(){d("tengu_rate_limit_options_menu_cancel",{}),_(void 0,{display:"skip"})},K[13]=_,K[14]=G;else G=K[14];let Z=G,T;if(K[15]!==z||K[16]!==Z||K[17]!==_)T=function(R){if(R==="upgrade")d("tengu_rate_limit_options_menu_select_upgrade",{}),Y97(_,z).then((x)=>{if(x)$(x)});else if(R==="extra-usage")d("tengu_rate_limit_options_menu_select_extra_usage",{}),Or1(_,z).then((x)=>{if(x)$(x)});else if(R==="cancel")Z()},K[15]=z,K[16]=Z,K[17]=_,K[18]=T;else T=K[18];let v=T;if(Y)return Y;let V;if(K[19]!==v||K[20]!==f)V=IS6.default.createElement(H1,{options:f,onChange:v,visibleOptionCount:f.length}),K[19]=v,K[20]=f,K[21]=V;else V=K[21];let E;if(K[22]!==Z||K[23]!==V)E=IS6.default.createElement(R1,{title:"What do you want to do?",onCancel:Z,color:"suggestion"},V),K[22]=Z,K[23]=V,K[24]=E;else E=K[24];return E}async function GyY(q,K){return IS6.default.createElement(ZyY,{onDone:q,context:K})}var IS6;var VmK=y(()=>{q8();p3();e4();o1();k8();Ue6();G7();$n();wr1();Fe6();A97();$97();IS6=O6(D6(),1)});var TyY,NmK;var ymK=y(()=>{G7();TyY={type:"local-jsx",name:"rate-limit-options",description:"Show options when rate limit is reached",isEnabled:()=>{if(!d7())return!1;return!0},isHidden:!0,load:()=>Promise.resolve().then(() => (VmK(),kmK))},NmK=TyY});var vyY,O97;var EmK=y(()=>{Z$();vyY={type:"prompt",description:"Set up Claude Code's status line UI",contentLength:0,aliases:[],name:"statusline",progressMessage:"setting up statusLine",allowedTools:[v4,"Read(~/**)","Edit(~/.claude/settings.json)"],source:"builtin",disableNonInteractive:!0,async getPromptForCommand(q){let K=q.trim()||"Configure my statusLine from my shell PS1 configuration";return[{type:"text",text:`Create an ${v4} with subagent_type "statusline-setup" and the prompt "${K}"`}]}},O97=vyY});var hmK={};T8(hmK,{showCurrentEffort:()=>LmK,executeEffort:()=>RmK,call:()=>RyY});function VyY(q){let K=nA6(q);if(K!==void 0){let $=W7("userSettings",{effortLevel:K});if($.error)return{message:`Failed to set effort level: ${$.error.message}`}}d("tengu_effort_command",{effort:q});let _=iA6();if(_!==void 0&&_!==q){let $=process.env.CLAUDE_CODE_EFFORT_LEVEL;if(K===void 0)return{message:`Not applied: CLAUDE_CODE_EFFORT_LEVEL=${$} overrides effort this session, and ${q} is session-only (nothing saved)`,effortUpdate:{value:q}};return{message:`CLAUDE_CODE_EFFORT_LEVEL=${$} overrides this session — clear it and ${q} takes over`,effortUpdate:{value:q}}}let z=PS1(q);return{message:`Set effort level to ${q}${K!==void 0?"":" (this session only)"}: ${z}`,effortUpdate:{value:q}}}function LmK(q,K){let _=iA6(),z=_===null?void 0:_??q;if(z===void 0)return{message:`Effort level: auto (currently ${GT8(K,q)})`};let Y=PS1(z);return{message:`Current effort level: ${z} (${Y})`}}function NyY(){let q=W7("userSettings",{effortLevel:void 0});if(q.error)return{message:`Failed to set effort level: ${q.error.message}`};d("tengu_effort_command",{effort:"auto"});let K=iA6();if(K!==void 0&&K!==null)return{message:`Cleared effort from settings, but CLAUDE_CODE_EFFORT_LEVEL=${process.env.CLAUDE_CODE_EFFORT_LEVEL} still controls this session`,effortUpdate:{value:void 0}};return{message:"Effort level set to auto",effortUpdate:{value:void 0}}}function RmK(q){let K=q.toLowerCase();if(K==="auto"||K==="unset")return NyY();if(!ZT8(K))return{message:`Invalid argument: ${q}. Valid options are: low, medium, high, max, auto`};return VyY(K)}function yyY(q){let{onDone:K}=q,_=P8(EyY),z=hD(),{message:Y}=LmK(_,z);return K(Y),null}function EyY(q){return q.effortValue}function LyY(q){let K=z6(6),{result:_,onDone:z}=q,Y=s7(),{effortUpdate:$,message:A}=_,O,w;if(K[0]!==$||K[1]!==A||K[2]!==z||K[3]!==Y)O=()=>{if($)Y((j)=>({...j,effortValue:$.value}));z(A)},w=[Y,$,A,z],K[0]=$,K[1]=A,K[2]=z,K[3]=Y,K[4]=O,K[5]=w;else O=K[4],w=K[5];return DJ6.useEffect(O,w),null}async function RyY(q,K,_){if(_=_?.trim()||"",kyY.includes(_)){q(`Usage: /effort [low|medium|high|max|auto]
6747
6748Effort levels:
6749- low: Quick, straightforward implementation
6750- medium: Balanced approach with standard testing
6751- high: Comprehensive implementation with extensive testing
6752- max: Maximum capability with deepest reasoning (Opus 4.6 only)
6753- auto: Use the default effort level for your model`);return}if(!_||_==="current"||_==="status")return DJ6.createElement(yyY,{onDone:q});let z=RmK(_);return DJ6.createElement(LyY,{result:z,onDone:q})}var DJ6,kyY;var SmK=y(()=>{q8();yQ();k8();C7();q0();U1();DJ6=O6(D6(),1),kyY=["help","-h","--help"]});var CmK;var bmK=y(()=>{TU8();CmK={type:"local-jsx",name:"effort",description:"Set effort level for model usage",argumentHint:"[low|medium|high|max|auto]",get immediate(){return ES6()},load:()=>Promise.resolve().then(() => (SmK(),hmK))}});var xmK=m((rU8)=>{(function(q){q.black="\x1B[30m",q.red="\x1B[31m",q.green="\x1B[32m",q.yellow="\x1B[33m",q.blue="\x1B[34m",q.magenta="\x1B[35m",q.cyan="\x1B[36m",q.lightgray="\x1B[37m",q.default="\x1B[39m",q.darkgray="\x1B[90m",q.lightred="\x1B[91m",q.lightgreen="\x1B[92m",q.lightyellow="\x1B[93m",q.lightblue="\x1B[94m",q.lightmagenta="\x1B[95m",q.lightcyan="\x1B[96m",q.white="\x1B[97m",q.reset="\x1B[0m";function K(_,z){return z===void 0?_:z+_+q.reset}q.colored=K,q.plot=function(_,z=void 0){if(typeof _[0]=="number")_=[_];z=typeof z<"u"?z:{};let Y=typeof z.min<"u"?z.min:_[0][0],$=typeof z.max<"u"?z.max:_[0][0];for(let T=0;T<_.length;T++)for(let v=0;v<_[T].length;v++)Y=Math.min(Y,_[T][v]),$=Math.max($,_[T][v]);let A=["┼","┤","╶","╴","─","╰","╭","╮","╯","│"],O=Math.abs($-Y),w=typeof z.offset<"u"?z.offset:3,j=typeof z.padding<"u"?z.padding:" ",H=typeof z.height<"u"?z.height:O,J=typeof z.colors<"u"?z.colors:[],M=O!==0?H/O:1,X=Math.round(Y*M),P=Math.round($*M),W=Math.abs(P-X),D=0;for(let T=0;T<_.length;T++)D=Math.max(D,_[T].length);D=D+w;let f=typeof z.symbols<"u"?z.symbols:A,G=typeof z.format<"u"?z.format:function(T){return(j+T.toFixed(2)).slice(-j.length)},Z=Array(W+1);for(let T=0;T<=W;T++){Z[T]=Array(D);for(let v=0;v<D;v++)Z[T][v]=" "}for(let T=X;T<=P;++T){let v=G(W>0?$-(T-X)*O/W:T,T-X);Z[T-X][Math.max(w-v.length,0)]=v,Z[T-X][w-1]=T==0?f[0]:f[1]}for(let T=0;T<_.length;T++){let v=J[T%J.length],V=Math.round(_[T][0]*M)-X;Z[W-V][w-1]=K(f[0],v);for(let E=0;E<_[T].length-1;E++){let S=Math.round(_[T][E+0]*M)-X,R=Math.round(_[T][E+1]*M)-X;if(S==R)Z[W-S][E+w]=K(f[4],v);else{Z[W-R][E+w]=K(S>R?f[5]:f[6],v),Z[W-S][E+w]=K(S>R?f[7]:f[8],v);let x=Math.min(S,R),I=Math.max(S,R);for(let B=x+1;B<I;B++)Z[W-B][E+w]=K(f[9],v)}}}return Z.map(function(T){return T.join("")}).join(`
6754`)}})(typeof rU8>"u"?rU8.asciichart={}:rU8)});import{randomBytes as hyY}from"crypto";import{open as SyY}from"fs/promises";import{join as CyY}from"path";async function umK(q){while(oU8)await oU8;let K;oU8=new Promise((_)=>{K=_});try{return await q()}finally{oU8=null,K?.()}}function mmK(){return CyY(c1(),xyY)}function w97(){return{version:fJ6,lastComputedDate:null,dailyActivity:[],dailyModelTokens:[],modelUsage:{},totalSessions:0,totalMessages:0,longestSession:null,firstSessionDate:null,hourCounts:{},totalSpeculationTimeSavedMs:0,shotDistribution:{}}}function IyY(q){if(typeof q.version!=="number"||q.version<byY||q.version>fJ6)return null;if(!Array.isArray(q.dailyActivity)||!Array.isArray(q.dailyModelTokens)||typeof q.totalSessions!=="number"||typeof q.totalMessages!=="number")return null;return{version:fJ6,lastComputedDate:q.lastComputedDate??null,dailyActivity:q.dailyActivity,dailyModelTokens:q.dailyModelTokens,modelUsage:q.modelUsage??{},totalSessions:q.totalSessions,totalMessages:q.totalMessages,longestSession:q.longestSession??null,firstSessionDate:q.firstSessionDate??null,hourCounts:q.hourCounts??{},totalSpeculationTimeSavedMs:q.totalSpeculationTimeSavedMs??0,shotDistribution:q.shotDistribution}}async function pmK(){let q=X8(),K=mmK();try{let _=await q.readFile(K,{encoding:"utf-8"}),z=r8(_);if(z.version!==fJ6){let Y=IyY(z);if(!Y)return N(`Stats cache version ${z.version} not migratable (expected ${fJ6}), returning empty cache`),w97();return N(`Migrated stats cache from v${z.version} to v${fJ6}`),await Eq8(Y),Y}if(!Array.isArray(z.dailyActivity)||!Array.isArray(z.dailyModelTokens)||typeof z.totalSessions!=="number"||typeof z.totalMessages!=="number")return N("Stats cache has invalid structure, returning empty cache"),w97();return z}catch(_){return N(`Failed to load stats cache: ${d6(_)}`),w97()}}async function Eq8(q){let K=X8(),_=mmK(),z=`${_}.${hyY(8).toString("hex")}.tmp`;try{let Y=c1();try{await K.mkdir(Y)}catch{}let $=g6(q,null,2),A=await SyY(z,"w",384);try{await A.writeFile($,{encoding:"utf-8"}),await A.sync()}finally{await A.close()}await K.rename(z,_),N(`Stats cache saved successfully (lastComputedDate: ${q.lastComputedDate})`)}catch(Y){H6(Y);try{await K.unlink(z)}catch{}}}function j97(q,K,_){let z=new Map;for(let M of q.dailyActivity)z.set(M.date,{...M});for(let M of K.dailyActivity){let X=z.get(M.date);if(X)X.messageCount+=M.messageCount,X.sessionCount+=M.sessionCount,X.toolCallCount+=M.toolCallCount;else z.set(M.date,{...M})}let Y=new Map;for(let M of q.dailyModelTokens)Y.set(M.date,{...M.tokensByModel});for(let M of K.dailyModelTokens){let X=Y.get(M.date);if(X)for(let[P,W]of Object.entries(M.tokensByModel))X[P]=(X[P]||0)+W;else Y.set(M.date,{...M.tokensByModel})}let $={...q.modelUsage};for(let[M,X]of Object.entries(K.modelUsage))if($[M])$[M]={inputTokens:$[M].inputTokens+X.inputTokens,outputTokens:$[M].outputTokens+X.outputTokens,cacheReadInputTokens:$[M].cacheReadInputTokens+X.cacheReadInputTokens,cacheCreationInputTokens:$[M].cacheCreationInputTokens+X.cacheCreationInputTokens,webSearchRequests:$[M].webSearchRequests+X.webSearchRequests,costUSD:$[M].costUSD+X.costUSD,contextWindow:Math.max($[M].contextWindow,X.contextWindow),maxOutputTokens:Math.max($[M].maxOutputTokens,X.maxOutputTokens)};else $[M]={...X};let A={...q.hourCounts};for(let[M,X]of Object.entries(K.hourCounts)){let P=parseInt(M,10);A[P]=(A[P]||0)+X}let O=q.totalSessions+K.sessionStats.length,w=q.totalMessages+K.sessionStats.reduce((M,X)=>M+X.messageCount,0),j=q.longestSession;for(let M of K.sessionStats)if(!j||M.duration>j.duration)j=M;let H=q.firstSessionDate;for(let M of K.sessionStats)if(!H||M.timestamp<H)H=M.timestamp;return{version:fJ6,lastComputedDate:_,dailyActivity:Array.from(z.values()).sort((M,X)=>M.date.localeCompare(X.date)),dailyModelTokens:Array.from(Y.entries()).map(([M,X])=>({date:M,tokensByModel:X})).sort((M,X)=>M.date.localeCompare(X.date)),modelUsage:$,totalSessions:O,totalMessages:w,longestSession:j,firstSessionDate:H,hourCounts:A,totalSpeculationTimeSavedMs:q.totalSpeculationTimeSavedMs+K.totalSpeculationTimeSavedMs}}function Lp(q){let _=q.toISOString().split("T")[0];if(!_)throw Error("Invalid ISO date string");return _}function BmK(){return Lp(new Date)}function gmK(){let q=new Date;return q.setDate(q.getDate()-1),Lp(q)}function uS6(q,K){return q<K}var fJ6=3,byY=1,xyY="stats-cache.json",oU8=null;var H97=y(()=>{_8();m8();y8();e7();E8();l8()});function uyY(q){let K=q.map((_)=>_.messageCount).filter((_)=>_>0).sort((_,z)=>_-z);if(K.length===0)return null;return{p25:K[Math.floor(K.length*0.25)],p50:K[Math.floor(K.length*0.5)],p75:K[Math.floor(K.length*0.75)]}}function J97(q,K={}){let{terminalWidth:_=80,showMonthLabels:z=!0}=K,Y=4,$=_-4,A=Math.min(52,Math.max(10,$)),O=new Map;for(let G of q)O.set(G.date,G);let w=uyY(q),j=new Date;j.setHours(0,0,0,0);let H=new Date(j);H.setDate(j.getDate()-j.getDay());let J=new Date(H);J.setDate(J.getDate()-(A-1)*7);let M=Array.from({length:7},()=>Array(A).fill("")),X=[],P=-1,W=new Date(J);for(let G=0;G<A;G++)for(let Z=0;Z<7;Z++){if(W>j){M[Z][G]=" ",W.setDate(W.getDate()+1);continue}let T=Lp(W),v=O.get(T);if(Z===0){let E=W.getMonth();if(E!==P)X.push({month:E,week:G}),P=E}let V=myY(v?.messageCount||0,w);M[Z][G]=pyY(V),W.setDate(W.getDate()+1)}let D=[];if(z){let G=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z=X.map((V)=>V.month),T=Math.floor(A/Math.max(Z.length,1)),v=Z.map((V)=>G[V].padEnd(T)).join("");D.push(" "+v)}let f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];for(let G=0;G<7;G++){let T=([1,3,5].includes(G)?f[G].padEnd(3):" ")+" "+M[G].join("");D.push(T)}return D.push(""),D.push(" Less "+[d56("░"),d56("▒"),d56("▓"),d56("█")].join(" ")+" More"),D.join(`
6755`)}function myY(q,K){if(q===0||!K)return 0;if(q>=K.p75)return 4;if(q>=K.p50)return 3;if(q>=K.p25)return 2;return 1}function pyY(q){switch(q){case 0:return $8.gray("·");case 1:return d56("░");case 2:return d56("▒");case 3:return d56("▓");case 4:return d56("█");default:return $8.gray("·")}}var d56;var FmK=y(()=>{x3();H97();d56=$8.hex("#da7756")});function dmK(q){let K=[],_=q.split(`

Callers

nothing calls this directly

Calls 5

RmKFunction · 0.85
includesMethod · 0.80
createElementMethod · 0.80
qFunction · 0.70
trimMethod · 0.45

Tested by

no test coverage detected