@naarang/ccc 3.3.0-beta.16 → 3.3.0-beta.17

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.
package/dist/index.js CHANGED
@@ -51,7 +51,7 @@ Event: ${j7(Z)}`),!0}return!1}function yP1(Z,J){if(!J?.length)return!1;return zz
51
51
  `;let K=tp(X);X.write(`${W}\r
52
52
  `);let{connect:z,buffered:G}=await K;if(Z.emit("proxyConnect",z),this.emit("proxyConnect",z,Z),z.statusCode===200){if(Z.once("socket",Ah1),J.secureEndpoint){p3("Upgrading socket connection to TLS");let V=J.servername||J.host;return MD.connect({...ep(J,"host","path","port"),socket:X,servername:N9.isIP(V)?void 0:V})}return X}X.destroy();let H=new N9.Socket({writable:!1});return H.readable=!0,Z.once("socket",(V)=>{p3("Replaying proxy buffer for failed request"),V.push(G),V.push(null)}),H}}$G.__initStatic();function Ah1(Z){Z.resume()}function ep(Z,...J){let $={},X;for(X in Z)if(!J.includes(X))$[X]=Z[X];return $}var Rh1=32768;function Ch1(Z){return new jh1({read(){this.push(Z),this.push(null)}})}function jD(Z){let J;try{J=new URL(Z.url)}catch(z){return o0(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),QJ(Z,()=>Promise.resolve({}))}let $=J.protocol==="https:",X=qh1(J,Z.proxy||($?process.env.https_proxy:void 0)||process.env.http_proxy),Y=$?Mh1:Th1,Q=Z.keepAlive===void 0?!1:Z.keepAlive,W=X?new $G(X):new Y.Agent({keepAlive:Q,maxSockets:30,timeout:2000}),K=Eh1(Z,Z.httpModule??Y,W);return QJ(Z,K)}function qh1(Z,J){let{no_proxy:$}=process.env;if($?.split(",").some((Y)=>Z.host.endsWith(Y)||Z.hostname.endsWith(Y)))return;else return J}function Eh1(Z,J,$){let{hostname:X,pathname:Y,port:Q,protocol:W,search:K}=new URL(Z.url);return function(G){return new Promise((H,V)=>{I7(()=>{let F=Ch1(G.body),B={...Z.headers};if(G.body.length>Rh1)B["content-encoding"]="gzip",F=F.pipe(Nh1());let U=X.startsWith("["),L=J.request({method:"POST",agent:$,headers:B,hostname:U?X.slice(1,-1):X,path:`${Y}${K}`,port:Q,protocol:W,ca:Z.caCerts},(O)=>{O.on("data",()=>{}),O.on("end",()=>{}),O.setEncoding("utf8");let _=O.headers["retry-after"]??null,w=O.headers["x-sentry-rate-limits"]??null;H({statusCode:O.statusCode,headers:{"retry-after":_,"x-sentry-rate-limits":Array.isArray(w)?w[0]||null:w}})});L.on("error",V),F.pipe(L)})})}}var Ph1=new Set(["false","f","n","no","off","0"]),Ih1=new Set(["true","t","y","yes","on","1"]);function XG(Z,J){let $=String(Z).toLowerCase();if(Ph1.has($))return!1;if(Ih1.has($))return!0;return J?.strict?null:Boolean(Z)}import{posix as Sh1,sep as yh1}from"path";function Zi(Z){return Z.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function ND(Z=process.argv[1]?sL(process.argv[1]):process.cwd(),J=yh1==="\\"){let $=J?Zi(Z):Z;return(X)=>{if(!X)return;let Y=J?Zi(X):X,{dir:Q,base:W,ext:K}=Sh1.parse(Y);if(K===".js"||K===".mjs"||K===".cjs")W=W.slice(0,K.length*-1);let z=decodeURIComponent(W);if(!Q)Q=".";let G=Q.lastIndexOf("/node_modules");if(G>-1)return`${Q.slice(G+14).replace(/\//g,".")}:${z}`;if(Q.startsWith($)){let H=Q.slice($.length+1).replace(/\//g,".");return H?`${H}:${z}`:z}return z}}function RD(Z){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(H1.SENTRY_RELEASE?.id)return H1.SENTRY_RELEASE.id;let J=process.env.GITHUB_SHA||process.env.CI_MERGE_REQUEST_SOURCE_BRANCH_SHA||process.env.CI_BUILD_REF||process.env.CI_COMMIT_SHA||process.env.BITBUCKET_COMMIT,$=process.env.APPVEYOR_PULL_REQUEST_HEAD_COMMIT||process.env.APPVEYOR_REPO_COMMIT||process.env.CODEBUILD_RESOLVED_SOURCE_VERSION||process.env.AWS_COMMIT_ID||process.env.BUILD_SOURCEVERSION||process.env.GIT_CLONE_COMMIT_HASH||process.env.BUDDY_EXECUTION_REVISION||process.env.BUILDKITE_COMMIT||process.env.CIRCLE_SHA1||process.env.CIRRUS_CHANGE_IN_REPO||process.env.CF_REVISION||process.env.CM_COMMIT||process.env.CF_PAGES_COMMIT_SHA||process.env.DRONE_COMMIT_SHA||process.env.FC_GIT_COMMIT_SHA||process.env.HEROKU_TEST_RUN_COMMIT_VERSION||process.env.HEROKU_SLUG_COMMIT||process.env.RAILWAY_GIT_COMMIT_SHA||process.env.RENDER_GIT_COMMIT||process.env.SEMAPHORE_GIT_SHA||process.env.TRAVIS_PULL_REQUEST_SHA||process.env.VERCEL_GIT_COMMIT_SHA||process.env.VERCEL_GITHUB_COMMIT_SHA||process.env.VERCEL_GITLAB_COMMIT_SHA||process.env.VERCEL_BITBUCKET_COMMIT_SHA||process.env.ZEIT_GITHUB_COMMIT_SHA||process.env.ZEIT_GITLAB_COMMIT_SHA||process.env.ZEIT_BITBUCKET_COMMIT_SHA,X=process.env.CI_COMMIT_ID||process.env.SOURCE_COMMIT||process.env.SOURCE_VERSION||process.env.GIT_COMMIT||process.env.COMMIT_REF||process.env.BUILD_VCS_NUMBER||process.env.CI_COMMIT_SHA;return J||$||X||Z}var CD=uK(T2(ND()));var $i=v(u(),1),Xi=v(D1(),1);import*as Ji from"os";import{threadId as kh1,isMainThread as xh1}from"worker_threads";var vh1=60000;class YG extends Vz{constructor(Z){let J=Z.includeServerName===!1?void 0:Z.serverName||global.process.env.SENTRY_NAME||Ji.hostname(),$={...Z,platform:"node",runtime:{name:"node",version:global.process.version},serverName:J};if(Z.openTelemetryInstrumentations)Xi.registerInstrumentations({instrumentations:Z.openTelemetryInstrumentations});_9($,"node"),R.log(`Initializing Sentry: process: ${process.pid}, thread: ${xh1?"main":`worker-${kh1}`}.`);super($);if(this.getOptions().enableLogs){if(this._logOnExitFlushListener=()=>{V3(this)},J)this.on("beforeCaptureLog",(X)=>{X.attributes={...X.attributes,"server.address":J}});process.on("beforeExit",this._logOnExitFlushListener)}}get tracer(){if(this._tracer)return this._tracer;let Z="@sentry/node",J=u1,$=$i.trace.getTracer(Z,J);return this._tracer=$,$}async flush(Z){if(await this.traceProvider?.forceFlush(),this.getOptions().sendClientReports)this._flushOutcomes();return super.flush(Z)}async close(Z){if(this._clientReportInterval)clearInterval(this._clientReportInterval);if(this._clientReportOnExitFlushListener)process.off("beforeExit",this._clientReportOnExitFlushListener);if(this._logOnExitFlushListener)process.off("beforeExit",this._logOnExitFlushListener);let J=await super.close(Z);if(this.traceProvider)await this.traceProvider.shutdown();return J}startClientReportTracking(){let Z=this.getOptions();if(Z.sendClientReports)this._clientReportOnExitFlushListener=()=>{this._flushOutcomes()},this._clientReportInterval=setInterval(()=>{E1&&R.log("Flushing client reports based on interval."),this._flushOutcomes()},Z.clientReportFlushInterval??vh1).unref(),process.on("beforeExit",this._clientReportOnExitFlushListener)}_setupIntegrations(){lL(),super._setupIntegrations()}_getTraceInfoFromScope(Z){if(!Z)return[void 0,void 0];return nl(this,Z)}}var Yi=v(IU(),1);import*as Qi from"module";function qD(){if(!Pp())return;if(!H1._sentryEsmLoaderHookRegistered){H1._sentryEsmLoaderHookRegistered=!0;try{let{addHookMessagePort:Z}=Yi.createAddHookMessageChannel();Qi.register("import-in-the-middle/hook.mjs",import.meta.url,{data:{addHookMessagePort:Z,include:[]},transferList:[Z]})}catch(Z){R.warn("Failed to register 'import-in-the-middle' hook",Z)}}}function QG(){return[h$(),v$(),f$(),b$(),UD(),g$(),op(),rp(),GX(),HX(),KX(),HD(),WX(),DD(),sp(),zX()]}function ED(Z={}){return hh1(Z,QG)}function hh1(Z={},J){let $=fh1(Z,J);if($.debug===!0)if(E1)R.enable();else o0(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")});if($.registerEsmLoaderHooks!==!1)qD();if(rl(),e1().update($.initialScope),$.spotlight&&!$.integrations.some(({name:Q})=>Q===FD))$.integrations.push(BD({sidecarUrl:typeof $.spotlight==="string"?$.spotlight:void 0}));_9($,"node-core");let Y=new YG($);if(e1().setClient(Y),Y.init(),H1._sentryInjectLoaderHookRegister?.(),R.log(`SDK initialized from ${m3()?"CommonJS":"ESM"}`),Y.startClientReportTracking(),mh1(),xl(Y),ol(Y),process.env.VERCEL)process.on("SIGTERM",async()=>{await Y.flush(200)});return Y}function WG(){if(!E1)return;let Z=bl(),J=["SentryContextManager","SentryPropagator"];if(P0())J.push("SentrySpanProcessor");for(let $ of J)if(!Z.includes($))R.error(`You have to set up the ${$}. Without this, the OpenTelemetry & Sentry integration will not work properly.`);if(!Z.includes("SentrySampler"))R.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 fh1(Z,J){let $=bh1(Z.release),X;if(Z.spotlight===!1)X=!1;else if(typeof Z.spotlight==="string")X=Z.spotlight;else{let z=XG(process.env.SENTRY_SPOTLIGHT,{strict:!0}),G=z===null&&process.env.SENTRY_SPOTLIGHT?process.env.SENTRY_SPOTLIGHT:void 0;X=Z.spotlight===!0?G??!0:z??G}let Y=gh1(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??jD,stackParser:$L(Z.stackParser||CD),release:$,tracesSampleRate:Y,spotlight:X,debug:XG(Z.debug??process.env.SENTRY_DEBUG)},W=Z.integrations,K=Z.defaultIntegrations??J(Q);return{...Q,integrations:yL({defaultIntegrations:K,integrations:W})}}function bh1(Z){if(Z!==void 0)return Z;let J=RD();if(J!==void 0)return J;return}function gh1(Z){if(Z!==void 0)return Z;let J=process.env.SENTRY_TRACES_SAMPLE_RATE;if(!J)return;let $=parseFloat(J);return isFinite($)?$:void 0}function mh1(){if(XG(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let Z=process.env.SENTRY_TRACE,J=process.env.SENTRY_BAGGAGE,$=eZ(Z,J);e1().setPropagationContext($)}}function Y0(Z,J){Z.setAttribute(K1,J)}var PD="Http",Wi="@opentelemetry_sentry-patched/instrumentation-http",uh1=s(`${PD}.sentry`,(Z)=>{return new XX(Z)}),dh1=s(PD,(Z)=>{let J=new zi.HttpInstrumentation({...Z,disableIncomingRequestInstrumentation:!0});try{J._diag=Ki.diag.createComponentLogger({namespace:Wi}),J.instrumentationName=Wi}catch{}return J});function ch1(Z,J={}){if(typeof Z.spans==="boolean")return Z.spans;if(J.skipOpenTelemetrySetup)return!1;if(!P0(J)&&a7.major>=22)return!1;return!0}var i3=k((Z={})=>{let J=Z.spans??!0,$=Z.disableIncomingRequestSpans,X={sessions:Z.trackIncomingRequestsAsSessions,sessionFlushingDelayMS:Z.sessionFlushingDelayMS,ignoreRequestBody:Z.ignoreIncomingRequestBody,maxRequestBodySize:Z.maxIncomingRequestBodySize},Y={ignoreIncomingRequests:Z.ignoreIncomingRequests,ignoreStaticAssets:Z.ignoreStaticAssets,ignoreStatusCodes:Z.dropSpansForIncomingRequestStatusCodes,instrumentation:Z.instrumentation,onSpanCreated:Z.incomingRequestSpanHook},Q=n$(X),W=a$(Y),K=J&&!$;return{name:PD,setup(z){let G=z.getOptions();if(K&&P0(G))W.setup(z)},setupOnce(){let z=p()?.getOptions()||{},G=ch1(Z,z);Q.setupOnce();let H={breadcrumbs:Z.breadcrumbs,propagateTraceInOutgoingRequests:!G,ignoreOutgoingRequests:Z.ignoreOutgoingRequests};if(uh1(H),G){let V=lh1(Z);dh1(V)}},processEvent(z){return W.processEvent(z)}}});function lh1(Z={}){return{ignoreOutgoingRequestHook:($)=>{let X=P3($);if(!X)return!1;let Y=Z.ignoreOutgoingRequests;if(Y?.(X,$))return!0;return!1},requireParentforOutgoingSpans:!1,requestHook:($,X)=>{Y0($,"auto.http.otel.http"),Z.instrumentation?.requestHook?.($,X)},responseHook:($,X)=>{Z.instrumentation?.responseHook?.($,X)},applyCustomAttributesOnSpan:($,X,Y)=>{Z.instrumentation?.applyCustomAttributesOnSpan?.($,X,Y)}}}var _i=v(Oi(),1);var wi="NodeFetch",oh1=s(wi,_i.UndiciInstrumentation,(Z)=>{return Zf1(Z)}),rh1=s(`${wi}.sentry`,QX,(Z)=>{return Z}),sh1=(Z={})=>{return{name:"NodeFetch",setupOnce(){if(eh1(Z,p()?.getOptions()))oh1(Z);rh1(Z)}}},a3=k(sh1);function th1(Z,J="/"){let $=`${Z}`;if($.endsWith("/")&&J.startsWith("/"))return`${$}${J.slice(1)}`;if(!$.endsWith("/")&&!J.startsWith("/"))return`${$}/${J.slice(1)}`;return`${$}${J}`}function eh1(Z,J={}){return typeof Z.spans==="boolean"?Z.spans:!J.skipOpenTelemetrySetup&&P0(J)}function Zf1(Z={}){return{requireParentforSpans:!1,ignoreRequestHook:($)=>{let X=th1($.origin,$.path),Y=Z.ignoreOutgoingRequests;return!!(Y&&X&&Y(X))},startSpanHook:()=>{return{[K1]:"auto.http.otel.node_fetch"}},requestHook:Z.requestHook,responseHook:Z.responseHook}}var ui=v(mi(),1);var u0=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var di="Express";function Rf1(Z){Y0(Z,"auto.http.otel.express");let J=Y1(Z).data,$=J["express.type"];if($)Z.setAttribute(U1,`${$}.express`);let X=J["express.name"];if(typeof X==="string")Z.updateName(X)}function Cf1(Z,J){if(d1()===y6())return u0&&R.warn("Isolation scope is still default isolation scope - skipping setting transactionName"),J;if(Z.layerType==="request_handler"){let $=Z.request,X=$.method?$.method.toUpperCase():"GET";d1().setTransactionName(`${X} ${Z.route}`)}return J}var ci=s(di,()=>new ui.ExpressInstrumentation({requestHook:(Z)=>Rf1(Z),spanNameHook:(Z,J)=>Cf1(Z,J)})),qf1=()=>{return{name:di,setupOnce(){ci()}}},li=k(qf1);import*as lD from"diagnostics_channel";var s0=v(u(),1),UG=v(N0(),1),Tn=v(D1(),1),Y4=v(X0(),1);import Dn from"diagnostics_channel";var Vn=v(Xn(),1);var s3=(Z)=>{if(typeof Z!=="string")throw TypeError("invalid pattern");if(Z.length>65536)throw TypeError("pattern is too long")};var vf1={"[: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]},t3=(Z)=>Z.replace(/[[\]\\-]/g,"\\$&"),hf1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Yn=(Z)=>Z.join(""),Qn=(Z,J)=>{let $=J;if(Z.charAt($)!=="[")throw Error("not in a brace expression");let X=[],Y=[],Q=$+1,W=!1,K=!1,z=!1,G=!1,H=$,V="";Z:while(Q<Z.length){let L=Z.charAt(Q);if((L==="!"||L==="^")&&Q===$+1){G=!0,Q++;continue}if(L==="]"&&W&&!z){H=Q+1;break}if(W=!0,L==="\\"){if(!z){z=!0,Q++;continue}}if(L==="["&&!z){for(let[O,[_,w,A]]of Object.entries(vf1))if(Z.startsWith(O,Q)){if(V)return["$.",!1,Z.length-$,!0];if(Q+=O.length,A)Y.push(_);else X.push(_);K=K||w;continue Z}}if(z=!1,V){if(L>V)X.push(t3(V)+"-"+t3(L));else if(L===V)X.push(t3(L));V="",Q++;continue}if(Z.startsWith("-]",Q+1)){X.push(t3(L+"-")),Q+=2;continue}if(Z.startsWith("-",Q+1)){V=L,Q+=2;continue}X.push(t3(L)),Q++}if(H<Q)return["",!1,0,!1];if(!X.length&&!Y.length)return["$.",!1,Z.length-$,!0];if(Y.length===0&&X.length===1&&/^\\?.$/.test(X[0])&&!G){let L=X[0].length===2?X[0].slice(-1):X[0];return[hf1(L),!1,H-$,!1]}let F="["+(G?"^":"")+Yn(X)+"]",B="["+(G?"":"^")+Yn(Y)+"]";return[X.length&&Y.length?"("+F+"|"+B+")":X.length?F:B,K,H-$,!0]};var o7=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/\[([^\/\\])\]/g,"$1"):Z.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var ff1=new Set(["!","?","+","*","@"]),Wn=(Z)=>ff1.has(Z),bf1="(?!(?:^|/)\\.\\.?(?:$|/))",FG="(?!\\.)",gf1=new Set(["[","."]),mf1=new Set(["..","."]),uf1=new Set("().*{}+?[]^$\\!"),df1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),gD="[^/]",Kn=gD+"*?",zn=gD+"+?";class S4{type;#Z;#J;#Y=!1;#X=[];#Q;#B;#W;#H=!1;#z;#K;#$=!1;constructor(Z,J,$={}){if(this.type=Z,Z)this.#J=!0;if(this.#Q=J,this.#Z=this.#Q?this.#Q.#Z:this,this.#z=this.#Z===this?$:this.#Z.#z,this.#W=this.#Z===this?[]:this.#Z.#W,Z==="!"&&!this.#Z.#H)this.#W.push(this);this.#B=this.#Q?this.#Q.#X.length:0}get hasMagic(){if(this.#J!==void 0)return this.#J;for(let Z of this.#X){if(typeof Z==="string")continue;if(Z.type||Z.hasMagic)return this.#J=!0}return this.#J}toString(){if(this.#K!==void 0)return this.#K;if(!this.type)return this.#K=this.#X.map((Z)=>String(Z)).join("");else return this.#K=this.type+"("+this.#X.map((Z)=>String(Z)).join("|")+")"}#L(){if(this!==this.#Z)throw Error("should only call on root");if(this.#H)return this;this.toString(),this.#H=!0;let Z;while(Z=this.#W.pop()){if(Z.type!=="!")continue;let J=Z,$=J.#Q;while($){for(let X=J.#B+1;!$.type&&X<$.#X.length;X++)for(let Y of Z.#X){if(typeof Y==="string")throw Error("string part in extglob AST??");Y.copyIn($.#X[X])}J=$,$=J.#Q}}return this}push(...Z){for(let J of Z){if(J==="")continue;if(typeof J!=="string"&&!(J instanceof S4&&J.#Q===this))throw Error("invalid part: "+J);this.#X.push(J)}}toJSON(){let Z=this.type===null?this.#X.slice().map((J)=>typeof J==="string"?J:J.toJSON()):[this.type,...this.#X.map((J)=>J.toJSON())];if(this.isStart()&&!this.type)Z.unshift([]);if(this.isEnd()&&(this===this.#Z||this.#Z.#H&&this.#Q?.type==="!"))Z.push({});return Z}isStart(){if(this.#Z===this)return!0;if(!this.#Q?.isStart())return!1;if(this.#B===0)return!0;let Z=this.#Q;for(let J=0;J<this.#B;J++){let $=Z.#X[J];if(!($ instanceof S4&&$.type==="!"))return!1}return!0}isEnd(){if(this.#Z===this)return!0;if(this.#Q?.type==="!")return!0;if(!this.#Q?.isEnd())return!1;if(!this.type)return this.#Q?.isEnd();let Z=this.#Q?this.#Q.#X.length:0;return this.#B===Z-1}copyIn(Z){if(typeof Z==="string")this.push(Z);else this.push(Z.clone(this))}clone(Z){let J=new S4(this.type,Z);for(let $ of this.#X)J.copyIn($);return J}static#D(Z,J,$,X){let Y=!1,Q=!1,W=-1,K=!1;if(J.type===null){let F=$,B="";while(F<Z.length){let U=Z.charAt(F++);if(Y||U==="\\"){Y=!Y,B+=U;continue}if(Q){if(F===W+1){if(U==="^"||U==="!")K=!0}else if(U==="]"&&!(F===W+2&&K))Q=!1;B+=U;continue}else if(U==="["){Q=!0,W=F,K=!1,B+=U;continue}if(!X.noext&&Wn(U)&&Z.charAt(F)==="("){J.push(B),B="";let L=new S4(U,J);F=S4.#D(Z,L,F,X),J.push(L);continue}B+=U}return J.push(B),F}let z=$+1,G=new S4(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(Wn(F)&&Z.charAt(z)==="("){G.push(V),V="";let B=new S4(F,G);G.push(B),z=S4.#D(Z,B,z,X);continue}if(F==="|"){G.push(V),V="",H.push(G),G=new S4(null,J);continue}if(F===")"){if(V===""&&J.#X.length===0)J.#$=!0;return G.push(V),V="",J.push(...H,G),z}V+=F}return J.type=null,J.#J=void 0,J.#X=[Z.substring($-1)],z}static fromGlob(Z,J={}){let $=new S4(null,void 0,J);return S4.#D(Z,$,0,J),$}toMMPattern(){if(this!==this.#Z)return this.#Z.toMMPattern();let Z=this.toString(),[J,$,X,Y]=this.toRegExpSource();if(!(X||this.#J||this.#z.nocase&&!this.#z.nocaseMagicOnly&&Z.toUpperCase()!==Z.toLowerCase()))return $;let W=(this.#z.nocase?"i":"")+(Y?"u":"");return Object.assign(new RegExp(`^${J}$`,W),{_src:J,_glob:Z})}get options(){return this.#z}toRegExpSource(Z){let J=Z??!!this.#z.dot;if(this.#Z===this)this.#L();if(!this.type){let K=this.isStart()&&this.isEnd(),z=this.#X.map((F)=>{let[B,U,L,O]=typeof F==="string"?S4.#V(F,this.#J,K):F.toRegExpSource(Z);return this.#J=this.#J||L,this.#Y=this.#Y||O,B}).join(""),G="";if(this.isStart()){if(typeof this.#X[0]==="string"){if(!(this.#X.length===1&&mf1.has(this.#X[0]))){let B=gf1,U=J&&B.has(z.charAt(0))||z.startsWith("\\.")&&B.has(z.charAt(2))||z.startsWith("\\.\\.")&&B.has(z.charAt(4)),L=!J&&!Z&&B.has(z.charAt(0));G=U?bf1:L?FG:""}}}let H="";if(this.isEnd()&&this.#Z.#H&&this.#Q?.type==="!")H="(?:$|\\/)";return[G+z+H,o7(z),this.#J=!!this.#J,this.#Y]}let $=this.type==="*"||this.type==="+",X=this.type==="!"?"(?:(?!(?:":"(?:",Y=this.#F(J);if(this.isStart()&&this.isEnd()&&!Y&&this.type!=="!"){let K=this.toString();return this.#X=[K],this.type=null,this.#J=void 0,[K,o7(this.toString()),!1,!1]}let Q=!$||Z||J||!FG?"":this.#F(!0);if(Q===Y)Q="";if(Q)Y=`(?:${Y})(?:${Q})*?`;let W="";if(this.type==="!"&&this.#$)W=(this.isStart()&&!J?FG:"")+zn;else{let K=this.type==="!"?"))"+(this.isStart()&&!J&&!Z?FG:"")+Kn+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&Q?")":this.type==="*"&&Q?")?":`)${this.type}`;W=X+Y+K}return[W,o7(Y),this.#J=!!this.#J,this.#Y]}#F(Z){return this.#X.map((J)=>{if(typeof J==="string")throw Error("string type in extglob ast??");let[$,X,Y,Q]=J.toRegExpSource(Z);return this.#Y=this.#Y||Q,$}).filter((J)=>!(this.isStart()&&this.isEnd())||!!J).join("|")}static#V(Z,J,$=!1){let X=!1,Y="",Q=!1;for(let W=0;W<Z.length;W++){let K=Z.charAt(W);if(X){X=!1,Y+=(uf1.has(K)?"\\":"")+K;continue}if(K==="\\"){if(W===Z.length-1)Y+="\\\\";else X=!0;continue}if(K==="["){let[z,G,H,V]=Qn(Z,W);if(H){Y+=z,Q=Q||G,W+=H-1,J=J||V;continue}}if(K==="*"){if($&&Z==="*")Y+=zn;else Y+=Kn;J=!0;continue}if(K==="?"){Y+=gD,J=!0;continue}Y+=df1(K)}return[Y,o7(Z),!!J,Q]}}var mD=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/[?*()[\]]/g,"[$&]"):Z.replace(/[?*()[\]\\]/g,"\\$&")};var y4=(Z,J,$={})=>{if(s3(J),!$.nocomment&&J.charAt(0)==="#")return!1;return new e3(J,$).match(Z)},cf1=/^\*+([^+@!?\*\[\(]*)$/,lf1=(Z)=>(J)=>!J.startsWith(".")&&J.endsWith(Z),pf1=(Z)=>(J)=>J.endsWith(Z),if1=(Z)=>{return Z=Z.toLowerCase(),(J)=>!J.startsWith(".")&&J.toLowerCase().endsWith(Z)},nf1=(Z)=>{return Z=Z.toLowerCase(),(J)=>J.toLowerCase().endsWith(Z)},af1=/^\*+\.\*+$/,of1=(Z)=>!Z.startsWith(".")&&Z.includes("."),rf1=(Z)=>Z!=="."&&Z!==".."&&Z.includes("."),sf1=/^\.\*+$/,tf1=(Z)=>Z!=="."&&Z!==".."&&Z.startsWith("."),ef1=/^\*+$/,Zb1=(Z)=>Z.length!==0&&!Z.startsWith("."),Jb1=(Z)=>Z.length!==0&&Z!=="."&&Z!=="..",$b1=/^\?+([^+@!?\*\[\(]*)?$/,Xb1=([Z,J=""])=>{let $=Fn([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},Yb1=([Z,J=""])=>{let $=Bn([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},Qb1=([Z,J=""])=>{let $=Bn([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},Wb1=([Z,J=""])=>{let $=Fn([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},Fn=([Z])=>{let J=Z.length;return($)=>$.length===J&&!$.startsWith(".")},Bn=([Z])=>{let J=Z.length;return($)=>$.length===J&&$!=="."&&$!==".."},Un=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Gn={win32:{sep:"\\"},posix:{sep:"/"}},Kb1=Un==="win32"?Gn.win32.sep:Gn.posix.sep;y4.sep=Kb1;var V8=Symbol("globstar **");y4.GLOBSTAR=V8;var zb1="[^/]",Gb1=zb1+"*?",Hb1="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Vb1="(?:(?!(?:\\/|^)\\.).)*?",Fb1=(Z,J={})=>($)=>y4($,Z,J);y4.filter=Fb1;var H8=(Z,J={})=>Object.assign({},Z,J),Bb1=(Z)=>{if(!Z||typeof Z!=="object"||!Object.keys(Z).length)return y4;let J=y4;return Object.assign((X,Y,Q={})=>J(X,Y,H8(Z,Q)),{Minimatch:class extends J.Minimatch{constructor(Y,Q={}){super(Y,H8(Z,Q))}static defaults(Y){return J.defaults(H8(Z,Y)).Minimatch}},AST:class extends J.AST{constructor(Y,Q,W={}){super(Y,Q,H8(Z,W))}static fromGlob(Y,Q={}){return J.AST.fromGlob(Y,H8(Z,Q))}},unescape:(X,Y={})=>J.unescape(X,H8(Z,Y)),escape:(X,Y={})=>J.escape(X,H8(Z,Y)),filter:(X,Y={})=>J.filter(X,H8(Z,Y)),defaults:(X)=>J.defaults(H8(Z,X)),makeRe:(X,Y={})=>J.makeRe(X,H8(Z,Y)),braceExpand:(X,Y={})=>J.braceExpand(X,H8(Z,Y)),match:(X,Y,Q={})=>J.match(X,Y,H8(Z,Q)),sep:J.sep,GLOBSTAR:V8})};y4.defaults=Bb1;var Ln=(Z,J={})=>{if(s3(Z),J.nobrace||!/\{(?:(?!\{).)*\}/.test(Z))return[Z];return Vn.default(Z)};y4.braceExpand=Ln;var Ub1=(Z,J={})=>new e3(Z,J).makeRe();y4.makeRe=Ub1;var Lb1=(Z,J,$={})=>{let X=new e3(J,$);if(Z=Z.filter((Y)=>X.match(Y)),X.options.nonull&&!Z.length)Z.push(J);return Z};y4.match=Lb1;var Hn=/[?*]|[+@!]\(.*?\)|\[|\]/,Db1=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class e3{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(Z,J={}){if(s3(Z),J=J||{},this.options=J,this.pattern=Z,this.platform=J.platform||Un,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!J.windowsPathsNoEscape||J.allowWindowsEscape===!1,this.windowsPathsNoEscape)this.pattern=this.pattern.replace(/\\/g,"/");this.preserveMultipleSlashes=!!J.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!J.nonegate,this.comment=!1,this.empty=!1,this.partial=!!J.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=J.windowsNoMagicRoot!==void 0?J.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let Z of this.set)for(let J of Z)if(typeof J!=="string")return!0;return!1}debug(...Z){}make(){let Z=this.pattern,J=this.options;if(!J.nocomment&&Z.charAt(0)==="#"){this.comment=!0;return}if(!Z){this.empty=!0;return}if(this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],J.debug)this.debug=(...Y)=>console.error(...Y);this.debug(this.pattern,this.globSet);let $=this.globSet.map((Y)=>this.slashSplit(Y));this.globParts=this.preprocess($),this.debug(this.pattern,this.globParts);let X=this.globParts.map((Y,Q,W)=>{if(this.isWindows&&this.windowsNoMagicRoot){let K=Y[0]===""&&Y[1]===""&&(Y[2]==="?"||!Hn.test(Y[2]))&&!Hn.test(Y[3]),z=/^[a-z]:/i.test(Y[0]);if(K)return[...Y.slice(0,4),...Y.slice(4).map((G)=>this.parse(G))];else if(z)return[Y[0],...Y.slice(1).map((G)=>this.parse(G))]}return Y.map((K)=>this.parse(K))});if(this.debug(this.pattern,X),this.set=X.filter((Y)=>Y.indexOf(!1)===-1),this.isWindows)for(let Y=0;Y<this.set.length;Y++){let Q=this.set[Y];if(Q[0]===""&&Q[1]===""&&this.globParts[Y][2]==="?"&&typeof Q[3]==="string"&&/^[a-z]:$/i.test(Q[3]))Q[2]="?"}this.debug(this.pattern,this.set)}preprocess(Z){if(this.options.noglobstar){for(let $=0;$<Z.length;$++)for(let X=0;X<Z[$].length;X++)if(Z[$][X]==="**")Z[$][X]="*"}let{optimizationLevel:J=1}=this.options;if(J>=2)Z=this.firstPhasePreProcess(Z),Z=this.secondPhasePreProcess(Z);else if(J>=1)Z=this.levelOneOptimize(Z);else Z=this.adjascentGlobstarOptimize(Z);return Z}adjascentGlobstarOptimize(Z){return Z.map((J)=>{let $=-1;while(($=J.indexOf("**",$+1))!==-1){let X=$;while(J[X+1]==="**")X++;if(X!==$)J.splice($,X-$)}return J})}levelOneOptimize(Z){return Z.map((J)=>{return J=J.reduce(($,X)=>{let Y=$[$.length-1];if(X==="**"&&Y==="**")return $;if(X===".."){if(Y&&Y!==".."&&Y!=="."&&Y!=="**")return $.pop(),$}return $.push(X),$},[]),J.length===0?[""]:J})}levelTwoFileOptimize(Z){if(!Array.isArray(Z))Z=this.slashSplit(Z);let J=!1;do{if(J=!1,!this.preserveMultipleSlashes){for(let X=1;X<Z.length-1;X++){let Y=Z[X];if(X===1&&Y===""&&Z[0]==="")continue;if(Y==="."||Y==="")J=!0,Z.splice(X,1),X--}if(Z[0]==="."&&Z.length===2&&(Z[1]==="."||Z[1]===""))J=!0,Z.pop()}let $=0;while(($=Z.indexOf("..",$+1))!==-1){let X=Z[$-1];if(X&&X!=="."&&X!==".."&&X!=="**")J=!0,Z.splice($-1,2),$-=2}}while(J);return Z.length===0?[""]:Z}firstPhasePreProcess(Z){let J=!1;do{J=!1;for(let $ of Z){let X=-1;while((X=$.indexOf("**",X+1))!==-1){let Q=X;while($[Q+1]==="**")Q++;if(Q>X)$.splice(X+1,Q-X);let W=$[X+1],K=$[X+2],z=$[X+3];if(W!=="..")continue;if(!K||K==="."||K===".."||!z||z==="."||z==="..")continue;J=!0,$.splice(X,1);let G=$.slice(0);G[X]="**",Z.push(G),X--}if(!this.preserveMultipleSlashes){for(let Q=1;Q<$.length-1;Q++){let W=$[Q];if(Q===1&&W===""&&$[0]==="")continue;if(W==="."||W==="")J=!0,$.splice(Q,1),Q--}if($[0]==="."&&$.length===2&&($[1]==="."||$[1]===""))J=!0,$.pop()}let Y=0;while((Y=$.indexOf("..",Y+1))!==-1){let Q=$[Y-1];if(Q&&Q!=="."&&Q!==".."&&Q!=="**"){J=!0;let K=Y===1&&$[Y+1]==="**"?["."]:[];if($.splice(Y-1,2,...K),$.length===0)$.push("");Y-=2}}}}while(J);return Z}secondPhasePreProcess(Z){for(let J=0;J<Z.length-1;J++)for(let $=J+1;$<Z.length;$++){let X=this.partsMatch(Z[J],Z[$],!this.preserveMultipleSlashes);if(X){Z[J]=[],Z[$]=X;break}}return Z.filter((J)=>J.length)}partsMatch(Z,J,$=!1){let X=0,Y=0,Q=[],W="";while(X<Z.length&&Y<J.length)if(Z[X]===J[Y])Q.push(W==="b"?J[Y]:Z[X]),X++,Y++;else if($&&Z[X]==="**"&&J[Y]===Z[X+1])Q.push(Z[X]),X++;else if($&&J[Y]==="**"&&Z[X]===J[Y+1])Q.push(J[Y]),Y++;else if(Z[X]==="*"&&J[Y]&&(this.options.dot||!J[Y].startsWith("."))&&J[Y]!=="**"){if(W==="b")return!1;W="a",Q.push(Z[X]),X++,Y++}else if(J[Y]==="*"&&Z[X]&&(this.options.dot||!Z[X].startsWith("."))&&Z[X]!=="**"){if(W==="a")return!1;W="b",Q.push(J[Y]),X++,Y++}else return!1;return Z.length===J.length&&Q}parseNegate(){if(this.nonegate)return;let Z=this.pattern,J=!1,$=0;for(let X=0;X<Z.length&&Z.charAt(X)==="!";X++)J=!J,$++;if($)this.pattern=Z.slice($);this.negate=J}matchOne(Z,J,$=!1){let X=this.options;if(this.isWindows){let U=typeof Z[0]==="string"&&/^[a-z]:$/i.test(Z[0]),L=!U&&Z[0]===""&&Z[1]===""&&Z[2]==="?"&&/^[a-z]:$/i.test(Z[3]),O=typeof J[0]==="string"&&/^[a-z]:$/i.test(J[0]),_=!O&&J[0]===""&&J[1]===""&&J[2]==="?"&&typeof J[3]==="string"&&/^[a-z]:$/i.test(J[3]),w=L?3:U?0:void 0,A=_?3:O?0:void 0;if(typeof w==="number"&&typeof A==="number"){let[M,T]=[Z[w],J[A]];if(M.toLowerCase()===T.toLowerCase()){if(J[A]=M,A>w)J=J.slice(A);else if(w>A)Z=Z.slice(w)}}}let{optimizationLevel:Y=1}=this.options;if(Y>=2)Z=this.levelTwoFileOptimize(Z);this.debug("matchOne",this,{file:Z,pattern:J}),this.debug("matchOne",Z.length,J.length);for(var Q=0,W=0,K=Z.length,z=J.length;Q<K&&W<z;Q++,W++){this.debug("matchOne loop");var G=J[W],H=Z[Q];if(this.debug(J,G,H),G===!1)return!1;if(G===V8){this.debug("GLOBSTAR",[J,G,H]);var V=Q,F=W+1;if(F===z){this.debug("** at the end");for(;Q<K;Q++)if(Z[Q]==="."||Z[Q]===".."||!X.dot&&Z[Q].charAt(0)===".")return!1;return!0}while(V<K){var B=Z[V];if(this.debug(`
53
53
  globstar while`,Z,V,J,F,B),this.matchOne(Z.slice(V),J.slice(F),$))return this.debug("globstar found match!",V,K,B),!0;else{if(B==="."||B===".."||!X.dot&&B.charAt(0)==="."){this.debug("dot detected!",Z,V,J,F);break}this.debug("globstar swallow a segment, and continue"),V++}}if($){if(this.debug(`
54
- >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Ln(this.pattern,this.options)}parse(Z){s3(Z);let J=this.options;if(Z==="**")return V8;if(Z==="")return"";let $,X=null;if($=Z.match(ef1))X=J.dot?Jb1:Zb1;else if($=Z.match(cf1))X=(J.nocase?J.dot?nf1:if1:J.dot?pf1:lf1)($[1]);else if($=Z.match($b1))X=(J.nocase?J.dot?Yb1:Xb1:J.dot?Qb1:Wb1)($);else if($=Z.match(af1))X=J.dot?rf1:of1;else if($=Z.match(sf1))X=tf1;let Y=S4.fromGlob(Z,this.options).toMMPattern();if(X&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:X});return Y}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let Z=this.set;if(!Z.length)return this.regexp=!1,this.regexp;let J=this.options,$=J.noglobstar?Gb1:J.dot?Hb1:Vb1,X=new Set(J.nocase?["i"]:[]),Y=Z.map((K)=>{let z=K.map((G)=>{if(G instanceof RegExp)for(let H of G.flags.split(""))X.add(H);return typeof G==="string"?Db1(G):G===V8?V8:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==V8||F===V8)return;if(F===void 0)if(V!==void 0&&V!==V8)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==V8)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=V8}),z.filter((G)=>G!==V8).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...X].join(""))}catch(K){this.regexp=!1}return this.regexp}slashSplit(Z){if(this.preserveMultipleSlashes)return Z.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(Z))return["",...Z.split(/\/+/)];else return Z.split(/\/+/)}match(Z,J=this.partial){if(this.debug("match",Z,this.pattern),this.comment)return!1;if(this.empty)return Z==="";if(Z==="/"&&J)return!0;let $=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let X=this.slashSplit(Z);this.debug(this.pattern,"split",X);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=X[X.length-1];if(!Q)for(let W=X.length-2;!Q&&W>=0;W--)Q=X[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=X;if($.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if($.flipNegate)return!0;return!this.negate}}if($.flipNegate)return!1;return this.negate}static defaults(Z){return y4.defaults(Z).Minimatch}}y4.AST=S4;y4.Minimatch=e3;y4.escape=mD;y4.unescape=o7;var On="@fastify/otel",_b1="0.8.0",wb1=">=4.0.0 <6",_n=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],L0={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},r7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},R9="anonymous",$6=Symbol("fastify otel instance"),s7=Symbol("fastify otel request spans"),ZQ=Symbol("fastify otel request context"),wn=Symbol("fastify otel addhook original"),An=Symbol("fastify otel setnotfound original"),BG=Symbol("fastify otel ignore path");class uD extends Tn.InstrumentationBase{constructor(Z){super(On,_b1,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[BG]=null,this._logger=s0.diag.createComponentLogger({namespace:On}),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 $=y4;this[BG]=(X)=>{if(typeof J==="function")return J(X);else return $(X.url,J)}}}enable(){if(this._handleInitialization===void 0&&this.getConfig().registerOnInitialization){let Z=this.plugin();this._handleInitialization=(J)=>{J.fastify.register(Z)},Dn.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)Dn.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:wb1,name:"@fastify/otel"},J;function J($,X,Y){$.decorate($6,Z),$.decorate(wn,$.addHook),$.decorate(An,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[ZQ];return{span:this[s7],tracer:Z.tracer,context:V,inject:(B,U)=>{return s0.propagation.inject(V,B,U)},extract:(B,U)=>{return s0.propagation.extract(V,B,U)}}}),$.decorateRequest(s7,null),$.decorateRequest(ZQ,null),$.addHook("onRoute",function(H){if(Z[BG]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of _n)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[L0.FASTIFY_TYPE]:r7.ROUTE,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:R9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[L0.FASTIFY_TYPE]:r7.ROUTE,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:R9}));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,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route-handler`,[L0.FASTIFY_TYPE]:r7.HANDLER,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:R9})}),$.addHook("onRequest",function(H,V,F){if(this[$6].isEnabled()===!1)return F();else if(this[$6][BG]?.({url:H.url,method:H.method})===!0)return this[$6]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=s0.context.active();if(s0.trace.getSpan(B)==null)B=s0.propagation.extract(B,H.headers);let U=UG.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===UG.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[$6].tracer.startSpan("request",{attributes:{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.ROOT]:"@fastify/otel",[Y4.ATTR_HTTP_ROUTE]:H.url,[Y4.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[ZQ]=s0.trace.setSpan(B,L),H[s7]=L,s0.context.with(H[ZQ],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[s7];if(B!=null)B.setStatus({code:s0.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[Y4.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[s7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[s7];if(U!=null){if(V.statusCode<500)U.setStatus({code:s0.SpanStatusCode.OK,message:"OK"});U.setAttributes({[Y4.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[s7]=null,B(null,F)}function W(H,V,F,B){let U=H[s7];if(U!=null)U.setStatus({code:s0.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[wn];if(_n.includes(H))return F.call(this,H,G(V,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - ${H}`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:R9}));else return F.call(this,H,V)}function z(H,V){let F=this[An];if(typeof H==="function")V=G(H,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:R9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:R9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:R9});V=G(V,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:R9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[$6],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let O=L[ZQ]??s0.context.active(),_=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??R9}`,{attributes:V},O);return s0.context.with(s0.trace.setSpan(O,_),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((A)=>{return _.end(),A},(A)=>{return _.setStatus({code:s0.SpanStatusCode.ERROR,message:A.message}),_.recordException(A),_.end(),Promise.reject(A)});return _.end(),w}catch(w){throw _.setStatus({code:s0.SpanStatusCode.ERROR,message:w.message}),_.recordException(w),_.end(),w}},this)}}}}}var Z5=v(u(),1),DG=v(N0(),1),wJ=v(D1(),1),Cn=v(X0(),1);var C9;(function(Z){Z.FASTIFY_NAME="fastify.name";let $="fastify.type";Z.FASTIFY_TYPE=$;let X="hook.name";Z.HOOK_NAME=X;let Y="plugin.name";Z.PLUGIN_NAME=Y})(C9||(C9={}));var JQ;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(JQ||(JQ={}));var $Q;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})($Q||($Q={}));var jn=v(u(),1);var XQ=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function dD(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[XQ]||[];return Q.push(Y),Object.defineProperty(Z,XQ,{enumerable:!1,configurable:!0,value:Q}),Y}function LG(Z,J){let $=Z[XQ]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:jn.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[XQ]}function Nn(Z,J,$){let X,Y=void 0;try{if(Y=Z(),Mn(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!Mn(Y)){if(J(X,Y),X)throw X}return Y}}function Mn(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var Ab1="0.1.0",Tb1="@sentry/instrumentation-fastify-v3",Rn="anonymous",Mb1=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class cD extends wJ.InstrumentationBase{constructor(Z={}){super(Tb1,Ab1,Z)}init(){return[new wJ.InstrumentationNodeModuleDefinition("fastify",[">=3.0.0 <4"],(Z)=>{return this._patchConstructor(Z)})]}_hookOnRequest(){let Z=this;return function($,X,Y){if(!Z.isEnabled())return Y();Z._wrap(X,"send",Z._patchSend());let Q=$,W=DG.getRPCMetadata(Z5.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===DG.RPCType.HTTP)W.route=K;let z=$.method||"GET";d1().setTransactionName(`${z} ${K}`),Y()}}_wrapHandler(Z,J,$,X){let Y=this;return this._diag.debug("Patching fastify route.handler function"),function(...Q){if(!Y.isEnabled())return $.apply(this,Q);let W=$.name||Z||Rn,K=`${$Q.MIDDLEWARE} - ${W}`,z=Q[1],G=dD(z,Y.tracer,K,{[C9.FASTIFY_TYPE]:JQ.MIDDLEWARE,[C9.PLUGIN_NAME]:Z,[C9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){LG(z),H.apply(this,V)};return Z5.context.with(Z5.trace.setSpan(Z5.context.active(),G),()=>{return Nn(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:Z5.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)LG(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...X){let Y=X[0],Q=X[1],W=this.pluginName;if(!Mb1.has(Y))return J.apply(this,X);let K=typeof X[X.length-1]==="function"&&Q.constructor.name!=="AsyncFunction";return J.apply(this,[Y,Z._wrapHandler(W,Y,Q,K)])}}}_patchConstructor(Z){let J=this;function $(...X){let Y=Z.fastify.apply(this,X);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),jb1(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)$.errorCodes=Z.errorCodes;return $.fastify=$,$.default=$,$}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function($){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return $.apply(this,Y);return wJ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;LG(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function($,X,Y){if(!Z.isEnabled())return Y();let Q=$,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${$Q.REQUEST_HANDLER} - ${K||this.pluginName||Rn}`,G={[C9.PLUGIN_NAME]:this.pluginName,[C9.FASTIFY_TYPE]:JQ.REQUEST_HANDLER,[Cn.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[C9.FASTIFY_NAME]=K;let H=dD(X,Z.tracer,z,G);qn(H);let{requestHook:V}=Z.getConfig();if(V)wJ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return Z5.context.with(Z5.trace.setSpan(Z5.context.active(),H),()=>{Y()})}}}function jb1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{qn(J)})}function qn(Z){let J=Y1(Z).data,$=J["fastify.type"];if(J[U1]||!$)return;Z.setAttributes({[K1]:"auto.http.otel.fastify",[U1]:`${$}.fastify`});let X=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof X==="string"){let Y=X.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var OG="Fastify",Pn=s(`${OG}.v3`,()=>new cD);function Nb1(){let Z=p();if(!Z)return;else return Z.getIntegrationByName(OG)}function En(Z,J,$,X){let Y=Nb1()?.getShouldHandleError()||yn;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){u0&&R.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,$))O1(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var In=s(`${OG}.v5`,()=>{let Z=new uD,J=Z.plugin();return lD.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)u0&&R.error("Failed to setup Fastify instrumentation",Y);else if(Cb1(),X)qb1(X)})}),lD.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;En.call(En,X,Y,Q,"diagnostics-channel")}),Z}),Rb1=({shouldHandleError:Z})=>{let J;return{name:OG,setupOnce(){J=Z||yn,Pn(),In()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},Sn=k((Z={})=>Rb1(Z));function yn(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function kn(Z){let J=Y1(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[U1]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[K1]:"auto.http.otel.fastify",[U1]:`${z}.fastify`});let G=X["fastify.name"]||X["plugin.name"]||X["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function Cb1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{kn(J)})}function qb1(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)kn(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";d1().setTransactionName(`${Y} ${X}`)})}var Oa=v(u(),1),_a=v(Da(),1);var wa="Graphql",Aa=s(wa,_a.GraphQLInstrumentation,(Z)=>{let J=Ma(Z);return{...J,responseHook($,X){if(Y0($,"auto.graphql.otel.graphql"),X.errors?.length&&!Y1($).status)$.setStatus({code:Oa.SpanStatusCode.ERROR});let Q=Y1($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=g0($),H=Y1(z).data[JX]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(JX,H);else if(typeof H==="string")z.setAttribute(JX,[H,V]);else z.setAttribute(JX,V);if(!Y1(z).data["original-description"])z.setAttribute("original-description",Y1(z).description);z.updateName(`${Y1(z).data["original-description"]} (${Xg1(H)})`)}}}}),$g1=(Z={})=>{return{name:wa,setupOnce(){Aa(Ma(Z))}}},Ta=k($g1);function Ma(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function Xg1(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 pa=v(la(),1);var ia="Kafka",na=s(ia,()=>new pa.KafkaJsInstrumentation({consumerHook(Z){Y0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){Y0(Z,"auto.kafkajs.otel.producer")}})),jg1=()=>{return{name:ia,setupOnce(){na()}}},aa=k(jg1);var Wo=v(Qo(),1);var Ko="LruMemoizer",zo=s(Ko,()=>new Wo.LruMemoizerInstrumentation),qg1=()=>{return{name:Ko,setupOnce(){zo()}}},Go=k(qg1);var Co=v(Ro(),1);var qo="Mongo",Eo=s(qo,()=>new Co.MongoDBInstrumentation({dbStatementSerializer:cg1,responseHook(Z){Y0(Z,"auto.db.otel.mongo")}}));function cg1(Z){let J=XO(Z);return JSON.stringify(J)}function XO(Z){if(Array.isArray(Z))return Z.map((J)=>XO(J));if(lg1(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,XO(X)]).reduce(($,X)=>{if(ig1(X))$[X[0]]=X[1];return $},J)}return"?"}function lg1(Z){return typeof Z==="object"&&Z!==null&&!pg1(Z)}function pg1(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function ig1(Z){return Array.isArray(Z)}var ng1=()=>{return{name:qo,setupOnce(){Eo()}}},Po=k(ng1);var ro=v(oo(),1);var so="Mongoose",to=s(so,()=>new ro.MongooseInstrumentation({responseHook(Z){Y0(Z,"auto.db.otel.mongoose")}})),Um1=()=>{return{name:so,setupOnce(){to()}}},eo=k(Um1);var Dr=v(Lr(),1);var Or="Mysql",_r=s(Or,()=>new Dr.MySQLInstrumentation({})),gm1=()=>{return{name:Or,setupOnce(){_r()}}},wr=k(gm1);var br=v(fr(),1);var gr="Mysql2",mr=s(gr,()=>new br.MySQL2Instrumentation({responseHook(Z){Y0(Z,"auto.db.otel.mysql2")}})),Bu1=()=>{return{name:gr,setupOnce(){mr()}}},ur=k(Bu1);var ms=v(Ws(),1),us=v(vs(),1);var ou1=["get","set","setex"],RO=["get","mget"],ru1=["set","setex"];function BQ(Z,J){return Z.includes(J.toLowerCase())}function CO(Z){if(BQ(RO,Z))return"cache.get";else if(BQ(ru1,Z))return"cache.put";else return}function su1(Z,J){return J.some(($)=>Z.startsWith($))}function fs(Z,J){try{if(J.length===0)return;let $=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return hs(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(BQ(ou1,Z)&&X!=null)return $(X);return hs(J.map((Y)=>$(Y)))}catch{return}}function bs(Z,J,$){if(!CO(Z))return!1;for(let X of J)if(su1(X,$))return!0;return!1}function gs(Z){let J=($)=>{try{if(Buffer.isBuffer($))return $.byteLength;else if(typeof $==="string")return $.length;else if(typeof $==="number")return $.toString().length;else if($===null||$===void 0)return 0;return JSON.stringify($).length}catch{return}};return Array.isArray(Z)?Z.reduce(($,X)=>{let Y=J(X);return typeof Y==="number"?$!==void 0?$+Y:Y:$},0):J(Z)}function hs(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var yG="Redis",UQ={},ds=(Z,J,$,X)=>{Z.setAttribute(K1,"auto.db.otel.redis");let Y=fs(J,$),Q=CO(J);if(!Y||!Q||!UQ.cachePrefixes||!bs(J,Y,UQ.cachePrefixes))return;let W=Y1(Z).data["net.peer.name"],K=Y1(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=gs(X);if(z)Z.setAttribute(DL,z);if(BQ(RO,J)&&z!==void 0)Z.setAttribute(UL,z>0);Z.setAttributes({[U1]:Q,[LL]:Y});let G=Y.join(", ");Z.updateName(UQ.maxCacheKeyLength?T7(G,UQ.maxCacheKeyLength):G)},tu1=s(`${yG}.IORedis`,()=>{return new ms.IORedisInstrumentation({responseHook:ds})}),eu1=s(`${yG}.Redis`,()=>{return new us.RedisInstrumentation({responseHook:ds})}),cs=Object.assign(()=>{tu1(),eu1()},{id:yG}),Zd1=(Z={})=>{return{name:yG,setupOnce(){UQ=Z,cs()}}},ls=k(Zd1);var At=v(wt(),1);var Tt="Postgres",Mt=s(Tt,()=>new At.PgInstrumentation({requireParentSpan:!0,requestHook(Z){Y0(Z,"auto.db.otel.postgres")}})),id1=()=>{return{name:Tt,setupOnce(){Mt()}}},jt=k(id1);var MX=v(u(),1),I9=v(D1(),1),t0=v(X0(),1);var gG="PostgresJs",Nt=[">=3.0.0 <4"],nd1=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,bG=Symbol("sentryPostgresConnectionContext"),kO=Symbol.for("sentry.instrumented.postgresjs"),Rt=Symbol.for("sentry.query.from.instrumented.sql"),Ct=s(gG,(Z)=>new qt({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class qt extends I9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",u1,Z)}init(){let Z=new I9.InstrumentationNodeModuleDefinition("postgres",Nt,(J)=>{try{return this._patchPostgres(J)}catch($){return u0&&R.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new I9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,Nt,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return u0&&R.warn("postgres module does not export a function. Skipping instrumentation."),Z;let X=this,Y=function(...Q){let W=Reflect.construct($,Q);if(!W||typeof W!=="function")return u0&&R.warn("postgres() did not return a valid instance"),W;return X._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return R3(Z,"default",Y),Z}_wrapQueryMethod(Z,J,$){let X=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)X._wrapSingleQueryHandle(Q,$);return Q}}_wrapCallbackMethod(Z,J,$){let X=this;return function(...Y){let Q=$[bG];if(typeof Y[Y.length-1]!=="function"){let H=Reflect.apply(Z,J,Y);if(H&&typeof H.then==="function")return H.then((V)=>{return X._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=X._instrumentSqlInstance(H,Q);return K(V)},G=Y.length===1?[z]:[Y[0],z];return Reflect.apply(Z,J,G)}}_setConnectionAttributes(Z,J){if(!J)return;if(J.ATTR_DB_NAMESPACE)Z.setAttribute(t0.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(t0.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let $=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN($))Z.setAttribute(t0.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(t0.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(nd1);if(X?.[1])Z.setAttribute(t0.ATTR_DB_OPERATION_NAME,X[1].toUpperCase())}_attachConnectionContext(Z,J){let $=Z;if(!$.options||typeof $.options!=="object")return;let X=$.options,Y=X.host?.[0]||"localhost",Q=X.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof X.database==="string"&&X.database!==""?X.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[bG]=W}_instrumentSqlInstance(Z,J){if(Z[kO])return Z;let $=this,X=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)$._wrapSingleQueryHandle(K,X);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return $._wrapQueryMethod(W,Y,X);if(Q==="begin"||Q==="reserve")return $._wrapCallbackMethod(W,Y,X);return W}});if(J)X[bG]=J;else this._attachConnectionContext(Z,X);return Z[kO]=!0,X[kO]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[Rt]=!0;let $=Z.handle,X=this,Y=async function(...Q){if(!X._shouldCreateSpans())return $.apply(this,Q);let W=X._reconstructQuery(Z.strings),K=X._sanitizeSqlQuery(W);return P4({name:K||"postgresjs.query",op:"db"},(z)=>{Y0(z,"auto.db.postgresjs"),z.setAttributes({[t0.ATTR_DB_SYSTEM_NAME]:"postgres",[t0.ATTR_DB_QUERY_TEXT]:K});let G=J?J[bG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)I9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),u0&&R.error(`Error in requestHook for ${gG} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,L)=>{try{X._setOperationName(z,K,L?.[0]?.command),z.end()}catch(O){u0&&R.error("Error ending span in resolve callback:",O)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:v1,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(t0.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(t0.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(O){u0&&R.error("Error ending span in reject callback:",O)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:v1,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)=>X===0?$:`${J}$${X}${$}`,"")}_sanitizeSqlQuery(Z){if(!Z)return"Unknown SQL Query";return Z.replace(/--.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/;\s*$/,"").replace(/\s+/g," ").trim().replace(/\bX'[0-9A-Fa-f]*'/gi,"?").replace(/\bB'[01]*'/gi,"?").replace(/'(?:[^']|'')*'/g,"?").replace(/\b0x[0-9A-Fa-f]+/gi,"?").replace(/\b(?:TRUE|FALSE)\b/gi,"?").replace(/-?\b\d+\.?\d*[eE][+-]?\d+\b/g,"?").replace(/-?\b\d+\.\d+\b/g,"?").replace(/-?\.\d+\b/g,"?").replace(/(?<!\$)-?\b\d+\b/g,"?").replace(/\bIN\b\s*\(\s*\?(?:\s*,\s*\?)*\s*\)/gi,"IN (?)").replace(/\bIN\b\s*\(\s*\$\d+(?:\s*,\s*\$\d+)*\s*\)/gi,"IN ($?)")}_patchQueryPrototype(Z){let J=this,$=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...X){if(this[Rt])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return P4({name:Q||"postgresjs.query",op:"db"},(W)=>{Y0(W,"auto.db.postgresjs"),W.setAttributes({[t0.ATTR_DB_SYSTEM_NAME]:"postgres",[t0.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)I9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),u0&&R.error(`Error in requestHook for ${gG} 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){u0&&R.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:v1,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(t0.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(t0.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){u0&&R.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return $.apply(this,X)}catch(V){throw W.setStatus({code:v1,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=$,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var ad1=(Z)=>{return{name:gG,setupOnce(){Ct(Z)}}},Et=k(ad1);var O8=v(u(),1);var St=v(u(),1),mG=v(D1(),1),$Z=v(u(),1);var od1=process.env.PRISMA_SHOW_ALL_TRACES==="true",rd1="00-10-10-00";function sd1(Z){switch(Z){case"client":return $Z.SpanKind.CLIENT;case"internal":default:return $Z.SpanKind.INTERNAL}}var td1=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=$Z.trace.getSpanContext(Z??$Z.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return rd1}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)yt(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return $Z.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!od1)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(kt(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Pt(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Pt(Q,J(Q,X)))}};function yt(Z,J,$,X,Y){if(kt(J.name,Y))return;let Q={attributes:J.attributes,kind:sd1(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if(X.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=X.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=$.filter((z)=>z.parentId===J.id);for(let z of K)yt(Z,z,$,X,Y);W.end(J.endTime)})}function Pt(Z,J){if(ed1(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function ed1(Z){return Z!=null&&typeof Z.then==="function"}function kt(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var xt={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},vO=xt.version,Zc1=vO.split(".")[0],It="PRISMA_INSTRUMENTATION",xO=`V${Zc1}_PRISMA_INSTRUMENTATION`,Jc1=xt.name,$c1="@prisma/client",vt=class extends mG.InstrumentationBase{tracerProvider;constructor(Z={}){super(Jc1,vO,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new mG.InstrumentationNodeModuleDefinition($c1,[vO])]}enable(){let Z=this._config,J={helper:new td1({tracerProvider:this.tracerProvider??St.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[It]=J,global[xO]=J}disable(){delete global[It],delete global[xO]}isEnabled(){return Boolean(global[xO])}};var ht="Prisma";function Xc1(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function ft(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class bt extends vt{constructor(){super()}enable(){super.enable();let Z=ft();if(Xc1(Z))Z.createEngineSpan=(J)=>{let $=O8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){o0(()=>{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=Yc1(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:O8.TraceFlags.SAMPLED}}}),H=O8.trace.setSpanContext(O8.context.active(),{traceId:z,spanId:W,traceFlags:O8.TraceFlags.SAMPLED});O8.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};$._idGenerator=V,$.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),$._idGenerator=X})})}finally{$._idGenerator=X}}}}function Yc1(Z){switch(Z){case"client":return O8.SpanKind.CLIENT;case"internal":default:return O8.SpanKind.INTERNAL}}var Qc1=s(ht,(Z)=>{return new bt}),gt=k((Z)=>{return{name:ht,setupOnce(){Qc1()},setup(J){if(!ft())return;J.on("spanStart",($)=>{let X=Y1($);if(X.description?.startsWith("prisma:"))$.setAttribute(K1,"auto.db.otel.prisma");if(X.description==="prisma:engine:db_query"&&X.data["db.query.text"])$.updateName(X.data["db.query.text"]);if(X.description==="prisma:engine:db_query"&&!X.data["db.system"])$.setAttribute("db.system","prisma")})}}});var Ke=v(We(),1);var ze="Hapi",Ge=s(ze,()=>new Ke.HapiInstrumentation),Pc1=()=>{return{name:ze,setupOnce(){Ge()}}},He=k(Pc1);var cG=v(X0(),1);var YZ={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},wQ={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var MJ=v(u(),1),dG=v(D1(),1);var Ic1="@sentry/instrumentation-hono",Sc1="0.0.1";class mO extends dG.InstrumentationBase{constructor(Z={}){super(Ic1,Sc1,Z)}init(){return[new dG.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class $ extends Z.Hono{constructor(...X){super(...X);J._wrap(this,"get",J._patchHandler()),J._wrap(this,"post",J._patchHandler()),J._wrap(this,"put",J._patchHandler()),J._wrap(this,"delete",J._patchHandler()),J._wrap(this,"options",J._patchHandler()),J._wrap(this,"patch",J._patchHandler()),J._wrap(this,"all",J._patchHandler()),J._wrap(this,"on",J._patchOnHandler()),J._wrap(this,"use",J._patchMiddlewareHandler())}}try{Z.Hono=$}catch{return{...Z,Hono:$}}return Z}_patchHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...X){let Y=X.slice(2);return J.apply(this,[...X.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function($,X){if(!J.isEnabled())return Z.apply(this,[$,X]);let Y=$.req.path,Q=J.tracer.startSpan(Y);return MJ.context.with(MJ.trace.setSpan(MJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(t4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[YZ.HONO_TYPE]:z,[YZ.HONO_NAME]:z===wQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[YZ.HONO_TYPE]:K,[YZ.HONO_NAME]:K===wQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,$){try{let X=Z();if(t4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?wQ.MIDDLEWARE:wQ.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:MJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Ve="Hono";function yc1(Z){let J=Y1(Z).data,$=J[YZ.HONO_TYPE];if(J[U1]||!$)return;Z.setAttributes({[K1]:"auto.http.otel.hono",[U1]:`${$}.hono`});let X=J[YZ.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(d1()===y6()){u0&&R.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[cG.ATTR_HTTP_ROUTE],Q=J[cG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")d1().setTransactionName(`${Q} ${Y}`)}var Fe=s(Ve,()=>new mO({responseHook:(Z)=>{yc1(Z)}})),kc1=()=>{return{name:Ve,setupOnce(){Fe()}}},Be=k(kc1);var he=v(ve(),1),fe=v(X0(),1);var be="Koa",ge=s(be,he.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){Y0(J,"auto.http.otel.koa");let X=Y1(J).data,Y=X["koa.type"];if(Y)J.setAttribute(U1,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(d1()===y6()){u0&&R.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[fe.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)d1().setTransactionName(`${K} ${W}`)}}}),pc1=(Z={})=>{return{name:be,setupOnce(){ge(Z)}}},me=k(pc1);var K11=v(W11(),1);var z11="Connect",G11=s(z11,()=>new K11.ConnectInstrumentation),Ql1=()=>{return{name:z11,setupOnce(){G11()}}},H11=k(Ql1);var E11=v(q11(),1);var Al1=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),P11="Tedious",I11=s(P11,()=>new E11.TediousInstrumentation({})),Tl1=()=>{let Z;return{name:P11,setupOnce(){let J=I11();Z=l3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=Y1($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(Al1.has(Q))$.setAttribute(K1,"auto.db.otel.tedious")}))}}},S11=k(Tl1);var u11=v(m11(),1);var d11="GenericPool",c11=s(d11,()=>new u11.GenericPoolInstrumentation({})),Rl1=()=>{let Z;return{name:d11,setupOnce(){let J=c11();Z=l3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=Y1($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(K1,"auto.db.otel.generic_pool")}))}}},l11=k(Rl1);var U01=v(B01(),1);var L01="Amqplib",Qp1={consumeEndHook:(Z)=>{Y0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{Y0(Z,"auto.amqplib.otel.publisher")}},D01=s(L01,()=>new U01.AmqplibInstrumentation(Qp1)),Wp1=()=>{return{name:L01,setupOnce(){D01()}}},O01=k(Wp1);var NQ="VercelAI";var tG=v(D1(),1);var Kp1=[">=3.0.0 <7"],_01=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function zp1(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 Gp1(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let $ of J.content)if(zp1($)){let X=G2($.toolCallId);if(X){let Y=X.spanContext();D6((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",$.toolName),Q.setTag("vercel.ai.tool.callId",$.toolCallId),Q.setLevel("error"),O1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),H2($.toolCallId)}else D6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),O1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function Hp1(Z,J,$,X){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:$===!0?!0:X,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:$===!0?!0:X;return{recordInputs:Y,recordOutputs:Q}}class RQ extends tG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",u1,Z);RQ.prototype.__init.call(this),RQ.prototype.__init2.call(this)}init(){return new tG.InstrumentationNodeModuleDefinition("ai",Kp1,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach(($)=>$()),this._callbacks=[];let J=($)=>{return new Proxy($,{apply:(X,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=p(),G=z?.getIntegrationByName(NQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=Hp1(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},k6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")Z4(U,"_sentry_active_span",M5())},()=>{},(U)=>{Gp1(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of _01)Z[$]=J(Z[$]);return Z}else{let $=_01.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var w01=s(NQ,()=>new RQ({}));function Vp1(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var Fp1=(Z={})=>{let J;return{name:NQ,options:Z,setupOnce(){J=w01()},afterAllSetup($){if(Z.force??Vp1($))Az($);else J?.callWhenPatched(()=>Az($))}}},A01=k(Fp1);var eG=v(D1(),1);var Bp1=[">=4.0.0 <7"];class Q_ extends eG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",u1,Z)}init(){return new eG.InstrumentationNodeModuleDefinition("openai",Bp1,this._patch.bind(this))}_patch(Z){let J=Z;return J=this._patchClient(J,"OpenAI"),J=this._patchClient(J,"AzureOpenAI"),J}_patchClient(Z,J){let $=Z[J];if(!$)return Z;let X=this.getConfig(),Y=function(...Q){if(WJ(d7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=p(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return jz(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}try{Z[J]=Y}catch(Q){Object.defineProperty(Z,J,{value:Y,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===$)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var T01=s(d7,(Z)=>new Q_(Z)),Up1=(Z={})=>{return{name:d7,setupOnce(){T01(Z)}}},M01=k(Up1);var ZH=v(D1(),1);var Lp1=[">=0.19.2 <1.0.0"];class W_ extends ZH.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",u1,Z)}init(){return new ZH.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",Lp1,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(WJ(c7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return B2(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}try{Z.Anthropic=X}catch(Y){Object.defineProperty(Z,"Anthropic",{value:X,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=X}catch(Y){Object.defineProperty(Z,"default",{value:X,writable:!0,configurable:!0,enumerable:!0})}return Z}}var j01=s(c7,(Z)=>new W_(Z)),Dp1=(Z={})=>{return{name:c7,options:Z,setupOnce(){j01(Z)}}},N01=k(Dp1);var qX=v(D1(),1);var R01=[">=0.10.0 <2"];class K_ extends qX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",u1,Z)}init(){return new qX.InstrumentationNodeModuleDefinition("@google/genai",R01,(J)=>this._patch(J),(J)=>J,[new qX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",R01,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,$=this.getConfig();if(typeof J!=="function")return Z;let X=function(...Y){if(WJ(l7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return O2(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}return R3(Z,"GoogleGenAI",X),Z}}var C01=s(l7,(Z)=>new K_(Z)),Op1=(Z={})=>{return{name:l7,setupOnce(){C01(Z)}}},q01=k(Op1);var KZ=v(D1(),1);var JH=[">=0.1.0 <2.0.0"];function _p1(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 wp1(Z,J,$){return new Proxy(Z,{apply(X,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=_p1(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class z_ extends KZ.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",u1,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let $ of J)Z.push(new KZ.InstrumentationNodeModuleDefinition($,JH,this._patch.bind(this),(X)=>X,[new KZ.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,JH,this._patch.bind(this),(X)=>X)]));return Z.push(new KZ.InstrumentationNodeModuleDefinition("langchain",JH,this._patch.bind(this),($)=>$,[new KZ.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",JH,this._patch.bind(this),($)=>$)])),Z}_patch(Z){cL([d7,c7,l7]);let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=Rz({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let $=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],X=Z.universal_exports??Z,Y=Object.values(X).find((K)=>{return typeof K==="function"&&$.includes(K.name)});if(!Y)return;let Q=Y.prototype,W=["invoke","stream","batch"];for(let K of W){let z=Q[K];if(typeof z==="function")Q[K]=wp1(z,J)}}}var E01=s(Nz,(Z)=>new z_(Z)),Ap1=(Z={})=>{return{name:Nz,setupOnce(){E01(Z)}}},P01=k(Ap1);var EX=v(D1(),1);var I01=[">=0.0.0 <2.0.0"];class G_ extends EX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",u1,Z)}init(){return new EX.InstrumentationNodeModuleDefinition("@langchain/langgraph",I01,this._patch.bind(this),(J)=>J,[new EX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",I01,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X.recordInputs??$,Q=X.recordOutputs??$,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=A2(K.prototype.compile,W)}return Z}}var S01=s(Cz,(Z)=>new G_(Z)),Tp1=(Z={})=>{return{name:Cz,setupOnce(){S01(Z)}}},y01=k(Tp1);var m01=v(D1(),1);var y9=v(u(),1),k9=v(D1(),1),_8=v(X0(),1);import*as x01 from"net";function v01(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{k9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;y9.diag.error(V?.message)},!0)};let z=new k9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>k01(H,$,X,Z,W)),G=["@firebase/firestore/dist/lite/index.node.cjs.js","@firebase/firestore/dist/lite/index.node.mjs.js","@firebase/firestore/dist/lite/index.rn.esm2017.js","@firebase/firestore/dist/lite/index.cjs.js"];for(let H of G)z.files.push(new k9.InstrumentationNodeModuleFile(H,J,(V)=>k01(V,$,X,Z,W),(V)=>h01(V,X)));return z}function k01(Z,J,$,X,Y){return h01(Z,$),J(Z,"addDoc",Mp1(X,Y)),J(Z,"getDocs",Np1(X,Y)),J(Z,"setDoc",Rp1(X,Y)),J(Z,"deleteDoc",jp1(X,Y)),Z}function h01(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(k9.isWrapped(Z[$]))J(Z,$);return Z}function Mp1(Z,J){return function(X){return function(Y,Q){let W=XH(Z,"addDoc",Y);return J(W),$H(W,()=>{return X(Y,Q)})}}}function jp1(Z,J){return function(X){return function(Y){let Q=XH(Z,"deleteDoc",Y.parent||Y);return J(Q),$H(Q,()=>{return X(Y)})}}}function Np1(Z,J){return function(X){return function(Y){let Q=XH(Z,"getDocs",Y);return J(Q),$H(Q,()=>{return X(Y)})}}}function Rp1(Z,J){return function(X){return function(Y,Q,W){let K=XH(Z,"setDoc",Y.parent||Y);return J(K),$H(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function $H(Z,J){return y9.context.with(y9.trace.setSpan(y9.context.active(),Z),()=>{return k9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function XH(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:y9.SpanKind.CLIENT});return qp1(X,$),X.setAttribute(_8.ATTR_DB_OPERATION_NAME,J),X}function Cp1(Z){let J,$;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(1,X).replace(/^\[|\]$/g,""),$=Z.host.slice(X+1)}}else if(x01.isIPv6(Z.host))J=Z.host;else{let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(0,X),$=Z.host.slice(X+1);else J=Z.host}return{address:J,port:$?parseInt($,10):void 0}}function qp1(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[_8.ATTR_DB_COLLECTION_NAME]:J.path,[_8.ATTR_DB_NAMESPACE]:$.name,[_8.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":X.projectId,"firebase.firestore.options.appId":X.appId,"firebase.firestore.options.messagingSenderId":X.messagingSenderId,"firebase.firestore.options.storageBucket":X.storageBucket},{address:K,port:z}=Cp1(Q);if(K)W[_8.ATTR_SERVER_ADDRESS]=K;if(z)W[_8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var k5=v(u(),1),x9=v(D1(),1);function f01(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)=>{x9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;k5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{x9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;k5.diag.error(B?.message)},!0)};let H=new x9.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 x9.InstrumentationNodeModuleFile(F,J,(U)=>Ep1(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>b01(U,X)))}),H}function Q6(Z,J,$){return function(Y){return function(...Q){let W=typeof Q[0]==="function"?Q[0]:Q[1],K=typeof Q[0]==="function"?void 0:Q[0];if(!W)return Y.call(this,...Q);let z=async function(...G){let H=process.env.FUNCTION_TARGET||process.env.K_SERVICE||"unknown",V=Z.startSpan(`firebase.function.${$}`,{kind:k5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":$,"faas.provider":"firebase"};if(process.env.GCLOUD_PROJECT)F["cloud.project_id"]=process.env.GCLOUD_PROJECT;if(process.env.EVENTARC_CLOUD_EVENT_SOURCE)F["cloud.event_source"]=process.env.EVENTARC_CLOUD_EVENT_SOURCE;return V.setAttributes(F),J?.requestHook?.(V),k5.context.with(k5.trace.setSpan(k5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(L){B=L}if(J?.responseHook?.(V,B),B)V.recordException(B);if(V.end(),B)throw await J?.errorHook?.(V,B),B;return U})};if(K)return Y.call(this,K,z);else return Y.call(this,z)}}}function Ep1(Z,J,$,X,Y,Q){switch(b01(Z,$),Q){case"function":J(Z,"onRequest",Q6(X,Y,"http.request")),J(Z,"onCall",Q6(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",Q6(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",Q6(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",Q6(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",Q6(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",Q6(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",Q6(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",Q6(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",Q6(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",Q6(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",Q6(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",Q6(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",Q6(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",Q6(X,Y,"storage.object.metadataUpdated"));break}return Z}function b01(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(x9.isWrapped(Z[X]))J(Z,X);return Z}var g01={},Pp1=[">=3.0.0 <5"],Ip1=[">=6.0.0 <7"];class H_ extends m01.InstrumentationBase{constructor(Z=g01){super("@sentry/instrumentation-firebase",u1,Z)}setConfig(Z={}){super.setConfig({...g01,...Z})}init(){let Z=[];return Z.push(v01(this.tracer,Pp1,this._wrap,this._unwrap,this.getConfig())),Z.push(f01(this.tracer,Ip1,this._wrap,this._unwrap,this.getConfig())),Z}}var u01="Firebase",Sp1={firestoreSpanCreationHook:(Z)=>{Y0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(U1,"db.query")},functions:{requestHook:(Z)=>{Y0(Z,"auto.firebase.otel.functions"),Z.setAttribute(U1,"http.request")},errorHook:async(Z,J)=>{if(J)O1(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await Yz(2000)}}},d01=s(u01,()=>new H_(Sp1)),yp1=()=>{return{name:u01,setupOnce(){d01()}}},c01=k(yp1);function CQ(){return[li(),Sn(),Ta(),Be(),Po(),eo(),wr(),ur(),ls(),jt(),gt(),He(),me(),H11(),S11(),l11(),aa(),O01(),Go(),P01(),y01(),A01(),M01(),N01(),q01(),Et(),c01()]}var PX=v(u(),1);var IX=v(X0(),1);var V_=1e6;function l01(Z,J={}){if(Z.getOptions().debug)_D();let[$,X]=kp1(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function kp1(Z,J={}){let $=new nz({sampler:new XD(Z),resource:I3().merge(uz({[IX.ATTR_SERVICE_NAME]:"node",[IX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[IX.ATTR_SERVICE_VERSION]:u1})),forceFlushTimeoutMillis:500,spanProcessors:[new $D({timeout:xp1(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});PX.trace.setGlobalTracerProvider($),PX.propagation.setGlobalPropagator(new JD);let X=new ZG;return PX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function xp1(Z){if(Z==null)return;if(Z>V_)return u0&&R.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${V_}`),V_;else if(Z<=0||Number.isNaN(Z)){u0&&R.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function p01(){return QG().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(i3(),a3())}function i01(Z){return[...p01(),...P0(Z)?CQ():[]]}function F_(Z={}){return vp1(Z,i01)}function vp1(Z={},J){_9(Z,"node");let $=ED({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)l01($,{spanProcessors:Z.openTelemetrySpanProcessors}),WG();return $}import*as s01 from"os";var hp1="BunServer",fp1=()=>{return{name:hp1,setupOnce(){bp1()}}},o01=k(fp1),n01=!1;function bp1(){if(n01)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){a01($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return a01(Q),Y(Q)},X}}),n01=!0}function a01(Z){gp1(Z),mp1(Z)}function gp1(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return B_(J,$,X)}})}function mp1(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let $=Z.routes[J];if(typeof $==="function")Z.routes[J]=new Proxy($,{apply:(X,Y,Q)=>{return B_(X,Y,Q,J)}});if($ instanceof Response)return;if(typeof $==="object")Object.entries($).forEach(([X,Y])=>{if(typeof Y==="function")Z.routes[J][X]=new Proxy(Y,{apply:(Q,W,K)=>{return B_(Q,W,K,J)}})})})}function B_(Z,J,$,X){return oZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=B3(Q.url),z=up1(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),X)z[E0]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[E0]="route",z["url.template"]=X,G=X;return Object.assign(z,x$(Q.headers.toJSON(),p()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),Jz({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>h6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)gK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw O1(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function up1(Z,J){let $={[K1]:"auto.http.bun.serve",[OL]:J.method||"GET",[E0]:"url"};if(Z){if(Z.search)$["url.query"]=Z.search;if(Z.hash)$["url.fragment"]=Z.hash;if(Z.pathname)$["url.path"]=Z.pathname;if(!pL(Z)){if($["url.full"]=Z.href,Z.port)$["url.port"]=Z.port;if(Z.protocol)$["url.scheme"]=Z.protocol;if(Z.hostname)$["url.domain"]=Z.hostname}}return $}function r01(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return I7(()=>{return fetch(Z.url,X).then((Y)=>{return{statusCode:Y.status,headers:{"x-sentry-rate-limits":Y.headers.get("X-Sentry-Rate-Limits"),"retry-after":Y.headers.get("Retry-After")}}})})}catch(Y){return Promise.reject(Y)}}return QJ(Z,J)}function t01(Z){return[h$(),v$(),f$(),b$(),g$(),i3(),a3(),GX(),HX(),KX(),WX(),zX(),o01(),...P0(Z)?CQ():[]]}function U_(Z={}){_9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||s01.hostname()};if(J.transport=J.transport||r01,J.defaultIntegrations===void 0)J.defaultIntegrations=t01(J);return F_(J)}U_({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as e01}from"fs";import{join as Z41}from"path";function O0(){return"3.3.0-beta.16"}function L_(Z){let[J,$]=Z.split("-"),X=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if($){let W=$.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=$}return{major:X[0]||0,minor:X[1]||0,patch:X[2]||0,preRelease:Y,preReleaseNum:Q}}function v9(Z){let J=L_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function qQ(Z,J){try{let $=L_(Z),X=L_(J);if($.major>X.major)return!1;if($.major<X.major)return!1;if(X.preRelease&&!$.preRelease)return!1;if(!X.preRelease&&$.preRelease)return!1;if(X.preRelease&&$.preRelease){if($.minor<X.minor)return!1;if($.minor>X.minor)return!0;if($.patch>X.patch)return!0;if($.patch<X.patch)return!1;return $.preReleaseNum>X.preReleaseNum}if($.minor>X.minor)return!0;if($.minor<X.minor)return!1;if($.patch>X.patch)return!0;return!1}catch($){return!1}}import{parseArgs as cp1}from"util";var lp1={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 J41(){let Z=cp1({options:lp1,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${O0()}`),process.exit(0);if(Z.values.help)pp1(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,$=process.env.CCC_PASSWORD||Z.values.password,X=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!$)console.error("\x1B[31mError: Authentication credentials are required.\x1B[0m"),console.error(""),console.error("These credentials secure the MQTT communication between the app and backend."),console.error(""),console.error("You can provide them via:"),console.error(""),console.error(" Environment variables (recommended for security):"),console.error(" export CCC_USERNAME=myuser"),console.error(" export CCC_PASSWORD=mypassword"),console.error(" export CCC_NGROK_TOKEN=your_token # optional"),console.error(" export CCC_NGROK_DOMAIN=your_domain # optional"),console.error(" ccc"),console.error(""),console.error(" Or CLI arguments:"),console.error(" ccc --username myuser --password mypassword"),console.error(" ccc -u myuser -p mypassword"),console.error(""),process.exit(1);return{debug:Z.values.debug,mqttPort:parseInt(Z.values["mqtt-port"],10),terminalPort:parseInt(Z.values["terminal-port"],10),routerPort:parseInt(Z.values["router-port"],10),username:J,password:$,ngrokToken:X,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function pp1(){console.log(`
54
+ >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Ln(this.pattern,this.options)}parse(Z){s3(Z);let J=this.options;if(Z==="**")return V8;if(Z==="")return"";let $,X=null;if($=Z.match(ef1))X=J.dot?Jb1:Zb1;else if($=Z.match(cf1))X=(J.nocase?J.dot?nf1:if1:J.dot?pf1:lf1)($[1]);else if($=Z.match($b1))X=(J.nocase?J.dot?Yb1:Xb1:J.dot?Qb1:Wb1)($);else if($=Z.match(af1))X=J.dot?rf1:of1;else if($=Z.match(sf1))X=tf1;let Y=S4.fromGlob(Z,this.options).toMMPattern();if(X&&typeof Y==="object")Reflect.defineProperty(Y,"test",{value:X});return Y}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let Z=this.set;if(!Z.length)return this.regexp=!1,this.regexp;let J=this.options,$=J.noglobstar?Gb1:J.dot?Hb1:Vb1,X=new Set(J.nocase?["i"]:[]),Y=Z.map((K)=>{let z=K.map((G)=>{if(G instanceof RegExp)for(let H of G.flags.split(""))X.add(H);return typeof G==="string"?Db1(G):G===V8?V8:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==V8||F===V8)return;if(F===void 0)if(V!==void 0&&V!==V8)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==V8)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=V8}),z.filter((G)=>G!==V8).join("/")}).join("|"),[Q,W]=Z.length>1?["(?:",")"]:["",""];if(Y="^"+Q+Y+W+"$",this.negate)Y="^(?!"+Y+").+$";try{this.regexp=new RegExp(Y,[...X].join(""))}catch(K){this.regexp=!1}return this.regexp}slashSplit(Z){if(this.preserveMultipleSlashes)return Z.split("/");else if(this.isWindows&&/^\/\/[^\/]+/.test(Z))return["",...Z.split(/\/+/)];else return Z.split(/\/+/)}match(Z,J=this.partial){if(this.debug("match",Z,this.pattern),this.comment)return!1;if(this.empty)return Z==="";if(Z==="/"&&J)return!0;let $=this.options;if(this.isWindows)Z=Z.split("\\").join("/");let X=this.slashSplit(Z);this.debug(this.pattern,"split",X);let Y=this.set;this.debug(this.pattern,"set",Y);let Q=X[X.length-1];if(!Q)for(let W=X.length-2;!Q&&W>=0;W--)Q=X[W];for(let W=0;W<Y.length;W++){let K=Y[W],z=X;if($.matchBase&&K.length===1)z=[Q];if(this.matchOne(z,K,J)){if($.flipNegate)return!0;return!this.negate}}if($.flipNegate)return!1;return this.negate}static defaults(Z){return y4.defaults(Z).Minimatch}}y4.AST=S4;y4.Minimatch=e3;y4.escape=mD;y4.unescape=o7;var On="@fastify/otel",_b1="0.8.0",wb1=">=4.0.0 <6",_n=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],L0={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},r7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},R9="anonymous",$6=Symbol("fastify otel instance"),s7=Symbol("fastify otel request spans"),ZQ=Symbol("fastify otel request context"),wn=Symbol("fastify otel addhook original"),An=Symbol("fastify otel setnotfound original"),BG=Symbol("fastify otel ignore path");class uD extends Tn.InstrumentationBase{constructor(Z){super(On,_b1,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[BG]=null,this._logger=s0.diag.createComponentLogger({namespace:On}),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 $=y4;this[BG]=(X)=>{if(typeof J==="function")return J(X);else return $(X.url,J)}}}enable(){if(this._handleInitialization===void 0&&this.getConfig().registerOnInitialization){let Z=this.plugin();this._handleInitialization=(J)=>{J.fastify.register(Z)},Dn.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)Dn.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:wb1,name:"@fastify/otel"},J;function J($,X,Y){$.decorate($6,Z),$.decorate(wn,$.addHook),$.decorate(An,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[ZQ];return{span:this[s7],tracer:Z.tracer,context:V,inject:(B,U)=>{return s0.propagation.inject(V,B,U)},extract:(B,U)=>{return s0.propagation.extract(V,B,U)}}}),$.decorateRequest(s7,null),$.decorateRequest(ZQ,null),$.addHook("onRoute",function(H){if(Z[BG]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of _n)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[L0.FASTIFY_TYPE]:r7.ROUTE,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:R9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[L0.FASTIFY_TYPE]:r7.ROUTE,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:R9}));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,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - route-handler`,[L0.FASTIFY_TYPE]:r7.HANDLER,[Y4.ATTR_HTTP_ROUTE]:H.url,[L0.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:R9})}),$.addHook("onRequest",function(H,V,F){if(this[$6].isEnabled()===!1)return F();else if(this[$6][BG]?.({url:H.url,method:H.method})===!0)return this[$6]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=s0.context.active();if(s0.trace.getSpan(B)==null)B=s0.propagation.extract(B,H.headers);let U=UG.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===UG.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[$6].tracer.startSpan("request",{attributes:{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.ROOT]:"@fastify/otel",[Y4.ATTR_HTTP_ROUTE]:H.url,[Y4.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[ZQ]=s0.trace.setSpan(B,L),H[s7]=L,s0.context.with(H[ZQ],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[s7];if(B!=null)B.setStatus({code:s0.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[Y4.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[s7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[s7];if(U!=null){if(V.statusCode<500)U.setStatus({code:s0.SpanStatusCode.OK,message:"OK"});U.setAttributes({[Y4.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[s7]=null,B(null,F)}function W(H,V,F,B){let U=H[s7];if(U!=null)U.setStatus({code:s0.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[wn];if(_n.includes(H))return F.call(this,H,G(V,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - ${H}`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:R9}));else return F.call(this,H,V)}function z(H,V){let F=this[An];if(typeof H==="function")V=G(H,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:R9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:R9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:R9});V=G(V,{[Y4.ATTR_SERVICE_NAME]:$[$6].servername,[L0.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[L0.FASTIFY_TYPE]:r7.INSTANCE,[L0.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:R9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[$6],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let O=L[ZQ]??s0.context.active(),_=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??R9}`,{attributes:V},O);return s0.context.with(s0.trace.setSpan(O,_),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((A)=>{return _.end(),A},(A)=>{return _.setStatus({code:s0.SpanStatusCode.ERROR,message:A.message}),_.recordException(A),_.end(),Promise.reject(A)});return _.end(),w}catch(w){throw _.setStatus({code:s0.SpanStatusCode.ERROR,message:w.message}),_.recordException(w),_.end(),w}},this)}}}}}var Z5=v(u(),1),DG=v(N0(),1),wJ=v(D1(),1),Cn=v(X0(),1);var C9;(function(Z){Z.FASTIFY_NAME="fastify.name";let $="fastify.type";Z.FASTIFY_TYPE=$;let X="hook.name";Z.HOOK_NAME=X;let Y="plugin.name";Z.PLUGIN_NAME=Y})(C9||(C9={}));var JQ;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(JQ||(JQ={}));var $Q;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})($Q||($Q={}));var jn=v(u(),1);var XQ=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function dD(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[XQ]||[];return Q.push(Y),Object.defineProperty(Z,XQ,{enumerable:!1,configurable:!0,value:Q}),Y}function LG(Z,J){let $=Z[XQ]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:jn.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[XQ]}function Nn(Z,J,$){let X,Y=void 0;try{if(Y=Z(),Mn(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!Mn(Y)){if(J(X,Y),X)throw X}return Y}}function Mn(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var Ab1="0.1.0",Tb1="@sentry/instrumentation-fastify-v3",Rn="anonymous",Mb1=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class cD extends wJ.InstrumentationBase{constructor(Z={}){super(Tb1,Ab1,Z)}init(){return[new wJ.InstrumentationNodeModuleDefinition("fastify",[">=3.0.0 <4"],(Z)=>{return this._patchConstructor(Z)})]}_hookOnRequest(){let Z=this;return function($,X,Y){if(!Z.isEnabled())return Y();Z._wrap(X,"send",Z._patchSend());let Q=$,W=DG.getRPCMetadata(Z5.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===DG.RPCType.HTTP)W.route=K;let z=$.method||"GET";d1().setTransactionName(`${z} ${K}`),Y()}}_wrapHandler(Z,J,$,X){let Y=this;return this._diag.debug("Patching fastify route.handler function"),function(...Q){if(!Y.isEnabled())return $.apply(this,Q);let W=$.name||Z||Rn,K=`${$Q.MIDDLEWARE} - ${W}`,z=Q[1],G=dD(z,Y.tracer,K,{[C9.FASTIFY_TYPE]:JQ.MIDDLEWARE,[C9.PLUGIN_NAME]:Z,[C9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){LG(z),H.apply(this,V)};return Z5.context.with(Z5.trace.setSpan(Z5.context.active(),G),()=>{return Nn(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:Z5.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)LG(z)})})}}_wrapAddHook(){let Z=this;return this._diag.debug("Patching fastify server.addHook function"),function(J){return function(...X){let Y=X[0],Q=X[1],W=this.pluginName;if(!Mb1.has(Y))return J.apply(this,X);let K=typeof X[X.length-1]==="function"&&Q.constructor.name!=="AsyncFunction";return J.apply(this,[Y,Z._wrapHandler(W,Y,Q,K)])}}}_patchConstructor(Z){let J=this;function $(...X){let Y=Z.fastify.apply(this,X);return Y.addHook("onRequest",J._hookOnRequest()),Y.addHook("preHandler",J._hookPreHandler()),jb1(),J._wrap(Y,"addHook",J._wrapAddHook()),Y}if(Z.errorCodes!==void 0)$.errorCodes=Z.errorCodes;return $.fastify=$,$.default=$,$}_patchSend(){let Z=this;return this._diag.debug("Patching fastify reply.send function"),function($){return function(...Y){let Q=Y[0];if(!Z.isEnabled())return $.apply(this,Y);return wJ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;LG(this,W)})}}}_hookPreHandler(){let Z=this;return this._diag.debug("Patching fastify preHandler function"),function($,X,Y){if(!Z.isEnabled())return Y();let Q=$,W=Q.routeOptions?.handler||Q.context?.handler,K=W?.name.startsWith("bound ")?W.name.substring(6):W?.name,z=`${$Q.REQUEST_HANDLER} - ${K||this.pluginName||Rn}`,G={[C9.PLUGIN_NAME]:this.pluginName,[C9.FASTIFY_TYPE]:JQ.REQUEST_HANDLER,[Cn.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[C9.FASTIFY_NAME]=K;let H=dD(X,Z.tracer,z,G);qn(H);let{requestHook:V}=Z.getConfig();if(V)wJ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return Z5.context.with(Z5.trace.setSpan(Z5.context.active(),H),()=>{Y()})}}}function jb1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{qn(J)})}function qn(Z){let J=Y1(Z).data,$=J["fastify.type"];if(J[U1]||!$)return;Z.setAttributes({[K1]:"auto.http.otel.fastify",[U1]:`${$}.fastify`});let X=J["fastify.name"]||J["plugin.name"]||J["hook.name"];if(typeof X==="string"){let Y=X.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(Y)}}var OG="Fastify",Pn=s(`${OG}.v3`,()=>new cD);function Nb1(){let Z=p();if(!Z)return;else return Z.getIntegrationByName(OG)}function En(Z,J,$,X){let Y=Nb1()?.getShouldHandleError()||yn;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){u0&&R.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,$))O1(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var In=s(`${OG}.v5`,()=>{let Z=new uD,J=Z.plugin();return lD.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)u0&&R.error("Failed to setup Fastify instrumentation",Y);else if(Cb1(),X)qb1(X)})}),lD.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;En.call(En,X,Y,Q,"diagnostics-channel")}),Z}),Rb1=({shouldHandleError:Z})=>{let J;return{name:OG,setupOnce(){J=Z||yn,Pn(),In()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},Sn=k((Z={})=>Rb1(Z));function yn(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function kn(Z){let J=Y1(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[U1]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[K1]:"auto.http.otel.fastify",[U1]:`${z}.fastify`});let G=X["fastify.name"]||X["plugin.name"]||X["hook.name"];if(typeof G==="string"){let H=G.replace(/^fastify -> /,"").replace(/^@fastify\/otel -> /,"");Z.updateName(H)}}function Cb1(){let Z=p();if(Z)Z.on("spanStart",(J)=>{kn(J)})}function qb1(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)kn(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";d1().setTransactionName(`${Y} ${X}`)})}var Oa=v(u(),1),_a=v(Da(),1);var wa="Graphql",Aa=s(wa,_a.GraphQLInstrumentation,(Z)=>{let J=Ma(Z);return{...J,responseHook($,X){if(Y0($,"auto.graphql.otel.graphql"),X.errors?.length&&!Y1($).status)$.setStatus({code:Oa.SpanStatusCode.ERROR});let Q=Y1($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=g0($),H=Y1(z).data[JX]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(JX,H);else if(typeof H==="string")z.setAttribute(JX,[H,V]);else z.setAttribute(JX,V);if(!Y1(z).data["original-description"])z.setAttribute("original-description",Y1(z).description);z.updateName(`${Y1(z).data["original-description"]} (${Xg1(H)})`)}}}}),$g1=(Z={})=>{return{name:wa,setupOnce(){Aa(Ma(Z))}}},Ta=k($g1);function Ma(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function Xg1(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 pa=v(la(),1);var ia="Kafka",na=s(ia,()=>new pa.KafkaJsInstrumentation({consumerHook(Z){Y0(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){Y0(Z,"auto.kafkajs.otel.producer")}})),jg1=()=>{return{name:ia,setupOnce(){na()}}},aa=k(jg1);var Wo=v(Qo(),1);var Ko="LruMemoizer",zo=s(Ko,()=>new Wo.LruMemoizerInstrumentation),qg1=()=>{return{name:Ko,setupOnce(){zo()}}},Go=k(qg1);var Co=v(Ro(),1);var qo="Mongo",Eo=s(qo,()=>new Co.MongoDBInstrumentation({dbStatementSerializer:cg1,responseHook(Z){Y0(Z,"auto.db.otel.mongo")}}));function cg1(Z){let J=XO(Z);return JSON.stringify(J)}function XO(Z){if(Array.isArray(Z))return Z.map((J)=>XO(J));if(lg1(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,XO(X)]).reduce(($,X)=>{if(ig1(X))$[X[0]]=X[1];return $},J)}return"?"}function lg1(Z){return typeof Z==="object"&&Z!==null&&!pg1(Z)}function pg1(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function ig1(Z){return Array.isArray(Z)}var ng1=()=>{return{name:qo,setupOnce(){Eo()}}},Po=k(ng1);var ro=v(oo(),1);var so="Mongoose",to=s(so,()=>new ro.MongooseInstrumentation({responseHook(Z){Y0(Z,"auto.db.otel.mongoose")}})),Um1=()=>{return{name:so,setupOnce(){to()}}},eo=k(Um1);var Dr=v(Lr(),1);var Or="Mysql",_r=s(Or,()=>new Dr.MySQLInstrumentation({})),gm1=()=>{return{name:Or,setupOnce(){_r()}}},wr=k(gm1);var br=v(fr(),1);var gr="Mysql2",mr=s(gr,()=>new br.MySQL2Instrumentation({responseHook(Z){Y0(Z,"auto.db.otel.mysql2")}})),Bu1=()=>{return{name:gr,setupOnce(){mr()}}},ur=k(Bu1);var ms=v(Ws(),1),us=v(vs(),1);var ou1=["get","set","setex"],RO=["get","mget"],ru1=["set","setex"];function BQ(Z,J){return Z.includes(J.toLowerCase())}function CO(Z){if(BQ(RO,Z))return"cache.get";else if(BQ(ru1,Z))return"cache.put";else return}function su1(Z,J){return J.some(($)=>Z.startsWith($))}function fs(Z,J){try{if(J.length===0)return;let $=(Y)=>{if(typeof Y==="string"||typeof Y==="number"||Buffer.isBuffer(Y))return[Y.toString()];else if(Array.isArray(Y))return hs(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(BQ(ou1,Z)&&X!=null)return $(X);return hs(J.map((Y)=>$(Y)))}catch{return}}function bs(Z,J,$){if(!CO(Z))return!1;for(let X of J)if(su1(X,$))return!0;return!1}function gs(Z){let J=($)=>{try{if(Buffer.isBuffer($))return $.byteLength;else if(typeof $==="string")return $.length;else if(typeof $==="number")return $.toString().length;else if($===null||$===void 0)return 0;return JSON.stringify($).length}catch{return}};return Array.isArray(Z)?Z.reduce(($,X)=>{let Y=J(X);return typeof Y==="number"?$!==void 0?$+Y:Y:$},0):J(Z)}function hs(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var yG="Redis",UQ={},ds=(Z,J,$,X)=>{Z.setAttribute(K1,"auto.db.otel.redis");let Y=fs(J,$),Q=CO(J);if(!Y||!Q||!UQ.cachePrefixes||!bs(J,Y,UQ.cachePrefixes))return;let W=Y1(Z).data["net.peer.name"],K=Y1(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=gs(X);if(z)Z.setAttribute(DL,z);if(BQ(RO,J)&&z!==void 0)Z.setAttribute(UL,z>0);Z.setAttributes({[U1]:Q,[LL]:Y});let G=Y.join(", ");Z.updateName(UQ.maxCacheKeyLength?T7(G,UQ.maxCacheKeyLength):G)},tu1=s(`${yG}.IORedis`,()=>{return new ms.IORedisInstrumentation({responseHook:ds})}),eu1=s(`${yG}.Redis`,()=>{return new us.RedisInstrumentation({responseHook:ds})}),cs=Object.assign(()=>{tu1(),eu1()},{id:yG}),Zd1=(Z={})=>{return{name:yG,setupOnce(){UQ=Z,cs()}}},ls=k(Zd1);var At=v(wt(),1);var Tt="Postgres",Mt=s(Tt,()=>new At.PgInstrumentation({requireParentSpan:!0,requestHook(Z){Y0(Z,"auto.db.otel.postgres")}})),id1=()=>{return{name:Tt,setupOnce(){Mt()}}},jt=k(id1);var MX=v(u(),1),I9=v(D1(),1),t0=v(X0(),1);var gG="PostgresJs",Nt=[">=3.0.0 <4"],nd1=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,bG=Symbol("sentryPostgresConnectionContext"),kO=Symbol.for("sentry.instrumented.postgresjs"),Rt=Symbol.for("sentry.query.from.instrumented.sql"),Ct=s(gG,(Z)=>new qt({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class qt extends I9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",u1,Z)}init(){let Z=new I9.InstrumentationNodeModuleDefinition("postgres",Nt,(J)=>{try{return this._patchPostgres(J)}catch($){return u0&&R.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new I9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,Nt,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return u0&&R.warn("postgres module does not export a function. Skipping instrumentation."),Z;let X=this,Y=function(...Q){let W=Reflect.construct($,Q);if(!W||typeof W!=="function")return u0&&R.warn("postgres() did not return a valid instance"),W;return X._instrumentSqlInstance(W)};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}if(J)return Y;else return R3(Z,"default",Y),Z}_wrapQueryMethod(Z,J,$){let X=this;return function(...Y){let Q=Reflect.apply(Z,J,Y);if(Q&&typeof Q==="object"&&"handle"in Q)X._wrapSingleQueryHandle(Q,$);return Q}}_wrapCallbackMethod(Z,J,$){let X=this;return function(...Y){let Q=$[bG];if(typeof Y[Y.length-1]!=="function"){let H=Reflect.apply(Z,J,Y);if(H&&typeof H.then==="function")return H.then((V)=>{return X._instrumentSqlInstance(V,Q)});return H}let K=Y.length===1?Y[0]:Y[1],z=function(H){let V=X._instrumentSqlInstance(H,Q);return K(V)},G=Y.length===1?[z]:[Y[0],z];return Reflect.apply(Z,J,G)}}_setConnectionAttributes(Z,J){if(!J)return;if(J.ATTR_DB_NAMESPACE)Z.setAttribute(t0.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(t0.ATTR_SERVER_ADDRESS,J.ATTR_SERVER_ADDRESS);if(J.ATTR_SERVER_PORT!==void 0){let $=parseInt(J.ATTR_SERVER_PORT,10);if(!isNaN($))Z.setAttribute(t0.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(t0.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(nd1);if(X?.[1])Z.setAttribute(t0.ATTR_DB_OPERATION_NAME,X[1].toUpperCase())}_attachConnectionContext(Z,J){let $=Z;if(!$.options||typeof $.options!=="object")return;let X=$.options,Y=X.host?.[0]||"localhost",Q=X.port?.[0]||5432,W={ATTR_DB_NAMESPACE:typeof X.database==="string"&&X.database!==""?X.database:void 0,ATTR_SERVER_ADDRESS:Y,ATTR_SERVER_PORT:String(Q)};J[bG]=W}_instrumentSqlInstance(Z,J){if(Z[kO])return Z;let $=this,X=new Proxy(Z,{apply(Y,Q,W){let K=Reflect.apply(Y,Q,W);if(K&&typeof K==="object"&&"handle"in K)$._wrapSingleQueryHandle(K,X);return K},get(Y,Q){let W=Y[Q];if(typeof Q!=="string"||typeof W!=="function")return W;if(Q==="unsafe"||Q==="file")return $._wrapQueryMethod(W,Y,X);if(Q==="begin"||Q==="reserve")return $._wrapCallbackMethod(W,Y,X);return W}});if(J)X[bG]=J;else this._attachConnectionContext(Z,X);return Z[kO]=!0,X[kO]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[Rt]=!0;let $=Z.handle,X=this,Y=async function(...Q){if(!X._shouldCreateSpans())return $.apply(this,Q);let W=X._reconstructQuery(Z.strings),K=X._sanitizeSqlQuery(W);return P4({name:K||"postgresjs.query",op:"db"},(z)=>{Y0(z,"auto.db.postgresjs"),z.setAttributes({[t0.ATTR_DB_SYSTEM_NAME]:"postgres",[t0.ATTR_DB_QUERY_TEXT]:K});let G=J?J[bG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)I9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),u0&&R.error(`Error in requestHook for ${gG} integration:`,B)},!0);let F=this;F.resolve=new Proxy(F.resolve,{apply:(B,U,L)=>{try{X._setOperationName(z,K,L?.[0]?.command),z.end()}catch(O){u0&&R.error("Error ending span in resolve callback:",O)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:v1,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(t0.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(t0.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(O){u0&&R.error("Error ending span in reject callback:",O)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:v1,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)=>X===0?$:`${J}$${X}${$}`,"")}_sanitizeSqlQuery(Z){if(!Z)return"Unknown SQL Query";return Z.replace(/--.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/;\s*$/,"").replace(/\s+/g," ").trim().replace(/\bX'[0-9A-Fa-f]*'/gi,"?").replace(/\bB'[01]*'/gi,"?").replace(/'(?:[^']|'')*'/g,"?").replace(/\b0x[0-9A-Fa-f]+/gi,"?").replace(/\b(?:TRUE|FALSE)\b/gi,"?").replace(/-?\b\d+\.?\d*[eE][+-]?\d+\b/g,"?").replace(/-?\b\d+\.\d+\b/g,"?").replace(/-?\.\d+\b/g,"?").replace(/(?<!\$)-?\b\d+\b/g,"?").replace(/\bIN\b\s*\(\s*\?(?:\s*,\s*\?)*\s*\)/gi,"IN (?)").replace(/\bIN\b\s*\(\s*\$\d+(?:\s*,\s*\$\d+)*\s*\)/gi,"IN ($?)")}_patchQueryPrototype(Z){let J=this,$=Z.Query.prototype.handle;return Z.Query.prototype.handle=async function(...X){if(this[Rt])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return P4({name:Q||"postgresjs.query",op:"db"},(W)=>{Y0(W,"auto.db.postgresjs"),W.setAttributes({[t0.ATTR_DB_SYSTEM_NAME]:"postgres",[t0.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)I9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),u0&&R.error(`Error in requestHook for ${gG} 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){u0&&R.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:v1,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(t0.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(t0.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){u0&&R.error("Error ending span in reject callback:",U)}return Reflect.apply(V,F,B)}});try{return $.apply(this,X)}catch(V){throw W.setStatus({code:v1,message:V instanceof Error?V.message:"unknown_error"}),W.end(),V}})},Z.Query.prototype.handle.__sentry_original__=$,Z}_unpatchQueryPrototype(Z){if(Z.Query.prototype.handle.__sentry_original__)Z.Query.prototype.handle=Z.Query.prototype.handle.__sentry_original__;return Z}}var ad1=(Z)=>{return{name:gG,setupOnce(){Ct(Z)}}},Et=k(ad1);var O8=v(u(),1);var St=v(u(),1),mG=v(D1(),1),$Z=v(u(),1);var od1=process.env.PRISMA_SHOW_ALL_TRACES==="true",rd1="00-10-10-00";function sd1(Z){switch(Z){case"client":return $Z.SpanKind.CLIENT;case"internal":default:return $Z.SpanKind.INTERNAL}}var td1=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=$Z.trace.getSpanContext(Z??$Z.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return rd1}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)yt(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return $Z.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!od1)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(kt(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Pt(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Pt(Q,J(Q,X)))}};function yt(Z,J,$,X,Y){if(kt(J.name,Y))return;let Q={attributes:J.attributes,kind:sd1(J.kind),startTime:J.startTime};Z.startActiveSpan(J.name,Q,(W)=>{if(X.set(J.id,W.spanContext().spanId),J.links)W.addLinks(J.links.flatMap((z)=>{let G=X.get(z);if(!G)return[];return{context:{spanId:G,traceId:W.spanContext().traceId,traceFlags:W.spanContext().traceFlags}}}));let K=$.filter((z)=>z.parentId===J.id);for(let z of K)yt(Z,z,$,X,Y);W.end(J.endTime)})}function Pt(Z,J){if(ed1(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function ed1(Z){return Z!=null&&typeof Z.then==="function"}function kt(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var xt={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},vO=xt.version,Zc1=vO.split(".")[0],It="PRISMA_INSTRUMENTATION",xO=`V${Zc1}_PRISMA_INSTRUMENTATION`,Jc1=xt.name,$c1="@prisma/client",vt=class extends mG.InstrumentationBase{tracerProvider;constructor(Z={}){super(Jc1,vO,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new mG.InstrumentationNodeModuleDefinition($c1,[vO])]}enable(){let Z=this._config,J={helper:new td1({tracerProvider:this.tracerProvider??St.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[It]=J,global[xO]=J}disable(){delete global[It],delete global[xO]}isEnabled(){return Boolean(global[xO])}};var ht="Prisma";function Xc1(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function ft(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class bt extends vt{constructor(){super()}enable(){super.enable();let Z=ft();if(Xc1(Z))Z.createEngineSpan=(J)=>{let $=O8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){o0(()=>{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=Yc1(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:O8.TraceFlags.SAMPLED}}}),H=O8.trace.setSpanContext(O8.context.active(),{traceId:z,spanId:W,traceFlags:O8.TraceFlags.SAMPLED});O8.context.with(H,()=>{let V={generateTraceId:()=>{return z},generateSpanId:()=>{return K}};$._idGenerator=V,$.startSpan(Y.name,{kind:Q,links:G,startTime:Y.start_time,attributes:Y.attributes}).end(Y.end_time),$._idGenerator=X})})}finally{$._idGenerator=X}}}}function Yc1(Z){switch(Z){case"client":return O8.SpanKind.CLIENT;case"internal":default:return O8.SpanKind.INTERNAL}}var Qc1=s(ht,(Z)=>{return new bt}),gt=k((Z)=>{return{name:ht,setupOnce(){Qc1()},setup(J){if(!ft())return;J.on("spanStart",($)=>{let X=Y1($);if(X.description?.startsWith("prisma:"))$.setAttribute(K1,"auto.db.otel.prisma");if(X.description==="prisma:engine:db_query"&&X.data["db.query.text"])$.updateName(X.data["db.query.text"]);if(X.description==="prisma:engine:db_query"&&!X.data["db.system"])$.setAttribute("db.system","prisma")})}}});var Ke=v(We(),1);var ze="Hapi",Ge=s(ze,()=>new Ke.HapiInstrumentation),Pc1=()=>{return{name:ze,setupOnce(){Ge()}}},He=k(Pc1);var cG=v(X0(),1);var YZ={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},wQ={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var MJ=v(u(),1),dG=v(D1(),1);var Ic1="@sentry/instrumentation-hono",Sc1="0.0.1";class mO extends dG.InstrumentationBase{constructor(Z={}){super(Ic1,Sc1,Z)}init(){return[new dG.InstrumentationNodeModuleDefinition("hono",[">=4.0.0 <5"],(Z)=>this._patch(Z))]}_patch(Z){let J=this;class $ extends Z.Hono{constructor(...X){super(...X);J._wrap(this,"get",J._patchHandler()),J._wrap(this,"post",J._patchHandler()),J._wrap(this,"put",J._patchHandler()),J._wrap(this,"delete",J._patchHandler()),J._wrap(this,"options",J._patchHandler()),J._wrap(this,"patch",J._patchHandler()),J._wrap(this,"all",J._patchHandler()),J._wrap(this,"on",J._patchOnHandler()),J._wrap(this,"use",J._patchMiddlewareHandler())}}try{Z.Hono=$}catch{return{...Z,Hono:$}}return Z}_patchHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_patchOnHandler(){let Z=this;return function(J){return function(...X){let Y=X.slice(2);return J.apply(this,[...X.slice(0,2),...Y.map((Q)=>Z._wrapHandler(Q))])}}}_patchMiddlewareHandler(){let Z=this;return function(J){return function(...X){if(typeof X[0]==="string"){let Y=X[0];if(X.length===1)return J.apply(this,[Y]);let Q=X.slice(1);return J.apply(this,[Y,...Q.map((W)=>Z._wrapHandler(W))])}return J.apply(this,X.map((Y)=>Z._wrapHandler(Y)))}}}_wrapHandler(Z){let J=this;return function($,X){if(!J.isEnabled())return Z.apply(this,[$,X]);let Y=$.req.path,Q=J.tracer.startSpan(Y);return MJ.context.with(MJ.trace.setSpan(MJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(t4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[YZ.HONO_TYPE]:z,[YZ.HONO_NAME]:z===wQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[YZ.HONO_TYPE]:K,[YZ.HONO_NAME]:K===wQ.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),W}},()=>Q.end(),(W)=>{J._handleError(Q,W),Q.end()})})}}_safeExecute(Z,J,$){try{let X=Z();if(t4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?wQ.MIDDLEWARE:wQ.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:MJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Ve="Hono";function yc1(Z){let J=Y1(Z).data,$=J[YZ.HONO_TYPE];if(J[U1]||!$)return;Z.setAttributes({[K1]:"auto.http.otel.hono",[U1]:`${$}.hono`});let X=J[YZ.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(d1()===y6()){u0&&R.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[cG.ATTR_HTTP_ROUTE],Q=J[cG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")d1().setTransactionName(`${Q} ${Y}`)}var Fe=s(Ve,()=>new mO({responseHook:(Z)=>{yc1(Z)}})),kc1=()=>{return{name:Ve,setupOnce(){Fe()}}},Be=k(kc1);var he=v(ve(),1),fe=v(X0(),1);var be="Koa",ge=s(be,he.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){Y0(J,"auto.http.otel.koa");let X=Y1(J).data,Y=X["koa.type"];if(Y)J.setAttribute(U1,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(d1()===y6()){u0&&R.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[fe.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)d1().setTransactionName(`${K} ${W}`)}}}),pc1=(Z={})=>{return{name:be,setupOnce(){ge(Z)}}},me=k(pc1);var K11=v(W11(),1);var z11="Connect",G11=s(z11,()=>new K11.ConnectInstrumentation),Ql1=()=>{return{name:z11,setupOnce(){G11()}}},H11=k(Ql1);var E11=v(q11(),1);var Al1=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),P11="Tedious",I11=s(P11,()=>new E11.TediousInstrumentation({})),Tl1=()=>{let Z;return{name:P11,setupOnce(){let J=I11();Z=l3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=Y1($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(Al1.has(Q))$.setAttribute(K1,"auto.db.otel.tedious")}))}}},S11=k(Tl1);var u11=v(m11(),1);var d11="GenericPool",c11=s(d11,()=>new u11.GenericPoolInstrumentation({})),Rl1=()=>{let Z;return{name:d11,setupOnce(){let J=c11();Z=l3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=Y1($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(K1,"auto.db.otel.generic_pool")}))}}},l11=k(Rl1);var U01=v(B01(),1);var L01="Amqplib",Qp1={consumeEndHook:(Z)=>{Y0(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{Y0(Z,"auto.amqplib.otel.publisher")}},D01=s(L01,()=>new U01.AmqplibInstrumentation(Qp1)),Wp1=()=>{return{name:L01,setupOnce(){D01()}}},O01=k(Wp1);var NQ="VercelAI";var tG=v(D1(),1);var Kp1=[">=3.0.0 <7"],_01=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function zp1(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 Gp1(Z){if(typeof Z!=="object"||Z===null||!("content"in Z))return;let J=Z;if(!Array.isArray(J.content))return;for(let $ of J.content)if(zp1($)){let X=G2($.toolCallId);if(X){let Y=X.spanContext();D6((Q)=>{Q.setContext("trace",{trace_id:Y.traceId,span_id:Y.spanId}),Q.setTag("vercel.ai.tool.name",$.toolName),Q.setTag("vercel.ai.tool.callId",$.toolCallId),Q.setLevel("error"),O1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),H2($.toolCallId)}else D6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),O1($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function Hp1(Z,J,$,X){let Y=Z?.recordInputs!==void 0?Z.recordInputs:J.recordInputs!==void 0?J.recordInputs:$===!0?!0:X,Q=Z?.recordOutputs!==void 0?Z.recordOutputs:J.recordOutputs!==void 0?J.recordOutputs:$===!0?!0:X;return{recordInputs:Y,recordOutputs:Q}}class RQ extends tG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",u1,Z);RQ.prototype.__init.call(this),RQ.prototype.__init2.call(this)}init(){return new tG.InstrumentationNodeModuleDefinition("ai",Kp1,this._patch.bind(this))}callWhenPatched(Z){if(this._isPatched)Z();else this._callbacks.push(Z)}_patch(Z){this._isPatched=!0,this._callbacks.forEach(($)=>$()),this._callbacks=[];let J=($)=>{return new Proxy($,{apply:(X,Y,Q)=>{let W=Q[0].experimental_telemetry||{},K=W.isEnabled,z=p(),G=z?.getIntegrationByName(NQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=Hp1(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},k6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")Z4(U,"_sentry_active_span",M5())},()=>{},(U)=>{Gp1(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of _01)Z[$]=J(Z[$]);return Z}else{let $=_01.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var w01=s(NQ,()=>new RQ({}));function Vp1(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var Fp1=(Z={})=>{let J;return{name:NQ,options:Z,setupOnce(){J=w01()},afterAllSetup($){if(Z.force??Vp1($))Az($);else J?.callWhenPatched(()=>Az($))}}},A01=k(Fp1);var eG=v(D1(),1);var Bp1=[">=4.0.0 <7"];class Q_ extends eG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",u1,Z)}init(){return new eG.InstrumentationNodeModuleDefinition("openai",Bp1,this._patch.bind(this))}_patch(Z){let J=Z;return J=this._patchClient(J,"OpenAI"),J=this._patchClient(J,"AzureOpenAI"),J}_patchClient(Z,J){let $=Z[J];if(!$)return Z;let X=this.getConfig(),Y=function(...Q){if(WJ(d7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=p(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return jz(W,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(Y,$),Object.setPrototypeOf(Y.prototype,$.prototype);for(let Q of Object.getOwnPropertyNames($))if(!["length","name","prototype"].includes(Q)){let W=Object.getOwnPropertyDescriptor($,Q);if(W)Object.defineProperty(Y,Q,W)}try{Z[J]=Y}catch(Q){Object.defineProperty(Z,J,{value:Y,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===$)try{Z.default=Y}catch(Q){Object.defineProperty(Z,"default",{value:Y,writable:!0,configurable:!0,enumerable:!0})}return Z}}var T01=s(d7,(Z)=>new Q_(Z)),Up1=(Z={})=>{return{name:d7,setupOnce(){T01(Z)}}},M01=k(Up1);var ZH=v(D1(),1);var Lp1=[">=0.19.2 <1.0.0"];class W_ extends ZH.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",u1,Z)}init(){return new ZH.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",Lp1,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(WJ(c7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return B2(Q,{recordInputs:z,recordOutputs:G})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}try{Z.Anthropic=X}catch(Y){Object.defineProperty(Z,"Anthropic",{value:X,writable:!0,configurable:!0,enumerable:!0})}if(Z.default===J)try{Z.default=X}catch(Y){Object.defineProperty(Z,"default",{value:X,writable:!0,configurable:!0,enumerable:!0})}return Z}}var j01=s(c7,(Z)=>new W_(Z)),Dp1=(Z={})=>{return{name:c7,options:Z,setupOnce(){j01(Z)}}},N01=k(Dp1);var qX=v(D1(),1);var R01=[">=0.10.0 <2"];class K_ extends qX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",u1,Z)}init(){return new qX.InstrumentationNodeModuleDefinition("@google/genai",R01,(J)=>this._patch(J),(J)=>J,[new qX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",R01,(J)=>this._patch(J),(J)=>J)])}_patch(Z){let J=Z.GoogleGenAI,$=this.getConfig();if(typeof J!=="function")return Z;let X=function(...Y){if(WJ(l7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=p(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return O2(Q,{recordInputs:G,recordOutputs:H})};Object.setPrototypeOf(X,J),Object.setPrototypeOf(X.prototype,J.prototype);for(let Y of Object.getOwnPropertyNames(J))if(!["length","name","prototype"].includes(Y)){let Q=Object.getOwnPropertyDescriptor(J,Y);if(Q)Object.defineProperty(X,Y,Q)}return R3(Z,"GoogleGenAI",X),Z}}var C01=s(l7,(Z)=>new K_(Z)),Op1=(Z={})=>{return{name:l7,setupOnce(){C01(Z)}}},q01=k(Op1);var KZ=v(D1(),1);var JH=[">=0.1.0 <2.0.0"];function _p1(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 wp1(Z,J,$){return new Proxy(Z,{apply(X,Y,Q){let K=Q[1];if(!K||typeof K!=="object"||Array.isArray(K))K={},Q[1]=K;let z=K.callbacks,G=_p1(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class z_ extends KZ.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",u1,Z)}init(){let Z=[],J=["@langchain/anthropic","@langchain/openai","@langchain/google-genai","@langchain/mistralai","@langchain/google-vertexai","@langchain/groq"];for(let $ of J)Z.push(new KZ.InstrumentationNodeModuleDefinition($,JH,this._patch.bind(this),(X)=>X,[new KZ.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,JH,this._patch.bind(this),(X)=>X)]));return Z.push(new KZ.InstrumentationNodeModuleDefinition("langchain",JH,this._patch.bind(this),($)=>$,[new KZ.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",JH,this._patch.bind(this),($)=>$)])),Z}_patch(Z){cL([d7,c7,l7]);let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=Rz({recordInputs:Y,recordOutputs:Q});return this._patchRunnableMethods(Z,W),Z}_patchRunnableMethods(Z,J){let $=["ChatAnthropic","ChatOpenAI","ChatGoogleGenerativeAI","ChatMistralAI","ChatVertexAI","ChatGroq","ConfigurableModel"],X=Z.universal_exports??Z,Y=Object.values(X).find((K)=>{return typeof K==="function"&&$.includes(K.name)});if(!Y)return;let Q=Y.prototype,W=["invoke","stream","batch"];for(let K of W){let z=Q[K];if(typeof z==="function")Q[K]=wp1(z,J)}}}var E01=s(Nz,(Z)=>new z_(Z)),Ap1=(Z={})=>{return{name:Nz,setupOnce(){E01(Z)}}},P01=k(Ap1);var EX=v(D1(),1);var I01=[">=0.0.0 <2.0.0"];class G_ extends EX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",u1,Z)}init(){return new EX.InstrumentationNodeModuleDefinition("@langchain/langgraph",I01,this._patch.bind(this),(J)=>J,[new EX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",I01,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=p(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X.recordInputs??$,Q=X.recordOutputs??$,W={recordInputs:Y,recordOutputs:Q};if(Z.StateGraph&&typeof Z.StateGraph==="function"){let K=Z.StateGraph;K.prototype.compile=A2(K.prototype.compile,W)}return Z}}var S01=s(Cz,(Z)=>new G_(Z)),Tp1=(Z={})=>{return{name:Cz,setupOnce(){S01(Z)}}},y01=k(Tp1);var m01=v(D1(),1);var y9=v(u(),1),k9=v(D1(),1),_8=v(X0(),1);import*as x01 from"net";function v01(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{k9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;y9.diag.error(V?.message)},!0)};let z=new k9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>k01(H,$,X,Z,W)),G=["@firebase/firestore/dist/lite/index.node.cjs.js","@firebase/firestore/dist/lite/index.node.mjs.js","@firebase/firestore/dist/lite/index.rn.esm2017.js","@firebase/firestore/dist/lite/index.cjs.js"];for(let H of G)z.files.push(new k9.InstrumentationNodeModuleFile(H,J,(V)=>k01(V,$,X,Z,W),(V)=>h01(V,X)));return z}function k01(Z,J,$,X,Y){return h01(Z,$),J(Z,"addDoc",Mp1(X,Y)),J(Z,"getDocs",Np1(X,Y)),J(Z,"setDoc",Rp1(X,Y)),J(Z,"deleteDoc",jp1(X,Y)),Z}function h01(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(k9.isWrapped(Z[$]))J(Z,$);return Z}function Mp1(Z,J){return function(X){return function(Y,Q){let W=XH(Z,"addDoc",Y);return J(W),$H(W,()=>{return X(Y,Q)})}}}function jp1(Z,J){return function(X){return function(Y){let Q=XH(Z,"deleteDoc",Y.parent||Y);return J(Q),$H(Q,()=>{return X(Y)})}}}function Np1(Z,J){return function(X){return function(Y){let Q=XH(Z,"getDocs",Y);return J(Q),$H(Q,()=>{return X(Y)})}}}function Rp1(Z,J){return function(X){return function(Y,Q,W){let K=XH(Z,"setDoc",Y.parent||Y);return J(K),$H(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function $H(Z,J){return y9.context.with(y9.trace.setSpan(y9.context.active(),Z),()=>{return k9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function XH(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:y9.SpanKind.CLIENT});return qp1(X,$),X.setAttribute(_8.ATTR_DB_OPERATION_NAME,J),X}function Cp1(Z){let J,$;if(typeof Z.host==="string")if(Z.host.startsWith("[")){if(Z.host.endsWith("]"))J=Z.host.replace(/^\[|\]$/g,"");else if(Z.host.includes("]:")){let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(1,X).replace(/^\[|\]$/g,""),$=Z.host.slice(X+1)}}else if(x01.isIPv6(Z.host))J=Z.host;else{let X=Z.host.lastIndexOf(":");if(X!==-1)J=Z.host.slice(0,X),$=Z.host.slice(X+1);else J=Z.host}return{address:J,port:$?parseInt($,10):void 0}}function qp1(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[_8.ATTR_DB_COLLECTION_NAME]:J.path,[_8.ATTR_DB_NAMESPACE]:$.name,[_8.ATTR_DB_SYSTEM_NAME]:"firebase.firestore","firebase.firestore.type":J.type,"firebase.firestore.options.projectId":X.projectId,"firebase.firestore.options.appId":X.appId,"firebase.firestore.options.messagingSenderId":X.messagingSenderId,"firebase.firestore.options.storageBucket":X.storageBucket},{address:K,port:z}=Cp1(Q);if(K)W[_8.ATTR_SERVER_ADDRESS]=K;if(z)W[_8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var k5=v(u(),1),x9=v(D1(),1);function f01(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)=>{x9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;k5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{x9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;k5.diag.error(B?.message)},!0)};let H=new x9.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 x9.InstrumentationNodeModuleFile(F,J,(U)=>Ep1(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>b01(U,X)))}),H}function Q6(Z,J,$){return function(Y){return function(...Q){let W=typeof Q[0]==="function"?Q[0]:Q[1],K=typeof Q[0]==="function"?void 0:Q[0];if(!W)return Y.call(this,...Q);let z=async function(...G){let H=process.env.FUNCTION_TARGET||process.env.K_SERVICE||"unknown",V=Z.startSpan(`firebase.function.${$}`,{kind:k5.SpanKind.SERVER}),F={"faas.name":H,"faas.trigger":$,"faas.provider":"firebase"};if(process.env.GCLOUD_PROJECT)F["cloud.project_id"]=process.env.GCLOUD_PROJECT;if(process.env.EVENTARC_CLOUD_EVENT_SOURCE)F["cloud.event_source"]=process.env.EVENTARC_CLOUD_EVENT_SOURCE;return V.setAttributes(F),J?.requestHook?.(V),k5.context.with(k5.trace.setSpan(k5.context.active(),V),async()=>{let B,U;try{U=await W.apply(this,G)}catch(L){B=L}if(J?.responseHook?.(V,B),B)V.recordException(B);if(V.end(),B)throw await J?.errorHook?.(V,B),B;return U})};if(K)return Y.call(this,K,z);else return Y.call(this,z)}}}function Ep1(Z,J,$,X,Y,Q){switch(b01(Z,$),Q){case"function":J(Z,"onRequest",Q6(X,Y,"http.request")),J(Z,"onCall",Q6(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",Q6(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",Q6(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",Q6(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",Q6(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",Q6(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",Q6(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",Q6(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",Q6(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",Q6(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",Q6(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",Q6(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",Q6(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",Q6(X,Y,"storage.object.metadataUpdated"));break}return Z}function b01(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(x9.isWrapped(Z[X]))J(Z,X);return Z}var g01={},Pp1=[">=3.0.0 <5"],Ip1=[">=6.0.0 <7"];class H_ extends m01.InstrumentationBase{constructor(Z=g01){super("@sentry/instrumentation-firebase",u1,Z)}setConfig(Z={}){super.setConfig({...g01,...Z})}init(){let Z=[];return Z.push(v01(this.tracer,Pp1,this._wrap,this._unwrap,this.getConfig())),Z.push(f01(this.tracer,Ip1,this._wrap,this._unwrap,this.getConfig())),Z}}var u01="Firebase",Sp1={firestoreSpanCreationHook:(Z)=>{Y0(Z,"auto.firebase.otel.firestore"),Z.setAttribute(U1,"db.query")},functions:{requestHook:(Z)=>{Y0(Z,"auto.firebase.otel.functions"),Z.setAttribute(U1,"http.request")},errorHook:async(Z,J)=>{if(J)O1(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await Yz(2000)}}},d01=s(u01,()=>new H_(Sp1)),yp1=()=>{return{name:u01,setupOnce(){d01()}}},c01=k(yp1);function CQ(){return[li(),Sn(),Ta(),Be(),Po(),eo(),wr(),ur(),ls(),jt(),gt(),He(),me(),H11(),S11(),l11(),aa(),O01(),Go(),P01(),y01(),A01(),M01(),N01(),q01(),Et(),c01()]}var PX=v(u(),1);var IX=v(X0(),1);var V_=1e6;function l01(Z,J={}){if(Z.getOptions().debug)_D();let[$,X]=kp1(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function kp1(Z,J={}){let $=new nz({sampler:new XD(Z),resource:I3().merge(uz({[IX.ATTR_SERVICE_NAME]:"node",[IX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[IX.ATTR_SERVICE_VERSION]:u1})),forceFlushTimeoutMillis:500,spanProcessors:[new $D({timeout:xp1(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});PX.trace.setGlobalTracerProvider($),PX.propagation.setGlobalPropagator(new JD);let X=new ZG;return PX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function xp1(Z){if(Z==null)return;if(Z>V_)return u0&&R.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${V_}`),V_;else if(Z<=0||Number.isNaN(Z)){u0&&R.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function p01(){return QG().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(i3(),a3())}function i01(Z){return[...p01(),...P0(Z)?CQ():[]]}function F_(Z={}){return vp1(Z,i01)}function vp1(Z={},J){_9(Z,"node");let $=ED({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)l01($,{spanProcessors:Z.openTelemetrySpanProcessors}),WG();return $}import*as s01 from"os";var hp1="BunServer",fp1=()=>{return{name:hp1,setupOnce(){bp1()}}},o01=k(fp1),n01=!1;function bp1(){if(n01)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){a01($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return a01(Q),Y(Q)},X}}),n01=!0}function a01(Z){gp1(Z),mp1(Z)}function gp1(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return B_(J,$,X)}})}function mp1(Z){if(!Z.routes)return;if(typeof Z.routes!=="object")return;Object.keys(Z.routes).forEach((J)=>{let $=Z.routes[J];if(typeof $==="function")Z.routes[J]=new Proxy($,{apply:(X,Y,Q)=>{return B_(X,Y,Q,J)}});if($ instanceof Response)return;if(typeof $==="object")Object.entries($).forEach(([X,Y])=>{if(typeof Y==="function")Z.routes[J][X]=new Proxy(Y,{apply:(Q,W,K)=>{return B_(Q,W,K,J)}})})})}function B_(Z,J,$,X){return oZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=B3(Q.url),z=up1(K,Q),G=K?.pathname||"/";if(Q.params){if(Object.keys(Q.params).forEach((H)=>{z[`url.path.parameter.${H}`]=Q.params[H]}),X)z[E0]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[E0]="route",z["url.template"]=X,G=X;return Object.assign(z,x$(Q.headers.toJSON(),p()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),Jz({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>h6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)gK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw O1(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function up1(Z,J){let $={[K1]:"auto.http.bun.serve",[OL]:J.method||"GET",[E0]:"url"};if(Z){if(Z.search)$["url.query"]=Z.search;if(Z.hash)$["url.fragment"]=Z.hash;if(Z.pathname)$["url.path"]=Z.pathname;if(!pL(Z)){if($["url.full"]=Z.href,Z.port)$["url.port"]=Z.port;if(Z.protocol)$["url.scheme"]=Z.protocol;if(Z.hostname)$["url.domain"]=Z.hostname}}return $}function r01(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return I7(()=>{return fetch(Z.url,X).then((Y)=>{return{statusCode:Y.status,headers:{"x-sentry-rate-limits":Y.headers.get("X-Sentry-Rate-Limits"),"retry-after":Y.headers.get("Retry-After")}}})})}catch(Y){return Promise.reject(Y)}}return QJ(Z,J)}function t01(Z){return[h$(),v$(),f$(),b$(),g$(),i3(),a3(),GX(),HX(),KX(),WX(),zX(),o01(),...P0(Z)?CQ():[]]}function U_(Z={}){_9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||s01.hostname()};if(J.transport=J.transport||r01,J.defaultIntegrations===void 0)J.defaultIntegrations=t01(J);return F_(J)}U_({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as e01}from"fs";import{join as Z41}from"path";function O0(){return"3.3.0-beta.17"}function L_(Z){let[J,$]=Z.split("-"),X=(J||"0.0.0").split(".").map(Number),Y=null,Q=0;if($){let W=$.match(/^([a-z]+)\.?(\d+)?$/i);if(W)Y=W[1]||null,Q=parseInt(W[2]||"0",10);else Y=$}return{major:X[0]||0,minor:X[1]||0,patch:X[2]||0,preRelease:Y,preReleaseNum:Q}}function v9(Z){let J=L_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function qQ(Z,J){try{let $=L_(Z),X=L_(J);if($.major>X.major)return!1;if($.major<X.major)return!1;if(X.preRelease&&!$.preRelease)return!1;if(!X.preRelease&&$.preRelease)return!1;if(X.preRelease&&$.preRelease){if($.minor<X.minor)return!1;if($.minor>X.minor)return!0;if($.patch>X.patch)return!0;if($.patch<X.patch)return!1;return $.preReleaseNum>X.preReleaseNum}if($.minor>X.minor)return!0;if($.minor<X.minor)return!1;if($.patch>X.patch)return!0;return!1}catch($){return!1}}import{parseArgs as cp1}from"util";var lp1={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 J41(){let Z=cp1({options:lp1,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${O0()}`),process.exit(0);if(Z.values.help)pp1(),process.exit(0);let J=process.env.CCC_USERNAME||Z.values.username,$=process.env.CCC_PASSWORD||Z.values.password,X=process.env.CCC_NGROK_TOKEN||Z.values["ngrok-token"],Y=process.env.CCC_NGROK_DOMAIN||Z.values["ngrok-domain"];if(!J||!$)console.error("\x1B[31mError: Authentication credentials are required.\x1B[0m"),console.error(""),console.error("These credentials secure the MQTT communication between the app and backend."),console.error(""),console.error("You can provide them via:"),console.error(""),console.error(" Environment variables (recommended for security):"),console.error(" export CCC_USERNAME=myuser"),console.error(" export CCC_PASSWORD=mypassword"),console.error(" export CCC_NGROK_TOKEN=your_token # optional"),console.error(" export CCC_NGROK_DOMAIN=your_domain # optional"),console.error(" ccc"),console.error(""),console.error(" Or CLI arguments:"),console.error(" ccc --username myuser --password mypassword"),console.error(" ccc -u myuser -p mypassword"),console.error(""),process.exit(1);return{debug:Z.values.debug,mqttPort:parseInt(Z.values["mqtt-port"],10),terminalPort:parseInt(Z.values["terminal-port"],10),routerPort:parseInt(Z.values["router-port"],10),username:J,password:$,ngrokToken:X,ngrokDomain:Y,autoUpdate:!Z.values["no-auto-update"],autoUpdateCheckInterval:parseInt(Z.values["auto-update-check-interval"],10),terminalAudit:Z.values["terminal-audit"]}}function pp1(){console.log(`
55
55
  Backend v2 - Clean modular architecture
56
56
 
57
57
  Usage:
@@ -525,22 +525,19 @@ for (const { name, target, outfile, ptyLib, ngrokLib, ngrokPkg } of selectedTarg
525
525
 
526
526
  // Build the binary (bun-pty and ngrok are now bundled via the generated loaders).
527
527
  //
528
- // --bytecode is disabled across all targets Bun 1.3.13 has
529
- // multiple regressions when combined with --compile:
530
- // - Windows panics: "Internal assertion failure:
531
- // total_insertions != output_files.items.len"
532
- // (oven-sh/bun#23490)
533
- // - Linux ARM64 binary loads but throws on first import:
534
- // "TypeError: Expected CommonJS module to have a function
535
- // wrapper" bytecode mangles CJS-shaped deps (some of
536
- // pi-coding-agent's transitive deps are CJS).
537
- // The startup speedup isn't worth shipping a broken binary on
538
- // any platform. Re-enable per-target when Bun's bytecode +
539
- // CJS interop stabilizes.
528
+ // --bytecode is enabled on Linux/macOS where it works cleanly
529
+ // after the pi-bootstrap fix unblocked Pi's package.json read.
530
+ // Windows triggers an unrelated Bun compile-linker panic
531
+ // ("Internal assertion failure: total_insertions != output_files
532
+ // .items.len" — oven-sh/bun#23490) at BUILD time, so skip it
533
+ // there. The Pi (linux-arm64) is the platform we care about
534
+ // most and gets the startup speedup.
535
+ const useBytecode = !target.startsWith('bun-windows');
540
536
  const buildArgs = [
541
537
  'build',
542
538
  '--compile',
543
539
  '--minify',
540
+ ...(useBytecode ? ['--bytecode'] : []),
544
541
  `--target=${target}`,
545
542
  '--define',
546
543
  `BUILD_VERSION="${VERSION}"`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naarang/ccc",
3
- "version": "3.3.0-beta.16",
3
+ "version": "3.3.0-beta.17",
4
4
  "description": "Code Chat Connect - Control Claude Code from your mobile device",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -525,22 +525,19 @@ for (const { name, target, outfile, ptyLib, ngrokLib, ngrokPkg } of selectedTarg
525
525
 
526
526
  // Build the binary (bun-pty and ngrok are now bundled via the generated loaders).
527
527
  //
528
- // --bytecode is disabled across all targets Bun 1.3.13 has
529
- // multiple regressions when combined with --compile:
530
- // - Windows panics: "Internal assertion failure:
531
- // total_insertions != output_files.items.len"
532
- // (oven-sh/bun#23490)
533
- // - Linux ARM64 binary loads but throws on first import:
534
- // "TypeError: Expected CommonJS module to have a function
535
- // wrapper" bytecode mangles CJS-shaped deps (some of
536
- // pi-coding-agent's transitive deps are CJS).
537
- // The startup speedup isn't worth shipping a broken binary on
538
- // any platform. Re-enable per-target when Bun's bytecode +
539
- // CJS interop stabilizes.
528
+ // --bytecode is enabled on Linux/macOS where it works cleanly
529
+ // after the pi-bootstrap fix unblocked Pi's package.json read.
530
+ // Windows triggers an unrelated Bun compile-linker panic
531
+ // ("Internal assertion failure: total_insertions != output_files
532
+ // .items.len" — oven-sh/bun#23490) at BUILD time, so skip it
533
+ // there. The Pi (linux-arm64) is the platform we care about
534
+ // most and gets the startup speedup.
535
+ const useBytecode = !target.startsWith('bun-windows');
540
536
  const buildArgs = [
541
537
  'build',
542
538
  '--compile',
543
539
  '--minify',
540
+ ...(useBytecode ? ['--bytecode'] : []),
544
541
  `--target=${target}`,
545
542
  '--define',
546
543
  `BUILD_VERSION="${VERSION}"`,