| 2100 | ${Y} |
| 2101 | `}}is4.PrometheusSerializer=ns4});var ss4=m((os4)=>{Object.defineProperty(os4,"__esModule",{value:!0});os4.PrometheusExporter=void 0;var Vt6=nK(),Ubz=Oz(),Zl1=z26(),Qbz=U6("http"),dbz=fl1(),cbz=U6("url");class yo extends Zl1.MetricReader{static DEFAULT_OPTIONS={host:void 0,port:9464,endpoint:"/metrics",prefix:"",appendTimestamp:!1,withResourceConstantLabels:void 0,withoutTargetInfo:!1};_host;_port;_baseUrl;_endpoint;_server;_prefix;_appendTimestamp;_serializer;_startServerPromise;constructor(q={},K=()=>{}){super({aggregationSelector:(Y)=>{return{type:Zl1.AggregationType.DEFAULT}},aggregationTemporalitySelector:(Y)=>Zl1.AggregationTemporality.CUMULATIVE,metricProducers:q.metricProducers});this._host=q.host||process.env.OTEL_EXPORTER_PROMETHEUS_HOST||yo.DEFAULT_OPTIONS.host,this._port=q.port||Number(process.env.OTEL_EXPORTER_PROMETHEUS_PORT)||yo.DEFAULT_OPTIONS.port,this._prefix=q.prefix||yo.DEFAULT_OPTIONS.prefix,this._appendTimestamp=typeof q.appendTimestamp==="boolean"?q.appendTimestamp:yo.DEFAULT_OPTIONS.appendTimestamp;let _=q.withResourceConstantLabels||yo.DEFAULT_OPTIONS.withResourceConstantLabels,z=q.withoutTargetInfo||yo.DEFAULT_OPTIONS.withoutTargetInfo;if(this._server=(0,Qbz.createServer)(this._requestHandler).unref(),this._serializer=new dbz.PrometheusSerializer(this._prefix,this._appendTimestamp,_,z),this._baseUrl=`http://${this._host}:${this._port}/`,this._endpoint=(q.endpoint||yo.DEFAULT_OPTIONS.endpoint).replace(/^([^/])/,"/$1"),q.preventServerStart!==!0)this.startServer().then(K,(Y)=>{Vt6.diag.error(Y),K(Y)});else if(K)queueMicrotask(K)}async onForceFlush(){}onShutdown(){return this.stopServer()}stopServer(){if(!this._server)return Vt6.diag.debug("Prometheus stopServer() was called but server was never started."),Promise.resolve();else return new Promise((q)=>{this._server.close((K)=>{if(!K)Vt6.diag.debug("Prometheus exporter was stopped");else if(K.code!=="ERR_SERVER_NOT_RUNNING")(0,Ubz.globalErrorHandler)(K);q()})})}startServer(){return this._startServerPromise??=new Promise((q,K)=>{this._server.once("error",K),this._server.listen({port:this._port,host:this._host},()=>{Vt6.diag.debug(`Prometheus exporter server started: ${this._host}:${this._port}/${this._endpoint}`),q()})}),this._startServerPromise}getMetricsRequestHandler(q,K){this._exportMetrics(K)}_requestHandler=(q,K)=>{if(q.url!=null&&new cbz.URL(q.url,this._baseUrl).pathname===this._endpoint)this._exportMetrics(K);else this._notFound(K)};_exportMetrics=(q)=>{q.statusCode=200,q.setHeader("content-type","text/plain"),this.collect().then((K)=>{let{resourceMetrics:_,errors:z}=K;if(z.length)Vt6.diag.error("PrometheusExporter: metrics collection errors",...z);q.end(this._serializer.serialize(_))},(K)=>{q.end(`# failed to export metrics: ${K}`)})};_notFound=(q)=>{q.statusCode=404,q.end()}}os4.PrometheusExporter=yo});var ts4=m((XS8)=>{Object.defineProperty(XS8,"__esModule",{value:!0});XS8.PrometheusSerializer=XS8.PrometheusExporter=void 0;var lbz=ss4();Object.defineProperty(XS8,"PrometheusExporter",{enumerable:!0,get:function(){return lbz.PrometheusExporter}});var nbz=fl1();Object.defineProperty(XS8,"PrometheusSerializer",{enumerable:!0,get:function(){return nbz.PrometheusSerializer}})});var zt4=m((Kt4)=>{Object.defineProperty(Kt4,"__esModule",{value:!0});Kt4.OTLPLogExporter=void 0;var es4=HS8(),rbz=tU(),obz=oU();class qt4 extends obz.OTLPExporterBase{constructor(q={}){super((0,es4.createOtlpGrpcExportDelegate)((0,es4.convertLegacyOtlpGrpcOptions)(q,"LOGS"),rbz.ProtobufLogsSerializer,"LogsExportService","/opentelemetry.proto.collector.logs.v1.LogsService/Export"))}}Kt4.OTLPLogExporter=qt4});var Yt4=m((Gl1)=>{Object.defineProperty(Gl1,"__esModule",{value:!0});Gl1.OTLPLogExporter=void 0;var abz=zt4();Object.defineProperty(Gl1,"OTLPLogExporter",{enumerable:!0,get:function(){return abz.OTLPLogExporter}})});var jt4=m((Ot4)=>{Object.defineProperty(Ot4,"__esModule",{value:!0});Ot4.OTLPLogExporter=void 0;var tbz=oU(),ebz=tU(),$t4=Po();class At4 extends tbz.OTLPExporterBase{constructor(q={}){super((0,$t4.createOtlpHttpExportDelegate)((0,$t4.convertLegacyHttpOptions)(q,"LOGS","v1/logs",{"Content-Type":"application/json"}),ebz.JsonLogsSerializer))}}Ot4.OTLPLogExporter=At4});var Ht4=m((Tl1)=>{Object.defineProperty(Tl1,"__esModule",{value:!0});Tl1.OTLPLogExporter=void 0;var qxz=jt4();Object.defineProperty(Tl1,"OTLPLogExporter",{enumerable:!0,get:function(){return qxz.OTLPLogExporter}})});var Jt4=m((vl1)=>{Object.defineProperty(vl1,"__esModule",{value:!0});vl1.OTLPLogExporter=void 0;var _xz=Ht4();Object.defineProperty(vl1,"OTLPLogExporter",{enumerable:!0,get:function(){return _xz.OTLPLogExporter}})});var Vl1=m((kl1)=>{Object.defineProperty(kl1,"__esModule",{value:!0});kl1.OTLPLogExporter=void 0;var Yxz=Jt4();Object.defineProperty(kl1,"OTLPLogExporter",{enumerable:!0,get:function(){return Yxz.OTLPLogExporter}})});var Dt4=m((Pt4)=>{Object.defineProperty(Pt4,"__esModule",{value:!0});Pt4.OTLPLogExporter=void 0;var Axz=oU(),Oxz=tU(),Mt4=Po();class Xt4 extends Axz.OTLPExporterBase{constructor(q={}){super((0,Mt4.createOtlpHttpExportDelegate)((0,Mt4.convertLegacyHttpOptions)(q,"LOGS","v1/logs",{"Content-Type":"application/x-protobuf"}),Oxz.ProtobufLogsSerializer))}}Pt4.OTLPLogExporter=Xt4});var ft4=m((Nl1)=>{Object.defineProperty(Nl1,"__esModule",{value:!0});Nl1.OTLPLogExporter=void 0;var wxz=Dt4();Object.defineProperty(Nl1,"OTLPLogExporter",{enumerable:!0,get:function(){return wxz.OTLPLogExporter}})});var Zt4=m((yl1)=>{Object.defineProperty(yl1,"__esModule",{value:!0});yl1.OTLPLogExporter=void 0;var Hxz=ft4();Object.defineProperty(yl1,"OTLPLogExporter",{enumerable:!0,get:function(){return Hxz.OTLPLogExporter}})});var Gt4=m((El1)=>{Object.defineProperty(El1,"__esModule",{value:!0});El1.OTLPLogExporter=void 0;var Mxz=Zt4();Object.defineProperty(El1,"OTLPLogExporter",{enumerable:!0,get:function(){return Mxz.OTLPLogExporter}})});var Nt4=m((kt4)=>{Object.defineProperty(kt4,"__esModule",{value:!0});kt4.OTLPTraceExporter=void 0;var Tt4=HS8(),Pxz=tU(),Wxz=oU();class vt4 extends Wxz.OTLPExporterBase{constructor(q={}){super((0,Tt4.createOtlpGrpcExportDelegate)((0,Tt4.convertLegacyOtlpGrpcOptions)(q,"TRACES"),Pxz.ProtobufTraceSerializer,"TraceExportService","/opentelemetry.proto.collector.trace.v1.TraceService/Export"))}}kt4.OTLPTraceExporter=vt4});var yt4=m((Ll1)=>{Object.defineProperty(Ll1,"__esModule",{value:!0});Ll1.OTLPTraceExporter=void 0;var Dxz=Nt4();Object.defineProperty(Ll1,"OTLPTraceExporter",{enumerable:!0,get:function(){return Dxz.OTLPTraceExporter}})});var St4=m((Rt4)=>{Object.defineProperty(Rt4,"__esModule",{value:!0});Rt4.OTLPTraceExporter=void 0;var Zxz=oU(),Gxz=tU(),Et4=Po();class Lt4 extends Zxz.OTLPExporterBase{constructor(q={}){super((0,Et4.createOtlpHttpExportDelegate)((0,Et4.convertLegacyHttpOptions)(q,"TRACES","v1/traces",{"Content-Type":"application/json"}),Gxz.JsonTraceSerializer))}}Rt4.OTLPTraceExporter=Lt4});var Ct4=m((Rl1)=>{Object.defineProperty(Rl1,"__esModule",{value:!0});Rl1.OTLPTraceExporter=void 0;var Txz=St4();Object.defineProperty(Rl1,"OTLPTraceExporter",{enumerable:!0,get:function(){return Txz.OTLPTraceExporter}})});var bt4=m((hl1)=>{Object.defineProperty(hl1,"__esModule",{value:!0});hl1.OTLPTraceExporter=void 0;var kxz=Ct4();Object.defineProperty(hl1,"OTLPTraceExporter",{enumerable:!0,get:function(){return kxz.OTLPTraceExporter}})});var Cl1=m((Sl1)=>{Object.defineProperty(Sl1,"__esModule",{value:!0});Sl1.OTLPTraceExporter=void 0;var Nxz=bt4();Object.defineProperty(Sl1,"OTLPTraceExporter",{enumerable:!0,get:function(){return Nxz.OTLPTraceExporter}})});var pt4=m((ut4)=>{Object.defineProperty(ut4,"__esModule",{value:!0});ut4.OTLPTraceExporter=void 0;var Exz=oU(),Lxz=tU(),xt4=Po();class It4 extends Exz.OTLPExporterBase{constructor(q={}){super((0,xt4.createOtlpHttpExportDelegate)((0,xt4.convertLegacyHttpOptions)(q,"TRACES","v1/traces",{"Content-Type":"application/x-protobuf"}),Lxz.ProtobufTraceSerializer))}}ut4.OTLPTraceExporter=It4});var Bt4=m((bl1)=>{Object.defineProperty(bl1,"__esModule",{value:!0});bl1.OTLPTraceExporter=void 0;var Rxz=pt4();Object.defineProperty(bl1,"OTLPTraceExporter",{enumerable:!0,get:function(){return Rxz.OTLPTraceExporter}})});var gt4=m((xl1)=>{Object.defineProperty(xl1,"__esModule",{value:!0});xl1.OTLPTraceExporter=void 0;var Sxz=Bt4();Object.defineProperty(xl1,"OTLPTraceExporter",{enumerable:!0,get:function(){return Sxz.OTLPTraceExporter}})});var Ft4=m((Il1)=>{Object.defineProperty(Il1,"__esModule",{value:!0});Il1.OTLPTraceExporter=void 0;var bxz=gt4();Object.defineProperty(Il1,"OTLPTraceExporter",{enumerable:!0,get:function(){return bxz.OTLPTraceExporter}})});var gl1={};T8(gl1,{parseExporterTypes:()=>PS8,isTelemetryEnabled:()=>ct4,initializeTelemetry:()=>Uxz,flushTelemetry:()=>Qxz,bootstrapTelemetry:()=>dt4});function ml1(q,K){return new Promise((_,z)=>{setTimeout((Y,$)=>Y(new pl1($)),q,z,K).unref()})}function dt4(){if(!process.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE)process.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE="delta"}function PS8(q){return(q||"").trim().split(",").filter(Boolean).map((K)=>K.trim()).filter((K)=>K!=="none")}async function uxz(){let q=PS8(process.env.OTEL_METRICS_EXPORTER),K=parseInt(process.env.OTEL_METRIC_EXPORT_INTERVAL||Ixz.toString()),_=[];for(let z of q)if(z==="console"){let Y=new S46.ConsoleMetricExporter,$=Y.export.bind(Y);Y.export=(A,O)=>{if(A.resource&&A.resource.attributes)N(` |
| 2102 | === Resource Attributes ===`),N(g6(A.resource.attributes)),N(`=========================== |
| 2103 | `);return $(A,O)},_.push(Y)}else if(z==="otlp"){let Y=process.env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL?.trim()||process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim(),$=Bl1();switch(Y){case"grpc":{let{OTLPMetricExporter:A}=await Promise.resolve().then(() => O6(us4(),1));_.push(new A);break}case"http/json":{let{OTLPMetricExporter:A}=await Promise.resolve().then(() => O6(BR8(),1));_.push(new A($));break}case"http/protobuf":{let{OTLPMetricExporter:A}=await Promise.resolve().then(() => O6(ds4(),1));_.push(new A($));break}default:throw Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_METRICS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${Y}`)}}else if(z==="prometheus"){let{PrometheusExporter:Y}=await Promise.resolve().then(() => O6(ts4(),1));_.push(new Y)}else throw Error(`Unknown exporter type set in OTEL_EXPORTER_OTLP_METRICS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${z}`);return _.map((z)=>{if("export"in z)return new S46.PeriodicExportingMetricReader({exporter:z,exportIntervalMillis:K});return z})}async function mxz(){let q=PS8(process.env.OTEL_LOGS_EXPORTER),K=process.env.OTEL_EXPORTER_OTLP_LOGS_PROTOCOL?.trim()||process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim(),_=process.env.OTEL_EXPORTER_OTLP_ENDPOINT;N(`[3P telemetry] getOtlpLogExporters: types=${g6(q)}, protocol=${K}, endpoint=${_}`);let z=[];for(let Y of q)if(Y==="console")z.push(new C46.ConsoleLogRecordExporter);else if(Y==="otlp"){let $=Bl1();switch(K){case"grpc":{let{OTLPLogExporter:A}=await Promise.resolve().then(() => O6(Yt4(),1));z.push(new A);break}case"http/json":{let{OTLPLogExporter:A}=await Promise.resolve().then(() => O6(Vl1(),1));z.push(new A($));break}case"http/protobuf":{let{OTLPLogExporter:A}=await Promise.resolve().then(() => O6(Gt4(),1));z.push(new A($));break}default:throw Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_LOGS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${K}`)}}else throw Error(`Unknown exporter type set in OTEL_LOGS_EXPORTER env var: ${Y}`);return z}async function pxz(){let q=PS8(process.env.OTEL_TRACES_EXPORTER),K=[];for(let _ of q)if(_==="console")K.push(new b46.ConsoleSpanExporter);else if(_==="otlp"){let z=process.env.OTEL_EXPORTER_OTLP_TRACES_PROTOCOL?.trim()||process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim(),Y=Bl1();switch(z){case"grpc":{let{OTLPTraceExporter:$}=await Promise.resolve().then(() => O6(yt4(),1));K.push(new $);break}case"http/json":{let{OTLPTraceExporter:$}=await Promise.resolve().then(() => O6(Cl1(),1));K.push(new $(Y));break}case"http/protobuf":{let{OTLPTraceExporter:$}=await Promise.resolve().then(() => O6(Ft4(),1));K.push(new $(Y));break}default:throw Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_TRACES_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${z}`)}}else throw Error(`Unknown exporter type set in OTEL_TRACES_EXPORTER env var: ${_}`);return K}function ct4(){return i6(process.env.CLAUDE_CODE_ENABLE_TELEMETRY)}function Bxz(){let q=new IU1;return new S46.PeriodicExportingMetricReader({exporter:q,exportIntervalMillis:300000})}function gxz(){let q=yK(),K=d7()&&(q==="enterprise"||q==="team");return P$6()||K}async function Fxz(q){let K=process.env.BETA_TRACING_ENDPOINT;if(!K)return;let[{OTLPTraceExporter:_},{OTLPLogExporter:z}]=await Promise.all([Promise.resolve().then(() => O6(Cl1(),1)),Promise.resolve().then(() => O6(Vl1(),1))]),Y={url:`${K}/v1/traces`},$={url:`${K}/v1/logs`},A=new _(Y),O=new b46.BatchSpanProcessor(A,{scheduledDelayMillis:Qt4}),w=new b46.BasicTracerProvider({resource:q,spanProcessors:[O]});N26.trace.setGlobalTracerProvider(w),$38(w);let j=new z($),H=new C46.LoggerProvider({resource:q,processors:[new C46.BatchLogRecordProcessor(j,{scheduledDelayMillis:Ut4})]});Nt6.logs.setGlobalLoggerProvider(H),_38(H);let J=Nt6.logs.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.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION);z38(J),process.on("beforeExit",async()=>{await H?.forceFlush(),await w?.forceFlush()}),process.on("exit",()=>{H?.forceFlush(),w?.forceFlush()})}async function Uxz(){if(U4("telemetry_init_start"),dt4(),cJ7())for(let X of["OTEL_METRICS_EXPORTER","OTEL_LOGS_EXPORTER","OTEL_TRACES_EXPORTER"]){let P=process.env[X];if(P?.includes("console"))process.env[X]=P.split(",").map((W)=>W.trim()).filter((W)=>W!=="console").join(",")}N26.diag.setLogger(new uU1,N26.DiagLogLevel.ERROR),Rb4();let q=[],K=ct4();if(N(`[3P telemetry] isTelemetryEnabled=${K} (CLAUDE_CODE_ENABLE_TELEMETRY=${process.env.CLAUDE_CODE_ENABLE_TELEMETRY})`),K)q.push(...await uxz());if(gxz())q.push(Bxz());let _=Z1(),z={[h46.ATTR_SERVICE_NAME]:"claude-code",[h46.ATTR_SERVICE_VERSION]:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION};if(_==="wsl"){let X=O_6();if(X)z["wsl.version"]=X}let Y=Lm.resourceFromAttributes(z),$=Lm.resourceFromAttributes(Lm.osDetector.detect().attributes||{}),A=Lm.hostDetector.detect(),O=A.attributes?.[h46.SEMRESATTRS_HOST_ARCH]?{[h46.SEMRESATTRS_HOST_ARCH]:A.attributes[h46.SEMRESATTRS_HOST_ARCH]}:{},w=Lm.resourceFromAttributes(O),j=Lm.resourceFromAttributes(Lm.envDetector.detect().attributes||{}),H=Y.merge($).merge(w).merge(j);if(bH()){Fxz(H).catch((W)=>N(`Beta tracing init failed: ${W}`,{level:"error"}));let X=new S46.MeterProvider({resource:H,views:[],readers:q});return Y38(X),pq(async()=>{let W=parseInt(process.env.CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS||"2000");try{vs6();let D=Qb6(),f=o36(),G=[X.shutdown()];if(D)G.push(D.forceFlush().then(()=>D.shutdown()));if(f)G.push(f.forceFlush().then(()=>f.shutdown()));await Promise.race([Promise.all(G),ml1(W,"OpenTelemetry shutdown timeout")])}catch{}}),X.getMeter("com.anthropic.claude_code",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION)}let J=new S46.MeterProvider({resource:H,views:[],readers:q});if(Y38(J),K){let X=await mxz();if(N(`[3P telemetry] Created ${X.length} log exporter(s)`),X.length>0){let P=new C46.LoggerProvider({resource:H,processors:X.map((D)=>new C46.BatchLogRecordProcessor(D,{scheduledDelayMillis:parseInt(process.env.OTEL_LOGS_EXPORT_INTERVAL||Ut4.toString())}))});Nt6.logs.setGlobalLoggerProvider(P),_38(P);let W=Nt6.logs.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.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION);z38(W),N("[3P telemetry] Event logger set successfully"),process.on("beforeExit",async()=>{await P?.forceFlush(),await o36()?.forceFlush()}),process.on("exit",()=>{P?.forceFlush(),o36()?.forceFlush()})}}if(K&&mU1()){let X=await pxz();if(X.length>0){let P=X.map((D)=>new b46.BatchSpanProcessor(D,{scheduledDelayMillis:parseInt(process.env.OTEL_TRACES_EXPORT_INTERVAL||Qt4.toString())})),W=new b46.BasicTracerProvider({resource:H,spanProcessors:P});N26.trace.setGlobalTracerProvider(W),$38(W)}}return pq(async()=>{let X=parseInt(process.env.CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS||"2000");try{vs6();let P=[J.shutdown()],W=Qb6();if(W)P.push(W.shutdown());let D=o36();if(D)P.push(D.shutdown());await Promise.race([Promise.all(P),ml1(X,"OpenTelemetry shutdown timeout")])}catch(P){if(P instanceof Error&&P.message.includes("timeout"))N(` |
| 2104 | OpenTelemetry telemetry flush timed out after ${X}ms |
| 2105 | |
| 2106 | To resolve this issue, you can: |
| 2107 | 1. Increase the timeout by setting CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS env var (e.g., 5000 for 5 seconds) |
| 2108 | 2. Check if your OpenTelemetry backend is experiencing scalability issues |
| 2109 | 3. Disable OpenTelemetry by unsetting CLAUDE_CODE_ENABLE_TELEMETRY env var |
| 2110 | |
| 2111 | Current timeout: ${X}ms |
| 2112 | `,{level:"error"});throw P}}),J.getMeter("com.anthropic.claude_code",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION)}async function Qxz(){let q=Xi8();if(!q)return;let K=parseInt(process.env.CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS||"5000");try{let _=[q.forceFlush()],z=Qb6();if(z)_.push(z.forceFlush());let Y=o36();if(Y)_.push(Y.forceFlush());await Promise.race([Promise.all(_),ml1(K,"OpenTelemetry flush timeout")]),N("Telemetry flushed successfully")}catch(_){if(_ instanceof pl1)N(`Telemetry flush timed out after ${K}ms. Some metrics may not be exported.`,{level:"warn"});else N(`Telemetry flush failed: ${d6(_)}`,{level:"error"})}}function dxz(){let q={},K=process.env.OTEL_EXPORTER_OTLP_HEADERS;if(K)for(let _ of K.split(",")){let[z,...Y]=_.split("=");if(z&&Y.length>0)q[z.trim()]=Y.join("=").trim()}return q}function Bl1(){let q=dh(),K=Ch(),_=Z7(),z={},Y=dxz();if(_?.otelHeadersHelper)z.headers=async()=>{let w=Bv1();return{...Y,...w}};else if(Object.keys(Y).length>0)z.headers=async()=>Y;let $=process.env.OTEL_EXPORTER_OTLP_ENDPOINT;if(!q||$&&b66($)){let w=$I();if(K||w)z.httpAgentOptions={...K,...w&&{ca:w}};return z}let A=$I(),O=(w)=>{return K||A?new ul1.HttpsProxyAgent(q,{...K&&{cert:K.cert,key:K.key,passphrase:K.passphrase},...A&&{ca:A}}):new ul1.HttpsProxyAgent(q)};return z.httpAgentOptions=O,z}var N26,Nt6,Lm,C46,S46,b46,h46,ul1,Ixz=60000,Ut4=5000,Qt4=5000,pl1;var Fl1=y(()=>{v8();G7();vK();Lp6();c9();_8();m8();y8();PI();qv();U1();l8();Cx();Ts6();hg4();Sg4();gN6();w46();N26=O6(nK(),1),Nt6=O6(WV1(),1),Lm=O6(pG6(),1),C46=O6(ZV1(),1),S46=O6(z26(),1),b46=O6(fg4(),1),h46=O6(L$6(),1),ul1=O6(Ep6(),1);pl1=class pl1 extends Error{}});var lt4={};T8(lt4,{performLogout:()=>yt6,clearAuthRelatedCaches:()=>WS8,call:()=>cxz});async function yt6({clearOnboarding:q=!1}){let{flushTelemetry:K}=await Promise.resolve().then(() => (Fl1(),gl1));await K(),await pv1(),c3().delete(),await WS8(),b8((z)=>{let Y={...z};if(q){if(Y.hasCompletedOnboarding=!1,Y.subscriptionNoticeCount=0,Y.hasAvailableSubscription=!1,Y.customApiKeyResponses?.approved)Y.customApiKeyResponses={...Y.customApiKeyResponses,approved:[]}}return Y.oauthAccount=void 0,Y})}async function WS8(){Kq.cache?.clear?.(),LF1(),wD8(),kD8(),hG6(),U$6(),K46.cache?.clear?.(),Hm.cache?.clear?.(),await oF1(),await dL8()}async function cxz(){await yt6({clearOnboarding:!0});let q=Ul1.createElement(k,null,"Successfully logged out from your Anthropic account.");return setTimeout(()=>{eK(0,"logout")},200),q}var Ul1;var Ql1=y(()=>{rw6();s6();o1();lN6();ZD();aN6();G7();HG();V1();RA();$16();VD8();f$6();Ul1=O6(D6(),1)});async function nt4(){try{if(j8().claudeCodeFirstTokenDate!==void 0)return;let K=DJ();if(K.error){H6(Error(`Failed to get auth headers: ${K.error}`));return}let z=`${u7().BASE_API_URL}/api/organization/claude_code_first_token_date`,$=(await $1.get(z,{headers:{...K.headers,"User-Agent":n$()},timeout:1e4})).data?.first_token_date??null;if($!==null){let A=new Date($).getTime();if(isNaN(A)){H6(Error(`Received invalid first_token_date from API: ${$}`));return}}b8((A)=>({...A,claudeCodeFirstTokenDate:$}))}catch(q){H6(q)}}var it4=y(()=>{CK();H3();V1();jG();E8()});import{createServer as lxz}from"http";class dl1{localServer;port=0;promiseResolver=null;promiseRejecter=null;expectedState=null;pendingResponse=null;callbackPath;constructor(q="/callback"){this.localServer=lxz(),this.callbackPath=q}async start(q){return new Promise((K,_)=>{this.localServer.once("error",(z)=>{_(Error(`Failed to start OAuth callback server: ${z.message}`))}),this.localServer.listen(q??0,"localhost",()=>{let z=this.localServer.address();this.port=z.port,K(this.port)})})}getPort(){return this.port}hasPendingResponse(){return this.pendingResponse!==null}async waitForAuthorization(q,K){return new Promise((_,z)=>{this.promiseResolver=_,this.promiseRejecter=z,this.expectedState=q,this.startLocalListener(K)})}handleSuccessRedirect(q,K){if(!this.pendingResponse)return;if(K){K(this.pendingResponse,q),this.pendingResponse=null,d("tengu_oauth_automatic_redirect",{custom_handler:!0});return}let _=KS(q)?u7().CLAUDEAI_SUCCESS_URL:u7().CONSOLE_SUCCESS_URL;this.pendingResponse.writeHead(302,{Location:_}),this.pendingResponse.end(),this.pendingResponse=null,d("tengu_oauth_automatic_redirect",{})}handleErrorRedirect(){if(!this.pendingResponse)return;let q=u7().CLAUDEAI_SUCCESS_URL;this.pendingResponse.writeHead(302,{Location:q}),this.pendingResponse.end(),this.pendingResponse=null,d("tengu_oauth_automatic_redirect_error",{})}startLocalListener(q){this.localServer.on("request",this.handleRedirect.bind(this)),this.localServer.on("error",this.handleError.bind(this)),q()}handleRedirect(q,K){let _=new URL(q.url||"",`http://${q.headers.host||"localhost"}`);if(_.pathname!==this.callbackPath){K.writeHead(404),K.end();return}let z=_.searchParams.get("code")??void 0,Y=_.searchParams.get("state")??void 0;this.validateAndRespond(z,Y,K)}validateAndRespond(q,K,_){if(!q){_.writeHead(400),_.end("Authorization code not found"),this.reject(Error("No authorization code received"));return}if(K!==this.expectedState){_.writeHead(400),_.end("Invalid state parameter"),this.reject(Error("Invalid state parameter"));return}this.pendingResponse=_,this.resolve(q)}handleError(q){H6(q),this.close(),this.reject(q)}resolve(q){if(this.promiseResolver)this.promiseResolver(q),this.promiseResolver=null,this.promiseRejecter=null}reject(q){if(this.promiseRejecter)this.promiseRejecter(q),this.promiseResolver=null,this.promiseRejecter=null}close(){if(this.pendingResponse)this.handleErrorRedirect();if(this.localServer)this.localServer.removeAllListeners(),this.localServer.close()}}var rt4=y(()=>{k8();H3();E8();pW()});import{createHash as nxz,randomBytes as ot4}from"crypto";function cl1(q){return q.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function at4(){return cl1(ot4(32))}function st4(q){let K=nxz("sha256");return K.update(q),cl1(K.digest())}function tt4(){return cl1(ot4(32))}var et4=()=>{};class Eo{codeVerifier;authCodeListener=null;port=null;manualAuthCodeResolver=null;constructor(){this.codeVerifier=at4()}async startOAuthFlow(q,K){this.authCodeListener=new dl1,this.port=await this.authCodeListener.start();let _=st4(this.codeVerifier),z=tt4(),Y={codeChallenge:_,state:z,port:this.port,loginWithClaudeAi:K?.loginWithClaudeAi,inferenceOnly:K?.inferenceOnly,orgUUID:K?.orgUUID,loginHint:K?.loginHint,loginMethod:K?.loginMethod},$=AJ8({...Y,isManual:!0}),A=AJ8({...Y,isManual:!1}),O=await this.waitForAuthorizationCode(z,async()=>{if(K?.skipBrowserOpen)await q($,A);else await q($),await m3(A)}),w=this.authCodeListener?.hasPendingResponse()??!1;d("tengu_oauth_auth_code_received",{automatic:w});try{let j=await NJ1(O,z,this.codeVerifier,this.port,!w,K?.expiresIn),H=await OJ8(j.access_token);if(w){let J=vF6(j.scope);this.authCodeListener?.handleSuccessRedirect(J)}return this.formatTokens(j,H.subscriptionType,H.rateLimitTier,H.rawProfile)}catch(j){if(w)this.authCodeListener?.handleErrorRedirect();throw j}finally{this.authCodeListener?.close()}}async waitForAuthorizationCode(q,K){return new Promise((_,z)=>{this.manualAuthCodeResolver=_,this.authCodeListener?.waitForAuthorization(q,K).then((Y)=>{this.manualAuthCodeResolver=null,_(Y)}).catch((Y)=>{this.manualAuthCodeResolver=null,z(Y)})})}handleManualAuthCodeInput(q){if(this.manualAuthCodeResolver)this.manualAuthCodeResolver(q.authorizationCode),this.manualAuthCodeResolver=null,this.authCodeListener?.close()}formatTokens(q,K,_,z){return{accessToken:q.access_token,refreshToken:q.refresh_token,expiresAt:Date.now()+q.expires_in*1000,scopes:vF6(q.scope),subscriptionType:K,rateLimitTier:_,profile:z,tokenAccount:q.account?{uuid:q.account.uuid,emailAddress:q.account.email_address,organizationUuid:q.organization?.uuid}:void 0}}cleanup(){this.authCodeListener?.close(),this.manualAuthCodeResolver=null}}var Et6=y(()=>{k8();hH();rt4();pW();et4()});import{access as rxz,chmod as oxz,writeFile as axz}from"fs/promises";import{join as Lt6}from"path";function DS8(){return Lt6(c1(),"local")}function Ke4(){return Lt6(DS8(),"claude")}function _e4(){return(process.argv[1]||"").includes("/.claude/local/node_modules/")}async function qe4(q,K,_){try{return await axz(q,K,{encoding:"utf8",flag:"wx",mode:_}),!0}catch(z){if(s1(z)==="EEXIST")return!1;throw z}}async function sxz(){try{let q=DS8();await X8().mkdir(q),await qe4(Lt6(q,"package.json"),g6({name:"claude-local",version:"0.0.1",private:!0},null,2));let K=Lt6(q,"claude");if(await qe4(K,`#!/bin/sh |
| 2113 | exec "${q}/node_modules/.bin/claude" "$@"`,493))await oxz(K,493);return!0}catch(q){return H6(q),!1}}async function Rt6(q,K){try{if(!await sxz())return"install_failed";let _=K?K:q==="stable"?"stable":"latest",z=await S7("npm",["install",`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.PACKAGE_URL}@${_}`],{cwd:DS8(),maxBuffer:1e6});if(z.code!==0){let Y=Error(`Failed to install Claude CLI package: ${z.stderr}`);return H6(Y),z.code===190?"in_progress":"install_failed"}return b8((Y)=>({...Y,installMethod:"local"})),"success"}catch(_){return H6(_),"install_failed"}}async function y26(){try{return await rxz(Lt6(DS8(),"node_modules",".bin","claude")),!0}catch{return!1}}function cy6(){let q=process.env.SHELL||"";if(q.includes("zsh"))return"zsh";if(q.includes("bash"))return"bash";if(q.includes("fish"))return"fish";return"unknown"}var E26=y(()=>{V1();m8();y8();XK();e7();E8();l8()});import{open as txz,readFile as exz,stat as qIz}from"fs/promises";import{homedir as ze4}from"os";import{join as ll1}from"path";function x46(q){let K=q?.homedir??ze4(),z=(q?.env??process.env).ZDOTDIR||K;return{zsh:ll1(z,".zshrc"),bash:ll1(K,".bashrc"),fish:ll1(K,".config/fish/config.fish")}}function fS8(q){let K=!1;return{filtered:q.filter((z)=>{if(Ye4.test(z)){let Y=z.match(/alias\s+claude\s*=\s*["']([^"']+)["']/);if(!Y)Y=z.match(/alias\s+claude\s*=\s*([^#\n]+)/);if(Y&&Y[1]){if(Y[1].trim()===Ke4())return K=!0,!1}}return!0}),hadAlias:K}}async function ht6(q){try{return(await exz(q,{encoding:"utf8"})).split(` |
| 2114 | `)}catch(K){if(e3(K))return null;throw K}}async function ZS8(q,K){let _=await txz(q,"w");try{await _.writeFile(K.join(` |