From 6e2ac9d1e03de2ecdfdd87669e6e412183bf8ce2 Mon Sep 17 00:00:00 2001 From: delta-cloud-208e Date: Wed, 8 Apr 2026 12:10:26 +0000 Subject: [PATCH] release: Claude Code v2.1.96 (28 patches) --- claude/releases/v2.1.96/cli.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/claude/releases/v2.1.96/cli.js b/claude/releases/v2.1.96/cli.js index 660d551..b4a5f04 100755 --- a/claude/releases/v2.1.96/cli.js +++ b/claude/releases/v2.1.96/cli.js @@ -473,7 +473,7 @@ To learn more about Universe Domain retrieval, visit: https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};class Ly1{get isGCE(){return this.checkIsGCE}constructor(q={}){if(y76.add(this),this.checkIsGCE=void 0,this.jsonContent=null,this.cachedCredential=null,HT6.set(this,null),this.clientOptions={},this._cachedProjectId=q.projectId||null,this.cachedCredential=q.authClient||null,this.keyFilename=q.keyFilename||q.keyFile,this.scopes=q.scopes,this.clientOptions=q.clientOptions||{},this.jsonContent=q.credentials||null,this.apiKey=q.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(iZ.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);if(q.universeDomain)this.clientOptions.universeDomain=q.universeDomain}setGapicJWTValues(q){q.defaultServicePath=this.defaultServicePath,q.useJWTAccessWithScope=this.useJWTAccessWithScope,q.defaultScopes=this.defaultScopes}getProjectId(q){if(q)this.getProjectIdAsync().then((K)=>q(null,K),q);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(q){if(q instanceof Error&&q.message===iZ.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;else throw q}}async findAndCacheProjectId(){let q=null;if(q||(q=await this.getProductionProjectId()),q||(q=await this.getFileProjectId()),q||(q=await this.getDefaultServiceProjectId()),q||(q=await this.getGCEProjectId()),q||(q=await this.getExternalAccountClientProjectId()),q)return this._cachedProjectId=q,q;else throw Error(iZ.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){if(this._cachedProjectId)return this._cachedProjectId;if(!this._findProjectIdPromise)this._findProjectIdPromise=this.findAndCacheProjectId();return this._findProjectIdPromise}async getUniverseDomainFromMetadataServer(){var q;let K;try{K=await ln6.universe("universe-domain"),K||(K=yy1.DEFAULT_UNIVERSE)}catch(_){if(_&&((q=_===null||_===void 0?void 0:_.response)===null||q===void 0?void 0:q.status)===404)K=yy1.DEFAULT_UNIVERSE;else throw _}return K}async getUniverseDomain(){let q=(0,UIq.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{q!==null&&q!==void 0||(q=(await this.getClient()).universeDomain)}catch(K){q!==null&&q!==void 0||(q=yy1.DEFAULT_UNIVERSE)}return q}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(q={},K){let _;if(typeof q==="function")K=q;else _=q;if(K)this.getApplicationDefaultAsync(_).then((z)=>K(null,z.credential,z.projectId),K);else return this.getApplicationDefaultAsync(_)}async getApplicationDefaultAsync(q={}){if(this.cachedCredential)return await N76(this,y76,"m",JT6).call(this,this.cachedCredential,null);let K;if(K=await this._tryGetApplicationCredentialsFromEnvironmentVariable(q),K){if(K instanceof wT6.JWT)K.scopes=this.scopes;else if(K instanceof nn6.BaseExternalAccountClient)K.scopes=this.getAnyScopes();return await N76(this,y76,"m",JT6).call(this,K)}if(K=await this._tryGetApplicationCredentialsFromWellKnownFile(q),K){if(K instanceof wT6.JWT)K.scopes=this.scopes;else if(K instanceof nn6.BaseExternalAccountClient)K.scopes=this.getAnyScopes();return await N76(this,y76,"m",JT6).call(this,K)}if(await this._checkIsGCE())return q.scopes=this.getAnyScopes(),await N76(this,y76,"m",JT6).call(this,new o7_.Compute(q));throw Error(iZ.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async _checkIsGCE(){if(this.checkIsGCE===void 0)this.checkIsGCE=ln6.getGCPResidency()||await ln6.isAvailable();return this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(q){let K=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!K||K.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(K,q)}catch(_){if(_ instanceof Error)_.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${_.message}`;throw _}}async _tryGetApplicationCredentialsFromWellKnownFile(q){let K=null;if(this._isWindows())K=process.env.APPDATA;else{let z=process.env.HOME;if(z)K=Ey1.join(z,".config")}if(K){if(K=Ey1.join(K,"gcloud","application_default_credentials.json"),!in6.existsSync(K))K=null}if(!K)return null;return await this._getApplicationCredentialsFromFilePath(K,q)}async _getApplicationCredentialsFromFilePath(q,K={}){if(!q||q.length===0)throw Error("The file path is invalid.");try{if(q=in6.realpathSync(q),!in6.lstatSync(q).isFile())throw Error()}catch(z){if(z instanceof Error)z.message=`The file at ${q} does not exist, or it is not a file. ${z.message}`;throw z}let _=in6.createReadStream(q);return this.fromStream(_,K)}fromImpersonatedJSON(q){var K,_,z,Y;if(!q)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(q.type!==jT6.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${jT6.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!q.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!q.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let O=this.fromJSON(q.source_credentials);if(((K=q.service_account_impersonation_url)===null||K===void 0?void 0:K.length)>256)throw RangeError(`Target principal is too long: ${q.service_account_impersonation_url}`);let A=(z=(_=/(?[^/]+):(generateAccessToken|generateIdToken)$/.exec(q.service_account_impersonation_url))===null||_===void 0?void 0:_.groups)===null||z===void 0?void 0:z.target;if(!A)throw RangeError(`Cannot extract target principal from ${q.service_account_impersonation_url}`);let $=(Y=this.getAnyScopes())!==null&&Y!==void 0?Y:[];return new jT6.Impersonated({...q,sourceClient:O,targetPrincipal:A,targetScopes:Array.isArray($)?$:[$]})}fromJSON(q,K={}){let _,z=(0,UIq.originalOrCamelOptions)(K).get("universe_domain");if(q.type===gIq.USER_REFRESH_ACCOUNT_TYPE)_=new gIq.UserRefreshClient(K),_.fromJSON(q);else if(q.type===jT6.IMPERSONATED_ACCOUNT_TYPE)_=this.fromImpersonatedJSON(q);else if(q.type===nn6.EXTERNAL_ACCOUNT_TYPE)_=t7_.ExternalAccountClient.fromJSON(q,K),_.scopes=this.getAnyScopes();else if(q.type===FIq.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE)_=new FIq.ExternalAccountAuthorizedUserClient(q,K);else K.scopes=this.scopes,_=new wT6.JWT(K),this.setGapicJWTValues(_),_.fromJSON(q);if(z)_.universeDomain=z;return _}_cacheClientFromJSON(q,K){let _=this.fromJSON(q,K);return this.jsonContent=q,this.cachedCredential=_,_}fromStream(q,K={},_){let z={};if(typeof K==="function")_=K;else z=K;if(_)this.fromStreamAsync(q,z).then((Y)=>_(null,Y),_);else return this.fromStreamAsync(q,z)}fromStreamAsync(q,K){return new Promise((_,z)=>{if(!q)throw Error("Must pass in a stream containing the Google auth settings.");let Y=[];q.setEncoding("utf8").on("error",z).on("data",(O)=>Y.push(O)).on("end",()=>{try{try{let O=JSON.parse(Y.join("")),A=this._cacheClientFromJSON(O,K);return _(A)}catch(O){if(!this.keyFilename)throw O;let A=new wT6.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=A,this.setGapicJWTValues(A),_(A)}}catch(O){return z(O)}})})}fromAPIKey(q,K={}){return new wT6.JWT({...K,apiKey:q})}_isWindows(){let q=n7_.platform();if(q&&q.length>=3){if(q.substring(0,3).toLowerCase()==="win")return!0}return!1}async getDefaultServiceProjectId(){return new Promise((q)=>{(0,l7_.exec)("gcloud config config-helper --format json",(K,_)=>{if(!K&&_)try{let z=JSON.parse(_).configuration.properties.core.project;q(z);return}catch(z){}q(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let K=await this.getClient();if(K&&K.projectId)return K.projectId}let q=await this._tryGetApplicationCredentialsFromEnvironmentVariable();if(q)return q.projectId;else return null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==nn6.EXTERNAL_ACCOUNT_TYPE)return null;return await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await ln6.project("project-id")}catch(q){return null}}getCredentials(q){if(q)this.getCredentialsAsync().then((K)=>q(null,K),q);else return this.getCredentialsAsync()}async getCredentialsAsync(){let q=await this.getClient();if(q instanceof jT6.Impersonated)return{client_email:q.getTargetPrincipal()};if(q instanceof nn6.BaseExternalAccountClient){let K=q.getServiceAccountEmail();if(K)return{client_email:K,universe_domain:q.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[K,_]=await Promise.all([ln6.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:K,universe_domain:_}}throw Error(iZ.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;BIq(this,HT6,N76(this,HT6,"f")||N76(this,y76,"m",QIq).call(this),"f");try{return await N76(this,HT6,"f")}finally{BIq(this,HT6,null,"f")}}async getIdTokenClient(q){let K=await this.getClient();if(!("fetchIdToken"in K))throw Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new a7_.IdTokenClient({targetAudience:q,idTokenProvider:K})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(q){return(await this.getClient()).getRequestHeaders(q)}async authorizeRequest(q){q=q||{};let K=q.url||q.uri,z=await(await this.getClient()).getRequestHeaders(K);return q.headers=Object.assign(q.headers||{},z),q}async request(q){return(await this.getClient()).request(q)}getEnv(){return(0,s7_.getEnv)()}async sign(q,K){let _=await this.getClient(),z=await this.getUniverseDomain();if(K=K||`https://iamcredentials.${z}/v1/projects/-/serviceAccounts/`,_ instanceof jT6.Impersonated)return(await _.sign(q)).signedBlob;let Y=(0,i7_.createCrypto)();if(_ instanceof wT6.JWT&&_.key)return await Y.sign(_.key,q);let O=await this.getCredentials();if(!O.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(Y,O.client_email,q,K)}async signBlob(q,K,_,z){let Y=new URL(z+`${K}:signBlob`);return(await this.request({method:"POST",url:Y.href,data:{payload:q.encodeBase64StringUtf8(_)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}iZ.GoogleAuth=Ly1;HT6=new WeakMap,y76=new WeakSet,JT6=async function(K,_=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let z=await this.getProjectIdOptional();if(_)K.quotaProjectId=_;return this.cachedCredential=K,{credential:K,projectId:z}},QIq=async function(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);else if(this.keyFilename){let K=Ey1.resolve(this.keyFilename),_=in6.createReadStream(K);return await this.fromStreamAsync(_,this.clientOptions)}else if(this.apiKey){let K=await this.fromAPIKey(this.apiKey,this.clientOptions);K.scopes=this.scopes;let{credential:_}=await N76(this,y76,"m",JT6).call(this,K);return _}else{let{credential:K}=await this.getApplicationDefaultAsync(this.clientOptions);return K}};Ly1.DefaultTransporter=r7_.DefaultTransporter});var iIq=p((lIq)=>{Object.defineProperty(lIq,"__esModule",{value:!0});lIq.IAMAuth=void 0;class cIq{constructor(q,K){this.selector=q,this.token=K,this.selector=q,this.token=K}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}}lIq.IAMAuth=cIq});var sIq=p((oIq)=>{Object.defineProperty(oIq,"__esModule",{value:!0});oIq.DownscopedClient=oIq.EXPIRATION_TIME_OFFSET=oIq.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var e7_=U6("stream"),qq_=EU(),Kq_=aN1(),_q_="urn:ietf:params:oauth:grant-type:token-exchange",zq_="urn:ietf:params:oauth:token-type:access_token",Yq_="urn:ietf:params:oauth:token-type:access_token";oIq.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;oIq.EXPIRATION_TIME_OFFSET=300000;class rIq extends qq_.AuthClient{constructor(q,K,_,z){super({..._,quotaProjectId:z});if(this.authClient=q,this.credentialAccessBoundary=K,K.accessBoundary.accessBoundaryRules.length===0)throw Error("At least one access boundary rule needs to be defined.");else if(K.accessBoundary.accessBoundaryRules.length>oIq.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw Error(`The provided access boundary has more than ${oIq.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let Y of K.accessBoundary.accessBoundaryRules)if(Y.availablePermissions.length===0)throw Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Kq_.StsCredentials(`https://sts.${this.universeDomain}/v1/token`),this.cachedDownscopedAccessToken=null}setCredentials(q){if(!q.expiry_date)throw Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(q),this.cachedDownscopedAccessToken=q}async getAccessToken(){if(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))await this.refreshAccessTokenAsync();return{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let K={Authorization:`Bearer ${(await this.getAccessToken()).token}`};return this.addSharedMetadataHeaders(K)}request(q,K){if(K)this.requestAsync(q).then((_)=>K(null,_),(_)=>{return K(_,_.response)});else return this.requestAsync(q)}async requestAsync(q,K=!1){let _;try{let z=await this.getRequestHeaders();if(q.headers=q.headers||{},z&&z["x-goog-user-project"])q.headers["x-goog-user-project"]=z["x-goog-user-project"];if(z&&z.Authorization)q.headers.Authorization=z.Authorization;_=await this.transporter.request(q)}catch(z){let Y=z.response;if(Y){let O=Y.status,A=Y.config.data instanceof e7_.Readable;if(!K&&(O===401||O===403)&&!A&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(q,!0)}throw z}return _}async refreshAccessTokenAsync(){var q;let K=(await this.authClient.getAccessToken()).token,_={grantType:_q_,requestedTokenType:zq_,subjectToken:K,subjectTokenType:Yq_},z=await this.stsCredential.exchangeToken(_,void 0,this.credentialAccessBoundary),Y=((q=this.authClient.credentials)===null||q===void 0?void 0:q.expiry_date)||null,O=z.expires_in?new Date().getTime()+z.expires_in*1000:Y;return this.cachedDownscopedAccessToken={access_token:z.access_token,expiry_date:O,res:z.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(q){let K=new Date().getTime();return q.expiry_date?K>=q.expiry_date-this.eagerRefreshThresholdMillis:!1}}oIq.DownscopedClient=rIq});var quq=p((tIq)=>{Object.defineProperty(tIq,"__esModule",{value:!0});tIq.PassThroughClient=void 0;var Aq_=EU();class Ry1 extends Aq_.AuthClient{async request(q){return this.transporter.request(q)}async getAccessToken(){return{}}async getRequestHeaders(){return{}}}tIq.PassThroughClient=Ry1;var $q_=new Ry1;$q_.getAccessToken()});var wG8=p((Cw)=>{Object.defineProperty(Cw,"__esModule",{value:!0});Cw.GoogleAuth=Cw.auth=Cw.DefaultTransporter=Cw.PassThroughClient=Cw.ExecutableError=Cw.PluggableAuthClient=Cw.DownscopedClient=Cw.BaseExternalAccountClient=Cw.ExternalAccountClient=Cw.IdentityPoolClient=Cw.AwsRequestSigner=Cw.AwsClient=Cw.UserRefreshClient=Cw.LoginTicket=Cw.ClientAuthentication=Cw.OAuth2Client=Cw.CodeChallengeMethod=Cw.Impersonated=Cw.JWT=Cw.JWTAccess=Cw.IdTokenClient=Cw.IAMAuth=Cw.GCPEnv=Cw.Compute=Cw.DEFAULT_UNIVERSE=Cw.AuthClient=Cw.gaxios=Cw.gcpMetadata=void 0;var Kuq=dIq();Object.defineProperty(Cw,"GoogleAuth",{enumerable:!0,get:function(){return Kuq.GoogleAuth}});Cw.gcpMetadata=pn6();Cw.gaxios=Gm();var _uq=EU();Object.defineProperty(Cw,"AuthClient",{enumerable:!0,get:function(){return _uq.AuthClient}});Object.defineProperty(Cw,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return _uq.DEFAULT_UNIVERSE}});var wq_=mN1();Object.defineProperty(Cw,"Compute",{enumerable:!0,get:function(){return wq_.Compute}});var jq_=BN1();Object.defineProperty(Cw,"GCPEnv",{enumerable:!0,get:function(){return jq_.GCPEnv}});var Hq_=iIq();Object.defineProperty(Cw,"IAMAuth",{enumerable:!0,get:function(){return Hq_.IAMAuth}});var Jq_=pN1();Object.defineProperty(Cw,"IdTokenClient",{enumerable:!0,get:function(){return Jq_.IdTokenClient}});var Mq_=dN1();Object.defineProperty(Cw,"JWTAccess",{enumerable:!0,get:function(){return Mq_.JWTAccess}});var Xq_=lN1();Object.defineProperty(Cw,"JWT",{enumerable:!0,get:function(){return Xq_.JWT}});var Pq_=iN1();Object.defineProperty(Cw,"Impersonated",{enumerable:!0,get:function(){return Pq_.Impersonated}});var Sy1=iA6();Object.defineProperty(Cw,"CodeChallengeMethod",{enumerable:!0,get:function(){return Sy1.CodeChallengeMethod}});Object.defineProperty(Cw,"OAuth2Client",{enumerable:!0,get:function(){return Sy1.OAuth2Client}});Object.defineProperty(Cw,"ClientAuthentication",{enumerable:!0,get:function(){return Sy1.ClientAuthentication}});var Wq_=xN1();Object.defineProperty(Cw,"LoginTicket",{enumerable:!0,get:function(){return Wq_.LoginTicket}});var Dq_=nN1();Object.defineProperty(Cw,"UserRefreshClient",{enumerable:!0,get:function(){return Dq_.UserRefreshClient}});var fq_=Jy1();Object.defineProperty(Cw,"AwsClient",{enumerable:!0,get:function(){return fq_.AwsClient}});var Zq_=wy1();Object.defineProperty(Cw,"AwsRequestSigner",{enumerable:!0,get:function(){return Zq_.AwsRequestSigner}});var Gq_=$y1();Object.defineProperty(Cw,"IdentityPoolClient",{enumerable:!0,get:function(){return Gq_.IdentityPoolClient}});var vq_=Vy1();Object.defineProperty(Cw,"ExternalAccountClient",{enumerable:!0,get:function(){return vq_.ExternalAccountClient}});var Tq_=V76();Object.defineProperty(Cw,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Tq_.BaseExternalAccountClient}});var kq_=sIq();Object.defineProperty(Cw,"DownscopedClient",{enumerable:!0,get:function(){return kq_.DownscopedClient}});var zuq=$G8();Object.defineProperty(Cw,"PluggableAuthClient",{enumerable:!0,get:function(){return zuq.PluggableAuthClient}});Object.defineProperty(Cw,"ExecutableError",{enumerable:!0,get:function(){return zuq.ExecutableError}});var Vq_=quq();Object.defineProperty(Cw,"PassThroughClient",{enumerable:!0,get:function(){return Vq_.PassThroughClient}});var Nq_=gn6();Object.defineProperty(Cw,"DefaultTransporter",{enumerable:!0,get:function(){return Nq_.DefaultTransporter}});var yq_=new Kuq.GoogleAuth;Cw.auth=yq_});var jG8=(q)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[q]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(q)?.trim();return};var Yuq=L(()=>{WD()});function HG8(q){return q!=null&&typeof q==="object"&&!Array.isArray(q)}var Cy1=(q)=>(Cy1=Array.isArray,Cy1(q)),by1;var xy1=L(()=>{Yuq();by1=Cy1});function*Sq_(q){if(!q)return;if(Ouq in q){let{values:z,nulls:Y}=q;yield*z.entries();for(let O of Y)yield[O,null];return}let K=!1,_;if(q instanceof Headers)_=q.entries();else if(by1(q))_=q;else K=!0,_=Object.entries(q??{});for(let z of _){let Y=z[0];if(typeof Y!=="string")throw TypeError("expected header name to be a string");let O=by1(z[1])?z[1]:[z[1]],A=!1;for(let $ of O){if($===void 0)continue;if(K&&!A)A=!0,yield[Y,null];yield[Y,$]}}}var Ouq,Auq=(q)=>{let K=new Headers,_=new Set;for(let z of q){let Y=new Set;for(let[O,A]of Sq_(z)){let $=O.toLowerCase();if(!Y.has($))K.delete(O),Y.add($);if(A===null)K.delete(O),_.add($);else K.append(O,A),_.delete($)}}return{[Ouq]:!0,values:K,nulls:_}};var $uq=L(()=>{xy1();Ouq=Symbol.for("brand.privateNullableHeaders")});function xq_(q){let K=new pT(q);return delete K.batches,K}function Iq_(q){let K=new fD(q);return delete K.messages.batches,K}var wuq,Cq_="vertex-2023-10-16",bq_,Iy1;var uy1=L(()=>{ZS();nW6();xy1();$uq();ZS();wuq=Y6(wG8(),1),bq_=new Set(["/v1/messages","/v1/messages?beta=true"]);Iy1=class Iy1 extends sz{constructor({baseURL:q=jG8("ANTHROPIC_VERTEX_BASE_URL"),region:K=jG8("CLOUD_ML_REGION")??null,projectId:_=jG8("ANTHROPIC_VERTEX_PROJECT_ID")??null,...z}={}){if(!K)throw Error("No region was given. The client should be instantiated with the `region` option or the `CLOUD_ML_REGION` environment variable should be set.");super({baseURL:q||(K==="global"?"https://aiplatform.googleapis.com/v1":`https://${K}-aiplatform.googleapis.com/v1`),...z});if(this.messages=xq_(this),this.beta=Iq_(this),this.region=K,this.projectId=_,this.accessToken=z.accessToken??null,z.authClient&&z.googleAuth)throw Error("You cannot provide both `authClient` and `googleAuth`. Please provide only one of them.");else if(z.authClient)this._authClientPromise=Promise.resolve(z.authClient);else this._auth=z.googleAuth??new wuq.GoogleAuth({scopes:"https://www.googleapis.com/auth/cloud-platform"}),this._authClientPromise=this._auth.getClient()}validateHeaders(){}async prepareOptions(q){let K=await this._authClientPromise,_=await K.getRequestHeaders(),z=K.projectId??_["x-goog-user-project"];if(!this.projectId&&z)this.projectId=z;q.headers=Auq([_,q.headers])}async buildRequest(q){if(HG8(q.body))q.body={...q.body};if(HG8(q.body)){if(!q.body.anthropic_version)q.body.anthropic_version=Cq_}if(bq_.has(q.path)&&q.method==="post"){if(!this.projectId)throw Error("No projectId was given and it could not be resolved from credentials. The client should be instantiated with the `projectId` option or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.");if(!HG8(q.body))throw Error("Expected request body to be an object for post /v1/messages");let K=q.body.model;q.body.model=void 0;let z=q.body.stream??!1?"streamRawPredict":"rawPredict";q.path=`/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/${K}:${z}`}if(q.path==="/v1/messages/count_tokens"||q.path=="/v1/messages/count_tokens?beta=true"&&q.method==="post"){if(!this.projectId)throw Error("No projectId was given and it could not be resolved from credentials. The client should be instantiated with the `projectId` option or the `ANTHROPIC_VERTEX_PROJECT_ID` environment variable should be set.");q.path=`/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/count-tokens:rawPredict`}return super.buildRequest(q)}}});var juq={};Z8(juq,{default:()=>Iy1,BaseAnthropic:()=>sz,AnthropicVertex:()=>Iy1});var Huq=L(()=>{uy1();uy1()});import{randomUUID as uq_}from"crypto";function MT6(){return{error:(q,...K)=>console.error("[Anthropic SDK ERROR]",q,...K),warn:(q,...K)=>console.error("[Anthropic SDK WARN]",q,...K),info:(q,...K)=>console.error("[Anthropic SDK INFO]",q,...K),debug:(q,...K)=>console.error("[Anthropic SDK DEBUG]",q,...K)}}async function Wh({apiKey:q,maxRetries:K,model:_,fetchOverride:z,source:Y}){let O=process.env.CLAUDE_CODE_CONTAINER_ID,A=process.env.CLAUDE_CODE_REMOTE_SESSION_ID,$=process.env.CLAUDE_AGENT_SDK_CLIENT_APP,w=Bq_(),H={"x-app":C16()?"cli-bg":"cli","User-Agent":sC(),"X-Claude-Code-Session-Id":N8(),...w,...O&&{"x-claude-remote-container-id":O},...A&&{"x-claude-remote-session-id":A},...$&&{"x-client-app":$}};if(N(`[API:request] Creating client, ANTHROPIC_CUSTOM_HEADERS present: ${!!process.env.ANTHROPIC_CUSTOM_HEADERS}, has Authorization header: ${!!w.Authorization}`),p6(process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION))H["x-anthropic-additional-protection"]="true";if(N("[API:auth] OAuth token check starting"),await DY(),N("[API:auth] OAuth token check complete"),!p7())await mq_(H,U7());let M=gq_(z,Y),X={defaultHeaders:H,maxRetries:K,timeout:parseInt(process.env.API_TIMEOUT_MS||String(600000),10),dangerouslyAllowBrowser:!0,fetchOptions:A16({forAnthropicAPI:!0}),...M&&{fetch:M}},P=IJ(_);if(P==="bedrock"){let{AnthropicBedrock:D}=await Promise.resolve().then(() => (Hc6(),jc6)),f=_===iX()&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:WS(),G=p6(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),Z=pq_(X.defaultHeaders),v=process.env.AWS_BEARER_TOKEN_BEDROCK?`Bearer ${process.env.AWS_BEARER_TOKEN_BEDROCK}`:G?Z.value:void 0,k=!v&&!G?await kC():null,V={...X,awsRegion:f,...G&&!v&&{skipAuth:!0},...v&&{apiKey:v.match(/^Bearer (.+)$/i)?.[1]??v,defaultHeaders:{...Z.rest,Authorization:v}},...TS()&&{logger:MT6()}};return k?new D({...V,awsAccessKey:k.accessKeyId,awsSecretKey:k.secretAccessKey,awsSessionToken:k.sessionToken}):new D(V)}if(P==="foundry"){let{AnthropicFoundry:D}=await Promise.resolve().then(() => (f0q(),D0q)),f;if(!process.env.ANTHROPIC_FOUNDRY_API_KEY)if(p6(process.env.CLAUDE_CODE_SKIP_FOUNDRY_AUTH))f=()=>Promise.resolve("");else{let{DefaultAzureCredential:Z,getBearerTokenProvider:v}=await Promise.resolve().then(() => (bhq(),Chq));f=v(new Z,"https://cognitiveservices.azure.com/.default")}let G={...X,...f&&{azureADTokenProvider:f},...TS()&&{logger:MT6()}};return new D(G)}if(P==="anthropicAws"){let{AnthropicAws:D}=await Promise.resolve().then(() => (nhq(),lhq)),f={...X,...p6(process.env.CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH)&&{skipAuth:!0},...TS()&&{logger:MT6()}};if(!process.env.ANTHROPIC_AWS_API_KEY&&!p6(process.env.CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH)){let G=await kC();if(G)f.awsAccessKey=G.accessKeyId,f.awsSecretAccessKey=G.secretAccessKey,f.awsSessionToken=G.sessionToken}return new D(f)}if(P==="mantle"){let{AnthropicBedrockMantle:D}=await Promise.resolve().then(() => (Hc6(),jc6)),f=p6(process.env.CLAUDE_CODE_SKIP_MANTLE_AUTH),G=!process.env.AWS_BEARER_TOKEN_BEDROCK&&!f?await kC():null;return new D({...X,awsRegion:WS(),...f&&{skipAuth:!0},...G&&{awsAccessKey:G.accessKeyId,awsSecretAccessKey:G.secretAccessKey,awsSessionToken:G.sessionToken},...TS()&&{logger:MT6()}})}if(P==="vertex"){if(!p6(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await rn6();let[{AnthropicVertex:D},{GoogleAuth:f}]=await Promise.all([Promise.resolve().then(() => (Huq(),juq)),Promise.resolve().then(() => Y6(wG8(),1))]),G=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,Z=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,v=p6(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{getClient:()=>({getRequestHeaders:()=>({})})}:new f({scopes:["https://www.googleapis.com/auth/cloud-platform"],...G||Z?{}:{projectId:process.env.ANTHROPIC_VERTEX_PROJECT_ID}}),k={...X,region:PY8(_),googleAuth:v,...TS()&&{logger:MT6()}};return new D(k)}let W={apiKey:p7()?null:q||Jk(),authToken:p7()?s7()?.accessToken:void 0,...!1,...X,...TS()&&{logger:MT6()}};return new fL(W)}async function mq_(q,K){let _=process.env.ANTHROPIC_AUTH_TOKEN||await WT6(K);if(_)q.Authorization=`Bearer ${_}`}function pq_(q){let K={},_;for(let[z,Y]of Object.entries(q))if(z.toLowerCase()==="authorization")_=Y;else K[z]=Y;return{value:_,rest:K}}function Bq_(){let q={},K=process.env.ANTHROPIC_CUSTOM_HEADERS;if(!K)return q;let _=K.split(/\n|\r\n/);for(let z of _){if(!z.trim())continue;let Y=z.indexOf(":");if(Y===-1)continue;let O=z.slice(0,Y).trim(),A=z.slice(Y+1).trim();if(O)q[O]=A}return q}function gq_(q,K){let _=q??globalThis.fetch,z=cq(),Y=z==="firstParty"&&VM()||z==="anthropicAws"&&!process.env.ANTHROPIC_AWS_BASE_URL;return(O,A)=>{let $=new Headers(A?.headers);if(Y&&!$.has(XT6))$.set(XT6,uq_());try{let w=O instanceof Request?O.url:String(O),j=$.get(XT6);N(`[API REQUEST] ${new URL(w).pathname}${j?` ${XT6}=${j}`:""} source=${K??"unknown"}`)}catch{}return _(O,{...A,headers:$})}}var XT6="x-client-request-id";var PT6=L(()=>{BT();W7();dD();rZ();Uq();$_();RD();T8();o5();_8();p8()});import{readFileSync as Fq_}from"fs";import{mkdir as Uq_,writeFile as Qq_}from"fs/promises";import{join as Juq}from"path";function Xuq(){return Juq($7(),"cache")}function Puq(){return Juq(Xuq(),"model-capabilities.json")}function Wuq(){return!1}function cq_(q){return[...q].sort((K,_)=>_.id.length-K.id.length||K.id.localeCompare(_.id))}function Duq(q){if(!Wuq())return;let K=my1(Puq());if(!K||K.length===0)return;let _=q.toLowerCase(),z=K.find((Y)=>Y.id.toLowerCase()===_);if(z)return z;return K.find((Y)=>_.includes(Y.id.toLowerCase()))}async function fuq(){if(!Wuq())return;if(WY())return;try{let q=await Wh({maxRetries:1}),K=p7()?[EJ]:void 0,_=[];for await(let O of q.models.list({betas:K})){let A=Muq().safeParse(O);if(A.success)_.push(A.data)}if(_.length===0)return;let z=Puq(),Y=cq_(_);if(PM(my1(z),Y)){N("[modelCapabilities] cache unchanged, skipping write");return}await Uq_(Xuq(),{recursive:!0}),await Qq_(z,I6({models:Y,timestamp:Date.now()}),{encoding:"utf-8",mode:384}),my1.cache.delete(z),N(`[modelCapabilities] cached ${Y.length} models`)}catch(q){N(`[modelCapabilities] fetch failed: ${q instanceof Error?q.message:"unknown"}`)}}var Muq,dq_,my1;var py1=L(()=>{t66();I4();u7();o5();PT6();W7();_8();p8();F$();IX();n8();$_();Muq=x6(()=>h.object({id:h.string(),max_input_tokens:h.number().optional(),max_tokens:h.number().optional()}).strip()),dq_=x6(()=>h.object({models:h.array(Muq()),timestamp:h.number()}));my1=Y1((q)=>{try{let K=Fq_(q,"utf-8"),_=dq_().safeParse(I5(K,!1));return _.success?_.data.models:null}catch{return null}},(q)=>q)});function R16(){return p6(process.env.CLAUDE_CODE_DISABLE_1M_CONTEXT)}function Xk(q){if(R16())return!1;return/\[1m\]/i.test(q)}function EZ1(q){if(R16())return!1;let K=yz(q);return K.includes("claude-sonnet-4")||K.includes("opus-4-6")}function Lk(q,K){if(Xk(q))return 1e6;if(K?.includes(Qi)&&EZ1(q))return 1e6;if(JG8(q))return 1e6;return 1e6/*ctx_1m_forced*/}function JG8(q){if(R16())return!1;if(Xk(q))return!1;if(!yz(q).includes("sonnet-4-6"))return!1;return w8().clientDataCache?.coral_reef_sonnet==="true"}function MG8(q,K){if(!q)return{used:null,remaining:null};let _=q.input_tokens+q.cache_creation_input_tokens+q.cache_read_input_tokens,z=Math.round(_/K*100),Y=Math.min(100,Math.max(0,z));return{used:Y,remaining:100-Y}}function E76(q){let K,_,z=yz(q);if(z.includes("opus-4-6"))K=64000,_=128000;else if(z.includes("sonnet-4-6"))K=32000,_=128000;else if(z.includes("opus-4-5")||z.includes("sonnet-4")||z.includes("haiku-4"))K=32000,_=64000;else if(z.includes("opus-4-1")||z.includes("opus-4"))K=32000,_=32000;else if(z.includes("claude-3-opus"))K=4096,_=4096;else if(z.includes("claude-3-sonnet"))K=8192,_=8192;else if(z.includes("claude-3-haiku"))K=4096,_=4096;else if(z.includes("3-5-sonnet")||z.includes("3-5-haiku"))K=8192,_=8192;else if(z.includes("3-7-sonnet"))K=32000,_=64000;else K=nq_,_=iq_;let Y=Duq(q);if(Y?.max_tokens&&Y.max_tokens>=4096)_=Y.max_tokens,K=Math.min(K,_);return{default:K,upperLimit:_}}function vuq(q){return E76(q).upperLimit-1}var lq_=200000,Zuq=20000,nq_=32000,iq_=64000,Guq=8000,By1=64000;var UD=L(()=>{y16();h1();p8();Uq();py1()});var rq_,L76;var XG8=L(()=>{I4();$_();rq_=[{modelEnvVar:"ANTHROPIC_DEFAULT_OPUS_MODEL",capabilitiesEnvVar:"ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES"},{modelEnvVar:"ANTHROPIC_DEFAULT_SONNET_MODEL",capabilitiesEnvVar:"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES"},{modelEnvVar:"ANTHROPIC_DEFAULT_HAIKU_MODEL",capabilitiesEnvVar:"ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES"}],L76=Y1((q,K)=>{if(M2())return;let _=q.toLowerCase();for(let z of rq_){let Y=process.env[z.modelEnvVar],O=process.env[z.capabilitiesEnvVar];if(!Y||O===void 0)continue;if(_!==Y.toLowerCase())continue;return O.toLowerCase().split(",").map((A)=>A.trim()).includes(K)}return},(q,K)=>`${q.toLowerCase()}:${K}`)});function oq_(q){let K=[],_=[];for(let z of q)if(kuq.includes(z))K.push(z);else _.push(z);return{allowed:K,disallowed:_}}function Vuq(q){if(!q||q.length===0)return;if(p7()){console.warn("Warning: Custom betas are only available for API key users. Ignoring provided betas.");return}let{allowed:K,disallowed:_}=oq_(q);for(let z of _)console.warn(`Warning: Beta header '${z}' is not allowed. Only the following betas are supported: ${kuq.join(", ")}`);return K.length>0?K:void 0}function Tuq(q){let K=L76(q,"interleaved_thinking");if(K!==void 0)return K;let _=yz(q),z=IJ(q);if(z==="foundry")return!0;if(ru(z))return!_.includes("claude-3-");return _.includes("claude-opus-4")||_.includes("claude-sonnet-4")}function aq_(q){let K=yz(q);return K.includes("claude-opus-4")||K.includes("claude-sonnet-4")||K.includes("claude-haiku-4")}function sq_(q){let K=yz(q),_=IJ(q);if(_==="foundry")return!0;if(ru(_))return!K.includes("claude-3-");return K.includes("claude-opus-4")||K.includes("claude-sonnet-4")||K.includes("claude-haiku-4")}function oA6(q){let K=yz(q);if(!ru(IJ(q)))return!1;return K.includes("claude-sonnet-4-6")||K.includes("claude-sonnet-4-5")||K.includes("claude-opus-4-1")||K.includes("claude-opus-4-5")||K.includes("claude-opus-4-6")||K.includes("claude-haiku-4-5")}function DT6(q){{let K=yz(q),_=C8("tengu_auto_mode_config",{}),z=q.toLowerCase();if(_?.allowModels?.some((O)=>O.toLowerCase()===z||O.toLowerCase()===K))return!0;let Y=cq();if(Y!=="firstParty"&&Y!=="anthropicAws")return!1;return/^claude-(opus|sonnet)-4-6/.test(K)}return!1}function Nuq(){let q=cq();if(q==="vertex"||q==="bedrock"||q==="mantle")return KXq;return qXq}function h76(){let q=cq();return(q==="firstParty"||q==="anthropicAws"||q==="foundry")&&!p6(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)}function fT6(){if(!h76())return!1;let q=cq();return q==="firstParty"||q==="anthropicAws"}function PG8(q,K){let _=[...Dh(q)];if(K?.isAgenticQuery){if(!_.includes(FW8))_.push(FW8)}let z=PD();if(!z||z.length===0)return _;return[..._,...z.filter((Y)=>!_.includes(Y))]}function WG8(){gy1.cache?.clear?.(),Dh.cache?.clear?.(),Fy1.cache?.clear?.()}var kuq,gy1,Dh,Fy1;var oZ=L(()=>{I4();r1();T8();y16();o5();W7();UD();p8();Uq();XG8();$_();o1();kuq=[Qi];gy1=Y1((q)=>{let K=[],_=yz(q).includes("haiku"),z=cq(),Y=h76();if(!_)K.push(FW8);if(p7())K.push(EJ);if(Xk(q))K.push(Qi);if(!p6(process.env.DISABLE_INTERLEAVED_THINKING)&&Tuq(q))K.push(eMq);if(Y&&Tuq(q)&&!U7()&&f7().showThinkingSummaries!==!0)K.push(Fd6);_Xq;let O=p6(process.env.USE_API_CONTEXT_MANAGEMENT)&&!1,A=sq_(q);if(ru(IJ(q))&&!p6(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)&&(O||A))K.push(UW8);let $=JO("tengu_tool_pear"),w=!$&&C8("tengu_amber_json_tools",!1);if(ru(IJ(q))&&!p6(process.env.CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS)&&oA6(q)&&$)K.push(N16);if(z==="vertex"&&aq_(q))K.push(jZ1);if(z==="foundry")K.push(jZ1);if(Y)K.push(gd6);if(process.env.ANTHROPIC_BETAS)K.push(...process.env.ANTHROPIC_BETAS.split(",").map((j)=>j.trim()).filter(Boolean));return K}),Dh=Y1((q)=>{let K=gy1(q);if(IJ(q)==="bedrock")return K.filter((_)=>!PZ1.has(_));return K}),Fy1=Y1((q)=>{return gy1(q).filter((_)=>PZ1.has(_))})});var Euq=p((BRA,yuq)=>{var R76=U6("constants"),tq_=process.cwd,DG8=null,eq_=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!DG8)DG8=tq_.call(process);return DG8};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(fG8=process.chdir,process.chdir=function(q){DG8=null,fG8.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,fG8)}var fG8;yuq.exports=q4_;function q4_(q){if(R76.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))K(q);if(!q.lutimes)_(q);if(q.chown=O(q.chown),q.fchown=O(q.fchown),q.lchown=O(q.lchown),q.chmod=z(q.chmod),q.fchmod=z(q.fchmod),q.lchmod=z(q.lchmod),q.chownSync=A(q.chownSync),q.fchownSync=A(q.fchownSync),q.lchownSync=A(q.lchownSync),q.chmodSync=Y(q.chmodSync),q.fchmodSync=Y(q.fchmodSync),q.lchmodSync=Y(q.lchmodSync),q.stat=$(q.stat),q.fstat=$(q.fstat),q.lstat=$(q.lstat),q.statSync=w(q.statSync),q.fstatSync=w(q.fstatSync),q.lstatSync=w(q.lstatSync),q.chmod&&!q.lchmod)q.lchmod=function(H,J,M){if(M)process.nextTick(M)},q.lchmodSync=function(){};if(q.chown&&!q.lchown)q.lchown=function(H,J,M,X){if(X)process.nextTick(X)},q.lchownSync=function(){};if(eq_==="win32")q.rename=typeof q.rename!=="function"?q.rename:function(H){function J(M,X,P){var W=Date.now(),D=0;H(M,X,function f(G){if(G&&(G.code==="EACCES"||G.code==="EPERM"||G.code==="EBUSY")&&Date.now()-W<60000){if(setTimeout(function(){q.stat(X,function(Z,v){if(Z&&Z.code==="ENOENT")H(M,X,f);else P(G)})},D),D<100)D+=10;return}if(P)P(G)})}if(Object.setPrototypeOf)Object.setPrototypeOf(J,H);return J}(q.rename);q.read=typeof q.read!=="function"?q.read:function(H){function J(M,X,P,W,D,f){var G;if(f&&typeof f==="function"){var Z=0;G=function(v,k,V){if(v&&v.code==="EAGAIN"&&Z<10)return Z++,H.call(q,M,X,P,W,D,G);f.apply(this,arguments)}}return H.call(q,M,X,P,W,D,G)}if(Object.setPrototypeOf)Object.setPrototypeOf(J,H);return J}(q.read),q.readSync=typeof q.readSync!=="function"?q.readSync:function(H){return function(J,M,X,P,W){var D=0;while(!0)try{return H.call(q,J,M,X,P,W)}catch(f){if(f.code==="EAGAIN"&&D<10){D++;continue}throw f}}}(q.readSync);function K(H){H.lchmod=function(J,M,X){H.open(J,R76.O_WRONLY|R76.O_SYMLINK,M,function(P,W){if(P){if(X)X(P);return}H.fchmod(W,M,function(D){H.close(W,function(f){if(X)X(D||f)})})})},H.lchmodSync=function(J,M){var X=H.openSync(J,R76.O_WRONLY|R76.O_SYMLINK,M),P=!0,W;try{W=H.fchmodSync(X,M),P=!1}finally{if(P)try{H.closeSync(X)}catch(D){}else H.closeSync(X)}return W}}function _(H){if(R76.hasOwnProperty("O_SYMLINK")&&H.futimes)H.lutimes=function(J,M,X,P){H.open(J,R76.O_SYMLINK,function(W,D){if(W){if(P)P(W);return}H.futimes(D,M,X,function(f){H.close(D,function(G){if(P)P(f||G)})})})},H.lutimesSync=function(J,M,X){var P=H.openSync(J,R76.O_SYMLINK),W,D=!0;try{W=H.futimesSync(P,M,X),D=!1}finally{if(D)try{H.closeSync(P)}catch(f){}else H.closeSync(P)}return W};else if(H.futimes)H.lutimes=function(J,M,X,P){if(P)process.nextTick(P)},H.lutimesSync=function(){}}function z(H){if(!H)return H;return function(J,M,X){return H.call(q,J,M,function(P){if(j(P))P=null;if(X)X.apply(this,arguments)})}}function Y(H){if(!H)return H;return function(J,M){try{return H.call(q,J,M)}catch(X){if(!j(X))throw X}}}function O(H){if(!H)return H;return function(J,M,X,P){return H.call(q,J,M,X,function(W){if(j(W))W=null;if(P)P.apply(this,arguments)})}}function A(H){if(!H)return H;return function(J,M,X){try{return H.call(q,J,M,X)}catch(P){if(!j(P))throw P}}}function $(H){if(!H)return H;return function(J,M,X){if(typeof M==="function")X=M,M=null;function P(W,D){if(D){if(D.uid<0)D.uid+=4294967296;if(D.gid<0)D.gid+=4294967296}if(X)X.apply(this,arguments)}return M?H.call(q,J,M,P):H.call(q,J,P)}}function w(H){if(!H)return H;return function(J,M){var X=M?H.call(q,J,M):H.call(q,J);if(X){if(X.uid<0)X.uid+=4294967296;if(X.gid<0)X.gid+=4294967296}return X}}function j(H){if(!H)return!0;if(H.code==="ENOSYS")return!0;var J=!process.getuid||process.getuid()!==0;if(J){if(H.code==="EINVAL"||H.code==="EPERM")return!0}return!1}}});var Ruq=p((gRA,huq)=>{var Luq=U6("stream").Stream;huq.exports=K4_;function K4_(q){return{ReadStream:K,WriteStream:_};function K(z,Y){if(!(this instanceof K))return new K(z,Y);Luq.call(this);var O=this;this.path=z,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,Y=Y||{};var A=Object.keys(Y);for(var $=0,w=A.length;$this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){O._read()});return}q.open(this.path,this.flags,this.mode,function(H,J){if(H){O.emit("error",H),O.readable=!1;return}O.fd=J,O.emit("open",J),O._read()})}function _(z,Y){if(!(this instanceof _))return new _(z,Y);Luq.call(this),this.path=z,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,Y=Y||{};var O=Object.keys(Y);for(var A=0,$=O.length;A<$;A++){var w=O[A];this[w]=Y[w]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=q.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var Cuq=p((FRA,Suq)=>{Suq.exports=z4_;var _4_=Object.getPrototypeOf||function(q){return q.__proto__};function z4_(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var K={__proto__:_4_(q)};else var K=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(_){Object.defineProperty(K,_,Object.getOwnPropertyDescriptor(q,_))}),K}});var mA=p((URA,cy1)=>{var uH=U6("fs"),Y4_=Euq(),O4_=Ruq(),A4_=Cuq(),ZG8=U6("util"),aZ,vG8;if(typeof Symbol==="function"&&typeof Symbol.for==="function")aZ=Symbol.for("graceful-fs.queue"),vG8=Symbol.for("graceful-fs.previous");else aZ="___graceful-fs.queue",vG8="___graceful-fs.previous";function $4_(){}function xuq(q,K){Object.defineProperty(q,aZ,{get:function(){return K}})}var aA6=$4_;if(ZG8.debuglog)aA6=ZG8.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))aA6=function(){var q=ZG8.format.apply(ZG8,arguments);q="GFS4: "+q.split(/\n/).join(` GFS4: `),console.error(q)};if(!uH[aZ]){if(Uy1=global[aZ]||[],xuq(uH,Uy1),uH.close=function(q){function K(_,z){return q.call(uH,_,function(Y){if(!Y)buq();if(typeof z==="function")z.apply(this,arguments)})}return Object.defineProperty(K,vG8,{value:q}),K}(uH.close),uH.closeSync=function(q){function K(_){q.apply(uH,arguments),buq()}return Object.defineProperty(K,vG8,{value:q}),K}(uH.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){aA6(uH[aZ]),U6("assert").equal(uH[aZ].length,0)})}var Uy1;if(!global[aZ])xuq(global,uH[aZ]);cy1.exports=Qy1(A4_(uH));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!uH.__patched)cy1.exports=Qy1(uH),uH.__patched=!0;function Qy1(q){Y4_(q),q.gracefulify=Qy1,q.createReadStream=k,q.createWriteStream=V;var K=q.readFile;q.readFile=_;function _(S,b,I){if(typeof b==="function")I=b,b=null;return B(S,b,I);function B(m,R,g,F){return K(m,R,function(Q){if(Q&&(Q.code==="EMFILE"||Q.code==="ENFILE"))ZT6([B,[m,R,g],Q,F||Date.now(),Date.now()]);else if(typeof g==="function")g.apply(this,arguments)})}}var z=q.writeFile;q.writeFile=Y;function Y(S,b,I,B){if(typeof I==="function")B=I,I=null;return m(S,b,I,B);function m(R,g,F,Q,i){return z(R,g,F,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))ZT6([m,[R,g,F,Q],r,i||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}var O=q.appendFile;if(O)q.appendFile=A;function A(S,b,I,B){if(typeof I==="function")B=I,I=null;return m(S,b,I,B);function m(R,g,F,Q,i){return O(R,g,F,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))ZT6([m,[R,g,F,Q],r,i||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}var $=q.copyFile;if($)q.copyFile=w;function w(S,b,I,B){if(typeof I==="function")B=I,I=0;return m(S,b,I,B);function m(R,g,F,Q,i){return $(R,g,F,function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))ZT6([m,[R,g,F,Q],r,i||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}var j=q.readdir;q.readdir=J;var H=/^v[0-5]\./;function J(S,b,I){if(typeof b==="function")I=b,b=null;var B=H.test(process.version)?function(g,F,Q,i){return j(g,m(g,F,Q,i))}:function(g,F,Q,i){return j(g,F,m(g,F,Q,i))};return B(S,b,I);function m(R,g,F,Q){return function(i,r){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))ZT6([B,[R,g,F],i,Q||Date.now(),Date.now()]);else{if(r&&r.sort)r.sort();if(typeof F==="function")F.call(this,i,r)}}}}if(process.version.substr(0,4)==="v0.8"){var M=O4_(q);f=M.ReadStream,Z=M.WriteStream}var X=q.ReadStream;if(X)f.prototype=Object.create(X.prototype),f.prototype.open=G;var P=q.WriteStream;if(P)Z.prototype=Object.create(P.prototype),Z.prototype.open=v;Object.defineProperty(q,"ReadStream",{get:function(){return f},set:function(S){f=S},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return Z},set:function(S){Z=S},enumerable:!0,configurable:!0});var W=f;Object.defineProperty(q,"FileReadStream",{get:function(){return W},set:function(S){W=S},enumerable:!0,configurable:!0});var D=Z;Object.defineProperty(q,"FileWriteStream",{get:function(){return D},set:function(S){D=S},enumerable:!0,configurable:!0});function f(S,b){if(this instanceof f)return X.apply(this,arguments),this;else return f.apply(Object.create(f.prototype),arguments)}function G(){var S=this;y(S.path,S.flags,S.mode,function(b,I){if(b){if(S.autoClose)S.destroy();S.emit("error",b)}else S.fd=I,S.emit("open",I),S.read()})}function Z(S,b){if(this instanceof Z)return P.apply(this,arguments),this;else return Z.apply(Object.create(Z.prototype),arguments)}function v(){var S=this;y(S.path,S.flags,S.mode,function(b,I){if(b)S.destroy(),S.emit("error",b);else S.fd=I,S.emit("open",I)})}function k(S,b){return new q.ReadStream(S,b)}function V(S,b){return new q.WriteStream(S,b)}var E=q.open;q.open=y;function y(S,b,I,B){if(typeof I==="function")B=I,I=null;return m(S,b,I,B);function m(R,g,F,Q,i){return E(R,g,F,function(r,o){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))ZT6([m,[R,g,F,Q],r,i||Date.now(),Date.now()]);else if(typeof Q==="function")Q.apply(this,arguments)})}}return q}function ZT6(q){aA6("ENQUEUE",q[0].name,q[1]),uH[aZ].push(q),dy1()}var GG8;function buq(){var q=Date.now();for(var K=0;K2)uH[aZ][K][3]=q,uH[aZ][K][4]=q;dy1()}function dy1(){if(clearTimeout(GG8),GG8=void 0,uH[aZ].length===0)return;var q=uH[aZ].shift(),K=q[0],_=q[1],z=q[2],Y=q[3],O=q[4];if(Y===void 0)aA6("RETRY",K.name,_),K.apply(null,_);else if(Date.now()-Y>=60000){aA6("TIMEOUT",K.name,_);var A=_.pop();if(typeof A==="function")A.call(null,z)}else{var $=Date.now()-O,w=Math.max(O-Y,1),j=Math.min(w*1.2,100);if($>=j)aA6("RETRY",K.name,_),K.apply(null,_.concat([Y]));else uH[aZ].push(q)}if(GG8===void 0)GG8=setTimeout(dy1,0)}});var uuq=p((QRA,Iuq)=>{function tC(q,K){if(typeof K==="boolean")K={forever:K};if(this._originalTimeouts=JSON.parse(JSON.stringify(q)),this._timeouts=q,this._options=K||{},this._maxRetryTime=K&&K.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}Iuq.exports=tC;tC.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};tC.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};tC.prototype.retry=function(q){if(this._timeout)clearTimeout(this._timeout);if(!q)return!1;var K=new Date().getTime();if(q&&K-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(q);var _=this._timeouts.shift();if(_===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),_=this._timeouts.shift();else return!1;var z=this,Y=setTimeout(function(){if(z._attempts++,z._operationTimeoutCb){if(z._timeout=setTimeout(function(){z._operationTimeoutCb(z._attempts)},z._operationTimeout),z._options.unref)z._timeout.unref()}z._fn(z._attempts)},_);if(this._options.unref)Y.unref();return!0};tC.prototype.attempt=function(q,K){if(this._fn=q,K){if(K.timeout)this._operationTimeout=K.timeout;if(K.cb)this._operationTimeoutCb=K.cb}var _=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){_._operationTimeoutCb()},_._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};tC.prototype.try=function(q){console.log("Using RetryOperation.try() is deprecated"),this.attempt(q)};tC.prototype.start=function(q){console.log("Using RetryOperation.start() is deprecated"),this.attempt(q)};tC.prototype.start=tC.prototype.try;tC.prototype.errors=function(){return this._errors};tC.prototype.attempts=function(){return this._attempts};tC.prototype.mainError=function(){if(this._errors.length===0)return null;var q={},K=null,_=0;for(var z=0;z=_)K=Y,_=A}return K}});var puq=p((j4_)=>{var w4_=uuq();j4_.operation=function(q){var K=j4_.timeouts(q);return new w4_(K,{forever:q&&q.forever,unref:q&&q.unref,maxRetryTime:q&&q.maxRetryTime})};j4_.timeouts=function(q){if(q instanceof Array)return[].concat(q);var K={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var _ in q)K[_]=q[_];if(K.minTimeout>K.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var z=[];for(var Y=0;Y{TG8.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")TG8.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")TG8.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var guq=p((lRA,vT6)=>{var Fj=global.process,sA6=function(q){return q&&typeof q==="object"&&typeof q.removeListener==="function"&&typeof q.emit==="function"&&typeof q.reallyExit==="function"&&typeof q.listeners==="function"&&typeof q.kill==="function"&&typeof q.pid==="number"&&typeof q.on==="function"};if(!sA6(Fj))vT6.exports=function(){return function(){}};else{if(ly1=U6("assert"),tA6=Buq(),ny1=/^win/i.test(Fj.platform),GT6=U6("events"),typeof GT6!=="function")GT6=GT6.EventEmitter;if(Fj.__signal_exit_emitter__)WW=Fj.__signal_exit_emitter__;else WW=Fj.__signal_exit_emitter__=new GT6,WW.count=0,WW.emitted={};if(!WW.infinite)WW.setMaxListeners(1/0),WW.infinite=!0;vT6.exports=function(q,K){if(!sA6(global.process))return function(){};if(ly1.equal(typeof q,"function","a callback must be provided for exit handler"),eA6===!1)kG8();var _="exit";if(K&&K.alwaysLast)_="afterexit";var z=function(){if(WW.removeListener(_,q),WW.listeners("exit").length===0&&WW.listeners("afterexit").length===0)on6()};return WW.on(_,q),z},on6=function(){if(!eA6||!sA6(global.process))return;eA6=!1,tA6.forEach(function(K){try{Fj.removeListener(K,an6[K])}catch(_){}}),Fj.emit=sn6,Fj.reallyExit=VG8,WW.count-=1},vT6.exports.unload=on6,S76=function(K,_,z){if(WW.emitted[K])return;WW.emitted[K]=!0,WW.emit(K,_,z)},an6={},tA6.forEach(function(q){an6[q]=function(){if(!sA6(global.process))return;var _=Fj.listeners(q);if(_.length===WW.count){if(on6(),S76("exit",null,q),S76("afterexit",null,q),ny1&&q==="SIGHUP")q="SIGINT";Fj.kill(Fj.pid,q)}}}),vT6.exports.signals=function(){return tA6},eA6=!1,kG8=function(){if(eA6||!sA6(global.process))return;eA6=!0,WW.count+=1,tA6=tA6.filter(function(K){try{return Fj.on(K,an6[K]),!0}catch(_){return!1}}),Fj.emit=ry1,Fj.reallyExit=iy1},vT6.exports.load=kG8,VG8=Fj.reallyExit,iy1=function(K){if(!sA6(global.process))return;Fj.exitCode=K||0,S76("exit",Fj.exitCode,null),S76("afterexit",Fj.exitCode,null),VG8.call(Fj,Fj.exitCode)},sn6=Fj.emit,ry1=function(K,_){if(K==="exit"&&sA6(global.process)){if(_!==void 0)Fj.exitCode=_;var z=sn6.apply(this,arguments);return S76("exit",Fj.exitCode,null),S76("afterexit",Fj.exitCode,null),z}else return sn6.apply(this,arguments)}}var ly1,tA6,ny1,GT6,WW,on6,S76,an6,eA6,kG8,VG8,iy1,sn6,ry1});var Uuq=p((W4_,oy1)=>{var Fuq=Symbol();function X4_(q,K,_){let z=K[Fuq];if(z)return K.stat(q,(O,A)=>{if(O)return _(O);_(null,A.mtime,z)});let Y=new Date(Math.ceil(Date.now()/1000)*1000+5);K.utimes(q,Y,Y,(O)=>{if(O)return _(O);K.stat(q,(A,$)=>{if(A)return _(A);let w=$.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty(K,Fuq,{value:w}),_(null,$.mtime,w)})})}function P4_(q){let K=Date.now();if(q==="s")K=Math.ceil(K/1000)*1000;return new Date(K)}W4_.probe=X4_;W4_.getMtime=P4_});var nuq=p((N4_,en6)=>{var Z4_=U6("path"),ty1=mA(),G4_=puq(),v4_=guq(),Quq=Uuq(),Cr={};function tn6(q,K){return K.lockfilePath||`${q}.lock`}function ey1(q,K,_){if(!K.realpath)return _(null,Z4_.resolve(q));K.fs.realpath(q,_)}function sy1(q,K,_){let z=tn6(q,K);K.fs.mkdir(z,(Y)=>{if(!Y)return Quq.probe(z,K.fs,(O,A,$)=>{if(O)return K.fs.rmdir(z,()=>{}),_(O);_(null,A,$)});if(Y.code!=="EEXIST")return _(Y);if(K.stale<=0)return _(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:q}));K.fs.stat(z,(O,A)=>{if(O){if(O.code==="ENOENT")return sy1(q,{...K,stale:0},_);return _(O)}if(!duq(A,K))return _(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:q}));cuq(q,K,($)=>{if($)return _($);sy1(q,{...K,stale:0},_)})})})}function duq(q,K){return q.mtime.getTime(){if(z&&z.code!=="ENOENT")return _(z);_()})}function NG8(q,K){let _=Cr[q];if(_.updateTimeout)return;if(_.updateDelay=_.updateDelay||K.update,_.updateTimeout=setTimeout(()=>{_.updateTimeout=null,K.fs.stat(_.lockfilePath,(z,Y)=>{let O=_.lastUpdate+K.stale{let j=_.lastUpdate+K.stale{throw z},...K},K.retries=K.retries||0,K.retries=typeof K.retries==="number"?{retries:K.retries}:K.retries,K.stale=Math.max(K.stale||0,2000),K.update=K.update==null?K.stale/2:K.update||0,K.update=Math.max(Math.min(K.update,K.stale/2),1000),ey1(q,K,(z,Y)=>{if(z)return _(z);let O=G4_.operation(K.retries);O.attempt(()=>{sy1(Y,K,(A,$,w)=>{if(O.retry(A))return;if(A)return _(O.mainError());let j=Cr[Y]={lockfilePath:tn6(Y,K),mtime:$,mtimePrecision:w,options:K,lastUpdate:Date.now()};NG8(Y,K),_(null,(H)=>{if(j.released)return H&&H(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));luq(Y,{...K,realpath:!1},H)})})})})}function luq(q,K,_){K={fs:ty1,realpath:!0,...K},ey1(q,K,(z,Y)=>{if(z)return _(z);let O=Cr[Y];if(!O)return _(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));O.updateTimeout&&clearTimeout(O.updateTimeout),O.released=!0,delete Cr[Y],cuq(Y,K,_)})}function k4_(q,K,_){K={stale:1e4,realpath:!0,fs:ty1,...K},K.stale=Math.max(K.stale||0,2000),ey1(q,K,(z,Y)=>{if(z)return _(z);K.fs.stat(tn6(Y,K),(O,A)=>{if(O)return O.code==="ENOENT"?_(null,!1):_(O);return _(null,!duq(A,K))})})}function V4_(){return Cr}v4_(()=>{for(let q in Cr){let K=Cr[q].options;try{K.fs.rmdirSync(tn6(q,K))}catch(_){}}});N4_.lock=T4_;N4_.unlock=luq;N4_.check=k4_;N4_.getLocks=V4_});var ruq=p((nRA,iuq)=>{var R4_=mA();function S4_(q){let K=["mkdir","realpath","stat","rmdir","utimes"],_={...q};return K.forEach((z)=>{_[z]=(...Y)=>{let O=Y.pop(),A;try{A=q[`${z}Sync`](...Y)}catch($){return O($)}O(null,A)}}),_}function C4_(q){return(...K)=>new Promise((_,z)=>{K.push((Y,O)=>{if(Y)z(Y);else _(O)}),q(...K)})}function b4_(q){return(...K)=>{let _,z;if(K.push((Y,O)=>{_=Y,z=O}),q(...K),_)throw _;return z}}function x4_(q){if(q={...q},q.fs=S4_(q.fs||R4_),typeof q.retries==="number"&&q.retries>0||q.retries&&typeof q.retries.retries==="number"&&q.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return q}iuq.exports={toPromise:C4_,toSync:b4_,toSyncOptions:x4_}});var auq=p((iRA,C76)=>{var TT6=nuq(),{toPromise:yG8,toSync:EG8,toSyncOptions:qE1}=ruq();async function ouq(q,K){let _=await yG8(TT6.lock)(q,K);return yG8(_)}function I4_(q,K){let _=EG8(TT6.lock)(q,qE1(K));return EG8(_)}function u4_(q,K){return yG8(TT6.unlock)(q,K)}function m4_(q,K){return EG8(TT6.unlock)(q,qE1(K))}function p4_(q,K){return yG8(TT6.check)(q,K)}function B4_(q,K){return EG8(TT6.check)(q,qE1(K))}C76.exports=ouq;C76.exports.lock=ouq;C76.exports.unlock=u4_;C76.exports.lockSync=I4_;C76.exports.unlockSync=m4_;C76.exports.check=p4_;C76.exports.checkSync=B4_});function _E1(){if(!KE1)KE1=auq();return KE1}function gJ(q,K){return _E1().lock(q,K)}function suq(q,K){return _E1().lockSync(q,K)}function tuq(q,K){return _E1().check(q,K)}var KE1;function euq(q,K){return{name:`${q.name}-with-${K.name}-fallback`,read(){let _=q.read();if(_!==null&&_!==void 0)return _;return K.read()||{}},async readAsync(){let _=await q.readAsync();if(_!==null&&_!==void 0)return _;return await K.readAsync()||{}},update(_){let z=q.read(),Y=q.update(_);if(Y.success){if(z===null)K.delete();return Y}let O=K.update(_);if(O.success){if(z!==null)q.delete();return{success:!0,warning:O.warning}}return{success:!1}},delete(){let _=q.delete(),z=K.delete();return _||z}}}async function F4_(){try{let q=eL(ZO6),K=ou(),{stdout:_,code:z}=await t8("security",["find-generic-password","-a",K,"-w","-s",q],{useCwd:!1,preserveOutputOnError:!1});if(z===0&&_)return U8(_.trim())}catch(q){}return null}function Kmq(){if(kT6!==void 0)return kT6;if(process.platform!=="darwin")return kT6=!1,!1;try{kT6=d28("security",["show-keychain-info"],{reject:!1,stdio:["ignore","pipe","pipe"]}).exitCode===36}catch{kT6=!1}return kT6}var g4_=4032,qmq,kT6;var zE1=L(()=>{_8();OK();z_1();aT();n8();v16();qmq={name:"keychain",read(){let q=wW.cache;if(Date.now()-q.cachedAt{if(K===wW.generation){if(z===null&&q.data!==null)N("[keychain] readAsync failed; serving stale cache",{level:"warn"});let Y=z??q.data;return wW.cache={data:Y,cachedAt:Date.now()},wW.readInFlight=null,Y}return z});return wW.readInFlight=_,_},update(q){mN();try{let K=eL(ZO6),_=ou(),z=I6(q),Y=Buffer.from(z,"utf-8").toString("hex"),O=`add-generic-password -U -a "${_}" -s "${K}" -X "${Y}" `,A;if(O.length<=g4_)A=d28("security",["-i"],{input:O,stdio:["pipe","pipe","pipe"],reject:!1});else N(`Keychain payload (${z.length}B JSON) exceeds security -i stdin limit; using argv`,{level:"warn"}),A=d28("security",["add-generic-password","-U","-a",_,"-s",K,"-X",Y],{stdio:["ignore","pipe","pipe"],reject:!1});if(A.exitCode!==0)return{success:!1};return wW.cache={data:q,cachedAt:Date.now()},{success:!0}}catch(K){return{success:!1}}},delete(){mN();try{let q=eL(ZO6),K=ou();return gS(`security delete-generic-password -a "${K}" -s "${q}"`),!0}catch(q){return!1}}}});import{chmodSync as U4_}from"fs";import{join as Q4_}from"path";function LG8(){let q=$7(),K=".credentials.json";return{storageDir:q,storagePath:Q4_(q,".credentials.json")}}var YE1;var _mq=L(()=>{p8();L8();qq();n8();YE1={name:"plaintext",read(){let{storagePath:q}=LG8();try{let K=P8().readFileSync(q,{encoding:"utf8"});return U8(K)}catch{return null}},async readAsync(){let{storagePath:q}=LG8();try{let K=await P8().readFile(q,{encoding:"utf8"});return U8(K)}catch{return null}},update(q){try{let{storageDir:K,storagePath:_}=LG8();try{P8().mkdirSync(K)}catch(z){if(n1(z)!=="EEXIST")throw z}return Ej(_,I6(q),{encoding:"utf8",flush:!1}),U4_(_,384),{success:!0,warning:"Warning: Storing credentials in plaintext."}}catch{return{success:!1}}},delete(){let{storagePath:q}=LG8();try{return P8().unlinkSync(q),!0}catch(K){if(n1(K)==="ENOENT")return!0;return!1}}}});function K9(){if(process.platform==="darwin")return euq(qmq,YE1);return YE1}var x76=L(()=>{zE1();_mq()});import{execFile as d4_}from"child_process";function zmq(q){return new Promise((K)=>{d4_("security",["find-generic-password","-a",ou(),"-w","-s",q],{encoding:"utf-8",timeout:c4_},(_,z)=>{K({stdout:_?null:z?.trim()||null,timedOut:Boolean(_&&"killed"in _&&_.killed)})})})}function Ymq(){if(process.platform!=="darwin"||hG8||N9())return;let q=zmq(eL(ZO6)),K=zmq(eL());hG8=Promise.all([q,K]).then(([_,z])=>{if(!_.timedOut)K2q(_.stdout);if(!z.timedOut)OE1={stdout:z.stdout}})}async function Omq(){if(hG8)await hG8}function Amq(){return OE1}function AE1(){OE1=null}var c4_=1e4,OE1=null,hG8=null;var $E1=L(()=>{p8();v16()});var $mq={};Z8($mq,{withTimeout:()=>n4_,sleep:()=>C7});function C7(q,K,_){return new Promise((z,Y)=>{if(K?.aborted){if(_?.throwOnAbort||_?.abortError)Y(_.abortError?.()??Error("aborted"));else z();return}let O=setTimeout(($,w,j)=>{$?.removeEventListener("abort",w),j()},q,K,A,z);function A(){if(clearTimeout(O),_?.throwOnAbort||_?.abortError)Y(_.abortError?.()??Error("aborted"));else z()}if(K?.addEventListener("abort",A,{once:!0}),_?.unref)O.unref()})}function l4_(q,K){q(Error(K))}function n4_(q,K,_){let z,Y=new Promise((O,A)=>{if(z=setTimeout(l4_,K,A,_),typeof z==="object")z.unref?.()});return Promise.race([q,Y]).finally(()=>{if(z!==void 0)clearTimeout(z)})}function jmq(){return wmq}function RG8(){wmq.clear()}var wmq;var SG8=L(()=>{wmq=new Map});var Zh={};Z8(Zh,{validateForceLoginOrg:()=>xr,saveOAuthTokensIfNeeded:()=>yT6,saveApiKey:()=>MD1,removeApiKey:()=>TE1,refreshGcpCredentialsIfNeeded:()=>rn6,refreshGcpAuth:()=>Zmq,refreshAwsAuth:()=>Dmq,refreshAndGetAwsCredentials:()=>kC,prefetchGcpCredentialsIfSafe:()=>vE1,prefetchAwsCredentialsAndBedRockInfoIfSafe:()=>xG8,prefetchApiKeyFromApiKeyHelperIfSafe:()=>fE1,isUsing3PServices:()=>I76,isTeamSubscriber:()=>kE1,isTeamPremiumSubscriber:()=>S16,isProSubscriber:()=>Oh,isOverageProvisioningAllowed:()=>ET6,isOtelHeadersHelperFromProjectOrLocalSettings:()=>Tmq,isMaxSubscriber:()=>Yh,isGcpAuthRefreshFromProjectSettings:()=>GE1,isEnterpriseSubscriber:()=>LT6,isCustomApiKeyApproved:()=>$K_,isConsumerSubscriber:()=>K$6,isClaudeAISubscriber:()=>p7,isAwsCredentialExportFromProjectSettings:()=>WE1,isAwsAuthRefreshFromProjectSettings:()=>XE1,isAnthropicAuthEnabled:()=>FJ,is1PApiCustomer:()=>q$6,hasProfileScope:()=>pD,hasOpusAccess:()=>HK_,hasAnthropicApiKeyAuth:()=>JE1,handleOAuth401Error:()=>SC,getSubscriptionType:()=>MK,getSubscriptionName:()=>IG8,getRateLimitTier:()=>hU,getOtelHeadersFromHelper:()=>VE1,getOauthAccountInfo:()=>e_,getConfiguredApiKeyHelper:()=>LU,getClaudeAIOAuthTokensAsync:()=>Ki6,getClaudeAIOAuthTokens:()=>s7,getAuthTokenSource:()=>VC,getApiKeyHelperElapsedMs:()=>DE1,getApiKeyFromConfigOrMacOSKeychain:()=>NT6,getApiKeyFromApiKeyHelperCached:()=>jE1,getApiKeyFromApiKeyHelper:()=>WT6,getAnthropicApiKeyWithSource:()=>W$,getAnthropicApiKey:()=>Jk,getAccountInformation:()=>hT6,clearOAuthTokenCache:()=>Oi6,clearGcpCredentialsCache:()=>Yi6,clearAwsCredentialsCache:()=>zi6,clearApiKeyHelperCache:()=>_i6,checkGcpCredentialsValid:()=>fmq,checkAndRefreshOAuthTokenIfNeeded:()=>DY,calculateApiKeyHelperTTL:()=>Wmq});import{exec as Xmq}from"child_process";import{mkdir as i4_,stat as r4_}from"fs/promises";import{join as o4_}from"path";function bG8(){return p6(process.env.CLAUDE_CODE_REMOTE)||process.env.CLAUDE_CODE_ENTRYPOINT==="claude-desktop"}function FJ(){if(process.env.ANTHROPIC_BASE_URL||process.env.ANTHROPIC_AUTH_TOKEN)return!1;try{let s=(globalThis.__CLAUDE_SETTINGS__||{}).env||{};if(s.ANTHROPIC_BASE_URL||s.ANTHROPIC_AUTH_TOKEN)return!1}catch{}return!1}function VC(){if(N9()){if(LU())return{source:"apiKeyHelper",hasToken:!0};return{source:"none",hasToken:!1}}if(process.env.ANTHROPIC_AUTH_TOKEN&&!bG8())return{source:"ANTHROPIC_AUTH_TOKEN",hasToken:!0};if(process.env.CLAUDE_CODE_OAUTH_TOKEN)return{source:"CLAUDE_CODE_OAUTH_TOKEN",hasToken:!0};if(PW8()){if(process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR)return{source:"CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR",hasToken:!0};return{source:"CCR_OAUTH_TOKEN_FILE",hasToken:!0}}if(LU()&&!bG8())return{source:"apiKeyHelper",hasToken:!0};let _=s7();if(NC(_?.scopes)&&_?.accessToken)return{source:"claude.ai",hasToken:!0};return{source:"none",hasToken:!1}}function Jk(){let{key:q}=W$();return q}function JE1(){let{key:q,source:K}=W$({skipRetrievingKeyFromApiKeyHelper:!0});return q!==null&&K!=="none"}function W$(q={}){if(N9()){if(process.env.ANTHROPIC_API_KEY)return{key:process.env.ANTHROPIC_API_KEY,source:"ANTHROPIC_API_KEY"};if(LU())return{key:q.skipRetrievingKeyFromApiKeyHelper?null:jE1(),source:"apiKeyHelper"};return{key:null,source:"none"}}let K=uT()?void 0:process.env.ANTHROPIC_API_KEY;if(pu6()&&K)return{key:K,source:"ANTHROPIC_API_KEY"};if(p6(!1)){let O=PD1();if(O)return{key:O,source:"ANTHROPIC_API_KEY"};if(!K&&!process.env.CLAUDE_CODE_OAUTH_TOKEN&&!process.env.CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR)throw Error("ANTHROPIC_API_KEY or CLAUDE_CODE_OAUTH_TOKEN env var is required");if(K)return{key:K,source:"ANTHROPIC_API_KEY"};return{key:null,source:"none"}}if(K&&w8().customApiKeyResponses?.approved?.includes(pN(K)))return{key:K,source:"ANTHROPIC_API_KEY"};let _=PD1();if(_)return{key:_,source:"ANTHROPIC_API_KEY"};if(LU()){if(q.skipRetrievingKeyFromApiKeyHelper)return{key:null,source:"apiKeyHelper"};return{key:jE1(),source:"apiKeyHelper"}}let Y=NT6();if(Y)return Y;return{key:null,source:"none"}}function LU(){if(N9())return y1("flagSettings")?.apiKeyHelper;return(T7()||{}).apiKeyHelper}function Pmq(){let q=LU();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.apiKeyHelper===q||_?.apiKeyHelper===q}function ME1(){return(T7()||{}).awsAuthRefresh}function XE1(){let q=ME1();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.awsAuthRefresh===q||_?.awsAuthRefresh===q}function PE1(){return(T7()||{}).awsCredentialExport}function WE1(){let q=PE1();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.awsCredentialExport===q||_?.awsCredentialExport===q}function Wmq(){let q=process.env.CLAUDE_CODE_API_KEY_HELPER_TTL_MS;if(q){let K=parseInt(q,10);if(!Number.isNaN(K)&&K>=0)return K;N(`Found CLAUDE_CODE_API_KEY_HELPER_TTL_MS env var, but it was not a valid number. Got ${q}`,{level:"error"})}return a4_}function DE1(){let q=br?.startedAt;return q?Date.now()-q:0}async function WT6(q){if(!LU())return null;let K=Wmq();if(fh){if(Date.now()-fh.timestamp{let z=Xmq(q,{timeout:qK_});z.stdout.on("data",(Y)=>{let O=Y.toString().trim();if(O)K.addOutput(O),N(O,{level:"debug"})}),z.stderr.on("data",(Y)=>{let O=Y.toString().trim();if(O)K.setError(O),N(O,{level:"error"})}),z.on("close",(Y,O)=>{if(Y===0)N("AWS auth refresh completed successfully"),K.endAuthentication(!0),_(!0);else{let $=O==="SIGTERM"?O8.red("AWS auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal."):O8.red("Error running awsAuthRefresh (in settings or ~/.claude.json):");console.error($),K.endAuthentication(!1),_(!1)}})})}async function KK_(){let q=PE1();if(!q)return null;if(WE1()){if(!OA()&&!U7()){let _=Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${{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.96",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-04-08T03:13:25Z"}.FEEDBACK_CHANNEL}.`);return GL("awsCredentialExport invoked before trust check",_),d("tengu_awsCredentialExport_missing_trust",{}),null}}try{return N("Fetching AWS caller identity for credential export command"),await $Z1(),N("Fetched AWS caller identity, skipping AWS credential export command"),null}catch{try{N("Running AWS credential export command");let K=await hJ(q,{reject:!1});if(K.exitCode!==0||!K.stdout)throw Error("awsCredentialExport did not return a valid value");let _=U8(K.stdout.trim());if(!sMq(_))throw Error("awsCredentialExport did not return valid AWS STS output structure");return N("AWS credentials retrieved from awsCredentialExport"),{accessKeyId:_.Credentials.AccessKeyId,secretAccessKey:_.Credentials.SecretAccessKey,sessionToken:_.Credentials.SessionToken}}catch(K){let _=O8.red("Error getting AWS credentials from awsCredentialExport (in settings or ~/.claude.json):");if(K instanceof Error)console.error(_,K.message);else console.error(_,K);return null}}}function zi6(){kC.cache.clear()}function ZE1(){return(T7()||{}).gcpAuthRefresh}function GE1(){let q=ZE1();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.gcpAuthRefresh===q||_?.gcpAuthRefresh===q}async function fmq(){try{let{GoogleAuth:q}=await Promise.resolve().then(() => Y6(wG8(),1)),K=new q({scopes:["https://www.googleapis.com/auth/cloud-platform"]}),_=(async()=>{await(await K.getClient()).getAccessToken()})(),z=C7(_K_).then(()=>{throw new kmq("GCP credentials check timed out")});return await Promise.race([_,z]),!0}catch{return!1}}async function YK_(){let q=ZE1();if(!q)return!1;if(GE1()){if(!OA()&&!U7()){let _=Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${{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.96",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-04-08T03:13:25Z"}.FEEDBACK_CHANNEL}.`);return GL("gcpAuthRefresh invoked before trust check",_),d("tengu_gcpAuthRefresh_missing_trust",{}),!1}}try{if(N("Checking GCP credentials validity for auth refresh"),await fmq())return N("GCP credentials are valid, skipping auth refresh command"),!1}catch{}return Zmq(q)}function Zmq(q){N("Running GCP auth refresh command");let K=gD.getInstance();return K.startAuthentication(),new Promise((_)=>{let z=Xmq(q,{timeout:OK_});z.stdout.on("data",(Y)=>{let O=Y.toString().trim();if(O)K.addOutput(O),N(O,{level:"debug"})}),z.stderr.on("data",(Y)=>{let O=Y.toString().trim();if(O)K.setError(O),N(O,{level:"error"})}),z.on("close",(Y,O)=>{if(Y===0)N("GCP auth refresh completed successfully"),K.endAuthentication(!0),_(!0);else{let $=O==="SIGTERM"?O8.red("GCP auth refresh timed out after 3 minutes. Run your auth command manually in a separate terminal."):O8.red("Error running gcpAuthRefresh (in settings or ~/.claude.json):");console.error($),K.endAuthentication(!1),_(!1)}})})}function Yi6(){rn6.cache.clear()}function vE1(){if(!ZE1())return;if(GE1()){if(!OA()&&!U7())return}rn6()}function xG8(){let q=ME1(),K=PE1();if(!q&&!K)return;if(XE1()||WE1()){if(!OA()&&!U7())return}kC(),U2()}function AK_(q){return/^[a-zA-Z0-9-_]+$/.test(q)}async function MD1(q){if(!AK_(q))throw Error("Invalid API key format. API key must contain only alphanumeric characters, dashes, and underscores.");await Gmq();let K=process.platform==="darwin";if(K){let z=eL(),Y=ou(),O=Buffer.from(q,"utf-8").toString("hex"),A=`add-generic-password -U -a "${Y}" -s "${z}" -X "${O}" -`,$=await oT("security",["-i"],{input:A,reject:!1,timeout:5000});if($.exitCode!==0){let w=($.stderr||$.stdout||"").trim().replace(/\s*\n\s*/g,"; ");throw d("tengu_api_key_keychain_error",{error:w}),Error(`Failed to save API key to macOS Keychain${w?` (${w})`:""}. Run \`claude doctor\` to diagnose keychain access.`)}d("tengu_api_key_saved_to_keychain",{})}else d("tengu_api_key_saved_to_config",{});let _=pN(q);x8((z)=>{let Y=z.customApiKeyResponses?.approved??[];return{...z,primaryApiKey:K?z.primaryApiKey:q,customApiKeyResponses:{...z.customApiKeyResponses,approved:Y.includes(_)?Y:[...Y,_],rejected:z.customApiKeyResponses?.rejected??[]}}}),NT6.cache.clear?.(),AE1()}function $K_(q){let K=w8(),_=pN(q);return K.customApiKeyResponses?.approved?.includes(_)??!1}async function TE1(){await Gmq(),x8((q)=>({...q,primaryApiKey:void 0})),NT6.cache.clear?.(),AE1()}async function Gmq(){try{await _2q()}catch(q){j6(q)}}function yT6(q){if(!NC(q.scopes))return d("tengu_oauth_tokens_not_claude_ai",{}),{success:!0};if(!q.refreshToken||!q.expiresAt)return d("tengu_oauth_tokens_inference_only",{}),{success:!0};let K=K9(),_=K.name;try{let z=K.read()||{},Y=z.claudeAiOauth;z.claudeAiOauth={accessToken:q.accessToken,refreshToken:q.refreshToken,expiresAt:q.expiresAt,scopes:q.scopes,subscriptionType:q.subscriptionType??Y?.subscriptionType??null,rateLimitTier:q.rateLimitTier??Y?.rateLimitTier??null};let O=K.update(z);if(O.success)d("tengu_oauth_tokens_saved",{storageBackend:_});else d("tengu_oauth_tokens_save_failed",{storageBackend:_});return s7.cache?.clear?.(),WG8(),RG8(),O}catch(z){return j6(z),d("tengu_oauth_tokens_save_exception",{storageBackend:_,error:m6(z)}),{success:!1,warning:"Failed to save OAuth tokens"}}}function Oi6(){s7.cache?.clear?.(),mN()}async function wK_(){try{let{mtimeMs:q}=await r4_(o4_($7(),".credentials.json"));if(q!==Jmq)Jmq=q,Oi6()}catch{s7.cache?.clear?.()}}function SC(q){let K=wE1.get(q);if(K)return K;let _=jK_(q).finally(()=>{wE1.delete(q)});return wE1.set(q,_),_}async function jK_(q){Oi6();let K=await Ki6();if(!K?.refreshToken)return!1;if(K.accessToken!==q)return d("tengu_oauth_401_recovered_from_keychain",{}),!0;return DY(0,!0)}async function Ki6(){if(N9())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN||PW8())return s7();try{let _=(await K9().readAsync())?.claudeAiOauth;if(!_?.accessToken)return null;return _}catch(q){return j6(q),null}}function DY(q=0,K=!1){if(q===0&&!K){if(qi6)return qi6;return qi6=HE1(q,K).finally(()=>{qi6=null}),qi6}return HE1(q,K)}async function HE1(q,K){await wK_();let z=s7();if(!K){if(!z?.refreshToken||!iF(z.expiresAt))return!1}if(!z?.refreshToken)return!1;if(!NC(z.scopes))return!1;s7.cache?.clear?.(),mN();let Y=await Ki6();if(!Y?.refreshToken||!iF(Y.expiresAt))return!1;let O=$7();await i4_(O,{recursive:!0});let A;try{d("tengu_oauth_token_refresh_lock_acquiring",{}),A=await gJ(O),d("tengu_oauth_token_refresh_lock_acquired",{})}catch($){if($.code==="ELOCKED"){if(q<5)return d("tengu_oauth_token_refresh_lock_retry",{retryCount:q+1}),await C7(1000+Math.random()*1000),HE1(q+1,K);return d("tengu_oauth_token_refresh_lock_retry_limit_reached",{maxRetries:5}),!1}return j6($),d("tengu_oauth_token_refresh_lock_error",{error:m6($)}),!1}try{s7.cache?.clear?.(),mN();let $=await Ki6();if(!$?.refreshToken||!iF($.expiresAt))return d("tengu_oauth_token_refresh_race_resolved",{}),!1;d("tengu_oauth_token_refresh_starting",{});let w=await Nd6($.refreshToken,{scopes:NC($.scopes)?void 0:$.scopes});return yT6(w),s7.cache?.clear?.(),mN(),!0}catch($){j6($),s7.cache?.clear?.(),mN();let w=await Ki6();if(w&&!iF(w.expiresAt))return d("tengu_oauth_token_refresh_race_recovered",{}),!0;return!1}finally{d("tengu_oauth_token_refresh_lock_releasing",{}),await A(),d("tengu_oauth_token_refresh_lock_released",{})}}function p7(){if(process.env.ANTHROPIC_BASE_URL||process.env.ANTHROPIC_AUTH_TOKEN)return!1;try{let s=(globalThis.__CLAUDE_SETTINGS__||{}).env||{};if(s.ANTHROPIC_BASE_URL||s.ANTHROPIC_AUTH_TOKEN)return!1}catch{}return!1}function pD(){return s7()?.scopes?.includes(dz6)??!1}function q$6(){if(p6(process.env.CLAUDE_CODE_USE_BEDROCK)||p6(process.env.CLAUDE_CODE_USE_VERTEX)||p6(process.env.CLAUDE_CODE_USE_FOUNDRY)||p6(process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS)||p6(process.env.CLAUDE_CODE_USE_MANTLE))return!1;if(p7())return!1;return!0}function e_(){return FJ()?w8().oauthAccount:void 0}function ET6(){let K=e_()?.billingType;if(!p7()||!K)return!1;if(K!=="stripe_subscription"&&K!=="stripe_subscription_contracted"&&K!=="apple_subscription"&&K!=="google_play_subscription")return!1;return!0}function HK_(){let q=MK();return q==="max"||q==="enterprise"||q==="team"||q==="pro"||q===null}function MK(){if(twq())return swq();if(!FJ())return null;let q=s7();if(!q)return null;return q.subscriptionType??null}function Yh(){return MK()==="max"}function kE1(){return MK()==="team"}function S16(){return MK()==="team"&&hU()==="default_claude_max_5x"}function LT6(){return MK()==="enterprise"}function Oh(){return MK()==="pro"}function hU(){let q=awq();if(q!==null)return q;if(!FJ())return null;let K=s7();if(!K)return null;return K.rateLimitTier??null}function IG8(){switch(MK()){case"enterprise":return"Claude Enterprise";case"team":return"Claude Team";case"max":return"Claude Max";case"pro":return"Claude Pro";default:return"Claude API"}}function I76(){return!!(p6(process.env.CLAUDE_CODE_USE_BEDROCK)||p6(process.env.CLAUDE_CODE_USE_VERTEX)||p6(process.env.CLAUDE_CODE_USE_FOUNDRY)||p6(process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS)||p6(process.env.CLAUDE_CODE_USE_MANTLE))}function vmq(){return(T7()||{}).otelHeadersHelper}function Tmq(){let q=vmq();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.otelHeadersHelper===q||_?.otelHeadersHelper===q}function VE1(){let q=vmq();if(!q)return{};let K=parseInt(process.env.CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS||JK_.toString());if(CG8&&Date.now()-Mmq{let Y=z.customApiKeyResponses?.approved??[];return{...z,primaryApiKey:K?z.primaryApiKey:q,customApiKeyResponses:{...z.customApiKeyResponses,approved:Y.includes(_)?Y:[...Y,_],rejected:z.customApiKeyResponses?.rejected??[]}}}),NT6.cache.clear?.(),AE1()}function $K_(q){let K=w8(),_=pN(q);return K.customApiKeyResponses?.approved?.includes(_)??!1}async function TE1(){await Gmq(),x8((q)=>({...q,primaryApiKey:void 0})),NT6.cache.clear?.(),AE1()}async function Gmq(){try{await _2q()}catch(q){j6(q)}}function yT6(q){if(!NC(q.scopes))return d("tengu_oauth_tokens_not_claude_ai",{}),{success:!0};if(!q.refreshToken||!q.expiresAt)return d("tengu_oauth_tokens_inference_only",{}),{success:!0};let K=K9(),_=K.name;try{let z=K.read()||{},Y=z.claudeAiOauth;z.claudeAiOauth={accessToken:q.accessToken,refreshToken:q.refreshToken,expiresAt:q.expiresAt,scopes:q.scopes,subscriptionType:q.subscriptionType??Y?.subscriptionType??null,rateLimitTier:q.rateLimitTier??Y?.rateLimitTier??null};let O=K.update(z);if(O.success)d("tengu_oauth_tokens_saved",{storageBackend:_});else d("tengu_oauth_tokens_save_failed",{storageBackend:_});return s7.cache?.clear?.(),WG8(),RG8(),O}catch(z){return j6(z),d("tengu_oauth_tokens_save_exception",{storageBackend:_,error:m6(z)}),{success:!1,warning:"Failed to save OAuth tokens"}}}function Oi6(){s7.cache?.clear?.(),mN()}async function wK_(){try{let{mtimeMs:q}=await r4_(o4_($7(),".credentials.json"));if(q!==Jmq)Jmq=q,Oi6()}catch{s7.cache?.clear?.()}}function SC(q){let K=wE1.get(q);if(K)return K;let _=jK_(q).finally(()=>{wE1.delete(q)});return wE1.set(q,_),_}async function jK_(q){Oi6();let K=await Ki6();if(!K?.refreshToken)return!1;if(K.accessToken!==q)return d("tengu_oauth_401_recovered_from_keychain",{}),!0;return DY(0,!0)}async function Ki6(){if(N9())return null;if(process.env.CLAUDE_CODE_OAUTH_TOKEN||PW8())return s7();try{let _=(await K9().readAsync())?.claudeAiOauth;if(!_?.accessToken)return null;return _}catch(q){return j6(q),null}}function DY(q=0,K=!1){if(q===0&&!K){if(qi6)return qi6;return qi6=HE1(q,K).finally(()=>{qi6=null}),qi6}return HE1(q,K)}async function HE1(q,K){await wK_();let z=s7();if(!K){if(!z?.refreshToken||!iF(z.expiresAt))return!1}if(!z?.refreshToken)return!1;if(!NC(z.scopes))return!1;s7.cache?.clear?.(),mN();let Y=await Ki6();if(!Y?.refreshToken||!iF(Y.expiresAt))return!1;let O=$7();await i4_(O,{recursive:!0});let A;try{d("tengu_oauth_token_refresh_lock_acquiring",{}),A=await gJ(O),d("tengu_oauth_token_refresh_lock_acquired",{})}catch($){if($.code==="ELOCKED"){if(q<5)return d("tengu_oauth_token_refresh_lock_retry",{retryCount:q+1}),await C7(1000+Math.random()*1000),HE1(q+1,K);return d("tengu_oauth_token_refresh_lock_retry_limit_reached",{maxRetries:5}),!1}return j6($),d("tengu_oauth_token_refresh_lock_error",{error:m6($)}),!1}try{s7.cache?.clear?.(),mN();let $=await Ki6();if(!$?.refreshToken||!iF($.expiresAt))return d("tengu_oauth_token_refresh_race_resolved",{}),!1;d("tengu_oauth_token_refresh_starting",{});let w=await Nd6($.refreshToken,{scopes:NC($.scopes)?void 0:$.scopes});return yT6(w),s7.cache?.clear?.(),mN(),!0}catch($){j6($),s7.cache?.clear?.(),mN();let w=await Ki6();if(w&&!iF(w.expiresAt))return d("tengu_oauth_token_refresh_race_recovered",{}),!0;return!1}finally{d("tengu_oauth_token_refresh_lock_releasing",{}),await A(),d("tengu_oauth_token_refresh_lock_released",{})}}function p7(){if(process.env.ANTHROPIC_BASE_URL||process.env.ANTHROPIC_AUTH_TOKEN)return!1;try{let s=(globalThis.__CLAUDE_SETTINGS__||{}).env||{};if(s.ANTHROPIC_BASE_URL||s.ANTHROPIC_AUTH_TOKEN)return!1}catch{}return!1}function pD(){return s7()?.scopes?.includes(dz6)??!1}function q$6(){if(process.env.ANTHROPIC_BASE_URL||process.env.ANTHROPIC_AUTH_TOKEN)return!1;try{let s=(globalThis.__CLAUDE_SETTINGS__||{}).env||{};if(s.ANTHROPIC_BASE_URL||s.ANTHROPIC_AUTH_TOKEN)return!1}catch{}return!1}function e_(){return FJ()?w8().oauthAccount:void 0}function ET6(){let K=e_()?.billingType;if(!p7()||!K)return!1;if(K!=="stripe_subscription"&&K!=="stripe_subscription_contracted"&&K!=="apple_subscription"&&K!=="google_play_subscription")return!1;return!0}function HK_(){let q=MK();return q==="max"||q==="enterprise"||q==="team"||q==="pro"||q===null}function MK(){if(twq())return swq();if(!FJ())return null;let q=s7();if(!q)return null;return q.subscriptionType??null}function Yh(){return MK()==="max"}function kE1(){return MK()==="team"}function S16(){return MK()==="team"&&hU()==="default_claude_max_5x"}function LT6(){return MK()==="enterprise"}function Oh(){return MK()==="pro"}function hU(){let q=awq();if(q!==null)return q;if(!FJ())return null;let K=s7();if(!K)return null;return K.rateLimitTier??null}function IG8(){switch(MK()){case"enterprise":return"Claude Enterprise";case"team":return"Claude Team";case"max":return"Claude Max";case"pro":return"Claude Pro";default:return"Claude API"}}function I76(){if(process.env.ANTHROPIC_BASE_URL||process.env.ANTHROPIC_AUTH_TOKEN)return!0;try{let s=(globalThis.__CLAUDE_SETTINGS__||{}).env||{};if(s.ANTHROPIC_BASE_URL||s.ANTHROPIC_AUTH_TOKEN)return!0}catch{}return!0}function vmq(){return(T7()||{}).otelHeadersHelper}function Tmq(){let q=vmq();if(!q)return!1;let K=y1("projectSettings"),_=y1("localSettings");return K?.otelHeadersHelper===q||_?.otelHeadersHelper===q}function VE1(){let q=vmq();if(!q)return{};let K=parseInt(process.env.CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS||JK_.toString());if(CG8&&Date.now()-MmqI6(z)).join(` `)+` -`;await wD_(q,_,"utf8")}catch(_){j6(_)}}async deleteFile(q){try{await Itq(q)}catch{}}async retryPreviousBatches(){try{let q=`${mtq}${N8()}.`,K;try{K=(await jD_(Ni6())).filter((_)=>_.startsWith(q)&&_.endsWith(".json")).filter((_)=>!_.includes(utq))}catch(_){if(d3(_))return;throw _}for(let _ of K){let z=Zv8.join(Ni6(),_);this.retryFileInBackground(z)}}catch(q){j6(q)}}async retryFileInBackground(q){if(this.attempts>=this.maxAttempts){await this.deleteFile(q);return}let K=await this.loadEventsFromFile(q);if(K.length===0){await this.deleteFile(q);return}let _=await this.sendEventsInBatches(K);if(_.length===0)await this.deleteFile(q);else await this.saveEventsToFile(q,_)}async export(q,K){if(this.isShutdown){K({code:U76.ExportResultCode.FAILED,error:Error("Exporter has been shutdown")});return}let _=this.doExport(q,K);this.pendingExports.push(_),_.finally(()=>{let z=this.pendingExports.indexOf(_);if(z>-1)this.pendingExports.splice(z,1)})}async doExport(q,K){try{let _=q.filter((O)=>O.instrumentationScope?.name==="com.anthropic.claude_code.events");if(_.length===0){K({code:U76.ExportResultCode.SUCCESS});return}let z=this.transformLogsToEvents(_).events;if(z.length===0){K({code:U76.ExportResultCode.SUCCESS});return}if(this.attempts>=this.maxAttempts){K({code:U76.ExportResultCode.FAILED,error:Error(`Dropped ${z.length} events: max attempts (${this.maxAttempts}) reached`)});return}let Y=await this.sendEventsInBatches(z);if(this.attempts++,Y.length>0){await this.queueFailedEvents(Y),this.scheduleBackoffRetry();let O=this.lastExportErrorContext?` (${this.lastExportErrorContext})`:"";K({code:U76.ExportResultCode.FAILED,error:Error(`Failed to export ${Y.length} events${O}`)});return}if(this.resetBackoff(),await this.getQueuedEventCount()>0&&!this.isRetrying)this.retryFailedEvents();K({code:U76.ExportResultCode.SUCCESS})}catch(_){j6(_),K({code:U76.ExportResultCode.FAILED,error:U1(_)})}}async sendEventsInBatches(q){let K=[];for(let Y=0;Y0)await C7(this.batchDelayMs)}if(_.length>0&&z)this.lastExportErrorContext=z;return _}async queueFailedEvents(q){let K=this.getCurrentBatchFilePath();await this.appendEventsToFile(K,q);let _=this.lastExportErrorContext?` (${this.lastExportErrorContext})`:"",z=`1P event logging: ${q.length} events failed to export${_}`;j6(Error(z))}scheduleBackoffRetry(){if(this.cancelBackoff||this.isRetrying||this.isShutdown)return;let q=Math.min(this.baseBackoffDelayMs*this.attempts*this.attempts,this.maxBackoffDelayMs);this.cancelBackoff=this.schedule(async()=>{this.cancelBackoff=null,await this.retryFailedEvents()},q)}async retryFailedEvents(){let q=this.getCurrentBatchFilePath();while(!this.isShutdown){let K=await this.loadEventsFromFile(q);if(K.length===0)break;if(this.attempts>=this.maxAttempts){await this.deleteFile(q),this.resetBackoff();return}this.isRetrying=!0,await this.deleteFile(q);let _=await this.sendEventsInBatches(K);if(this.attempts++,this.isRetrying=!1,_.length>0){await this.saveEventsToFile(q,_),this.scheduleBackoffRetry();return}this.resetBackoff()}}resetBackoff(){if(this.attempts=0,this.cancelBackoff)this.cancelBackoff(),this.cancelBackoff=null}async sendBatchWithRetry(q){if(this.isKilled())throw Error("firstParty sink killswitch active");let K={"Content-Type":"application/json","User-Agent":MO(),"x-service-name":"claude-code"},_=OA()||U7(),z=this.skipAuth||!_;if(!z&&p7()){let $=s7();if(!pD())z=!0;else if($&&iF($.expiresAt))z=!0}let Y=z?{headers:{},error:"trust not established or Oauth token expired"}:Uj(),O=!Y.error,A=O?{...K,...Y.headers}:K;try{let $=await A1.post(this.endpoint,q,{timeout:this.timeout,headers:A});this.logSuccess(q.events.length,O,$.data);return}catch($){if(O&&A1.isAxiosError($)&&$.response?.status===401){let w=await A1.post(this.endpoint,q,{timeout:this.timeout,headers:K});this.logSuccess(q.events.length,!1,w.data);return}throw $}}logSuccess(q,K,_){}hrTimeToDate(q){let[K,_]=q;return new Date(K*1000+_/1e6)}transformLogsToEvents(q){let K=[];for(let _ of q){let z=_.attributes||{};if(z.event_type==="GrowthbookExperimentEvent"){let P=this.hrTimeToDate(_.hrTime),W=z.account_uuid,D=z.organization_uuid;K.push({event_type:"GrowthbookExperimentEvent",event_data:$h1.toJSON({event_id:z.event_id,timestamp:P,experiment_id:z.experiment_id,variation_id:z.variation_id,environment:z.environment,user_attributes:z.user_attributes,experiment_metadata:z.experiment_metadata,device_id:z.device_id,session_id:z.session_id,auth:W||D?{account_uuid:W,organization_uuid:D}:void 0})});continue}let Y=z.event_name||_.body||"unknown",O=z.core_metadata,A=z.user_metadata,$=z.event_metadata||{};if(!O){K.push({event_type:"ClaudeCodeInternalEvent",event_data:Mv8.toJSON({event_id:z.event_id,event_name:Y,client_timestamp:this.hrTimeToDate(_.hrTime),session_id:N8(),additional_metadata:Buffer.from(I6({transform_error:"core_metadata attribute is missing"})).toString("base64")})});continue}let w=btq(O,A,$),{_PROTO_skill_name:j,_PROTO_plugin_name:H,_PROTO_marketplace_name:J,...M}=w.additional,X=MY8(M);K.push({event_type:"ClaudeCodeInternalEvent",event_data:Mv8.toJSON({event_id:z.event_id,event_name:Y,client_timestamp:this.hrTimeToDate(_.hrTime),device_id:z.user_id,email:A?.email,auth:w.auth,...w.core,env:w.env,process:w.process,skill_name:typeof j==="string"?j:void 0,plugin_name:typeof H==="string"?H:void 0,marketplace_name:typeof J==="string"?J:void 0,additional_metadata:Object.keys(X).length>0?Buffer.from(I6(X)).toString("base64"):void 0})})}return{events:K}}async shutdown(){this.isShutdown=!0,this.resetBackoff(),await this.forceFlush()}async forceFlush(){await Promise.all(this.pendingExports)}}function JD_(q){if(!A1.isAxiosError(q))return m6(q);let K=[],_=q.response?.headers?.["request-id"];if(_)K.push(`request-id=${_}`);if(q.response?.status)K.push(`status=${q.response.status}`);if(q.code)K.push(`code=${q.code}`);if(q.message)K.push(q.message);return K.join(", ")}var U76,utq,mtq="1p_failed_events.";var ptq=L(()=>{TK();T8();Gtq();vtq();W7();h1();_8();p8();L8();rZ();F$();S8();n8();mD();k8();i2();U76=Y6(Wz(),1),utq=$D_()});function QT6(q){return Tv(MD_,{})?.[q]===!0}var MD_="tengu_frond_boric";var Zh1=L(()=>{r1()});var ctq={};Z8(ctq,{shutdown1PEventLogging:()=>Qr,shouldSampleEvent:()=>Gh1,reinitialize1PEventLoggingIfConfigChanged:()=>vD_,logGrowthBookExperimentTo1P:()=>vh1,logEventTo1P:()=>yi6,is1PEventLoggingEnabled:()=>V$6,initialize1PEventLogging:()=>dtq,getEventSamplingConfig:()=>Ftq});import{randomUUID as gtq}from"crypto";function Ftq(){return Tv(XD_,{})}function Gh1(q){let _=Ftq()[q];if(!_)return null;let z=_.sample_rate;if(typeof z!=="number"||z<0||z>1)return null;if(z>=1)return null;if(z<=0)return 0;return Math.random()QT6("firstParty")});Q76=new Gv8.LoggerProvider({resource:$,processors:[new Gv8.BatchLogRecordProcessor(w,{scheduledDelayMillis:_,maxExportBatchSize:z,maxQueueSize:Y})]}),d76=Q76.getLogger("com.anthropic.claude_code.events",{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.96",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-04-08T03:13:25Z"}.VERSION)}async function vD_(){if(!V$6()||!Q76)return;let q=Utq();if(PM(q,Qtq))return;let K=Q76,_=d76;d76=null;try{await K.forceFlush()}catch{}Q76=null;try{dtq()}catch(z){Q76=K,d76=_,j6(z);return}K.shutdown().catch(()=>{})}var Btq,Gv8,vv8,XD_="tengu_event_sampling_config",PD_="tengu_1p_event_batch_config",d76=null,Q76=null,Qtq=null,fD_=1e4,ZD_=200,GD_=8192;var dr=L(()=>{Zf6();h1();_8();S8();RK();n8();tI();z$6();B76();ptq();r1();i2();Zh1();Btq=Y6(pT6(),1),Gv8=Y6(zh1(),1),vv8=Y6(X$6(),1)});var qeq={};Z8(qeq,{stopPeriodicGrowthBookRefresh:()=>Eh1,setupPeriodicGrowthBookRefresh:()=>etq,setGrowthBookConfigOverride:()=>ND_,resetGrowthBook:()=>Ci6,refreshGrowthBookFeatures:()=>ttq,refreshGrowthBookAfterAuthChange:()=>E$6,onGrowthBookRefresh:()=>Ri6,initializeGrowthBook:()=>nr,hasGrowthBookEnvOverride:()=>TD_,getGrowthBookConfigOverrides:()=>VD_,getFeatureValue_DEPRECATED:()=>Tv8,getFeatureValue_CACHED_WITH_REFRESH:()=>wb,getFeatureValue_CACHED_MAY_BE_STALE:()=>C8,getDynamicConfig_CACHED_MAY_BE_STALE:()=>Tv,getDynamicConfig_BLOCKS_ON_INIT:()=>jb,getApiBaseUrlHost:()=>otq,getAllGrowthBookFeatures:()=>kD_,clearGrowthBookConfigOverrides:()=>yD_,checkStatsigFeatureGate_CACHED_MAY_BE_STALE:()=>JO,checkSecurityRestrictionGate:()=>yh1,checkGate_CACHED_OR_BLOCKING:()=>Ay});function ltq(q){try{Promise.resolve(q()).catch((K)=>{j6(K)})}catch(K){j6(K)}}function Ri6(q){let K=!0,_=lT6.subscribe(()=>ltq(q));if($b.size>0)queueMicrotask(()=>{if(K&&$b.size>0)ltq(q)});return()=>{K=!1,_()}}function nT6(){if(!kh1)kh1=!0;return ntq}function TD_(q){let K=nT6();return K!==null&&q in K}function iT6(){return}function kD_(){if($b.size>0)return Object.fromEntries($b);return w8().cachedGrowthBookFeatures??{}}function VD_(){return iT6()??{}}function ND_(q,K){return}function yD_(){return}function Si6(q){if(Th1.has(q))return;let K=y$6.get(q);if(K)Th1.add(q),vh1({experimentId:K.experimentId,variationId:K.variationId,userAttributes:atq(),experimentMetadata:{feature_id:q}})}async function itq(q){let K=q.getPayload();if(!K?.features||Object.keys(K.features).length===0)return!1;y$6.clear();let _={};for(let[z,Y]of Object.entries(K.features)){let O=Y;if("value"in O&&!("defaultValue"in O))_[z]={...O,defaultValue:O.value};else _[z]=O;if(O.source==="experiment"&&O.experimentResult){let{experimentResult:A,experiment:$}=O;if($?.key&&A.variationId!==void 0)y$6.set(z,{experimentId:$.key,variationId:A.variationId})}}await q.setPayload({...K,features:_}),$b.clear();for(let[z,Y]of Object.entries(_)){let O="value"in Y?Y.value:Y.defaultValue;if(O!==void 0)$b.set(z,O)}return!0}function rtq(){let q=Object.fromEntries($b),K=w8();if(PM(K.cachedGrowthBookFeatures,q))return;x8((_)=>({..._,cachedGrowthBookFeatures:q}))}function lr(){return V$6()}function otq(){let q=process.env.ANTHROPIC_BASE_URL;if(!q)return;try{let K=new URL(q).host;if(K==="api.anthropic.com")return;return K}catch{return}}function atq(){let q=Emq(),K=q.email,_=otq();return{id:q.deviceId,sessionId:q.sessionId,deviceID:q.deviceId,platform:q.platform,..._&&{apiBaseUrlHost:_},...q.organizationUuid&&{organizationUUID:q.organizationUuid},...q.accountUuid&&{accountUUID:q.accountUuid},...q.userType&&{userType:q.userType},...q.subscriptionType&&{subscriptionType:q.subscriptionType},...q.rateLimitTier&&{rateLimitTier:q.rateLimitTier},...q.firstTokenTime&&{firstTokenTime:q.firstTokenTime},...K&&{email:K},...q.appVersion&&{appVersion:q.appVersion},...q.githubActionsMetadata&&{githubActionsMetadata:q.githubActionsMetadata}}}async function stq(q,K,_){let z=nT6();if(z&&q in z)return z[q];let Y=iT6();if(Y&&q in Y)return Y[q];if(!lr())return K;let O=await nr();if(!O)return K;let A;if($b.has(q))A=$b.get(q);else A=O.getFeatureValue(q,K);if(_)Si6(q);return A}async function Tv8(q,K){return stq(q,K,!0)}function C8(q,K){let _=nT6();if(_&&q in _)return _[q];let z=iT6();if(z&&q in z)return z[q];if(!lr())return K;if(y$6.has(q))Si6(q);else cT6.add(q);if($b.has(q))return $b.get(q);try{let Y=w8().cachedGrowthBookFeatures?.[q];return Y!==void 0?Y:K}catch{return K}}function wb(q,K,_){return C8(q,K)}function JO(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(y$6.has(q))Si6(q);else cT6.add(q);let z=w8(),Y=z.cachedGrowthBookFeatures?.[q];if(Y!==void 0)return Boolean(Y);return z.cachedStatsigGates?.[q]??!1}async function yh1(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(hi6)await hi6;let z=w8(),Y=z.cachedStatsigGates?.[q];if(Y!==void 0)return Boolean(Y);let O=z.cachedGrowthBookFeatures?.[q];if(O!==void 0)return Boolean(O);return!1}async function Ay(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(w8().cachedGrowthBookFeatures?.[q]===!0){if(y$6.has(q))Si6(q);else cT6.add(q);return!0}return stq(q,!1,!0)}function E$6(){if(!lr())return;try{Ci6(),lT6.emit(),hi6=nr().catch((q)=>{return j6(U1(q)),null}).finally(()=>{hi6=null})}catch(q){j6(U1(q))}}function Ci6(){if(Eh1(),Ei6)process.off("beforeExit",Ei6),Ei6=null;if(Li6)process.off("exit",Li6),Li6=null;cr?.destroy(),cr=null,Nh1=!1,hi6=null,y$6.clear(),cT6.clear(),Th1.clear(),$b.clear(),Vh1.cache?.clear?.(),nr.cache?.clear?.(),ntq=null,kh1=!1}function ED_(){return 21600000}async function ttq(){if(!lr())return;try{let q=await nr();if(!q)return;if(await q.refreshFeatures({skipCache:!0}),q!==cr)return;let K=await itq(q);if(q!==cr)return;if(K)rtq(),lT6.emit()}catch(q){j6(U1(q))}}function etq(){if(!lr())return;if(N$6)clearInterval(N$6);if(N$6=setInterval(()=>{ttq()},ED_()),N$6.unref?.(),!dT6)dT6=()=>{Eh1()},process.once("beforeExit",dT6)}function Eh1(){if(N$6)clearInterval(N$6),N$6=null;if(dT6)process.removeListener("beforeExit",dT6),dT6=null}async function jb(q,K){return Tv8(q,K)}function Tv(q,K){return C8(q,K)}var cr=null,Ei6=null,Li6=null,Nh1=!1,y$6,$b,cT6,Th1,hi6=null,lT6,ntq=null,kh1=!1,Vh1,nr,N$6=null,dT6=null;var r1=L(()=>{KS7();Zf6();T8();h1();_8();L8();rZ();S8();n8();z$6();dr();y$6=new Map,$b=new Map,cT6=new Set,Th1=new Set,lT6=m9();Vh1=Y1(()=>{if(!lr())return null;let q=atq(),K=YS7(),_="https://api.anthropic.com/",Y=OA()||SW6()||U7()?Uj():{headers:{},error:"trust not established"},O=!Y.error;Nh1=O;let A=new iw8({apiHost:_,clientKey:K,attributes:q,remoteEval:!0,cacheKeyAttributes:["id","organizationUUID"],...!Y.error&&{apiHostRequestHeaders:Y.headers},...!1});if(cr=A,!O)return{client:A,initialized:Promise.resolve()};let $=A.init({timeout:5000}).then(async(w)=>{if(cr!==A)return;let j=await itq(A);if(cr!==A)return;if(j){for(let H of cT6)Si6(H);cT6.clear(),rtq(),lT6.emit()}}).catch((w)=>{});return Ei6=()=>cr?.destroy(),Li6=()=>cr?.destroy(),process.on("beforeExit",Ei6),process.on("exit",Li6),{client:A,initialized:$}}),nr=Y1(async()=>{let q=Vh1();if(!q)return null;if(!Nh1){if(OA()||SW6()||U7()){if(!Uj().error){if(Ci6(),q=Vh1(),!q)return null}}}return await q.initialized,etq(),q.client})});import{homedir as LD_}from"os";import{isAbsolute as hD_,join as kv8,normalize as Lh1,sep as Keq}from"path";function _9(){if(kg())return!1;let q=process.env.CLAUDE_CODE_DISABLE_AUTO_MEMORY;if(p6(q))return!1;if(B9(q))return!0;if(p6(process.env.CLAUDE_CODE_SIMPLE))return!1;if(p6(process.env.CLAUDE_CODE_REMOTE)&&!process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR)return!1;let K=f7();if(K.autoMemoryEnabled!==void 0)return K.autoMemoryEnabled;return!0}function Vv8(){if(!C8("tengu_passport_quail",!1))return!1;return!U7()||C8("tengu_slate_thimble",!1)}function c76(){if(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR)return process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR;return $7()}function CD_(){return kv()?SD_:RD_}function kv(){return C8("tengu_billiard_aviary",!1)}function _eq(q,K){if(!q)return;let _=q;if(K&&(_.startsWith("~/")||_.startsWith("~\\"))){let Y=_.slice(2),O=Lh1(Y||".");if(O==="."||O==="..")return;_=kv8(LD_(),Y)}let z=Lh1(_).replace(/[/\\]+$/,"");if(!hD_(z)||z.length<3||/^[A-Za-z]:$/.test(z)||z.startsWith("\\\\")||z.startsWith("//")||z.includes("\x00"))return;return(z+Keq).normalize("NFC")}function zeq(){return _eq(process.env.CLAUDE_COWORK_MEMORY_PATH_OVERRIDE,!1)}function xD_(){let q=y1("policySettings")?.autoMemoryDirectory??y1("flagSettings")?.autoMemoryDirectory??y1("localSettings")?.autoMemoryDirectory??y1("userSettings")?.autoMemoryDirectory;return _eq(q,!0)}function Nv8(){return zeq()!==void 0}function ID_(){return Rj(az())??az()}function yv8(){return kv8(Qj(),bD_)}function vh(q){return Lh1(q).startsWith(Qj())}var RD_="memory",SD_="tiny_memory",bD_="MEMORY.md",Qj;var pA=L(()=>{I4();T8();r1();p8();tK();b_();o1();Qj=Y1(()=>{let q=zeq()??xD_();if(q)return q;let K=kv8(c76(),"projects");return(kv8(K,uX(ID_()),CD_())+Keq).normalize("NFC")},()=>`${az()}|${kv()}`)});var Ev8,Lv8,Yeq;var hh1=L(()=>{Ev8=["auto","iterm2","iterm2_with_bell","terminal_bell","kitty","ghostty","notifications_disabled"],Lv8=["normal","vim"],Yeq=["auto","tmux","in-process"]});var n76={};Z8(n76,{shouldSkipPluginAutoupdate:()=>rT6,saveGlobalConfig:()=>x8,saveCurrentProjectConfig:()=>xw,resetTrustDialogAcceptedCacheForTesting:()=>gD_,recordFirstStartTime:()=>ph1,isProjectConfigKey:()=>QD_,isPathTrusted:()=>UD_,isGlobalConfigKey:()=>BD_,isAutoUpdaterDisabled:()=>xU,getUserClaudeRulesDir:()=>mv8,getRemoteControlAtStartup:()=>bU,getProjectPathForConfig:()=>Iv8,getOrCreateUserID:()=>eC,getMemoryPath:()=>S$6,getManagedClaudeRulesDir:()=>uv8,getGlobalConfigWriteCount:()=>dD_,getGlobalConfig:()=>w8,getCustomApiKeyStatus:()=>Ii6,getCurrentProjectConfig:()=>bw,getAutoUpdaterDisabledReason:()=>R$6,formatAutoUpdaterDisabledReason:()=>ui6,enableConfigs:()=>h$6,checkHasTrustDialogAccepted:()=>OA,_wouldLoseAuthStateForTesting:()=>oD_,_setGlobalConfigCacheForTesting:()=>aD_,_getConfigForTesting:()=>rD_,PROJECT_CONFIG_KEYS:()=>weq,NOTIFICATION_CHANNELS:()=>Ev8,GLOBAL_CONFIG_KEYS:()=>$eq,EDITOR_MODES:()=>Lv8,DEFAULT_GLOBAL_CONFIG:()=>bv8,CONFIG_WRITE_DISPLAY_THRESHOLD:()=>cD_});import{randomBytes as uD_}from"crypto";import{unwatchFile as mD_,watchFile as pD_}from"fs";import{basename as xh1,dirname as Ih1,join as Th,resolve as Rv8}from"path";function ir(){return{numStartups:0,installMethod:void 0,autoUpdates:void 0,theme:"dark",preferredNotifChannel:"auto",verbose:!1,editorMode:"normal",autoCompactEnabled:!0,showTurnDuration:!0,hasSeenTasksHint:!1,hasUsedStash:!1,hasUsedBackgroundTask:!1,queuedCommandUpHintCount:0,diffTool:"auto",customApiKeyResponses:{approved:[],rejected:[]},env:{},tipsHistory:{},memoryUsageCount:0,promptQueueUseCount:0,btwUseCount:0,todoFeatureEnabled:!0,showExpandedTodos:!1,messageIdleNotifThresholdMs:60000,autoConnectIde:!1,autoInstallIdeExtension:!0,fileCheckpointingEnabled:!0,terminalProgressBarEnabled:!0,cachedStatsigGates:{},cachedDynamicConfigs:{},cachedGrowthBookFeatures:{},respectGitignore:!0,copyFullResponse:!1}}function BD_(q){return $eq.includes(q)}function gD_(){jeq=!1}function OA(){return jeq||=FD_()}function FD_(){if(p6(process.env.CLAUDE_CODE_SANDBOXED))return!0;if(SW6())return!0;if(C16())return!0;let q=w8(),K=Iv8();if(q.projects?.[K]?.hasTrustDialogAccepted)return!0;let z=ez6(G8());while(!0){if(q.projects?.[z]?.hasTrustDialogAccepted)return!0;let O=ez6(Rv8(z,".."));if(O===z)break;z=O}return!1}function UD_(q){let K=w8(),_=ez6(Rv8(q));while(!0){if(K.projects?.[_]?.hasTrustDialogAccepted)return!0;let z=ez6(Rv8(_,".."));if(z===_)return!1;_=z}}function QD_(q){return weq.includes(q)}function xv8(q){let K=CU.config;if(!K)return!1;let _=K.oauthAccount!==void 0&&q.oauthAccount===void 0,z=K.hasCompletedOnboarding===!0&&q.hasCompletedOnboarding!==!0;return _||z}function x8(q){let K=null;try{if(Jeq(YW(),ir,(z)=>{let Y=q(z);if(Y===z)return z;return K=Sv8({...Y,projects:Oeq(z.projects)}),K})&&K)Cv8(K)}catch(_){N(`Failed to save config with lock: ${_}`,{level:"error"});let z=L$6(YW(),ir);if(xv8(z)){N("saveGlobalConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.",{level:"error"}),d("tengu_config_auth_loss_prevented",{});return}let Y=q(z);if(Y===z)return;K=Sv8({...Y,projects:Oeq(z.projects)}),Heq(YW(),K,bv8),Cv8(K)}}function dD_(){return uh1}function lD_(){let q=bi6+hv8;if(q>0)d("tengu_config_cache_stats",{cache_hits:bi6,cache_misses:hv8,hit_rate:bi6/q});bi6=0,hv8=0}function Ch1(q){if(q.installMethod!==void 0)return q;let K=q,_="unknown",z=q.autoUpdates??!0;switch(K.autoUpdaterStatus){case"migrated":_="local";break;case"installed":_="native";break;case"disabled":z=!1;break;case"enabled":case"no_permissions":case"not_configured":_="global";break;case void 0:break}return{...q,installMethod:_,autoUpdates:z}}function Sv8(q){let K=q;if(K.opus1mMergeNoticeSeenCount===void 0)return q;let{opus1mMergeNoticeSeenCount:_,...z}=K;return z}function Oeq(q){if(!q)return q;let K={},_=!1;for(let[z,Y]of Object.entries(q)){let O=Y;if(O.history!==void 0){_=!0;let{history:A,...$}=O;K[z]=$}else K[z]=Y}return _?K:q}function iD_(){if(Sh1)return;Sh1=!0;let q=YW();pD_(q,{interval:nD_,persistent:!1},(K)=>{if(K.mtimeMs<=CU.mtime)return;P8().readFile(q,{encoding:"utf-8"}).then((_)=>{if(K.mtimeMs<=CU.mtime)return;let z=I5(cg(_));if(z===null||typeof z!=="object")return;CU={config:Ch1({...ir(),...z}),mtime:K.mtimeMs},l76={mtime:K.mtimeMs,size:K.size}}).catch(()=>{})}),gq(async()=>{mD_(q),Sh1=!1})}function Cv8(q){CU={config:q,mtime:Date.now()},l76=null}function w8(){if(CU.config)return bi6++,CU.config;hv8++;try{let q=null;try{q=P8().statSync(YW())}catch{}let K=Ch1(L$6(YW(),ir));return CU={config:K,mtime:q?.mtimeMs??Date.now()},l76=q?{mtime:q.mtimeMs,size:q.size}:null,iD_(),K}catch{return Ch1(L$6(YW(),ir))}}function bU(){let q=w8().remoteControlAtStartup;if(q!==void 0)return q;return!1}function Ii6(q){let K=w8();if(K.customApiKeyResponses?.approved?.includes(q))return"approved";if(K.customApiKeyResponses?.rejected?.includes(q))return"rejected";return"new"}function Heq(q,K,_){let z=Ih1(q);P8().mkdirSync(z);let O=Fz6(K,(A,$)=>I6(A)!==I6(_[$]));if(pf6(q,I6(O,null,2),{encoding:"utf-8",mode:384}),q===YW())uh1++}function Jeq(q,K,_){let z=K(),Y=Ih1(q),O=P8();O.mkdirSync(Y);let A;try{let $=`${q}.lock`,w=Date.now();A=suq(q,{lockfilePath:$,onCompromised:(X)=>{N(`Config lock compromised: ${X}`,{level:"error"})}});let j=Date.now()-w;if(j>100)N("Lock acquisition took longer than expected - another Claude instance may be running"),d("tengu_config_lock_contention",{lock_time_ms:j});if(l76&&q===YW())try{let X=O.statSync(q);if(X.mtimeMs!==l76.mtime||X.size!==l76.size)d("tengu_config_stale_write",{read_mtime:l76.mtime,write_mtime:X.mtimeMs,read_size:l76.size,write_size:X.size})}catch(X){if(n1(X)!=="ENOENT")throw X}let H=L$6(q,K);if(q===YW()&&xv8(H))return N("saveConfigWithLock: re-read config is missing auth that cache has; refusing to write to avoid wiping ~/.claude.json. See GH #3117.",{level:"error"}),d("tengu_config_auth_loss_prevented",{}),!1;let J=_(H);if(J===H)return!1;let M=Fz6(J,(X,P)=>I6(X)!==I6(z[P]));try{let X=xh1(q),P=mh1();try{O.mkdirSync(P)}catch(V){if(n1(V)!=="EEXIST")throw V}let W=60000,D=O.readdirStringSync(P).filter((V)=>V.startsWith(`${X}.backup.`)).sort().reverse(),f=D[0],G=f?Number(f.split(".backup.").pop()):0,Z=Number.isNaN(G)||Date.now()-G>=W;if(Z){let V=Th(P,`${X}.backup.${Date.now()}`);O.copyFileSync(q,V)}let v=5,k=Z?O.readdirStringSync(P).filter((V)=>V.startsWith(`${X}.backup.`)).sort().reverse():D;for(let V of k.slice(v))try{O.unlinkSync(Th(P,V))}catch{}}catch(X){if(n1(X)!=="ENOENT")N(`Failed to backup config: ${X}`,{level:"error"})}if(pf6(q,I6(M,null,2),{encoding:"utf-8",mode:384}),q===YW())uh1++;return!0}finally{if(A)A()}}function h$6(){if(bh1)return;let q=Date.now();s8("info","enable_configs_started"),bh1=!0,L$6(YW(),ir,!0),s8("info","enable_configs_completed",{duration_ms:Date.now()-q})}function mh1(){return Th($7(),"backups")}function Aeq(q){let K=P8(),_=xh1(q),z=mh1();try{let A=K.readdirStringSync(z).filter(($)=>$.startsWith(`${_}.backup.`)).sort().at(-1);if(A)return Th(z,A)}catch{}let Y=Ih1(q);try{let A=K.readdirStringSync(Y).filter((w)=>w.startsWith(`${_}.backup.`)).sort().at(-1);if(A)return Th(Y,A);let $=`${q}.backup`;try{return K.statSync($),$}catch{}}catch{}return null}function L$6(q,K,_){if(!bh1)throw Error("Config accessed before allowed.");let z=P8();try{let Y=z.readFileSync(q,{encoding:"utf-8"});try{let O=U8(cg(Y));return{...K(),...O}}catch(O){let A=O instanceof Error?O.message:String(O);throw new gT(A,q,K())}}catch(Y){if(n1(Y)==="ENOENT"){let A=Aeq(q);if(A)process.stderr.write(` +`;await wD_(q,_,"utf8")}catch(_){j6(_)}}async deleteFile(q){try{await Itq(q)}catch{}}async retryPreviousBatches(){try{let q=`${mtq}${N8()}.`,K;try{K=(await jD_(Ni6())).filter((_)=>_.startsWith(q)&&_.endsWith(".json")).filter((_)=>!_.includes(utq))}catch(_){if(d3(_))return;throw _}for(let _ of K){let z=Zv8.join(Ni6(),_);this.retryFileInBackground(z)}}catch(q){j6(q)}}async retryFileInBackground(q){if(this.attempts>=this.maxAttempts){await this.deleteFile(q);return}let K=await this.loadEventsFromFile(q);if(K.length===0){await this.deleteFile(q);return}let _=await this.sendEventsInBatches(K);if(_.length===0)await this.deleteFile(q);else await this.saveEventsToFile(q,_)}async export(q,K){if(this.isShutdown){K({code:U76.ExportResultCode.FAILED,error:Error("Exporter has been shutdown")});return}let _=this.doExport(q,K);this.pendingExports.push(_),_.finally(()=>{let z=this.pendingExports.indexOf(_);if(z>-1)this.pendingExports.splice(z,1)})}async doExport(q,K){try{let _=q.filter((O)=>O.instrumentationScope?.name==="com.anthropic.claude_code.events");if(_.length===0){K({code:U76.ExportResultCode.SUCCESS});return}let z=this.transformLogsToEvents(_).events;if(z.length===0){K({code:U76.ExportResultCode.SUCCESS});return}if(this.attempts>=this.maxAttempts){K({code:U76.ExportResultCode.FAILED,error:Error(`Dropped ${z.length} events: max attempts (${this.maxAttempts}) reached`)});return}let Y=await this.sendEventsInBatches(z);if(this.attempts++,Y.length>0){await this.queueFailedEvents(Y),this.scheduleBackoffRetry();let O=this.lastExportErrorContext?` (${this.lastExportErrorContext})`:"";K({code:U76.ExportResultCode.FAILED,error:Error(`Failed to export ${Y.length} events${O}`)});return}if(this.resetBackoff(),await this.getQueuedEventCount()>0&&!this.isRetrying)this.retryFailedEvents();K({code:U76.ExportResultCode.SUCCESS})}catch(_){j6(_),K({code:U76.ExportResultCode.FAILED,error:U1(_)})}}async sendEventsInBatches(q){let K=[];for(let Y=0;Y0)await C7(this.batchDelayMs)}if(_.length>0&&z)this.lastExportErrorContext=z;return _}async queueFailedEvents(q){let K=this.getCurrentBatchFilePath();await this.appendEventsToFile(K,q);let _=this.lastExportErrorContext?` (${this.lastExportErrorContext})`:"",z=`1P event logging: ${q.length} events failed to export${_}`;j6(Error(z))}scheduleBackoffRetry(){if(this.cancelBackoff||this.isRetrying||this.isShutdown)return;let q=Math.min(this.baseBackoffDelayMs*this.attempts*this.attempts,this.maxBackoffDelayMs);this.cancelBackoff=this.schedule(async()=>{this.cancelBackoff=null,await this.retryFailedEvents()},q)}async retryFailedEvents(){let q=this.getCurrentBatchFilePath();while(!this.isShutdown){let K=await this.loadEventsFromFile(q);if(K.length===0)break;if(this.attempts>=this.maxAttempts){await this.deleteFile(q),this.resetBackoff();return}this.isRetrying=!0,await this.deleteFile(q);let _=await this.sendEventsInBatches(K);if(this.attempts++,this.isRetrying=!1,_.length>0){await this.saveEventsToFile(q,_),this.scheduleBackoffRetry();return}this.resetBackoff()}}resetBackoff(){if(this.attempts=0,this.cancelBackoff)this.cancelBackoff(),this.cancelBackoff=null}async sendBatchWithRetry(q){if(this.isKilled())throw Error("firstParty sink killswitch active");let K={"Content-Type":"application/json","User-Agent":MO(),"x-service-name":"claude-code"},_=OA()||U7(),z=this.skipAuth||!_;if(!z&&p7()){let $=s7();if(!pD())z=!0;else if($&&iF($.expiresAt))z=!0}let Y=z?{headers:{},error:"trust not established or Oauth token expired"}:Uj(),O=!Y.error,A=O?{...K,...Y.headers}:K;try{let $=await A1.post(this.endpoint,q,{timeout:this.timeout,headers:A});this.logSuccess(q.events.length,O,$.data);return}catch($){if(O&&A1.isAxiosError($)&&$.response?.status===401){let w=await A1.post(this.endpoint,q,{timeout:this.timeout,headers:K});this.logSuccess(q.events.length,!1,w.data);return}throw $}}logSuccess(q,K,_){}hrTimeToDate(q){let[K,_]=q;return new Date(K*1000+_/1e6)}transformLogsToEvents(q){let K=[];for(let _ of q){let z=_.attributes||{};if(z.event_type==="GrowthbookExperimentEvent"){let P=this.hrTimeToDate(_.hrTime),W=z.account_uuid,D=z.organization_uuid;K.push({event_type:"GrowthbookExperimentEvent",event_data:$h1.toJSON({event_id:z.event_id,timestamp:P,experiment_id:z.experiment_id,variation_id:z.variation_id,environment:z.environment,user_attributes:z.user_attributes,experiment_metadata:z.experiment_metadata,device_id:z.device_id,session_id:z.session_id,auth:W||D?{account_uuid:W,organization_uuid:D}:void 0})});continue}let Y=z.event_name||_.body||"unknown",O=z.core_metadata,A=z.user_metadata,$=z.event_metadata||{};if(!O){K.push({event_type:"ClaudeCodeInternalEvent",event_data:Mv8.toJSON({event_id:z.event_id,event_name:Y,client_timestamp:this.hrTimeToDate(_.hrTime),session_id:N8(),additional_metadata:Buffer.from(I6({transform_error:"core_metadata attribute is missing"})).toString("base64")})});continue}let w=btq(O,A,$),{_PROTO_skill_name:j,_PROTO_plugin_name:H,_PROTO_marketplace_name:J,...M}=w.additional,X=MY8(M);K.push({event_type:"ClaudeCodeInternalEvent",event_data:Mv8.toJSON({event_id:z.event_id,event_name:Y,client_timestamp:this.hrTimeToDate(_.hrTime),device_id:z.user_id,email:A?.email,auth:w.auth,...w.core,env:w.env,process:w.process,skill_name:typeof j==="string"?j:void 0,plugin_name:typeof H==="string"?H:void 0,marketplace_name:typeof J==="string"?J:void 0,additional_metadata:Object.keys(X).length>0?Buffer.from(I6(X)).toString("base64"):void 0})})}return{events:K}}async shutdown(){this.isShutdown=!0,this.resetBackoff(),await this.forceFlush()}async forceFlush(){await Promise.all(this.pendingExports)}}function JD_(q){if(!A1.isAxiosError(q))return m6(q);let K=[],_=q.response?.headers?.["request-id"];if(_)K.push(`request-id=${_}`);if(q.response?.status)K.push(`status=${q.response.status}`);if(q.code)K.push(`code=${q.code}`);if(q.message)K.push(q.message);return K.join(", ")}var U76,utq,mtq="1p_failed_events.";var ptq=L(()=>{TK();T8();Gtq();vtq();W7();h1();_8();p8();L8();rZ();F$();S8();n8();mD();k8();i2();U76=Y6(Wz(),1),utq=$D_()});function QT6(q){return Tv(MD_,{})?.[q]===!0}var MD_="tengu_frond_boric";var Zh1=L(()=>{r1()});var ctq={};Z8(ctq,{shutdown1PEventLogging:()=>Qr,shouldSampleEvent:()=>Gh1,reinitialize1PEventLoggingIfConfigChanged:()=>vD_,logGrowthBookExperimentTo1P:()=>vh1,logEventTo1P:()=>yi6,is1PEventLoggingEnabled:()=>V$6,initialize1PEventLogging:()=>dtq,getEventSamplingConfig:()=>Ftq});import{randomUUID as gtq}from"crypto";function Ftq(){return Tv(XD_,{})}function Gh1(q){let _=Ftq()[q];if(!_)return null;let z=_.sample_rate;if(typeof z!=="number"||z<0||z>1)return null;if(z>=1)return null;if(z<=0)return 0;return Math.random()QT6("firstParty")});Q76=new Gv8.LoggerProvider({resource:$,processors:[new Gv8.BatchLogRecordProcessor(w,{scheduledDelayMillis:_,maxExportBatchSize:z,maxQueueSize:Y})]}),d76=Q76.getLogger("com.anthropic.claude_code.events",{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.96",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-04-08T03:13:25Z"}.VERSION)}async function vD_(){if(!V$6()||!Q76)return;let q=Utq();if(PM(q,Qtq))return;let K=Q76,_=d76;d76=null;try{await K.forceFlush()}catch{}Q76=null;try{dtq()}catch(z){Q76=K,d76=_,j6(z);return}K.shutdown().catch(()=>{})}var Btq,Gv8,vv8,XD_="tengu_event_sampling_config",PD_="tengu_1p_event_batch_config",d76=null,Q76=null,Qtq=null,fD_=1e4,ZD_=200,GD_=8192;var dr=L(()=>{Zf6();h1();_8();S8();RK();n8();tI();z$6();B76();ptq();r1();i2();Zh1();Btq=Y6(pT6(),1),Gv8=Y6(zh1(),1),vv8=Y6(X$6(),1)});var qeq={};Z8(qeq,{stopPeriodicGrowthBookRefresh:()=>Eh1,setupPeriodicGrowthBookRefresh:()=>etq,setGrowthBookConfigOverride:()=>ND_,resetGrowthBook:()=>Ci6,refreshGrowthBookFeatures:()=>ttq,refreshGrowthBookAfterAuthChange:()=>E$6,onGrowthBookRefresh:()=>Ri6,initializeGrowthBook:()=>nr,hasGrowthBookEnvOverride:()=>TD_,getGrowthBookConfigOverrides:()=>VD_,getFeatureValue_DEPRECATED:()=>Tv8,getFeatureValue_CACHED_WITH_REFRESH:()=>wb,getFeatureValue_CACHED_MAY_BE_STALE:()=>C8,getDynamicConfig_CACHED_MAY_BE_STALE:()=>Tv,getDynamicConfig_BLOCKS_ON_INIT:()=>jb,getApiBaseUrlHost:()=>otq,getAllGrowthBookFeatures:()=>kD_,clearGrowthBookConfigOverrides:()=>yD_,checkStatsigFeatureGate_CACHED_MAY_BE_STALE:()=>JO,checkSecurityRestrictionGate:()=>yh1,checkGate_CACHED_OR_BLOCKING:()=>Ay});function ltq(q){try{Promise.resolve(q()).catch((K)=>{j6(K)})}catch(K){j6(K)}}function Ri6(q){let K=!0,_=lT6.subscribe(()=>ltq(q));if($b.size>0)queueMicrotask(()=>{if(K&&$b.size>0)ltq(q)});return()=>{K=!1,_()}}function nT6(){if(!kh1)kh1=!0;return ntq}function TD_(q){let K=nT6();return K!==null&&q in K}function iT6(){return}function kD_(){if($b.size>0)return Object.fromEntries($b);return w8().cachedGrowthBookFeatures??{}}function VD_(){return iT6()??{}}function ND_(q,K){return}function yD_(){return}function Si6(q){if(Th1.has(q))return;let K=y$6.get(q);if(K)Th1.add(q),vh1({experimentId:K.experimentId,variationId:K.variationId,userAttributes:atq(),experimentMetadata:{feature_id:q}})}async function itq(q){let K=q.getPayload();if(!K?.features||Object.keys(K.features).length===0)return!1;y$6.clear();let _={};for(let[z,Y]of Object.entries(K.features)){let O=Y;if("value"in O&&!("defaultValue"in O))_[z]={...O,defaultValue:O.value};else _[z]=O;if(O.source==="experiment"&&O.experimentResult){let{experimentResult:A,experiment:$}=O;if($?.key&&A.variationId!==void 0)y$6.set(z,{experimentId:$.key,variationId:A.variationId})}}await q.setPayload({...K,features:_}),$b.clear();for(let[z,Y]of Object.entries(_)){let O="value"in Y?Y.value:Y.defaultValue;if(O!==void 0)$b.set(z,O)}return!0}function rtq(){let q=Object.fromEntries($b),K=w8();if(PM(K.cachedGrowthBookFeatures,q))return;x8((_)=>({..._,cachedGrowthBookFeatures:q}))}function lr(){return V$6()}function otq(){let q=process.env.ANTHROPIC_BASE_URL;if(!q)return;try{let K=new URL(q).host;if(K==="api.anthropic.com")return;return K}catch{return}}function atq(){let q=Emq(),K=q.email,_=otq();return{id:q.deviceId,sessionId:q.sessionId,deviceID:q.deviceId,platform:q.platform,..._&&{apiBaseUrlHost:_},...q.organizationUuid&&{organizationUUID:q.organizationUuid},...q.accountUuid&&{accountUUID:q.accountUuid},...q.userType&&{userType:q.userType},...q.subscriptionType&&{subscriptionType:q.subscriptionType},...q.rateLimitTier&&{rateLimitTier:q.rateLimitTier},...q.firstTokenTime&&{firstTokenTime:q.firstTokenTime},...K&&{email:K},...q.appVersion&&{appVersion:q.appVersion},...q.githubActionsMetadata&&{githubActionsMetadata:q.githubActionsMetadata}}}async function stq(q,K,_){let z=nT6();if(z&&q in z)return z[q];let Y=iT6();if(Y&&q in Y)return Y[q];if(!lr())return K;let O=await nr();if(!O)return K;let A;if($b.has(q))A=$b.get(q);else A=O.getFeatureValue(q,K);if(_)Si6(q);return A}async function Tv8(q,K){return stq(q,K,!0)}function C8(q,K){let _=nT6();if(_&&q in _)return _[q];let z=iT6();if(z&&q in z)return z[q];if(!lr())return K;if(y$6.has(q))Si6(q);else cT6.add(q);if($b.has(q))return $b.get(q);try{let Y=w8().cachedGrowthBookFeatures?.[q];return Y!==void 0?Y:K}catch{return K}}function wb(q,K,_){return C8(q,K)}function JO(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(y$6.has(q))Si6(q);else cT6.add(q);let z=w8(),Y=z.cachedGrowthBookFeatures?.[q];if(Y!==void 0)return Boolean(Y);return z.cachedStatsigGates?.[q]??!1}async function yh1(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(hi6)await hi6;let z=w8(),Y=z.cachedStatsigGates?.[q];if(Y!==void 0)return Boolean(Y);let O=z.cachedGrowthBookFeatures?.[q];if(O!==void 0)return Boolean(O);return!1}async function Ay(q){let K=nT6();if(K&&q in K)return Boolean(K[q]);let _=iT6();if(_&&q in _)return Boolean(_[q]);if(!lr())return!1;if(w8().cachedGrowthBookFeatures?.[q]===!0){if(y$6.has(q))Si6(q);else cT6.add(q);return!0}return stq(q,!1,!0)}function E$6(){if(!lr())return;try{Ci6(),lT6.emit(),hi6=nr().catch((q)=>{return j6(U1(q)),null}).finally(()=>{hi6=null})}catch(q){j6(U1(q))}}function Ci6(){if(Eh1(),Ei6)process.off("beforeExit",Ei6),Ei6=null;if(Li6)process.off("exit",Li6),Li6=null;cr?.destroy(),cr=null,Nh1=!1,hi6=null,y$6.clear(),cT6.clear(),Th1.clear(),$b.clear(),Vh1.cache?.clear?.(),nr.cache?.clear?.(),ntq=null,kh1=!1}function ED_(){return 21600000}async function ttq(){if(!lr())return;try{let q=await nr();if(!q)return;if(await q.refreshFeatures({skipCache:!0}),q!==cr)return;let K=await itq(q);if(q!==cr)return;if(K)rtq(),lT6.emit()}catch(q){j6(U1(q))}}function etq(){if(!lr())return;if(N$6)clearInterval(N$6);if(N$6=setInterval(()=>{ttq()},ED_()),N$6.unref?.(),!dT6)dT6=()=>{Eh1()},process.once("beforeExit",dT6)}function Eh1(){if(N$6)clearInterval(N$6),N$6=null;if(dT6)process.removeListener("beforeExit",dT6),dT6=null}async function jb(q,K){return Tv8(q,K)}function Tv(q,K){return C8(q,K)}var cr=null,Ei6=null,Li6=null,Nh1=!1,y$6,$b,cT6,Th1,hi6=null,lT6,ntq=null,kh1=!1,Vh1,nr,N$6=null,dT6=null;var r1=L(()=>{KS7();Zf6();T8();h1();_8();L8();rZ();S8();n8();z$6();dr();y$6=new Map,$b=new Map,cT6=new Set,Th1=new Set,lT6=m9();Vh1=Y1(()=>{if(!lr())return null;let q=atq(),K=YS7(),_="https://api.anthropic.com/",Y=OA()||SW6()||U7()?Uj():{headers:{},error:"trust not established"},O=!Y.error;Nh1=O;let A=new iw8({apiHost:_,clientKey:K,attributes:q,remoteEval:!0,cacheKeyAttributes:["id","organizationUUID"],...!Y.error&&{apiHostRequestHeaders:Y.headers},...!1});if(cr=A,!O)return{client:A,initialized:Promise.resolve()};let $=A.init({timeout:5000}).then(async(w)=>{if(cr!==A)return;let j=await itq(A);if(cr!==A)return;if(j){for(let H of cT6)Si6(H);cT6.clear(),rtq(),lT6.emit()}}).catch((w)=>{});return Ei6=()=>cr?.destroy(),Li6=()=>cr?.destroy(),process.on("beforeExit",Ei6),process.on("exit",Li6),{client:A,initialized:$}}),nr=Y1(async()=>{let q=Vh1();if(!q)return null;if(!Nh1){if(OA()||SW6()||U7()){if(!Uj().error){if(Ci6(),q=Vh1(),!q)return null}}}return await q.initialized,etq(),q.client})});import{homedir as LD_}from"os";import{isAbsolute as hD_,join as kv8,normalize as Lh1,sep as Keq}from"path";function _9(){if(kg())return!1;let q=process.env.CLAUDE_CODE_DISABLE_AUTO_MEMORY;if(p6(q))return!1;if(B9(q))return!0;if(p6(process.env.CLAUDE_CODE_SIMPLE))return!1;if(p6(process.env.CLAUDE_CODE_REMOTE)&&!process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR)return!1;let K=f7();if(K.autoMemoryEnabled!==void 0)return K.autoMemoryEnabled;return!0}function Vv8(){if(!C8("tengu_passport_quail",!1))return!1;return!U7()||C8("tengu_slate_thimble",!1)}function c76(){if(process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR)return process.env.CLAUDE_CODE_REMOTE_MEMORY_DIR;return $7()}function CD_(){return kv()?SD_:RD_}function kv(){return C8("tengu_billiard_aviary",!1)}function _eq(q,K){if(!q)return;let _=q;if(K&&(_.startsWith("~/")||_.startsWith("~\\"))){let Y=_.slice(2),O=Lh1(Y||".");if(O==="."||O==="..")return;_=kv8(LD_(),Y)}let z=Lh1(_).replace(/[/\\]+$/,"");if(!hD_(z)||z.length<3||/^[A-Za-z]:$/.test(z)||z.startsWith("\\\\")||z.startsWith("//")||z.includes("\x00"))return;return(z+Keq).normalize("NFC")}function zeq(){return _eq(process.env.CLAUDE_COWORK_MEMORY_PATH_OVERRIDE,!1)}function xD_(){let q=y1("policySettings")?.autoMemoryDirectory??y1("flagSettings")?.autoMemoryDirectory??y1("localSettings")?.autoMemoryDirectory??y1("userSettings")?.autoMemoryDirectory;return _eq(q,!0)}function Nv8(){return zeq()!==void 0}function ID_(){return Rj(az())??az()}function yv8(){return kv8(Qj(),bD_)}function vh(q){return Lh1(q).startsWith(Qj())}var RD_="memory",SD_="tiny_memory",bD_="MEMORY.md",Qj;var pA=L(()=>{I4();T8();r1();p8();tK();b_();o1();Qj=Y1(()=>{let q=zeq()??xD_();if(q)return q;let K=kv8(c76(),"projects");return(kv8(K,uX(ID_()),CD_())+Keq).normalize("NFC")},()=>`${az()}|${kv()}`)});var Ev8,Lv8,Yeq;var hh1=L(()=>{Ev8=["auto","iterm2","iterm2_with_bell","terminal_bell","kitty","ghostty","notifications_disabled"],Lv8=["normal","vim"],Yeq=["auto","tmux","in-process"]});var n76={};Z8(n76,{shouldSkipPluginAutoupdate:()=>rT6,saveGlobalConfig:()=>x8,saveCurrentProjectConfig:()=>xw,resetTrustDialogAcceptedCacheForTesting:()=>gD_,recordFirstStartTime:()=>ph1,isProjectConfigKey:()=>QD_,isPathTrusted:()=>UD_,isGlobalConfigKey:()=>BD_,isAutoUpdaterDisabled:()=>xU,getUserClaudeRulesDir:()=>mv8,getRemoteControlAtStartup:()=>bU,getProjectPathForConfig:()=>Iv8,getOrCreateUserID:()=>eC,getMemoryPath:()=>S$6,getManagedClaudeRulesDir:()=>uv8,getGlobalConfigWriteCount:()=>dD_,getGlobalConfig:()=>w8,getCustomApiKeyStatus:()=>Ii6,getCurrentProjectConfig:()=>bw,getAutoUpdaterDisabledReason:()=>R$6,formatAutoUpdaterDisabledReason:()=>ui6,enableConfigs:()=>h$6,checkHasTrustDialogAccepted:()=>OA,_wouldLoseAuthStateForTesting:()=>oD_,_setGlobalConfigCacheForTesting:()=>aD_,_getConfigForTesting:()=>rD_,PROJECT_CONFIG_KEYS:()=>weq,NOTIFICATION_CHANNELS:()=>Ev8,GLOBAL_CONFIG_KEYS:()=>$eq,EDITOR_MODES:()=>Lv8,DEFAULT_GLOBAL_CONFIG:()=>bv8,CONFIG_WRITE_DISPLAY_THRESHOLD:()=>cD_});import{randomBytes as uD_}from"crypto";import{unwatchFile as mD_,watchFile as pD_}from"fs";import{basename as xh1,dirname as Ih1,join as Th,resolve as Rv8}from"path";function ir(){return{numStartups:0,installMethod:void 0,autoUpdates:void 0,theme:"dark",preferredNotifChannel:"auto",verbose:!1,editorMode:"normal",autoCompactEnabled:!0,showTurnDuration:!0,hasSeenTasksHint:!1,hasUsedStash:!1,hasUsedBackgroundTask:!1,queuedCommandUpHintCount:0,diffTool:"auto",customApiKeyResponses:{approved:[],rejected:[]},env:{},tipsHistory:{},memoryUsageCount:0,promptQueueUseCount:0,btwUseCount:0,todoFeatureEnabled:!0,showExpandedTodos:!1,messageIdleNotifThresholdMs:60000,autoConnectIde:!1,autoInstallIdeExtension:!0,fileCheckpointingEnabled:!0,terminalProgressBarEnabled:!0,cachedStatsigGates:{},cachedDynamicConfigs:{},cachedGrowthBookFeatures:{},respectGitignore:!0,copyFullResponse:!1}}function BD_(q){return $eq.includes(q)}function gD_(){jeq=!1}function OA(){return jeq||=FD_()}function FD_(A){return!0}function UD_(q){let K=w8(),_=ez6(Rv8(q));while(!0){if(K.projects?.[_]?.hasTrustDialogAccepted)return!0;let z=ez6(Rv8(_,".."));if(z===_)return!1;_=z}}function QD_(q){return weq.includes(q)}function xv8(q){let K=CU.config;if(!K)return!1;let _=K.oauthAccount!==void 0&&q.oauthAccount===void 0,z=K.hasCompletedOnboarding===!0&&q.hasCompletedOnboarding!==!0;return _||z}function x8(q){let K=null;try{if(Jeq(YW(),ir,(z)=>{let Y=q(z);if(Y===z)return z;return K=Sv8({...Y,projects:Oeq(z.projects)}),K})&&K)Cv8(K)}catch(_){N(`Failed to save config with lock: ${_}`,{level:"error"});let z=L$6(YW(),ir);if(xv8(z)){N("saveGlobalConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.",{level:"error"}),d("tengu_config_auth_loss_prevented",{});return}let Y=q(z);if(Y===z)return;K=Sv8({...Y,projects:Oeq(z.projects)}),Heq(YW(),K,bv8),Cv8(K)}}function dD_(){return uh1}function lD_(){let q=bi6+hv8;if(q>0)d("tengu_config_cache_stats",{cache_hits:bi6,cache_misses:hv8,hit_rate:bi6/q});bi6=0,hv8=0}function Ch1(q){if(q.installMethod!==void 0)return q;let K=q,_="unknown",z=q.autoUpdates??!0;switch(K.autoUpdaterStatus){case"migrated":_="local";break;case"installed":_="native";break;case"disabled":z=!1;break;case"enabled":case"no_permissions":case"not_configured":_="global";break;case void 0:break}return{...q,installMethod:_,autoUpdates:z}}function Sv8(q){let K=q;if(K.opus1mMergeNoticeSeenCount===void 0)return q;let{opus1mMergeNoticeSeenCount:_,...z}=K;return z}function Oeq(q){if(!q)return q;let K={},_=!1;for(let[z,Y]of Object.entries(q)){let O=Y;if(O.history!==void 0){_=!0;let{history:A,...$}=O;K[z]=$}else K[z]=Y}return _?K:q}function iD_(){if(Sh1)return;Sh1=!0;let q=YW();pD_(q,{interval:nD_,persistent:!1},(K)=>{if(K.mtimeMs<=CU.mtime)return;P8().readFile(q,{encoding:"utf-8"}).then((_)=>{if(K.mtimeMs<=CU.mtime)return;let z=I5(cg(_));if(z===null||typeof z!=="object")return;CU={config:Ch1({...ir(),...z}),mtime:K.mtimeMs},l76={mtime:K.mtimeMs,size:K.size}}).catch(()=>{})}),gq(async()=>{mD_(q),Sh1=!1})}function Cv8(q){CU={config:q,mtime:Date.now()},l76=null}function w8(){if(CU.config)return bi6++,CU.config;hv8++;try{let q=null;try{q=P8().statSync(YW())}catch{}let K=Ch1(L$6(YW(),ir));return CU={config:K,mtime:q?.mtimeMs??Date.now()},l76=q?{mtime:q.mtimeMs,size:q.size}:null,iD_(),K}catch{return Ch1(L$6(YW(),ir))}}function bU(){let q=w8().remoteControlAtStartup;if(q!==void 0)return q;return!1}function Ii6(q){let K=w8();if(K.customApiKeyResponses?.approved?.includes(q))return"approved";if(K.customApiKeyResponses?.rejected?.includes(q))return"rejected";return"new"}function Heq(q,K,_){let z=Ih1(q);P8().mkdirSync(z);let O=Fz6(K,(A,$)=>I6(A)!==I6(_[$]));if(pf6(q,I6(O,null,2),{encoding:"utf-8",mode:384}),q===YW())uh1++}function Jeq(q,K,_){let z=K(),Y=Ih1(q),O=P8();O.mkdirSync(Y);let A;try{let $=`${q}.lock`,w=Date.now();A=suq(q,{lockfilePath:$,onCompromised:(X)=>{N(`Config lock compromised: ${X}`,{level:"error"})}});let j=Date.now()-w;if(j>100)N("Lock acquisition took longer than expected - another Claude instance may be running"),d("tengu_config_lock_contention",{lock_time_ms:j});if(l76&&q===YW())try{let X=O.statSync(q);if(X.mtimeMs!==l76.mtime||X.size!==l76.size)d("tengu_config_stale_write",{read_mtime:l76.mtime,write_mtime:X.mtimeMs,read_size:l76.size,write_size:X.size})}catch(X){if(n1(X)!=="ENOENT")throw X}let H=L$6(q,K);if(q===YW()&&xv8(H))return N("saveConfigWithLock: re-read config is missing auth that cache has; refusing to write to avoid wiping ~/.claude.json. See GH #3117.",{level:"error"}),d("tengu_config_auth_loss_prevented",{}),!1;let J=_(H);if(J===H)return!1;let M=Fz6(J,(X,P)=>I6(X)!==I6(z[P]));try{let X=xh1(q),P=mh1();try{O.mkdirSync(P)}catch(V){if(n1(V)!=="EEXIST")throw V}let W=60000,D=O.readdirStringSync(P).filter((V)=>V.startsWith(`${X}.backup.`)).sort().reverse(),f=D[0],G=f?Number(f.split(".backup.").pop()):0,Z=Number.isNaN(G)||Date.now()-G>=W;if(Z){let V=Th(P,`${X}.backup.${Date.now()}`);O.copyFileSync(q,V)}let v=5,k=Z?O.readdirStringSync(P).filter((V)=>V.startsWith(`${X}.backup.`)).sort().reverse():D;for(let V of k.slice(v))try{O.unlinkSync(Th(P,V))}catch{}}catch(X){if(n1(X)!=="ENOENT")N(`Failed to backup config: ${X}`,{level:"error"})}if(pf6(q,I6(M,null,2),{encoding:"utf-8",mode:384}),q===YW())uh1++;return!0}finally{if(A)A()}}function h$6(){if(bh1)return;let q=Date.now();s8("info","enable_configs_started"),bh1=!0,L$6(YW(),ir,!0),s8("info","enable_configs_completed",{duration_ms:Date.now()-q})}function mh1(){return Th($7(),"backups")}function Aeq(q){let K=P8(),_=xh1(q),z=mh1();try{let A=K.readdirStringSync(z).filter(($)=>$.startsWith(`${_}.backup.`)).sort().at(-1);if(A)return Th(z,A)}catch{}let Y=Ih1(q);try{let A=K.readdirStringSync(Y).filter((w)=>w.startsWith(`${_}.backup.`)).sort().at(-1);if(A)return Th(Y,A);let $=`${q}.backup`;try{return K.statSync($),$}catch{}}catch{}return null}function L$6(q,K,_){if(!bh1)throw Error("Config accessed before allowed.");let z=P8();try{let Y=z.readFileSync(q,{encoding:"utf-8"});try{let O=U8(cg(Y));return{...K(),...O}}catch(O){let A=O instanceof Error?O.message:String(O);throw new gT(A,q,K())}}catch(Y){if(n1(Y)==="ENOENT"){let A=Aeq(q);if(A)process.stderr.write(` Claude configuration file not found at: ${q} A backup file exists at: ${A} You can manually restore it by running: cp "${A}" "${q}" @@ -3422,7 +3422,7 @@ If called outside an EnterWorktree session, the tool is a **no-op**: it reports - If a tmux session was attached to the worktree: killed on \`remove\`, left running on \`keep\` (its name is returned so the user can reattach) - Once exited, EnterWorktree can be called again to create a fresh worktree `}function FDK(){return"Exiting worktree…"}function UDK(q,K,_){let z=q.action==="keep"?"Kept worktree":"Removed worktree";return yE.createElement(u,{flexDirection:"column"},yE.createElement(T,null,z,q.worktreeBranch?yE.createElement(yE.Fragment,null," ","(branch ",yE.createElement(T,{bold:!0},q.worktreeBranch),")"):null),yE.createElement(T,{dimColor:!0},"Returned to ",q.originalCwd))}var yE;var QDK=L(()=>{c6();yE=Y6(Z6(),1)});async function dDK(q,K){let _=await t8("git",["-C",q,"status","--porcelain"]);if(_.code!==0)return null;let z=X7(_.stdout.split(` -`),(A)=>A.trim()!=="");if(!K)return null;let Y=await t8("git",["-C",q,"rev-list","--count",`${K}..HEAD`]);if(Y.code!==0)return null;let O=parseInt(Y.stdout.trim(),10)||0;return{changedFiles:z,commits:O}}function cDK(q,K){if(ww(q),MS(q),K)yu6(q),CR6();NE(null),ss(),Ly(),nO.cache.clear?.()}var iOY,rOY,lDK;var nDK=L(()=>{u7();T8();_C6();k8();z4();pM();OK();HJ6();wJ();PV();qK();Uf();QDK();iOY=x6(()=>h.strictObject({action:h.enum(["keep","remove"]).describe('"keep" leaves the worktree and branch on disk; "remove" deletes both.'),discard_changes:h.boolean().optional().describe('Required true when action is "remove" and the worktree has uncommitted files or unmerged commits. The tool will refuse and list them otherwise.')})),rOY=x6(()=>h.object({action:h.enum(["keep","remove"]),originalCwd:h.string(),worktreePath:h.string(),worktreeBranch:h.string().optional(),tmuxSessionName:h.string().optional(),discardedFiles:h.number().optional(),discardedCommits:h.number().optional(),message:h.string()}));lDK=_4({name:LR8,searchHint:"exit a worktree session and return to the original directory",maxResultSizeChars:1e5,async description(){return"Exits a worktree session created by EnterWorktree and restores the original working directory"},async prompt(){return gDK()},get inputSchema(){return iOY()},get outputSchema(){return rOY()},userFacingName(){return"Exiting worktree"},shouldDefer:!0,isDestructive(q){return q.action==="remove"},toAutoClassifierInput(q){return q.action},async validateInput(q){let K=Wj();if(!K)return{result:!1,message:"No-op: there is no active EnterWorktree session to exit. This tool only operates on worktrees created by EnterWorktree in the current session — it will not touch worktrees created manually or in a previous session. No filesystem changes were made.",errorCode:1};if(q.action==="remove"&&!q.discard_changes){let _=await dDK(K.worktreePath,K.originalHeadCommit);if(_===null)return{result:!1,message:`Could not verify worktree state at ${K.worktreePath}. Refusing to remove without explicit confirmation. Re-invoke with discard_changes: true to proceed — or use action: "keep" to preserve the worktree.`,errorCode:3};let{changedFiles:z,commits:Y}=_;if(z>0||Y>0){let O=[];if(z>0)O.push(`${z} uncommitted ${z===1?"file":"files"}`);if(Y>0)O.push(`${Y} ${Y===1?"commit":"commits"} on ${K.worktreeBranch??"the worktree branch"}`);return{result:!1,message:`Worktree has ${O.join(" and ")}. Removing will discard this work permanently. Confirm with the user, then re-invoke with discard_changes: true — or use action: "keep" to preserve the worktree.`,errorCode:2}}}return{result:!0}},renderToolUseMessage:FDK,renderToolResultMessage:UDK,async call(q){let K=Wj();if(!K)throw Error("Not in a worktree session");let{originalCwd:_,worktreePath:z,worktreeBranch:Y,tmuxSessionName:O,originalHeadCommit:A}=K,$=az()===A7(),{changedFiles:w,commits:j}=await dDK(z,A)??{changedFiles:0,commits:0};if(q.action==="keep"){await OC6(),cDK(_,$),d("tengu_worktree_kept",{mid_session:!0,commits:j,changed_files:w});let M=O?` Tmux session ${O} is still running; reattach with: tmux attach -t ${O}`:"";return{data:{action:"keep",originalCwd:_,worktreePath:z,worktreeBranch:Y,tmuxSessionName:O,message:`Exited worktree. Your work is preserved at ${z}${Y?` on branch ${Y}`:""}. Session is now back in ${_}.${M}`}}}if(O)await YC6(O);await AC6(),cDK(_,$),d("tengu_worktree_removed",{mid_session:!0,commits:j,changed_files:w});let H=[];if(j>0)H.push(`${j} ${j===1?"commit":"commits"}`);if(w>0)H.push(`${w} uncommitted ${w===1?"file":"files"}`);let J=H.length>0?` Discarded ${H.join(" and ")}.`:"";return{data:{action:"remove",originalCwd:_,worktreePath:z,worktreeBranch:Y,discardedFiles:w,discardedCommits:j,message:`Exited and removed worktree at ${z}.${J} Session is now back in ${_}.`}}},mapToolResultToToolResultBlockParam({message:q},K){return{type:"tool_result",content:q,tool_use_id:K}}})});var iDK="Config";function YU8(q=!1){if(p7())return{value:null,label:"Default (recommended)",description:pG6(q)};let K=!M2();return{value:null,label:"Default (recommended)",description:`Use the default model (currently ${cd6(QN())})${K?"":` · ${CC(qU)}`}`}}function oOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;if(q&&K){let _=Xk(K);return{value:"sonnet",label:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??`Custom Sonnet model${_?" (1M context)":""}`,descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??`Custom Sonnet model${_?" with 1M context":""}`} (${K})`}}}function aOY(){let q=!M2();return{value:q?U2().sonnet46:"sonnet",label:"Sonnet",description:`Sonnet 4.6 · Best for everyday tasks${q?"":` · ${CC(qU)}`}`,descriptionForModel:"Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"}}function sOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;if(q&&K){let _=Xk(K);return{value:"opus",label:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??`Custom Opus model${_?" (1M context)":""}`,descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??`Custom Opus model${_?" with 1M context":""}`} (${K})`}}}function tOY(){return{value:"opus",label:"Opus 4.1",description:"Opus 4.1 · Legacy",descriptionForModel:"Opus 4.1 - legacy version"}}function rDK(q=!1){return{value:!M2()?U2().opus46:"opus",label:"Opus",description:`Opus 4.6 · Most capable for complex work${li(q)}`,descriptionForModel:"Opus 4.6 - most capable for complex work"}}function oDK(){let q=!M2();return{value:q?U2().sonnet46+"[1m]":"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 for long sessions${q?"":` · ${CC(qU)}`}`,descriptionForModel:"Sonnet 4.6 with 1M context window - for long sessions with large codebases"}}function aDK(q=!1){return{value:!M2()?U2().opus46+"[1m]":"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 for long sessions${li(q)}`,descriptionForModel:"Opus 4.6 with 1M context window - for long sessions with large codebases"}}function eOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;if(q&&K)return{value:"haiku",label:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model",descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model"} (${K})`}}function qfK(){return{value:"haiku",label:"Haiku",description:`Haiku 4.5 · Fastest for quick answers${!M2()?"":` · ${CC(VZ1)}`}`,descriptionForModel:"Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."}}function qAY(){return{value:"haiku",label:"Haiku",description:`Haiku 3.5 for simple tasks${!M2()?"":` · ${CC(kZ1)}`}`,descriptionForModel:"Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."}}function KAY(){return mG6()===U2().haiku45?qfK():qAY()}function Lq7(){if(MK()==="pro"&&C8("tengu_gypsum_kite",!1))return" · ~2× usage vs Sonnet";return""}function KfK(q=!1){return{value:"opus",label:"Opus",description:`Opus 4.6 · Most capable for complex work${Lq7()}${q?li(!0):""}`}}function sDK(){let q=!M2();return{value:"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 with 1M context${p7()?" · Billed as extra usage":""}${q?"":` · ${CC(qU)}`}`}}function tDK(q=!1){let K=p7()?" · Billed as extra usage":"";return{value:"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 with 1M context${Lq7()}${K}${li(q)}`}}function Eq7(q=!1){let K=!M2();return{value:K?U2().opus46+"[1m]":"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 with 1M context · Most capable for complex work${Lq7()}${!K&&q?li(q):""}`,descriptionForModel:"Opus 4.6 with 1M context - most capable for complex work"}}function zAY(){return{value:"opusplan",label:"Opus Plan Mode",description:"Use Opus 4.6 in plan mode, Sonnet 4.6 otherwise"}}function YAY(q=!1){if(p7()){if(Yh()||S16()){let A=[YU8(q)];if(!nX()&&pa())A.push(tDK(q));if(A.push(_AY),Ba())A.push(sDK());return A.push(eDK),A}let O=[YU8(q)];if(Ba())O.push(sDK());if(nX())O.push(Eq7(q));else if(O.push(KfK(q)),pa())O.push(tDK(q));return O.push(eDK),O}if(M2()){let O=[YU8(q)];if(Ba())O.push(oDK());if(nX())O.push(Eq7(q));else if(O.push(rDK(q)),pa())O.push(aDK(q));return O.push(qfK()),O}let K=[YU8(q)],_=oOY();if(_!==void 0)K.push(_);else if(K.push(aOY()),Ba())K.push(oDK());let z=sOY();if(z!==void 0)K.push(z);else if(K.push(tOY()),K.push(rDK(q)),pa())K.push(aDK(q));let Y=eOY();if(Y!==void 0)K.push(Y);else K.push(KAY());return K}function OAY(q){let K=yz(q);if(K.includes("claude-sonnet-4-6")||K.includes("claude-sonnet-4-5")||K.includes("claude-sonnet-4-")||K.includes("claude-3-7-sonnet")||K.includes("claude-3-5-sonnet")){let _=lN(Hv());if(_)return{alias:"Sonnet",currentVersionName:_}}if(K.includes("claude-opus-4")){let _=lN(dN());if(_)return{alias:"Opus",currentVersionName:_}}if(K.includes("claude-haiku")||K.includes("claude-3-5-haiku")){let _=lN(mG6());if(_)return{alias:"Haiku",currentVersionName:_}}return null}function AAY(q){let K=lN(q);if(!K)return null;let _=OAY(q);if(!_)return{value:q,label:K,description:q};if(K!==_.currentVersionName)return{value:q,label:K,description:`Newer version available · select ${_.alias} for ${_.currentVersionName}`};return{value:q,label:K,description:q}}function T36(q=!1){let K=YAY(q),_=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;if(_&&!K.some(($)=>$.value===_))K.push({value:_,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??_,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Custom model (${_})`});for(let $ of w8().additionalModelOptionsCache??[])if(!K.some((w)=>w.value===$.value))K.push($);let{availableModels:z}=T7()??{};if(z)for(let $ of z){let w=$.trim();if(!w.startsWith("anthropic.")||K.some((j)=>j.value===w))continue;K.push({value:w,label:w,description:"Custom model"})}let Y=null,O=bC(),A=VW6();if(O!==void 0&&O!==null)Y=O;else if(A!==null)Y=A;if(Y===null||K.some(($)=>$.value===Y))return W48(K);else if(Y==="opusplan")return W48([...K,zAY()]);else if(Y==="opus"&&M2())return W48([...K,KfK(q)]);else if(Y==="opus[1m]"&&M2())return W48([...K,Eq7(q)]);else{let $=AAY(Y);if($)K.push($);else K.push({value:Y,label:Y,description:"Custom model"});return W48(K)}}function W48(A){if(process.env.CLAUDE_CUSTOM_MODELS)return A;return A}var _AY,eDK;var D48=L(()=>{T8();r1();W7();cF();di();o1();Ab8();$_();dd6();Uq();UD();h1();_AY={value:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"},eDK={value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"}});var hq7={};Z8(hq7,{isVoiceModeEnabled:()=>UJ6,isVoiceGrowthBookEnabled:()=>k36,hasVoiceAuth:()=>OU8});function k36(){return!C8("tengu_amber_quartz_disabled",!1)}function OU8(){if(!FJ())return!1;let q=s7();return Boolean(q?.accessToken)}function UJ6(){return OU8()&&k36()}var V36=L(()=>{r1();W7()});async function $C6(q){let K=q.trim();if(!K)return{valid:!1,error:"Model name cannot be empty"};if(!L16(K))return{valid:!1,error:`Model '${K}' is not in the list of available models`};let _=K.toLowerCase();if(yO6.includes(_))return{valid:!0};if(K===process.env.ANTHROPIC_CUSTOM_MODEL_OPTION)return{valid:!0};if(_fK.has(K))return{valid:!0};try{return await nv({model:K,max_tokens:1,maxRetries:0,querySource:"model_validation",messages:[{role:"user",content:[{type:"text",text:"Hi",cache_control:{type:"ephemeral"}}]}]}),_fK.set(K,!0),{valid:!0}}catch(z){return $AY(z,K)}}function $AY(q,K){if(q instanceof d_6){let z=wAY(K),Y=z?`. Try '${z}' instead`:"";return{valid:!1,error:`Model '${K}' not found${Y}`}}if(q instanceof rq){if(q instanceof Q_6)return{valid:!1,error:"Authentication failed. Please check your API credentials."};if(q instanceof XZ)return{valid:!1,error:"Network error. Please check your internet connection."};let z=q.error;if(z&&typeof z==="object"&&"type"in z&&z.type==="not_found_error"&&"message"in z&&typeof z.message==="string"&&z.message.includes("model:"))return{valid:!1,error:`Model '${K}' not found`};return{valid:!1,error:`API error: ${q.message}`}}return{valid:!1,error:`Unable to validate model: ${q instanceof Error?q.message:String(q)}`}}function wAY(q){if(M2())return;let K=q.toLowerCase();if(K.includes("opus-4-6")||K.includes("opus_4_6"))return U2().opus41;if(K.includes("sonnet-4-6")||K.includes("sonnet_4_6"))return U2().sonnet45;if(K.includes("sonnet-4-5")||K.includes("sonnet_4_5"))return U2().sonnet40;return}var _fK;var AU8=L(()=>{bG6();dd6();$_();ba();BT();cF();_fK=new Map});function zfK(q){return q in wC6}function YfK(q){return wC6[q]}function $U8(q){let K=wC6[q];if(!K)return;if(K.options)return[...K.options];if(K.getOptions)return K.getOptions();return}function OfK(q){return wC6[q]?.path??q.split(".")}var wC6;var Rq7=L(()=>{h1();hh1();D48();AU8();Bm();wC6={theme:{source:"global",type:"string",description:"Color theme for the UI",options:BC1},editorMode:{source:"global",type:"string",description:"Key binding mode",options:Lv8},verbose:{source:"global",type:"boolean",description:"Show detailed debug output",appStateKey:"verbose"},preferredNotifChannel:{source:"global",type:"string",description:"Preferred notification channel",options:Ev8},autoCompactEnabled:{source:"global",type:"boolean",description:"Auto-compact when context is full"},autoMemoryEnabled:{source:"settings",type:"boolean",description:"Enable auto-memory"},autoDreamEnabled:{source:"settings",type:"boolean",description:"Enable background memory consolidation"},fileCheckpointingEnabled:{source:"global",type:"boolean",description:"Enable file checkpointing for code rewind"},showTurnDuration:{source:"global",type:"boolean",description:'Show turn duration message after responses (e.g., "Cooked for 1m 6s")'},terminalProgressBarEnabled:{source:"global",type:"boolean",description:"Show OSC 9;4 progress indicator in supported terminals"},todoFeatureEnabled:{source:"global",type:"boolean",description:"Enable todo/task tracking"},model:{source:"settings",type:"string",description:"Override the default model",appStateKey:"mainLoopModel",getOptions:()=>{try{return T36().filter((q)=>q.value!==null).map((q)=>q.value)}catch{return["sonnet","opus","haiku"]}},validateOnWrite:(q)=>$C6(String(q)),formatOnRead:(q)=>q===null?"default":q},alwaysThinkingEnabled:{source:"settings",type:"boolean",description:"Enable extended thinking (false to disable)",appStateKey:"thinkingEnabled"},"permissions.defaultMode":{source:"settings",type:"string",description:"Default permission mode for tool usage",options:["default","plan","acceptEdits","dontAsk","auto"]},language:{source:"settings",type:"string",description:'Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")'},teammateMode:{source:"global",type:"string",description:'How to spawn teammates: "tmux" for traditional tmux, "in-process" for same process, "auto" to choose automatically',options:Yeq},...{},...{voiceEnabled:{source:"settings",type:"boolean",description:"Enable voice dictation (hold-to-talk)"}},...{remoteControlAtStartup:{source:"global",type:"boolean",description:"Enable Remote Control for all sessions (true | false | default)",formatOnRead:()=>bU()}},...{}}});function $fK(){let q=[],K=[];for(let[z,Y]of Object.entries(wC6)){if(z==="model")continue;if(z==="voiceEnabled"&&!k36())continue;let O=$U8(z),A=`- ${z}`;if(O)A+=`: ${O.map(($)=>`"${$}"`).join(", ")}`;else if(Y.type==="boolean")A+=": true/false";if(A+=` - ${Y.description}`,Y.source==="global")q.push(A);else K.push(A)}let _=jAY();return`Get or set Claude Code configuration settings. +`),(A)=>A.trim()!=="");if(!K)return null;let Y=await t8("git",["-C",q,"rev-list","--count",`${K}..HEAD`]);if(Y.code!==0)return null;let O=parseInt(Y.stdout.trim(),10)||0;return{changedFiles:z,commits:O}}function cDK(q,K){if(ww(q),MS(q),K)yu6(q),CR6();NE(null),ss(),Ly(),nO.cache.clear?.()}var iOY,rOY,lDK;var nDK=L(()=>{u7();T8();_C6();k8();z4();pM();OK();HJ6();wJ();PV();qK();Uf();QDK();iOY=x6(()=>h.strictObject({action:h.enum(["keep","remove"]).describe('"keep" leaves the worktree and branch on disk; "remove" deletes both.'),discard_changes:h.boolean().optional().describe('Required true when action is "remove" and the worktree has uncommitted files or unmerged commits. The tool will refuse and list them otherwise.')})),rOY=x6(()=>h.object({action:h.enum(["keep","remove"]),originalCwd:h.string(),worktreePath:h.string(),worktreeBranch:h.string().optional(),tmuxSessionName:h.string().optional(),discardedFiles:h.number().optional(),discardedCommits:h.number().optional(),message:h.string()}));lDK=_4({name:LR8,searchHint:"exit a worktree session and return to the original directory",maxResultSizeChars:1e5,async description(){return"Exits a worktree session created by EnterWorktree and restores the original working directory"},async prompt(){return gDK()},get inputSchema(){return iOY()},get outputSchema(){return rOY()},userFacingName(){return"Exiting worktree"},shouldDefer:!0,isDestructive(q){return q.action==="remove"},toAutoClassifierInput(q){return q.action},async validateInput(q){let K=Wj();if(!K)return{result:!1,message:"No-op: there is no active EnterWorktree session to exit. This tool only operates on worktrees created by EnterWorktree in the current session — it will not touch worktrees created manually or in a previous session. No filesystem changes were made.",errorCode:1};if(q.action==="remove"&&!q.discard_changes){let _=await dDK(K.worktreePath,K.originalHeadCommit);if(_===null)return{result:!1,message:`Could not verify worktree state at ${K.worktreePath}. Refusing to remove without explicit confirmation. Re-invoke with discard_changes: true to proceed — or use action: "keep" to preserve the worktree.`,errorCode:3};let{changedFiles:z,commits:Y}=_;if(z>0||Y>0){let O=[];if(z>0)O.push(`${z} uncommitted ${z===1?"file":"files"}`);if(Y>0)O.push(`${Y} ${Y===1?"commit":"commits"} on ${K.worktreeBranch??"the worktree branch"}`);return{result:!1,message:`Worktree has ${O.join(" and ")}. Removing will discard this work permanently. Confirm with the user, then re-invoke with discard_changes: true — or use action: "keep" to preserve the worktree.`,errorCode:2}}}return{result:!0}},renderToolUseMessage:FDK,renderToolResultMessage:UDK,async call(q){let K=Wj();if(!K)throw Error("Not in a worktree session");let{originalCwd:_,worktreePath:z,worktreeBranch:Y,tmuxSessionName:O,originalHeadCommit:A}=K,$=az()===A7(),{changedFiles:w,commits:j}=await dDK(z,A)??{changedFiles:0,commits:0};if(q.action==="keep"){await OC6(),cDK(_,$),d("tengu_worktree_kept",{mid_session:!0,commits:j,changed_files:w});let M=O?` Tmux session ${O} is still running; reattach with: tmux attach -t ${O}`:"";return{data:{action:"keep",originalCwd:_,worktreePath:z,worktreeBranch:Y,tmuxSessionName:O,message:`Exited worktree. Your work is preserved at ${z}${Y?` on branch ${Y}`:""}. Session is now back in ${_}.${M}`}}}if(O)await YC6(O);await AC6(),cDK(_,$),d("tengu_worktree_removed",{mid_session:!0,commits:j,changed_files:w});let H=[];if(j>0)H.push(`${j} ${j===1?"commit":"commits"}`);if(w>0)H.push(`${w} uncommitted ${w===1?"file":"files"}`);let J=H.length>0?` Discarded ${H.join(" and ")}.`:"";return{data:{action:"remove",originalCwd:_,worktreePath:z,worktreeBranch:Y,discardedFiles:w,discardedCommits:j,message:`Exited and removed worktree at ${z}.${J} Session is now back in ${_}.`}}},mapToolResultToToolResultBlockParam({message:q},K){return{type:"tool_result",content:q,tool_use_id:K}}})});var iDK="Config";function YU8(q=!1){if(p7())return{value:null,label:"Default (recommended)",description:pG6(q)};let K=!M2();return{value:null,label:"Default (recommended)",description:`Use the default model (currently ${cd6(QN())})${K?"":` · ${CC(qU)}`}`}}function oOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;if(q&&K){let _=Xk(K);return{value:"sonnet",label:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??`Custom Sonnet model${_?" (1M context)":""}`,descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION??`Custom Sonnet model${_?" with 1M context":""}`} (${K})`}}}function aOY(){let q=!M2();return{value:q?U2().sonnet46:"sonnet",label:"Sonnet",description:`Sonnet 4.6 · Best for everyday tasks${q?"":` · ${CC(qU)}`}`,descriptionForModel:"Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"}}function sOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;if(q&&K){let _=Xk(K);return{value:"opus",label:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??`Custom Opus model${_?" (1M context)":""}`,descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION??`Custom Opus model${_?" with 1M context":""}`} (${K})`}}}function tOY(){return{value:"opus",label:"Opus 4.1",description:"Opus 4.1 · Legacy",descriptionForModel:"Opus 4.1 - legacy version"}}function rDK(q=!1){return{value:!M2()?U2().opus46:"opus",label:"Opus",description:`Opus 4.6 · Most capable for complex work${li(q)}`,descriptionForModel:"Opus 4.6 - most capable for complex work"}}function oDK(){let q=!M2();return{value:q?U2().sonnet46+"[1m]":"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 for long sessions${q?"":` · ${CC(qU)}`}`,descriptionForModel:"Sonnet 4.6 with 1M context window - for long sessions with large codebases"}}function aDK(q=!1){return{value:!M2()?U2().opus46+"[1m]":"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 for long sessions${li(q)}`,descriptionForModel:"Opus 4.6 with 1M context window - for long sessions with large codebases"}}function eOY(){let q=!M2(),K=process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;if(q&&K)return{value:"haiku",label:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME??K,description:process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model",descriptionForModel:`${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION??"Custom Haiku model"} (${K})`}}function qfK(){return{value:"haiku",label:"Haiku",description:`Haiku 4.5 · Fastest for quick answers${!M2()?"":` · ${CC(VZ1)}`}`,descriptionForModel:"Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."}}function qAY(){return{value:"haiku",label:"Haiku",description:`Haiku 3.5 for simple tasks${!M2()?"":` · ${CC(kZ1)}`}`,descriptionForModel:"Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."}}function KAY(){return mG6()===U2().haiku45?qfK():qAY()}function Lq7(){if(MK()==="pro"&&C8("tengu_gypsum_kite",!1))return" · ~2× usage vs Sonnet";return""}function KfK(q=!1){return{value:"opus",label:"Opus",description:`Opus 4.6 · Most capable for complex work${Lq7()}${q?li(!0):""}`}}function sDK(){let q=!M2();return{value:"sonnet[1m]",label:"Sonnet (1M context)",description:`Sonnet 4.6 with 1M context${p7()?" · Billed as extra usage":""}${q?"":` · ${CC(qU)}`}`}}function tDK(q=!1){let K=p7()?" · Billed as extra usage":"";return{value:"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 with 1M context${Lq7()}${K}${li(q)}`}}function Eq7(q=!1){let K=!M2();return{value:K?U2().opus46+"[1m]":"opus[1m]",label:"Opus (1M context)",description:`Opus 4.6 with 1M context · Most capable for complex work${Lq7()}${!K&&q?li(q):""}`,descriptionForModel:"Opus 4.6 with 1M context - most capable for complex work"}}function zAY(){return{value:"opusplan",label:"Opus Plan Mode",description:"Use Opus 4.6 in plan mode, Sonnet 4.6 otherwise"}}function YAY(q=!1){if(p7()){if(Yh()||S16()){let A=[YU8(q)];if(!nX()&&pa())A.push(tDK(q));if(A.push(_AY),Ba())A.push(sDK());return A.push(eDK),A}let O=[YU8(q)];if(Ba())O.push(sDK());if(nX())O.push(Eq7(q));else if(O.push(KfK(q)),pa())O.push(tDK(q));return O.push(eDK),O}if(M2()){let O=[YU8(q)];if(Ba())O.push(oDK());if(nX())O.push(Eq7(q));else if(O.push(rDK(q)),pa())O.push(aDK(q));return O.push(qfK()),O}let K=[YU8(q)],_=oOY();if(_!==void 0)K.push(_);else if(K.push(aOY()),Ba())K.push(oDK());let z=sOY();if(z!==void 0)K.push(z);else if(K.push(tOY()),K.push(rDK(q)),pa())K.push(aDK(q));let Y=eOY();if(Y!==void 0)K.push(Y);else K.push(KAY());return K}function OAY(q){let K=yz(q);if(K.includes("claude-sonnet-4-6")||K.includes("claude-sonnet-4-5")||K.includes("claude-sonnet-4-")||K.includes("claude-3-7-sonnet")||K.includes("claude-3-5-sonnet")){let _=lN(Hv());if(_)return{alias:"Sonnet",currentVersionName:_}}if(K.includes("claude-opus-4")){let _=lN(dN());if(_)return{alias:"Opus",currentVersionName:_}}if(K.includes("claude-haiku")||K.includes("claude-3-5-haiku")){let _=lN(mG6());if(_)return{alias:"Haiku",currentVersionName:_}}return null}function AAY(q){let K=lN(q);if(!K)return null;let _=OAY(q);if(!_)return{value:q,label:K,description:q};if(K!==_.currentVersionName)return{value:q,label:K,description:`Newer version available · select ${_.alias} for ${_.currentVersionName}`};return{value:q,label:K,description:q}}function T36(q=!1){let K=YAY(q),_=process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;if(_&&!K.some(($)=>$.value===_))K.push({value:_,label:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME??_,description:process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION??`Custom model (${_})`});for(let $ of w8().additionalModelOptionsCache??[])if(!K.some((w)=>w.value===$.value))K.push($);let{availableModels:z}=T7()??{};if(z)for(let $ of z){let w=$.trim();if(!w.startsWith("anthropic.")||K.some((j)=>j.value===w))continue;K.push({value:w,label:w,description:"Custom model"})}let Y=null,O=bC(),A=VW6();if(O!==void 0&&O!==null)Y=O;else if(A!==null)Y=A;var _cm=process.env.CLAUDE_CUSTOM_MODELS||"";if(_cm){var _vs=new Set(K.map(function(_w){return String(_w.value)}));_cm.split(",").forEach(function(_w){_w=_w.trim();if(_w&&!_vs.has(_w)){K.push({value:_w,label:_w,description:"Custom model"});_vs.add(_w)}})}if(Y===null||K.some(($)=>$.value===Y))return W48(K);else if(Y==="opusplan")return W48([...K,zAY()]);else if(Y==="opus"&&M2())return W48([...K,KfK(q)]);else if(Y==="opus[1m]"&&M2())return W48([...K,Eq7(q)]);else{let $=AAY(Y);if($)K.push($);else K.push({value:Y,label:Y,description:"Custom model"});return W48(K)}}function W48(A){if(process.env.CLAUDE_CUSTOM_MODELS)return A;return A}var _AY,eDK;var D48=L(()=>{T8();r1();W7();cF();di();o1();Ab8();$_();dd6();Uq();UD();h1();_AY={value:"sonnet",label:"Sonnet",description:"Sonnet 4.6 · Best for everyday tasks"},eDK={value:"haiku",label:"Haiku",description:"Haiku 4.5 · Fastest for quick answers"}});var hq7={};Z8(hq7,{isVoiceModeEnabled:()=>UJ6,isVoiceGrowthBookEnabled:()=>k36,hasVoiceAuth:()=>OU8});function k36(){return!C8("tengu_amber_quartz_disabled",!1)}function OU8(){if(!FJ())return!1;let q=s7();return Boolean(q?.accessToken)}function UJ6(){return OU8()&&k36()}var V36=L(()=>{r1();W7()});async function $C6(q){let K=q.trim();if(!K)return{valid:!1,error:"Model name cannot be empty"};if(!L16(K))return{valid:!1,error:`Model '${K}' is not in the list of available models`};let _=K.toLowerCase();if(yO6.includes(_))return{valid:!0};if(K===process.env.ANTHROPIC_CUSTOM_MODEL_OPTION)return{valid:!0};if(_fK.has(K))return{valid:!0};try{return await nv({model:K,max_tokens:1,maxRetries:0,querySource:"model_validation",messages:[{role:"user",content:[{type:"text",text:"Hi",cache_control:{type:"ephemeral"}}]}]}),_fK.set(K,!0),{valid:!0}}catch(z){return $AY(z,K)}}function $AY(q,K){if(q instanceof d_6){let z=wAY(K),Y=z?`. Try '${z}' instead`:"";return{valid:!1,error:`Model '${K}' not found${Y}`}}if(q instanceof rq){if(q instanceof Q_6)return{valid:!1,error:"Authentication failed. Please check your API credentials."};if(q instanceof XZ)return{valid:!1,error:"Network error. Please check your internet connection."};let z=q.error;if(z&&typeof z==="object"&&"type"in z&&z.type==="not_found_error"&&"message"in z&&typeof z.message==="string"&&z.message.includes("model:"))return{valid:!1,error:`Model '${K}' not found`};return{valid:!1,error:`API error: ${q.message}`}}return{valid:!1,error:`Unable to validate model: ${q instanceof Error?q.message:String(q)}`}}function wAY(q){if(M2())return;let K=q.toLowerCase();if(K.includes("opus-4-6")||K.includes("opus_4_6"))return U2().opus41;if(K.includes("sonnet-4-6")||K.includes("sonnet_4_6"))return U2().sonnet45;if(K.includes("sonnet-4-5")||K.includes("sonnet_4_5"))return U2().sonnet40;return}var _fK;var AU8=L(()=>{bG6();dd6();$_();ba();BT();cF();_fK=new Map});function zfK(q){return q in wC6}function YfK(q){return wC6[q]}function $U8(q){let K=wC6[q];if(!K)return;if(K.options)return[...K.options];if(K.getOptions)return K.getOptions();return}function OfK(q){return wC6[q]?.path??q.split(".")}var wC6;var Rq7=L(()=>{h1();hh1();D48();AU8();Bm();wC6={theme:{source:"global",type:"string",description:"Color theme for the UI",options:BC1},editorMode:{source:"global",type:"string",description:"Key binding mode",options:Lv8},verbose:{source:"global",type:"boolean",description:"Show detailed debug output",appStateKey:"verbose"},preferredNotifChannel:{source:"global",type:"string",description:"Preferred notification channel",options:Ev8},autoCompactEnabled:{source:"global",type:"boolean",description:"Auto-compact when context is full"},autoMemoryEnabled:{source:"settings",type:"boolean",description:"Enable auto-memory"},autoDreamEnabled:{source:"settings",type:"boolean",description:"Enable background memory consolidation"},fileCheckpointingEnabled:{source:"global",type:"boolean",description:"Enable file checkpointing for code rewind"},showTurnDuration:{source:"global",type:"boolean",description:'Show turn duration message after responses (e.g., "Cooked for 1m 6s")'},terminalProgressBarEnabled:{source:"global",type:"boolean",description:"Show OSC 9;4 progress indicator in supported terminals"},todoFeatureEnabled:{source:"global",type:"boolean",description:"Enable todo/task tracking"},model:{source:"settings",type:"string",description:"Override the default model",appStateKey:"mainLoopModel",getOptions:()=>{try{return T36().filter((q)=>q.value!==null).map((q)=>q.value)}catch{return["sonnet","opus","haiku"]}},validateOnWrite:(q)=>$C6(String(q)),formatOnRead:(q)=>q===null?"default":q},alwaysThinkingEnabled:{source:"settings",type:"boolean",description:"Enable extended thinking (false to disable)",appStateKey:"thinkingEnabled"},"permissions.defaultMode":{source:"settings",type:"string",description:"Default permission mode for tool usage",options:["default","plan","acceptEdits","dontAsk","auto"]},language:{source:"settings",type:"string",description:'Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")'},teammateMode:{source:"global",type:"string",description:'How to spawn teammates: "tmux" for traditional tmux, "in-process" for same process, "auto" to choose automatically',options:Yeq},...{},...{voiceEnabled:{source:"settings",type:"boolean",description:"Enable voice dictation (hold-to-talk)"}},...{remoteControlAtStartup:{source:"global",type:"boolean",description:"Enable Remote Control for all sessions (true | false | default)",formatOnRead:()=>bU()}},...{}}});function $fK(){let q=[],K=[];for(let[z,Y]of Object.entries(wC6)){if(z==="model")continue;if(z==="voiceEnabled"&&!k36())continue;let O=$U8(z),A=`- ${z}`;if(O)A+=`: ${O.map(($)=>`"${$}"`).join(", ")}`;else if(Y.type==="boolean")A+=": true/false";if(A+=` - ${Y.description}`,Y.source==="global")q.push(A);else K.push(A)}let _=jAY();return`Get or set Claude Code configuration settings. View or change Claude Code settings. Use when the user requests configuration changes, asks about current settings, or when adjusting a setting would benefit them.