@naarang/ccc 2.2.0-beta.4 → 2.2.0

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: ${c9(Z)}`),!0}return!1}function DN0(Z,J){if(!J?.length)return!1;return zK
50
50
  `;let K=ec($);$.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",Yk0),J.secureEndpoint){Z3("Upgrading socket connection to TLS");let V=J.servername||J.host;return sL.connect({...Zl(J,"host","path","port"),socket:$,servername:X9.isIP(V)?void 0:V})}return $}$.destroy();let H=new X9.Socket({writable:!1});return H.readable=!0,Z.once("socket",(V)=>{Z3("Replaying proxy buffer for failed request"),V.push(G),V.push(null)}),H}}Jz.__initStatic();function Yk0(Z){Z.resume()}function Zl(Z,...J){let X={},$;for($ in Z)if(!J.includes($))X[$]=Z[$];return X}var Gk0=32768;function Hk0(Z){return new Kk0({read(){this.push(Z),this.push(null)}})}function tL(Z){let J;try{J=new URL(Z.url)}catch(z){return S1(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),TZ(Z,()=>Promise.resolve({}))}let X=J.protocol==="https:",$=Vk0(J,Z.proxy||(X?process.env.https_proxy:void 0)||process.env.http_proxy),Y=X?Wk0:Qk0,Q=Z.keepAlive===void 0?!1:Z.keepAlive,W=$?new Jz($):new Y.Agent({keepAlive:Q,maxSockets:30,timeout:2000}),K=Fk0(Z,Z.httpModule??Y,W);return TZ(Z,K)}function Vk0(Z,J){let{no_proxy:X}=process.env;if(X?.split(",").some((Y)=>Z.host.endsWith(Y)||Z.hostname.endsWith(Y)))return;else return J}function Fk0(Z,J,X){let{hostname:$,pathname:Y,port:Q,protocol:W,search:K}=new URL(Z.url);return function(G){return new Promise((H,V)=>{s9(()=>{let F=Hk0(G.body),B={...Z.headers};if(G.body.length>Gk0)B["content-encoding"]="gzip",F=F.pipe(zk0());let U=$.startsWith("["),D=J.request({method:"POST",agent:X,headers:B,hostname:U?$.slice(1,-1):$,path:`${Y}${K}`,port:Q,protocol:W,ca:Z.caCerts},(_)=>{_.on("data",()=>{}),_.on("end",()=>{}),_.setEncoding("utf8");let O=_.headers["retry-after"]??null,w=_.headers["x-sentry-rate-limits"]??null;H({statusCode:_.statusCode,headers:{"retry-after":O,"x-sentry-rate-limits":Array.isArray(w)?w[0]||null:w}})});D.on("error",V),F.pipe(D)})})}}var Bk0=new Set(["false","f","n","no","off","0"]),Uk0=new Set(["true","t","y","yes","on","1"]);function Xz(Z,J){let X=String(Z).toLowerCase();if(Bk0.has(X))return!1;if(Uk0.has(X))return!0;return J?.strict?null:Boolean(Z)}import{posix as Lk0,sep as Dk0}from"path";function Jl(Z){return Z.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function eL(Z=process.argv[1]?NU(process.argv[1]):process.cwd(),J=Dk0==="\\"){let X=J?Jl(Z):Z;return($)=>{if(!$)return;let Y=J?Jl($):$,{dir:Q,base:W,ext:K}=Lk0.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(X)){let H=Q.slice(X.length+1).replace(/\//g,".");return H?`${H}:${z}`:z}return z}}function Z2(Z){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(Q0.SENTRY_RELEASE?.id)return Q0.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,X=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,$=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 J2=fW(rU(eL()));var $l=x(f(),1),Yl=x(G0(),1);import*as Xl from"os";import{threadId as _k0,isMainThread as Ok0}from"worker_threads";var wk0=60000;class $z extends HK{constructor(Z){let J=Z.includeServerName===!1?void 0:Z.serverName||global.process.env.SENTRY_NAME||Xl.hostname(),X={...Z,platform:"node",runtime:{name:"node",version:global.process.version},serverName:J};if(Z.openTelemetryInstrumentations)Yl.registerInstrumentations({instrumentations:Z.openTelemetryInstrumentations});r5(X,"node"),A.log(`Initializing Sentry: process: ${process.pid}, thread: ${Ok0?"main":`worker-${_k0}`}.`);super(X);if(this.getOptions().enableLogs){if(this._logOnExitFlushListener=()=>{jY(this)},J)this.on("beforeCaptureLog",($)=>{$.attributes={...$.attributes,"server.address":J}});process.on("beforeExit",this._logOnExitFlushListener)}}get tracer(){if(this._tracer)return this._tracer;let Z="@sentry/node",J=N0,X=$l.trace.getTracer(Z,J);return this._tracer=X,X}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(()=>{O0&&A.log("Flushing client reports based on interval."),this._flushOutcomes()},Z.clientReportFlushInterval??wk0).unref(),process.on("beforeExit",this._clientReportOnExitFlushListener)}_setupIntegrations(){wU(),super._setupIntegrations()}_getTraceInfoFromScope(Z){if(!Z)return[void 0,void 0];return ou(this,Z)}}var Ql=x(QB(),1);import*as Wl from"module";function X2(){if(!kc())return;if(!Q0._sentryEsmLoaderHookRegistered){Q0._sentryEsmLoaderHookRegistered=!0;try{let{addHookMessagePort:Z}=Ql.createAddHookMessageChannel();Wl.register("import-in-the-middle/hook.mjs",import.meta.url,{data:{addHookMessagePort:Z,include:[]},transferList:[Z]})}catch(Z){A.warn("Failed to register 'import-in-the-middle' hook",Z)}}}function Yz(){return[ZX(),eJ(),JX(),XX(),lL(),$X(),Vc(),Dc(),RX(),PX(),CX(),mL(),qX(),iL(),tc(),NX()]}function $2(Z={}){return jk0(Z,Yz)}function jk0(Z={},J){let X=Mk0(Z,J);if(X.debug===!0)if(O0)A.enable();else S1(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")});if(X.registerEsmLoaderHooks!==!1)X2();if(su(),d0().update(X.initialScope),X.spotlight&&!X.integrations.some(({name:Q})=>Q===uL))X.integrations.push(cL({sidecarUrl:typeof X.spotlight==="string"?X.spotlight:void 0}));r5(X,"node-core");let Y=new $z(X);if(d0().setClient(Y),Y.init(),Q0._sentryInjectLoaderHookRegister?.(),A.log(`SDK initialized from ${sY()?"CommonJS":"ESM"}`),Y.startClientReportTracking(),qk0(),vu(Y),ru(Y),process.env.VERCEL)process.on("SIGTERM",async()=>{await Y.flush(200)});return Y}function Qz(){if(!O0)return;let Z=gu(),J=["SentryContextManager","SentryPropagator"];if(L1())J.push("SentrySpanProcessor");for(let X of J)if(!Z.includes(X))A.error(`You have to set up the ${X}. Without this, the OpenTelemetry & Sentry integration will not work properly.`);if(!Z.includes("SentrySampler"))A.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 Mk0(Z,J){let X=Ak0(Z.release),$;if(Z.spotlight===!1)$=!1;else if(typeof Z.spotlight==="string")$=Z.spotlight;else{let z=Xz(process.env.SENTRY_SPOTLIGHT,{strict:!0}),G=z===null&&process.env.SENTRY_SPOTLIGHT?process.env.SENTRY_SPOTLIGHT:void 0;$=Z.spotlight===!0?G??!0:z??G}let Y=Tk0(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??tL,stackParser:AB(Z.stackParser||J2),release:X,tracesSampleRate:Y,spotlight:$,debug:Xz(Z.debug??process.env.SENTRY_DEBUG)},W=Z.integrations,K=Z.defaultIntegrations??J(Q);return{...Q,integrations:GU({defaultIntegrations:K,integrations:W})}}function Ak0(Z){if(Z!==void 0)return Z;let J=Z2();if(J!==void 0)return J;return}function Tk0(Z){if(Z!==void 0)return Z;let J=process.env.SENTRY_TRACES_SAMPLE_RATE;if(!J)return;let X=parseFloat(J);return isFinite(X)?X:void 0}function qk0(){if(Xz(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let Z=process.env.SENTRY_TRACE,J=process.env.SENTRY_BAGGAGE,X=_Z(Z,J);d0().setPropagationContext(X)}}function p0(Z,J){Z.setAttribute(X0,J)}var Y2="Http",Kl="@opentelemetry_sentry-patched/instrumentation-http",Ck0=r(`${Y2}.sentry`,(Z)=>{return new MX(Z)}),Nk0=r(Y2,(Z)=>{let J=new Gl.HttpInstrumentation({...Z,disableIncomingRequestInstrumentation:!0});try{J._diag=zl.diag.createComponentLogger({namespace:Kl}),J.instrumentationName=Kl}catch{}return J});function Rk0(Z,J={}){if(typeof Z.spans==="boolean")return Z.spans;if(J.skipOpenTelemetrySetup)return!1;if(!L1(J)&&L7.major>=22)return!1;return!0}var J3=S((Z={})=>{let J=Z.spans??!0,X=Z.disableIncomingRequestSpans,$={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=HX($),W=FX(Y),K=J&&!X;return{name:Y2,setup(z){let G=z.getOptions();if(K&&L1(G))W.setup(z)},setupOnce(){let z=u()?.getOptions()||{},G=Rk0(Z,z);Q.setupOnce();let H={breadcrumbs:Z.breadcrumbs,propagateTraceInOutgoingRequests:!G,ignoreOutgoingRequests:Z.ignoreOutgoingRequests};if(Ck0(H),G){let V=Pk0(Z);Nk0(V)}},processEvent(z){return W.processEvent(z)}}});function Pk0(Z={}){return{ignoreOutgoingRequestHook:(X)=>{let $=mY(X);if(!$)return!1;let Y=Z.ignoreOutgoingRequests;if(Y?.($,X))return!0;return!1},requireParentforOutgoingSpans:!1,requestHook:(X,$)=>{p0(X,"auto.http.otel.http"),Z.instrumentation?.requestHook?.(X,$)},responseHook:(X,$)=>{Z.instrumentation?.responseHook?.(X,$)},applyCustomAttributesOnSpan:(X,$,Y)=>{Z.instrumentation?.applyCustomAttributesOnSpan?.(X,$,Y)}}}var wl=x(Ol(),1);var jl="NodeFetch",kk0=r(jl,wl.UndiciInstrumentation,(Z)=>{return bk0(Z)}),xk0=r(`${jl}.sentry`,TX,(Z)=>{return Z}),vk0=(Z={})=>{return{name:"NodeFetch",setupOnce(){if(fk0(Z,u()?.getOptions()))kk0(Z);xk0(Z)}}},$3=S(vk0);function hk0(Z,J="/"){let X=`${Z}`;if(X.endsWith("/")&&J.startsWith("/"))return`${X}${J.slice(1)}`;if(!X.endsWith("/")&&!J.startsWith("/"))return`${X}/${J.slice(1)}`;return`${X}${J}`}function fk0(Z,J={}){return typeof Z.spans==="boolean"?Z.spans:!J.skipOpenTelemetrySetup&&L1(J)}function bk0(Z={}){return{requireParentforSpans:!1,ignoreRequestHook:(X)=>{let $=hk0(X.origin,X.path),Y=Z.ignoreOutgoingRequests;return!!(Y&&$&&Y($))},startSpanHook:()=>{return{[X0]:"auto.http.otel.node_fetch"}},requestHook:Z.requestHook,responseHook:Z.responseHook}}var ul=x(dl(),1);var R1=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var cl="Express";function Gx0(Z){p0(Z,"auto.http.otel.express");let J=J0(Z).data,X=J["express.type"];if(X)Z.setAttribute(K0,`${X}.express`);let $=J["express.name"];if(typeof $==="string")Z.updateName($)}function Hx0(Z,J){if(R0()===D6())return R1&&A.warn("Isolation scope is still default isolation scope - skipping setting transactionName"),J;if(Z.layerType==="request_handler"){let X=Z.request,$=X.method?X.method.toUpperCase():"GET";R0().setTransactionName(`${$} ${Z.route}`)}return J}var ll=r(cl,()=>new ul.ExpressInstrumentation({requestHook:(Z)=>Gx0(Z),spanNameHook:(Z,J)=>Hx0(Z,J)})),Vx0=()=>{return{name:cl,setupOnce(){ll()}}},pl=S(Vx0);import*as w2 from"diagnostics_channel";var x1=x(f(),1),Bz=x(H1(),1),Ap=x(G0(),1),u1=x(l0(),1);import _p from"diagnostics_channel";var Fp=x(Yp(),1);var W3=(Z)=>{if(typeof Z!=="string")throw TypeError("invalid pattern");if(Z.length>65536)throw TypeError("pattern is too long")};var wx0={"[: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]},K3=(Z)=>Z.replace(/[[\]\\-]/g,"\\$&"),jx0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Qp=(Z)=>Z.join(""),Wp=(Z,J)=>{let X=J;if(Z.charAt(X)!=="[")throw Error("not in a brace expression");let $=[],Y=[],Q=X+1,W=!1,K=!1,z=!1,G=!1,H=X,V="";Z:while(Q<Z.length){let D=Z.charAt(Q);if((D==="!"||D==="^")&&Q===X+1){G=!0,Q++;continue}if(D==="]"&&W&&!z){H=Q+1;break}if(W=!0,D==="\\"){if(!z){z=!0,Q++;continue}}if(D==="["&&!z){for(let[_,[O,w,j]]of Object.entries(wx0))if(Z.startsWith(_,Q)){if(V)return["$.",!1,Z.length-X,!0];if(Q+=_.length,j)Y.push(O);else $.push(O);K=K||w;continue Z}}if(z=!1,V){if(D>V)$.push(K3(V)+"-"+K3(D));else if(D===V)$.push(K3(D));V="",Q++;continue}if(Z.startsWith("-]",Q+1)){$.push(K3(D+"-")),Q+=2;continue}if(Z.startsWith("-",Q+1)){V=D,Q+=2;continue}$.push(K3(D)),Q++}if(H<Q)return["",!1,0,!1];if(!$.length&&!Y.length)return["$.",!1,Z.length-X,!0];if(Y.length===0&&$.length===1&&/^\\?.$/.test($[0])&&!G){let D=$[0].length===2?$[0].slice(-1):$[0];return[jx0(D),!1,H-X,!1]}let F="["+(G?"^":"")+Qp($)+"]",B="["+(G?"":"^")+Qp(Y)+"]";return[$.length&&Y.length?"("+F+"|"+B+")":$.length?F:B,K,H-X,!0]};var D7=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/\[([^\/\\])\]/g,"$1"):Z.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var Mx0=new Set(["!","?","+","*","@"]),Kp=(Z)=>Mx0.has(Z),Ax0="(?!(?:^|/)\\.\\.?(?:$|/))",Vz="(?!\\.)",Tx0=new Set(["[","."]),qx0=new Set(["..","."]),Cx0=new Set("().*{}+?[]^$\\!"),Nx0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),U2="[^/]",zp=U2+"*?",Gp=U2+"+?";class V4{type;#J;#X;#G=!1;#$=[];#Y;#B;#Q;#H=!1;#K;#W;#Z=!1;constructor(Z,J,X={}){if(this.type=Z,Z)this.#X=!0;if(this.#Y=J,this.#J=this.#Y?this.#Y.#J:this,this.#K=this.#J===this?X:this.#J.#K,this.#Q=this.#J===this?[]:this.#J.#Q,Z==="!"&&!this.#J.#H)this.#Q.push(this);this.#B=this.#Y?this.#Y.#$.length:0}get hasMagic(){if(this.#X!==void 0)return this.#X;for(let Z of this.#$){if(typeof Z==="string")continue;if(Z.type||Z.hasMagic)return this.#X=!0}return this.#X}toString(){if(this.#W!==void 0)return this.#W;if(!this.type)return this.#W=this.#$.map((Z)=>String(Z)).join("");else return this.#W=this.type+"("+this.#$.map((Z)=>String(Z)).join("|")+")"}#L(){if(this!==this.#J)throw Error("should only call on root");if(this.#H)return this;this.toString(),this.#H=!0;let Z;while(Z=this.#Q.pop()){if(Z.type!=="!")continue;let J=Z,X=J.#Y;while(X){for(let $=J.#B+1;!X.type&&$<X.#$.length;$++)for(let Y of Z.#$){if(typeof Y==="string")throw Error("string part in extglob AST??");Y.copyIn(X.#$[$])}J=X,X=J.#Y}}return this}push(...Z){for(let J of Z){if(J==="")continue;if(typeof J!=="string"&&!(J instanceof V4&&J.#Y===this))throw Error("invalid part: "+J);this.#$.push(J)}}toJSON(){let Z=this.type===null?this.#$.slice().map((J)=>typeof J==="string"?J:J.toJSON()):[this.type,...this.#$.map((J)=>J.toJSON())];if(this.isStart()&&!this.type)Z.unshift([]);if(this.isEnd()&&(this===this.#J||this.#J.#H&&this.#Y?.type==="!"))Z.push({});return Z}isStart(){if(this.#J===this)return!0;if(!this.#Y?.isStart())return!1;if(this.#B===0)return!0;let Z=this.#Y;for(let J=0;J<this.#B;J++){let X=Z.#$[J];if(!(X instanceof V4&&X.type==="!"))return!1}return!0}isEnd(){if(this.#J===this)return!0;if(this.#Y?.type==="!")return!0;if(!this.#Y?.isEnd())return!1;if(!this.type)return this.#Y?.isEnd();let Z=this.#Y?this.#Y.#$.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 V4(this.type,Z);for(let X of this.#$)J.copyIn(X);return J}static#D(Z,J,X,$){let Y=!1,Q=!1,W=-1,K=!1;if(J.type===null){let F=X,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(!$.noext&&Kp(U)&&Z.charAt(F)==="("){J.push(B),B="";let D=new V4(U,J);F=V4.#D(Z,D,F,$),J.push(D);continue}B+=U}return J.push(B),F}let z=X+1,G=new V4(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(Kp(F)&&Z.charAt(z)==="("){G.push(V),V="";let B=new V4(F,G);G.push(B),z=V4.#D(Z,B,z,$);continue}if(F==="|"){G.push(V),V="",H.push(G),G=new V4(null,J);continue}if(F===")"){if(V===""&&J.#$.length===0)J.#Z=!0;return G.push(V),V="",J.push(...H,G),z}V+=F}return J.type=null,J.#X=void 0,J.#$=[Z.substring(X-1)],z}static fromGlob(Z,J={}){let X=new V4(null,void 0,J);return V4.#D(Z,X,0,J),X}toMMPattern(){if(this!==this.#J)return this.#J.toMMPattern();let Z=this.toString(),[J,X,$,Y]=this.toRegExpSource();if(!($||this.#X||this.#K.nocase&&!this.#K.nocaseMagicOnly&&Z.toUpperCase()!==Z.toLowerCase()))return X;let W=(this.#K.nocase?"i":"")+(Y?"u":"");return Object.assign(new RegExp(`^${J}$`,W),{_src:J,_glob:Z})}get options(){return this.#K}toRegExpSource(Z){let J=Z??!!this.#K.dot;if(this.#J===this)this.#L();if(!this.type){let K=this.isStart()&&this.isEnd(),z=this.#$.map((F)=>{let[B,U,D,_]=typeof F==="string"?V4.#V(F,this.#X,K):F.toRegExpSource(Z);return this.#X=this.#X||D,this.#G=this.#G||_,B}).join(""),G="";if(this.isStart()){if(typeof this.#$[0]==="string"){if(!(this.#$.length===1&&qx0.has(this.#$[0]))){let B=Tx0,U=J&&B.has(z.charAt(0))||z.startsWith("\\.")&&B.has(z.charAt(2))||z.startsWith("\\.\\.")&&B.has(z.charAt(4)),D=!J&&!Z&&B.has(z.charAt(0));G=U?Ax0:D?Vz:""}}}let H="";if(this.isEnd()&&this.#J.#H&&this.#Y?.type==="!")H="(?:$|\\/)";return[G+z+H,D7(z),this.#X=!!this.#X,this.#G]}let X=this.type==="*"||this.type==="+",$=this.type==="!"?"(?:(?!(?:":"(?:",Y=this.#F(J);if(this.isStart()&&this.isEnd()&&!Y&&this.type!=="!"){let K=this.toString();return this.#$=[K],this.type=null,this.#X=void 0,[K,D7(this.toString()),!1,!1]}let Q=!X||Z||J||!Vz?"":this.#F(!0);if(Q===Y)Q="";if(Q)Y=`(?:${Y})(?:${Q})*?`;let W="";if(this.type==="!"&&this.#Z)W=(this.isStart()&&!J?Vz:"")+Gp;else{let K=this.type==="!"?"))"+(this.isStart()&&!J&&!Z?Vz:"")+zp+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&Q?")":this.type==="*"&&Q?")?":`)${this.type}`;W=$+Y+K}return[W,D7(Y),this.#X=!!this.#X,this.#G]}#F(Z){return this.#$.map((J)=>{if(typeof J==="string")throw Error("string type in extglob ast??");let[X,$,Y,Q]=J.toRegExpSource(Z);return this.#G=this.#G||Q,X}).filter((J)=>!(this.isStart()&&this.isEnd())||!!J).join("|")}static#V(Z,J,X=!1){let $=!1,Y="",Q=!1;for(let W=0;W<Z.length;W++){let K=Z.charAt(W);if($){$=!1,Y+=(Cx0.has(K)?"\\":"")+K;continue}if(K==="\\"){if(W===Z.length-1)Y+="\\\\";else $=!0;continue}if(K==="["){let[z,G,H,V]=Wp(Z,W);if(H){Y+=z,Q=Q||G,W+=H-1,J=J||V;continue}}if(K==="*"){if(X&&Z==="*")Y+=Gp;else Y+=zp;J=!0;continue}if(K==="?"){Y+=U2,J=!0;continue}Y+=Nx0(K)}return[Y,D7(Z),!!J,Q]}}var L2=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/[?*()[\]]/g,"[$&]"):Z.replace(/[?*()[\]\\]/g,"\\$&")};var F4=(Z,J,X={})=>{if(W3(J),!X.nocomment&&J.charAt(0)==="#")return!1;return new z3(J,X).match(Z)},Rx0=/^\*+([^+@!?\*\[\(]*)$/,Px0=(Z)=>(J)=>!J.startsWith(".")&&J.endsWith(Z),Ex0=(Z)=>(J)=>J.endsWith(Z),Ix0=(Z)=>{return Z=Z.toLowerCase(),(J)=>!J.startsWith(".")&&J.toLowerCase().endsWith(Z)},yx0=(Z)=>{return Z=Z.toLowerCase(),(J)=>J.toLowerCase().endsWith(Z)},Sx0=/^\*+\.\*+$/,kx0=(Z)=>!Z.startsWith(".")&&Z.includes("."),xx0=(Z)=>Z!=="."&&Z!==".."&&Z.includes("."),vx0=/^\.\*+$/,hx0=(Z)=>Z!=="."&&Z!==".."&&Z.startsWith("."),fx0=/^\*+$/,bx0=(Z)=>Z.length!==0&&!Z.startsWith("."),gx0=(Z)=>Z.length!==0&&Z!=="."&&Z!=="..",mx0=/^\?+([^+@!?\*\[\(]*)?$/,dx0=([Z,J=""])=>{let X=Bp([Z]);if(!J)return X;return J=J.toLowerCase(),($)=>X($)&&$.toLowerCase().endsWith(J)},ux0=([Z,J=""])=>{let X=Up([Z]);if(!J)return X;return J=J.toLowerCase(),($)=>X($)&&$.toLowerCase().endsWith(J)},cx0=([Z,J=""])=>{let X=Up([Z]);return!J?X:($)=>X($)&&$.endsWith(J)},lx0=([Z,J=""])=>{let X=Bp([Z]);return!J?X:($)=>X($)&&$.endsWith(J)},Bp=([Z])=>{let J=Z.length;return(X)=>X.length===J&&!X.startsWith(".")},Up=([Z])=>{let J=Z.length;return(X)=>X.length===J&&X!=="."&&X!==".."},Lp=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Hp={win32:{sep:"\\"},posix:{sep:"/"}},px0=Lp==="win32"?Hp.win32.sep:Hp.posix.sep;F4.sep=px0;var i6=Symbol("globstar **");F4.GLOBSTAR=i6;var ix0="[^/]",nx0=ix0+"*?",ox0="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",ax0="(?:(?!(?:\\/|^)\\.).)*?",rx0=(Z,J={})=>(X)=>F4(X,Z,J);F4.filter=rx0;var p6=(Z,J={})=>Object.assign({},Z,J),sx0=(Z)=>{if(!Z||typeof Z!=="object"||!Object.keys(Z).length)return F4;let J=F4;return Object.assign(($,Y,Q={})=>J($,Y,p6(Z,Q)),{Minimatch:class extends J.Minimatch{constructor(Y,Q={}){super(Y,p6(Z,Q))}static defaults(Y){return J.defaults(p6(Z,Y)).Minimatch}},AST:class extends J.AST{constructor(Y,Q,W={}){super(Y,Q,p6(Z,W))}static fromGlob(Y,Q={}){return J.AST.fromGlob(Y,p6(Z,Q))}},unescape:($,Y={})=>J.unescape($,p6(Z,Y)),escape:($,Y={})=>J.escape($,p6(Z,Y)),filter:($,Y={})=>J.filter($,p6(Z,Y)),defaults:($)=>J.defaults(p6(Z,$)),makeRe:($,Y={})=>J.makeRe($,p6(Z,Y)),braceExpand:($,Y={})=>J.braceExpand($,p6(Z,Y)),match:($,Y,Q={})=>J.match($,Y,p6(Z,Q)),sep:J.sep,GLOBSTAR:i6})};F4.defaults=sx0;var Dp=(Z,J={})=>{if(W3(Z),J.nobrace||!/\{(?:(?!\{).)*\}/.test(Z))return[Z];return Fp.default(Z)};F4.braceExpand=Dp;var tx0=(Z,J={})=>new z3(Z,J).makeRe();F4.makeRe=tx0;var ex0=(Z,J,X={})=>{let $=new z3(J,X);if(Z=Z.filter((Y)=>$.match(Y)),$.options.nonull&&!Z.length)Z.push(J);return Z};F4.match=ex0;var Vp=/[?*]|[+@!]\(.*?\)|\[|\]/,Zv0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class z3{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(Z,J={}){if(W3(Z),J=J||{},this.options=J,this.pattern=Z,this.platform=J.platform||Lp,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 X=this.globSet.map((Y)=>this.slashSplit(Y));this.globParts=this.preprocess(X),this.debug(this.pattern,this.globParts);let $=this.globParts.map((Y,Q,W)=>{if(this.isWindows&&this.windowsNoMagicRoot){let K=Y[0]===""&&Y[1]===""&&(Y[2]==="?"||!Vp.test(Y[2]))&&!Vp.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,$),this.set=$.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 X=0;X<Z.length;X++)for(let $=0;$<Z[X].length;$++)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 X=-1;while((X=J.indexOf("**",X+1))!==-1){let $=X;while(J[$+1]==="**")$++;if($!==X)J.splice(X,$-X)}return J})}levelOneOptimize(Z){return Z.map((J)=>{return J=J.reduce((X,$)=>{let Y=X[X.length-1];if($==="**"&&Y==="**")return X;if($===".."){if(Y&&Y!==".."&&Y!=="."&&Y!=="**")return X.pop(),X}return X.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 $=1;$<Z.length-1;$++){let Y=Z[$];if($===1&&Y===""&&Z[0]==="")continue;if(Y==="."||Y==="")J=!0,Z.splice($,1),$--}if(Z[0]==="."&&Z.length===2&&(Z[1]==="."||Z[1]===""))J=!0,Z.pop()}let X=0;while((X=Z.indexOf("..",X+1))!==-1){let $=Z[X-1];if($&&$!=="."&&$!==".."&&$!=="**")J=!0,Z.splice(X-1,2),X-=2}}while(J);return Z.length===0?[""]:Z}firstPhasePreProcess(Z){let J=!1;do{J=!1;for(let X of Z){let $=-1;while(($=X.indexOf("**",$+1))!==-1){let Q=$;while(X[Q+1]==="**")Q++;if(Q>$)X.splice($+1,Q-$);let W=X[$+1],K=X[$+2],z=X[$+3];if(W!=="..")continue;if(!K||K==="."||K===".."||!z||z==="."||z==="..")continue;J=!0,X.splice($,1);let G=X.slice(0);G[$]="**",Z.push(G),$--}if(!this.preserveMultipleSlashes){for(let Q=1;Q<X.length-1;Q++){let W=X[Q];if(Q===1&&W===""&&X[0]==="")continue;if(W==="."||W==="")J=!0,X.splice(Q,1),Q--}if(X[0]==="."&&X.length===2&&(X[1]==="."||X[1]===""))J=!0,X.pop()}let Y=0;while((Y=X.indexOf("..",Y+1))!==-1){let Q=X[Y-1];if(Q&&Q!=="."&&Q!==".."&&Q!=="**"){J=!0;let K=Y===1&&X[Y+1]==="**"?["."]:[];if(X.splice(Y-1,2,...K),X.length===0)X.push("");Y-=2}}}}while(J);return Z}secondPhasePreProcess(Z){for(let J=0;J<Z.length-1;J++)for(let X=J+1;X<Z.length;X++){let $=this.partsMatch(Z[J],Z[X],!this.preserveMultipleSlashes);if($){Z[J]=[],Z[X]=$;break}}return Z.filter((J)=>J.length)}partsMatch(Z,J,X=!1){let $=0,Y=0,Q=[],W="";while($<Z.length&&Y<J.length)if(Z[$]===J[Y])Q.push(W==="b"?J[Y]:Z[$]),$++,Y++;else if(X&&Z[$]==="**"&&J[Y]===Z[$+1])Q.push(Z[$]),$++;else if(X&&J[Y]==="**"&&Z[$]===J[Y+1])Q.push(J[Y]),Y++;else if(Z[$]==="*"&&J[Y]&&(this.options.dot||!J[Y].startsWith("."))&&J[Y]!=="**"){if(W==="b")return!1;W="a",Q.push(Z[$]),$++,Y++}else if(J[Y]==="*"&&Z[$]&&(this.options.dot||!Z[$].startsWith("."))&&Z[$]!=="**"){if(W==="a")return!1;W="b",Q.push(J[Y]),$++,Y++}else return!1;return Z.length===J.length&&Q}parseNegate(){if(this.nonegate)return;let Z=this.pattern,J=!1,X=0;for(let $=0;$<Z.length&&Z.charAt($)==="!";$++)J=!J,X++;if(X)this.pattern=Z.slice(X);this.negate=J}matchOne(Z,J,X=!1){let $=this.options;if(this.isWindows){let U=typeof Z[0]==="string"&&/^[a-z]:$/i.test(Z[0]),D=!U&&Z[0]===""&&Z[1]===""&&Z[2]==="?"&&/^[a-z]:$/i.test(Z[3]),_=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=D?3:U?0:void 0,j=O?3:_?0:void 0;if(typeof w==="number"&&typeof j==="number"){let[T,C]=[Z[w],J[j]];if(T.toLowerCase()===C.toLowerCase()){if(J[j]=T,j>w)J=J.slice(j);else if(w>j)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===i6){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]===".."||!$.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),X))return this.debug("globstar found match!",V,K,B),!0;else{if(B==="."||B===".."||!$.dot&&B.charAt(0)==="."){this.debug("dot detected!",Z,V,J,F);break}this.debug("globstar swallow a segment, and continue"),V++}}if(X){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 X;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Dp(this.pattern,this.options)}parse(Z){W3(Z);let J=this.options;if(Z==="**")return i6;if(Z==="")return"";let X,$=null;if(X=Z.match(fx0))$=J.dot?gx0:bx0;else if(X=Z.match(Rx0))$=(J.nocase?J.dot?yx0:Ix0:J.dot?Ex0:Px0)(X[1]);else if(X=Z.match(mx0))$=(J.nocase?J.dot?ux0:dx0:J.dot?cx0:lx0)(X);else if(X=Z.match(Sx0))$=J.dot?xx0:kx0;else if(X=Z.match(vx0))$=hx0;let Y=V4.fromGlob(Z,this.options).toMMPattern();if($&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:$});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,X=J.noglobstar?nx0:J.dot?ox0:ax0,$=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(""))$.add(H);return typeof G==="string"?Zv0(G):G===i6?i6:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==i6||F===i6)return;if(F===void 0)if(V!==void 0&&V!==i6)z[H+1]="(?:\\/|"+X+"\\/)?"+V;else z[H]=X;else if(V===void 0)z[H-1]=F+"(?:\\/|"+X+")?";else if(V!==i6)z[H-1]=F+"(?:\\/|\\/"+X+"\\/)"+V,z[H+1]=i6}),z.filter((G)=>G!==i6).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...$].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 X=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let $=this.slashSplit(Z);this.debug(this.pattern,"split",$);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=$[$.length-1];if(!Q)for(let W=$.length-2;!Q&&W>=0;W--)Q=$[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=$;if(X.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if(X.flipNegate)return!0;return!this.negate}}if(X.flipNegate)return!1;return this.negate}static defaults(Z){return F4.defaults(Z).Minimatch}}F4.AST=V4;F4.Minimatch=z3;F4.escape=L2;F4.unescape=D7;var Op="@fastify/otel",Xv0="0.8.0",$v0=">=4.0.0 <6",wp=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],$1={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},_7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},$9="anonymous",f4=Symbol("fastify otel instance"),O7=Symbol("fastify otel request spans"),G3=Symbol("fastify otel request context"),jp=Symbol("fastify otel addhook original"),Mp=Symbol("fastify otel setnotfound original"),Fz=Symbol("fastify otel ignore path");class D2 extends Ap.InstrumentationBase{constructor(Z){super(Op,Xv0,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[Fz]=null,this._logger=x1.diag.createComponentLogger({namespace:Op}),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 X=F4;this[Fz]=($)=>{if(typeof J==="function")return J($);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)},_p.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)_p.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:$v0,name:"@fastify/otel"},J;function J(X,$,Y){X.decorate(f4,Z),X.decorate(jp,X.addHook),X.decorate(Mp,X.setNotFoundHandler),X.decorateRequest("opentelemetry",function(){let V=this[G3];return{span:this[O7],tracer:Z.tracer,context:V,inject:(B,U)=>{return x1.propagation.inject(V,B,U)},extract:(B,U)=>{return x1.propagation.extract(V,B,U)}}}),X.decorateRequest(O7,null),X.decorateRequest(G3,null),X.addHook("onRoute",function(H){if(Z[Fz]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of wp)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[$1.FASTIFY_TYPE]:_7.ROUTE,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:$9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[$1.FASTIFY_TYPE]:_7.ROUTE,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:$9}));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,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route-handler`,[$1.FASTIFY_TYPE]:_7.HANDLER,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:$9})}),X.addHook("onRequest",function(H,V,F){if(this[f4].isEnabled()===!1)return F();else if(this[f4][Fz]?.({url:H.url,method:H.method})===!0)return this[f4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=x1.context.active();if(x1.trace.getSpan(B)==null)B=x1.propagation.extract(B,H.headers);let U=Bz.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===Bz.RPCType.HTTP)U.route=H.routeOptions.url;let D=this[f4].tracer.startSpan("request",{attributes:{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.ROOT]:"@fastify/otel",[u1.ATTR_HTTP_ROUTE]:H.url,[u1.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[G3]=x1.trace.setSpan(B,D),H[O7]=D,x1.context.with(H[G3],()=>{F()})}),X.addHook("onResponse",function(H,V,F){let B=H[O7];if(B!=null)B.setStatus({code:x1.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[u1.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[O7]=null,F()}),X.addHook=K,X.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[O7];if(U!=null){if(V.statusCode<500)U.setStatus({code:x1.SpanStatusCode.OK,message:"OK"});U.setAttributes({[u1.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[O7]=null,B(null,F)}function W(H,V,F,B){let U=H[O7];if(U!=null)U.setStatus({code:x1.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[jp];if(wp.includes(H))return F.call(this,H,G(V,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - ${H}`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:$9}));else return F.call(this,H,V)}function z(H,V){let F=this[Mp];if(typeof H==="function")V=G(H,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:$9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:$9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:$9});V=G(V,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:$9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[f4],[D]=B;if(U.isEnabled()===!1)return H.call(this,...B);let _=D[G3]??x1.context.active(),O=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??$9}`,{attributes:V},_);return x1.context.with(x1.trace.setSpan(_,O),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((j)=>{return O.end(),j},(j)=>{return O.setStatus({code:x1.SpanStatusCode.ERROR,message:j.message}),O.recordException(j),O.end(),Promise.reject(j)});return O.end(),w}catch(w){throw O.setStatus({code:x1.SpanStatusCode.ERROR,message:w.message}),O.recordException(w),O.end(),w}},this)}}}}}var S8=x(f(),1),Lz=x(H1(),1),fZ=x(G0(),1),Rp=x(l0(),1);var Y9;(function(Z){Z.FASTIFY_NAME="fastify.name";let X="fastify.type";Z.FASTIFY_TYPE=X;let $="hook.name";Z.HOOK_NAME=$;let Y="plugin.name";Z.PLUGIN_NAME=Y})(Y9||(Y9={}));var H3;(function(Z){Z.MIDDLEWARE="middleware";let X="request_handler";Z.REQUEST_HANDLER=X})(H3||(H3={}));var V3;(function(Z){Z.MIDDLEWARE="middleware";let X="request handler";Z.REQUEST_HANDLER=X})(V3||(V3={}));var qp=x(f(),1);var F3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function _2(Z,J,X,$={}){let Y=J.startSpan(X,{attributes:$}),Q=Z[F3]||[];return Q.push(Y),Object.defineProperty(Z,F3,{enumerable:!1,configurable:!0,value:Q}),Y}function Uz(Z,J){let X=Z[F3]||[];if(!X.length)return;X.forEach(($)=>{if(J)$.setStatus({code:qp.SpanStatusCode.ERROR,message:J.message}),$.recordException(J);$.end()}),delete Z[F3]}function Cp(Z,J,X){let $,Y=void 0;try{if(Y=Z(),Tp(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){$=Q}finally{if(!Tp(Y)){if(J($,Y),$)throw $}return Y}}function Tp(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var Yv0="0.1.0",Qv0="@sentry/instrumentation-fastify-v3",Np="anonymous",Wv0=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class O2 extends fZ.InstrumentationBase{constructor(Z={}){super(Qv0,Yv0,Z)}init(){return[new fZ.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($,"send",Z._patchSend());let Q=X,W=Lz.getRPCMetadata(S8.context.active()),K=Q.routeOptions?Q.routeOptions.url:X.routerPath;if(K&&W?.type===Lz.RPCType.HTTP)W.route=K;let z=X.method||"GET";R0().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 X.apply(this,Q);let W=X.name||Z||Np,K=`${V3.MIDDLEWARE} - ${W}`,z=Q[1],G=_2(z,Y.tracer,K,{[Y9.FASTIFY_TYPE]:H3.MIDDLEWARE,[Y9.PLUGIN_NAME]:Z,[Y9.HOOK_NAME]:J}),H=$&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){Uz(z),H.apply(this,V)};return S8.context.with(S8.trace.setSpan(S8.context.active(),G),()=>{return Cp(()=>{return X.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:S8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!$)Uz(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...$){let Y=$[0],Q=$[1],W=this.pluginName;if(!Wv0.has(Y))return J.apply(this,$);let K=typeof $[$.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,$);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),Kv0(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)X.errorCodes=Z.errorCodes;return X.fastify=X,X.default=X,X}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function(X){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return X.apply(this,Y);return fZ.safeExecuteInTheMiddle(()=>{return X.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;Uz(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function(X,$,Y){if(!Z.isEnabled())return Y();let Q=X,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${V3.REQUEST_HANDLER} - ${K||this.pluginName||Np}`,G={[Y9.PLUGIN_NAME]:this.pluginName,[Y9.FASTIFY_TYPE]:H3.REQUEST_HANDLER,[Rp.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:X.routerPath};if(K)G[Y9.FASTIFY_NAME]=K;let H=_2($,Z.tracer,z,G);Pp(H);let{requestHook:V}=Z.getConfig();if(V)fZ.safeExecuteInTheMiddle(()=>V(H,{request:X}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return S8.context.with(S8.trace.setSpan(S8.context.active(),H),()=>{Y()})}}}function Kv0(){let Z=u();if(Z)Z.on("spanStart",(J)=>{Pp(J)})}function Pp(Z){let J=J0(Z).data,X=J["fastify.type"];if(J[K0]||!X)return;Z.setAttributes({[X0]:"auto.http.otel.fastify",[K0]:`${X}.fastify`});let $=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof $==="string"){let Y=$.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var Dz="Fastify",Ip=r(`${Dz}.v3`,()=>new O2);function zv0(){let Z=u();if(!Z)return;else return Z.getIntegrationByName(Dz)}function Ep(Z,J,X,$){let Y=zv0()?.getShouldHandleError()||kp;if($==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&$==="onError-hook"){R1&&A.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,X))H0(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var yp=r(`${Dz}.v5`,()=>{let Z=new D2,J=Z.plugin();return w2.subscribe("fastify.initialization",(X)=>{let $=X.fastify;$?.register(J).after((Y)=>{if(Y)R1&&A.error("Failed to setup Fastify instrumentation",Y);else if(Hv0(),$)Vv0($)})}),w2.subscribe("tracing:fastify.request.handler:error",(X)=>{let{error:$,request:Y,reply:Q}=X;Ep.call(Ep,$,Y,Q,"diagnostics-channel")}),Z}),Gv0=({shouldHandleError:Z})=>{let J;return{name:Dz,setupOnce(){J=Z||kp,Ip(),yp()},getShouldHandleError(){return J},setShouldHandleError(X){J=X}}},Sp=S((Z={})=>Gv0(Z));function kp(Z,J,X){let $=X.statusCode;return $>=500||$<=299}function xp(Z){let J=J0(Z),X=J.description,$=J.data,Y=$["fastify.type"],Q=Y==="hook",W=Y===X?.startsWith("handler -"),K=X==="request"||Y==="request-handler";if($[K0]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[X0]:"auto.http.otel.fastify",[K0]:`${z}.fastify`});let G=$["fastify.name"]||$["plugin.name"]||$["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function Hv0(){let Z=u();if(Z)Z.on("spanStart",(J)=>{xp(J)})}function Vv0(Z){Z.addHook("onRequest",async(J,X)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)xp(Q)}let $=J.routeOptions?.url,Y=J.method||"GET";R0().setTransactionName(`${Y} ${$}`)})}var _i=x(f(),1),Oi=x(Di(),1);var wi="Graphql",ji=r(wi,Oi.GraphQLInstrumentation,(Z)=>{let J=Ai(Z);return{...J,responseHook(X,$){if(p0(X,"auto.graphql.otel.graphql"),$.errors?.length&&!J0(X).status)X.setStatus({code:_i.SpanStatusCode.ERROR});let Q=J0(X).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=C1(X),H=J0(z).data[wX]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(wX,H);else if(typeof H==="string")z.setAttribute(wX,[H,V]);else z.setAttribute(wX,V);if(!J0(z).data["original-description"])z.setAttribute("original-description",J0(z).description);z.updateName(`${J0(z).data["original-description"]} (${dv0(H)})`)}}}}),mv0=(Z={})=>{return{name:wi,setupOnce(){ji(Ai(Z))}}},Mi=S(mv0);function Ai(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function dv0(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 pi=x(li(),1);var ii="Kafka",ni=r(ii,()=>new pi.KafkaJsInstrumentation({consumerHook(Z){p0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){p0(Z,"auto.kafkajs.otel.producer")}})),Kh0=()=>{return{name:ii,setupOnce(){ni()}}},oi=S(Kh0);var Wn=x(Qn(),1);var Kn="LruMemoizer",zn=r(Kn,()=>new Wn.LruMemoizerInstrumentation),Vh0=()=>{return{name:Kn,setupOnce(){zn()}}},Gn=S(Vh0);var Nn=x(Cn(),1);var Rn="Mongo",Pn=r(Rn,()=>new Nn.MongoDBInstrumentation({dbStatementSerializer:Rh0,responseHook(Z){p0(Z,"auto.db.otel.mongo")}}));function Rh0(Z){let J=S2(Z);return JSON.stringify(J)}function S2(Z){if(Array.isArray(Z))return Z.map((J)=>S2(J));if(Ph0(Z)){let J={};return Object.entries(Z).map(([X,$])=>[X,S2($)]).reduce((X,$)=>{if(Ih0($))X[$[0]]=$[1];return X},J)}return"?"}function Ph0(Z){return typeof Z==="object"&&Z!==null&&!Eh0(Z)}function Eh0(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Ih0(Z){return Array.isArray(Z)}var yh0=()=>{return{name:Rn,setupOnce(){Pn()}}},En=S(yh0);var rn=x(an(),1);var sn="Mongoose",tn=r(sn,()=>new rn.MongooseInstrumentation({responseHook(Z){p0(Z,"auto.db.otel.mongoose")}})),th0=()=>{return{name:sn,setupOnce(){tn()}}},en=S(th0);var Do=x(Lo(),1);var _o="Mysql",Oo=r(_o,()=>new Do.MySQLInstrumentation({})),Tf0=()=>{return{name:_o,setupOnce(){Oo()}}},wo=S(Tf0);var bo=x(fo(),1);var go="Mysql2",mo=r(go,()=>new bo.MySQL2Instrumentation({responseHook(Z){p0(Z,"auto.db.otel.mysql2")}})),sf0=()=>{return{name:go,setupOnce(){mo()}}},uo=S(sf0);var da=x(Ka(),1),ua=x(ha(),1);var kb0=["get","set","setex"],ZD=["get","mget"],xb0=["set","setex"];function A3(Z,J){return Z.includes(J.toLowerCase())}function JD(Z){if(A3(ZD,Z))return"cache.get";else if(A3(xb0,Z))return"cache.put";else return}function vb0(Z,J){return J.some((X)=>Z.startsWith(X))}function ba(Z,J){try{if(J.length===0)return;let X=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return fa(Y.map((Q)=>X(Q)));else return["<unknown>"]},$=J[0];if(A3(kb0,Z)&&$!=null)return X($);return fa(J.map((Y)=>X(Y)))}catch{return}}function ga(Z,J,X){if(!JD(Z))return!1;for(let $ of J)if(vb0($,X))return!0;return!1}function ma(Z){let J=(X)=>{try{if(Buffer.isBuffer(X))return X.byteLength;else if(typeof X==="string")return X.length;else if(typeof X==="number")return X.toString().length;else if(X===null||X===void 0)return 0;return JSON.stringify(X).length}catch{return}};return Array.isArray(Z)?Z.reduce((X,$)=>{let Y=J($);return typeof Y==="number"?X!==void 0?X+Y:Y:X},0):J(Z)}function fa(Z){let J=[],X=($)=>{$.forEach((Y)=>{if(Array.isArray(Y))X(Y);else J.push(Y)})};return X(Z),J}var yz="Redis",T3={},ca=(Z,J,X,$)=>{Z.setAttribute(X0,"auto.db.otel.redis");let Y=ba(J,X),Q=JD(J);if(!Y||!Q||!T3.cachePrefixes||!ga(J,Y,T3.cachePrefixes))return;let W=J0(Z).data["net.peer.name"],K=J0(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=ma($);if(z)Z.setAttribute(iB,z);if(A3(ZD,J)&&z!==void 0)Z.setAttribute(lB,z>0);Z.setAttributes({[K0]:Q,[pB]:Y});let G=Y.join(", ");Z.updateName(T3.maxCacheKeyLength?d9(G,T3.maxCacheKeyLength):G)},hb0=r(`${yz}.IORedis`,()=>{return new da.IORedisInstrumentation({responseHook:ca})}),fb0=r(`${yz}.Redis`,()=>{return new ua.RedisInstrumentation({responseHook:ca})}),la=Object.assign(()=>{hb0(),fb0()},{id:yz}),bb0=(Z={})=>{return{name:yz,setupOnce(){T3=Z,la()}}},pa=S(bb0);var Mr=x(jr(),1);var Ar="Postgres",Tr=r(Ar,()=>new Mr.PgInstrumentation({requireParentSpan:!0,requestHook(Z){p0(Z,"auto.db.otel.postgres")}})),Ig0=()=>{return{name:Ar,setupOnce(){Tr()}}},qr=S(Ig0);var mX=x(f(),1),z9=x(G0(),1),v1=x(l0(),1);var bz="PostgresJs",Cr=[">=3.0.0 <4"],yg0=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,fz=Symbol("sentryPostgresConnectionContext"),zD=Symbol.for("sentry.instrumented.postgresjs"),Nr=Symbol.for("sentry.query.from.instrumented.sql"),Rr=r(bz,(Z)=>new Pr({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class Pr extends z9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",N0,Z)}init(){let Z=new z9.InstrumentationNodeModuleDefinition("postgres",Cr,(J)=>{try{return this._patchPostgres(J)}catch(X){return R1&&A.error("Failed to patch postgres module:",X),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new z9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,Cr,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",X=J?Z:Z.default;if(typeof X!=="function")return R1&&A.warn("postgres module does not export a function. Skipping instrumentation."),Z;let $=this,Y=function(...Q){let W=Reflect.construct(X,Q);if(!W||typeof W!=="function")return R1&&A.warn("postgres() did not return a valid instance"),W;return $._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,X),Object.setPrototypeOf(Y.prototype,X.prototype);for(let Q of Object.getOwnPropertyNames(X))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor(X,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return xY(Z,"default",Y),Z}_wrapQueryMethod(Z,J,X){let $=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)$._wrapSingleQueryHandle(Q,X);return Q}}_wrapCallbackMethod(Z,J,X){let $=this;return function(...Y){let Q=X[fz];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 $._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=$._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(v1.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(v1.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let X=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN(X))Z.setAttribute(v1.ATTR_SERVER_PORT,X)}}_setOperationName(Z,J,X){if(X){Z.setAttribute(v1.ATTR_DB_OPERATION_NAME,X);return}let $=J?.match(yg0);if($?.[1])Z.setAttribute(v1.ATTR_DB_OPERATION_NAME,$[1].toUpperCase())}_attachConnectionContext(Z,J){let X=Z;if(!X.options||typeof X.options!=="object")return;let $=X.options,Y=$.host?.[0]||"localhost",Q=$.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof $.database==="string"&&$.database!==""?$.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[fz]=W}_instrumentSqlInstance(Z,J){if(Z[zD])return Z;let X=this,$=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)X._wrapSingleQueryHandle(K,$);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return X._wrapQueryMethod(W,Y,$);if(Q==="begin"||Q==="reserve")return X._wrapCallbackMethod(W,Y,$);return W}});if(J)$[fz]=J;else this._attachConnectionContext(Z,$);return Z[zD]=!0,$[zD]=!0,$}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[Nr]=!0;let X=Z.handle,$=this,Y=async function(...Q){if(!$._shouldCreateSpans())return X.apply(this,Q);let W=$._reconstructQuery(Z.strings),K=$._sanitizeSqlQuery(W);return G4({name:K||"postgresjs.query",op:"db"},(z)=>{p0(z,"auto.db.postgresjs"),z.setAttributes({[v1.ATTR_DB_SYSTEM_NAME]:"postgres",[v1.ATTR_DB_QUERY_TEXT]:K});let G=J?J[fz]:void 0;$._setConnectionAttributes(z,G);let H=$.getConfig(),{requestHook:V}=H;if(V)z9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),R1&&A.error(`Error in requestHook for ${bz} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,D)=>{try{$._setOperationName(z,K,D?.[0]?.command),z.end()}catch(_){R1&&A.error("Error ending span in resolve callback:",_)}return Reflect.apply(B,U,D)}}),F.reject=new Proxy(F.reject,{apply:(B,U,D)=>{try{z.setStatus({code:A0,message:D?.[0]?.message||"unknown_error"}),z.setAttribute(v1.ATTR_DB_RESPONSE_STATUS_CODE,D?.[0]?.code||"unknown"),z.setAttribute(v1.ATTR_ERROR_TYPE,D?.[0]?.name||"unknown"),$._setOperationName(z,K),z.end()}catch(_){R1&&A.error("Error ending span in reject callback:",_)}return Reflect.apply(B,U,D)}});try{return X.apply(this,Q)}catch(B){throw z.setStatus({code:A0,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return mX.trace.getSpan(mX.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,$)=>$===0?X:`${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,X=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...$){if(this[Nr])return X.apply(this,$);if(!J._shouldCreateSpans())return X.apply(this,$);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return G4({name:Q||"postgresjs.query",op:"db"},(W)=>{p0(W,"auto.db.postgresjs"),W.setAttributes({[v1.ATTR_DB_SYSTEM_NAME]:"postgres",[v1.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)z9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),R1&&A.error(`Error in requestHook for ${bz} 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){R1&&A.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:A0,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(v1.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(v1.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){R1&&A.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return X.apply(this,$)}catch(V){throw W.setStatus({code:A0,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=X,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var Sg0=(Z)=>{return{name:bz,setupOnce(){Rr(Z)}}},Er=S(Sg0);var t6=x(f(),1);var Sr=x(f(),1),gz=x(G0(),1),T7=x(f(),1);var kg0=process.env.PRISMA_SHOW_ALL_TRACES==="true",xg0="00-10-10-00";function vg0(Z){switch(Z){case"client":return T7.SpanKind.CLIENT;case"internal":default:return T7.SpanKind.INTERNAL}}var hg0=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=T7.trace.getSpanContext(Z??T7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return xg0}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),X=new Map,$=Z.filter((Y)=>Y.parentId===null);for(let Y of $)kr(J,Y,Z,X,this.ignoreSpanTypes)}getActiveContext(){return T7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!kg0)return J();let X=this.tracerProvider.getTracer("prisma"),$=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(xr(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=X.startSpan(Y,Z,$);return Ir(Q,J(Q,$))}return X.startActiveSpan(Y,Z,(Q)=>Ir(Q,J(Q,$)))}};function kr(Z,J,X,$,Y){if(xr(J.name,Y))return;let Q={attributes:J.attributes,kind:vg0(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if($.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=$.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=X.filter((z)=>z.parentId===J.id);for(let z of K)kr(Z,z,X,$,Y);W.end(J.endTime)})}function Ir(Z,J){if(fg0(J))return J.then((X)=>{return Z.end(),X},(X)=>{throw Z.end(),X});return Z.end(),J}function fg0(Z){return Z!=null&&typeof Z.then==="function"}function xr(Z,J){return J.some((X)=>typeof X==="string"?X===Z:X.test(Z))}var vr={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},HD=vr.version,bg0=HD.split(".")[0],yr="PRISMA_INSTRUMENTATION",GD=`V${bg0}_PRISMA_INSTRUMENTATION`,gg0=vr.name,mg0="@prisma/client",hr=class extends gz.InstrumentationBase{tracerProvider;constructor(Z={}){super(gg0,HD,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new gz.InstrumentationNodeModuleDefinition(mg0,[HD])]}enable(){let Z=this._config,J={helper:new hg0({tracerProvider:this.tracerProvider??Sr.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[yr]=J,global[GD]=J}disable(){delete global[yr],delete global[GD]}isEnabled(){return Boolean(global[GD])}};var fr="Prisma";function dg0(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function br(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class gr extends hr{constructor(){super()}enable(){super.enable();let Z=br();if(dg0(Z))Z.createEngineSpan=(J)=>{let X=t6.trace.getTracer("prismaV5Compatibility"),$=X._idGenerator;if(!$){S1(()=>{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=ug0(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:t6.TraceFlags.SAMPLED}}}),H=t6.trace.setSpanContext(t6.context.active(),{traceId:z,spanId:W,traceFlags:t6.TraceFlags.SAMPLED});t6.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};X._idGenerator=V,X.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),X._idGenerator=$})})}finally{X._idGenerator=$}}}}function ug0(Z){switch(Z){case"client":return t6.SpanKind.CLIENT;case"internal":default:return t6.SpanKind.INTERNAL}}var cg0=r(fr,(Z)=>{return new gr}),mr=S((Z)=>{return{name:fr,setupOnce(){cg0()},setup(J){if(!br())return;J.on("spanStart",(X)=>{let $=J0(X);if($.description?.startsWith("prisma:"))X.setAttribute(X0,"auto.db.otel.prisma");if($.description==="prisma:engine:db_query"&&$.data["db.query.text"])X.updateName($.data["db.query.text"]);if($.description==="prisma:engine:db_query"&&!$.data["db.system"])X.setAttribute("db.system","prisma")})}}});var zs=x(Ks(),1);var Gs="Hapi",Hs=r(Gs,()=>new zs.HapiInstrumentation),Bm0=()=>{return{name:Gs,setupOnce(){Hs()}}},Vs=S(Bm0);var uz=x(l0(),1);var C7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},P3={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var mZ=x(f(),1),dz=x(G0(),1);var Um0="@sentry/instrumentation-hono",Lm0="0.0.1";class LD extends dz.InstrumentationBase{constructor(Z={}){super(Um0,Lm0,Z)}init(){return[new dz.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class X extends Z.Hono{constructor(...$){super(...$);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=X}catch{return{...Z,Hono:X}}return Z}_patchHandler(){let Z=this;return function(J){return function(...$){if(typeof $[0]==="string"){let Y=$[0];if($.length===1)return J.apply(this,[Y]);let Q=$.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,$.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...$){let Y=$.slice(2);return J.apply(this,[...$.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...$){if(typeof $[0]==="string"){let Y=$[0];if($.length===1)return J.apply(this,[Y]);let Q=$.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,$.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function(X,$){if(!J.isEnabled())return Z.apply(this,[X,$]);let Y=X.req.path,Q=J.tracer.startSpan(Y);return mZ.context.with(mZ.trace.setSpan(mZ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[X,$]);if(k4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[C7.HONO_TYPE]:z,[C7.HONO_NAME]:z===P3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[C7.HONO_TYPE]:K,[C7.HONO_NAME]:K===P3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,X){try{let $=Z();if(k4($))$.then(()=>J(),(Y)=>X(Y));else J();return $}catch($){throw X($),$}}_determineHandlerType(Z){return Z===void 0?P3.MIDDLEWARE:P3.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:mZ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Fs="Hono";function Dm0(Z){let J=J0(Z).data,X=J[C7.HONO_TYPE];if(J[K0]||!X)return;Z.setAttributes({[X0]:"auto.http.otel.hono",[K0]:`${X}.hono`});let $=J[C7.HONO_NAME];if(typeof $==="string")Z.updateName($);if(R0()===D6()){R1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[uz.ATTR_HTTP_ROUTE],Q=J[uz.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")R0().setTransactionName(`${Q} ${Y}`)}var Bs=r(Fs,()=>new LD({responseHook:(Z)=>{Dm0(Z)}})),_m0=()=>{return{name:Fs,setupOnce(){Bs()}}},Us=S(_m0);var fs=x(hs(),1),bs=x(l0(),1);var gs="Koa",ms=r(gs,fs.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,X){p0(J,"auto.http.otel.koa");let $=J0(J).data,Y=$["koa.type"];if(Y)J.setAttribute(K0,`${Y}.koa`);let Q=$["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(R0()===D6()){R1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=$[bs.ATTR_HTTP_ROUTE],K=X.context?.request?.method?.toUpperCase()||"GET";if(W)R0().setTransactionName(`${K} ${W}`)}}}),Em0=(Z={})=>{return{name:gs,setupOnce(){ms(Z)}}},ds=S(Em0);var zt=x(Kt(),1);var Gt="Connect",Ht=r(Gt,()=>new zt.ConnectInstrumentation),cm0=()=>{return{name:Gt,setupOnce(){Ht()}}},Vt=S(cm0);var Et=x(Pt(),1);var Yd0=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),It="Tedious",yt=r(It,()=>new Et.TediousInstrumentation({})),Qd0=()=>{let Z;return{name:It,setupOnce(){let J=yt();Z=hY(J)},setup(J){Z?.(()=>J.on("spanStart",(X)=>{let{description:$,data:Y}=J0(X);if(!$||Y["db.system"]!=="mssql")return;let Q=$.split(" ")[0]||"";if(Yd0.has(Q))X.setAttribute(X0,"auto.db.otel.tedious")}))}}},St=S(Qd0);var ut=x(dt(),1);var ct="GenericPool",lt=r(ct,()=>new ut.GenericPoolInstrumentation({})),Gd0=()=>{let Z;return{name:ct,setupOnce(){let J=lt();Z=hY(J)},setup(J){Z?.(()=>J.on("spanStart",(X)=>{let Y=J0(X).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")X.setAttribute(X0,"auto.db.otel.generic_pool")}))}}},pt=S(Gd0);var Le=x(Ue(),1);var De="Amqplib",cd0={consumeEndHook:(Z)=>{p0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{p0(Z,"auto.amqplib.otel.publisher")}},_e=r(De,()=>new Le.AmqplibInstrumentation(cd0)),ld0=()=>{return{name:De,setupOnce(){_e()}}},Oe=S(ld0);var k3="VercelAI";var sz=x(G0(),1);var pd0=[">=3.0.0 <7"],we=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function id0(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 nd0(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let X of J.content)if(id0(X)){let $=bU(X.toolCallId);if($){let Y=$.spanContext();e4((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",X.toolName),Q.setTag("vercel.ai.tool.callId",X.toolCallId),Q.setLevel("error"),H0(X.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),gU(X.toolCallId)}else e4((Y)=>{Y.setTag("vercel.ai.tool.name",X.toolName),Y.setTag("vercel.ai.tool.callId",X.toolCallId),Y.setLevel("error"),H0(X.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function od0(Z,J,X,$){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:X===!0?!0:$,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:X===!0?!0:$;return{recordInputs:Y,recordOutputs:Q}}class x3 extends sz.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",N0,Z);x3.prototype.__init.call(this),x3.prototype.__init2.call(this)}init(){return new sz.InstrumentationNodeModuleDefinition("ai",pd0,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach((X)=>X()),this._callbacks=[];let J=(X)=>{return new Proxy(X,{apply:($,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=u(),G=z?.getIntegrationByName(k3),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=od0(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},w6(()=>Reflect.apply($,Y,Q),(U)=>{if(U&&typeof U==="object")b1(U,"_sentry_active_span",Z5())},()=>{},(U)=>{nd0(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let X of we)Z[X]=J(Z[X]);return Z}else{let X=we.reduce(($,Y)=>{return $[Y]=J(Z[Y]),$},{});return{...Z,...X}}}}var je=r(k3,()=>new x3({}));function ad0(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var rd0=(Z={})=>{let J;return{name:k3,options:Z,setupOnce(){J=je()},afterAllSetup(X){if(Z.force??ad0(X))wK(X);else J?.callWhenPatched(()=>wK(X))}}},Me=S(rd0);var tz=x(G0(),1);var sd0=[">=4.0.0 <7"];class xD extends tz.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",N0,Z)}init(){return new tz.InstrumentationNodeModuleDefinition("openai",sd0,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 X=Z[J];if(!X)return Z;let $=this.getConfig(),Y=function(...Q){if(qZ(G7))return Reflect.construct(X,Q);let W=Reflect.construct(X,Q),K=u(),z=Boolean(K?.getOptions().sendDefaultPii),G=$.recordInputs??z,H=$.recordOutputs??z;return AK(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,X),Object.setPrototypeOf(Y.prototype,X.prototype);for(let Q of Object.getOwnPropertyNames(X))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor(X,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===X)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var Ae=r(G7,(Z)=>new xD(Z)),td0=(Z={})=>{return{name:G7,setupOnce(){Ae(Z)}}},Te=S(td0);var ez=x(G0(),1);var ed0=[">=0.19.2 <1.0.0"];class vD extends ez.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",N0,Z)}init(){return new ez.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",ed0,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,X=this.getConfig(),$=function(...Y){if(qZ(H7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=u(),K=Boolean(W?.getOptions().sendDefaultPii),z=X.recordInputs??K,G=X.recordOutputs??K;return uU(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf($,J),Object.setPrototypeOf($.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($,Y,Q)}try{Z.Anthropic=$}catch(Y){Object.defineProperty(Z,"Anthropic",{value:$,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=$}catch(Y){Object.defineProperty(Z,"default",{value:$,writable:!0,configurable:!0,enumerable:!0})}return Z}}var qe=r(H7,(Z)=>new vD(Z)),Zu0=(Z={})=>{return{name:H7,options:Z,setupOnce(){qe(Z)}}},Ce=S(Zu0);var pX=x(G0(),1);var Ne=[">=0.10.0 <2"];class hD extends pX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",N0,Z)}init(){return new pX.InstrumentationNodeModuleDefinition("@google/genai",Ne,(J)=>this._patch(J),(J)=>J,[new pX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",Ne,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,X=this.getConfig();if(typeof J!=="function")return Z;let $=function(...Y){if(qZ(V7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=u(),K=Boolean(W?.getOptions().sendDefaultPii),z=X,G=z?.recordInputs??K,H=z?.recordOutputs??K;return iU(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf($,J),Object.setPrototypeOf($.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($,Y,Q)}return xY(Z,"GoogleGenAI",$),Z}}var Re=r(V7,(Z)=>new hD(Z)),Ju0=(Z={})=>{return{name:V7,setupOnce(){Re(Z)}}},Pe=S(Ju0);var P7=x(G0(),1);var ZG=[">=0.1.0 <2.0.0"];function Xu0(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 $u0(Z,J,X){return new Proxy(Z,{apply($,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=Xu0(z,J);return K.callbacks=G,Reflect.apply($,Y,Q)}})}class fD extends P7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",N0,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let X of J)Z.push(new P7.InstrumentationNodeModuleDefinition(X,ZG,this._patch.bind(this),($)=>$,[new P7.InstrumentationNodeModuleFile(`${X}/dist/index.cjs`,ZG,this._patch.bind(this),($)=>$)]));return Z.push(new P7.InstrumentationNodeModuleDefinition("langchain",ZG,this._patch.bind(this),(X)=>X,[new P7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",ZG,this._patch.bind(this),(X)=>X)])),Z}_patch(Z){OU([G7,H7,V7]);let J=u(),X=Boolean(J?.getOptions().sendDefaultPii),$=this.getConfig(),Y=$?.recordInputs??X,Q=$?.recordOutputs??X,W=qK({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let X=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],$=Z.universal_exports??Z,Y=Object.values($).find((K)=>{return typeof K==="function"&&X.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]=$u0(z,J)}}}var Ee=r(TK,(Z)=>new fD(Z)),Yu0=(Z={})=>{return{name:TK,setupOnce(){Ee(Z)}}},Ie=S(Yu0);var iX=x(G0(),1);var ye=[">=0.0.0 <2.0.0"];class bD extends iX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",N0,Z)}init(){return new iX.InstrumentationNodeModuleDefinition("@langchain/langgraph",ye,this._patch.bind(this),(J)=>J,[new iX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",ye,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=u(),X=Boolean(J?.getOptions().sendDefaultPii),$=this.getConfig(),Y=$.recordInputs??X,Q=$.recordOutputs??X,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=aU(K.prototype.compile,W)}return Z}}var Se=r(CK,(Z)=>new bD(Z)),Qu0=(Z={})=>{return{name:CK,setupOnce(){Se(Z)}}},ke=S(Qu0);var de=x(G0(),1);var H9=x(f(),1),V9=x(G0(),1),e6=x(l0(),1);import*as ve from"net";function he(Z,J,X,$,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{V9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;H9.diag.error(V?.message)},!0)};let z=new V9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>xe(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 V9.InstrumentationNodeModuleFile(H,J,(V)=>xe(V,X,$,Z,W),(V)=>fe(V,$)));return z}function xe(Z,J,X,$,Y){return fe(Z,X),J(Z,"addDoc",Wu0($,Y)),J(Z,"getDocs",zu0($,Y)),J(Z,"setDoc",Gu0($,Y)),J(Z,"deleteDoc",Ku0($,Y)),Z}function fe(Z,J){for(let X of["addDoc","getDocs","setDoc","deleteDoc"])if(V9.isWrapped(Z[X]))J(Z,X);return Z}function Wu0(Z,J){return function($){return function(Y,Q){let W=XG(Z,"addDoc",Y);return J(W),JG(W,()=>{return $(Y,Q)})}}}function Ku0(Z,J){return function($){return function(Y){let Q=XG(Z,"deleteDoc",Y.parent||Y);return J(Q),JG(Q,()=>{return $(Y)})}}}function zu0(Z,J){return function($){return function(Y){let Q=XG(Z,"getDocs",Y);return J(Q),JG(Q,()=>{return $(Y)})}}}function Gu0(Z,J){return function($){return function(Y,Q,W){let K=XG(Z,"setDoc",Y.parent||Y);return J(K),JG(K,()=>{return typeof W<"u"?$(Y,Q,W):$(Y,Q)})}}}function JG(Z,J){return H9.context.with(H9.trace.setSpan(H9.context.active(),Z),()=>{return V9.safeExecuteInTheMiddle(()=>{return J()},(X)=>{if(X)Z.recordException(X);Z.end()},!0)})}function XG(Z,J,X){let $=Z.startSpan(`${J} ${X.path}`,{kind:H9.SpanKind.CLIENT});return Vu0($,X),$.setAttribute(e6.ATTR_DB_OPERATION_NAME,J),$}function Hu0(Z){let J,X;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let $=Z.host.lastIndexOf(":");if($!==-1)J=Z.host.slice(1,$).replace(/^\[|\]$/g,""),X=Z.host.slice($+1)}}else if(ve.isIPv6(Z.host))J=Z.host;else{let $=Z.host.lastIndexOf(":");if($!==-1)J=Z.host.slice(0,$),X=Z.host.slice($+1);else J=Z.host}return{address:J,port:X?parseInt(X,10):void 0}}function Vu0(Z,J){let X=J.firestore.app,$=X.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[e6.ATTR_DB_COLLECTION_NAME]:J.path,[e6.ATTR_DB_NAMESPACE]:X.name,[e6.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":$.projectId,"firebase.firestore.options.appId":$.appId,"firebase.firestore.options.messagingSenderId":$.messagingSenderId,"firebase.firestore.options.storageBucket":$.storageBucket},{address:K,port:z}=Hu0(Q);if(K)W[e6.ATTR_SERVER_ADDRESS]=K;if(z)W[e6.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var V5=x(f(),1),F9=x(G0(),1);function be(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)=>{F9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;V5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{F9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;V5.diag.error(B?.message)},!0)};let H=new F9.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 F9.InstrumentationNodeModuleFile(F,J,(U)=>Fu0(U,X,$,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>ge(U,$)))}),H}function m4(Z,J,X){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.${X}`,{kind:V5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":X,"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),V5.context.with(V5.trace.setSpan(V5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(D){B=D}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 Fu0(Z,J,X,$,Y,Q){switch(ge(Z,X),Q){case"function":J(Z,"onRequest",m4($,Y,"http.request")),J(Z,"onCall",m4($,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",m4($,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",m4($,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",m4($,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",m4($,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",m4($,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",m4($,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",m4($,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",m4($,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",m4($,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",m4($,Y,"storage.object.finalized")),J(Z,"onObjectArchived",m4($,Y,"storage.object.archived")),J(Z,"onObjectDeleted",m4($,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",m4($,Y,"storage.object.metadataUpdated"));break}return Z}function ge(Z,J){let X=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let $ of X)if(F9.isWrapped(Z[$]))J(Z,$);return Z}var me={},Bu0=[">=3.0.0 <5"],Uu0=[">=6.0.0 <7"];class gD extends de.InstrumentationBase{constructor(Z=me){super("@sentry/instrumentation-firebase",N0,Z)}setConfig(Z={}){super.setConfig({...me,...Z})}init(){let Z=[];return Z.push(he(this.tracer,Bu0,this._wrap,this._unwrap,this.getConfig())),Z.push(be(this.tracer,Uu0,this._wrap,this._unwrap,this.getConfig())),Z}}var ue="Firebase",Lu0={firestoreSpanCreationHook:(Z)=>{p0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(K0,"db.query")},functions:{requestHook:(Z)=>{p0(Z,"auto.firebase.otel.functions"),Z.setAttribute(K0,"http.request")},errorHook:async(Z,J)=>{if(J)H0(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await YK(2000)}}},ce=r(ue,()=>new gD(Lu0)),Du0=()=>{return{name:ue,setupOnce(){ce()}}},le=S(Du0);function v3(){return[pl(),Sp(),Mi(),Us(),En(),en(),wo(),uo(),pa(),qr(),mr(),Vs(),ds(),Vt(),St(),pt(),oi(),Oe(),Gn(),Ie(),ke(),Me(),Te(),Ce(),Pe(),Er(),le()]}var nX=x(f(),1);var oX=x(l0(),1);var mD=1e6;function pe(Z,J={}){if(Z.getOptions().debug)oL();let[X,$]=_u0(Z,J);Z.traceProvider=X,Z.asyncLocalStorageLookup=$}function _u0(Z,J={}){let X=new iK({sampler:new kL(Z),resource:dY().merge(mK({[oX.ATTR_SERVICE_NAME]:"node",[oX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[oX.ATTR_SERVICE_VERSION]:N0})),forceFlushTimeoutMillis:500,spanProcessors:[new SL({timeout:Ou0(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});nX.trace.setGlobalTracerProvider(X),nX.propagation.setGlobalPropagator(new yL);let $=new eK;return nX.context.setGlobalContextManager($),[X,$.getAsyncLocalStorageLookup()]}function Ou0(Z){if(Z==null)return;if(Z>mD)return R1&&A.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${mD}`),mD;else if(Z<=0||Number.isNaN(Z)){R1&&A.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function ie(){return Yz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(J3(),$3())}function ne(Z){return[...ie(),...L1(Z)?v3():[]]}function dD(Z={}){return wu0(Z,ne)}function wu0(Z={},J){r5(Z,"node");let X=$2({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if(X&&!Z.skipOpenTelemetrySetup)pe(X,{spanProcessors:Z.openTelemetrySpanProcessors}),Qz();return X}import*as te from"os";var ju0="BunServer",Mu0=()=>{return{name:ju0,setupOnce(){Au0()}}},re=S(Mu0),oe=!1;function Au0(){if(oe)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,X){ae(X[0]);let $=Z.apply(J,X),Y=$.reload.bind($);return $.reload=(Q)=>{return ae(Q),Y(Q)},$}}),oe=!0}function ae(Z){Tu0(Z),qu0(Z)}function Tu0(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,X,$){return uD(J,X,$)}})}function qu0(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let X=Z.routes[J];if(typeof X==="function")Z.routes[J]=new Proxy(X,{apply:($,Y,Q)=>{return uD($,Y,Q,J)}});if(X instanceof Response)return;if(typeof X==="object")Object.entries(X).forEach(([$,Y])=>{if(typeof Y==="function")Z.routes[J][$]=new Proxy(Y,{apply:(Q,W,K)=>{return uD(Q,W,K,J)}})})})}function uD(Z,J,X,$){return BZ((Y)=>{let Q=X[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,X);let K=AY(Q.url),z=Cu0(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),$)z[U1]="route",z["url.template"]=$,G=$}if($?.endsWith("/*"))z[U1]="route",z["url.template"]=$,G=$;return Object.assign(z,tJ(Q.headers.toJSON(),u()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),JK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>j6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,X);if(V?.status)lW(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw H0(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Cu0(Z,J){let X={[X0]:"auto.http.bun.serve",[nB]:J.method||"GET",[U1]:"url"};if(Z){if(Z.search)X["url.query"]=Z.search;if(Z.hash)X["url.fragment"]=Z.hash;if(Z.pathname)X["url.path"]=Z.pathname;if(!jU(Z)){if(X["url.full"]=Z.href,Z.port)X["url.port"]=Z.port;if(Z.protocol)X["url.scheme"]=Z.protocol;if(Z.hostname)X["url.domain"]=Z.hostname}}return X}function se(Z){function J(X){let $={body:X.body,method:"POST",headers:Z.headers};try{return s9(()=>{return fetch(Z.url,$).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 TZ(Z,J)}function ee(Z){return[ZX(),eJ(),JX(),XX(),$X(),J3(),$3(),RX(),PX(),CX(),qX(),NX(),re(),...L1(Z)?v3():[]]}function cD(Z={}){r5(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||te.hostname()};if(J.transport=J.transport||se,J.defaultIntegrations===void 0)J.defaultIntegrations=ee(J);return dD(J)}cD({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as Z00}from"fs";import{join as J00}from"path";function K6(){return"2.2.0-beta.4"}function lD(Z){let[J,X]=Z.split("-"),$=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if(X){let W=X.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=X}return{major:$[0]||0,minor:$[1]||0,patch:$[2]||0,preRelease:Y,preReleaseNum:Q}}function B9(Z){let J=lD(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function h3(Z,J){try{let X=lD(Z),$=lD(J);if(X.major>$.major)return!1;if(X.major<$.major)return!1;if($.preRelease&&!X.preRelease)return!1;if(!$.preRelease&&X.preRelease)return!1;if($.preRelease&&X.preRelease){if(X.minor<$.minor)return!1;if(X.minor>$.minor)return!0;if(X.patch>$.patch)return!0;if(X.patch<$.patch)return!1;return X.preReleaseNum>$.preReleaseNum}if(X.minor>$.minor)return!0;if(X.minor<$.minor)return!1;if(X.patch>$.patch)return!0;return!1}catch(X){return!1}}import{parseArgs as Ru0}from"util";var Pu0={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 X00(){let Z=Ru0({options:Pu0,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${K6()}`),process.exit(0);if(Z.values.help)Eu0(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,X=process.env.CCC_PASSWORD||Z.values.password,$=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!X)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:X,ngrokToken:$,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function Eu0(){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 X;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Dp(this.pattern,this.options)}parse(Z){W3(Z);let J=this.options;if(Z==="**")return i6;if(Z==="")return"";let X,$=null;if(X=Z.match(fx0))$=J.dot?gx0:bx0;else if(X=Z.match(Rx0))$=(J.nocase?J.dot?yx0:Ix0:J.dot?Ex0:Px0)(X[1]);else if(X=Z.match(mx0))$=(J.nocase?J.dot?ux0:dx0:J.dot?cx0:lx0)(X);else if(X=Z.match(Sx0))$=J.dot?xx0:kx0;else if(X=Z.match(vx0))$=hx0;let Y=V4.fromGlob(Z,this.options).toMMPattern();if($&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:$});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,X=J.noglobstar?nx0:J.dot?ox0:ax0,$=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(""))$.add(H);return typeof G==="string"?Zv0(G):G===i6?i6:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==i6||F===i6)return;if(F===void 0)if(V!==void 0&&V!==i6)z[H+1]="(?:\\/|"+X+"\\/)?"+V;else z[H]=X;else if(V===void 0)z[H-1]=F+"(?:\\/|"+X+")?";else if(V!==i6)z[H-1]=F+"(?:\\/|\\/"+X+"\\/)"+V,z[H+1]=i6}),z.filter((G)=>G!==i6).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...$].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 X=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let $=this.slashSplit(Z);this.debug(this.pattern,"split",$);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=$[$.length-1];if(!Q)for(let W=$.length-2;!Q&&W>=0;W--)Q=$[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=$;if(X.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if(X.flipNegate)return!0;return!this.negate}}if(X.flipNegate)return!1;return this.negate}static defaults(Z){return F4.defaults(Z).Minimatch}}F4.AST=V4;F4.Minimatch=z3;F4.escape=L2;F4.unescape=D7;var Op="@fastify/otel",Xv0="0.8.0",$v0=">=4.0.0 <6",wp=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],$1={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},_7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},$9="anonymous",f4=Symbol("fastify otel instance"),O7=Symbol("fastify otel request spans"),G3=Symbol("fastify otel request context"),jp=Symbol("fastify otel addhook original"),Mp=Symbol("fastify otel setnotfound original"),Fz=Symbol("fastify otel ignore path");class D2 extends Ap.InstrumentationBase{constructor(Z){super(Op,Xv0,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[Fz]=null,this._logger=x1.diag.createComponentLogger({namespace:Op}),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 X=F4;this[Fz]=($)=>{if(typeof J==="function")return J($);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)},_p.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)_p.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:$v0,name:"@fastify/otel"},J;function J(X,$,Y){X.decorate(f4,Z),X.decorate(jp,X.addHook),X.decorate(Mp,X.setNotFoundHandler),X.decorateRequest("opentelemetry",function(){let V=this[G3];return{span:this[O7],tracer:Z.tracer,context:V,inject:(B,U)=>{return x1.propagation.inject(V,B,U)},extract:(B,U)=>{return x1.propagation.extract(V,B,U)}}}),X.decorateRequest(O7,null),X.decorateRequest(G3,null),X.addHook("onRoute",function(H){if(Z[Fz]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of wp)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[$1.FASTIFY_TYPE]:_7.ROUTE,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:$9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[$1.FASTIFY_TYPE]:_7.ROUTE,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:$9}));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,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - route-handler`,[$1.FASTIFY_TYPE]:_7.HANDLER,[u1.ATTR_HTTP_ROUTE]:H.url,[$1.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:$9})}),X.addHook("onRequest",function(H,V,F){if(this[f4].isEnabled()===!1)return F();else if(this[f4][Fz]?.({url:H.url,method:H.method})===!0)return this[f4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=x1.context.active();if(x1.trace.getSpan(B)==null)B=x1.propagation.extract(B,H.headers);let U=Bz.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===Bz.RPCType.HTTP)U.route=H.routeOptions.url;let D=this[f4].tracer.startSpan("request",{attributes:{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.ROOT]:"@fastify/otel",[u1.ATTR_HTTP_ROUTE]:H.url,[u1.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[G3]=x1.trace.setSpan(B,D),H[O7]=D,x1.context.with(H[G3],()=>{F()})}),X.addHook("onResponse",function(H,V,F){let B=H[O7];if(B!=null)B.setStatus({code:x1.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[u1.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[O7]=null,F()}),X.addHook=K,X.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[O7];if(U!=null){if(V.statusCode<500)U.setStatus({code:x1.SpanStatusCode.OK,message:"OK"});U.setAttributes({[u1.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[O7]=null,B(null,F)}function W(H,V,F,B){let U=H[O7];if(U!=null)U.setStatus({code:x1.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[jp];if(wp.includes(H))return F.call(this,H,G(V,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - ${H}`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:$9}));else return F.call(this,H,V)}function z(H,V){let F=this[Mp];if(typeof H==="function")V=G(H,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:$9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:$9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:$9});V=G(V,{[u1.ATTR_SERVICE_NAME]:X[f4].servername,[$1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[$1.FASTIFY_TYPE]:_7.INSTANCE,[$1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:$9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[f4],[D]=B;if(U.isEnabled()===!1)return H.call(this,...B);let _=D[G3]??x1.context.active(),O=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??$9}`,{attributes:V},_);return x1.context.with(x1.trace.setSpan(_,O),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((j)=>{return O.end(),j},(j)=>{return O.setStatus({code:x1.SpanStatusCode.ERROR,message:j.message}),O.recordException(j),O.end(),Promise.reject(j)});return O.end(),w}catch(w){throw O.setStatus({code:x1.SpanStatusCode.ERROR,message:w.message}),O.recordException(w),O.end(),w}},this)}}}}}var S8=x(f(),1),Lz=x(H1(),1),fZ=x(G0(),1),Rp=x(l0(),1);var Y9;(function(Z){Z.FASTIFY_NAME="fastify.name";let X="fastify.type";Z.FASTIFY_TYPE=X;let $="hook.name";Z.HOOK_NAME=$;let Y="plugin.name";Z.PLUGIN_NAME=Y})(Y9||(Y9={}));var H3;(function(Z){Z.MIDDLEWARE="middleware";let X="request_handler";Z.REQUEST_HANDLER=X})(H3||(H3={}));var V3;(function(Z){Z.MIDDLEWARE="middleware";let X="request handler";Z.REQUEST_HANDLER=X})(V3||(V3={}));var qp=x(f(),1);var F3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function _2(Z,J,X,$={}){let Y=J.startSpan(X,{attributes:$}),Q=Z[F3]||[];return Q.push(Y),Object.defineProperty(Z,F3,{enumerable:!1,configurable:!0,value:Q}),Y}function Uz(Z,J){let X=Z[F3]||[];if(!X.length)return;X.forEach(($)=>{if(J)$.setStatus({code:qp.SpanStatusCode.ERROR,message:J.message}),$.recordException(J);$.end()}),delete Z[F3]}function Cp(Z,J,X){let $,Y=void 0;try{if(Y=Z(),Tp(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){$=Q}finally{if(!Tp(Y)){if(J($,Y),$)throw $}return Y}}function Tp(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var Yv0="0.1.0",Qv0="@sentry/instrumentation-fastify-v3",Np="anonymous",Wv0=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class O2 extends fZ.InstrumentationBase{constructor(Z={}){super(Qv0,Yv0,Z)}init(){return[new fZ.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($,"send",Z._patchSend());let Q=X,W=Lz.getRPCMetadata(S8.context.active()),K=Q.routeOptions?Q.routeOptions.url:X.routerPath;if(K&&W?.type===Lz.RPCType.HTTP)W.route=K;let z=X.method||"GET";R0().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 X.apply(this,Q);let W=X.name||Z||Np,K=`${V3.MIDDLEWARE} - ${W}`,z=Q[1],G=_2(z,Y.tracer,K,{[Y9.FASTIFY_TYPE]:H3.MIDDLEWARE,[Y9.PLUGIN_NAME]:Z,[Y9.HOOK_NAME]:J}),H=$&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){Uz(z),H.apply(this,V)};return S8.context.with(S8.trace.setSpan(S8.context.active(),G),()=>{return Cp(()=>{return X.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:S8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!$)Uz(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...$){let Y=$[0],Q=$[1],W=this.pluginName;if(!Wv0.has(Y))return J.apply(this,$);let K=typeof $[$.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,$);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),Kv0(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)X.errorCodes=Z.errorCodes;return X.fastify=X,X.default=X,X}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function(X){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return X.apply(this,Y);return fZ.safeExecuteInTheMiddle(()=>{return X.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;Uz(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function(X,$,Y){if(!Z.isEnabled())return Y();let Q=X,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${V3.REQUEST_HANDLER} - ${K||this.pluginName||Np}`,G={[Y9.PLUGIN_NAME]:this.pluginName,[Y9.FASTIFY_TYPE]:H3.REQUEST_HANDLER,[Rp.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:X.routerPath};if(K)G[Y9.FASTIFY_NAME]=K;let H=_2($,Z.tracer,z,G);Pp(H);let{requestHook:V}=Z.getConfig();if(V)fZ.safeExecuteInTheMiddle(()=>V(H,{request:X}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return S8.context.with(S8.trace.setSpan(S8.context.active(),H),()=>{Y()})}}}function Kv0(){let Z=u();if(Z)Z.on("spanStart",(J)=>{Pp(J)})}function Pp(Z){let J=J0(Z).data,X=J["fastify.type"];if(J[K0]||!X)return;Z.setAttributes({[X0]:"auto.http.otel.fastify",[K0]:`${X}.fastify`});let $=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof $==="string"){let Y=$.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var Dz="Fastify",Ip=r(`${Dz}.v3`,()=>new O2);function zv0(){let Z=u();if(!Z)return;else return Z.getIntegrationByName(Dz)}function Ep(Z,J,X,$){let Y=zv0()?.getShouldHandleError()||kp;if($==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&$==="onError-hook"){R1&&A.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,X))H0(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var yp=r(`${Dz}.v5`,()=>{let Z=new D2,J=Z.plugin();return w2.subscribe("fastify.initialization",(X)=>{let $=X.fastify;$?.register(J).after((Y)=>{if(Y)R1&&A.error("Failed to setup Fastify instrumentation",Y);else if(Hv0(),$)Vv0($)})}),w2.subscribe("tracing:fastify.request.handler:error",(X)=>{let{error:$,request:Y,reply:Q}=X;Ep.call(Ep,$,Y,Q,"diagnostics-channel")}),Z}),Gv0=({shouldHandleError:Z})=>{let J;return{name:Dz,setupOnce(){J=Z||kp,Ip(),yp()},getShouldHandleError(){return J},setShouldHandleError(X){J=X}}},Sp=S((Z={})=>Gv0(Z));function kp(Z,J,X){let $=X.statusCode;return $>=500||$<=299}function xp(Z){let J=J0(Z),X=J.description,$=J.data,Y=$["fastify.type"],Q=Y==="hook",W=Y===X?.startsWith("handler -"),K=X==="request"||Y==="request-handler";if($[K0]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[X0]:"auto.http.otel.fastify",[K0]:`${z}.fastify`});let G=$["fastify.name"]||$["plugin.name"]||$["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function Hv0(){let Z=u();if(Z)Z.on("spanStart",(J)=>{xp(J)})}function Vv0(Z){Z.addHook("onRequest",async(J,X)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)xp(Q)}let $=J.routeOptions?.url,Y=J.method||"GET";R0().setTransactionName(`${Y} ${$}`)})}var _i=x(f(),1),Oi=x(Di(),1);var wi="Graphql",ji=r(wi,Oi.GraphQLInstrumentation,(Z)=>{let J=Ai(Z);return{...J,responseHook(X,$){if(p0(X,"auto.graphql.otel.graphql"),$.errors?.length&&!J0(X).status)X.setStatus({code:_i.SpanStatusCode.ERROR});let Q=J0(X).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=C1(X),H=J0(z).data[wX]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(wX,H);else if(typeof H==="string")z.setAttribute(wX,[H,V]);else z.setAttribute(wX,V);if(!J0(z).data["original-description"])z.setAttribute("original-description",J0(z).description);z.updateName(`${J0(z).data["original-description"]} (${dv0(H)})`)}}}}),mv0=(Z={})=>{return{name:wi,setupOnce(){ji(Ai(Z))}}},Mi=S(mv0);function Ai(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function dv0(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 pi=x(li(),1);var ii="Kafka",ni=r(ii,()=>new pi.KafkaJsInstrumentation({consumerHook(Z){p0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){p0(Z,"auto.kafkajs.otel.producer")}})),Kh0=()=>{return{name:ii,setupOnce(){ni()}}},oi=S(Kh0);var Wn=x(Qn(),1);var Kn="LruMemoizer",zn=r(Kn,()=>new Wn.LruMemoizerInstrumentation),Vh0=()=>{return{name:Kn,setupOnce(){zn()}}},Gn=S(Vh0);var Nn=x(Cn(),1);var Rn="Mongo",Pn=r(Rn,()=>new Nn.MongoDBInstrumentation({dbStatementSerializer:Rh0,responseHook(Z){p0(Z,"auto.db.otel.mongo")}}));function Rh0(Z){let J=S2(Z);return JSON.stringify(J)}function S2(Z){if(Array.isArray(Z))return Z.map((J)=>S2(J));if(Ph0(Z)){let J={};return Object.entries(Z).map(([X,$])=>[X,S2($)]).reduce((X,$)=>{if(Ih0($))X[$[0]]=$[1];return X},J)}return"?"}function Ph0(Z){return typeof Z==="object"&&Z!==null&&!Eh0(Z)}function Eh0(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Ih0(Z){return Array.isArray(Z)}var yh0=()=>{return{name:Rn,setupOnce(){Pn()}}},En=S(yh0);var rn=x(an(),1);var sn="Mongoose",tn=r(sn,()=>new rn.MongooseInstrumentation({responseHook(Z){p0(Z,"auto.db.otel.mongoose")}})),th0=()=>{return{name:sn,setupOnce(){tn()}}},en=S(th0);var Do=x(Lo(),1);var _o="Mysql",Oo=r(_o,()=>new Do.MySQLInstrumentation({})),Tf0=()=>{return{name:_o,setupOnce(){Oo()}}},wo=S(Tf0);var bo=x(fo(),1);var go="Mysql2",mo=r(go,()=>new bo.MySQL2Instrumentation({responseHook(Z){p0(Z,"auto.db.otel.mysql2")}})),sf0=()=>{return{name:go,setupOnce(){mo()}}},uo=S(sf0);var da=x(Ka(),1),ua=x(ha(),1);var kb0=["get","set","setex"],ZD=["get","mget"],xb0=["set","setex"];function A3(Z,J){return Z.includes(J.toLowerCase())}function JD(Z){if(A3(ZD,Z))return"cache.get";else if(A3(xb0,Z))return"cache.put";else return}function vb0(Z,J){return J.some((X)=>Z.startsWith(X))}function ba(Z,J){try{if(J.length===0)return;let X=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return fa(Y.map((Q)=>X(Q)));else return["<unknown>"]},$=J[0];if(A3(kb0,Z)&&$!=null)return X($);return fa(J.map((Y)=>X(Y)))}catch{return}}function ga(Z,J,X){if(!JD(Z))return!1;for(let $ of J)if(vb0($,X))return!0;return!1}function ma(Z){let J=(X)=>{try{if(Buffer.isBuffer(X))return X.byteLength;else if(typeof X==="string")return X.length;else if(typeof X==="number")return X.toString().length;else if(X===null||X===void 0)return 0;return JSON.stringify(X).length}catch{return}};return Array.isArray(Z)?Z.reduce((X,$)=>{let Y=J($);return typeof Y==="number"?X!==void 0?X+Y:Y:X},0):J(Z)}function fa(Z){let J=[],X=($)=>{$.forEach((Y)=>{if(Array.isArray(Y))X(Y);else J.push(Y)})};return X(Z),J}var yz="Redis",T3={},ca=(Z,J,X,$)=>{Z.setAttribute(X0,"auto.db.otel.redis");let Y=ba(J,X),Q=JD(J);if(!Y||!Q||!T3.cachePrefixes||!ga(J,Y,T3.cachePrefixes))return;let W=J0(Z).data["net.peer.name"],K=J0(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=ma($);if(z)Z.setAttribute(iB,z);if(A3(ZD,J)&&z!==void 0)Z.setAttribute(lB,z>0);Z.setAttributes({[K0]:Q,[pB]:Y});let G=Y.join(", ");Z.updateName(T3.maxCacheKeyLength?d9(G,T3.maxCacheKeyLength):G)},hb0=r(`${yz}.IORedis`,()=>{return new da.IORedisInstrumentation({responseHook:ca})}),fb0=r(`${yz}.Redis`,()=>{return new ua.RedisInstrumentation({responseHook:ca})}),la=Object.assign(()=>{hb0(),fb0()},{id:yz}),bb0=(Z={})=>{return{name:yz,setupOnce(){T3=Z,la()}}},pa=S(bb0);var Mr=x(jr(),1);var Ar="Postgres",Tr=r(Ar,()=>new Mr.PgInstrumentation({requireParentSpan:!0,requestHook(Z){p0(Z,"auto.db.otel.postgres")}})),Ig0=()=>{return{name:Ar,setupOnce(){Tr()}}},qr=S(Ig0);var mX=x(f(),1),z9=x(G0(),1),v1=x(l0(),1);var bz="PostgresJs",Cr=[">=3.0.0 <4"],yg0=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,fz=Symbol("sentryPostgresConnectionContext"),zD=Symbol.for("sentry.instrumented.postgresjs"),Nr=Symbol.for("sentry.query.from.instrumented.sql"),Rr=r(bz,(Z)=>new Pr({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class Pr extends z9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",N0,Z)}init(){let Z=new z9.InstrumentationNodeModuleDefinition("postgres",Cr,(J)=>{try{return this._patchPostgres(J)}catch(X){return R1&&A.error("Failed to patch postgres module:",X),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new z9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,Cr,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",X=J?Z:Z.default;if(typeof X!=="function")return R1&&A.warn("postgres module does not export a function. Skipping instrumentation."),Z;let $=this,Y=function(...Q){let W=Reflect.construct(X,Q);if(!W||typeof W!=="function")return R1&&A.warn("postgres() did not return a valid instance"),W;return $._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,X),Object.setPrototypeOf(Y.prototype,X.prototype);for(let Q of Object.getOwnPropertyNames(X))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor(X,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return xY(Z,"default",Y),Z}_wrapQueryMethod(Z,J,X){let $=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)$._wrapSingleQueryHandle(Q,X);return Q}}_wrapCallbackMethod(Z,J,X){let $=this;return function(...Y){let Q=X[fz];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 $._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=$._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(v1.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(v1.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let X=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN(X))Z.setAttribute(v1.ATTR_SERVER_PORT,X)}}_setOperationName(Z,J,X){if(X){Z.setAttribute(v1.ATTR_DB_OPERATION_NAME,X);return}let $=J?.match(yg0);if($?.[1])Z.setAttribute(v1.ATTR_DB_OPERATION_NAME,$[1].toUpperCase())}_attachConnectionContext(Z,J){let X=Z;if(!X.options||typeof X.options!=="object")return;let $=X.options,Y=$.host?.[0]||"localhost",Q=$.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof $.database==="string"&&$.database!==""?$.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[fz]=W}_instrumentSqlInstance(Z,J){if(Z[zD])return Z;let X=this,$=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)X._wrapSingleQueryHandle(K,$);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return X._wrapQueryMethod(W,Y,$);if(Q==="begin"||Q==="reserve")return X._wrapCallbackMethod(W,Y,$);return W}});if(J)$[fz]=J;else this._attachConnectionContext(Z,$);return Z[zD]=!0,$[zD]=!0,$}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[Nr]=!0;let X=Z.handle,$=this,Y=async function(...Q){if(!$._shouldCreateSpans())return X.apply(this,Q);let W=$._reconstructQuery(Z.strings),K=$._sanitizeSqlQuery(W);return G4({name:K||"postgresjs.query",op:"db"},(z)=>{p0(z,"auto.db.postgresjs"),z.setAttributes({[v1.ATTR_DB_SYSTEM_NAME]:"postgres",[v1.ATTR_DB_QUERY_TEXT]:K});let G=J?J[fz]:void 0;$._setConnectionAttributes(z,G);let H=$.getConfig(),{requestHook:V}=H;if(V)z9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),R1&&A.error(`Error in requestHook for ${bz} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,D)=>{try{$._setOperationName(z,K,D?.[0]?.command),z.end()}catch(_){R1&&A.error("Error ending span in resolve callback:",_)}return Reflect.apply(B,U,D)}}),F.reject=new Proxy(F.reject,{apply:(B,U,D)=>{try{z.setStatus({code:A0,message:D?.[0]?.message||"unknown_error"}),z.setAttribute(v1.ATTR_DB_RESPONSE_STATUS_CODE,D?.[0]?.code||"unknown"),z.setAttribute(v1.ATTR_ERROR_TYPE,D?.[0]?.name||"unknown"),$._setOperationName(z,K),z.end()}catch(_){R1&&A.error("Error ending span in reject callback:",_)}return Reflect.apply(B,U,D)}});try{return X.apply(this,Q)}catch(B){throw z.setStatus({code:A0,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return mX.trace.getSpan(mX.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,$)=>$===0?X:`${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,X=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...$){if(this[Nr])return X.apply(this,$);if(!J._shouldCreateSpans())return X.apply(this,$);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return G4({name:Q||"postgresjs.query",op:"db"},(W)=>{p0(W,"auto.db.postgresjs"),W.setAttributes({[v1.ATTR_DB_SYSTEM_NAME]:"postgres",[v1.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)z9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),R1&&A.error(`Error in requestHook for ${bz} 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){R1&&A.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:A0,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(v1.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(v1.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){R1&&A.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return X.apply(this,$)}catch(V){throw W.setStatus({code:A0,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=X,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var Sg0=(Z)=>{return{name:bz,setupOnce(){Rr(Z)}}},Er=S(Sg0);var t6=x(f(),1);var Sr=x(f(),1),gz=x(G0(),1),T7=x(f(),1);var kg0=process.env.PRISMA_SHOW_ALL_TRACES==="true",xg0="00-10-10-00";function vg0(Z){switch(Z){case"client":return T7.SpanKind.CLIENT;case"internal":default:return T7.SpanKind.INTERNAL}}var hg0=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=T7.trace.getSpanContext(Z??T7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return xg0}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),X=new Map,$=Z.filter((Y)=>Y.parentId===null);for(let Y of $)kr(J,Y,Z,X,this.ignoreSpanTypes)}getActiveContext(){return T7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!kg0)return J();let X=this.tracerProvider.getTracer("prisma"),$=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(xr(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=X.startSpan(Y,Z,$);return Ir(Q,J(Q,$))}return X.startActiveSpan(Y,Z,(Q)=>Ir(Q,J(Q,$)))}};function kr(Z,J,X,$,Y){if(xr(J.name,Y))return;let Q={attributes:J.attributes,kind:vg0(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if($.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=$.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=X.filter((z)=>z.parentId===J.id);for(let z of K)kr(Z,z,X,$,Y);W.end(J.endTime)})}function Ir(Z,J){if(fg0(J))return J.then((X)=>{return Z.end(),X},(X)=>{throw Z.end(),X});return Z.end(),J}function fg0(Z){return Z!=null&&typeof Z.then==="function"}function xr(Z,J){return J.some((X)=>typeof X==="string"?X===Z:X.test(Z))}var vr={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},HD=vr.version,bg0=HD.split(".")[0],yr="PRISMA_INSTRUMENTATION",GD=`V${bg0}_PRISMA_INSTRUMENTATION`,gg0=vr.name,mg0="@prisma/client",hr=class extends gz.InstrumentationBase{tracerProvider;constructor(Z={}){super(gg0,HD,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new gz.InstrumentationNodeModuleDefinition(mg0,[HD])]}enable(){let Z=this._config,J={helper:new hg0({tracerProvider:this.tracerProvider??Sr.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[yr]=J,global[GD]=J}disable(){delete global[yr],delete global[GD]}isEnabled(){return Boolean(global[GD])}};var fr="Prisma";function dg0(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function br(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class gr extends hr{constructor(){super()}enable(){super.enable();let Z=br();if(dg0(Z))Z.createEngineSpan=(J)=>{let X=t6.trace.getTracer("prismaV5Compatibility"),$=X._idGenerator;if(!$){S1(()=>{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=ug0(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:t6.TraceFlags.SAMPLED}}}),H=t6.trace.setSpanContext(t6.context.active(),{traceId:z,spanId:W,traceFlags:t6.TraceFlags.SAMPLED});t6.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};X._idGenerator=V,X.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),X._idGenerator=$})})}finally{X._idGenerator=$}}}}function ug0(Z){switch(Z){case"client":return t6.SpanKind.CLIENT;case"internal":default:return t6.SpanKind.INTERNAL}}var cg0=r(fr,(Z)=>{return new gr}),mr=S((Z)=>{return{name:fr,setupOnce(){cg0()},setup(J){if(!br())return;J.on("spanStart",(X)=>{let $=J0(X);if($.description?.startsWith("prisma:"))X.setAttribute(X0,"auto.db.otel.prisma");if($.description==="prisma:engine:db_query"&&$.data["db.query.text"])X.updateName($.data["db.query.text"]);if($.description==="prisma:engine:db_query"&&!$.data["db.system"])X.setAttribute("db.system","prisma")})}}});var zs=x(Ks(),1);var Gs="Hapi",Hs=r(Gs,()=>new zs.HapiInstrumentation),Bm0=()=>{return{name:Gs,setupOnce(){Hs()}}},Vs=S(Bm0);var uz=x(l0(),1);var C7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},P3={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var mZ=x(f(),1),dz=x(G0(),1);var Um0="@sentry/instrumentation-hono",Lm0="0.0.1";class LD extends dz.InstrumentationBase{constructor(Z={}){super(Um0,Lm0,Z)}init(){return[new dz.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class X extends Z.Hono{constructor(...$){super(...$);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=X}catch{return{...Z,Hono:X}}return Z}_patchHandler(){let Z=this;return function(J){return function(...$){if(typeof $[0]==="string"){let Y=$[0];if($.length===1)return J.apply(this,[Y]);let Q=$.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,$.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...$){let Y=$.slice(2);return J.apply(this,[...$.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...$){if(typeof $[0]==="string"){let Y=$[0];if($.length===1)return J.apply(this,[Y]);let Q=$.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,$.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function(X,$){if(!J.isEnabled())return Z.apply(this,[X,$]);let Y=X.req.path,Q=J.tracer.startSpan(Y);return mZ.context.with(mZ.trace.setSpan(mZ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[X,$]);if(k4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[C7.HONO_TYPE]:z,[C7.HONO_NAME]:z===P3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[C7.HONO_TYPE]:K,[C7.HONO_NAME]:K===P3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,X){try{let $=Z();if(k4($))$.then(()=>J(),(Y)=>X(Y));else J();return $}catch($){throw X($),$}}_determineHandlerType(Z){return Z===void 0?P3.MIDDLEWARE:P3.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:mZ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Fs="Hono";function Dm0(Z){let J=J0(Z).data,X=J[C7.HONO_TYPE];if(J[K0]||!X)return;Z.setAttributes({[X0]:"auto.http.otel.hono",[K0]:`${X}.hono`});let $=J[C7.HONO_NAME];if(typeof $==="string")Z.updateName($);if(R0()===D6()){R1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[uz.ATTR_HTTP_ROUTE],Q=J[uz.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")R0().setTransactionName(`${Q} ${Y}`)}var Bs=r(Fs,()=>new LD({responseHook:(Z)=>{Dm0(Z)}})),_m0=()=>{return{name:Fs,setupOnce(){Bs()}}},Us=S(_m0);var fs=x(hs(),1),bs=x(l0(),1);var gs="Koa",ms=r(gs,fs.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,X){p0(J,"auto.http.otel.koa");let $=J0(J).data,Y=$["koa.type"];if(Y)J.setAttribute(K0,`${Y}.koa`);let Q=$["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(R0()===D6()){R1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=$[bs.ATTR_HTTP_ROUTE],K=X.context?.request?.method?.toUpperCase()||"GET";if(W)R0().setTransactionName(`${K} ${W}`)}}}),Em0=(Z={})=>{return{name:gs,setupOnce(){ms(Z)}}},ds=S(Em0);var zt=x(Kt(),1);var Gt="Connect",Ht=r(Gt,()=>new zt.ConnectInstrumentation),cm0=()=>{return{name:Gt,setupOnce(){Ht()}}},Vt=S(cm0);var Et=x(Pt(),1);var Yd0=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),It="Tedious",yt=r(It,()=>new Et.TediousInstrumentation({})),Qd0=()=>{let Z;return{name:It,setupOnce(){let J=yt();Z=hY(J)},setup(J){Z?.(()=>J.on("spanStart",(X)=>{let{description:$,data:Y}=J0(X);if(!$||Y["db.system"]!=="mssql")return;let Q=$.split(" ")[0]||"";if(Yd0.has(Q))X.setAttribute(X0,"auto.db.otel.tedious")}))}}},St=S(Qd0);var ut=x(dt(),1);var ct="GenericPool",lt=r(ct,()=>new ut.GenericPoolInstrumentation({})),Gd0=()=>{let Z;return{name:ct,setupOnce(){let J=lt();Z=hY(J)},setup(J){Z?.(()=>J.on("spanStart",(X)=>{let Y=J0(X).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")X.setAttribute(X0,"auto.db.otel.generic_pool")}))}}},pt=S(Gd0);var Le=x(Ue(),1);var De="Amqplib",cd0={consumeEndHook:(Z)=>{p0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{p0(Z,"auto.amqplib.otel.publisher")}},_e=r(De,()=>new Le.AmqplibInstrumentation(cd0)),ld0=()=>{return{name:De,setupOnce(){_e()}}},Oe=S(ld0);var k3="VercelAI";var sz=x(G0(),1);var pd0=[">=3.0.0 <7"],we=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function id0(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 nd0(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let X of J.content)if(id0(X)){let $=bU(X.toolCallId);if($){let Y=$.spanContext();e4((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",X.toolName),Q.setTag("vercel.ai.tool.callId",X.toolCallId),Q.setLevel("error"),H0(X.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),gU(X.toolCallId)}else e4((Y)=>{Y.setTag("vercel.ai.tool.name",X.toolName),Y.setTag("vercel.ai.tool.callId",X.toolCallId),Y.setLevel("error"),H0(X.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function od0(Z,J,X,$){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:X===!0?!0:$,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:X===!0?!0:$;return{recordInputs:Y,recordOutputs:Q}}class x3 extends sz.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",N0,Z);x3.prototype.__init.call(this),x3.prototype.__init2.call(this)}init(){return new sz.InstrumentationNodeModuleDefinition("ai",pd0,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach((X)=>X()),this._callbacks=[];let J=(X)=>{return new Proxy(X,{apply:($,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=u(),G=z?.getIntegrationByName(k3),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=od0(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},w6(()=>Reflect.apply($,Y,Q),(U)=>{if(U&&typeof U==="object")b1(U,"_sentry_active_span",Z5())},()=>{},(U)=>{nd0(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let X of we)Z[X]=J(Z[X]);return Z}else{let X=we.reduce(($,Y)=>{return $[Y]=J(Z[Y]),$},{});return{...Z,...X}}}}var je=r(k3,()=>new x3({}));function ad0(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var rd0=(Z={})=>{let J;return{name:k3,options:Z,setupOnce(){J=je()},afterAllSetup(X){if(Z.force??ad0(X))wK(X);else J?.callWhenPatched(()=>wK(X))}}},Me=S(rd0);var tz=x(G0(),1);var sd0=[">=4.0.0 <7"];class xD extends tz.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",N0,Z)}init(){return new tz.InstrumentationNodeModuleDefinition("openai",sd0,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 X=Z[J];if(!X)return Z;let $=this.getConfig(),Y=function(...Q){if(qZ(G7))return Reflect.construct(X,Q);let W=Reflect.construct(X,Q),K=u(),z=Boolean(K?.getOptions().sendDefaultPii),G=$.recordInputs??z,H=$.recordOutputs??z;return AK(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,X),Object.setPrototypeOf(Y.prototype,X.prototype);for(let Q of Object.getOwnPropertyNames(X))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor(X,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===X)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var Ae=r(G7,(Z)=>new xD(Z)),td0=(Z={})=>{return{name:G7,setupOnce(){Ae(Z)}}},Te=S(td0);var ez=x(G0(),1);var ed0=[">=0.19.2 <1.0.0"];class vD extends ez.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",N0,Z)}init(){return new ez.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",ed0,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,X=this.getConfig(),$=function(...Y){if(qZ(H7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=u(),K=Boolean(W?.getOptions().sendDefaultPii),z=X.recordInputs??K,G=X.recordOutputs??K;return uU(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf($,J),Object.setPrototypeOf($.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($,Y,Q)}try{Z.Anthropic=$}catch(Y){Object.defineProperty(Z,"Anthropic",{value:$,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=$}catch(Y){Object.defineProperty(Z,"default",{value:$,writable:!0,configurable:!0,enumerable:!0})}return Z}}var qe=r(H7,(Z)=>new vD(Z)),Zu0=(Z={})=>{return{name:H7,options:Z,setupOnce(){qe(Z)}}},Ce=S(Zu0);var pX=x(G0(),1);var Ne=[">=0.10.0 <2"];class hD extends pX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",N0,Z)}init(){return new pX.InstrumentationNodeModuleDefinition("@google/genai",Ne,(J)=>this._patch(J),(J)=>J,[new pX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",Ne,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,X=this.getConfig();if(typeof J!=="function")return Z;let $=function(...Y){if(qZ(V7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=u(),K=Boolean(W?.getOptions().sendDefaultPii),z=X,G=z?.recordInputs??K,H=z?.recordOutputs??K;return iU(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf($,J),Object.setPrototypeOf($.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($,Y,Q)}return xY(Z,"GoogleGenAI",$),Z}}var Re=r(V7,(Z)=>new hD(Z)),Ju0=(Z={})=>{return{name:V7,setupOnce(){Re(Z)}}},Pe=S(Ju0);var P7=x(G0(),1);var ZG=[">=0.1.0 <2.0.0"];function Xu0(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 $u0(Z,J,X){return new Proxy(Z,{apply($,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=Xu0(z,J);return K.callbacks=G,Reflect.apply($,Y,Q)}})}class fD extends P7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",N0,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let X of J)Z.push(new P7.InstrumentationNodeModuleDefinition(X,ZG,this._patch.bind(this),($)=>$,[new P7.InstrumentationNodeModuleFile(`${X}/dist/index.cjs`,ZG,this._patch.bind(this),($)=>$)]));return Z.push(new P7.InstrumentationNodeModuleDefinition("langchain",ZG,this._patch.bind(this),(X)=>X,[new P7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",ZG,this._patch.bind(this),(X)=>X)])),Z}_patch(Z){OU([G7,H7,V7]);let J=u(),X=Boolean(J?.getOptions().sendDefaultPii),$=this.getConfig(),Y=$?.recordInputs??X,Q=$?.recordOutputs??X,W=qK({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let X=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],$=Z.universal_exports??Z,Y=Object.values($).find((K)=>{return typeof K==="function"&&X.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]=$u0(z,J)}}}var Ee=r(TK,(Z)=>new fD(Z)),Yu0=(Z={})=>{return{name:TK,setupOnce(){Ee(Z)}}},Ie=S(Yu0);var iX=x(G0(),1);var ye=[">=0.0.0 <2.0.0"];class bD extends iX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",N0,Z)}init(){return new iX.InstrumentationNodeModuleDefinition("@langchain/langgraph",ye,this._patch.bind(this),(J)=>J,[new iX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",ye,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=u(),X=Boolean(J?.getOptions().sendDefaultPii),$=this.getConfig(),Y=$.recordInputs??X,Q=$.recordOutputs??X,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=aU(K.prototype.compile,W)}return Z}}var Se=r(CK,(Z)=>new bD(Z)),Qu0=(Z={})=>{return{name:CK,setupOnce(){Se(Z)}}},ke=S(Qu0);var de=x(G0(),1);var H9=x(f(),1),V9=x(G0(),1),e6=x(l0(),1);import*as ve from"net";function he(Z,J,X,$,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{V9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;H9.diag.error(V?.message)},!0)};let z=new V9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>xe(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 V9.InstrumentationNodeModuleFile(H,J,(V)=>xe(V,X,$,Z,W),(V)=>fe(V,$)));return z}function xe(Z,J,X,$,Y){return fe(Z,X),J(Z,"addDoc",Wu0($,Y)),J(Z,"getDocs",zu0($,Y)),J(Z,"setDoc",Gu0($,Y)),J(Z,"deleteDoc",Ku0($,Y)),Z}function fe(Z,J){for(let X of["addDoc","getDocs","setDoc","deleteDoc"])if(V9.isWrapped(Z[X]))J(Z,X);return Z}function Wu0(Z,J){return function($){return function(Y,Q){let W=XG(Z,"addDoc",Y);return J(W),JG(W,()=>{return $(Y,Q)})}}}function Ku0(Z,J){return function($){return function(Y){let Q=XG(Z,"deleteDoc",Y.parent||Y);return J(Q),JG(Q,()=>{return $(Y)})}}}function zu0(Z,J){return function($){return function(Y){let Q=XG(Z,"getDocs",Y);return J(Q),JG(Q,()=>{return $(Y)})}}}function Gu0(Z,J){return function($){return function(Y,Q,W){let K=XG(Z,"setDoc",Y.parent||Y);return J(K),JG(K,()=>{return typeof W<"u"?$(Y,Q,W):$(Y,Q)})}}}function JG(Z,J){return H9.context.with(H9.trace.setSpan(H9.context.active(),Z),()=>{return V9.safeExecuteInTheMiddle(()=>{return J()},(X)=>{if(X)Z.recordException(X);Z.end()},!0)})}function XG(Z,J,X){let $=Z.startSpan(`${J} ${X.path}`,{kind:H9.SpanKind.CLIENT});return Vu0($,X),$.setAttribute(e6.ATTR_DB_OPERATION_NAME,J),$}function Hu0(Z){let J,X;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let $=Z.host.lastIndexOf(":");if($!==-1)J=Z.host.slice(1,$).replace(/^\[|\]$/g,""),X=Z.host.slice($+1)}}else if(ve.isIPv6(Z.host))J=Z.host;else{let $=Z.host.lastIndexOf(":");if($!==-1)J=Z.host.slice(0,$),X=Z.host.slice($+1);else J=Z.host}return{address:J,port:X?parseInt(X,10):void 0}}function Vu0(Z,J){let X=J.firestore.app,$=X.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[e6.ATTR_DB_COLLECTION_NAME]:J.path,[e6.ATTR_DB_NAMESPACE]:X.name,[e6.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":$.projectId,"firebase.firestore.options.appId":$.appId,"firebase.firestore.options.messagingSenderId":$.messagingSenderId,"firebase.firestore.options.storageBucket":$.storageBucket},{address:K,port:z}=Hu0(Q);if(K)W[e6.ATTR_SERVER_ADDRESS]=K;if(z)W[e6.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var V5=x(f(),1),F9=x(G0(),1);function be(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)=>{F9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;V5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{F9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;V5.diag.error(B?.message)},!0)};let H=new F9.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 F9.InstrumentationNodeModuleFile(F,J,(U)=>Fu0(U,X,$,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>ge(U,$)))}),H}function m4(Z,J,X){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.${X}`,{kind:V5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":X,"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),V5.context.with(V5.trace.setSpan(V5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(D){B=D}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 Fu0(Z,J,X,$,Y,Q){switch(ge(Z,X),Q){case"function":J(Z,"onRequest",m4($,Y,"http.request")),J(Z,"onCall",m4($,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",m4($,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",m4($,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",m4($,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",m4($,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",m4($,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",m4($,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",m4($,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",m4($,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",m4($,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",m4($,Y,"storage.object.finalized")),J(Z,"onObjectArchived",m4($,Y,"storage.object.archived")),J(Z,"onObjectDeleted",m4($,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",m4($,Y,"storage.object.metadataUpdated"));break}return Z}function ge(Z,J){let X=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let $ of X)if(F9.isWrapped(Z[$]))J(Z,$);return Z}var me={},Bu0=[">=3.0.0 <5"],Uu0=[">=6.0.0 <7"];class gD extends de.InstrumentationBase{constructor(Z=me){super("@sentry/instrumentation-firebase",N0,Z)}setConfig(Z={}){super.setConfig({...me,...Z})}init(){let Z=[];return Z.push(he(this.tracer,Bu0,this._wrap,this._unwrap,this.getConfig())),Z.push(be(this.tracer,Uu0,this._wrap,this._unwrap,this.getConfig())),Z}}var ue="Firebase",Lu0={firestoreSpanCreationHook:(Z)=>{p0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(K0,"db.query")},functions:{requestHook:(Z)=>{p0(Z,"auto.firebase.otel.functions"),Z.setAttribute(K0,"http.request")},errorHook:async(Z,J)=>{if(J)H0(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await YK(2000)}}},ce=r(ue,()=>new gD(Lu0)),Du0=()=>{return{name:ue,setupOnce(){ce()}}},le=S(Du0);function v3(){return[pl(),Sp(),Mi(),Us(),En(),en(),wo(),uo(),pa(),qr(),mr(),Vs(),ds(),Vt(),St(),pt(),oi(),Oe(),Gn(),Ie(),ke(),Me(),Te(),Ce(),Pe(),Er(),le()]}var nX=x(f(),1);var oX=x(l0(),1);var mD=1e6;function pe(Z,J={}){if(Z.getOptions().debug)oL();let[X,$]=_u0(Z,J);Z.traceProvider=X,Z.asyncLocalStorageLookup=$}function _u0(Z,J={}){let X=new iK({sampler:new kL(Z),resource:dY().merge(mK({[oX.ATTR_SERVICE_NAME]:"node",[oX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[oX.ATTR_SERVICE_VERSION]:N0})),forceFlushTimeoutMillis:500,spanProcessors:[new SL({timeout:Ou0(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});nX.trace.setGlobalTracerProvider(X),nX.propagation.setGlobalPropagator(new yL);let $=new eK;return nX.context.setGlobalContextManager($),[X,$.getAsyncLocalStorageLookup()]}function Ou0(Z){if(Z==null)return;if(Z>mD)return R1&&A.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${mD}`),mD;else if(Z<=0||Number.isNaN(Z)){R1&&A.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function ie(){return Yz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(J3(),$3())}function ne(Z){return[...ie(),...L1(Z)?v3():[]]}function dD(Z={}){return wu0(Z,ne)}function wu0(Z={},J){r5(Z,"node");let X=$2({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if(X&&!Z.skipOpenTelemetrySetup)pe(X,{spanProcessors:Z.openTelemetrySpanProcessors}),Qz();return X}import*as te from"os";var ju0="BunServer",Mu0=()=>{return{name:ju0,setupOnce(){Au0()}}},re=S(Mu0),oe=!1;function Au0(){if(oe)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,X){ae(X[0]);let $=Z.apply(J,X),Y=$.reload.bind($);return $.reload=(Q)=>{return ae(Q),Y(Q)},$}}),oe=!0}function ae(Z){Tu0(Z),qu0(Z)}function Tu0(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,X,$){return uD(J,X,$)}})}function qu0(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let X=Z.routes[J];if(typeof X==="function")Z.routes[J]=new Proxy(X,{apply:($,Y,Q)=>{return uD($,Y,Q,J)}});if(X instanceof Response)return;if(typeof X==="object")Object.entries(X).forEach(([$,Y])=>{if(typeof Y==="function")Z.routes[J][$]=new Proxy(Y,{apply:(Q,W,K)=>{return uD(Q,W,K,J)}})})})}function uD(Z,J,X,$){return BZ((Y)=>{let Q=X[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,X);let K=AY(Q.url),z=Cu0(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),$)z[U1]="route",z["url.template"]=$,G=$}if($?.endsWith("/*"))z[U1]="route",z["url.template"]=$,G=$;return Object.assign(z,tJ(Q.headers.toJSON(),u()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),JK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>j6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,X);if(V?.status)lW(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw H0(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Cu0(Z,J){let X={[X0]:"auto.http.bun.serve",[nB]:J.method||"GET",[U1]:"url"};if(Z){if(Z.search)X["url.query"]=Z.search;if(Z.hash)X["url.fragment"]=Z.hash;if(Z.pathname)X["url.path"]=Z.pathname;if(!jU(Z)){if(X["url.full"]=Z.href,Z.port)X["url.port"]=Z.port;if(Z.protocol)X["url.scheme"]=Z.protocol;if(Z.hostname)X["url.domain"]=Z.hostname}}return X}function se(Z){function J(X){let $={body:X.body,method:"POST",headers:Z.headers};try{return s9(()=>{return fetch(Z.url,$).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 TZ(Z,J)}function ee(Z){return[ZX(),eJ(),JX(),XX(),$X(),J3(),$3(),RX(),PX(),CX(),qX(),NX(),re(),...L1(Z)?v3():[]]}function cD(Z={}){r5(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||te.hostname()};if(J.transport=J.transport||se,J.defaultIntegrations===void 0)J.defaultIntegrations=ee(J);return dD(J)}cD({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as Z00}from"fs";import{join as J00}from"path";function K6(){return"2.2.0"}function lD(Z){let[J,X]=Z.split("-"),$=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if(X){let W=X.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=X}return{major:$[0]||0,minor:$[1]||0,patch:$[2]||0,preRelease:Y,preReleaseNum:Q}}function B9(Z){let J=lD(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function h3(Z,J){try{let X=lD(Z),$=lD(J);if(X.major>$.major)return!1;if(X.major<$.major)return!1;if($.preRelease&&!X.preRelease)return!1;if(!$.preRelease&&X.preRelease)return!1;if($.preRelease&&X.preRelease){if(X.minor<$.minor)return!1;if(X.minor>$.minor)return!0;if(X.patch>$.patch)return!0;if(X.patch<$.patch)return!1;return X.preReleaseNum>$.preReleaseNum}if(X.minor>$.minor)return!0;if(X.minor<$.minor)return!1;if(X.patch>$.patch)return!0;return!1}catch(X){return!1}}import{parseArgs as Ru0}from"util";var Pu0={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 X00(){let Z=Ru0({options:Pu0,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${K6()}`),process.exit(0);if(Z.values.help)Eu0(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,X=process.env.CCC_PASSWORD||Z.values.password,$=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!X)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:X,ngrokToken:$,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function Eu0(){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": "2.2.0-beta.4",
3
+ "version": "2.2.0",
4
4
  "description": "Code Chat Connect - Control Claude Code from your mobile device",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",