@naarang/ccc 3.0.0-beta.2 → 3.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ Event: ${$7(Z)}`),!0}return!1}function GE0(Z,J){if(!J?.length)return!1;return IK
50
50
  `;let K=nl(X);X.write(`${W}\r
51
51
  `);let{connect:z,buffered:G}=await K;if(Z.emit("proxyConnect",z),this.emit("proxyConnect",z,Z),z.statusCode===200){if(Z.once("socket",sx0),J.secureEndpoint){M3("Upgrading socket connection to TLS");let V=J.servername||J.host;return S2.connect({...al(J,"host","path","port"),socket:X,servername:z9.isIP(V)?void 0:V})}return X}X.destroy();let H=new z9.Socket({writable:!1});return H.readable=!0,Z.once("socket",(V)=>{M3("Replaying proxy buffer for failed request"),V.push(G),V.push(null)}),H}}Nz.__initStatic();function sx0(Z){Z.resume()}function al(Z,...J){let $={},X;for(X in Z)if(!J.includes(X))$[X]=Z[X];return $}var $v0=32768;function Xv0(Z){return new Zv0({read(){this.push(Z),this.push(null)}})}function y2(Z){let J;try{J=new URL(Z.url)}catch(z){return m1(()=>{console.warn("[@sentry/node]: Invalid dsn or tunnel option, will not send any events. The tunnel option must be a full URL when used.")}),bZ(Z,()=>Promise.resolve({}))}let $=J.protocol==="https:",X=Yv0(J,Z.proxy||($?process.env.https_proxy:void 0)||process.env.http_proxy),Y=$?ex0:tx0,Q=Z.keepAlive===void 0?!1:Z.keepAlive,W=X?new Nz(X):new Y.Agent({keepAlive:Q,maxSockets:30,timeout:2000}),K=Qv0(Z,Z.httpModule??Y,W);return bZ(Z,K)}function Yv0(Z,J){let{no_proxy:$}=process.env;if($?.split(",").some((Y)=>Z.host.endsWith(Y)||Z.hostname.endsWith(Y)))return;else return J}function Qv0(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)=>{G7(()=>{let F=Xv0(G.body),B={...Z.headers};if(G.body.length>$v0)B["content-encoding"]="gzip",F=F.pipe(Jv0());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},(_)=>{_.on("data",()=>{}),_.on("end",()=>{}),_.setEncoding("utf8");let O=_.headers["retry-after"]??null,w=_.headers["x-sentry-rate-limits"]??null;H({statusCode:_.statusCode,headers:{"retry-after":O,"x-sentry-rate-limits":Array.isArray(w)?w[0]||null:w}})});L.on("error",V),F.pipe(L)})})}}var Wv0=new Set(["false","f","n","no","off","0"]),Kv0=new Set(["true","t","y","yes","on","1"]);function Rz(Z,J){let $=String(Z).toLowerCase();if(Wv0.has($))return!1;if(Kv0.has($))return!0;return J?.strict?null:Boolean(Z)}import{posix as zv0,sep as Gv0}from"path";function ol(Z){return Z.replace(/^[A-Z]:/,"").replace(/\\/g,"/")}function k2(Z=process.argv[1]?WL(process.argv[1]):process.cwd(),J=Gv0==="\\"){let $=J?ol(Z):Z;return(X)=>{if(!X)return;let Y=J?ol(X):X,{dir:Q,base:W,ext:K}=zv0.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 x2(Z){if(process.env.SENTRY_RELEASE)return process.env.SENTRY_RELEASE;if(W0.SENTRY_RELEASE?.id)return W0.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 v2=GK(IL(k2()));var sl=v(g(),1),tl=v(V0(),1);import*as rl from"os";import{threadId as Hv0,isMainThread as Vv0}from"worker_threads";var Fv0=60000;class qz extends kK{constructor(Z){let J=Z.includeServerName===!1?void 0:Z.serverName||global.process.env.SENTRY_NAME||rl.hostname(),$={...Z,platform:"node",runtime:{name:"node",version:global.process.version},serverName:J};if(Z.openTelemetryInstrumentations)tl.registerInstrumentations({instrumentations:Z.openTelemetryInstrumentations});$9($,"node"),A.log(`Initializing Sentry: process: ${process.pid}, thread: ${Vv0?"main":`worker-${Hv0}`}.`);super($);if(this.getOptions().enableLogs){if(this._logOnExitFlushListener=()=>{uY(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=I0,$=sl.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(()=>{w0&&A.log("Flushing client reports based on interval."),this._flushOutcomes()},Z.clientReportFlushInterval??Fv0).unref(),process.on("beforeExit",this._clientReportOnExitFlushListener)}_setupIntegrations(){eU(),super._setupIntegrations()}_getTraceInfoFromScope(Z){if(!Z)return[void 0,void 0];return dc(this,Z)}}var el=v(gB(),1);import*as Zp from"module";function h2(){if(!Nl())return;if(!W0._sentryEsmLoaderHookRegistered){W0._sentryEsmLoaderHookRegistered=!0;try{let{addHookMessagePort:Z}=el.createAddHookMessageChannel();Zp.register("import-in-the-middle/hook.mjs",import.meta.url,{data:{addHookMessagePort:Z,include:[]},transferList:[Z]})}catch(Z){A.warn("Failed to register 'import-in-the-middle' hook",Z)}}}function Cz(){return[_$(),D$(),O$(),w$(),T2(),j$(),ll(),pl(),l$(),p$(),d$(),w2(),u$(),R2(),il(),c$()]}function f2(Z={}){return Bv0(Z,Cz)}function Bv0(Z={},J){let $=Uv0(Z,J);if($.debug===!0)if(w0)A.enable();else m1(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")});if($.registerEsmLoaderHooks!==!1)h2();if(pc(),o0().update($.initialScope),$.spotlight&&!$.integrations.some(({name:Q})=>Q===M2))$.integrations.push(A2({sidecarUrl:typeof $.spotlight==="string"?$.spotlight:void 0}));$9($,"node-core");let Y=new qz($);if(o0().setClient(Y),Y.init(),W0._sentryInjectLoaderHookRegister?.(),A.log(`SDK initialized from ${D3()?"CommonJS":"ESM"}`),Y.startClientReportTracking(),_v0(),Pc(Y),lc(Y),process.env.VERCEL)process.on("SIGTERM",async()=>{await Y.flush(200)});return Y}function Ez(){if(!w0)return;let Z=kc(),J=["SentryContextManager","SentryPropagator"];if(A1())J.push("SentrySpanProcessor");for(let $ of J)if(!Z.includes($))A.error(`You have to set up the ${$}. Without this, the OpenTelemetry & Sentry integration will not work properly.`);if(!Z.includes("SentrySampler"))A.warn("You have to set up the SentrySampler. Without this, the OpenTelemetry & Sentry integration may still work, but sample rates set for the Sentry SDK will not be respected. If you use a custom sampler, make sure to use `wrapSamplingDecision`.")}function Uv0(Z,J){let $=Lv0(Z.release),X;if(Z.spotlight===!1)X=!1;else if(typeof Z.spotlight==="string")X=Z.spotlight;else{let z=Rz(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=Dv0(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??y2,stackParser:VU(Z.stackParser||v2),release:$,tracesSampleRate:Y,spotlight:X,debug:Rz(Z.debug??process.env.SENTRY_DEBUG)},W=Z.integrations,K=Z.defaultIntegrations??J(Q);return{...Q,integrations:uU({defaultIntegrations:K,integrations:W})}}function Lv0(Z){if(Z!==void 0)return Z;let J=x2();if(J!==void 0)return J;return}function Dv0(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 _v0(){if(Rz(process.env.SENTRY_USE_ENVIRONMENT)!==!1){let Z=process.env.SENTRY_TRACE,J=process.env.SENTRY_BAGGAGE,$=yZ(Z,J);o0().setPropagationContext($)}}function Z1(Z,J){Z.setAttribute(X0,J)}var b2="Http",Jp="@opentelemetry_sentry-patched/instrumentation-http",Ov0=s(`${b2}.sentry`,(Z)=>{return new b$(Z)}),wv0=s(b2,(Z)=>{let J=new Xp.HttpInstrumentation({...Z,disableIncomingRequestInstrumentation:!0});try{J._diag=$p.diag.createComponentLogger({namespace:Jp}),J.instrumentationName=Jp}catch{}return J});function jv0(Z,J={}){if(typeof Z.spans==="boolean")return Z.spans;if(J.skipOpenTelemetrySetup)return!1;if(!A1(J)&&C7.major>=22)return!1;return!0}var A3=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=E$(X),W=P$(Y),K=J&&!$;return{name:b2,setup(z){let G=z.getOptions();if(K&&A1(G))W.setup(z)},setupOnce(){let z=l()?.getOptions()||{},G=jv0(Z,z);Q.setupOnce();let H={breadcrumbs:Z.breadcrumbs,propagateTraceInOutgoingRequests:!G,ignoreOutgoingRequests:Z.ignoreOutgoingRequests};if(Ov0(H),G){let V=Mv0(Z);wv0(V)}},processEvent(z){return W.processEvent(z)}}});function Mv0(Z={}){return{ignoreOutgoingRequestHook:($)=>{let X=Q3($);if(!X)return!1;let Y=Z.ignoreOutgoingRequests;if(Y?.(X,$))return!0;return!1},requireParentforOutgoingSpans:!1,requestHook:($,X)=>{Z1($,"auto.http.otel.http"),Z.instrumentation?.requestHook?.($,X)},responseHook:($,X)=>{Z.instrumentation?.responseHook?.($,X)},applyCustomAttributesOnSpan:($,X,Y)=>{Z.instrumentation?.applyCustomAttributesOnSpan?.($,X,Y)}}}var Bp=v(Fp(),1);var Up="NodeFetch",qv0=s(Up,Bp.UndiciInstrumentation,(Z)=>{return Sv0(Z)}),Cv0=s(`${Up}.sentry`,m$,(Z)=>{return Z}),Ev0=(Z={})=>{return{name:"NodeFetch",setupOnce(){if(Iv0(Z,l()?.getOptions()))qv0(Z);Cv0(Z)}}},N3=k(Ev0);function Pv0(Z,J="/"){let $=`${Z}`;if($.endsWith("/")&&J.startsWith("/"))return`${$}${J.slice(1)}`;if(!$.endsWith("/")&&!J.startsWith("/"))return`${$}/${J.slice(1)}`;return`${$}${J}`}function Iv0(Z,J={}){return typeof Z.spans==="boolean"?Z.spans:!J.skipOpenTelemetrySetup&&A1(J)}function Sv0(Z={}){return{requireParentforSpans:!1,ignoreRequestHook:($)=>{let X=Pv0($.origin,$.path),Y=Z.ignoreOutgoingRequests;return!!(Y&&X&&Y(X))},startSpanHook:()=>{return{[X0]:"auto.http.otel.node_fetch"}},requestHook:Z.requestHook,responseHook:Z.responseHook}}var hp=v(vp(),1);var k1=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__;var fp="Express";function $h0(Z){Z1(Z,"auto.http.otel.express");let J=$0(Z).data,$=J["express.type"];if($)Z.setAttribute(G0,`${$}.express`);let X=J["express.name"];if(typeof X==="string")Z.updateName(X)}function Xh0(Z,J){if(k0()===M6())return k1&&A.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";k0().setTransactionName(`${X} ${Z.route}`)}return J}var bp=s(fp,()=>new hp.ExpressInstrumentation({requestHook:(Z)=>$h0(Z),spanNameHook:(Z,J)=>Xh0(Z,J)})),Yh0=()=>{return{name:fp,setupOnce(){bp()}}},gp=k(Yh0);import*as e2 from"diagnostics_channel";var d1=v(g(),1),hz=v(O1(),1),Di=v(V0(),1),o1=v(e0(),1);import Vi from"diagnostics_channel";var Wi=v(tp(),1);var C3=(Z)=>{if(typeof Z!=="string")throw TypeError("invalid pattern");if(Z.length>65536)throw TypeError("pattern is too long")};var Fh0={"[: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]},E3=(Z)=>Z.replace(/[[\]\\-]/g,"\\$&"),Bh0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),ep=(Z)=>Z.join(""),Zi=(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,j]]of Object.entries(Fh0))if(Z.startsWith(_,Q)){if(V)return["$.",!1,Z.length-$,!0];if(Q+=_.length,j)Y.push(O);else X.push(O);K=K||w;continue Z}}if(z=!1,V){if(L>V)X.push(E3(V)+"-"+E3(L));else if(L===V)X.push(E3(L));V="",Q++;continue}if(Z.startsWith("-]",Q+1)){X.push(E3(L+"-")),Q+=2;continue}if(Z.startsWith("-",Q+1)){V=L,Q+=2;continue}X.push(E3(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[Bh0(L),!1,H-$,!1]}let F="["+(G?"^":"")+ep(X)+"]",B="["+(G?"":"^")+ep(Y)+"]";return[X.length&&Y.length?"("+F+"|"+B+")":X.length?F:B,K,H-$,!0]};var E7=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/\[([^\/\\])\]/g,"$1"):Z.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1")};var Uh0=new Set(["!","?","+","*","@"]),Ji=(Z)=>Uh0.has(Z),Lh0="(?!(?:^|/)\\.\\.?(?:$|/))",xz="(?!\\.)",Dh0=new Set(["[","."]),_h0=new Set(["..","."]),Oh0=new Set("().*{}+?[]^$\\!"),wh0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),a2="[^/]",$i=a2+"*?",Xi=a2+"+?";class w4{type;#J;#$;#G=!1;#X=[];#Y;#B;#Q;#H=!1;#K;#W;#Z=!1;constructor(Z,J,$={}){if(this.type=Z,Z)this.#$=!0;if(this.#Y=J,this.#J=this.#Y?this.#Y.#J:this,this.#K=this.#J===this?$:this.#J.#K,this.#Q=this.#J===this?[]:this.#J.#Q,Z==="!"&&!this.#J.#H)this.#Q.push(this);this.#B=this.#Y?this.#Y.#X.length:0}get hasMagic(){if(this.#$!==void 0)return this.#$;for(let Z of this.#X){if(typeof Z==="string")continue;if(Z.type||Z.hasMagic)return this.#$=!0}return this.#$}toString(){if(this.#W!==void 0)return this.#W;if(!this.type)return this.#W=this.#X.map((Z)=>String(Z)).join("");else return this.#W=this.type+"("+this.#X.map((Z)=>String(Z)).join("|")+")"}#L(){if(this!==this.#J)throw Error("should only call on root");if(this.#H)return this;this.toString(),this.#H=!0;let Z;while(Z=this.#Q.pop()){if(Z.type!=="!")continue;let J=Z,$=J.#Y;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.#Y}}return this}push(...Z){for(let J of Z){if(J==="")continue;if(typeof J!=="string"&&!(J instanceof w4&&J.#Y===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.#J||this.#J.#H&&this.#Y?.type==="!"))Z.push({});return Z}isStart(){if(this.#J===this)return!0;if(!this.#Y?.isStart())return!1;if(this.#B===0)return!0;let Z=this.#Y;for(let J=0;J<this.#B;J++){let $=Z.#X[J];if(!($ instanceof w4&&$.type==="!"))return!1}return!0}isEnd(){if(this.#J===this)return!0;if(this.#Y?.type==="!")return!0;if(!this.#Y?.isEnd())return!1;if(!this.type)return this.#Y?.isEnd();let Z=this.#Y?this.#Y.#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 w4(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&&Ji(U)&&Z.charAt(F)==="("){J.push(B),B="";let L=new w4(U,J);F=w4.#D(Z,L,F,X),J.push(L);continue}B+=U}return J.push(B),F}let z=$+1,G=new w4(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(Ji(F)&&Z.charAt(z)==="("){G.push(V),V="";let B=new w4(F,G);G.push(B),z=w4.#D(Z,B,z,X);continue}if(F==="|"){G.push(V),V="",H.push(G),G=new w4(null,J);continue}if(F===")"){if(V===""&&J.#X.length===0)J.#Z=!0;return G.push(V),V="",J.push(...H,G),z}V+=F}return J.type=null,J.#$=void 0,J.#X=[Z.substring($-1)],z}static fromGlob(Z,J={}){let $=new w4(null,void 0,J);return w4.#D(Z,$,0,J),$}toMMPattern(){if(this!==this.#J)return this.#J.toMMPattern();let Z=this.toString(),[J,$,X,Y]=this.toRegExpSource();if(!(X||this.#$||this.#K.nocase&&!this.#K.nocaseMagicOnly&&Z.toUpperCase()!==Z.toLowerCase()))return $;let W=(this.#K.nocase?"i":"")+(Y?"u":"");return Object.assign(new RegExp(`^${J}$`,W),{_src:J,_glob:Z})}get options(){return this.#K}toRegExpSource(Z){let J=Z??!!this.#K.dot;if(this.#J===this)this.#L();if(!this.type){let K=this.isStart()&&this.isEnd(),z=this.#X.map((F)=>{let[B,U,L,_]=typeof F==="string"?w4.#V(F,this.#$,K):F.toRegExpSource(Z);return this.#$=this.#$||L,this.#G=this.#G||_,B}).join(""),G="";if(this.isStart()){if(typeof this.#X[0]==="string"){if(!(this.#X.length===1&&_h0.has(this.#X[0]))){let B=Dh0,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?Lh0:L?xz:""}}}let H="";if(this.isEnd()&&this.#J.#H&&this.#Y?.type==="!")H="(?:$|\\/)";return[G+z+H,E7(z),this.#$=!!this.#$,this.#G]}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.#$=void 0,[K,E7(this.toString()),!1,!1]}let Q=!$||Z||J||!xz?"":this.#F(!0);if(Q===Y)Q="";if(Q)Y=`(?:${Y})(?:${Q})*?`;let W="";if(this.type==="!"&&this.#Z)W=(this.isStart()&&!J?xz:"")+Xi;else{let K=this.type==="!"?"))"+(this.isStart()&&!J&&!Z?xz:"")+$i+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&Q?")":this.type==="*"&&Q?")?":`)${this.type}`;W=X+Y+K}return[W,E7(Y),this.#$=!!this.#$,this.#G]}#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.#G=this.#G||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+=(Oh0.has(K)?"\\":"")+K;continue}if(K==="\\"){if(W===Z.length-1)Y+="\\\\";else X=!0;continue}if(K==="["){let[z,G,H,V]=Zi(Z,W);if(H){Y+=z,Q=Q||G,W+=H-1,J=J||V;continue}}if(K==="*"){if($&&Z==="*")Y+=Xi;else Y+=$i;J=!0;continue}if(K==="?"){Y+=a2,J=!0;continue}Y+=wh0(K)}return[Y,E7(Z),!!J,Q]}}var o2=(Z,{windowsPathsNoEscape:J=!1}={})=>{return J?Z.replace(/[?*()[\]]/g,"[$&]"):Z.replace(/[?*()[\]\\]/g,"\\$&")};var j4=(Z,J,$={})=>{if(C3(J),!$.nocomment&&J.charAt(0)==="#")return!1;return new P3(J,$).match(Z)},jh0=/^\*+([^+@!?\*\[\(]*)$/,Mh0=(Z)=>(J)=>!J.startsWith(".")&&J.endsWith(Z),Ah0=(Z)=>(J)=>J.endsWith(Z),Th0=(Z)=>{return Z=Z.toLowerCase(),(J)=>!J.startsWith(".")&&J.toLowerCase().endsWith(Z)},Nh0=(Z)=>{return Z=Z.toLowerCase(),(J)=>J.toLowerCase().endsWith(Z)},Rh0=/^\*+\.\*+$/,qh0=(Z)=>!Z.startsWith(".")&&Z.includes("."),Ch0=(Z)=>Z!=="."&&Z!==".."&&Z.includes("."),Eh0=/^\.\*+$/,Ph0=(Z)=>Z!=="."&&Z!==".."&&Z.startsWith("."),Ih0=/^\*+$/,Sh0=(Z)=>Z.length!==0&&!Z.startsWith("."),yh0=(Z)=>Z.length!==0&&Z!=="."&&Z!=="..",kh0=/^\?+([^+@!?\*\[\(]*)?$/,xh0=([Z,J=""])=>{let $=Ki([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},vh0=([Z,J=""])=>{let $=zi([Z]);if(!J)return $;return J=J.toLowerCase(),(X)=>$(X)&&X.toLowerCase().endsWith(J)},hh0=([Z,J=""])=>{let $=zi([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},fh0=([Z,J=""])=>{let $=Ki([Z]);return!J?$:(X)=>$(X)&&X.endsWith(J)},Ki=([Z])=>{let J=Z.length;return($)=>$.length===J&&!$.startsWith(".")},zi=([Z])=>{let J=Z.length;return($)=>$.length===J&&$!=="."&&$!==".."},Gi=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",Yi={win32:{sep:"\\"},posix:{sep:"/"}},bh0=Gi==="win32"?Yi.win32.sep:Yi.posix.sep;j4.sep=bh0;var s6=Symbol("globstar **");j4.GLOBSTAR=s6;var gh0="[^/]",mh0=gh0+"*?",uh0="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",dh0="(?:(?!(?:\\/|^)\\.).)*?",ch0=(Z,J={})=>($)=>j4($,Z,J);j4.filter=ch0;var r6=(Z,J={})=>Object.assign({},Z,J),lh0=(Z)=>{if(!Z||typeof Z!=="object"||!Object.keys(Z).length)return j4;let J=j4;return Object.assign((X,Y,Q={})=>J(X,Y,r6(Z,Q)),{Minimatch:class extends J.Minimatch{constructor(Y,Q={}){super(Y,r6(Z,Q))}static defaults(Y){return J.defaults(r6(Z,Y)).Minimatch}},AST:class extends J.AST{constructor(Y,Q,W={}){super(Y,Q,r6(Z,W))}static fromGlob(Y,Q={}){return J.AST.fromGlob(Y,r6(Z,Q))}},unescape:(X,Y={})=>J.unescape(X,r6(Z,Y)),escape:(X,Y={})=>J.escape(X,r6(Z,Y)),filter:(X,Y={})=>J.filter(X,r6(Z,Y)),defaults:(X)=>J.defaults(r6(Z,X)),makeRe:(X,Y={})=>J.makeRe(X,r6(Z,Y)),braceExpand:(X,Y={})=>J.braceExpand(X,r6(Z,Y)),match:(X,Y,Q={})=>J.match(X,Y,r6(Z,Q)),sep:J.sep,GLOBSTAR:s6})};j4.defaults=lh0;var Hi=(Z,J={})=>{if(C3(Z),J.nobrace||!/\{(?:(?!\{).)*\}/.test(Z))return[Z];return Wi.default(Z)};j4.braceExpand=Hi;var ph0=(Z,J={})=>new P3(Z,J).makeRe();j4.makeRe=ph0;var ih0=(Z,J,$={})=>{let X=new P3(J,$);if(Z=Z.filter((Y)=>X.match(Y)),X.options.nonull&&!Z.length)Z.push(J);return Z};j4.match=ih0;var Qi=/[?*]|[+@!]\(.*?\)|\[|\]/,nh0=(Z)=>Z.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class P3{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(Z,J={}){if(C3(Z),J=J||{},this.options=J,this.pattern=Z,this.platform=J.platform||Gi,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]==="?"||!Qi.test(Y[2]))&&!Qi.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]),_=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,j=O?3:_?0:void 0;if(typeof w==="number"&&typeof j==="number"){let[T,N]=[Z[w],J[j]];if(T.toLowerCase()===N.toLowerCase()){if(J[j]=T,j>w)J=J.slice(j);else if(w>j)Z=Z.slice(w)}}}let{optimizationLevel:Y=1}=this.options;if(Y>=2)Z=this.levelTwoFileOptimize(Z);this.debug("matchOne",this,{file:Z,pattern:J}),this.debug("matchOne",Z.length,J.length);for(var Q=0,W=0,K=Z.length,z=J.length;Q<K&&W<z;Q++,W++){this.debug("matchOne loop");var G=J[W],H=Z[Q];if(this.debug(J,G,H),G===!1)return!1;if(G===s6){this.debug("GLOBSTAR",[J,G,H]);var V=Q,F=W+1;if(F===z){this.debug("** at the end");for(;Q<K;Q++)if(Z[Q]==="."||Z[Q]===".."||!X.dot&&Z[Q].charAt(0)===".")return!1;return!0}while(V<K){var B=Z[V];if(this.debug(`
52
52
  globstar while`,Z,V,J,F,B),this.matchOne(Z.slice(V),J.slice(F),$))return this.debug("globstar found match!",V,K,B),!0;else{if(B==="."||B===".."||!X.dot&&B.charAt(0)==="."){this.debug("dot detected!",Z,V,J,F);break}this.debug("globstar swallow a segment, and continue"),V++}}if($){if(this.debug(`
53
- >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Hi(this.pattern,this.options)}parse(Z){C3(Z);let J=this.options;if(Z==="**")return s6;if(Z==="")return"";let $,X=null;if($=Z.match(Ih0))X=J.dot?yh0:Sh0;else if($=Z.match(jh0))X=(J.nocase?J.dot?Nh0:Th0:J.dot?Ah0:Mh0)($[1]);else if($=Z.match(kh0))X=(J.nocase?J.dot?vh0:xh0:J.dot?hh0:fh0)($);else if($=Z.match(Rh0))X=J.dot?Ch0:qh0;else if($=Z.match(Eh0))X=Ph0;let Y=w4.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?mh0:J.dot?uh0:dh0,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"?nh0(G):G===s6?s6:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==s6||F===s6)return;if(F===void 0)if(V!==void 0&&V!==s6)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==s6)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=s6}),z.filter((G)=>G!==s6).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 j4.defaults(Z).Minimatch}}j4.AST=w4;j4.Minimatch=P3;j4.escape=o2;j4.unescape=E7;var Fi="@fastify/otel",oh0="0.8.0",rh0=">=4.0.0 <6",Bi=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],H1={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},P7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},G9="anonymous",p4=Symbol("fastify otel instance"),I7=Symbol("fastify otel request spans"),I3=Symbol("fastify otel request context"),Ui=Symbol("fastify otel addhook original"),Li=Symbol("fastify otel setnotfound original"),vz=Symbol("fastify otel ignore path");class r2 extends Di.InstrumentationBase{constructor(Z){super(Fi,oh0,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[vz]=null,this._logger=d1.diag.createComponentLogger({namespace:Fi}),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 $=j4;this[vz]=(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)},Vi.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)Vi.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:rh0,name:"@fastify/otel"},J;function J($,X,Y){$.decorate(p4,Z),$.decorate(Ui,$.addHook),$.decorate(Li,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[I3];return{span:this[I7],tracer:Z.tracer,context:V,inject:(B,U)=>{return d1.propagation.inject(V,B,U)},extract:(B,U)=>{return d1.propagation.extract(V,B,U)}}}),$.decorateRequest(I7,null),$.decorateRequest(I3,null),$.addHook("onRoute",function(H){if(Z[vz]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of Bi)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[H1.FASTIFY_TYPE]:P7.ROUTE,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:G9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[H1.FASTIFY_TYPE]:P7.ROUTE,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:G9}));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,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route-handler`,[H1.FASTIFY_TYPE]:P7.HANDLER,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:G9})}),$.addHook("onRequest",function(H,V,F){if(this[p4].isEnabled()===!1)return F();else if(this[p4][vz]?.({url:H.url,method:H.method})===!0)return this[p4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=d1.context.active();if(d1.trace.getSpan(B)==null)B=d1.propagation.extract(B,H.headers);let U=hz.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===hz.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[p4].tracer.startSpan("request",{attributes:{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.ROOT]:"@fastify/otel",[o1.ATTR_HTTP_ROUTE]:H.url,[o1.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[I3]=d1.trace.setSpan(B,L),H[I7]=L,d1.context.with(H[I3],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[I7];if(B!=null)B.setStatus({code:d1.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[o1.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[I7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[I7];if(U!=null){if(V.statusCode<500)U.setStatus({code:d1.SpanStatusCode.OK,message:"OK"});U.setAttributes({[o1.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[I7]=null,B(null,F)}function W(H,V,F,B){let U=H[I7];if(U!=null)U.setStatus({code:d1.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[Ui];if(Bi.includes(H))return F.call(this,H,G(V,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - ${H}`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:G9}));else return F.call(this,H,V)}function z(H,V){let F=this[Li];if(typeof H==="function")V=G(H,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:G9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:G9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:G9});V=G(V,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:G9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[p4],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let _=L[I3]??d1.context.active(),O=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??G9}`,{attributes:V},_);return d1.context.with(d1.trace.setSpan(_,O),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((j)=>{return O.end(),j},(j)=>{return O.setStatus({code:d1.SpanStatusCode.ERROR,message:j.message}),O.recordException(j),O.end(),Promise.reject(j)});return O.end(),w}catch(w){throw O.setStatus({code:d1.SpanStatusCode.ERROR,message:w.message}),O.recordException(w),O.end(),w}},this)}}}}}var m8=v(g(),1),bz=v(O1(),1),tZ=v(V0(),1),Mi=v(e0(),1);var H9;(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})(H9||(H9={}));var S3;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(S3||(S3={}));var y3;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})(y3||(y3={}));var Oi=v(g(),1);var k3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function s2(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[k3]||[];return Q.push(Y),Object.defineProperty(Z,k3,{enumerable:!1,configurable:!0,value:Q}),Y}function fz(Z,J){let $=Z[k3]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:Oi.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[k3]}function wi(Z,J,$){let X,Y=void 0;try{if(Y=Z(),_i(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!_i(Y)){if(J(X,Y),X)throw X}return Y}}function _i(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var sh0="0.1.0",th0="@sentry/instrumentation-fastify-v3",ji="anonymous",eh0=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class t2 extends tZ.InstrumentationBase{constructor(Z={}){super(th0,sh0,Z)}init(){return[new tZ.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=bz.getRPCMetadata(m8.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===bz.RPCType.HTTP)W.route=K;let z=$.method||"GET";k0().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||ji,K=`${y3.MIDDLEWARE} - ${W}`,z=Q[1],G=s2(z,Y.tracer,K,{[H9.FASTIFY_TYPE]:S3.MIDDLEWARE,[H9.PLUGIN_NAME]:Z,[H9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){fz(z),H.apply(this,V)};return m8.context.with(m8.trace.setSpan(m8.context.active(),G),()=>{return wi(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:m8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)fz(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(!eh0.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()),Zf0(),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 tZ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;fz(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=`${y3.REQUEST_HANDLER} - ${K||this.pluginName||ji}`,G={[H9.PLUGIN_NAME]:this.pluginName,[H9.FASTIFY_TYPE]:S3.REQUEST_HANDLER,[Mi.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[H9.FASTIFY_NAME]=K;let H=s2(X,Z.tracer,z,G);Ai(H);let{requestHook:V}=Z.getConfig();if(V)tZ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return m8.context.with(m8.trace.setSpan(m8.context.active(),H),()=>{Y()})}}}function Zf0(){let Z=l();if(Z)Z.on("spanStart",(J)=>{Ai(J)})}function Ai(Z){let J=$0(Z).data,$=J["fastify.type"];if(J[G0]||!$)return;Z.setAttributes({[X0]:"auto.http.otel.fastify",[G0]:`${$}.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 gz="Fastify",Ni=s(`${gz}.v3`,()=>new t2);function Jf0(){let Z=l();if(!Z)return;else return Z.getIntegrationByName(gz)}function Ti(Z,J,$,X){let Y=Jf0()?.getShouldHandleError()||Ci;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){k1&&A.warn("Fastify error handler was already registered via diagnostics channel.","You can safely remove `setupFastifyErrorHandler` call and set `shouldHandleError` on the integration options.");return}if(Y(Z,J,$))F0(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var Ri=s(`${gz}.v5`,()=>{let Z=new r2,J=Z.plugin();return e2.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)k1&&A.error("Failed to setup Fastify instrumentation",Y);else if(Xf0(),X)Yf0(X)})}),e2.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;Ti.call(Ti,X,Y,Q,"diagnostics-channel")}),Z}),$f0=({shouldHandleError:Z})=>{let J;return{name:gz,setupOnce(){J=Z||Ci,Ni(),Ri()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},qi=k((Z={})=>$f0(Z));function Ci(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function Ei(Z){let J=$0(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[G0]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[X0]:"auto.http.otel.fastify",[G0]:`${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 Xf0(){let Z=l();if(Z)Z.on("spanStart",(J)=>{Ei(J)})}function Yf0(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)Ei(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";k0().setTransactionName(`${Y} ${X}`)})}var Vn=v(g(),1),Fn=v(Hn(),1);var Bn="Graphql",Un=s(Bn,Fn.GraphQLInstrumentation,(Z)=>{let J=Dn(Z);return{...J,responseHook($,X){if(Z1($,"auto.graphql.otel.graphql"),X.errors?.length&&!$0($).status)$.setStatus({code:Vn.SpanStatusCode.ERROR});let Q=$0($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=S1($),H=$0(z).data[h$]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(h$,H);else if(typeof H==="string")z.setAttribute(h$,[H,V]);else z.setAttribute(h$,V);if(!$0(z).data["original-description"])z.setAttribute("original-description",$0(z).description);z.updateName(`${$0(z).data["original-description"]} (${xf0(H)})`)}}}}),kf0=(Z={})=>{return{name:Bn,setupOnce(){Un(Dn(Z))}}},Ln=k(kf0);function Dn(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function xf0(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 gn=v(bn(),1);var mn="Kafka",un=s(mn,()=>new gn.KafkaJsInstrumentation({consumerHook(Z){Z1(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){Z1(Z,"auto.kafkajs.otel.producer")}})),Zb0=()=>{return{name:mn,setupOnce(){un()}}},dn=k(Zb0);var Ja=v(Za(),1);var $a="LruMemoizer",Xa=s($a,()=>new Ja.LruMemoizerInstrumentation),Yb0=()=>{return{name:$a,setupOnce(){Xa()}}},Ya=k(Yb0);var Ma=v(ja(),1);var Aa="Mongo",Ta=s(Aa,()=>new Ma.MongoDBInstrumentation({dbStatementSerializer:jb0,responseHook(Z){Z1(Z,"auto.db.otel.mongo")}}));function jb0(Z){let J=FD(Z);return JSON.stringify(J)}function FD(Z){if(Array.isArray(Z))return Z.map((J)=>FD(J));if(Mb0(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,FD(X)]).reduce(($,X)=>{if(Tb0(X))$[X[0]]=X[1];return $},J)}return"?"}function Mb0(Z){return typeof Z==="object"&&Z!==null&&!Ab0(Z)}function Ab0(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Tb0(Z){return Array.isArray(Z)}var Nb0=()=>{return{name:Aa,setupOnce(){Ta()}}},Na=k(Nb0);var la=v(ca(),1);var pa="Mongoose",ia=s(pa,()=>new la.MongooseInstrumentation({responseHook(Z){Z1(Z,"auto.db.otel.mongoose")}})),pb0=()=>{return{name:pa,setupOnce(){ia()}}},na=k(pb0);var Ho=v(Go(),1);var Vo="Mysql",Fo=s(Vo,()=>new Ho.MySQLInstrumentation({})),Dg0=()=>{return{name:Vo,setupOnce(){Fo()}}},Bo=k(Dg0);var yo=v(So(),1);var ko="Mysql2",xo=s(ko,()=>new yo.MySQL2Instrumentation({responseHook(Z){Z1(Z,"auto.db.otel.mysql2")}})),lg0=()=>{return{name:ko,setupOnce(){xo()}}},vo=k(lg0);var vr=v(Jr(),1),hr=v(Ir(),1);var qm0=["get","set","setex"],xD=["get","mget"],Cm0=["set","setex"];function c3(Z,J){return Z.includes(J.toLowerCase())}function vD(Z){if(c3(xD,Z))return"cache.get";else if(c3(Cm0,Z))return"cache.put";else return}function Em0(Z,J){return J.some(($)=>Z.startsWith($))}function yr(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 Sr(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(c3(qm0,Z)&&X!=null)return $(X);return Sr(J.map((Y)=>$(Y)))}catch{return}}function kr(Z,J,$){if(!vD(Z))return!1;for(let X of J)if(Em0(X,$))return!0;return!1}function xr(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 Sr(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var ZG="Redis",l3={},fr=(Z,J,$,X)=>{Z.setAttribute(X0,"auto.db.otel.redis");let Y=yr(J,$),Q=vD(J);if(!Y||!Q||!l3.cachePrefixes||!kr(J,Y,l3.cachePrefixes))return;let W=$0(Z).data["net.peer.name"],K=$0(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=xr(X);if(z)Z.setAttribute(RU,z);if(c3(xD,J)&&z!==void 0)Z.setAttribute(TU,z>0);Z.setAttributes({[G0]:Q,[NU]:Y});let G=Y.join(", ");Z.updateName(l3.maxCacheKeyLength?Z7(G,l3.maxCacheKeyLength):G)},Pm0=s(`${ZG}.IORedis`,()=>{return new vr.IORedisInstrumentation({responseHook:fr})}),Im0=s(`${ZG}.Redis`,()=>{return new hr.RedisInstrumentation({responseHook:fr})}),br=Object.assign(()=>{Pm0(),Im0()},{id:ZG}),Sm0=(Z={})=>{return{name:ZG,setupOnce(){l3=Z,br()}}},gr=k(Sm0);var Ls=v(Us(),1);var Ds="Postgres",_s=s(Ds,()=>new Ls.PgInstrumentation({requireParentSpan:!0,requestHook(Z){Z1(Z,"auto.db.otel.postgres")}})),Tu0=()=>{return{name:Ds,setupOnce(){_s()}}},Os=k(Tu0);var XX=v(g(),1),U9=v(V0(),1),c1=v(e0(),1);var KG="PostgresJs",ws=[">=3.0.0 <4"],Nu0=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,WG=Symbol("sentryPostgresConnectionContext"),dD=Symbol.for("sentry.instrumented.postgresjs"),js=Symbol.for("sentry.query.from.instrumented.sql"),Ms=s(KG,(Z)=>new As({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class As extends U9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",I0,Z)}init(){let Z=new U9.InstrumentationNodeModuleDefinition("postgres",ws,(J)=>{try{return this._patchPostgres(J)}catch($){return k1&&A.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new U9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,ws,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return k1&&A.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 k1&&A.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 J3(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=$[WG];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(c1.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(c1.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(c1.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(c1.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(Nu0);if(X?.[1])Z.setAttribute(c1.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[WG]=W}_instrumentSqlInstance(Z,J){if(Z[dD])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[WG]=J;else this._attachConnectionContext(Z,X);return Z[dD]=!0,X[dD]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[js]=!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 _4({name:K||"postgresjs.query",op:"db"},(z)=>{Z1(z,"auto.db.postgresjs"),z.setAttributes({[c1.ATTR_DB_SYSTEM_NAME]:"postgres",[c1.ATTR_DB_QUERY_TEXT]:K});let G=J?J[WG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)U9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),k1&&A.error(`Error in requestHook for ${KG} 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(_){k1&&A.error("Error ending span in resolve callback:",_)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:T0,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(c1.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(c1.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(_){k1&&A.error("Error ending span in reject callback:",_)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:T0,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return XX.trace.getSpan(XX.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[js])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return _4({name:Q||"postgresjs.query",op:"db"},(W)=>{Z1(W,"auto.db.postgresjs"),W.setAttributes({[c1.ATTR_DB_SYSTEM_NAME]:"postgres",[c1.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)U9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),k1&&A.error(`Error in requestHook for ${KG} 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){k1&&A.error("Error ending span in resolve callback:",U)}return Reflect.apply(V,F,B)}});let H=this.reject;this.reject=new Proxy(H,{apply:(V,F,B)=>{try{W.setStatus({code:T0,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(c1.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(c1.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){k1&&A.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:T0,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 Ru0=(Z)=>{return{name:KG,setupOnce(){Ms(Z)}}},Ts=k(Ru0);var X8=v(g(),1);var qs=v(g(),1),zG=v(V0(),1),v7=v(g(),1);var qu0=process.env.PRISMA_SHOW_ALL_TRACES==="true",Cu0="00-10-10-00";function Eu0(Z){switch(Z){case"client":return v7.SpanKind.CLIENT;case"internal":default:return v7.SpanKind.INTERNAL}}var Pu0=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=v7.trace.getSpanContext(Z??v7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return Cu0}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)Cs(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return v7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!qu0)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(Es(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Ns(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Ns(Q,J(Q,X)))}};function Cs(Z,J,$,X,Y){if(Es(J.name,Y))return;let Q={attributes:J.attributes,kind:Eu0(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)Cs(Z,z,$,X,Y);W.end(J.endTime)})}function Ns(Z,J){if(Iu0(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function Iu0(Z){return Z!=null&&typeof Z.then==="function"}function Es(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var Ps={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},lD=Ps.version,Su0=lD.split(".")[0],Rs="PRISMA_INSTRUMENTATION",cD=`V${Su0}_PRISMA_INSTRUMENTATION`,yu0=Ps.name,ku0="@prisma/client",Is=class extends zG.InstrumentationBase{tracerProvider;constructor(Z={}){super(yu0,lD,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new zG.InstrumentationNodeModuleDefinition(ku0,[lD])]}enable(){let Z=this._config,J={helper:new Pu0({tracerProvider:this.tracerProvider??qs.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[Rs]=J,global[cD]=J}disable(){delete global[Rs],delete global[cD]}isEnabled(){return Boolean(global[cD])}};var Ss="Prisma";function xu0(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function ys(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class ks extends Is{constructor(){super()}enable(){super.enable();let Z=ys();if(xu0(Z))Z.createEngineSpan=(J)=>{let $=X8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){m1(()=>{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=vu0(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:X8.TraceFlags.SAMPLED}}}),H=X8.trace.setSpanContext(X8.context.active(),{traceId:z,spanId:W,traceFlags:X8.TraceFlags.SAMPLED});X8.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 vu0(Z){switch(Z){case"client":return X8.SpanKind.CLIENT;case"internal":default:return X8.SpanKind.INTERNAL}}var hu0=s(Ss,(Z)=>{return new ks}),xs=k((Z)=>{return{name:Ss,setupOnce(){hu0()},setup(J){if(!ys())return;J.on("spanStart",($)=>{let X=$0($);if(X.description?.startsWith("prisma:"))$.setAttribute(X0,"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 $t=v(Jt(),1);var Xt="Hapi",Yt=s(Xt,()=>new $t.HapiInstrumentation),Wd0=()=>{return{name:Xt,setupOnce(){Yt()}}},Qt=k(Wd0);var VG=v(e0(),1);var f7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},o3={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var JJ=v(g(),1),HG=v(V0(),1);var Kd0="@sentry/instrumentation-hono",zd0="0.0.1";class oD extends HG.InstrumentationBase{constructor(Z={}){super(Kd0,zd0,Z)}init(){return[new HG.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 JJ.context.with(JJ.trace.setSpan(JJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(u4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[f7.HONO_TYPE]:z,[f7.HONO_NAME]:z===o3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[f7.HONO_TYPE]:K,[f7.HONO_NAME]:K===o3.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(u4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?o3.MIDDLEWARE:o3.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:JJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Wt="Hono";function Gd0(Z){let J=$0(Z).data,$=J[f7.HONO_TYPE];if(J[G0]||!$)return;Z.setAttributes({[X0]:"auto.http.otel.hono",[G0]:`${$}.hono`});let X=J[f7.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(k0()===M6()){k1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[VG.ATTR_HTTP_ROUTE],Q=J[VG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")k0().setTransactionName(`${Q} ${Y}`)}var Kt=s(Wt,()=>new oD({responseHook:(Z)=>{Gd0(Z)}})),Hd0=()=>{return{name:Wt,setupOnce(){Kt()}}},zt=k(Hd0);var St=v(It(),1),yt=v(e0(),1);var kt="Koa",xt=s(kt,St.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){Z1(J,"auto.http.otel.koa");let X=$0(J).data,Y=X["koa.type"];if(Y)J.setAttribute(G0,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(k0()===M6()){k1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[yt.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)k0().setTransactionName(`${K} ${W}`)}}}),Ad0=(Z={})=>{return{name:kt,setupOnce(){xt(Z)}}},vt=k(Ad0);var $e=v(Je(),1);var Xe="Connect",Ye=s(Xe,()=>new $e.ConnectInstrumentation),hd0=()=>{return{name:Xe,setupOnce(){Ye()}}},Qe=k(hd0);var Te=v(Ae(),1);var sd0=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),Ne="Tedious",Re=s(Ne,()=>new Te.TediousInstrumentation({})),td0=()=>{let Z;return{name:Ne,setupOnce(){let J=Re();Z=j3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=$0($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(sd0.has(Q))$.setAttribute(X0,"auto.db.otel.tedious")}))}}},qe=k(td0);var he=v(ve(),1);var fe="GenericPool",be=s(fe,()=>new he.GenericPoolInstrumentation({})),$c0=()=>{let Z;return{name:fe,setupOnce(){let J=be();Z=j3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=$0($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(X0,"auto.db.otel.generic_pool")}))}}},ge=k($c0);var G00=v(z00(),1);var H00="Amqplib",hc0={consumeEndHook:(Z)=>{Z1(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{Z1(Z,"auto.amqplib.otel.publisher")}},V00=s(H00,()=>new G00.AmqplibInstrumentation(hc0)),fc0=()=>{return{name:H00,setupOnce(){V00()}}},F00=k(fc0);var ZQ="VercelAI";var jG=v(V0(),1);var bc0=[">=3.0.0 <7"],B00=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function gc0(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 mc0(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(gc0($)){let X=OL($.toolCallId);if(X){let Y=X.spanContext();Q6((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"),F0($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),wL($.toolCallId)}else Q6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),F0($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function uc0(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 JQ extends jG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",I0,Z);JQ.prototype.__init.call(this),JQ.prototype.__init2.call(this)}init(){return new jG.InstrumentationNodeModuleDefinition("ai",bc0,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=l(),G=z?.getIntegrationByName(ZQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=uc0(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},A6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")p1(U,"_sentry_active_span",z5())},()=>{},(U)=>{mc0(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of B00)Z[$]=J(Z[$]);return Z}else{let $=B00.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var U00=s(ZQ,()=>new JQ({}));function dc0(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var cc0=(Z={})=>{let J;return{name:ZQ,options:Z,setupOnce(){J=U00()},afterAllSetup($){if(Z.force??dc0($))dK($);else J?.callWhenPatched(()=>dK($))}}},L00=k(cc0);var MG=v(V0(),1);var lc0=[">=4.0.0 <7"];class U_ extends MG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",I0,Z)}init(){return new MG.InstrumentationNodeModuleDefinition("openai",lc0,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(gZ(M7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=l(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return pK(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 D00=s(M7,(Z)=>new U_(Z)),pc0=(Z={})=>{return{name:M7,setupOnce(){D00(Z)}}},_00=k(pc0);var AG=v(V0(),1);var ic0=[">=0.19.2 <1.0.0"];class L_ extends AG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",I0,Z)}init(){return new AG.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",ic0,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(gZ(A7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=l(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return AL(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 O00=s(A7,(Z)=>new L_(Z)),nc0=(Z={})=>{return{name:A7,options:Z,setupOnce(){O00(Z)}}},w00=k(nc0);var zX=v(V0(),1);var j00=[">=0.10.0 <2"];class D_ extends zX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",I0,Z)}init(){return new zX.InstrumentationNodeModuleDefinition("@google/genai",j00,(J)=>this._patch(J),(J)=>J,[new zX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",j00,(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(gZ(T7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=l(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return qL(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 J3(Z,"GoogleGenAI",X),Z}}var M00=s(T7,(Z)=>new D_(Z)),ac0=(Z={})=>{return{name:T7,setupOnce(){M00(Z)}}},A00=k(ac0);var m7=v(V0(),1);var TG=[">=0.1.0 <2.0.0"];function oc0(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 rc0(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=oc0(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class __ extends m7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",I0,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 m7.InstrumentationNodeModuleDefinition($,TG,this._patch.bind(this),(X)=>X,[new m7.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,TG,this._patch.bind(this),(X)=>X)]));return Z.push(new m7.InstrumentationNodeModuleDefinition("langchain",TG,this._patch.bind(this),($)=>$,[new m7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",TG,this._patch.bind(this),($)=>$)])),Z}_patch(Z){tU([M7,A7,T7]);let J=l(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=nK({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]=rc0(z,J)}}}var T00=s(iK,(Z)=>new __(Z)),sc0=(Z={})=>{return{name:iK,setupOnce(){T00(Z)}}},N00=k(sc0);var GX=v(V0(),1);var R00=[">=0.0.0 <2.0.0"];class O_ extends GX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",I0,Z)}init(){return new GX.InstrumentationNodeModuleDefinition("@langchain/langgraph",R00,this._patch.bind(this),(J)=>J,[new GX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",R00,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=l(),$=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=PL(K.prototype.compile,W)}return Z}}var q00=s(aK,(Z)=>new O_(Z)),tc0=(Z={})=>{return{name:aK,setupOnce(){q00(Z)}}},C00=k(tc0);var v00=v(V0(),1);var D9=v(g(),1),_9=v(V0(),1),Y8=v(e0(),1);import*as P00 from"net";function I00(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{_9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;D9.diag.error(V?.message)},!0)};let z=new _9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>E00(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 _9.InstrumentationNodeModuleFile(H,J,(V)=>E00(V,$,X,Z,W),(V)=>S00(V,X)));return z}function E00(Z,J,$,X,Y){return S00(Z,$),J(Z,"addDoc",ec0(X,Y)),J(Z,"getDocs",Jl0(X,Y)),J(Z,"setDoc",$l0(X,Y)),J(Z,"deleteDoc",Zl0(X,Y)),Z}function S00(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(_9.isWrapped(Z[$]))J(Z,$);return Z}function ec0(Z,J){return function(X){return function(Y,Q){let W=RG(Z,"addDoc",Y);return J(W),NG(W,()=>{return X(Y,Q)})}}}function Zl0(Z,J){return function(X){return function(Y){let Q=RG(Z,"deleteDoc",Y.parent||Y);return J(Q),NG(Q,()=>{return X(Y)})}}}function Jl0(Z,J){return function(X){return function(Y){let Q=RG(Z,"getDocs",Y);return J(Q),NG(Q,()=>{return X(Y)})}}}function $l0(Z,J){return function(X){return function(Y,Q,W){let K=RG(Z,"setDoc",Y.parent||Y);return J(K),NG(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function NG(Z,J){return D9.context.with(D9.trace.setSpan(D9.context.active(),Z),()=>{return _9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function RG(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:D9.SpanKind.CLIENT});return Yl0(X,$),X.setAttribute(Y8.ATTR_DB_OPERATION_NAME,J),X}function Xl0(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(P00.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 Yl0(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[Y8.ATTR_DB_COLLECTION_NAME]:J.path,[Y8.ATTR_DB_NAMESPACE]:$.name,[Y8.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}=Xl0(Q);if(K)W[Y8.ATTR_SERVER_ADDRESS]=K;if(z)W[Y8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var w5=v(g(),1),O9=v(V0(),1);function y00(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)=>{O9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;w5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{O9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;w5.diag.error(B?.message)},!0)};let H=new O9.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 O9.InstrumentationNodeModuleFile(F,J,(U)=>Ql0(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>k00(U,X)))}),H}function a4(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:w5.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),w5.context.with(w5.trace.setSpan(w5.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 Ql0(Z,J,$,X,Y,Q){switch(k00(Z,$),Q){case"function":J(Z,"onRequest",a4(X,Y,"http.request")),J(Z,"onCall",a4(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",a4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",a4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",a4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",a4(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",a4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",a4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",a4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",a4(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",a4(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",a4(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",a4(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",a4(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",a4(X,Y,"storage.object.metadataUpdated"));break}return Z}function k00(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(O9.isWrapped(Z[X]))J(Z,X);return Z}var x00={},Wl0=[">=3.0.0 <5"],Kl0=[">=6.0.0 <7"];class w_ extends v00.InstrumentationBase{constructor(Z=x00){super("@sentry/instrumentation-firebase",I0,Z)}setConfig(Z={}){super.setConfig({...x00,...Z})}init(){let Z=[];return Z.push(I00(this.tracer,Wl0,this._wrap,this._unwrap,this.getConfig())),Z.push(y00(this.tracer,Kl0,this._wrap,this._unwrap,this.getConfig())),Z}}var h00="Firebase",zl0={firestoreSpanCreationHook:(Z)=>{Z1(Z,"auto.firebase.otel.firestore"),Z.setAttribute(G0,"db.query")},functions:{requestHook:(Z)=>{Z1(Z,"auto.firebase.otel.functions"),Z.setAttribute(G0,"http.request")},errorHook:async(Z,J)=>{if(J)F0(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await qK(2000)}}},f00=s(h00,()=>new w_(zl0)),Gl0=()=>{return{name:h00,setupOnce(){f00()}}},b00=k(Gl0);function $Q(){return[gp(),qi(),Ln(),zt(),Na(),na(),Bo(),vo(),gr(),Os(),xs(),Qt(),vt(),Qe(),qe(),ge(),dn(),F00(),Ya(),N00(),C00(),L00(),_00(),w00(),A00(),Ts(),b00()]}var HX=v(g(),1);var VX=v(e0(),1);var j_=1e6;function g00(Z,J={}){if(Z.getOptions().debug)C2();let[$,X]=Hl0(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function Hl0(Z,J={}){let $=new Lz({sampler:new F2(Z),resource:W3().merge(Gz({[VX.ATTR_SERVICE_NAME]:"node",[VX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[VX.ATTR_SERVICE_VERSION]:I0})),forceFlushTimeoutMillis:500,spanProcessors:[new V2({timeout:Vl0(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});HX.trace.setGlobalTracerProvider($),HX.propagation.setGlobalPropagator(new H2);let X=new Az;return HX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function Vl0(Z){if(Z==null)return;if(Z>j_)return k1&&A.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${j_}`),j_;else if(Z<=0||Number.isNaN(Z)){k1&&A.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function m00(){return Cz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(A3(),N3())}function u00(Z){return[...m00(),...A1(Z)?$Q():[]]}function M_(Z={}){return Fl0(Z,u00)}function Fl0(Z={},J){$9(Z,"node");let $=f2({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)g00($,{spanProcessors:Z.openTelemetrySpanProcessors}),Ez();return $}import*as i00 from"os";var Bl0="BunServer",Ul0=()=>{return{name:Bl0,setupOnce(){Ll0()}}},l00=k(Ul0),d00=!1;function Ll0(){if(d00)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){c00($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return c00(Q),Y(Q)},X}}),d00=!0}function c00(Z){Dl0(Z),_l0(Z)}function Dl0(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return A_(J,$,X)}})}function _l0(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 A_(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 A_(Q,W,K,J)}})})})}function A_(Z,J,$,X){return EZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=cY(Q.url),z=Ol0(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[M1]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[M1]="route",z["url.template"]=X,G=X;return Object.assign(z,L$(Q.headers.toJSON(),l()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),TK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>R6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)KK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw F0(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Ol0(Z,J){let $={[X0]:"auto.http.bun.serve",[qU]:J.method||"GET",[M1]:"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(!ZL(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 p00(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return G7(()=>{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 bZ(Z,J)}function n00(Z){return[_$(),D$(),O$(),w$(),j$(),A3(),N3(),l$(),p$(),d$(),u$(),c$(),l00(),...A1(Z)?$Q():[]]}function T_(Z={}){$9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||i00.hostname()};if(J.transport=J.transport||p00,J.defaultIntegrations===void 0)J.defaultIntegrations=n00(J);return M_(J)}T_({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as a00}from"fs";import{join as o00}from"path";function S4(){return"3.0.0-beta.2"}function N_(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 w9(Z){let J=N_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function XQ(Z,J){try{let $=N_(Z),X=N_(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 jl0}from"util";var Ml0={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 r00(){let Z=jl0({options:Ml0,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${S4()}`),process.exit(0);if(Z.values.help)Al0(),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 Al0(){console.log(`
53
+ >>> no match, partial?`,Z,V,J,F),V===K)return!0}return!1}let U;if(typeof G==="string")U=H===G,this.debug("string match",G,H,U);else U=G.test(H),this.debug("pattern match",G,H,U);if(!U)return!1}if(Q===K&&W===z)return!0;else if(Q===K)return $;else if(W===z)return Q===K-1&&Z[Q]==="";else throw Error("wtf?")}braceExpand(){return Hi(this.pattern,this.options)}parse(Z){C3(Z);let J=this.options;if(Z==="**")return s6;if(Z==="")return"";let $,X=null;if($=Z.match(Ih0))X=J.dot?yh0:Sh0;else if($=Z.match(jh0))X=(J.nocase?J.dot?Nh0:Th0:J.dot?Ah0:Mh0)($[1]);else if($=Z.match(kh0))X=(J.nocase?J.dot?vh0:xh0:J.dot?hh0:fh0)($);else if($=Z.match(Rh0))X=J.dot?Ch0:qh0;else if($=Z.match(Eh0))X=Ph0;let Y=w4.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?mh0:J.dot?uh0:dh0,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"?nh0(G):G===s6?s6:G._src});return z.forEach((G,H)=>{let V=z[H+1],F=z[H-1];if(G!==s6||F===s6)return;if(F===void 0)if(V!==void 0&&V!==s6)z[H+1]="(?:\\/|"+$+"\\/)?"+V;else z[H]=$;else if(V===void 0)z[H-1]=F+"(?:\\/|"+$+")?";else if(V!==s6)z[H-1]=F+"(?:\\/|\\/"+$+"\\/)"+V,z[H+1]=s6}),z.filter((G)=>G!==s6).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 j4.defaults(Z).Minimatch}}j4.AST=w4;j4.Minimatch=P3;j4.escape=o2;j4.unescape=E7;var Fi="@fastify/otel",oh0="0.8.0",rh0=">=4.0.0 <6",Bi=["onRequest","preParsing","preValidation","preHandler","preSerialization","onSend","onResponse","onError"],H1={HOOK_NAME:"hook.name",FASTIFY_TYPE:"fastify.type",HOOK_CALLBACK_NAME:"hook.callback.name",ROOT:"fastify.root"},P7={ROUTE:"route-hook",INSTANCE:"hook",HANDLER:"request-handler"},G9="anonymous",p4=Symbol("fastify otel instance"),I7=Symbol("fastify otel request spans"),I3=Symbol("fastify otel request context"),Ui=Symbol("fastify otel addhook original"),Li=Symbol("fastify otel setnotfound original"),vz=Symbol("fastify otel ignore path");class r2 extends Di.InstrumentationBase{constructor(Z){super(Fi,oh0,Z);if(this.servername=Z?.servername??process.env.OTEL_SERVICE_NAME??"fastify",this[vz]=null,this._logger=d1.diag.createComponentLogger({namespace:Fi}),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 $=j4;this[vz]=(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)},Vi.subscribe("fastify.initialization",this._handleInitialization)}return super.enable()}disable(){if(this._handleInitialization)Vi.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:rh0,name:"@fastify/otel"},J;function J($,X,Y){$.decorate(p4,Z),$.decorate(Ui,$.addHook),$.decorate(Li,$.setNotFoundHandler),$.decorateRequest("opentelemetry",function(){let V=this[I3];return{span:this[I7],tracer:Z.tracer,context:V,inject:(B,U)=>{return d1.propagation.inject(V,B,U)},extract:(B,U)=>{return d1.propagation.extract(V,B,U)}}}),$.decorateRequest(I7,null),$.decorateRequest(I3,null),$.addHook("onRoute",function(H){if(Z[vz]?.(H)===!0){Z._logger.debug(`Ignoring route instrumentation ${H.method} ${H.url} because it matches the ignore path`);return}for(let V of Bi)if(H[V]!=null){let F=H[V];if(typeof F==="function")H[V]=G(F,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[H1.FASTIFY_TYPE]:P7.ROUTE,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:F.name?.length>0?F.name:G9});else if(Array.isArray(F)){let B=[];for(let U of F)B.push(G(U,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route -> ${V}`,[H1.FASTIFY_TYPE]:P7.ROUTE,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:U.name?.length>0?U.name:G9}));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,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - route-handler`,[H1.FASTIFY_TYPE]:P7.HANDLER,[o1.ATTR_HTTP_ROUTE]:H.url,[H1.HOOK_CALLBACK_NAME]:H.handler.name.length>0?H.handler.name:G9})}),$.addHook("onRequest",function(H,V,F){if(this[p4].isEnabled()===!1)return F();else if(this[p4][vz]?.({url:H.url,method:H.method})===!0)return this[p4]._logger.debug(`Ignoring request ${H.method} ${H.url} because it matches the ignore path`),F();let B=d1.context.active();if(d1.trace.getSpan(B)==null)B=d1.propagation.extract(B,H.headers);let U=hz.getRPCMetadata(B);if(H.routeOptions.url!=null&&U?.type===hz.RPCType.HTTP)U.route=H.routeOptions.url;let L=this[p4].tracer.startSpan("request",{attributes:{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.ROOT]:"@fastify/otel",[o1.ATTR_HTTP_ROUTE]:H.url,[o1.ATTR_HTTP_REQUEST_METHOD]:H.method}},B);H[I3]=d1.trace.setSpan(B,L),H[I7]=L,d1.context.with(H[I3],()=>{F()})}),$.addHook("onResponse",function(H,V,F){let B=H[I7];if(B!=null)B.setStatus({code:d1.SpanStatusCode.OK,message:"OK"}),B.setAttributes({[o1.ATTR_HTTP_RESPONSE_STATUS_CODE]:404}),B.end();H[I7]=null,F()}),$.addHook=K,$.setNotFoundHandler=z,Y();function Q(H,V,F,B){let U=H[I7];if(U!=null){if(V.statusCode<500)U.setStatus({code:d1.SpanStatusCode.OK,message:"OK"});U.setAttributes({[o1.ATTR_HTTP_RESPONSE_STATUS_CODE]:V.statusCode}),U.end()}H[I7]=null,B(null,F)}function W(H,V,F,B){let U=H[I7];if(U!=null)U.setStatus({code:d1.SpanStatusCode.ERROR,message:F.message}),U.recordException(F);B()}function K(H,V){let F=this[Ui];if(Bi.includes(H))return F.call(this,H,G(V,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - ${H}`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:G9}));else return F.call(this,H,V)}function z(H,V){let F=this[Li];if(typeof H==="function")V=G(H,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.name?.length>0?H.name:G9}),F.call(this,V);else{if(H.preValidation!=null)H.preValidation=G(H.preValidation,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preValidation`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.preValidation.name?.length>0?H.preValidation.name:G9});if(H.preHandler!=null)H.preHandler=G(H.preHandler,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler - preHandler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:H.preHandler.name?.length>0?H.preHandler.name:G9});V=G(V,{[o1.ATTR_SERVICE_NAME]:$[p4].servername,[H1.HOOK_NAME]:`${this.pluginName} - not-found-handler`,[H1.FASTIFY_TYPE]:P7.INSTANCE,[H1.HOOK_CALLBACK_NAME]:V.name?.length>0?V.name:G9}),F.call(this,H,V)}}function G(H,V={}){return function(...B){let U=this[p4],[L]=B;if(U.isEnabled()===!1)return H.call(this,...B);let _=L[I3]??d1.context.active(),O=U.tracer.startSpan(`handler - ${H.name?.length>0?H.name:this.pluginName??G9}`,{attributes:V},_);return d1.context.with(d1.trace.setSpan(_,O),function(){try{let w=H.call(this,...B);if(typeof w?.then==="function")return w.then((j)=>{return O.end(),j},(j)=>{return O.setStatus({code:d1.SpanStatusCode.ERROR,message:j.message}),O.recordException(j),O.end(),Promise.reject(j)});return O.end(),w}catch(w){throw O.setStatus({code:d1.SpanStatusCode.ERROR,message:w.message}),O.recordException(w),O.end(),w}},this)}}}}}var m8=v(g(),1),bz=v(O1(),1),tZ=v(V0(),1),Mi=v(e0(),1);var H9;(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})(H9||(H9={}));var S3;(function(Z){Z.MIDDLEWARE="middleware";let $="request_handler";Z.REQUEST_HANDLER=$})(S3||(S3={}));var y3;(function(Z){Z.MIDDLEWARE="middleware";let $="request handler";Z.REQUEST_HANDLER=$})(y3||(y3={}));var Oi=v(g(),1);var k3=Symbol("opentelemetry.instrumentation.fastify.request_active_span");function s2(Z,J,$,X={}){let Y=J.startSpan($,{attributes:X}),Q=Z[k3]||[];return Q.push(Y),Object.defineProperty(Z,k3,{enumerable:!1,configurable:!0,value:Q}),Y}function fz(Z,J){let $=Z[k3]||[];if(!$.length)return;$.forEach((X)=>{if(J)X.setStatus({code:Oi.SpanStatusCode.ERROR,message:J.message}),X.recordException(J);X.end()}),delete Z[k3]}function wi(Z,J,$){let X,Y=void 0;try{if(Y=Z(),_i(Y))Y.then((Q)=>J(void 0,Q),(Q)=>J(Q))}catch(Q){X=Q}finally{if(!_i(Y)){if(J(X,Y),X)throw X}return Y}}function _i(Z){return typeof Z==="object"&&Z&&typeof Object.getOwnPropertyDescriptor(Z,"then")?.value==="function"||!1}var sh0="0.1.0",th0="@sentry/instrumentation-fastify-v3",ji="anonymous",eh0=new Set(["onTimeout","onRequest","preParsing","preValidation","preSerialization","preHandler","onSend","onResponse","onError"]);class t2 extends tZ.InstrumentationBase{constructor(Z={}){super(th0,sh0,Z)}init(){return[new tZ.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=bz.getRPCMetadata(m8.context.active()),K=Q.routeOptions?Q.routeOptions.url:$.routerPath;if(K&&W?.type===bz.RPCType.HTTP)W.route=K;let z=$.method||"GET";k0().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||ji,K=`${y3.MIDDLEWARE} - ${W}`,z=Q[1],G=s2(z,Y.tracer,K,{[H9.FASTIFY_TYPE]:S3.MIDDLEWARE,[H9.PLUGIN_NAME]:Z,[H9.HOOK_NAME]:J}),H=X&&Q[Q.length-1];if(H)Q[Q.length-1]=function(...V){fz(z),H.apply(this,V)};return m8.context.with(m8.trace.setSpan(m8.context.active(),G),()=>{return wi(()=>{return $.apply(this,Q)},(V)=>{if(V instanceof Error)G.setStatus({code:m8.SpanStatusCode.ERROR,message:V.message}),G.recordException(V);if(!X)fz(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(!eh0.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()),Zf0(),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 tZ.safeExecuteInTheMiddle(()=>{return $.apply(this,Y)},(W)=>{if(!W&&Q instanceof Error)W=Q;fz(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=`${y3.REQUEST_HANDLER} - ${K||this.pluginName||ji}`,G={[H9.PLUGIN_NAME]:this.pluginName,[H9.FASTIFY_TYPE]:S3.REQUEST_HANDLER,[Mi.SEMATTRS_HTTP_ROUTE]:Q.routeOptions?Q.routeOptions.url:$.routerPath};if(K)G[H9.FASTIFY_NAME]=K;let H=s2(X,Z.tracer,z,G);Ai(H);let{requestHook:V}=Z.getConfig();if(V)tZ.safeExecuteInTheMiddle(()=>V(H,{request:$}),(F)=>{if(F)Z._diag.error("request hook failed",F)},!0);return m8.context.with(m8.trace.setSpan(m8.context.active(),H),()=>{Y()})}}}function Zf0(){let Z=l();if(Z)Z.on("spanStart",(J)=>{Ai(J)})}function Ai(Z){let J=$0(Z).data,$=J["fastify.type"];if(J[G0]||!$)return;Z.setAttributes({[X0]:"auto.http.otel.fastify",[G0]:`${$}.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 gz="Fastify",Ni=s(`${gz}.v3`,()=>new t2);function Jf0(){let Z=l();if(!Z)return;else return Z.getIntegrationByName(gz)}function Ti(Z,J,$,X){let Y=Jf0()?.getShouldHandleError()||Ci;if(X==="diagnostics-channel")this.diagnosticsChannelExists=!0;if(this.diagnosticsChannelExists&&X==="onError-hook"){k1&&A.warn("Fastify error handler was already registered via diagnostics channel.","You can safely remove `setupFastifyErrorHandler` call and set `shouldHandleError` on the integration options.");return}if(Y(Z,J,$))F0(Z,{mechanism:{handled:!1,type:"auto.function.fastify"}})}var Ri=s(`${gz}.v5`,()=>{let Z=new r2,J=Z.plugin();return e2.subscribe("fastify.initialization",($)=>{let X=$.fastify;X?.register(J).after((Y)=>{if(Y)k1&&A.error("Failed to setup Fastify instrumentation",Y);else if(Xf0(),X)Yf0(X)})}),e2.subscribe("tracing:fastify.request.handler:error",($)=>{let{error:X,request:Y,reply:Q}=$;Ti.call(Ti,X,Y,Q,"diagnostics-channel")}),Z}),$f0=({shouldHandleError:Z})=>{let J;return{name:gz,setupOnce(){J=Z||Ci,Ni(),Ri()},getShouldHandleError(){return J},setShouldHandleError($){J=$}}},qi=k((Z={})=>$f0(Z));function Ci(Z,J,$){let X=$.statusCode;return X>=500||X<=299}function Ei(Z){let J=$0(Z),$=J.description,X=J.data,Y=X["fastify.type"],Q=Y==="hook",W=Y===$?.startsWith("handler -"),K=$==="request"||Y==="request-handler";if(X[G0]||!W&&!K&&!Q)return;let z=Q?"hook":W?"middleware":K?"request-handler":"<unknown>";Z.setAttributes({[X0]:"auto.http.otel.fastify",[G0]:`${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 Xf0(){let Z=l();if(Z)Z.on("spanStart",(J)=>{Ei(J)})}function Yf0(Z){Z.addHook("onRequest",async(J,$)=>{if(J.opentelemetry){let{span:Q}=J.opentelemetry();if(Q)Ei(Q)}let X=J.routeOptions?.url,Y=J.method||"GET";k0().setTransactionName(`${Y} ${X}`)})}var Vn=v(g(),1),Fn=v(Hn(),1);var Bn="Graphql",Un=s(Bn,Fn.GraphQLInstrumentation,(Z)=>{let J=Dn(Z);return{...J,responseHook($,X){if(Z1($,"auto.graphql.otel.graphql"),X.errors?.length&&!$0($).status)$.setStatus({code:Vn.SpanStatusCode.ERROR});let Q=$0($).data,W=Q["graphql.operation.type"],K=Q["graphql.operation.name"];if(J.useOperationNameForRootSpan&&W){let z=S1($),H=$0(z).data[h$]||[],V=K?`${W} ${K}`:`${W}`;if(Array.isArray(H))H.push(V),z.setAttribute(h$,H);else if(typeof H==="string")z.setAttribute(h$,[H,V]);else z.setAttribute(h$,V);if(!$0(z).data["original-description"])z.setAttribute("original-description",$0(z).description);z.updateName(`${$0(z).data["original-description"]} (${xf0(H)})`)}}}}),kf0=(Z={})=>{return{name:Bn,setupOnce(){Un(Dn(Z))}}},Ln=k(kf0);function Dn(Z){return{ignoreResolveSpans:!0,ignoreTrivialResolveSpans:!0,useOperationNameForRootSpan:!0,...Z}}function xf0(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 gn=v(bn(),1);var mn="Kafka",un=s(mn,()=>new gn.KafkaJsInstrumentation({consumerHook(Z){Z1(Z,"auto.kafkajs.otel.consumer")},producerHook(Z){Z1(Z,"auto.kafkajs.otel.producer")}})),Zb0=()=>{return{name:mn,setupOnce(){un()}}},dn=k(Zb0);var Ja=v(Za(),1);var $a="LruMemoizer",Xa=s($a,()=>new Ja.LruMemoizerInstrumentation),Yb0=()=>{return{name:$a,setupOnce(){Xa()}}},Ya=k(Yb0);var Ma=v(ja(),1);var Aa="Mongo",Ta=s(Aa,()=>new Ma.MongoDBInstrumentation({dbStatementSerializer:jb0,responseHook(Z){Z1(Z,"auto.db.otel.mongo")}}));function jb0(Z){let J=FD(Z);return JSON.stringify(J)}function FD(Z){if(Array.isArray(Z))return Z.map((J)=>FD(J));if(Mb0(Z)){let J={};return Object.entries(Z).map(([$,X])=>[$,FD(X)]).reduce(($,X)=>{if(Tb0(X))$[X[0]]=X[1];return $},J)}return"?"}function Mb0(Z){return typeof Z==="object"&&Z!==null&&!Ab0(Z)}function Ab0(Z){let J=!1;if(typeof Buffer<"u")J=Buffer.isBuffer(Z);return J}function Tb0(Z){return Array.isArray(Z)}var Nb0=()=>{return{name:Aa,setupOnce(){Ta()}}},Na=k(Nb0);var la=v(ca(),1);var pa="Mongoose",ia=s(pa,()=>new la.MongooseInstrumentation({responseHook(Z){Z1(Z,"auto.db.otel.mongoose")}})),pb0=()=>{return{name:pa,setupOnce(){ia()}}},na=k(pb0);var Ho=v(Go(),1);var Vo="Mysql",Fo=s(Vo,()=>new Ho.MySQLInstrumentation({})),Dg0=()=>{return{name:Vo,setupOnce(){Fo()}}},Bo=k(Dg0);var yo=v(So(),1);var ko="Mysql2",xo=s(ko,()=>new yo.MySQL2Instrumentation({responseHook(Z){Z1(Z,"auto.db.otel.mysql2")}})),lg0=()=>{return{name:ko,setupOnce(){xo()}}},vo=k(lg0);var vr=v(Jr(),1),hr=v(Ir(),1);var qm0=["get","set","setex"],xD=["get","mget"],Cm0=["set","setex"];function c3(Z,J){return Z.includes(J.toLowerCase())}function vD(Z){if(c3(xD,Z))return"cache.get";else if(c3(Cm0,Z))return"cache.put";else return}function Em0(Z,J){return J.some(($)=>Z.startsWith($))}function yr(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 Sr(Y.map((Q)=>$(Q)));else return["<unknown>"]},X=J[0];if(c3(qm0,Z)&&X!=null)return $(X);return Sr(J.map((Y)=>$(Y)))}catch{return}}function kr(Z,J,$){if(!vD(Z))return!1;for(let X of J)if(Em0(X,$))return!0;return!1}function xr(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 Sr(Z){let J=[],$=(X)=>{X.forEach((Y)=>{if(Array.isArray(Y))$(Y);else J.push(Y)})};return $(Z),J}var ZG="Redis",l3={},fr=(Z,J,$,X)=>{Z.setAttribute(X0,"auto.db.otel.redis");let Y=yr(J,$),Q=vD(J);if(!Y||!Q||!l3.cachePrefixes||!kr(J,Y,l3.cachePrefixes))return;let W=$0(Z).data["net.peer.name"],K=$0(Z).data["net.peer.port"];if(K&&W)Z.setAttributes({"network.peer.address":W,"network.peer.port":K});let z=xr(X);if(z)Z.setAttribute(RU,z);if(c3(xD,J)&&z!==void 0)Z.setAttribute(TU,z>0);Z.setAttributes({[G0]:Q,[NU]:Y});let G=Y.join(", ");Z.updateName(l3.maxCacheKeyLength?Z7(G,l3.maxCacheKeyLength):G)},Pm0=s(`${ZG}.IORedis`,()=>{return new vr.IORedisInstrumentation({responseHook:fr})}),Im0=s(`${ZG}.Redis`,()=>{return new hr.RedisInstrumentation({responseHook:fr})}),br=Object.assign(()=>{Pm0(),Im0()},{id:ZG}),Sm0=(Z={})=>{return{name:ZG,setupOnce(){l3=Z,br()}}},gr=k(Sm0);var Ls=v(Us(),1);var Ds="Postgres",_s=s(Ds,()=>new Ls.PgInstrumentation({requireParentSpan:!0,requestHook(Z){Z1(Z,"auto.db.otel.postgres")}})),Tu0=()=>{return{name:Ds,setupOnce(){_s()}}},Os=k(Tu0);var XX=v(g(),1),U9=v(V0(),1),c1=v(e0(),1);var KG="PostgresJs",ws=[">=3.0.0 <4"],Nu0=/^(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER)/i,WG=Symbol("sentryPostgresConnectionContext"),dD=Symbol.for("sentry.instrumented.postgresjs"),js=Symbol.for("sentry.query.from.instrumented.sql"),Ms=s(KG,(Z)=>new As({requireParentSpan:Z?.requireParentSpan??!0,requestHook:Z?.requestHook}));class As extends U9.InstrumentationBase{constructor(Z){super("sentry-postgres-js",I0,Z)}init(){let Z=new U9.InstrumentationNodeModuleDefinition("postgres",ws,(J)=>{try{return this._patchPostgres(J)}catch($){return k1&&A.error("Failed to patch postgres module:",$),J}},(J)=>J);return["src","cf/src","cjs/src"].forEach((J)=>{Z.files.push(new U9.InstrumentationNodeModuleFile(`postgres/${J}/query.js`,ws,this._patchQueryPrototype.bind(this),this._unpatchQueryPrototype.bind(this)))}),Z}_patchPostgres(Z){let J=typeof Z==="function",$=J?Z:Z.default;if(typeof $!=="function")return k1&&A.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 k1&&A.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 J3(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=$[WG];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(c1.ATTR_DB_NAMESPACE,J.ATTR_DB_NAMESPACE);if(J.ATTR_SERVER_ADDRESS)Z.setAttribute(c1.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(c1.ATTR_SERVER_PORT,$)}}_setOperationName(Z,J,$){if($){Z.setAttribute(c1.ATTR_DB_OPERATION_NAME,$);return}let X=J?.match(Nu0);if(X?.[1])Z.setAttribute(c1.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[WG]=W}_instrumentSqlInstance(Z,J){if(Z[dD])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[WG]=J;else this._attachConnectionContext(Z,X);return Z[dD]=!0,X[dD]=!0,X}_wrapSingleQueryHandle(Z,J){if(Z.handle?.__sentryWrapped)return;Z[js]=!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 _4({name:K||"postgresjs.query",op:"db"},(z)=>{Z1(z,"auto.db.postgresjs"),z.setAttributes({[c1.ATTR_DB_SYSTEM_NAME]:"postgres",[c1.ATTR_DB_QUERY_TEXT]:K});let G=J?J[WG]:void 0;X._setConnectionAttributes(z,G);let H=X.getConfig(),{requestHook:V}=H;if(V)U9.safeExecuteInTheMiddle(()=>V(z,K,G),(B)=>{if(B)z.setAttribute("sentry.hook.error","requestHook failed"),k1&&A.error(`Error in requestHook for ${KG} 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(_){k1&&A.error("Error ending span in resolve callback:",_)}return Reflect.apply(B,U,L)}}),F.reject=new Proxy(F.reject,{apply:(B,U,L)=>{try{z.setStatus({code:T0,message:L?.[0]?.message||"unknown_error"}),z.setAttribute(c1.ATTR_DB_RESPONSE_STATUS_CODE,L?.[0]?.code||"unknown"),z.setAttribute(c1.ATTR_ERROR_TYPE,L?.[0]?.name||"unknown"),X._setOperationName(z,K),z.end()}catch(_){k1&&A.error("Error ending span in reject callback:",_)}return Reflect.apply(B,U,L)}});try{return $.apply(this,Q)}catch(B){throw z.setStatus({code:T0,message:B instanceof Error?B.message:"unknown_error"}),z.end(),B}})};Y.__sentryWrapped=!0,Z.handle=Y}_shouldCreateSpans(){let Z=this.getConfig();return XX.trace.getSpan(XX.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[js])return $.apply(this,X);if(!J._shouldCreateSpans())return $.apply(this,X);let Y=J._reconstructQuery(this.strings),Q=J._sanitizeSqlQuery(Y);return _4({name:Q||"postgresjs.query",op:"db"},(W)=>{Z1(W,"auto.db.postgresjs"),W.setAttributes({[c1.ATTR_DB_SYSTEM_NAME]:"postgres",[c1.ATTR_DB_QUERY_TEXT]:Q});let K=J.getConfig(),{requestHook:z}=K;if(z)U9.safeExecuteInTheMiddle(()=>z(W,Q,void 0),(V)=>{if(V)W.setAttribute("sentry.hook.error","requestHook failed"),k1&&A.error(`Error in requestHook for ${KG} 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){k1&&A.error("Error ending span in resolve callback:",U)}return Reflect.apply(V,F,B)}});let H=this.reject;this.reject=new Proxy(H,{apply:(V,F,B)=>{try{W.setStatus({code:T0,message:B?.[0]?.message||"unknown_error"}),W.setAttribute(c1.ATTR_DB_RESPONSE_STATUS_CODE,B?.[0]?.code||"unknown"),W.setAttribute(c1.ATTR_ERROR_TYPE,B?.[0]?.name||"unknown"),J._setOperationName(W,Q),W.end()}catch(U){k1&&A.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:T0,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 Ru0=(Z)=>{return{name:KG,setupOnce(){Ms(Z)}}},Ts=k(Ru0);var X8=v(g(),1);var qs=v(g(),1),zG=v(V0(),1),v7=v(g(),1);var qu0=process.env.PRISMA_SHOW_ALL_TRACES==="true",Cu0="00-10-10-00";function Eu0(Z){switch(Z){case"client":return v7.SpanKind.CLIENT;case"internal":default:return v7.SpanKind.INTERNAL}}var Pu0=class{tracerProvider;ignoreSpanTypes;constructor({tracerProvider:Z,ignoreSpanTypes:J}){this.tracerProvider=Z,this.ignoreSpanTypes=J}isEnabled(){return!0}getTraceParent(Z){let J=v7.trace.getSpanContext(Z??v7.context.active());if(J)return`00-${J.traceId}-${J.spanId}-0${J.traceFlags}`;return Cu0}dispatchEngineSpans(Z){let J=this.tracerProvider.getTracer("prisma"),$=new Map,X=Z.filter((Y)=>Y.parentId===null);for(let Y of X)Cs(J,Y,Z,$,this.ignoreSpanTypes)}getActiveContext(){return v7.context.active()}runInChildSpan(Z,J){if(typeof Z==="string")Z={name:Z};if(Z.internal&&!qu0)return J();let $=this.tracerProvider.getTracer("prisma"),X=Z.context??this.getActiveContext(),Y=`prisma:client:${Z.name}`;if(Es(Y,this.ignoreSpanTypes))return J();if(Z.active===!1){let Q=$.startSpan(Y,Z,X);return Ns(Q,J(Q,X))}return $.startActiveSpan(Y,Z,(Q)=>Ns(Q,J(Q,X)))}};function Cs(Z,J,$,X,Y){if(Es(J.name,Y))return;let Q={attributes:J.attributes,kind:Eu0(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)Cs(Z,z,$,X,Y);W.end(J.endTime)})}function Ns(Z,J){if(Iu0(J))return J.then(($)=>{return Z.end(),$},($)=>{throw Z.end(),$});return Z.end(),J}function Iu0(Z){return Z!=null&&typeof Z.then==="function"}function Es(Z,J){return J.some(($)=>typeof $==="string"?$===Z:$.test(Z))}var Ps={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},lD=Ps.version,Su0=lD.split(".")[0],Rs="PRISMA_INSTRUMENTATION",cD=`V${Su0}_PRISMA_INSTRUMENTATION`,yu0=Ps.name,ku0="@prisma/client",Is=class extends zG.InstrumentationBase{tracerProvider;constructor(Z={}){super(yu0,lD,Z)}setTracerProvider(Z){this.tracerProvider=Z}init(){return[new zG.InstrumentationNodeModuleDefinition(ku0,[lD])]}enable(){let Z=this._config,J={helper:new Pu0({tracerProvider:this.tracerProvider??qs.trace.getTracerProvider(),ignoreSpanTypes:Z.ignoreSpanTypes??[]})};global[Rs]=J,global[cD]=J}disable(){delete global[Rs],delete global[cD]}isEnabled(){return Boolean(global[cD])}};var Ss="Prisma";function xu0(Z){return!!Z&&typeof Z==="object"&&"dispatchEngineSpans"in Z}function ys(){let Z=globalThis.PRISMA_INSTRUMENTATION;return Z&&typeof Z==="object"&&"helper"in Z?Z.helper:void 0}class ks extends Is{constructor(){super()}enable(){super.enable();let Z=ys();if(xu0(Z))Z.createEngineSpan=(J)=>{let $=X8.trace.getTracer("prismaV5Compatibility"),X=$._idGenerator;if(!X){m1(()=>{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=vu0(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:X8.TraceFlags.SAMPLED}}}),H=X8.trace.setSpanContext(X8.context.active(),{traceId:z,spanId:W,traceFlags:X8.TraceFlags.SAMPLED});X8.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 vu0(Z){switch(Z){case"client":return X8.SpanKind.CLIENT;case"internal":default:return X8.SpanKind.INTERNAL}}var hu0=s(Ss,(Z)=>{return new ks}),xs=k((Z)=>{return{name:Ss,setupOnce(){hu0()},setup(J){if(!ys())return;J.on("spanStart",($)=>{let X=$0($);if(X.description?.startsWith("prisma:"))$.setAttribute(X0,"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 $t=v(Jt(),1);var Xt="Hapi",Yt=s(Xt,()=>new $t.HapiInstrumentation),Wd0=()=>{return{name:Xt,setupOnce(){Yt()}}},Qt=k(Wd0);var VG=v(e0(),1);var f7={HONO_TYPE:"hono.type",HONO_NAME:"hono.name"},o3={MIDDLEWARE:"middleware",REQUEST_HANDLER:"request_handler"};var JJ=v(g(),1),HG=v(V0(),1);var Kd0="@sentry/instrumentation-hono",zd0="0.0.1";class oD extends HG.InstrumentationBase{constructor(Z={}){super(Kd0,zd0,Z)}init(){return[new HG.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 JJ.context.with(JJ.trace.setSpan(JJ.context.active(),Q),()=>{return J._safeExecute(()=>{let W=Z.apply(this,[$,X]);if(u4(W))return W.then((K)=>{let z=J._determineHandlerType(K);return Q.setAttributes({[f7.HONO_TYPE]:z,[f7.HONO_NAME]:z===o3.REQUEST_HANDLER?Y:Z.name||"anonymous"}),J.getConfig().responseHook?.(Q),K});else{let K=J._determineHandlerType(W);return Q.setAttributes({[f7.HONO_TYPE]:K,[f7.HONO_NAME]:K===o3.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(u4(X))X.then(()=>J(),(Y)=>$(Y));else J();return X}catch(X){throw $(X),X}}_determineHandlerType(Z){return Z===void 0?o3.MIDDLEWARE:o3.REQUEST_HANDLER}_handleError(Z,J){if(J instanceof Error)Z.setStatus({code:JJ.SpanStatusCode.ERROR,message:J.message}),Z.recordException(J)}}var Wt="Hono";function Gd0(Z){let J=$0(Z).data,$=J[f7.HONO_TYPE];if(J[G0]||!$)return;Z.setAttributes({[X0]:"auto.http.otel.hono",[G0]:`${$}.hono`});let X=J[f7.HONO_NAME];if(typeof X==="string")Z.updateName(X);if(k0()===M6()){k1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let Y=J[VG.ATTR_HTTP_ROUTE],Q=J[VG.ATTR_HTTP_REQUEST_METHOD];if(typeof Y==="string"&&typeof Q==="string")k0().setTransactionName(`${Q} ${Y}`)}var Kt=s(Wt,()=>new oD({responseHook:(Z)=>{Gd0(Z)}})),Hd0=()=>{return{name:Wt,setupOnce(){Kt()}}},zt=k(Hd0);var St=v(It(),1),yt=v(e0(),1);var kt="Koa",xt=s(kt,St.KoaInstrumentation,(Z={})=>{return{ignoreLayersType:Z.ignoreLayersType,requestHook(J,$){Z1(J,"auto.http.otel.koa");let X=$0(J).data,Y=X["koa.type"];if(Y)J.setAttribute(G0,`${Y}.koa`);let Q=X["koa.name"];if(typeof Q==="string")J.updateName(Q||"< unknown >");if(k0()===M6()){k1&&A.warn("Isolation scope is default isolation scope - skipping setting transactionName");return}let W=X[yt.ATTR_HTTP_ROUTE],K=$.context?.request?.method?.toUpperCase()||"GET";if(W)k0().setTransactionName(`${K} ${W}`)}}}),Ad0=(Z={})=>{return{name:kt,setupOnce(){xt(Z)}}},vt=k(Ad0);var $e=v(Je(),1);var Xe="Connect",Ye=s(Xe,()=>new $e.ConnectInstrumentation),hd0=()=>{return{name:Xe,setupOnce(){Ye()}}},Qe=k(hd0);var Te=v(Ae(),1);var sd0=new Set(["callProcedure","execSql","execSqlBatch","execBulkLoad","prepare","execute"]),Ne="Tedious",Re=s(Ne,()=>new Te.TediousInstrumentation({})),td0=()=>{let Z;return{name:Ne,setupOnce(){let J=Re();Z=j3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let{description:X,data:Y}=$0($);if(!X||Y["db.system"]!=="mssql")return;let Q=X.split(" ")[0]||"";if(sd0.has(Q))$.setAttribute(X0,"auto.db.otel.tedious")}))}}},qe=k(td0);var he=v(ve(),1);var fe="GenericPool",be=s(fe,()=>new he.GenericPoolInstrumentation({})),$c0=()=>{let Z;return{name:fe,setupOnce(){let J=be();Z=j3(J)},setup(J){Z?.(()=>J.on("spanStart",($)=>{let Y=$0($).description;if(Y==="generic-pool.aquire"||Y==="generic-pool.acquire")$.setAttribute(X0,"auto.db.otel.generic_pool")}))}}},ge=k($c0);var G00=v(z00(),1);var H00="Amqplib",hc0={consumeEndHook:(Z)=>{Z1(Z,"auto.amqplib.otel.consumer")},publishHook:(Z)=>{Z1(Z,"auto.amqplib.otel.publisher")}},V00=s(H00,()=>new G00.AmqplibInstrumentation(hc0)),fc0=()=>{return{name:H00,setupOnce(){V00()}}},F00=k(fc0);var ZQ="VercelAI";var jG=v(V0(),1);var bc0=[">=3.0.0 <7"],B00=["generateText","streamText","generateObject","streamObject","embed","embedMany"];function gc0(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 mc0(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(gc0($)){let X=OL($.toolCallId);if(X){let Y=X.spanContext();Q6((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"),F0($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})}),wL($.toolCallId)}else Q6((Y)=>{Y.setTag("vercel.ai.tool.name",$.toolName),Y.setTag("vercel.ai.tool.callId",$.toolCallId),Y.setLevel("error"),F0($.error,{mechanism:{type:"auto.vercelai.otel",handled:!1}})})}}function uc0(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 JQ extends jG.InstrumentationBase{__init(){this._isPatched=!1}__init2(){this._callbacks=[]}constructor(Z={}){super("@sentry/instrumentation-vercel-ai",I0,Z);JQ.prototype.__init.call(this),JQ.prototype.__init2.call(this)}init(){return new jG.InstrumentationNodeModuleDefinition("ai",bc0,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=l(),G=z?.getIntegrationByName(ZQ),H=G?.options,V=G?Boolean(z?.getOptions().sendDefaultPii):!1,{recordInputs:F,recordOutputs:B}=uc0(H,W,K,V);return Q[0].experimental_telemetry={...W,isEnabled:K!==void 0?K:!0,recordInputs:F,recordOutputs:B},A6(()=>Reflect.apply(X,Y,Q),(U)=>{if(U&&typeof U==="object")p1(U,"_sentry_active_span",z5())},()=>{},(U)=>{mc0(U)})}})};if(Object.prototype.toString.call(Z)==="[object Module]"){for(let $ of B00)Z[$]=J(Z[$]);return Z}else{let $=B00.reduce((X,Y)=>{return X[Y]=J(Z[Y]),X},{});return{...Z,...$}}}}var U00=s(ZQ,()=>new JQ({}));function dc0(Z){return!!Z.getIntegrationByName("Modules")?.getModules?.()?.ai}var cc0=(Z={})=>{let J;return{name:ZQ,options:Z,setupOnce(){J=U00()},afterAllSetup($){if(Z.force??dc0($))dK($);else J?.callWhenPatched(()=>dK($))}}},L00=k(cc0);var MG=v(V0(),1);var lc0=[">=4.0.0 <7"];class U_ extends MG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-openai",I0,Z)}init(){return new MG.InstrumentationNodeModuleDefinition("openai",lc0,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(gZ(M7))return Reflect.construct($,Q);let W=Reflect.construct($,Q),K=l(),z=Boolean(K?.getOptions().sendDefaultPii),G=X.recordInputs??z,H=X.recordOutputs??z;return pK(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 D00=s(M7,(Z)=>new U_(Z)),pc0=(Z={})=>{return{name:M7,setupOnce(){D00(Z)}}},_00=k(pc0);var AG=v(V0(),1);var ic0=[">=0.19.2 <1.0.0"];class L_ extends AG.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-anthropic-ai",I0,Z)}init(){return new AG.InstrumentationNodeModuleDefinition("@anthropic-ai/sdk",ic0,this._patch.bind(this))}_patch(Z){let J=Z.Anthropic,$=this.getConfig(),X=function(...Y){if(gZ(A7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=l(),K=Boolean(W?.getOptions().sendDefaultPii),z=$.recordInputs??K,G=$.recordOutputs??K;return AL(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 O00=s(A7,(Z)=>new L_(Z)),nc0=(Z={})=>{return{name:A7,options:Z,setupOnce(){O00(Z)}}},w00=k(nc0);var zX=v(V0(),1);var j00=[">=0.10.0 <2"];class D_ extends zX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-google-genai",I0,Z)}init(){return new zX.InstrumentationNodeModuleDefinition("@google/genai",j00,(J)=>this._patch(J),(J)=>J,[new zX.InstrumentationNodeModuleFile("@google/genai/dist/node/index.cjs",j00,(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(gZ(T7))return Reflect.construct(J,Y);let Q=Reflect.construct(J,Y),W=l(),K=Boolean(W?.getOptions().sendDefaultPii),z=$,G=z?.recordInputs??K,H=z?.recordOutputs??K;return qL(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 J3(Z,"GoogleGenAI",X),Z}}var M00=s(T7,(Z)=>new D_(Z)),ac0=(Z={})=>{return{name:T7,setupOnce(){M00(Z)}}},A00=k(ac0);var m7=v(V0(),1);var TG=[">=0.1.0 <2.0.0"];function oc0(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 rc0(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=oc0(z,J);return K.callbacks=G,Reflect.apply(X,Y,Q)}})}class __ extends m7.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langchain",I0,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 m7.InstrumentationNodeModuleDefinition($,TG,this._patch.bind(this),(X)=>X,[new m7.InstrumentationNodeModuleFile(`${$}/dist/index.cjs`,TG,this._patch.bind(this),(X)=>X)]));return Z.push(new m7.InstrumentationNodeModuleDefinition("langchain",TG,this._patch.bind(this),($)=>$,[new m7.InstrumentationNodeModuleFile("langchain/dist/chat_models/universal.cjs",TG,this._patch.bind(this),($)=>$)])),Z}_patch(Z){tU([M7,A7,T7]);let J=l(),$=Boolean(J?.getOptions().sendDefaultPii),X=this.getConfig(),Y=X?.recordInputs??$,Q=X?.recordOutputs??$,W=nK({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]=rc0(z,J)}}}var T00=s(iK,(Z)=>new __(Z)),sc0=(Z={})=>{return{name:iK,setupOnce(){T00(Z)}}},N00=k(sc0);var GX=v(V0(),1);var R00=[">=0.0.0 <2.0.0"];class O_ extends GX.InstrumentationBase{constructor(Z={}){super("@sentry/instrumentation-langgraph",I0,Z)}init(){return new GX.InstrumentationNodeModuleDefinition("@langchain/langgraph",R00,this._patch.bind(this),(J)=>J,[new GX.InstrumentationNodeModuleFile("@langchain/langgraph/dist/index.cjs",R00,this._patch.bind(this),(J)=>J)])}_patch(Z){let J=l(),$=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=PL(K.prototype.compile,W)}return Z}}var q00=s(aK,(Z)=>new O_(Z)),tc0=(Z={})=>{return{name:aK,setupOnce(){q00(Z)}}},C00=k(tc0);var v00=v(V0(),1);var D9=v(g(),1),_9=v(V0(),1),Y8=v(e0(),1);import*as P00 from"net";function I00(Z,J,$,X,Y){let W=()=>{},K=Y.firestoreSpanCreationHook;if(typeof K==="function")W=(H)=>{_9.safeExecuteInTheMiddle(()=>K(H),(V)=>{if(!V)return;D9.diag.error(V?.message)},!0)};let z=new _9.InstrumentationNodeModuleDefinition("@firebase/firestore",J,(H)=>E00(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 _9.InstrumentationNodeModuleFile(H,J,(V)=>E00(V,$,X,Z,W),(V)=>S00(V,X)));return z}function E00(Z,J,$,X,Y){return S00(Z,$),J(Z,"addDoc",ec0(X,Y)),J(Z,"getDocs",Jl0(X,Y)),J(Z,"setDoc",$l0(X,Y)),J(Z,"deleteDoc",Zl0(X,Y)),Z}function S00(Z,J){for(let $ of["addDoc","getDocs","setDoc","deleteDoc"])if(_9.isWrapped(Z[$]))J(Z,$);return Z}function ec0(Z,J){return function(X){return function(Y,Q){let W=RG(Z,"addDoc",Y);return J(W),NG(W,()=>{return X(Y,Q)})}}}function Zl0(Z,J){return function(X){return function(Y){let Q=RG(Z,"deleteDoc",Y.parent||Y);return J(Q),NG(Q,()=>{return X(Y)})}}}function Jl0(Z,J){return function(X){return function(Y){let Q=RG(Z,"getDocs",Y);return J(Q),NG(Q,()=>{return X(Y)})}}}function $l0(Z,J){return function(X){return function(Y,Q,W){let K=RG(Z,"setDoc",Y.parent||Y);return J(K),NG(K,()=>{return typeof W<"u"?X(Y,Q,W):X(Y,Q)})}}}function NG(Z,J){return D9.context.with(D9.trace.setSpan(D9.context.active(),Z),()=>{return _9.safeExecuteInTheMiddle(()=>{return J()},($)=>{if($)Z.recordException($);Z.end()},!0)})}function RG(Z,J,$){let X=Z.startSpan(`${J} ${$.path}`,{kind:D9.SpanKind.CLIENT});return Yl0(X,$),X.setAttribute(Y8.ATTR_DB_OPERATION_NAME,J),X}function Xl0(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(P00.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 Yl0(Z,J){let $=J.firestore.app,X=$.options,Q=(J.firestore.toJSON()||{}).settings||{},W={[Y8.ATTR_DB_COLLECTION_NAME]:J.path,[Y8.ATTR_DB_NAMESPACE]:$.name,[Y8.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}=Xl0(Q);if(K)W[Y8.ATTR_SERVER_ADDRESS]=K;if(z)W[Y8.ATTR_SERVER_PORT]=z;Z.setAttributes(W)}var w5=v(g(),1),O9=v(V0(),1);function y00(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)=>{O9.safeExecuteInTheMiddle(()=>G(F,B),(U)=>{if(!U)return;w5.diag.error(U?.message)},!0)};if(typeof z==="function")Q=(F)=>{O9.safeExecuteInTheMiddle(()=>z(F),(B)=>{if(!B)return;w5.diag.error(B?.message)},!0)};let H=new O9.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 O9.InstrumentationNodeModuleFile(F,J,(U)=>Ql0(U,$,X,Z,{requestHook:Q,responseHook:W,errorHook:K},B),(U)=>k00(U,X)))}),H}function a4(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:w5.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),w5.context.with(w5.trace.setSpan(w5.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 Ql0(Z,J,$,X,Y,Q){switch(k00(Z,$),Q){case"function":J(Z,"onRequest",a4(X,Y,"http.request")),J(Z,"onCall",a4(X,Y,"http.call"));break;case"firestore":J(Z,"onDocumentCreated",a4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdated",a4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeleted",a4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWritten",a4(X,Y,"firestore.document.written")),J(Z,"onDocumentCreatedWithAuthContext",a4(X,Y,"firestore.document.created")),J(Z,"onDocumentUpdatedWithAuthContext",a4(X,Y,"firestore.document.updated")),J(Z,"onDocumentDeletedWithAuthContext",a4(X,Y,"firestore.document.deleted")),J(Z,"onDocumentWrittenWithAuthContext",a4(X,Y,"firestore.document.written"));break;case"scheduler":J(Z,"onSchedule",a4(X,Y,"scheduler.scheduled"));break;case"storage":J(Z,"onObjectFinalized",a4(X,Y,"storage.object.finalized")),J(Z,"onObjectArchived",a4(X,Y,"storage.object.archived")),J(Z,"onObjectDeleted",a4(X,Y,"storage.object.deleted")),J(Z,"onObjectMetadataUpdated",a4(X,Y,"storage.object.metadataUpdated"));break}return Z}function k00(Z,J){let $=["onSchedule","onRequest","onCall","onObjectFinalized","onObjectArchived","onObjectDeleted","onObjectMetadataUpdated","onDocumentCreated","onDocumentUpdated","onDocumentDeleted","onDocumentWritten","onDocumentCreatedWithAuthContext","onDocumentUpdatedWithAuthContext","onDocumentDeletedWithAuthContext","onDocumentWrittenWithAuthContext"];for(let X of $)if(O9.isWrapped(Z[X]))J(Z,X);return Z}var x00={},Wl0=[">=3.0.0 <5"],Kl0=[">=6.0.0 <7"];class w_ extends v00.InstrumentationBase{constructor(Z=x00){super("@sentry/instrumentation-firebase",I0,Z)}setConfig(Z={}){super.setConfig({...x00,...Z})}init(){let Z=[];return Z.push(I00(this.tracer,Wl0,this._wrap,this._unwrap,this.getConfig())),Z.push(y00(this.tracer,Kl0,this._wrap,this._unwrap,this.getConfig())),Z}}var h00="Firebase",zl0={firestoreSpanCreationHook:(Z)=>{Z1(Z,"auto.firebase.otel.firestore"),Z.setAttribute(G0,"db.query")},functions:{requestHook:(Z)=>{Z1(Z,"auto.firebase.otel.functions"),Z.setAttribute(G0,"http.request")},errorHook:async(Z,J)=>{if(J)F0(J,{mechanism:{type:"auto.firebase.otel.functions",handled:!1}}),await qK(2000)}}},f00=s(h00,()=>new w_(zl0)),Gl0=()=>{return{name:h00,setupOnce(){f00()}}},b00=k(Gl0);function $Q(){return[gp(),qi(),Ln(),zt(),Na(),na(),Bo(),vo(),gr(),Os(),xs(),Qt(),vt(),Qe(),qe(),ge(),dn(),F00(),Ya(),N00(),C00(),L00(),_00(),w00(),A00(),Ts(),b00()]}var HX=v(g(),1);var VX=v(e0(),1);var j_=1e6;function g00(Z,J={}){if(Z.getOptions().debug)C2();let[$,X]=Hl0(Z,J);Z.traceProvider=$,Z.asyncLocalStorageLookup=X}function Hl0(Z,J={}){let $=new Lz({sampler:new F2(Z),resource:W3().merge(Gz({[VX.ATTR_SERVICE_NAME]:"node",[VX.SEMRESATTRS_SERVICE_NAMESPACE]:"sentry",[VX.ATTR_SERVICE_VERSION]:I0})),forceFlushTimeoutMillis:500,spanProcessors:[new V2({timeout:Vl0(Z.getOptions().maxSpanWaitDuration)}),...J.spanProcessors||[]]});HX.trace.setGlobalTracerProvider($),HX.propagation.setGlobalPropagator(new H2);let X=new Az;return HX.context.setGlobalContextManager(X),[$,X.getAsyncLocalStorageLookup()]}function Vl0(Z){if(Z==null)return;if(Z>j_)return k1&&A.warn(`\`maxSpanWaitDuration\` is too high, using the maximum value of ${j_}`),j_;else if(Z<=0||Number.isNaN(Z)){k1&&A.warn("`maxSpanWaitDuration` must be a positive number, using default value instead.");return}return Z}function m00(){return Cz().filter((J)=>J.name!=="Http"&&J.name!=="NodeFetch").concat(A3(),N3())}function u00(Z){return[...m00(),...A1(Z)?$Q():[]]}function M_(Z={}){return Fl0(Z,u00)}function Fl0(Z={},J){$9(Z,"node");let $=f2({...Z,defaultIntegrations:Z.defaultIntegrations??J(Z)});if($&&!Z.skipOpenTelemetrySetup)g00($,{spanProcessors:Z.openTelemetrySpanProcessors}),Ez();return $}import*as i00 from"os";var Bl0="BunServer",Ul0=()=>{return{name:Bl0,setupOnce(){Ll0()}}},l00=k(Ul0),d00=!1;function Ll0(){if(d00)return;Bun.serve=new Proxy(Bun.serve,{apply(Z,J,$){c00($[0]);let X=Z.apply(J,$),Y=X.reload.bind(X);return X.reload=(Q)=>{return c00(Q),Y(Q)},X}}),d00=!0}function c00(Z){Dl0(Z),_l0(Z)}function Dl0(Z){if(typeof Z.fetch!=="function")return;Z.fetch=new Proxy(Z.fetch,{apply(J,$,X){return A_(J,$,X)}})}function _l0(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 A_(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 A_(Q,W,K,J)}})})})}function A_(Z,J,$,X){return EZ((Y)=>{let Q=$[0],W=Q.method.toUpperCase();if(W==="OPTIONS"||W==="HEAD")return Z.apply(J,$);let K=cY(Q.url),z=Ol0(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[M1]="route",z["url.template"]=X,G=X}if(X?.endsWith("/*"))z[M1]="route",z["url.template"]=X,G=X;return Object.assign(z,L$(Q.headers.toJSON(),l()?.getOptions().sendDefaultPii??!1)),Y.setSDKProcessingMetadata({normalizedRequest:{url:Q.url,method:Q.method,headers:Q.headers.toJSON(),query_string:K?.search}}),TK({sentryTrace:Q.headers.get("sentry-trace")??"",baggage:Q.headers.get("baggage")},()=>R6({attributes:z,op:"http.server",name:`${Q.method} ${G}`},async(H)=>{try{let V=await Z.apply(J,$);if(V?.status)KK(H,V.status),Y.setContext("response",{headers:V.headers.toJSON(),status_code:V.status});return V}catch(V){throw F0(V,{mechanism:{type:"auto.http.bun.serve",handled:!1}}),V}}))})}function Ol0(Z,J){let $={[X0]:"auto.http.bun.serve",[qU]:J.method||"GET",[M1]:"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(!ZL(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 p00(Z){function J($){let X={body:$.body,method:"POST",headers:Z.headers};try{return G7(()=>{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 bZ(Z,J)}function n00(Z){return[_$(),D$(),O$(),w$(),j$(),A3(),N3(),l$(),p$(),d$(),u$(),c$(),l00(),...A1(Z)?$Q():[]]}function T_(Z={}){$9(Z,"bun");let J={...Z,platform:"javascript",runtime:{name:"bun",version:Bun.version},serverName:Z.serverName||global.process.env.SENTRY_NAME||i00.hostname()};if(J.transport=J.transport||p00,J.defaultIntegrations===void 0)J.defaultIntegrations=n00(J);return M_(J)}T_({dsn:"https://f0ba950f2a01c32d24ccd8711de778be@o4510345514123264.ingest.us.sentry.io/4510346875043848",tracesSampleRate:1,sendDefaultPii:!1});import{readFileSync as a00}from"fs";import{join as o00}from"path";function S4(){return"3.1.0-beta.1"}function N_(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 w9(Z){let J=N_(Z);if(!J.preRelease)return"stable";if(J.preRelease.startsWith("alpha"))return"alpha";return"beta"}function XQ(Z,J){try{let $=N_(Z),X=N_(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 jl0}from"util";var Ml0={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 r00(){let Z=jl0({options:Ml0,allowPositionals:!1,strict:!0});if(Z.values.version)console.log(`ccc v${S4()}`),process.exit(0);if(Z.values.help)Al0(),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 Al0(){console.log(`
54
54
  Backend v2 - Clean modular architecture
55
55
 
56
56
  Usage:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naarang/ccc",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.1.0-beta.1",
4
4
  "description": "Code Chat Connect - Control Claude Code from your mobile device",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",