@naarang/ccc 3.1.0-beta.8 → 3.1.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ Event: ${H7(Z)}`),!0}return!1}function JP1(Z,J){if(!J?.length)return!1;return tK
50
50
  `;let K=Cp(X);X.write(`${W}\r
51
51
  `);let{connect:z,buffered:G}=await K;if(Z.emit("proxyConnect",z),this.emit("proxyConnect",z,Z),z.statusCode===200){if(Z.once("socket",cv1),J.secureEndpoint){f3("Upgrading socket connection to TLS");let V=J.servername||J.host;return KD.connect({...qp(J,"host","path","port"),socket:X,servername:L9.isIP(V)?void 0:V})}return X}X.destroy();let H=new L9.Socket({writable:!1});return H.readable=!0,Z.once("socket",(V)=>{f3("Replaying proxy buffer for failed request"),V.push(G),V.push(null)}),H}}iz.__initStatic();function cv1(Z){Z.resume()}function qp(Z,...J){let $={},X;for(X in Z)if(!J.includes(X))$[X]=Z[X];return $}var av1=32768;function ov1(Z){return new iv1({read(){this.push(Z),this.push(null)}})}function zD(Z){let J;try{J=new URL(Z.url)}catch(z){return l0(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),iZ(Z,()=>Promise.resolve({}))}let $=J.protocol==="https:",X=rv1(J,Z.proxy||($?process.env.https_proxy:void 0)||process.env.http_proxy),Y=$?pv1:lv1,Q=Z.keepAlive===void 0?!1:Z.keepAlive,W=X?new iz(X):new Y.Agent({keepAlive:Q,maxSockets:30,timeout:2000}),K=sv1(Z,Z.httpModule??Y,W);return iZ(Z,K)}function rv1(Z,J){let{no_proxy:$}=process.env;if($?.split(",").some((Y)=>Z.host.endsWith(Y)||Z.hostname.endsWith(Y)))return;else return J}function sv1(Z,J,$){let{hostname:X,pathname:Y,port:Q,protocol:W,search:K}=new URL(Z.url);return function(G){return new Promise((H,V)=>{O7(()=>{let F=ov1(G.body),B={...Z.headers};if(G.body.length>av1)B["content-encoding"]="gzip",F=F.pipe(nv1());let U=X.startsWith("["),L=J.request({method:"POST",agent:$,headers:B,hostname:U?X.slice(1,-1):X,path:`${Y}${K}`,port:Q,protocol:W,ca:Z.caCerts},(O)=>{O.on("data",()=>{}),O.on("end",()=>{}),O.setEncoding("utf8");let _=O.headers["retry-after"]??null,w=O.headers["x-sentry-rate-limits"]??null;H({statusCode:O.statusCode,headers:{"retry-after":_,"x-sentry-rate-limits":Array.isArray(w)?w[0]||null:w}})});L.on("error",V),F.pipe(L)})})}}var tv1=new Set(["false","f","n","no","off","0"]),ev1=new Set(["true","t","y","yes","on","1"]);function nz(Z,J){let $=String(Z).toLowerCase();if(tv1.has($))return!1;if(ev1.has($))return!0;return J?.strict?null:Boolean(Z)}import{posix as Zh1,sep as Jh1}from"path";function Ep(Z){return Z.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function GD(Z=process.argv[1]?hL(process.argv[1]):process.cwd(),J=Jh1==="\\"){let $=J?Ep(Z):Z;return(X)=>{if(!X)return;let Y=J?Ep(X):X,{dir:Q,base:W,ext:K}=Zh1.parse(Y);if(K===".js"||K===".mjs"||K===".cjs")W=W.slice(0,K.length*-1);let z=decodeURIComponent(W);if(!Q)Q=".";let G=Q.lastIndexOf("/node_modules");if(G>-1)return`${Q.slice(G+14).replace(/\//g,".")}:${z}`;if(Q.startsWith($)){let H=Q.slice($.length+1).replace(/\//g,".");return H?`${H}:${z}`:z}return z}}function HD(Z){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(z1.SENTRY_RELEASE?.id)return z1.SENTRY_RELEASE.id;let J=process.env.GITHUB_SHA||process.env.CI_MERGE_REQUEST_SOURCE_BRANCH_SHA||process.env.CI_BUILD_REF||process.env.CI_COMMIT_SHA||process.env.BITBUCKET_COMMIT,$=process.env.APPVEYOR_PULL_REQUEST_HEAD_COMMIT||process.env.APPVEYOR_REPO_COMMIT||process.env.CODEBUILD_RESOLVED_SOURCE_VERSION||process.env.AWS_COMMIT_ID||process.env.BUILD_SOURCEVERSION||process.env.GIT_CLONE_COMMIT_HASH||process.env.BUDDY_EXECUTION_REVISION||process.env.BUILDKITE_COMMIT||process.env.CIRCLE_SHA1||process.env.CIRRUS_CHANGE_IN_REPO||process.env.CF_REVISION||process.env.CM_COMMIT||process.env.CF_PAGES_COMMIT_SHA||process.env.DRONE_COMMIT_SHA||process.env.FC_GIT_COMMIT_SHA||process.env.HEROKU_TEST_RUN_COMMIT_VERSION||process.env.HEROKU_SLUG_COMMIT||process.env.RAILWAY_GIT_COMMIT_SHA||process.env.RENDER_GIT_COMMIT||process.env.SEMAPHORE_GIT_SHA||process.env.TRAVIS_PULL_REQUEST_SHA||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA,X=process.env.CI_COMMIT_ID||process.env.SOURCE_COMMIT||process.env.SOURCE_VERSION||process.env.GIT_COMMIT||process.env.COMMIT_REF||process.env.BUILD_VCS_NUMBER||process.env.CI_COMMIT_SHA;return J||$||X||Z}var VD=SK(W2(GD()));var Ip=v(g(),1),Sp=v(U1(),1);import*as Pp from"os";import{threadId as $h1,isMainThread as Xh1}from"worker_threads";var Yh1=60000;class az extends Jz{constructor(Z){let J=Z.includeServerName===!1?void 0:Z.serverName||global.process.env.SENTRY_NAME||Pp.hostname(),$={...Z,platform:"node",runtime:{name:"node",version:global.process.version},serverName:J};if(Z.openTelemetryInstrumentations)Sp.registerInstrumentations({instrumentations:Z.openTelemetryInstrumentations});G9($,"node"),j.log(`Initializing Sentry: process: ${process.pid}, thread: ${Xh1?"main":`worker-${$h1}`}.`);super($);if(this.getOptions().enableLogs){if(this._logOnExitFlushListener=()=>{X3(this)},J)this.on("beforeCaptureLog",(X)=>{X.attributes={...X.attributes,"server.address":J}});process.on("beforeExit",this._logOnExitFlushListener)}}get tracer(){if(this._tracer)return this._tracer;let Z="@sentry/node",J=h1,$=Ip.trace.getTracer(Z,J);return this._tracer=$,$}async flush(Z){if(await this.traceProvider?.forceFlush(),this.getOptions().sendClientReports)this._flushOutcomes();return super.flush(Z)}async close(Z){if(this._clientReportInterval)clearInterval(this._clientReportInterval);if(this._clientReportOnExitFlushListener)process.off("beforeExit",this._clientReportOnExitFlushListener);if(this._logOnExitFlushListener)process.off("beforeExit",this._logOnExitFlushListener);let J=await super.close(Z);if(this.traceProvider)await this.traceProvider.shutdown();return J}startClientReportTracking(){let Z=this.getOptions();if(Z.sendClientReports)this._clientReportOnExitFlushListener=()=>{this._flushOutcomes()},this._clientReportInterval=setInterval(()=>{T1&&j.log("Flushing client reports based on interval."),this._flushOutcomes()},Z.clientReportFlushInterval??Yh1).unref(),process.on("beforeExit",this._clientReportOnExitFlushListener)}_setupIntegrations(){PL(),super._setupIntegrations()}_getTraceInfoFromScope(Z){if(!Z)return[void 0,void 0];return Ml(this,Z)}}var yp=v(LU(),1);import*as kp from"module";function FD(){if(!Xp())return;if(!z1._sentryEsmLoaderHookRegistered){z1._sentryEsmLoaderHookRegistered=!0;try{let{addHookMessagePort:Z}=yp.createAddHookMessageChannel();kp.register("import-in-the-middle/hook.mjs",import.meta.url,{data:{addHookMessagePort:Z,include:[]},transferList:[Z]})}catch(Z){j.warn("Failed to register 'import-in-the-middle' hook",Z)}}}function oz(){return[q$(),C$(),E$(),P$(),e2(),I$(),jp(),Np(),ZX(),JX(),t$(),o2(),s$(),JD(),Rp(),e$()]}function BD(Z={}){return Qh1(Z,oz)}function Qh1(Z={},J){let $=Wh1(Z,J);if($.debug===!0)if(T1)j.enable();else l0(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")});if($.registerEsmLoaderHooks!==!1)FD();if(Nl(),t1().update($.initialScope),$.spotlight&&!$.integrations.some(({name:Q})=>Q===s2))$.integrations.push(t2({sidecarUrl:typeof $.spotlight==="string"?$.spotlight:void 0}));G9($,"node-core");let Y=new az($);if(t1().setClient(Y),Y.init(),z1._sentryInjectLoaderHookRegister?.(),j.log(`SDK initialized from ${y3()?"CommonJS":"ESM"}`),Y.startClientReportTracking(),Gh1(),zl(Y),jl(Y),process.env.VERCEL)process.on("SIGTERM",async()=>{await Y.flush(200)});return Y}function rz(){if(!T1)return;let Z=Fl(),J=["SentryContextManager","SentryPropagator"];if(R0())J.push("SentrySpanProcessor");for(let $ of J)if(!Z.includes($))j.error(`You have to set up the ${$}. Without this, the OpenTelemetry & Sentry integration will not work properly.`);if(!Z.includes("SentrySampler"))j.warn("You have to set up the SentrySampler. Without this, the OpenTelemetry & Sentry integration may still work, but sample rates set for the Sentry SDK will not be respected. If you use a custom sampler, make sure to use `wrapSamplingDecision`.")}function Wh1(Z,J){let $=Kh1(Z.release),X;if(Z.spotlight===!1)X=!1;else if(typeof Z.spotlight==="string")X=Z.spotlight;else{let z=nz(process.env.SENTRY_SPOTLIGHT,{strict:!0}),G=z===null&&process.env.SENTRY_SPOTLIGHT?process.env.SENTRY_SPOTLIGHT:void 0;X=Z.spotlight===!0?G??!0:z??G}let Y=zh1(Z.tracesSampleRate),Q={...Z,dsn:Z.dsn??process.env.SENTRY_DSN,environment:Z.environment??process.env.SENTRY_ENVIRONMENT,sendClientReports:Z.sendClientReports??!0,transport:Z.transport??zD,stackParser:uU(Z.stackParser||VD),release:$,tracesSampleRate:Y,spotlight:X,debug:nz(Z.debug??process.env.SENTRY_DEBUG)},W=Z.integrations,K=Z.defaultIntegrations??J(Q);return{...Q,integrations:OL({defaultIntegrations:K,integrations:W})}}function Kh1(Z){if(Z!==void 0)return Z;let J=HD();if(J!==void 0)return J;return}function zh1(Z){if(Z!==void 0)return Z;let J=process.env.SENTRY_TRACES_SAMPLE_RATE;if(!J)return;let $=parseFloat(J);return isFinite($)?$:void 0}function Gh1(){if(nz(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let Z=process.env.SENTRY_TRACE,J=process.env.SENTRY_BAGGAGE,$=mZ(Z,J);t1().setPropagationContext($)}}function X0(Z,J){Z.setAttribute(Q1,J)}var UD="Http",xp="@opentelemetry_sentry-patched/instrumentation-http",Hh1=s(`${UD}.sentry`,(Z)=>{return new a$(Z)}),Vh1=s(UD,(Z)=>{let J=new hp.HttpInstrumentation({...Z,disableIncomingRequestInstrumentation:!0});try{J._diag=vp.diag.createComponentLogger({namespace:xp}),J.instrumentationName=xp}catch{}return J});function Fh1(Z,J={}){if(typeof Z.spans==="boolean")return Z.spans;if(J.skipOpenTelemetrySetup)return!1;if(!R0(J)&&v7.major>=22)return!1;return!0}var b3=k((Z={})=>{let J=Z.spans??!0,$=Z.disableIncomingRequestSpans,X={sessions:Z.trackIncomingRequestsAsSessions,sessionFlushingDelayMS:Z.sessionFlushingDelayMS,ignoreRequestBody:Z.ignoreIncomingRequestBody,maxRequestBodySize:Z.maxIncomingRequestBodySize},Y={ignoreIncomingRequests:Z.ignoreIncomingRequests,ignoreStaticAssets:Z.ignoreStaticAssets,ignoreStatusCodes:Z.dropSpansForIncomingRequestStatusCodes,instrumentation:Z.instrumentation,onSpanCreated:Z.incomingRequestSpanHook},Q=b$(X),W=g$(Y),K=J&&!$;return{name:UD,setup(z){let G=z.getOptions();if(K&&R0(G))W.setup(z)},setupOnce(){let z=p()?.getOptions()||{},G=Fh1(Z,z);Q.setupOnce();let H={breadcrumbs:Z.breadcrumbs,propagateTraceInOutgoingRequests:!G,ignoreOutgoingRequests:Z.ignoreOutgoingRequests};if(Hh1(H),G){let V=Bh1(Z);Vh1(V)}},processEvent(z){return W.processEvent(z)}}});function Bh1(Z={}){return{ignoreOutgoingRequestHook:($)=>{let X=M3($);if(!X)return!1;let Y=Z.ignoreOutgoingRequests;if(Y?.(X,$))return!0;return!1},requireParentforOutgoingSpans:!1,requestHook:($,X)=>{X0($,"auto.http.otel.http"),Z.instrumentation?.requestHook?.($,X)},responseHook:($,X)=>{Z.instrumentation?.responseHook?.($,X)},applyCustomAttributesOnSpan:($,X,Y)=>{Z.instrumentation?.applyCustomAttributesOnSpan?.($,X,Y)}}}var ip=v(pp(),1);var np="NodeFetch",_h1=s(np,ip.UndiciInstrumentation,(Z)=>{return jh1(Z)}),wh1=s(`${np}.sentry`,r$,(Z)=>{return Z}),Ah1=(Z={})=>{return{name:"NodeFetch",setupOnce(){if(Th1(Z,p()?.getOptions()))_h1(Z);wh1(Z)}}},m3=k(Ah1);function Mh1(Z,J="/"){let $=`${Z}`;if($.endsWith("/")&&J.startsWith("/"))return`${$}${J.slice(1)}`;if(!$.endsWith("/")&&!J.startsWith("/"))return`${$}/${J.slice(1)}`;return`${$}${J}`}function Th1(Z,J={}){return typeof Z.spans==="boolean"?Z.spans:!J.skipOpenTelemetrySetup&&R0(J)}function jh1(Z={}){return{requireParentforSpans:!1,ignoreRequestHook:($)=>{let X=Mh1($.origin,$.path),Y=Z.ignoreOutgoingRequests;return!!(Y&&X&&Y(X))},startSpanHook:()=>{return{[Q1]:"auto.http.otel.node_fetch"}},requestHook:Z.requestHook,responseHook:Z.responseHook}}var Li=v(Ui(),1);var h0=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var Di="Express";function ah1(Z){X0(Z,"auto.http.otel.express");let J=$1(Z).data,$=J["express.type"];if($)Z.setAttribute(V1,`${$}.express`);let X=J["express.name"];if(typeof X==="string")Z.updateName(X)}function oh1(Z,J){if(g1()===q6())return h0&&j.warn("Isolation scope is still default isolation scope - skipping setting transactionName"),J;if(Z.layerType==="request_handler"){let $=Z.request,X=$.method?$.method.toUpperCase():"GET";g1().setTransactionName(`${X} ${Z.route}`)}return J}var Oi=s(Di,()=>new Li.ExpressInstrumentation({requestHook:(Z)=>ah1(Z),spanNameHook:(Z,J)=>oh1(Z,J)})),rh1=()=>{return{name:Di,setupOnce(){Oi()}}},_i=k(rh1);import*as PD from"diagnostics_channel";var i0=v(g(),1),YG=v(A0(),1),oi=v(U1(),1),J4=v($0(),1);import li from"diagnostics_channel";var gi=v(Si(),1);var c3=(Z)=>{if(typeof Z!=="string")throw TypeError("invalid pattern");if(Z.length>65536)throw TypeError("pattern is too long")};var Yf1={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},l3=(Z)=>Z.replace(/[[\]\\-]/g,"\\$&"),Qf1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),yi=(Z)=>Z.join(""),ki=(Z,J)=>{let $=J;if(Z.charAt($)!=="[")throw Error("not in a brace expression");let X=[],Y=[],Q=$+1,W=!1,K=!1,z=!1,G=!1,H=$,V="";Z:while(Q<Z.length){let L=Z.charAt(Q);if((L==="!"||L==="^")&&Q===$+1){G=!0,Q++;continue}if(L==="]"&&W&&!z){H=Q+1;break}if(W=!0,L==="\\"){if(!z){z=!0,Q++;continue}}if(L==="["&&!z){for(let[O,[_,w,A]]of Object.entries(Yf1))if(Z.startsWith(O,Q)){if(V)return["$.",!1,Z.length-$,!0];if(Q+=O.length,A)Y.push(_);else X.push(_);K=K||w;continue Z}}if(z=!1,V){if(L>V)X.push(l3(V)+"-"+l3(L));else if(L===V)X.push(l3(L));V="",Q++;continue}if(Z.startsWith("-]",Q+1)){X.push(l3(L+"-")),Q+=2;continue}if(Z.startsWith("-",Q+1)){V=L,Q+=2;continue}X.push(l3(L)),Q++}if(H<Q)return["",!1,0,!1];if(!X.length&&!Y.length)return["$.",!1,Z.length-$,!0];if(Y.length===0&&X.length===1&&/^\\?.$/.test(X[0])&&!G){let L=X[0].length===2?X[0].slice(-1):X[0];return[Qf1(L),!1,H-$,!1]}let F="["+(G?"^":"")+yi(X)+"]",B="["+(G?"":"^")+yi(Y)+"]";return[X.length&&Y.length?"("+F+"|"+B+")":X.length?F:B,K,H-$,!0]};var h7=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/\[([^\/\\])\]/g,"$1"):Z.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var Wf1=new Set(["!","?","+","*","@"]),xi=(Z)=>Wf1.has(Z),Kf1="(?!(?:^|/)\\.\\.?(?:$|/))",$G="(?!\\.)",zf1=new Set(["[","."]),Gf1=new Set(["..","."]),Hf1=new Set("().*{}+?[]^$\\!"),Vf1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ND="[^/]",vi=ND+"*?",hi=ND+"+?";class N4{type;#Z;#J;#Y=!1;#X=[];#Q;#B;#W;#H=!1;#z;#K;#$=!1;constructor(Z,J,$={}){if(this.type=Z,Z)this.#J=!0;if(this.#Q=J,this.#Z=this.#Q?this.#Q.#Z:this,this.#z=this.#Z===this?$:this.#Z.#z,this.#W=this.#Z===this?[]:this.#Z.#W,Z==="!"&&!this.#Z.#H)this.#W.push(this);this.#B=this.#Q?this.#Q.#X.length:0}get hasMagic(){if(this.#J!==void 0)return this.#J;for(let Z of this.#X){if(typeof Z==="string")continue;if(Z.type||Z.hasMagic)return this.#J=!0}return this.#J}toString(){if(this.#K!==void 0)return this.#K;if(!this.type)return this.#K=this.#X.map((Z)=>String(Z)).join("");else return this.#K=this.type+"("+this.#X.map((Z)=>String(Z)).join("|")+")"}#L(){if(this!==this.#Z)throw Error("should only call on root");if(this.#H)return this;this.toString(),this.#H=!0;let Z;while(Z=this.#W.pop()){if(Z.type!=="!")continue;let J=Z,$=J.#Q;while($){for(let X=J.#B+1;!$.type&&X<$.#X.length;X++)for(let Y of Z.#X){if(typeof Y==="string")throw Error("string part in extglob AST??");Y.copyIn($.#X[X])}J=$,$=J.#Q}}return this}push(...Z){for(let J of Z){if(J==="")continue;if(typeof J!=="string"&&!(J instanceof N4&&J.#Q===this))throw Error("invalid part: "+J);this.#X.push(J)}}toJSON(){let Z=this.type===null?this.#X.slice().map((J)=>typeof J==="string"?J:J.toJSON()):[this.type,...this.#X.map((J)=>J.toJSON())];if(this.isStart()&&!this.type)Z.unshift([]);if(this.isEnd()&&(this===this.#Z||this.#Z.#H&&this.#Q?.type==="!"))Z.push({});return Z}isStart(){if(this.#Z===this)return!0;if(!this.#Q?.isStart())return!1;if(this.#B===0)return!0;let Z=this.#Q;for(let J=0;J<this.#B;J++){let $=Z.#X[J];if(!($ instanceof N4&&$.type==="!"))return!1}return!0}isEnd(){if(this.#Z===this)return!0;if(this.#Q?.type==="!")return!0;if(!this.#Q?.isEnd())return!1;if(!this.type)return this.#Q?.isEnd();let Z=this.#Q?this.#Q.#X.length:0;return this.#B===Z-1}copyIn(Z){if(typeof Z==="string")this.push(Z);else this.push(Z.clone(this))}clone(Z){let J=new N4(this.type,Z);for(let $ of this.#X)J.copyIn($);return J}static#D(Z,J,$,X){let Y=!1,Q=!1,W=-1,K=!1;if(J.type===null){let F=$,B="";while(F<Z.length){let U=Z.charAt(F++);if(Y||U==="\\"){Y=!Y,B+=U;continue}if(Q){if(F===W+1){if(U==="^"||U==="!")K=!0}else if(U==="]"&&!(F===W+2&&K))Q=!1;B+=U;continue}else if(U==="["){Q=!0,W=F,K=!1,B+=U;continue}if(!X.noext&&xi(U)&&Z.charAt(F)==="("){J.push(B),B="";let L=new N4(U,J);F=N4.#D(Z,L,F,X),J.push(L);continue}B+=U}return J.push(B),F}let z=$+1,G=new N4(null,J),H=[],V="";while(z<Z.length){let F=Z.charAt(z++);if(Y||F==="\\"){Y=!Y,V+=F;continue}if(Q){if(z===W+1){if(F==="^"||F==="!")K=!0}else if(F==="]"&&!(z===W+2&&K))Q=!1;V+=F;continue}else if(F==="["){Q=!0,W=z,K=!1,V+=F;continue}if(xi(F)&&Z.charAt(z)==="("){G.push(V),V="";let B=new N4(F,G);G.push(B),z=N4.#D(Z,B,z,X);continue}if(F==="|"){G.push(V),V="",H.push(G),G=new N4(null,J);continue}if(F===")"){if(V===""&&J.#X.length===0)J.#$=!0;return G.push(V),V="",J.push(...H,G),z}V+=F}return J.type=null,J.#J=void 0,J.#X=[Z.substring($-1)],z}static fromGlob(Z,J={}){let $=new N4(null,void 0,J);return N4.#D(Z,$,0,J),$}toMMPattern(){if(this!==this.#Z)return this.#Z.toMMPattern();let Z=this.toString(),[J,$,X,Y]=this.toRegExpSource();if(!(X||this.#J||this.#z.nocase&&!this.#z.nocaseMagicOnly&&Z.toUpperCase()!==Z.toLowerCase()))return $;let W=(this.#z.nocase?"i":"")+(Y?"u":"");return Object.assign(new RegExp(`^${J}$`,W),{_src:J,_glob:Z})}get options(){return this.#z}toRegExpSource(Z){let J=Z??!!this.#z.dot;if(this.#Z===this)this.#L();if(!this.type){let K=this.isStart()&&this.isEnd(),z=this.#X.map((F)=>{let[B,U,L,O]=typeof F==="string"?N4.#V(F,this.#J,K):F.toRegExpSource(Z);return this.#J=this.#J||L,this.#Y=this.#Y||O,B}).join(""),G="";if(this.isStart()){if(typeof this.#X[0]==="string"){if(!(this.#X.length===1&&Gf1.has(this.#X[0]))){let B=zf1,U=J&&B.has(z.charAt(0))||z.startsWith("\\.")&&B.has(z.charAt(2))||z.startsWith("\\.\\.")&&B.has(z.charAt(4)),L=!J&&!Z&&B.has(z.charAt(0));G=U?Kf1:L?$G:""}}}let H="";if(this.isEnd()&&this.#Z.#H&&this.#Q?.type==="!")H="(?:$|\\/)";return[G+z+H,h7(z),this.#J=!!this.#J,this.#Y]}let $=this.type==="*"||this.type==="+",X=this.type==="!"?"(?:(?!(?:":"(?:",Y=this.#F(J);if(this.isStart()&&this.isEnd()&&!Y&&this.type!=="!"){let K=this.toString();return this.#X=[K],this.type=null,this.#J=void 0,[K,h7(this.toString()),!1,!1]}let Q=!$||Z||J||!$G?"":this.#F(!0);if(Q===Y)Q="";if(Q)Y=`(?:${Y})(?:${Q})*?`;let W="";if(this.type==="!"&&this.#$)W=(this.isStart()&&!J?$G:"")+hi;else{let K=this.type==="!"?"))"+(this.isStart()&&!J&&!Z?$G:"")+vi+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&Q?")":this.type==="*"&&Q?")?":`)${this.type}`;W=X+Y+K}return[W,h7(Y),this.#J=!!this.#J,this.#Y]}#F(Z){return this.#X.map((J)=>{if(typeof J==="string")throw Error("string type in extglob ast??");let[$,X,Y,Q]=J.toRegExpSource(Z);return this.#Y=this.#Y||Q,$}).filter((J)=>!(this.isStart()&&this.isEnd())||!!J).join("|")}static#V(Z,J,$=!1){let X=!1,Y="",Q=!1;for(let W=0;W<Z.length;W++){let K=Z.charAt(W);if(X){X=!1,Y+=(Hf1.has(K)?"\\":"")+K;continue}if(K==="\\"){if(W===Z.length-1)Y+="\\\\";else X=!0;continue}if(K==="["){let[z,G,H,V]=ki(Z,W);if(H){Y+=z,Q=Q||G,W+=H-1,J=J||V;continue}}if(K==="*"){if($&&Z==="*")Y+=hi;else Y+=vi;J=!0;continue}if(K==="?"){Y+=ND,J=!0;continue}Y+=Vf1(K)}return[Y,h7(Z),!!J,Q]}}var RD=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/[?*()[\]]/g,"[$&]"):Z.replace(/[?*()[\]\\]/g,"\\$&")};var R4=(Z,J,$={})=>{if(c3(J),!$.nocomment&&J.charAt(0)==="#")return!1;return new p3(J,$).match(Z)},Ff1=/^\*+([^+@!?\*\[\(]*)$/,Bf1=(Z)=>(J)=>!J.startsWith(".")&&J.endsWith(Z),Uf1=(Z)=>(J)=>J.endsWith(Z),Lf1=(Z)=>{return Z=Z.toLowerCase(),(J)=>!J.startsWith(".")&&J.toLowerCase().endsWith(Z)},Df1=(Z)=>{return Z=Z.toLowerCase(),(J)=>J.toLowerCase().endsWith(Z)},Of1=/^\*+\.\*+$/,_f1=(Z)=>!Z.startsWith(".")&&Z.includes("."),wf1=(Z)=>Z!=="."&&Z!==".."&&Z.includes("."),Af1=/^\.\*+$/,Mf1=(Z)=>Z!=="."&&Z!==".."&&Z.startsWith("."),Tf1=/^\*+$/,jf1=(Z)=>Z.length!==0&&!Z.startsWith("."),Nf1=(Z)=>Z.length!==0&&Z!=="."&&Z!=="..",Rf1=/^\?+([^+@!?\*\[\(]*)?$/,Cf1=([Z,J=""])=>{let $=mi([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},qf1=([Z,J=""])=>{let $=ui([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},Ef1=([Z,J=""])=>{let $=ui([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},Pf1=([Z,J=""])=>{let $=mi([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},mi=([Z])=>{let J=Z.length;return($)=>$.length===J&&!$.startsWith(".")},ui=([Z])=>{let J=Z.length;return($)=>$.length===J&&$!=="."&&$!==".."},di=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",fi={win32:{sep:"\\"},posix:{sep:"/"}},If1=di==="win32"?fi.win32.sep:fi.posix.sep;R4.sep=If1;var Q8=Symbol("globstar **");R4.GLOBSTAR=Q8;var Sf1="[^/]",yf1=Sf1+"*?",kf1="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",xf1="(?:(?!(?:\\/|^)\\.).)*?",vf1=(Z,J={})=>($)=>R4($,Z,J);R4.filter=vf1;var Y8=(Z,J={})=>Object.assign({},Z,J),hf1=(Z)=>{if(!Z||typeof Z!=="object"||!Object.keys(Z).length)return R4;let J=R4;return Object.assign((X,Y,Q={})=>J(X,Y,Y8(Z,Q)),{Minimatch:class extends J.Minimatch{constructor(Y,Q={}){super(Y,Y8(Z,Q))}static defaults(Y){return J.defaults(Y8(Z,Y)).Minimatch}},AST:class extends J.AST{constructor(Y,Q,W={}){super(Y,Q,Y8(Z,W))}static fromGlob(Y,Q={}){return J.AST.fromGlob(Y,Y8(Z,Q))}},unescape:(X,Y={})=>J.unescape(X,Y8(Z,Y)),escape:(X,Y={})=>J.escape(X,Y8(Z,Y)),filter:(X,Y={})=>J.filter(X,Y8(Z,Y)),defaults:(X)=>J.defaults(Y8(Z,X)),makeRe:(X,Y={})=>J.makeRe(X,Y8(Z,Y)),braceExpand:(X,Y={})=>J.braceExpand(X,Y8(Z,Y)),match:(X,Y,Q={})=>J.match(X,Y,Y8(Z,Q)),sep:J.sep,GLOBSTAR:Q8})};R4.defaults=hf1;var ci=(Z,J={})=>{if(c3(Z),J.nobrace||!/\{(?:(?!\{).)*\}/.test(Z))return[Z];return gi.default(Z)};R4.braceExpand=ci;var ff1=(Z,J={})=>new p3(Z,J).makeRe();R4.makeRe=ff1;var bf1=(Z,J,$={})=>{let X=new p3(J,$);if(Z=Z.filter((Y)=>X.match(Y)),X.options.nonull&&!Z.length)Z.push(J);return Z};R4.match=bf1;var bi=/[?*]|[+@!]\(.*?\)|\[|\]/,gf1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class p3{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(Z,J={}){if(c3(Z),J=J||{},this.options=J,this.pattern=Z,this.platform=J.platform||di,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!J.windowsPathsNoEscape||J.allowWindowsEscape===!1,this.windowsPathsNoEscape)this.pattern=this.pattern.replace(/\\/g,"/");this.preserveMultipleSlashes=!!J.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!J.nonegate,this.comment=!1,this.empty=!1,this.partial=!!J.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=J.windowsNoMagicRoot!==void 0?J.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let Z of this.set)for(let J of Z)if(typeof J!=="string")return!0;return!1}debug(...Z){}make(){let Z=this.pattern,J=this.options;if(!J.nocomment&&Z.charAt(0)==="#"){this.comment=!0;return}if(!Z){this.empty=!0;return}if(this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],J.debug)this.debug=(...Y)=>console.error(...Y);this.debug(this.pattern,this.globSet);let $=this.globSet.map((Y)=>this.slashSplit(Y));this.globParts=this.preprocess($),this.debug(this.pattern,this.globParts);let X=this.globParts.map((Y,Q,W)=>{if(this.isWindows&&this.windowsNoMagicRoot){let K=Y[0]===""&&Y[1]===""&&(Y[2]==="?"||!bi.test(Y[2]))&&!bi.test(Y[3]),z=/^[a-z]:/i.test(Y[0]);if(K)return[...Y.slice(0,4),...Y.slice(4).map((G)=>this.parse(G))];else if(z)return[Y[0],...Y.slice(1).map((G)=>this.parse(G))]}return Y.map((K)=>this.parse(K))});if(this.debug(this.pattern,X),this.set=X.filter((Y)=>Y.indexOf(!1)===-1),this.isWindows)for(let Y=0;Y<this.set.length;Y++){let Q=this.set[Y];if(Q[0]===""&&Q[1]===""&&this.globParts[Y][2]==="?"&&typeof Q[3]==="string"&&/^[a-z]:$/i.test(Q[3]))Q[2]="?"}this.debug(this.pattern,this.set)}preprocess(Z){if(this.options.noglobstar){for(let $=0;$<Z.length;$++)for(let X=0;X<Z[$].length;X++)if(Z[$][X]==="**")Z[$][X]="*"}let{optimizationLevel:J=1}=this.options;if(J>=2)Z=this.firstPhasePreProcess(Z),Z=this.secondPhasePreProcess(Z);else if(J>=1)Z=this.levelOneOptimize(Z);else Z=this.adjascentGlobstarOptimize(Z);return Z}adjascentGlobstarOptimize(Z){return Z.map((J)=>{let $=-1;while(($=J.indexOf("**",$+1))!==-1){let X=$;while(J[X+1]==="**")X++;if(X!==$)J.splice($,X-$)}return J})}levelOneOptimize(Z){return Z.map((J)=>{return J=J.reduce(($,X)=>{let Y=$[$.length-1];if(X==="**"&&Y==="**")return $;if(X===".."){if(Y&&Y!==".."&&Y!=="."&&Y!=="**")return $.pop(),$}return $.push(X),$},[]),J.length===0?[""]:J})}levelTwoFileOptimize(Z){if(!Array.isArray(Z))Z=this.slashSplit(Z);let J=!1;do{if(J=!1,!this.preserveMultipleSlashes){for(let X=1;X<Z.length-1;X++){let Y=Z[X];if(X===1&&Y===""&&Z[0]==="")continue;if(Y==="."||Y==="")J=!0,Z.splice(X,1),X--}if(Z[0]==="."&&Z.length===2&&(Z[1]==="."||Z[1]===""))J=!0,Z.pop()}let $=0;while(($=Z.indexOf("..",$+1))!==-1){let X=Z[$-1];if(X&&X!=="."&&X!==".."&&X!=="**")J=!0,Z.splice($-1,2),$-=2}}while(J);return Z.length===0?[""]:Z}firstPhasePreProcess(Z){let J=!1;do{J=!1;for(let $ of Z){let X=-1;while((X=$.indexOf("**",X+1))!==-1){let Q=X;while($[Q+1]==="**")Q++;if(Q>X)$.splice(X+1,Q-X);let W=$[X+1],K=$[X+2],z=$[X+3];if(W!=="..")continue;if(!K||K==="."||K===".."||!z||z==="."||z==="..")continue;J=!0,$.splice(X,1);let G=$.slice(0);G[X]="**",Z.push(G),X--}if(!this.preserveMultipleSlashes){for(let Q=1;Q<$.length-1;Q++){let W=$[Q];if(Q===1&&W===""&&$[0]==="")continue;if(W==="."||W==="")J=!0,$.splice(Q,1),Q--}if($[0]==="."&&$.length===2&&($[1]==="."||$[1]===""))J=!0,$.pop()}let Y=0;while((Y=$.indexOf("..",Y+1))!==-1){let Q=$[Y-1];if(Q&&Q!=="."&&Q!==".."&&Q!=="**"){J=!0;let K=Y===1&&$[Y+1]==="**"?["."]:[];if($.splice(Y-1,2,...K),$.length===0)$.push("");Y-=2}}}}while(J);return Z}secondPhasePreProcess(Z){for(let J=0;J<Z.length-1;J++)for(let $=J+1;$<Z.length;$++){let X=this.partsMatch(Z[J],Z[$],!this.preserveMultipleSlashes);if(X){Z[J]=[],Z[$]=X;break}}return Z.filter((J)=>J.length)}partsMatch(Z,J,$=!1){let X=0,Y=0,Q=[],W="";while(X<Z.length&&Y<J.length)if(Z[X]===J[Y])Q.push(W==="b"?J[Y]:Z[X]),X++,Y++;else if($&&Z[X]==="**"&&J[Y]===Z[X+1])Q.push(Z[X]),X++;else if($&&J[Y]==="**"&&Z[X]===J[Y+1])Q.push(J[Y]),Y++;else if(Z[X]==="*"&&J[Y]&&(this.options.dot||!J[Y].startsWith("."))&&J[Y]!=="**"){if(W==="b")return!1;W="a",Q.push(Z[X]),X++,Y++}else if(J[Y]==="*"&&Z[X]&&(this.options.dot||!Z[X].startsWith("."))&&Z[X]!=="**"){if(W==="a")return!1;W="b",Q.push(J[Y]),X++,Y++}else return!1;return Z.length===J.length&&Q}parseNegate(){if(this.nonegate)return;let Z=this.pattern,J=!1,$=0;for(let X=0;X<Z.length&&Z.charAt(X)==="!";X++)J=!J,$++;if($)this.pattern=Z.slice($);this.negate=J}matchOne(Z,J,$=!1){let X=this.options;if(this.isWindows){let U=typeof Z[0]==="string"&&/^[a-z]:$/i.test(Z[0]),L=!U&&Z[0]===""&&Z[1]===""&&Z[2]==="?"&&/^[a-z]:$/i.test(Z[3]),O=typeof J[0]==="string"&&/^[a-z]:$/i.test(J[0]),_=!O&&J[0]===""&&J[1]===""&&J[2]==="?"&&typeof J[3]==="string"&&/^[a-z]:$/i.test(J[3]),w=L?3:U?0:void 0,A=_?3:O?0:void 0;if(typeof w==="number"&&typeof A==="number"){let[M,N]=[Z[w],J[A]];if(M.toLowerCase()===N.toLowerCase()){if(J[A]=M,A>w)J=J.slice(A);else if(w>A)Z=Z.slice(w)}}}let{optimizationLevel:Y=1}=this.options;if(Y>=2)Z=this.levelTwoFileOptimize(Z);this.debug("matchOne",this,{file:Z,pattern:J}),this.debug("matchOne",Z.length,J.length);for(var Q=0,W=0,K=Z.length,z=J.length;Q<K&&W<z;Q++,W++){this.debug("matchOne loop");var G=J[W],H=Z[Q];if(this.debug(J,G,H),G===!1)return!1;if(G===Q8){this.debug("GLOBSTAR",[J,G,H]);var V=Q,F=W+1;if(F===z){this.debug("** at the end");for(;Q<K;Q++)if(Z[Q]==="."||Z[Q]===".."||!X.dot&&Z[Q].charAt(0)===".")return!1;return!0}while(V<K){var B=Z[V];if(this.debug(`
52
52
  globstar while`,Z,V,J,F,B),this.matchOne(Z.slice(V),J.slice(F),$))return this.debug("globstar found match!",V,K,B),!0;else{if(B==="."||B===".."||!X.dot&&B.charAt(0)==="."){this.debug("dot detected!",Z,V,J,F);break}this.debug("globstar swallow a segment, and continue"),V++}}if($){if(this.debug(`
53
- >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return ci(this.pattern,this.options)}parse(Z){c3(Z);let J=this.options;if(Z==="**")return Q8;if(Z==="")return"";let $,X=null;if($=Z.match(Tf1))X=J.dot?Nf1:jf1;else if($=Z.match(Ff1))X=(J.nocase?J.dot?Df1:Lf1:J.dot?Uf1:Bf1)($[1]);else if($=Z.match(Rf1))X=(J.nocase?J.dot?qf1:Cf1:J.dot?Ef1:Pf1)($);else if($=Z.match(Of1))X=J.dot?wf1:_f1;else if($=Z.match(Af1))X=Mf1;let Y=N4.fromGlob(Z,this.options).toMMPattern();if(X&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:X});return Y}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let Z=this.set;if(!Z.length)return this.regexp=!1,this.regexp;let J=this.options,$=J.noglobstar?yf1:J.dot?kf1:xf1,X=new Set(J.nocase?["i"]:[]),Y=Z.map((K)=>{let z=K.map((G)=>{if(G instanceof RegExp)for(let H of G.flags.split(""))X.add(H);return typeof G==="string"?gf1(G):G===Q8?Q8:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==Q8||F===Q8)return;if(F===void 0)if(V!==void 0&&V!==Q8)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==Q8)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=Q8}),z.filter((G)=>G!==Q8).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...X].join(""))}catch(K){this.regexp=!1}return this.regexp}slashSplit(Z){if(this.preserveMultipleSlashes)return Z.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(Z))return["",...Z.split(/\/+/)];else return Z.split(/\/+/)}match(Z,J=this.partial){if(this.debug("match",Z,this.pattern),this.comment)return!1;if(this.empty)return Z==="";if(Z==="/"&&J)return!0;let $=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let X=this.slashSplit(Z);this.debug(this.pattern,"split",X);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=X[X.length-1];if(!Q)for(let W=X.length-2;!Q&&W>=0;W--)Q=X[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=X;if($.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if($.flipNegate)return!0;return!this.negate}}if($.flipNegate)return!1;return this.negate}static defaults(Z){return R4.defaults(Z).Minimatch}}R4.AST=N4;R4.Minimatch=p3;R4.escape=RD;R4.unescape=h7;var pi="@fastify/otel",uf1="0.8.0",df1=">=4.0.0 <6",ii=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],F0={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},f7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},D9="anonymous",r4=Symbol("fastify otel instance"),b7=Symbol("fastify otel request spans"),i3=Symbol("fastify otel request context"),ni=Symbol("fastify otel addhook original"),ai=Symbol("fastify otel setnotfound original"),XG=Symbol("fastify otel ignore path");class CD extends oi.InstrumentationBase{constructor(Z){super(pi,uf1,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[XG]=null,this._logger=i0.diag.createComponentLogger({namespace:pi}),Z?.ignorePaths!=null||process.env.OTEL_FASTIFY_IGNORE_PATHS!=null){let J=Z?.ignorePaths??process.env.OTEL_FASTIFY_IGNORE_PATHS;if((typeof J!=="string"||J.length===0)&&typeof J!=="function")throw TypeError("ignorePaths must be a string or a function");let $=R4;this[XG]=(X)=>{if(typeof J==="function")return J(X);else return $(X.url,J)}}}enable(){if(this._handleInitialization===void 0&&this.getConfig().registerOnInitialization){let Z=this.plugin();this._handleInitialization=(J)=>{J.fastify.register(Z)},li.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)li.unsubscribe("fastify.initialization",this._handleInitialization),this._handleInitialization=void 0;return super.disable()}init(){return[]}plugin(){let Z=this;return J[Symbol.for("skip-override")]=!0,J[Symbol.for("fastify.display-name")]="@fastify/otel",J[Symbol.for("plugin-meta")]={fastify:df1,name:"@fastify/otel"},J;function J($,X,Y){$.decorate(r4,Z),$.decorate(ni,$.addHook),$.decorate(ai,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[i3];return{span:this[b7],tracer:Z.tracer,context:V,inject:(B,U)=>{return i0.propagation.inject(V,B,U)},extract:(B,U)=>{return i0.propagation.extract(V,B,U)}}}),$.decorateRequest(b7,null),$.decorateRequest(i3,null),$.addHook("onRoute",function(H){if(Z[XG]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of ii)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[F0.FASTIFY_TYPE]:f7.ROUTE,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:D9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[F0.FASTIFY_TYPE]:f7.ROUTE,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:D9}));H[V]=B}}if(H.onSend!=null)H.onSend=Array.isArray(H.onSend)?[...H.onSend,Q]:[H.onSend,Q];else H.onSend=Q;if(H.onError!=null)H.onError=Array.isArray(H.onError)?[...H.onError,W]:[H.onError,W];else H.onError=W;H.handler=G(H.handler,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route-handler`,[F0.FASTIFY_TYPE]:f7.HANDLER,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:D9})}),$.addHook("onRequest",function(H,V,F){if(this[r4].isEnabled()===!1)return F();else if(this[r4][XG]?.({url:H.url,method:H.method})===!0)return this[r4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=i0.context.active();if(i0.trace.getSpan(B)==null)B=i0.propagation.extract(B,H.headers);let U=YG.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===YG.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[r4].tracer.startSpan("request",{attributes:{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.ROOT]:"@fastify/otel",[J4.ATTR_HTTP_ROUTE]:H.url,[J4.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[i3]=i0.trace.setSpan(B,L),H[b7]=L,i0.context.with(H[i3],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[b7];if(B!=null)B.setStatus({code:i0.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[J4.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[b7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[b7];if(U!=null){if(V.statusCode<500)U.setStatus({code:i0.SpanStatusCode.OK,message:"OK"});U.setAttributes({[J4.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[b7]=null,B(null,F)}function W(H,V,F,B){let U=H[b7];if(U!=null)U.setStatus({code:i0.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[ni];if(ii.includes(H))return F.call(this,H,G(V,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - ${H}`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:D9}));else return F.call(this,H,V)}function z(H,V){let F=this[ai];if(typeof H==="function")V=G(H,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:D9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:D9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:D9});V=G(V,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:D9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[r4],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let O=L[i3]??i0.context.active(),_=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??D9}`,{attributes:V},O);return i0.context.with(i0.trace.setSpan(O,_),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((A)=>{return _.end(),A},(A)=>{return _.setStatus({code:i0.SpanStatusCode.ERROR,message:A.message}),_.recordException(A),_.end(),Promise.reject(A)});return _.end(),w}catch(w){throw _.setStatus({code:i0.SpanStatusCode.ERROR,message:w.message}),_.recordException(w),_.end(),w}},this)}}}}}var n8=v(g(),1),WG=v(A0(),1),WJ=v(U1(),1),Zn=v($0(),1);var O9;(function(Z){Z.FASTIFY_NAME="fastify.name";let $="fastify.type";Z.FASTIFY_TYPE=$;let X="hook.name";Z.HOOK_NAME=X;let Y="plugin.name";Z.PLUGIN_NAME=Y})(O9||(O9={}));var n3;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(n3||(n3={}));var a3;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})(a3||(a3={}));var si=v(g(),1);var o3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function qD(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[o3]||[];return Q.push(Y),Object.defineProperty(Z,o3,{enumerable:!1,configurable:!0,value:Q}),Y}function QG(Z,J){let $=Z[o3]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:si.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[o3]}function ti(Z,J,$){let X,Y=void 0;try{if(Y=Z(),ri(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!ri(Y)){if(J(X,Y),X)throw X}return Y}}function ri(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var cf1="0.1.0",lf1="@sentry/instrumentation-fastify-v3",ei="anonymous",pf1=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class ED extends WJ.InstrumentationBase{constructor(Z={}){super(lf1,cf1,Z)}init(){return[new WJ.InstrumentationNodeModuleDefinition("fastify",[">=3.0.0 <4"],(Z)=>{return this._patchConstructor(Z)})]}_hookOnRequest(){let Z=this;return function($,X,Y){if(!Z.isEnabled())return Y();Z._wrap(X,"send",Z._patchSend());let Q=$,W=WG.getRPCMetadata(n8.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===WG.RPCType.HTTP)W.route=K;let z=$.method||"GET";g1().setTransactionName(`${z} ${K}`),Y()}}_wrapHandler(Z,J,$,X){let Y=this;return this._diag.debug("Patching fastify route.handler function"),function(...Q){if(!Y.isEnabled())return $.apply(this,Q);let W=$.name||Z||ei,K=`${a3.MIDDLEWARE} - ${W}`,z=Q[1],G=qD(z,Y.tracer,K,{[O9.FASTIFY_TYPE]:n3.MIDDLEWARE,[O9.PLUGIN_NAME]:Z,[O9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){QG(z),H.apply(this,V)};return n8.context.with(n8.trace.setSpan(n8.context.active(),G),()=>{return ti(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:n8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)QG(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...X){let Y=X[0],Q=X[1],W=this.pluginName;if(!pf1.has(Y))return J.apply(this,X);let K=typeof X[X.length-1]==="function"&&Q.constructor.name!=="AsyncFunction";return J.apply(this,[Y,Z._wrapHandler(W,Y,Q,K)])}}}_patchConstructor(Z){let J=this;function $(...X){let Y=Z.fastify.apply(this,X);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),if1(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)$.errorCodes=Z.errorCodes;return $.fastify=$,$.default=$,$}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function($){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return $.apply(this,Y);return WJ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;QG(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function($,X,Y){if(!Z.isEnabled())return Y();let Q=$,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${a3.REQUEST_HANDLER} - ${K||this.pluginName||ei}`,G={[O9.PLUGIN_NAME]:this.pluginName,[O9.FASTIFY_TYPE]:n3.REQUEST_HANDLER,[Zn.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[O9.FASTIFY_NAME]=K;let H=qD(X,Z.tracer,z,G);Jn(H);let{requestHook:V}=Z.getConfig();if(V)WJ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return n8.context.with(n8.trace.setSpan(n8.context.active(),H),()=>{Y()})}}}function if1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{Jn(J)})}function Jn(Z){let J=$1(Z).data,$=J["fastify.type"];if(J[V1]||!$)return;Z.setAttributes({[Q1]:"auto.http.otel.fastify",[V1]:`${$}.fastify`});let X=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof X==="string"){let Y=X.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var KG="Fastify",Xn=s(`${KG}.v3`,()=>new ED);function nf1(){let Z=p();if(!Z)return;else return Z.getIntegrationByName(KG)}function $n(Z,J,$,X){let Y=nf1()?.getShouldHandleError()||Wn;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){h0&&j.warn("Fastify error handler was already registered via diagnostics channel.","You can safely remove `setupFastifyErrorHandler` call and set `shouldHandleError` on the integration options.");return}if(Y(Z,J,$))L1(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var Yn=s(`${KG}.v5`,()=>{let Z=new CD,J=Z.plugin();return PD.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)h0&&j.error("Failed to setup Fastify instrumentation",Y);else if(of1(),X)rf1(X)})}),PD.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;$n.call($n,X,Y,Q,"diagnostics-channel")}),Z}),af1=({shouldHandleError:Z})=>{let J;return{name:KG,setupOnce(){J=Z||Wn,Xn(),Yn()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},Qn=k((Z={})=>af1(Z));function Wn(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function Kn(Z){let J=$1(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[V1]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[Q1]:"auto.http.otel.fastify",[V1]:`${z}.fastify`});let G=X["fastify.name"]||X["plugin.name"]||X["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function of1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{Kn(J)})}function rf1(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)Kn(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";g1().setTransactionName(`${Y} ${X}`)})}var ln=v(g(),1),pn=v(cn(),1);var nn="Graphql",an=s(nn,pn.GraphQLInstrumentation,(Z)=>{let J=rn(Z);return{...J,responseHook($,X){if(X0($,"auto.graphql.otel.graphql"),X.errors?.length&&!$1($).status)$.setStatus({code:ln.SpanStatusCode.ERROR});let Q=$1($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=x0($),H=$1(z).data[i$]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(i$,H);else if(typeof H==="string")z.setAttribute(i$,[H,V]);else z.setAttribute(i$,V);if(!$1(z).data["original-description"])z.setAttribute("original-description",$1(z).description);z.updateName(`${$1(z).data["original-description"]} (${Cb1(H)})`)}}}}),Rb1=(Z={})=>{return{name:nn,setupOnce(){an(rn(Z))}}},on=k(Rb1);function rn(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function Cb1(Z){if(Array.isArray(Z)){let J=Z.slice().sort();if(J.length<=5)return J.join(", ");else return`${J.slice(0,5).join(", ")}, +${J.length-5}`}return`${Z}`}var wa=v(_a(),1);var Aa="Kafka",Ma=s(Aa,()=>new wa.KafkaJsInstrumentation({consumerHook(Z){X0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){X0(Z,"auto.kafkajs.otel.producer")}})),ib1=()=>{return{name:Aa,setupOnce(){Ma()}}},Ta=k(ib1);var xa=v(ka(),1);var va="LruMemoizer",ha=s(va,()=>new xa.LruMemoizerInstrumentation),rb1=()=>{return{name:va,setupOnce(){ha()}}},fa=k(rb1);var Zo=v(ea(),1);var Jo="Mongo",$o=s(Jo,()=>new Zo.MongoDBInstrumentation({dbStatementSerializer:Fg1,responseHook(Z){X0(Z,"auto.db.otel.mongo")}}));function Fg1(Z){let J=dD(Z);return JSON.stringify(J)}function dD(Z){if(Array.isArray(Z))return Z.map((J)=>dD(J));if(Bg1(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,dD(X)]).reduce(($,X)=>{if(Lg1(X))$[X[0]]=X[1];return $},J)}return"?"}function Bg1(Z){return typeof Z==="object"&&Z!==null&&!Ug1(Z)}function Ug1(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Lg1(Z){return Array.isArray(Z)}var Dg1=()=>{return{name:Jo,setupOnce(){$o()}}},Xo=k(Dg1);var jo=v(To(),1);var No="Mongoose",Ro=s(No,()=>new jo.MongooseInstrumentation({responseHook(Z){X0(Z,"auto.db.otel.mongoose")}})),fg1=()=>{return{name:No,setupOnce(){Ro()}}},Co=k(fg1);var lo=v(co(),1);var po="Mysql",io=s(po,()=>new lo.MySQLInstrumentation({})),zm1=()=>{return{name:po,setupOnce(){io()}}},no=k(zm1);var Fr=v(Vr(),1);var Br="Mysql2",Ur=s(Br,()=>new Fr.MySQL2Instrumentation({responseHook(Z){X0(Z,"auto.db.otel.mysql2")}})),hm1=()=>{return{name:Br,setupOnce(){Ur()}}},Lr=k(hm1);var Us=v(xr(),1),Ls=v(Gs(),1);var _u1=["get","set","setex"],HO=["get","mget"],wu1=["set","setex"];function QQ(Z,J){return Z.includes(J.toLowerCase())}function VO(Z){if(QQ(HO,Z))return"cache.get";else if(QQ(wu1,Z))return"cache.put";else return}function Au1(Z,J){return J.some(($)=>Z.startsWith($))}function Vs(Z,J){try{if(J.length===0)return;let $=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return Hs(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(QQ(_u1,Z)&&X!=null)return $(X);return Hs(J.map((Y)=>$(Y)))}catch{return}}function Fs(Z,J,$){if(!VO(Z))return!1;for(let X of J)if(Au1(X,$))return!0;return!1}function Bs(Z){let J=($)=>{try{if(Buffer.isBuffer($))return $.byteLength;else if(typeof $==="string")return $.length;else if(typeof $==="number")return $.toString().length;else if($===null||$===void 0)return 0;return JSON.stringify($).length}catch{return}};return Array.isArray(Z)?Z.reduce(($,X)=>{let Y=J(X);return typeof Y==="number"?$!==void 0?$+Y:Y:$},0):J(Z)}function Hs(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var TG="Redis",WQ={},Ds=(Z,J,$,X)=>{Z.setAttribute(Q1,"auto.db.otel.redis");let Y=Vs(J,$),Q=VO(J);if(!Y||!Q||!WQ.cachePrefixes||!Fs(J,Y,WQ.cachePrefixes))return;let W=$1(Z).data["net.peer.name"],K=$1(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=Bs(X);if(z)Z.setAttribute(JL,z);if(QQ(HO,J)&&z!==void 0)Z.setAttribute(eU,z>0);Z.setAttributes({[V1]:Q,[ZL]:Y});let G=Y.join(", ");Z.updateName(WQ.maxCacheKeyLength?z7(G,WQ.maxCacheKeyLength):G)},Mu1=s(`${TG}.IORedis`,()=>{return new Us.IORedisInstrumentation({responseHook:Ds})}),Tu1=s(`${TG}.Redis`,()=>{return new Ls.RedisInstrumentation({responseHook:Ds})}),Os=Object.assign(()=>{Mu1(),Tu1()},{id:TG}),ju1=(Z={})=>{return{name:TG,setupOnce(){WQ=Z,Os()}}},_s=k(ju1);var as=v(ns(),1);var os="Postgres",rs=s(os,()=>new as.PgInstrumentation({requireParentSpan:!0,requestHook(Z){X0(Z,"auto.db.otel.postgres")}})),Ld1=()=>{return{name:os,setupOnce(){rs()}}},ss=k(Ld1);var BX=v(g(),1),M9=v(U1(),1),n0=v($0(),1);var PG="PostgresJs",ts=[">=3.0.0 <4"],Dd1=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,EG=Symbol("sentryPostgresConnectionContext"),_O=Symbol.for("sentry.instrumented.postgresjs"),es=Symbol.for("sentry.query.from.instrumented.sql"),Zt=s(PG,(Z)=>new Jt({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class Jt extends M9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",h1,Z)}init(){let Z=new M9.InstrumentationNodeModuleDefinition("postgres",ts,(J)=>{try{return this._patchPostgres(J)}catch($){return h0&&j.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new M9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,ts,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return h0&&j.warn("postgres module does not export a function. Skipping instrumentation."),Z;let X=this,Y=function(...Q){let W=Reflect.construct($,Q);if(!W||typeof W!=="function")return h0&&j.warn("postgres() did not return a valid instance"),W;return X._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return O3(Z,"default",Y),Z}_wrapQueryMethod(Z,J,$){let X=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)X._wrapSingleQueryHandle(Q,$);return Q}}_wrapCallbackMethod(Z,J,$){let X=this;return function(...Y){let Q=$[EG];if(typeof Y[Y.length-1]!=="function"){let H=Reflect.apply(Z,J,Y);if(H&&typeof H.then==="function")return H.then((V)=>{return X._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=X._instrumentSqlInstance(H,Q);return K(V)},G=Y.length===1?[z]:[Y[0],z];return Reflect.apply(Z,J,G)}}_setConnectionAttributes(Z,J){if(!J)return;if(J.ATTR_DB_NAMESPACE)Z.setAttribute(n0.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(n0.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let $=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN($))Z.setAttribute(n0.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(n0.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(Dd1);if(X?.[1])Z.setAttribute(n0.ATTR_DB_OPERATION_NAME,X[1].toUpperCase())}_attachConnectionContext(Z,J){let $=Z;if(!$.options||typeof $.options!=="object")return;let X=$.options,Y=X.host?.[0]||"localhost",Q=X.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof X.database==="string"&&X.database!==""?X.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[EG]=W}_instrumentSqlInstance(Z,J){if(Z[_O])return Z;let $=this,X=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)$._wrapSingleQueryHandle(K,X);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return $._wrapQueryMethod(W,Y,X);if(Q==="begin"||Q==="reserve")return $._wrapCallbackMethod(W,Y,X);return W}});if(J)X[EG]=J;else this._attachConnectionContext(Z,X);return Z[_O]=!0,X[_O]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[es]=!0;let $=Z.handle,X=this,Y=async function(...Q){if(!X._shouldCreateSpans())return $.apply(this,Q);let W=X._reconstructQuery(Z.strings),K=X._sanitizeSqlQuery(W);return T4({name:K||"postgresjs.query",op:"db"},(z)=>{X0(z,"auto.db.postgresjs"),z.setAttributes({[n0.ATTR_DB_SYSTEM_NAME]:"postgres",[n0.ATTR_DB_QUERY_TEXT]:K});let G=J?J[EG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)M9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),h0&&j.error(`Error in requestHook for ${PG} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,L)=>{try{X._setOperationName(z,K,L?.[0]?.command),z.end()}catch(O){h0&&j.error("Error ending span in resolve callback:",O)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:E1,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(n0.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(n0.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(O){h0&&j.error("Error ending span in reject callback:",O)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:E1,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return BX.trace.getSpan(BX.context.active())!==void 0||!Z.requireParentSpan}_reconstructQuery(Z){if(!Z?.length)return;if(Z.length===1)return Z[0]||void 0;return Z.reduce((J,$,X)=>X===0?$:`${J}$${X}${$}`,"")}_sanitizeSqlQuery(Z){if(!Z)return"Unknown SQL Query";return Z.replace(/--.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/;\s*$/,"").replace(/\s+/g," ").trim().replace(/\bX'[0-9A-Fa-f]*'/gi,"?").replace(/\bB'[01]*'/gi,"?").replace(/'(?:[^']|'')*'/g,"?").replace(/\b0x[0-9A-Fa-f]+/gi,"?").replace(/\b(?:TRUE|FALSE)\b/gi,"?").replace(/-?\b\d+\.?\d*[eE][+-]?\d+\b/g,"?").replace(/-?\b\d+\.\d+\b/g,"?").replace(/-?\.\d+\b/g,"?").replace(/(?<!\$)-?\b\d+\b/g,"?").replace(/\bIN\b\s*\(\s*\?(?:\s*,\s*\?)*\s*\)/gi,"IN (?)").replace(/\bIN\b\s*\(\s*\$\d+(?:\s*,\s*\$\d+)*\s*\)/gi,"IN ($?)")}_patchQueryPrototype(Z){let J=this,$=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...X){if(this[es])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return T4({name:Q||"postgresjs.query",op:"db"},(W)=>{X0(W,"auto.db.postgresjs"),W.setAttributes({[n0.ATTR_DB_SYSTEM_NAME]:"postgres",[n0.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)M9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),h0&&j.error(`Error in requestHook for ${PG} integration:`,V)},!0);let G=this.resolve;this.resolve=new Proxy(G,{apply:(V,F,B)=>{try{J._setOperationName(W,Q,B?.[0]?.command),W.end()}catch(U){h0&&j.error("Error ending span in resolve callback:",U)}return Reflect.apply(V,F,B)}});let H=this.reject;this.reject=new Proxy(H,{apply:(V,F,B)=>{try{W.setStatus({code:E1,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(n0.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(n0.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){h0&&j.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return $.apply(this,X)}catch(V){throw W.setStatus({code:E1,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=$,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var Od1=(Z)=>{return{name:PG,setupOnce(){Zt(Z)}}},$t=k(Od1);var V8=v(g(),1);var Qt=v(g(),1),IG=v(U1(),1),c7=v(g(),1);var _d1=process.env.PRISMA_SHOW_ALL_TRACES==="true",wd1="00-10-10-00";function Ad1(Z){switch(Z){case"client":return c7.SpanKind.CLIENT;case"internal":default:return c7.SpanKind.INTERNAL}}var Md1=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=c7.trace.getSpanContext(Z??c7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return wd1}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)Wt(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return c7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!_d1)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(Kt(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Xt(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Xt(Q,J(Q,X)))}};function Wt(Z,J,$,X,Y){if(Kt(J.name,Y))return;let Q={attributes:J.attributes,kind:Ad1(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if(X.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=X.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=$.filter((z)=>z.parentId===J.id);for(let z of K)Wt(Z,z,$,X,Y);W.end(J.endTime)})}function Xt(Z,J){if(Td1(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function Td1(Z){return Z!=null&&typeof Z.then==="function"}function Kt(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var zt={name:"@prisma/instrumentation",version:"6.19.0",description:"OpenTelemetry compliant instrumentation for Prisma Client",main:"dist/index.js",module:"dist/index.mjs",types:"dist/index.d.ts",exports:{".":{require:{types:"./dist/index.d.ts",default:"./dist/index.js"},import:{types:"./dist/index.d.ts",default:"./dist/index.mjs"}}},license:"Apache-2.0",homepage:"https://www.prisma.io",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/instrumentation"},bugs:"https://github.com/prisma/prisma/issues",devDependencies:{"@prisma/internals":"workspace:*","@types/node":"18.19.76","@opentelemetry/api":"1.9.0",typescript:"5.4.5"},dependencies:{"@opentelemetry/instrumentation":">=0.52.0 <1"},peerDependencies:{"@opentelemetry/api":"^1.8"},files:["dist"],keywords:["prisma","instrumentation","opentelemetry","otel"],scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",prepublishOnly:"pnpm run build",test:"vitest run"},sideEffects:!1},AO=zt.version,jd1=AO.split(".")[0],Yt="PRISMA_INSTRUMENTATION",wO=`V${jd1}_PRISMA_INSTRUMENTATION`,Nd1=zt.name,Rd1="@prisma/client",Gt=class extends IG.InstrumentationBase{tracerProvider;constructor(Z={}){super(Nd1,AO,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new IG.InstrumentationNodeModuleDefinition(Rd1,[AO])]}enable(){let Z=this._config,J={helper:new Md1({tracerProvider:this.tracerProvider??Qt.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[Yt]=J,global[wO]=J}disable(){delete global[Yt],delete global[wO]}isEnabled(){return Boolean(global[wO])}};var Ht="Prisma";function Cd1(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function Vt(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class Ft extends Gt{constructor(){super()}enable(){super.enable();let Z=Vt();if(Cd1(Z))Z.createEngineSpan=(J)=>{let $=V8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){l0(()=>{console.warn("[Sentry] Could not find _idGenerator on tracer, skipping Prisma v5 compatibility - some Prisma spans may be missing!")});return}try{J.spans.forEach((Y)=>{let Q=qd1(Y.kind),W=Y.parent_span_id,K=Y.span_id,z=Y.trace_id,G=Y.links?.map((V)=>{return{context:{traceId:V.trace_id,spanId:V.span_id,traceFlags:V8.TraceFlags.SAMPLED}}}),H=V8.trace.setSpanContext(V8.context.active(),{traceId:z,spanId:W,traceFlags:V8.TraceFlags.SAMPLED});V8.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};$._idGenerator=V,$.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),$._idGenerator=X})})}finally{$._idGenerator=X}}}}function qd1(Z){switch(Z){case"client":return V8.SpanKind.CLIENT;case"internal":default:return V8.SpanKind.INTERNAL}}var Ed1=s(Ht,(Z)=>{return new Ft}),Bt=k((Z)=>{return{name:Ht,setupOnce(){Ed1()},setup(J){if(!Vt())return;J.on("spanStart",($)=>{let X=$1($);if(X.description?.startsWith("prisma:"))$.setAttribute(Q1,"auto.db.otel.prisma");if(X.description==="prisma:engine:db_query"&&X.data["db.query.text"])$.updateName(X.data["db.query.text"]);if(X.description==="prisma:engine:db_query"&&!X.data["db.system"])$.setAttribute("db.system","prisma")})}}});var vt=v(xt(),1);var ht="Hapi",ft=s(ht,()=>new vt.HapiInstrumentation),td1=()=>{return{name:ht,setupOnce(){ft()}}},bt=k(td1);var kG=v($0(),1);var p7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},VQ={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var GJ=v(g(),1),yG=v(U1(),1);var ed1="@sentry/instrumentation-hono",Zc1="0.0.1";class RO extends yG.InstrumentationBase{constructor(Z={}){super(ed1,Zc1,Z)}init(){return[new yG.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class $ extends Z.Hono{constructor(...X){super(...X);J._wrap(this,"get",J._patchHandler()),J._wrap(this,"post",J._patchHandler()),J._wrap(this,"put",J._patchHandler()),J._wrap(this,"delete",J._patchHandler()),J._wrap(this,"options",J._patchHandler()),J._wrap(this,"patch",J._patchHandler()),J._wrap(this,"all",J._patchHandler()),J._wrap(this,"on",J._patchOnHandler()),J._wrap(this,"use",J._patchMiddlewareHandler())}}try{Z.Hono=$}catch{return{...Z,Hono:$}}return Z}_patchHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...X){let Y=X.slice(2);return J.apply(this,[...X.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function($,X){if(!J.isEnabled())return Z.apply(this,[$,X]);let Y=$.req.path,Q=J.tracer.startSpan(Y);return GJ.context.with(GJ.trace.setSpan(GJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(i4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[p7.HONO_TYPE]:z,[p7.HONO_NAME]:z===VQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[p7.HONO_TYPE]:K,[p7.HONO_NAME]:K===VQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,$){try{let X=Z();if(i4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?VQ.MIDDLEWARE:VQ.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:GJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var gt="Hono";function Jc1(Z){let J=$1(Z).data,$=J[p7.HONO_TYPE];if(J[V1]||!$)return;Z.setAttributes({[Q1]:"auto.http.otel.hono",[V1]:`${$}.hono`});let X=J[p7.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(g1()===q6()){h0&&j.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[kG.ATTR_HTTP_ROUTE],Q=J[kG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")g1().setTransactionName(`${Q} ${Y}`)}var mt=s(gt,()=>new RO({responseHook:(Z)=>{Jc1(Z)}})),$c1=()=>{return{name:gt,setupOnce(){mt()}}},ut=k($c1);var He=v(Ge(),1),Ve=v($0(),1);var Fe="Koa",Be=s(Fe,He.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){X0(J,"auto.http.otel.koa");let X=$1(J).data,Y=X["koa.type"];if(Y)J.setAttribute(V1,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(g1()===q6()){h0&&j.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[Ve.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)g1().setTransactionName(`${K} ${W}`)}}}),Uc1=(Z={})=>{return{name:Fe,setupOnce(){Be(Z)}}},Ue=k(Uc1);var ve=v(xe(),1);var he="Connect",fe=s(he,()=>new ve.ConnectInstrumentation),Ec1=()=>{return{name:he,setupOnce(){fe()}}},be=k(Ec1);var $11=v(J11(),1);var cc1=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),X11="Tedious",Y11=s(X11,()=>new $11.TediousInstrumentation({})),lc1=()=>{let Z;return{name:X11,setupOnce(){let J=Y11();Z=h3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=$1($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(cc1.has(Q))$.setAttribute(Q1,"auto.db.otel.tedious")}))}}},Q11=k(lc1);var L11=v(U11(),1);var D11="GenericPool",O11=s(D11,()=>new L11.GenericPoolInstrumentation({})),ac1=()=>{let Z;return{name:D11,setupOnce(){let J=O11();Z=h3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=$1($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(Q1,"auto.db.otel.generic_pool")}))}}},_11=k(ac1);var d11=v(u11(),1);var c11="Amqplib",El1={consumeEndHook:(Z)=>{X0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{X0(Z,"auto.amqplib.otel.publisher")}},l11=s(c11,()=>new d11.AmqplibInstrumentation(El1)),Pl1=()=>{return{name:c11,setupOnce(){l11()}}},p11=k(Pl1);var DQ="VercelAI";var dG=v(U1(),1);var Il1=[">=3.0.0 <7"],i11=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function Sl1(Z){if(typeof Z!=="object"||Z===null)return!1;let J=Z;return"type"in J&&"error"in J&&"toolName"in J&&"toolCallId"in J&&J.type==="tool-error"&&J.error instanceof Error}function yl1(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let $ of J.content)if(Sl1($)){let X=aL($.toolCallId);if(X){let Y=X.spanContext();V6((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",$.toolName),Q.setTag("vercel.ai.tool.callId",$.toolCallId),Q.setLevel("error"),L1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),oL($.toolCallId)}else V6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),L1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function kl1(Z,J,$,X){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:$===!0?!0:X,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:$===!0?!0:X;return{recordInputs:Y,recordOutputs:Q}}class OQ extends dG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",h1,Z);OQ.prototype.__init.call(this),OQ.prototype.__init2.call(this)}init(){return new dG.InstrumentationNodeModuleDefinition("ai",Il1,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach(($)=>$()),this._callbacks=[];let J=($)=>{return new Proxy($,{apply:(X,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=p(),G=z?.getIntegrationByName(DQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=kl1(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},E6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")s0(U,"_sentry_active_span",U5())},()=>{},(U)=>{yl1(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of i11)Z[$]=J(Z[$]);return Z}else{let $=i11.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var n11=s(DQ,()=>new OQ({}));function xl1(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var vl1=(Z={})=>{let J;return{name:DQ,options:Z,setupOnce(){J=n11()},afterAllSetup($){if(Z.force??xl1($))Hz($);else J?.callWhenPatched(()=>Hz($))}}},a11=k(vl1);var cG=v(U1(),1);var hl1=[">=4.0.0 <7"];class lO extends cG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",h1,Z)}init(){return new cG.InstrumentationNodeModuleDefinition("openai",hl1,this._patch.bind(this))}_patch(Z){let J=Z;return J=this._patchClient(J,"OpenAI"),J=this._patchClient(J,"AzureOpenAI"),J}_patchClient(Z,J){let $=Z[J];if(!$)return Z;let X=this.getConfig(),Y=function(...Q){if(nZ(P7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=p(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return Bz(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}try{Z[J]=Y}catch(Q){Object.defineProperty(Z,J,{value:Y,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===$)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var o11=s(P7,(Z)=>new lO(Z)),fl1=(Z={})=>{return{name:P7,setupOnce(){o11(Z)}}},r11=k(fl1);var lG=v(U1(),1);var bl1=[">=0.19.2 <1.0.0"];class pO extends lG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",h1,Z)}init(){return new lG.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",bl1,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(nZ(I7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return tL(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}try{Z.Anthropic=X}catch(Y){Object.defineProperty(Z,"Anthropic",{value:X,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=X}catch(Y){Object.defineProperty(Z,"default",{value:X,writable:!0,configurable:!0,enumerable:!0})}return Z}}var s11=s(I7,(Z)=>new pO(Z)),gl1=(Z={})=>{return{name:I7,options:Z,setupOnce(){s11(Z)}}},t11=k(gl1);var _X=v(U1(),1);var e11=[">=0.10.0 <2"];class iO extends _X.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",h1,Z)}init(){return new _X.InstrumentationNodeModuleDefinition("@google/genai",e11,(J)=>this._patch(J),(J)=>J,[new _X.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",e11,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,$=this.getConfig();if(typeof J!=="function")return Z;let X=function(...Y){if(nZ(S7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return $2(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}return O3(Z,"GoogleGenAI",X),Z}}var Z01=s(S7,(Z)=>new iO(Z)),ml1=(Z={})=>{return{name:S7,setupOnce(){Z01(Z)}}},J01=k(ml1);var a7=v(U1(),1);var pG=[">=0.1.0 <2.0.0"];function ul1(Z,J){if(!Z)return[J];if(Array.isArray(Z)){if(Z.includes(J))return Z;return[...Z,J]}if(typeof Z==="object")return[Z,J];return Z}function dl1(Z,J,$){return new Proxy(Z,{apply(X,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=ul1(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class nO extends a7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",h1,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let $ of J)Z.push(new a7.InstrumentationNodeModuleDefinition($,pG,this._patch.bind(this),(X)=>X,[new a7.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,pG,this._patch.bind(this),(X)=>X)]));return Z.push(new a7.InstrumentationNodeModuleDefinition("langchain",pG,this._patch.bind(this),($)=>$,[new a7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",pG,this._patch.bind(this),($)=>$)])),Z}_patch(Z){EL([P7,I7,S7]);let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=Lz({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let $=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],X=Z.universal_exports??Z,Y=Object.values(X).find((K)=>{return typeof K==="function"&&$.includes(K.name)});if(!Y)return;let Q=Y.prototype,W=["invoke","stream","batch"];for(let K of W){let z=Q[K];if(typeof z==="function")Q[K]=dl1(z,J)}}}var $01=s(Uz,(Z)=>new nO(Z)),cl1=(Z={})=>{return{name:Uz,setupOnce(){$01(Z)}}},X01=k(cl1);var wX=v(U1(),1);var Y01=[">=0.0.0 <2.0.0"];class aO extends wX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",h1,Z)}init(){return new wX.InstrumentationNodeModuleDefinition("@langchain/langgraph",Y01,this._patch.bind(this),(J)=>J,[new wX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",Y01,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X.recordInputs??$,Q=X.recordOutputs??$,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=Q2(K.prototype.compile,W)}return Z}}var Q01=s(Dz,(Z)=>new aO(Z)),ll1=(Z={})=>{return{name:Dz,setupOnce(){Q01(Z)}}},W01=k(ll1);var U01=v(U1(),1);var j9=v(g(),1),N9=v(U1(),1),F8=v($0(),1);import*as z01 from"net";function G01(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{N9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;j9.diag.error(V?.message)},!0)};let z=new N9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>K01(H,$,X,Z,W)),G=["@firebase/firestore/dist/lite/index.node.cjs.js","@firebase/firestore/dist/lite/index.node.mjs.js","@firebase/firestore/dist/lite/index.rn.esm2017.js","@firebase/firestore/dist/lite/index.cjs.js"];for(let H of G)z.files.push(new N9.InstrumentationNodeModuleFile(H,J,(V)=>K01(V,$,X,Z,W),(V)=>H01(V,X)));return z}function K01(Z,J,$,X,Y){return H01(Z,$),J(Z,"addDoc",pl1(X,Y)),J(Z,"getDocs",nl1(X,Y)),J(Z,"setDoc",al1(X,Y)),J(Z,"deleteDoc",il1(X,Y)),Z}function H01(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(N9.isWrapped(Z[$]))J(Z,$);return Z}function pl1(Z,J){return function(X){return function(Y,Q){let W=nG(Z,"addDoc",Y);return J(W),iG(W,()=>{return X(Y,Q)})}}}function il1(Z,J){return function(X){return function(Y){let Q=nG(Z,"deleteDoc",Y.parent||Y);return J(Q),iG(Q,()=>{return X(Y)})}}}function nl1(Z,J){return function(X){return function(Y){let Q=nG(Z,"getDocs",Y);return J(Q),iG(Q,()=>{return X(Y)})}}}function al1(Z,J){return function(X){return function(Y,Q,W){let K=nG(Z,"setDoc",Y.parent||Y);return J(K),iG(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function iG(Z,J){return j9.context.with(j9.trace.setSpan(j9.context.active(),Z),()=>{return N9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function nG(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:j9.SpanKind.CLIENT});return rl1(X,$),X.setAttribute(F8.ATTR_DB_OPERATION_NAME,J),X}function ol1(Z){let J,$;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(1,X).replace(/^\[|\]$/g,""),$=Z.host.slice(X+1)}}else if(z01.isIPv6(Z.host))J=Z.host;else{let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(0,X),$=Z.host.slice(X+1);else J=Z.host}return{address:J,port:$?parseInt($,10):void 0}}function rl1(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[F8.ATTR_DB_COLLECTION_NAME]:J.path,[F8.ATTR_DB_NAMESPACE]:$.name,[F8.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":X.projectId,"firebase.firestore.options.appId":X.appId,"firebase.firestore.options.messagingSenderId":X.messagingSenderId,"firebase.firestore.options.storageBucket":X.storageBucket},{address:K,port:z}=ol1(Q);if(K)W[F8.ATTR_SERVER_ADDRESS]=K;if(z)W[F8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var R5=v(g(),1),R9=v(U1(),1);function V01(Z,J,$,X,Y){let Q=()=>{},W=()=>{},K=Y.functions?.errorHook,z=Y.functions?.requestHook,G=Y.functions?.responseHook;if(typeof G==="function")W=(F,B)=>{R9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;R5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{R9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;R5.diag.error(B?.message)},!0)};let H=new R9.InstrumentationNodeModuleDefinition("firebase-functions",J);return[{name:"firebase-functions/lib/v2/providers/https.js",triggerType:"function"},{name:"firebase-functions/lib/v2/providers/firestore.js",triggerType:"firestore"},{name:"firebase-functions/lib/v2/providers/scheduler.js",triggerType:"scheduler"},{name:"firebase-functions/lib/v2/storage.js",triggerType:"storage"}].forEach(({name:F,triggerType:B})=>{H.files.push(new R9.InstrumentationNodeModuleFile(F,J,(U)=>sl1(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>F01(U,X)))}),H}function e4(Z,J,$){return function(Y){return function(...Q){let W=typeof Q[0]==="function"?Q[0]:Q[1],K=typeof Q[0]==="function"?void 0:Q[0];if(!W)return Y.call(this,...Q);let z=async function(...G){let H=process.env.FUNCTION_TARGET||process.env.K_SERVICE||"unknown",V=Z.startSpan(`firebase.function.${$}`,{kind:R5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":$,"faas.provider":"firebase"};if(process.env.GCLOUD_PROJECT)F["cloud.project_id"]=process.env.GCLOUD_PROJECT;if(process.env.EVENTARC_CLOUD_EVENT_SOURCE)F["cloud.event_source"]=process.env.EVENTARC_CLOUD_EVENT_SOURCE;return V.setAttributes(F),J?.requestHook?.(V),R5.context.with(R5.trace.setSpan(R5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(L){B=L}if(J?.responseHook?.(V,B),B)V.recordException(B);if(V.end(),B)throw await J?.errorHook?.(V,B),B;return U})};if(K)return Y.call(this,K,z);else return Y.call(this,z)}}}function sl1(Z,J,$,X,Y,Q){switch(F01(Z,$),Q){case"function":J(Z,"onRequest",e4(X,Y,"http.request")),J(Z,"onCall",e4(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",e4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",e4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",e4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",e4(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",e4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",e4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",e4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",e4(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",e4(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",e4(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",e4(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",e4(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",e4(X,Y,"storage.object.metadataUpdated"));break}return Z}function F01(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(R9.isWrapped(Z[X]))J(Z,X);return Z}var B01={},tl1=[">=3.0.0 <5"],el1=[">=6.0.0 <7"];class oO extends U01.InstrumentationBase{constructor(Z=B01){super("@sentry/instrumentation-firebase",h1,Z)}setConfig(Z={}){super.setConfig({...B01,...Z})}init(){let Z=[];return Z.push(G01(this.tracer,tl1,this._wrap,this._unwrap,this.getConfig())),Z.push(V01(this.tracer,el1,this._wrap,this._unwrap,this.getConfig())),Z}}var L01="Firebase",Zp1={firestoreSpanCreationHook:(Z)=>{X0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(V1,"db.query")},functions:{requestHook:(Z)=>{X0(Z,"auto.firebase.otel.functions"),Z.setAttribute(V1,"http.request")},errorHook:async(Z,J)=>{if(J)L1(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await aK(2000)}}},D01=s(L01,()=>new oO(Zp1)),Jp1=()=>{return{name:L01,setupOnce(){D01()}}},O01=k(Jp1);function _Q(){return[_i(),Qn(),on(),ut(),Xo(),Co(),no(),Lr(),_s(),ss(),Bt(),bt(),Ue(),be(),Q11(),_11(),Ta(),p11(),fa(),X01(),W01(),a11(),r11(),t11(),J01(),$t(),O01()]}var AX=v(g(),1);var MX=v($0(),1);var rO=1e6;function _01(Z,J={}){if(Z.getOptions().debug)XD();let[$,X]=$p1(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function $p1(Z,J={}){let $=new fz({sampler:new d2(Z),resource:T3().merge(Sz({[MX.ATTR_SERVICE_NAME]:"node",[MX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[MX.ATTR_SERVICE_VERSION]:h1})),forceFlushTimeoutMillis:500,spanProcessors:[new u2({timeout:Xp1(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});AX.trace.setGlobalTracerProvider($),AX.propagation.setGlobalPropagator(new m2);let X=new lz;return AX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function Xp1(Z){if(Z==null)return;if(Z>rO)return h0&&j.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${rO}`),rO;else if(Z<=0||Number.isNaN(Z)){h0&&j.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function w01(){return oz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(b3(),m3())}function A01(Z){return[...w01(),...R0(Z)?_Q():[]]}function sO(Z={}){return Yp1(Z,A01)}function Yp1(Z={},J){G9(Z,"node");let $=BD({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)_01($,{spanProcessors:Z.openTelemetrySpanProcessors}),rz();return $}import*as R01 from"os";var Qp1="BunServer",Wp1=()=>{return{name:Qp1,setupOnce(){Kp1()}}},j01=k(Wp1),M01=!1;function Kp1(){if(M01)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){T01($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return T01(Q),Y(Q)},X}}),M01=!0}function T01(Z){zp1(Z),Gp1(Z)}function zp1(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return tO(J,$,X)}})}function Gp1(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let $=Z.routes[J];if(typeof $==="function")Z.routes[J]=new Proxy($,{apply:(X,Y,Q)=>{return tO(X,Y,Q,J)}});if($ instanceof Response)return;if(typeof $==="object")Object.entries($).forEach(([X,Y])=>{if(typeof Y==="function")Z.routes[J][X]=new Proxy(Y,{apply:(Q,W,K)=>{return tO(Q,W,K,J)}})})})}function tO(Z,J,$,X){return hZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=Q3(Q.url),z=Hp1(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),X)z[N0]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[N0]="route",z["url.template"]=X,G=X;return Object.assign(z,R$(Q.headers.toJSON(),p()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),pK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>S6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)PK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw L1(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Hp1(Z,J){let $={[Q1]:"auto.http.bun.serve",[$L]:J.method||"GET",[N0]:"url"};if(Z){if(Z.search)$["url.query"]=Z.search;if(Z.hash)$["url.fragment"]=Z.hash;if(Z.pathname)$["url.path"]=Z.pathname;if(!IL(Z)){if($["url.full"]=Z.href,Z.port)$["url.port"]=Z.port;if(Z.protocol)$["url.scheme"]=Z.protocol;if(Z.hostname)$["url.domain"]=Z.hostname}}return $}function N01(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return O7(()=>{return fetch(Z.url,X).then((Y)=>{return{statusCode:Y.status,headers:{"x-sentry-rate-limits":Y.headers.get("X-Sentry-Rate-Limits"),"retry-after":Y.headers.get("Retry-After")}}})})}catch(Y){return Promise.reject(Y)}}return iZ(Z,J)}function C01(Z){return[q$(),C$(),E$(),P$(),I$(),b3(),m3(),ZX(),JX(),t$(),s$(),e$(),j01(),...R0(Z)?_Q():[]]}function eO(Z={}){G9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||R01.hostname()};if(J.transport=J.transport||N01,J.defaultIntegrations===void 0)J.defaultIntegrations=C01(J);return sO(J)}eO({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as q01}from"fs";import{join as E01}from"path";function a0(){return"3.1.0-beta.8"}function Z_(Z){let[J,$]=Z.split("-"),X=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if($){let W=$.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=$}return{major:X[0]||0,minor:X[1]||0,patch:X[2]||0,preRelease:Y,preReleaseNum:Q}}function C9(Z){let J=Z_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function wQ(Z,J){try{let $=Z_(Z),X=Z_(J);if($.major>X.major)return!1;if($.major<X.major)return!1;if(X.preRelease&&!$.preRelease)return!1;if(!X.preRelease&&$.preRelease)return!1;if(X.preRelease&&$.preRelease){if($.minor<X.minor)return!1;if($.minor>X.minor)return!0;if($.patch>X.patch)return!0;if($.patch<X.patch)return!1;return $.preReleaseNum>X.preReleaseNum}if($.minor>X.minor)return!0;if($.minor<X.minor)return!1;if($.patch>X.patch)return!0;return!1}catch($){return!1}}import{parseArgs as Fp1}from"util";var Bp1={debug:{type:"boolean",short:"d",default:!1,description:"Enable debug logging"},"mqtt-port":{type:"string",default:"8884",description:"MQTT broker port"},"terminal-port":{type:"string",default:"3001",description:"Terminal server port"},"router-port":{type:"string",default:"8883",description:"Router port"},username:{type:"string",short:"u",description:"MQTT broker username (required)"},password:{type:"string",short:"p",description:"MQTT broker password (required)"},"ngrok-token":{type:"string",description:"ngrok authentication token (optional)"},"ngrok-domain":{type:"string",description:"ngrok static domain (optional, paid plan)"},"no-auto-update":{type:"boolean",default:!1,description:"Disable auto-update checking"},"terminal-audit":{type:"boolean",default:!1,description:"Enable terminal input audit logging (logs commands, not output)"},"auto-update-check-interval":{type:"string",default:"60",description:"Auto-update check interval in minutes (default: 60)"},help:{type:"boolean",short:"h",default:!1,description:"Show help message"},version:{type:"boolean",short:"v",default:!1,description:"Show version"}};function P01(){let Z=Fp1({options:Bp1,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${a0()}`),process.exit(0);if(Z.values.help)Up1(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,$=process.env.CCC_PASSWORD||Z.values.password,X=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!$)console.error("\x1B[31mError: Authentication credentials are required.\x1B[0m"),console.error(""),console.error("These credentials secure the MQTT communication between the app and backend."),console.error(""),console.error("You can provide them via:"),console.error(""),console.error(" Environment variables (recommended for security):"),console.error(" export CCC_USERNAME=myuser"),console.error(" export CCC_PASSWORD=mypassword"),console.error(" export CCC_NGROK_TOKEN=your_token # optional"),console.error(" export CCC_NGROK_DOMAIN=your_domain # optional"),console.error(" ccc"),console.error(""),console.error(" Or CLI arguments:"),console.error(" ccc --username myuser --password mypassword"),console.error(" ccc -u myuser -p mypassword"),console.error(""),process.exit(1);return{debug:Z.values.debug,mqttPort:parseInt(Z.values["mqtt-port"],10),terminalPort:parseInt(Z.values["terminal-port"],10),routerPort:parseInt(Z.values["router-port"],10),username:J,password:$,ngrokToken:X,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function Up1(){console.log(`
53
+ >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return ci(this.pattern,this.options)}parse(Z){c3(Z);let J=this.options;if(Z==="**")return Q8;if(Z==="")return"";let $,X=null;if($=Z.match(Tf1))X=J.dot?Nf1:jf1;else if($=Z.match(Ff1))X=(J.nocase?J.dot?Df1:Lf1:J.dot?Uf1:Bf1)($[1]);else if($=Z.match(Rf1))X=(J.nocase?J.dot?qf1:Cf1:J.dot?Ef1:Pf1)($);else if($=Z.match(Of1))X=J.dot?wf1:_f1;else if($=Z.match(Af1))X=Mf1;let Y=N4.fromGlob(Z,this.options).toMMPattern();if(X&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:X});return Y}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let Z=this.set;if(!Z.length)return this.regexp=!1,this.regexp;let J=this.options,$=J.noglobstar?yf1:J.dot?kf1:xf1,X=new Set(J.nocase?["i"]:[]),Y=Z.map((K)=>{let z=K.map((G)=>{if(G instanceof RegExp)for(let H of G.flags.split(""))X.add(H);return typeof G==="string"?gf1(G):G===Q8?Q8:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==Q8||F===Q8)return;if(F===void 0)if(V!==void 0&&V!==Q8)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==Q8)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=Q8}),z.filter((G)=>G!==Q8).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...X].join(""))}catch(K){this.regexp=!1}return this.regexp}slashSplit(Z){if(this.preserveMultipleSlashes)return Z.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(Z))return["",...Z.split(/\/+/)];else return Z.split(/\/+/)}match(Z,J=this.partial){if(this.debug("match",Z,this.pattern),this.comment)return!1;if(this.empty)return Z==="";if(Z==="/"&&J)return!0;let $=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let X=this.slashSplit(Z);this.debug(this.pattern,"split",X);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=X[X.length-1];if(!Q)for(let W=X.length-2;!Q&&W>=0;W--)Q=X[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=X;if($.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if($.flipNegate)return!0;return!this.negate}}if($.flipNegate)return!1;return this.negate}static defaults(Z){return R4.defaults(Z).Minimatch}}R4.AST=N4;R4.Minimatch=p3;R4.escape=RD;R4.unescape=h7;var pi="@fastify/otel",uf1="0.8.0",df1=">=4.0.0 <6",ii=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],F0={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},f7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},D9="anonymous",r4=Symbol("fastify otel instance"),b7=Symbol("fastify otel request spans"),i3=Symbol("fastify otel request context"),ni=Symbol("fastify otel addhook original"),ai=Symbol("fastify otel setnotfound original"),XG=Symbol("fastify otel ignore path");class CD extends oi.InstrumentationBase{constructor(Z){super(pi,uf1,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[XG]=null,this._logger=i0.diag.createComponentLogger({namespace:pi}),Z?.ignorePaths!=null||process.env.OTEL_FASTIFY_IGNORE_PATHS!=null){let J=Z?.ignorePaths??process.env.OTEL_FASTIFY_IGNORE_PATHS;if((typeof J!=="string"||J.length===0)&&typeof J!=="function")throw TypeError("ignorePaths must be a string or a function");let $=R4;this[XG]=(X)=>{if(typeof J==="function")return J(X);else return $(X.url,J)}}}enable(){if(this._handleInitialization===void 0&&this.getConfig().registerOnInitialization){let Z=this.plugin();this._handleInitialization=(J)=>{J.fastify.register(Z)},li.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)li.unsubscribe("fastify.initialization",this._handleInitialization),this._handleInitialization=void 0;return super.disable()}init(){return[]}plugin(){let Z=this;return J[Symbol.for("skip-override")]=!0,J[Symbol.for("fastify.display-name")]="@fastify/otel",J[Symbol.for("plugin-meta")]={fastify:df1,name:"@fastify/otel"},J;function J($,X,Y){$.decorate(r4,Z),$.decorate(ni,$.addHook),$.decorate(ai,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[i3];return{span:this[b7],tracer:Z.tracer,context:V,inject:(B,U)=>{return i0.propagation.inject(V,B,U)},extract:(B,U)=>{return i0.propagation.extract(V,B,U)}}}),$.decorateRequest(b7,null),$.decorateRequest(i3,null),$.addHook("onRoute",function(H){if(Z[XG]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of ii)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[F0.FASTIFY_TYPE]:f7.ROUTE,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:D9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[F0.FASTIFY_TYPE]:f7.ROUTE,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:D9}));H[V]=B}}if(H.onSend!=null)H.onSend=Array.isArray(H.onSend)?[...H.onSend,Q]:[H.onSend,Q];else H.onSend=Q;if(H.onError!=null)H.onError=Array.isArray(H.onError)?[...H.onError,W]:[H.onError,W];else H.onError=W;H.handler=G(H.handler,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - route-handler`,[F0.FASTIFY_TYPE]:f7.HANDLER,[J4.ATTR_HTTP_ROUTE]:H.url,[F0.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:D9})}),$.addHook("onRequest",function(H,V,F){if(this[r4].isEnabled()===!1)return F();else if(this[r4][XG]?.({url:H.url,method:H.method})===!0)return this[r4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=i0.context.active();if(i0.trace.getSpan(B)==null)B=i0.propagation.extract(B,H.headers);let U=YG.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===YG.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[r4].tracer.startSpan("request",{attributes:{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.ROOT]:"@fastify/otel",[J4.ATTR_HTTP_ROUTE]:H.url,[J4.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[i3]=i0.trace.setSpan(B,L),H[b7]=L,i0.context.with(H[i3],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[b7];if(B!=null)B.setStatus({code:i0.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[J4.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[b7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[b7];if(U!=null){if(V.statusCode<500)U.setStatus({code:i0.SpanStatusCode.OK,message:"OK"});U.setAttributes({[J4.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[b7]=null,B(null,F)}function W(H,V,F,B){let U=H[b7];if(U!=null)U.setStatus({code:i0.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[ni];if(ii.includes(H))return F.call(this,H,G(V,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - ${H}`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:D9}));else return F.call(this,H,V)}function z(H,V){let F=this[ai];if(typeof H==="function")V=G(H,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:D9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:D9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:D9});V=G(V,{[J4.ATTR_SERVICE_NAME]:$[r4].servername,[F0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[F0.FASTIFY_TYPE]:f7.INSTANCE,[F0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:D9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[r4],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let O=L[i3]??i0.context.active(),_=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??D9}`,{attributes:V},O);return i0.context.with(i0.trace.setSpan(O,_),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((A)=>{return _.end(),A},(A)=>{return _.setStatus({code:i0.SpanStatusCode.ERROR,message:A.message}),_.recordException(A),_.end(),Promise.reject(A)});return _.end(),w}catch(w){throw _.setStatus({code:i0.SpanStatusCode.ERROR,message:w.message}),_.recordException(w),_.end(),w}},this)}}}}}var n8=v(g(),1),WG=v(A0(),1),WJ=v(U1(),1),Zn=v($0(),1);var O9;(function(Z){Z.FASTIFY_NAME="fastify.name";let $="fastify.type";Z.FASTIFY_TYPE=$;let X="hook.name";Z.HOOK_NAME=X;let Y="plugin.name";Z.PLUGIN_NAME=Y})(O9||(O9={}));var n3;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(n3||(n3={}));var a3;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})(a3||(a3={}));var si=v(g(),1);var o3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function qD(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[o3]||[];return Q.push(Y),Object.defineProperty(Z,o3,{enumerable:!1,configurable:!0,value:Q}),Y}function QG(Z,J){let $=Z[o3]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:si.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[o3]}function ti(Z,J,$){let X,Y=void 0;try{if(Y=Z(),ri(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!ri(Y)){if(J(X,Y),X)throw X}return Y}}function ri(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var cf1="0.1.0",lf1="@sentry/instrumentation-fastify-v3",ei="anonymous",pf1=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class ED extends WJ.InstrumentationBase{constructor(Z={}){super(lf1,cf1,Z)}init(){return[new WJ.InstrumentationNodeModuleDefinition("fastify",[">=3.0.0 <4"],(Z)=>{return this._patchConstructor(Z)})]}_hookOnRequest(){let Z=this;return function($,X,Y){if(!Z.isEnabled())return Y();Z._wrap(X,"send",Z._patchSend());let Q=$,W=WG.getRPCMetadata(n8.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===WG.RPCType.HTTP)W.route=K;let z=$.method||"GET";g1().setTransactionName(`${z} ${K}`),Y()}}_wrapHandler(Z,J,$,X){let Y=this;return this._diag.debug("Patching fastify route.handler function"),function(...Q){if(!Y.isEnabled())return $.apply(this,Q);let W=$.name||Z||ei,K=`${a3.MIDDLEWARE} - ${W}`,z=Q[1],G=qD(z,Y.tracer,K,{[O9.FASTIFY_TYPE]:n3.MIDDLEWARE,[O9.PLUGIN_NAME]:Z,[O9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){QG(z),H.apply(this,V)};return n8.context.with(n8.trace.setSpan(n8.context.active(),G),()=>{return ti(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:n8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)QG(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...X){let Y=X[0],Q=X[1],W=this.pluginName;if(!pf1.has(Y))return J.apply(this,X);let K=typeof X[X.length-1]==="function"&&Q.constructor.name!=="AsyncFunction";return J.apply(this,[Y,Z._wrapHandler(W,Y,Q,K)])}}}_patchConstructor(Z){let J=this;function $(...X){let Y=Z.fastify.apply(this,X);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),if1(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)$.errorCodes=Z.errorCodes;return $.fastify=$,$.default=$,$}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function($){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return $.apply(this,Y);return WJ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;QG(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function($,X,Y){if(!Z.isEnabled())return Y();let Q=$,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${a3.REQUEST_HANDLER} - ${K||this.pluginName||ei}`,G={[O9.PLUGIN_NAME]:this.pluginName,[O9.FASTIFY_TYPE]:n3.REQUEST_HANDLER,[Zn.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[O9.FASTIFY_NAME]=K;let H=qD(X,Z.tracer,z,G);Jn(H);let{requestHook:V}=Z.getConfig();if(V)WJ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return n8.context.with(n8.trace.setSpan(n8.context.active(),H),()=>{Y()})}}}function if1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{Jn(J)})}function Jn(Z){let J=$1(Z).data,$=J["fastify.type"];if(J[V1]||!$)return;Z.setAttributes({[Q1]:"auto.http.otel.fastify",[V1]:`${$}.fastify`});let X=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof X==="string"){let Y=X.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var KG="Fastify",Xn=s(`${KG}.v3`,()=>new ED);function nf1(){let Z=p();if(!Z)return;else return Z.getIntegrationByName(KG)}function $n(Z,J,$,X){let Y=nf1()?.getShouldHandleError()||Wn;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){h0&&j.warn("Fastify error handler was already registered via diagnostics channel.","You can safely remove `setupFastifyErrorHandler` call and set `shouldHandleError` on the integration options.");return}if(Y(Z,J,$))L1(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var Yn=s(`${KG}.v5`,()=>{let Z=new CD,J=Z.plugin();return PD.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)h0&&j.error("Failed to setup Fastify instrumentation",Y);else if(of1(),X)rf1(X)})}),PD.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;$n.call($n,X,Y,Q,"diagnostics-channel")}),Z}),af1=({shouldHandleError:Z})=>{let J;return{name:KG,setupOnce(){J=Z||Wn,Xn(),Yn()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},Qn=k((Z={})=>af1(Z));function Wn(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function Kn(Z){let J=$1(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[V1]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[Q1]:"auto.http.otel.fastify",[V1]:`${z}.fastify`});let G=X["fastify.name"]||X["plugin.name"]||X["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function of1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{Kn(J)})}function rf1(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)Kn(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";g1().setTransactionName(`${Y} ${X}`)})}var ln=v(g(),1),pn=v(cn(),1);var nn="Graphql",an=s(nn,pn.GraphQLInstrumentation,(Z)=>{let J=rn(Z);return{...J,responseHook($,X){if(X0($,"auto.graphql.otel.graphql"),X.errors?.length&&!$1($).status)$.setStatus({code:ln.SpanStatusCode.ERROR});let Q=$1($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=x0($),H=$1(z).data[i$]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(i$,H);else if(typeof H==="string")z.setAttribute(i$,[H,V]);else z.setAttribute(i$,V);if(!$1(z).data["original-description"])z.setAttribute("original-description",$1(z).description);z.updateName(`${$1(z).data["original-description"]} (${Cb1(H)})`)}}}}),Rb1=(Z={})=>{return{name:nn,setupOnce(){an(rn(Z))}}},on=k(Rb1);function rn(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function Cb1(Z){if(Array.isArray(Z)){let J=Z.slice().sort();if(J.length<=5)return J.join(", ");else return`${J.slice(0,5).join(", ")}, +${J.length-5}`}return`${Z}`}var wa=v(_a(),1);var Aa="Kafka",Ma=s(Aa,()=>new wa.KafkaJsInstrumentation({consumerHook(Z){X0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){X0(Z,"auto.kafkajs.otel.producer")}})),ib1=()=>{return{name:Aa,setupOnce(){Ma()}}},Ta=k(ib1);var xa=v(ka(),1);var va="LruMemoizer",ha=s(va,()=>new xa.LruMemoizerInstrumentation),rb1=()=>{return{name:va,setupOnce(){ha()}}},fa=k(rb1);var Zo=v(ea(),1);var Jo="Mongo",$o=s(Jo,()=>new Zo.MongoDBInstrumentation({dbStatementSerializer:Fg1,responseHook(Z){X0(Z,"auto.db.otel.mongo")}}));function Fg1(Z){let J=dD(Z);return JSON.stringify(J)}function dD(Z){if(Array.isArray(Z))return Z.map((J)=>dD(J));if(Bg1(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,dD(X)]).reduce(($,X)=>{if(Lg1(X))$[X[0]]=X[1];return $},J)}return"?"}function Bg1(Z){return typeof Z==="object"&&Z!==null&&!Ug1(Z)}function Ug1(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Lg1(Z){return Array.isArray(Z)}var Dg1=()=>{return{name:Jo,setupOnce(){$o()}}},Xo=k(Dg1);var jo=v(To(),1);var No="Mongoose",Ro=s(No,()=>new jo.MongooseInstrumentation({responseHook(Z){X0(Z,"auto.db.otel.mongoose")}})),fg1=()=>{return{name:No,setupOnce(){Ro()}}},Co=k(fg1);var lo=v(co(),1);var po="Mysql",io=s(po,()=>new lo.MySQLInstrumentation({})),zm1=()=>{return{name:po,setupOnce(){io()}}},no=k(zm1);var Fr=v(Vr(),1);var Br="Mysql2",Ur=s(Br,()=>new Fr.MySQL2Instrumentation({responseHook(Z){X0(Z,"auto.db.otel.mysql2")}})),hm1=()=>{return{name:Br,setupOnce(){Ur()}}},Lr=k(hm1);var Us=v(xr(),1),Ls=v(Gs(),1);var _u1=["get","set","setex"],HO=["get","mget"],wu1=["set","setex"];function QQ(Z,J){return Z.includes(J.toLowerCase())}function VO(Z){if(QQ(HO,Z))return"cache.get";else if(QQ(wu1,Z))return"cache.put";else return}function Au1(Z,J){return J.some(($)=>Z.startsWith($))}function Vs(Z,J){try{if(J.length===0)return;let $=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return Hs(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(QQ(_u1,Z)&&X!=null)return $(X);return Hs(J.map((Y)=>$(Y)))}catch{return}}function Fs(Z,J,$){if(!VO(Z))return!1;for(let X of J)if(Au1(X,$))return!0;return!1}function Bs(Z){let J=($)=>{try{if(Buffer.isBuffer($))return $.byteLength;else if(typeof $==="string")return $.length;else if(typeof $==="number")return $.toString().length;else if($===null||$===void 0)return 0;return JSON.stringify($).length}catch{return}};return Array.isArray(Z)?Z.reduce(($,X)=>{let Y=J(X);return typeof Y==="number"?$!==void 0?$+Y:Y:$},0):J(Z)}function Hs(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var TG="Redis",WQ={},Ds=(Z,J,$,X)=>{Z.setAttribute(Q1,"auto.db.otel.redis");let Y=Vs(J,$),Q=VO(J);if(!Y||!Q||!WQ.cachePrefixes||!Fs(J,Y,WQ.cachePrefixes))return;let W=$1(Z).data["net.peer.name"],K=$1(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=Bs(X);if(z)Z.setAttribute(JL,z);if(QQ(HO,J)&&z!==void 0)Z.setAttribute(eU,z>0);Z.setAttributes({[V1]:Q,[ZL]:Y});let G=Y.join(", ");Z.updateName(WQ.maxCacheKeyLength?z7(G,WQ.maxCacheKeyLength):G)},Mu1=s(`${TG}.IORedis`,()=>{return new Us.IORedisInstrumentation({responseHook:Ds})}),Tu1=s(`${TG}.Redis`,()=>{return new Ls.RedisInstrumentation({responseHook:Ds})}),Os=Object.assign(()=>{Mu1(),Tu1()},{id:TG}),ju1=(Z={})=>{return{name:TG,setupOnce(){WQ=Z,Os()}}},_s=k(ju1);var as=v(ns(),1);var os="Postgres",rs=s(os,()=>new as.PgInstrumentation({requireParentSpan:!0,requestHook(Z){X0(Z,"auto.db.otel.postgres")}})),Ld1=()=>{return{name:os,setupOnce(){rs()}}},ss=k(Ld1);var BX=v(g(),1),M9=v(U1(),1),n0=v($0(),1);var PG="PostgresJs",ts=[">=3.0.0 <4"],Dd1=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,EG=Symbol("sentryPostgresConnectionContext"),_O=Symbol.for("sentry.instrumented.postgresjs"),es=Symbol.for("sentry.query.from.instrumented.sql"),Zt=s(PG,(Z)=>new Jt({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class Jt extends M9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",h1,Z)}init(){let Z=new M9.InstrumentationNodeModuleDefinition("postgres",ts,(J)=>{try{return this._patchPostgres(J)}catch($){return h0&&j.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new M9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,ts,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return h0&&j.warn("postgres module does not export a function. Skipping instrumentation."),Z;let X=this,Y=function(...Q){let W=Reflect.construct($,Q);if(!W||typeof W!=="function")return h0&&j.warn("postgres() did not return a valid instance"),W;return X._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return O3(Z,"default",Y),Z}_wrapQueryMethod(Z,J,$){let X=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)X._wrapSingleQueryHandle(Q,$);return Q}}_wrapCallbackMethod(Z,J,$){let X=this;return function(...Y){let Q=$[EG];if(typeof Y[Y.length-1]!=="function"){let H=Reflect.apply(Z,J,Y);if(H&&typeof H.then==="function")return H.then((V)=>{return X._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=X._instrumentSqlInstance(H,Q);return K(V)},G=Y.length===1?[z]:[Y[0],z];return Reflect.apply(Z,J,G)}}_setConnectionAttributes(Z,J){if(!J)return;if(J.ATTR_DB_NAMESPACE)Z.setAttribute(n0.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(n0.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let $=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN($))Z.setAttribute(n0.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(n0.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(Dd1);if(X?.[1])Z.setAttribute(n0.ATTR_DB_OPERATION_NAME,X[1].toUpperCase())}_attachConnectionContext(Z,J){let $=Z;if(!$.options||typeof $.options!=="object")return;let X=$.options,Y=X.host?.[0]||"localhost",Q=X.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof X.database==="string"&&X.database!==""?X.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[EG]=W}_instrumentSqlInstance(Z,J){if(Z[_O])return Z;let $=this,X=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)$._wrapSingleQueryHandle(K,X);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return $._wrapQueryMethod(W,Y,X);if(Q==="begin"||Q==="reserve")return $._wrapCallbackMethod(W,Y,X);return W}});if(J)X[EG]=J;else this._attachConnectionContext(Z,X);return Z[_O]=!0,X[_O]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[es]=!0;let $=Z.handle,X=this,Y=async function(...Q){if(!X._shouldCreateSpans())return $.apply(this,Q);let W=X._reconstructQuery(Z.strings),K=X._sanitizeSqlQuery(W);return T4({name:K||"postgresjs.query",op:"db"},(z)=>{X0(z,"auto.db.postgresjs"),z.setAttributes({[n0.ATTR_DB_SYSTEM_NAME]:"postgres",[n0.ATTR_DB_QUERY_TEXT]:K});let G=J?J[EG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)M9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),h0&&j.error(`Error in requestHook for ${PG} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,L)=>{try{X._setOperationName(z,K,L?.[0]?.command),z.end()}catch(O){h0&&j.error("Error ending span in resolve callback:",O)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:E1,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(n0.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(n0.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(O){h0&&j.error("Error ending span in reject callback:",O)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:E1,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return BX.trace.getSpan(BX.context.active())!==void 0||!Z.requireParentSpan}_reconstructQuery(Z){if(!Z?.length)return;if(Z.length===1)return Z[0]||void 0;return Z.reduce((J,$,X)=>X===0?$:`${J}$${X}${$}`,"")}_sanitizeSqlQuery(Z){if(!Z)return"Unknown SQL Query";return Z.replace(/--.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/;\s*$/,"").replace(/\s+/g," ").trim().replace(/\bX'[0-9A-Fa-f]*'/gi,"?").replace(/\bB'[01]*'/gi,"?").replace(/'(?:[^']|'')*'/g,"?").replace(/\b0x[0-9A-Fa-f]+/gi,"?").replace(/\b(?:TRUE|FALSE)\b/gi,"?").replace(/-?\b\d+\.?\d*[eE][+-]?\d+\b/g,"?").replace(/-?\b\d+\.\d+\b/g,"?").replace(/-?\.\d+\b/g,"?").replace(/(?<!\$)-?\b\d+\b/g,"?").replace(/\bIN\b\s*\(\s*\?(?:\s*,\s*\?)*\s*\)/gi,"IN (?)").replace(/\bIN\b\s*\(\s*\$\d+(?:\s*,\s*\$\d+)*\s*\)/gi,"IN ($?)")}_patchQueryPrototype(Z){let J=this,$=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...X){if(this[es])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return T4({name:Q||"postgresjs.query",op:"db"},(W)=>{X0(W,"auto.db.postgresjs"),W.setAttributes({[n0.ATTR_DB_SYSTEM_NAME]:"postgres",[n0.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)M9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),h0&&j.error(`Error in requestHook for ${PG} integration:`,V)},!0);let G=this.resolve;this.resolve=new Proxy(G,{apply:(V,F,B)=>{try{J._setOperationName(W,Q,B?.[0]?.command),W.end()}catch(U){h0&&j.error("Error ending span in resolve callback:",U)}return Reflect.apply(V,F,B)}});let H=this.reject;this.reject=new Proxy(H,{apply:(V,F,B)=>{try{W.setStatus({code:E1,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(n0.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(n0.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){h0&&j.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return $.apply(this,X)}catch(V){throw W.setStatus({code:E1,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=$,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var Od1=(Z)=>{return{name:PG,setupOnce(){Zt(Z)}}},$t=k(Od1);var V8=v(g(),1);var Qt=v(g(),1),IG=v(U1(),1),c7=v(g(),1);var _d1=process.env.PRISMA_SHOW_ALL_TRACES==="true",wd1="00-10-10-00";function Ad1(Z){switch(Z){case"client":return c7.SpanKind.CLIENT;case"internal":default:return c7.SpanKind.INTERNAL}}var Md1=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=c7.trace.getSpanContext(Z??c7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return wd1}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)Wt(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return c7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!_d1)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(Kt(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Xt(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Xt(Q,J(Q,X)))}};function Wt(Z,J,$,X,Y){if(Kt(J.name,Y))return;let Q={attributes:J.attributes,kind:Ad1(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if(X.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=X.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=$.filter((z)=>z.parentId===J.id);for(let z of K)Wt(Z,z,$,X,Y);W.end(J.endTime)})}function Xt(Z,J){if(Td1(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function Td1(Z){return Z!=null&&typeof Z.then==="function"}function Kt(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var zt={name:"@prisma/instrumentation",version:"6.19.0",description:"OpenTelemetry compliant instrumentation for Prisma Client",main:"dist/index.js",module:"dist/index.mjs",types:"dist/index.d.ts",exports:{".":{require:{types:"./dist/index.d.ts",default:"./dist/index.js"},import:{types:"./dist/index.d.ts",default:"./dist/index.mjs"}}},license:"Apache-2.0",homepage:"https://www.prisma.io",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/instrumentation"},bugs:"https://github.com/prisma/prisma/issues",devDependencies:{"@prisma/internals":"workspace:*","@types/node":"18.19.76","@opentelemetry/api":"1.9.0",typescript:"5.4.5"},dependencies:{"@opentelemetry/instrumentation":">=0.52.0 <1"},peerDependencies:{"@opentelemetry/api":"^1.8"},files:["dist"],keywords:["prisma","instrumentation","opentelemetry","otel"],scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",prepublishOnly:"pnpm run build",test:"vitest run"},sideEffects:!1},AO=zt.version,jd1=AO.split(".")[0],Yt="PRISMA_INSTRUMENTATION",wO=`V${jd1}_PRISMA_INSTRUMENTATION`,Nd1=zt.name,Rd1="@prisma/client",Gt=class extends IG.InstrumentationBase{tracerProvider;constructor(Z={}){super(Nd1,AO,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new IG.InstrumentationNodeModuleDefinition(Rd1,[AO])]}enable(){let Z=this._config,J={helper:new Md1({tracerProvider:this.tracerProvider??Qt.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[Yt]=J,global[wO]=J}disable(){delete global[Yt],delete global[wO]}isEnabled(){return Boolean(global[wO])}};var Ht="Prisma";function Cd1(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function Vt(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class Ft extends Gt{constructor(){super()}enable(){super.enable();let Z=Vt();if(Cd1(Z))Z.createEngineSpan=(J)=>{let $=V8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){l0(()=>{console.warn("[Sentry] Could not find _idGenerator on tracer, skipping Prisma v5 compatibility - some Prisma spans may be missing!")});return}try{J.spans.forEach((Y)=>{let Q=qd1(Y.kind),W=Y.parent_span_id,K=Y.span_id,z=Y.trace_id,G=Y.links?.map((V)=>{return{context:{traceId:V.trace_id,spanId:V.span_id,traceFlags:V8.TraceFlags.SAMPLED}}}),H=V8.trace.setSpanContext(V8.context.active(),{traceId:z,spanId:W,traceFlags:V8.TraceFlags.SAMPLED});V8.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};$._idGenerator=V,$.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),$._idGenerator=X})})}finally{$._idGenerator=X}}}}function qd1(Z){switch(Z){case"client":return V8.SpanKind.CLIENT;case"internal":default:return V8.SpanKind.INTERNAL}}var Ed1=s(Ht,(Z)=>{return new Ft}),Bt=k((Z)=>{return{name:Ht,setupOnce(){Ed1()},setup(J){if(!Vt())return;J.on("spanStart",($)=>{let X=$1($);if(X.description?.startsWith("prisma:"))$.setAttribute(Q1,"auto.db.otel.prisma");if(X.description==="prisma:engine:db_query"&&X.data["db.query.text"])$.updateName(X.data["db.query.text"]);if(X.description==="prisma:engine:db_query"&&!X.data["db.system"])$.setAttribute("db.system","prisma")})}}});var vt=v(xt(),1);var ht="Hapi",ft=s(ht,()=>new vt.HapiInstrumentation),td1=()=>{return{name:ht,setupOnce(){ft()}}},bt=k(td1);var kG=v($0(),1);var p7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},VQ={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var GJ=v(g(),1),yG=v(U1(),1);var ed1="@sentry/instrumentation-hono",Zc1="0.0.1";class RO extends yG.InstrumentationBase{constructor(Z={}){super(ed1,Zc1,Z)}init(){return[new yG.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class $ extends Z.Hono{constructor(...X){super(...X);J._wrap(this,"get",J._patchHandler()),J._wrap(this,"post",J._patchHandler()),J._wrap(this,"put",J._patchHandler()),J._wrap(this,"delete",J._patchHandler()),J._wrap(this,"options",J._patchHandler()),J._wrap(this,"patch",J._patchHandler()),J._wrap(this,"all",J._patchHandler()),J._wrap(this,"on",J._patchOnHandler()),J._wrap(this,"use",J._patchMiddlewareHandler())}}try{Z.Hono=$}catch{return{...Z,Hono:$}}return Z}_patchHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...X){let Y=X.slice(2);return J.apply(this,[...X.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function($,X){if(!J.isEnabled())return Z.apply(this,[$,X]);let Y=$.req.path,Q=J.tracer.startSpan(Y);return GJ.context.with(GJ.trace.setSpan(GJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(i4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[p7.HONO_TYPE]:z,[p7.HONO_NAME]:z===VQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[p7.HONO_TYPE]:K,[p7.HONO_NAME]:K===VQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,$){try{let X=Z();if(i4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?VQ.MIDDLEWARE:VQ.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:GJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var gt="Hono";function Jc1(Z){let J=$1(Z).data,$=J[p7.HONO_TYPE];if(J[V1]||!$)return;Z.setAttributes({[Q1]:"auto.http.otel.hono",[V1]:`${$}.hono`});let X=J[p7.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(g1()===q6()){h0&&j.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[kG.ATTR_HTTP_ROUTE],Q=J[kG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")g1().setTransactionName(`${Q} ${Y}`)}var mt=s(gt,()=>new RO({responseHook:(Z)=>{Jc1(Z)}})),$c1=()=>{return{name:gt,setupOnce(){mt()}}},ut=k($c1);var He=v(Ge(),1),Ve=v($0(),1);var Fe="Koa",Be=s(Fe,He.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){X0(J,"auto.http.otel.koa");let X=$1(J).data,Y=X["koa.type"];if(Y)J.setAttribute(V1,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(g1()===q6()){h0&&j.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[Ve.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)g1().setTransactionName(`${K} ${W}`)}}}),Uc1=(Z={})=>{return{name:Fe,setupOnce(){Be(Z)}}},Ue=k(Uc1);var ve=v(xe(),1);var he="Connect",fe=s(he,()=>new ve.ConnectInstrumentation),Ec1=()=>{return{name:he,setupOnce(){fe()}}},be=k(Ec1);var $11=v(J11(),1);var cc1=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),X11="Tedious",Y11=s(X11,()=>new $11.TediousInstrumentation({})),lc1=()=>{let Z;return{name:X11,setupOnce(){let J=Y11();Z=h3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=$1($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(cc1.has(Q))$.setAttribute(Q1,"auto.db.otel.tedious")}))}}},Q11=k(lc1);var L11=v(U11(),1);var D11="GenericPool",O11=s(D11,()=>new L11.GenericPoolInstrumentation({})),ac1=()=>{let Z;return{name:D11,setupOnce(){let J=O11();Z=h3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=$1($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(Q1,"auto.db.otel.generic_pool")}))}}},_11=k(ac1);var d11=v(u11(),1);var c11="Amqplib",El1={consumeEndHook:(Z)=>{X0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{X0(Z,"auto.amqplib.otel.publisher")}},l11=s(c11,()=>new d11.AmqplibInstrumentation(El1)),Pl1=()=>{return{name:c11,setupOnce(){l11()}}},p11=k(Pl1);var DQ="VercelAI";var dG=v(U1(),1);var Il1=[">=3.0.0 <7"],i11=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function Sl1(Z){if(typeof Z!=="object"||Z===null)return!1;let J=Z;return"type"in J&&"error"in J&&"toolName"in J&&"toolCallId"in J&&J.type==="tool-error"&&J.error instanceof Error}function yl1(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let $ of J.content)if(Sl1($)){let X=aL($.toolCallId);if(X){let Y=X.spanContext();V6((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",$.toolName),Q.setTag("vercel.ai.tool.callId",$.toolCallId),Q.setLevel("error"),L1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),oL($.toolCallId)}else V6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),L1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function kl1(Z,J,$,X){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:$===!0?!0:X,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:$===!0?!0:X;return{recordInputs:Y,recordOutputs:Q}}class OQ extends dG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",h1,Z);OQ.prototype.__init.call(this),OQ.prototype.__init2.call(this)}init(){return new dG.InstrumentationNodeModuleDefinition("ai",Il1,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach(($)=>$()),this._callbacks=[];let J=($)=>{return new Proxy($,{apply:(X,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=p(),G=z?.getIntegrationByName(DQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=kl1(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},E6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")s0(U,"_sentry_active_span",U5())},()=>{},(U)=>{yl1(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of i11)Z[$]=J(Z[$]);return Z}else{let $=i11.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var n11=s(DQ,()=>new OQ({}));function xl1(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var vl1=(Z={})=>{let J;return{name:DQ,options:Z,setupOnce(){J=n11()},afterAllSetup($){if(Z.force??xl1($))Hz($);else J?.callWhenPatched(()=>Hz($))}}},a11=k(vl1);var cG=v(U1(),1);var hl1=[">=4.0.0 <7"];class lO extends cG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",h1,Z)}init(){return new cG.InstrumentationNodeModuleDefinition("openai",hl1,this._patch.bind(this))}_patch(Z){let J=Z;return J=this._patchClient(J,"OpenAI"),J=this._patchClient(J,"AzureOpenAI"),J}_patchClient(Z,J){let $=Z[J];if(!$)return Z;let X=this.getConfig(),Y=function(...Q){if(nZ(P7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=p(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return Bz(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}try{Z[J]=Y}catch(Q){Object.defineProperty(Z,J,{value:Y,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===$)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var o11=s(P7,(Z)=>new lO(Z)),fl1=(Z={})=>{return{name:P7,setupOnce(){o11(Z)}}},r11=k(fl1);var lG=v(U1(),1);var bl1=[">=0.19.2 <1.0.0"];class pO extends lG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",h1,Z)}init(){return new lG.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",bl1,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(nZ(I7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return tL(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}try{Z.Anthropic=X}catch(Y){Object.defineProperty(Z,"Anthropic",{value:X,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=X}catch(Y){Object.defineProperty(Z,"default",{value:X,writable:!0,configurable:!0,enumerable:!0})}return Z}}var s11=s(I7,(Z)=>new pO(Z)),gl1=(Z={})=>{return{name:I7,options:Z,setupOnce(){s11(Z)}}},t11=k(gl1);var _X=v(U1(),1);var e11=[">=0.10.0 <2"];class iO extends _X.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",h1,Z)}init(){return new _X.InstrumentationNodeModuleDefinition("@google/genai",e11,(J)=>this._patch(J),(J)=>J,[new _X.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",e11,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,$=this.getConfig();if(typeof J!=="function")return Z;let X=function(...Y){if(nZ(S7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return $2(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}return O3(Z,"GoogleGenAI",X),Z}}var Z01=s(S7,(Z)=>new iO(Z)),ml1=(Z={})=>{return{name:S7,setupOnce(){Z01(Z)}}},J01=k(ml1);var a7=v(U1(),1);var pG=[">=0.1.0 <2.0.0"];function ul1(Z,J){if(!Z)return[J];if(Array.isArray(Z)){if(Z.includes(J))return Z;return[...Z,J]}if(typeof Z==="object")return[Z,J];return Z}function dl1(Z,J,$){return new Proxy(Z,{apply(X,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=ul1(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class nO extends a7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",h1,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let $ of J)Z.push(new a7.InstrumentationNodeModuleDefinition($,pG,this._patch.bind(this),(X)=>X,[new a7.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,pG,this._patch.bind(this),(X)=>X)]));return Z.push(new a7.InstrumentationNodeModuleDefinition("langchain",pG,this._patch.bind(this),($)=>$,[new a7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",pG,this._patch.bind(this),($)=>$)])),Z}_patch(Z){EL([P7,I7,S7]);let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=Lz({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let $=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],X=Z.universal_exports??Z,Y=Object.values(X).find((K)=>{return typeof K==="function"&&$.includes(K.name)});if(!Y)return;let Q=Y.prototype,W=["invoke","stream","batch"];for(let K of W){let z=Q[K];if(typeof z==="function")Q[K]=dl1(z,J)}}}var $01=s(Uz,(Z)=>new nO(Z)),cl1=(Z={})=>{return{name:Uz,setupOnce(){$01(Z)}}},X01=k(cl1);var wX=v(U1(),1);var Y01=[">=0.0.0 <2.0.0"];class aO extends wX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",h1,Z)}init(){return new wX.InstrumentationNodeModuleDefinition("@langchain/langgraph",Y01,this._patch.bind(this),(J)=>J,[new wX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",Y01,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X.recordInputs??$,Q=X.recordOutputs??$,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=Q2(K.prototype.compile,W)}return Z}}var Q01=s(Dz,(Z)=>new aO(Z)),ll1=(Z={})=>{return{name:Dz,setupOnce(){Q01(Z)}}},W01=k(ll1);var U01=v(U1(),1);var j9=v(g(),1),N9=v(U1(),1),F8=v($0(),1);import*as z01 from"net";function G01(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{N9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;j9.diag.error(V?.message)},!0)};let z=new N9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>K01(H,$,X,Z,W)),G=["@firebase/firestore/dist/lite/index.node.cjs.js","@firebase/firestore/dist/lite/index.node.mjs.js","@firebase/firestore/dist/lite/index.rn.esm2017.js","@firebase/firestore/dist/lite/index.cjs.js"];for(let H of G)z.files.push(new N9.InstrumentationNodeModuleFile(H,J,(V)=>K01(V,$,X,Z,W),(V)=>H01(V,X)));return z}function K01(Z,J,$,X,Y){return H01(Z,$),J(Z,"addDoc",pl1(X,Y)),J(Z,"getDocs",nl1(X,Y)),J(Z,"setDoc",al1(X,Y)),J(Z,"deleteDoc",il1(X,Y)),Z}function H01(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(N9.isWrapped(Z[$]))J(Z,$);return Z}function pl1(Z,J){return function(X){return function(Y,Q){let W=nG(Z,"addDoc",Y);return J(W),iG(W,()=>{return X(Y,Q)})}}}function il1(Z,J){return function(X){return function(Y){let Q=nG(Z,"deleteDoc",Y.parent||Y);return J(Q),iG(Q,()=>{return X(Y)})}}}function nl1(Z,J){return function(X){return function(Y){let Q=nG(Z,"getDocs",Y);return J(Q),iG(Q,()=>{return X(Y)})}}}function al1(Z,J){return function(X){return function(Y,Q,W){let K=nG(Z,"setDoc",Y.parent||Y);return J(K),iG(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function iG(Z,J){return j9.context.with(j9.trace.setSpan(j9.context.active(),Z),()=>{return N9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function nG(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:j9.SpanKind.CLIENT});return rl1(X,$),X.setAttribute(F8.ATTR_DB_OPERATION_NAME,J),X}function ol1(Z){let J,$;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(1,X).replace(/^\[|\]$/g,""),$=Z.host.slice(X+1)}}else if(z01.isIPv6(Z.host))J=Z.host;else{let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(0,X),$=Z.host.slice(X+1);else J=Z.host}return{address:J,port:$?parseInt($,10):void 0}}function rl1(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[F8.ATTR_DB_COLLECTION_NAME]:J.path,[F8.ATTR_DB_NAMESPACE]:$.name,[F8.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":X.projectId,"firebase.firestore.options.appId":X.appId,"firebase.firestore.options.messagingSenderId":X.messagingSenderId,"firebase.firestore.options.storageBucket":X.storageBucket},{address:K,port:z}=ol1(Q);if(K)W[F8.ATTR_SERVER_ADDRESS]=K;if(z)W[F8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var R5=v(g(),1),R9=v(U1(),1);function V01(Z,J,$,X,Y){let Q=()=>{},W=()=>{},K=Y.functions?.errorHook,z=Y.functions?.requestHook,G=Y.functions?.responseHook;if(typeof G==="function")W=(F,B)=>{R9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;R5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{R9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;R5.diag.error(B?.message)},!0)};let H=new R9.InstrumentationNodeModuleDefinition("firebase-functions",J);return[{name:"firebase-functions/lib/v2/providers/https.js",triggerType:"function"},{name:"firebase-functions/lib/v2/providers/firestore.js",triggerType:"firestore"},{name:"firebase-functions/lib/v2/providers/scheduler.js",triggerType:"scheduler"},{name:"firebase-functions/lib/v2/storage.js",triggerType:"storage"}].forEach(({name:F,triggerType:B})=>{H.files.push(new R9.InstrumentationNodeModuleFile(F,J,(U)=>sl1(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>F01(U,X)))}),H}function e4(Z,J,$){return function(Y){return function(...Q){let W=typeof Q[0]==="function"?Q[0]:Q[1],K=typeof Q[0]==="function"?void 0:Q[0];if(!W)return Y.call(this,...Q);let z=async function(...G){let H=process.env.FUNCTION_TARGET||process.env.K_SERVICE||"unknown",V=Z.startSpan(`firebase.function.${$}`,{kind:R5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":$,"faas.provider":"firebase"};if(process.env.GCLOUD_PROJECT)F["cloud.project_id"]=process.env.GCLOUD_PROJECT;if(process.env.EVENTARC_CLOUD_EVENT_SOURCE)F["cloud.event_source"]=process.env.EVENTARC_CLOUD_EVENT_SOURCE;return V.setAttributes(F),J?.requestHook?.(V),R5.context.with(R5.trace.setSpan(R5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(L){B=L}if(J?.responseHook?.(V,B),B)V.recordException(B);if(V.end(),B)throw await J?.errorHook?.(V,B),B;return U})};if(K)return Y.call(this,K,z);else return Y.call(this,z)}}}function sl1(Z,J,$,X,Y,Q){switch(F01(Z,$),Q){case"function":J(Z,"onRequest",e4(X,Y,"http.request")),J(Z,"onCall",e4(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",e4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",e4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",e4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",e4(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",e4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",e4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",e4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",e4(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",e4(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",e4(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",e4(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",e4(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",e4(X,Y,"storage.object.metadataUpdated"));break}return Z}function F01(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(R9.isWrapped(Z[X]))J(Z,X);return Z}var B01={},tl1=[">=3.0.0 <5"],el1=[">=6.0.0 <7"];class oO extends U01.InstrumentationBase{constructor(Z=B01){super("@sentry/instrumentation-firebase",h1,Z)}setConfig(Z={}){super.setConfig({...B01,...Z})}init(){let Z=[];return Z.push(G01(this.tracer,tl1,this._wrap,this._unwrap,this.getConfig())),Z.push(V01(this.tracer,el1,this._wrap,this._unwrap,this.getConfig())),Z}}var L01="Firebase",Zp1={firestoreSpanCreationHook:(Z)=>{X0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(V1,"db.query")},functions:{requestHook:(Z)=>{X0(Z,"auto.firebase.otel.functions"),Z.setAttribute(V1,"http.request")},errorHook:async(Z,J)=>{if(J)L1(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await aK(2000)}}},D01=s(L01,()=>new oO(Zp1)),Jp1=()=>{return{name:L01,setupOnce(){D01()}}},O01=k(Jp1);function _Q(){return[_i(),Qn(),on(),ut(),Xo(),Co(),no(),Lr(),_s(),ss(),Bt(),bt(),Ue(),be(),Q11(),_11(),Ta(),p11(),fa(),X01(),W01(),a11(),r11(),t11(),J01(),$t(),O01()]}var AX=v(g(),1);var MX=v($0(),1);var rO=1e6;function _01(Z,J={}){if(Z.getOptions().debug)XD();let[$,X]=$p1(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function $p1(Z,J={}){let $=new fz({sampler:new d2(Z),resource:T3().merge(Sz({[MX.ATTR_SERVICE_NAME]:"node",[MX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[MX.ATTR_SERVICE_VERSION]:h1})),forceFlushTimeoutMillis:500,spanProcessors:[new u2({timeout:Xp1(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});AX.trace.setGlobalTracerProvider($),AX.propagation.setGlobalPropagator(new m2);let X=new lz;return AX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function Xp1(Z){if(Z==null)return;if(Z>rO)return h0&&j.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${rO}`),rO;else if(Z<=0||Number.isNaN(Z)){h0&&j.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function w01(){return oz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(b3(),m3())}function A01(Z){return[...w01(),...R0(Z)?_Q():[]]}function sO(Z={}){return Yp1(Z,A01)}function Yp1(Z={},J){G9(Z,"node");let $=BD({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)_01($,{spanProcessors:Z.openTelemetrySpanProcessors}),rz();return $}import*as R01 from"os";var Qp1="BunServer",Wp1=()=>{return{name:Qp1,setupOnce(){Kp1()}}},j01=k(Wp1),M01=!1;function Kp1(){if(M01)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){T01($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return T01(Q),Y(Q)},X}}),M01=!0}function T01(Z){zp1(Z),Gp1(Z)}function zp1(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return tO(J,$,X)}})}function Gp1(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let $=Z.routes[J];if(typeof $==="function")Z.routes[J]=new Proxy($,{apply:(X,Y,Q)=>{return tO(X,Y,Q,J)}});if($ instanceof Response)return;if(typeof $==="object")Object.entries($).forEach(([X,Y])=>{if(typeof Y==="function")Z.routes[J][X]=new Proxy(Y,{apply:(Q,W,K)=>{return tO(Q,W,K,J)}})})})}function tO(Z,J,$,X){return hZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=Q3(Q.url),z=Hp1(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),X)z[N0]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[N0]="route",z["url.template"]=X,G=X;return Object.assign(z,R$(Q.headers.toJSON(),p()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),pK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>S6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)PK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw L1(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Hp1(Z,J){let $={[Q1]:"auto.http.bun.serve",[$L]:J.method||"GET",[N0]:"url"};if(Z){if(Z.search)$["url.query"]=Z.search;if(Z.hash)$["url.fragment"]=Z.hash;if(Z.pathname)$["url.path"]=Z.pathname;if(!IL(Z)){if($["url.full"]=Z.href,Z.port)$["url.port"]=Z.port;if(Z.protocol)$["url.scheme"]=Z.protocol;if(Z.hostname)$["url.domain"]=Z.hostname}}return $}function N01(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return O7(()=>{return fetch(Z.url,X).then((Y)=>{return{statusCode:Y.status,headers:{"x-sentry-rate-limits":Y.headers.get("X-Sentry-Rate-Limits"),"retry-after":Y.headers.get("Retry-After")}}})})}catch(Y){return Promise.reject(Y)}}return iZ(Z,J)}function C01(Z){return[q$(),C$(),E$(),P$(),I$(),b3(),m3(),ZX(),JX(),t$(),s$(),e$(),j01(),...R0(Z)?_Q():[]]}function eO(Z={}){G9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||R01.hostname()};if(J.transport=J.transport||N01,J.defaultIntegrations===void 0)J.defaultIntegrations=C01(J);return sO(J)}eO({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as q01}from"fs";import{join as E01}from"path";function a0(){return"3.1.0-beta.9"}function Z_(Z){let[J,$]=Z.split("-"),X=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if($){let W=$.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=$}return{major:X[0]||0,minor:X[1]||0,patch:X[2]||0,preRelease:Y,preReleaseNum:Q}}function C9(Z){let J=Z_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function wQ(Z,J){try{let $=Z_(Z),X=Z_(J);if($.major>X.major)return!1;if($.major<X.major)return!1;if(X.preRelease&&!$.preRelease)return!1;if(!X.preRelease&&$.preRelease)return!1;if(X.preRelease&&$.preRelease){if($.minor<X.minor)return!1;if($.minor>X.minor)return!0;if($.patch>X.patch)return!0;if($.patch<X.patch)return!1;return $.preReleaseNum>X.preReleaseNum}if($.minor>X.minor)return!0;if($.minor<X.minor)return!1;if($.patch>X.patch)return!0;return!1}catch($){return!1}}import{parseArgs as Fp1}from"util";var Bp1={debug:{type:"boolean",short:"d",default:!1,description:"Enable debug logging"},"mqtt-port":{type:"string",default:"8884",description:"MQTT broker port"},"terminal-port":{type:"string",default:"3001",description:"Terminal server port"},"router-port":{type:"string",default:"8883",description:"Router port"},username:{type:"string",short:"u",description:"MQTT broker username (required)"},password:{type:"string",short:"p",description:"MQTT broker password (required)"},"ngrok-token":{type:"string",description:"ngrok authentication token (optional)"},"ngrok-domain":{type:"string",description:"ngrok static domain (optional, paid plan)"},"no-auto-update":{type:"boolean",default:!1,description:"Disable auto-update checking"},"terminal-audit":{type:"boolean",default:!1,description:"Enable terminal input audit logging (logs commands, not output)"},"auto-update-check-interval":{type:"string",default:"60",description:"Auto-update check interval in minutes (default: 60)"},help:{type:"boolean",short:"h",default:!1,description:"Show help message"},version:{type:"boolean",short:"v",default:!1,description:"Show version"}};function P01(){let Z=Fp1({options:Bp1,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${a0()}`),process.exit(0);if(Z.values.help)Up1(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,$=process.env.CCC_PASSWORD||Z.values.password,X=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!$)console.error("\x1B[31mError: Authentication credentials are required.\x1B[0m"),console.error(""),console.error("These credentials secure the MQTT communication between the app and backend."),console.error(""),console.error("You can provide them via:"),console.error(""),console.error(" Environment variables (recommended for security):"),console.error(" export CCC_USERNAME=myuser"),console.error(" export CCC_PASSWORD=mypassword"),console.error(" export CCC_NGROK_TOKEN=your_token # optional"),console.error(" export CCC_NGROK_DOMAIN=your_domain # optional"),console.error(" ccc"),console.error(""),console.error(" Or CLI arguments:"),console.error(" ccc --username myuser --password mypassword"),console.error(" ccc -u myuser -p mypassword"),console.error(""),process.exit(1);return{debug:Z.values.debug,mqttPort:parseInt(Z.values["mqtt-port"],10),terminalPort:parseInt(Z.values["terminal-port"],10),routerPort:parseInt(Z.values["router-port"],10),username:J,password:$,ngrokToken:X,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function Up1(){console.log(`
54
54
  Backend v2 - Clean modular architecture
55
55
 
56
56
  Usage:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naarang/ccc",
3
- "version": "3.1.0-beta.8",
3
+ "version": "3.1.0-beta.9",
4
4
  "description": "Code Chat Connect - Control Claude Code from your mobile device",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",