hud-sdk 1.6.32 → 1.6.33

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.
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var r in s)("object"==typeof exports?exports:e)[r]=s[r]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},2312:function(e,t,s){var r,n=this&&this.__createBinding||(Object.create?function(e,t,s,r){void 0===r&&(r=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,n)}:function(e,t,s,r){void 0===r&&(r=s),e[r]=t[s]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[t.length]=s);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s=r(e),i=0;i<s.length;i++)"default"!==s[i]&&n(t,e,s[i]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.HudClient=void 0;const a=s(5809),l=s(2546),u=s(523),d=i(s(8938)),c=s(6982),g=s(6261),f=s(9023),p=s(3106),h=(0,f.promisify)(p.gzip),_="node-sdk",m=(0,c.randomUUID)();class w{sessionId;httpClient;extensionEventEmitter;static config={baseURL:a.hudConfig.sink.url,timeout:a.hudConfig.sink.timeout,headers:{"Content-Type":"application/json"}};static defaultRequest={version:"1.0.0",source:_,event_version:"1.0.0"};constructor(e){this.httpClient=d.default.create(w.config),this.extensionEventEmitter=e}setSession(e){const{sessionId:t,extraHeaders:s}=e;this.sessionId=t,this.httpClient.defaults.headers.common[a.hudConfig.sink.session_attr]=t;try{for(const[e,t]of Object.entries(s))try{this.httpClient.defaults.headers.common[e]=t}catch(s){u.worker_logger.error("Failed to set extra header",{msg:s instanceof Error?s.message:void 0,stack:s instanceof Error?s.stack:void 0,key:e,value:t})}}catch(e){u.worker_logger.error("Failed to set extra headers",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}setExtensionEventEmitter(e){this.extensionEventEmitter=e}async logs(e){const t={logs:e,send_time:(new Date).toISOString()};await this._requestRelentless(a.hudConfig.endpoints.logs,t,"logs"),u.worker_logger.debug("sent logs successfully",{size:e.length})}async sessionslessLogs(e,t,s,r){const n={logs:e,send_time:(new Date).toISOString(),token:t,sdk_version:a.SDK_VERSION,sdk_type:_,sdk_runtime_type:r??"sdk",run_id:s??m};await this._requestRelentless(a.hudConfig.endpoints.sessionslessLogs,n,"sessionslessLogs"),u.worker_logger.debug("sent logs successfully",{size:e.length})}async send(e,t,s={}){const r={...w.defaultRequest,type:e,raw:t,send_time:(new Date).toISOString(),...s};await this._requestRelentless(a.hudConfig.endpoints.send,r,e),u.worker_logger.debug("sent event successfully",{type:e})}async batch(e,t,s={}){const r={...w.defaultRequest,type:e,arr:t,send_time:(new Date).toISOString(),...s};await this._requestRelentless(a.hudConfig.endpoints.batch,r,e),u.worker_logger.debug("sent batched events successfully",{type:e})}async getRemoteConfig(){const e=await this._requestDataRelentless(a.hudConfig.endpoints.getRemoteConfig,{},"getRemoteConfig");return u.worker_logger.info("Received remote configuration from server",{remoteConfiguration:e}),e}async getMode(e){const t={extra:e,send_time:(new Date).toISOString()},s=await this._requestDataRelentless(a.hudConfig.endpoints.getMode,t,"getMode");return u.worker_logger.info("Received mode from server "+s),s}async storeObject(e,t){const s={key:e,value:t.toString("base64")},r=await this._requestDataRelentless(a.hudConfig.endpoints.storeObject,s,"storeObject");if("reference"in r)return u.worker_logger.debug("Stored object successfully",{reference:r.reference}),r.reference;u.worker_logger.error("Failed to store object",{key:e,response:r})}async validateToken(e){const t={...w.defaultRequest,token:e,send_time:(new Date).toISOString()};try{return await this._requestRelentless(a.hudConfig.endpoints.validateToken,t,"validateToken"),!0}catch(e){if(e instanceof l.HudClientUnauthorizedError)return!1}return!1}async getUploadUrls(e,t,s){const r={...w.defaultRequest,send_time:(new Date).toISOString(),build_id:e,token:t,num_urls:s};return(await this._requestRelentless(a.hudConfig.endpoints.getUploadUrls,r,"getUploadUrls")).data.urls}async triggerReingest(e){const t={...w.defaultRequest,type:"triggerReingest",send_time:(new Date).toISOString(),build_id:e};await this._requestRelentless(a.hudConfig.endpoints.triggerReingest,t,"triggerReingest")}async completed(e,t){const s={...w.defaultRequest,build_id:e,token:t,send_time:(new Date).toISOString()};await this._requestRelentless(a.hudConfig.endpoints.completed,s,"completed")}async sendFileDeclarationsCi(e,t){u.worker_logger.debug("Sending file declarations request",{count:t.length});const s={...e,files:t},r=await this._requestRelentless(a.hudConfig.endpoints.fileDeclarationsCi,s,"fileDeclarations");return{files:r.data.files,send_all:r.data.send_all}}async sendFileDeclarations(e){u.worker_logger.debug("Sending file declarations request",{count:e.length});const t={files:e},s=await this._requestRelentless(a.hudConfig.endpoints.fileDeclarations,t,"fileDeclarations");return{files:s.data.files,send_all:s.data.send_all}}async _requestRelentless(e,t,s,r=3){const n={"X-Hud-Type":s,"X-Hud-Request-ID":(0,c.randomUUID)()},o=[];let i;for(let a=0;a<r;a++)try{const r=await this._request(e,t,s,n);return(0,l.incrementSentEventsCount)(s),r}catch(t){if(t instanceof Error&&(i=t),t instanceof d.AxiosError){if(401===t.response?.status)throw u.worker_logger.error("Unauthorized request",{endpoint:e,requestType:s}),new l.HudClientUnauthorizedError(`Unauthorized request for ${e}`);const{code:r,name:n,status:i,message:a}=t;o.push({code:r,name:n,status:i,message:a})}else if(t instanceof Error){const{name:e,message:s}=t;o.push({name:e,message:s})}await new Promise(e=>setTimeout(e,1))}throw u.worker_logger.error("Exceeded max retries to request",{endpoint:e,requestType:s,failures:o,retries:r}),new l.HudClientError(`Exceeded max retries for ${e}`,i instanceof d.AxiosError?i.code:void 0)}async _requestDataRelentless(e,t,s,r=3){return(await this._requestRelentless(e,t,s,r)).data}async _request(e,t,s,r){try{this.extensionEventEmitter&&await(0,g.once)(this.extensionEventEmitter,"eventloop");const s=await this._gzipCompress(JSON.stringify(t));return r={...r,"Content-Encoding":"gzip","Content-Type":"application/json"},await(0,l.suppressTraces)(async()=>await this.httpClient.post(e,s,{headers:r}))()}catch(t){if(t instanceof d.AxiosError){const{code:r,name:n,status:o,cause:i,message:a}=t;u.worker_logger.error(`${e} request failed`,{requestType:s,code:r,name:n,status:o,cause:i,msg:a})}else u.worker_logger.error("Caught an unexpected error",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0});throw t}}async _gzipCompress(e){return h(e)}async initSession(e,t,s,r){const n={token:e,service:t,start_time:s.toISOString(),type:_,version:"1.0.0",sdk_version:a.SDK_VERSION,tags:r};u.worker_logger.debug("Requesting init",{data:n});const o=await this._requestRelentless(a.hudConfig.endpoints.init,n,"init");if(o.status===a.hudConfig.throttleStatusCode)throw u.worker_logger.debug("Init request throttled"),new l.HudSessionThrottle;const i=o.data.sessionId,d=o.data.extraHeaders??{};return u.worker_logger.info("Succesfuly created session with backend",{host:w.config.baseURL,service:t,sessionId:i,extraHeaders:d,tags:r}),{sessionId:i,extraHeaders:d}}}t.HudClient=w},2546:e=>{e.exports=require("./lib")},3106:e=>{e.exports=require("zlib")},5809:e=>{e.exports=require("./config")},6261:e=>{e.exports=require("events")},6982:e=>{e.exports=require("crypto")},8938:e=>{e.exports=require("axios")},9023:e=>{e.exports=require("util")}},t={};return function s(r){var n=t[r];if(void 0!==n)return n.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,s),o.exports}(2312)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var n in s)("object"==typeof exports?exports:e)[n]=s[n]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},2312:function(e,t,s){var n,r=this&&this.__createBinding||(Object.create?function(e,t,s,n){void 0===n&&(n=s);var r=Object.getOwnPropertyDescriptor(t,s);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,n,r)}:function(e,t,s,n){void 0===n&&(n=s),e[n]=t[s]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(t[t.length]=s);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s=n(e),i=0;i<s.length;i++)"default"!==s[i]&&r(t,e,s[i]);return o(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.HudClient=void 0;const a=s(5809),u=s(2546),d=s(523),l=i(s(8938)),c=s(6982),g=s(6261),f=s(9023),h=s(3106),p=(0,f.promisify)(h.gzip),_="node-sdk",m=(0,c.randomUUID)();class w{sessionId;httpClient;extensionEventEmitter;static config={baseURL:a.hudConfig.sink.url,timeout:a.hudConfig.sink.timeout,headers:{"Content-Type":"application/json"}};static defaultRequest={version:"1.0.0",source:_,event_version:"1.0.0"};constructor(e){this.httpClient=l.default.create(w.config),this.extensionEventEmitter=e}setSession(e){const{sessionId:t,extraHeaders:s}=e;this.sessionId=t,this.httpClient.defaults.headers.common[a.hudConfig.sink.session_attr]=t;try{for(const[e,t]of Object.entries(s))try{this.httpClient.defaults.headers.common[e]=t}catch(s){d.worker_logger.error("Failed to set extra header",{msg:s instanceof Error?s.message:void 0,stack:s instanceof Error?s.stack:void 0,key:e,value:t})}}catch(e){d.worker_logger.error("Failed to set extra headers",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}setExtensionEventEmitter(e){this.extensionEventEmitter=e}async logs(e){const t={logs:e,send_time:(new Date).toISOString()};await this._requestRelentless(a.hudConfig.endpoints.logs,t,"logs"),d.worker_logger.debug("sent logs successfully",{size:e.length})}async sessionslessLogs(e,t,s,n){const r={logs:e,send_time:(new Date).toISOString(),token:t,sdk_version:a.SDK_VERSION,sdk_type:_,sdk_runtime_type:n??"sdk",run_id:s??m};await this._requestRelentless(a.hudConfig.endpoints.sessionslessLogs,r,"sessionslessLogs"),d.worker_logger.debug("sent logs successfully",{size:e.length})}async send(e,t,s={}){const n={...w.defaultRequest,type:e,raw:t,send_time:(new Date).toISOString(),...s};await this._requestRelentless(a.hudConfig.endpoints.send,n,e),d.worker_logger.debug("sent event successfully",{type:e})}async batch(e,t,s={}){const n={...w.defaultRequest,type:e,arr:t,send_time:(new Date).toISOString(),...s};await this._requestRelentless(a.hudConfig.endpoints.batch,n,e),d.worker_logger.debug("sent batched events successfully",{type:e})}async getRemoteConfig(){const e=await this._requestDataRelentless(a.hudConfig.endpoints.getRemoteConfig,{},"getRemoteConfig");return d.worker_logger.info("Received remote configuration from server",{remoteConfiguration:e}),e}async getMode(e){const t={extra:e,send_time:(new Date).toISOString()},s=await this._requestDataRelentless(a.hudConfig.endpoints.getMode,t,"getMode");return d.worker_logger.info("Received mode from server "+s),s}async storeObject(e,t){const s={key:e,value:t.toString("base64")},n=await this._requestDataRelentless(a.hudConfig.endpoints.storeObject,s,"storeObject");if("reference"in n)return d.worker_logger.debug("Stored object successfully",{reference:n.reference}),n.reference;d.worker_logger.error("Failed to store object",{key:e,response:n})}async validateToken(e){const t={...w.defaultRequest,token:e,send_time:(new Date).toISOString()};try{return await this._requestRelentless(a.hudConfig.endpoints.validateToken,t,"validateToken"),!0}catch(e){if(e instanceof u.HudClientUnauthorizedError)return!1}return!1}async getUploadUrls(e,t,s){const n={...w.defaultRequest,send_time:(new Date).toISOString(),build_id:e,token:t,num_urls:s};return(await this._requestRelentless(a.hudConfig.endpoints.getUploadUrls,n,"getUploadUrls")).data.urls}async triggerReingest(e){const t={...w.defaultRequest,type:"triggerReingest",send_time:(new Date).toISOString(),build_id:e};await this._requestRelentless(a.hudConfig.endpoints.triggerReingest,t,"triggerReingest")}async completed(e,t){const s={...w.defaultRequest,build_id:e,token:t,send_time:(new Date).toISOString()};await this._requestRelentless(a.hudConfig.endpoints.completed,s,"completed")}async sendFileDeclarationsCi(e,t){d.worker_logger.debug("Sending file declarations request",{count:t.length});const s={...e,files:t},n=await this._requestRelentless(a.hudConfig.endpoints.fileDeclarationsCi,s,"fileDeclarations");return{files:n.data.files,send_all:n.data.send_all}}async sendFileDeclarations(e){d.worker_logger.debug("Sending file declarations request",{count:e.length});const t={files:e},s=await this._requestRelentless(a.hudConfig.endpoints.fileDeclarations,t,"fileDeclarations");return{files:s.data.files,send_all:s.data.send_all}}async getEndpointsDurationsInvestigationThresholds(){return await this._requestDataRelentless(a.hudConfig.endpoints.endpointsDurationsInvestigationThresholds,{},"endpointsDurationsInvestigationThresholds","get")}async _requestRelentless(e,t,s,n="post",r=3){const o={"X-Hud-Type":s,"X-Hud-Request-ID":(0,c.randomUUID)()},i=[];let a;for(let c=0;c<r;c++)try{const r=await this._request(e,t,s,o,n);return(0,u.incrementSentEventsCount)(s),r}catch(t){if(t instanceof Error&&(a=t),t instanceof l.AxiosError){if(401===t.response?.status)throw d.worker_logger.error("Unauthorized request",{endpoint:e,requestType:s}),new u.HudClientUnauthorizedError(`Unauthorized request for ${e}`);const{code:n,name:r,status:o,message:a}=t;i.push({code:n,name:r,status:o,message:a})}else if(t instanceof Error){const{name:e,message:s}=t;i.push({name:e,message:s})}await new Promise(e=>setTimeout(e,1))}throw d.worker_logger.error("Exceeded max retries to request",{endpoint:e,requestType:s,failures:i,retries:r}),new u.HudClientError(`Exceeded max retries for ${e}`,a instanceof l.AxiosError?a.code:void 0)}async _requestDataRelentless(e,t,s,n="post",r=3){return(await this._requestRelentless(e,t,s,n,r)).data}async _request(e,t,s,n,r="post"){try{this.extensionEventEmitter&&await(0,g.once)(this.extensionEventEmitter,"eventloop");const s="get"===r?void 0:await this._gzipCompress(JSON.stringify(t));return n={...n,"Content-Encoding":"gzip","Content-Type":"application/json"},await(0,u.suppressTraces)(async()=>await this.httpClient.request({url:e,method:r,data:s,headers:n}))()}catch(t){if(t instanceof l.AxiosError){const{code:n,name:r,status:o,cause:i,message:a}=t;d.worker_logger.error(`${e} request failed`,{requestType:s,code:n,name:r,status:o,cause:i,msg:a})}else d.worker_logger.error("Caught an unexpected error",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0});throw t}}async _gzipCompress(e){return p(e)}async initSession(e,t,s,n){const r={token:e,service:t,start_time:s.toISOString(),type:_,version:"1.0.0",sdk_version:a.SDK_VERSION,tags:n};d.worker_logger.debug("Requesting init",{data:r});const o=await this._requestRelentless(a.hudConfig.endpoints.init,r,"init");if(o.status===a.hudConfig.throttleStatusCode)throw d.worker_logger.debug("Init request throttled"),new u.HudSessionThrottle;const i=o.data.sessionId,l=o.data.extraHeaders??{};return d.worker_logger.info("Succesfuly created session with backend",{host:w.config.baseURL,service:t,sessionId:i,extraHeaders:l,tags:n}),{sessionId:i,extraHeaders:l}}}t.HudClient=w},2546:e=>{e.exports=require("./lib")},3106:e=>{e.exports=require("zlib")},5809:e=>{e.exports=require("./config")},6261:e=>{e.exports=require("events")},6982:e=>{e.exports=require("crypto")},8938:e=>{e.exports=require("axios")},9023:e=>{e.exports=require("util")}},t={};return function s(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,s),o.exports}(2312)})());
2
2
  //# sourceMappingURL=client.js.map
@@ -1,2 +1,2 @@
1
- !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var i in t)("object"==typeof exports?exports:e)[i]=t[i]}}(global,()=>(()=>{"use strict";var e={1569:e=>{e.exports=require("zod")},2210:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_MODULE_NAME=void 0,n.SDK_MODULE_NAME="hud-sdk"},2509:function(e,n,t){var i=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var r=Object.getOwnPropertyDescriptor(n,t);r&&!("get"in r?!n.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,r)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(n,t)||i(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_VERSION=n.SDK_MODULE_NAME=void 0,r(t(2887),n),r(t(2570),n);var a=t(2210);Object.defineProperty(n,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return a.SDK_MODULE_NAME}}),r(t(7089),n);var s=t(5453);Object.defineProperty(n,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},2570:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateDynamicConfig=function(e,n,t){const a=i.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!a.success)return t.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:a,remoteConfig:e}),n.dynamicConfig;const s=r(n.dynamicConfig,a.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==n.dynamicConfig.enableInvestigation&&(t.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),n.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),void 0!==s.enableInvestigationArgsSending&&s.enableInvestigationArgsSending!==n.dynamicConfig.enableInvestigationArgsSending&&(t.info("Dynamic configuration updated - enableInvestigationArgsSending",{hudEnableInvestigationArgsSending:s.enableInvestigationArgsSending}),globalThis.hudEnableInvestigationArgsSending=s.enableInvestigationArgsSending),s};const i=t(2887);function r(e,n){if(null===n||"object"!=typeof n)return n;if(Array.isArray(e)&&Array.isArray(n))return n;const t={...e};for(const i in n){const a=e[i],s=n[i];t[i]=r(a,s)}return t}},2887:function(e,n,t){var i,r=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var r=Object.getOwnPropertyDescriptor(n,t);r&&!("get"in r?!n.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,r)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),a=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var n=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[n.length]=t);return n},i(e)},function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t=i(e),s=0;s<t.length;s++)"default"!==t[s]&&r(n,e,t[s]);return a(n,e),n});Object.defineProperty(n,"__esModule",{value:!0}),n.HudFailedReadConfigError=n.hudConfig=n.HudDynamicConfigSchema=void 0,n.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},n.getFrameworksToEnableFromEnv=function(){const e=process.env.HUD_ENABLE_FRAMEWORKS;let n;if(e)try{n=o.availableFrameworksSchema.parse(JSON.parse(e))}catch{n=new Map}return n},n.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e},n.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(n.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(n.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)},n.getConfigContent=function(){if(process.env.HUD_CONFIG)return{content:process.env.HUD_CONFIG,source:"HUD_CONFIG"};const e=function(){try{const e=process.env.HUD_CONFIG_PATH;if(e)return l.existsSync(e)?e:void 0;let n=__dirname,t=0;for(;"/"!==n&&t<10;){const e=`${n}/hud.config`;if(l.existsSync(e))return e;n=d.dirname(n),t++}}catch{return}}();if(e)try{return{content:l.readFileSync(e,"utf8"),source:e}}catch(n){throw new f(e,n.code)}};const o=t(8528),l=s(t(9896)),d=s(t(6928)),u=t(1569),c="globalThis._hudMark";n.HudDynamicConfigSchema=u.z.object({aggregationInterval:u.z.number(),aggregationFirstSendTimeout:u.z.number(),investigationInterval:u.z.number(),investigationFirstSendTimeout:u.z.number(),enableInvestigation:u.z.boolean(),enableInvestigationArgsSending:u.z.boolean(),investigationRateLimits:u.z.object({maxSameInvestigations:u.z.number().int().positive(),sameInvestigationTimeWindowMs:u.z.number().int().positive(),maxTotalInvestigations:u.z.number().int().positive(),totalInvestigationTimeWindowMs:u.z.number().int().positive(),maxUniqLogs:u.z.number().int().positive()}),machineMetricsInterval:u.z.number().int().positive(),blacklistParams:u.z.array(u.z.string()),forensicsBlacklistFields:u.z.array(u.z.string()),forensicsWhitelistFields:u.z.array(u.z.string()),censorshipRegexes:u.z.array(u.z.object({regex:u.z.string(),replacement:u.z.string()})),reingestInterval:u.z.number().int().positive(),extraHeaders:u.z.array(u.z.string())});const m=process.env.HUD_ENABLE_INVESTIGATION,g="_HUD",p={sink:{url:process.env.HUD_HOST||"https://api-prod.hud.io",timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",sessionslessLogs:"sink/sessionless-logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store",getUploadUrls:"sink/registry/get-upload-urls",triggerReingest:"sink/registry/reingest",validateToken:"sink/registry/validate",fileDeclarationsCi:"sink/registry/file-declarations",completed:"sink/registry/completed"},logger:{default:{levels:{app:"warning",worker:"warning",instrument:"warning"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},investigation:{objectVersion:"1.0.1",store:{type:"s3"},limits:{executionFlowMaxLength:100,exceptionMaxLength:100},maxStringLength:1024,maxArrayLength:100,maxObjectDepth:10},userConfig:{minPodMemoryMB:{value:250,source:"DEFAULT"},maxMappedFunctions:{value:5e4,source:"DEFAULT"},maxFileSizeBytes:{value:2831155,source:"DEFAULT"},maxTimeUntilInitSessionMs:{value:3e4,source:"DEFAULT"},includeModules:{value:[],source:"DEFAULT"},disableRuntimeInstrumentation:{value:!1,source:"DEFAULT"},disableParametersExtraction:{value:!1,source:"DEFAULT"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:process.env.HUD_LOG_DIR,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:3e4,endpointsFirstSendWaitTime:12e4,lazyEndpointsInterval:18e5,staticNextJsEndpointsInterval:1e4,staticNextJsEndpointsMaxAttempts:12,huddBinWidth:1.2,workerGrace:6e4,workerTimeout:2e4,timeoutOnRegister:6e4,timeoutOnMetrics:6e4,workerMessageTimeout:1e4,communicationBatchSize:100,writePatched:!1,defaultOff:!0,disableOnBadApiKey:!0,disableOnBadServiceName:!0,cpuTimeCollection:!1,workloadMetadata:{sendInterval:3e5,aws:{imds:{baseURL:"http://169.254.169.254/latest",tokenURI:"/api/token",identityURI:"/dynamic/instance-identity/document",lifeCycleURI:"/meta-data/instance-life-cycle",requestTimeout:5e3},metadataFile:"/run/cloud-init/instance-data.json"},kubernetes:{namespaceFile:"/var/run/secrets/kubernetes.io/serviceaccount/namespace",uuidFile:"/sys/class/dmi/id/product_uuid",podMemoryLimitFile:"/sys/fs/cgroup/memory/memory.stat",podCPULimitFile:"/sys/fs/cgroup/cpuacct/cpu.shares"}},deleteLogsAfterSending:!0,supportSourceMap:!0,editInline:!0,bundlerBuildIdVarName:"hudFileBuildID",bundlerBuildUuidNamespace:"00c1e90b-af75-4d8e-9935-68485877f759",functionUuidNamespace:"94a210f3-861c-4e18-ab27-6b6c19437c9d",wrapVarPrefix:g,functionIdVarName:`${g}_fid`,frameworksToPatch:new Map([["express",{framework:o.availableFrameworks.express,enable:!0,version:"<=5",patcher:"express",enableEsbuild:!0}],[d.join("express","lib","application.js"),{framework:o.availableFrameworks.express,enable:!0,version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{framework:o.availableFrameworks.express,enable:!0,version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{framework:o.availableFrameworks.koa,enable:!0,version:"^2.0.0",patcher:"koa"}],["http",{framework:o.availableFrameworks.http,enable:!0,version:"*",patcher:"http"}],["https",{framework:o.availableFrameworks.https,enable:!0,version:"*",patcher:"http"}],["next/dist/server/base-server",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextjs"}],["next/dist/server/lib/module-loader/route-module-loader",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextJsModuleLoader"}],["next/dist/server/config",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextJsConfig"}],["@nestjs/core/router/router-execution-context",{framework:o.availableFrameworks.nestjs,enable:!0,version:"*",patcher:"nestjsRouterExecutionContext"}],["kafkajs",{framework:o.availableFrameworks.kafkajs,enable:"win32"!==process.platform,version:">=1.4.0",patcher:"kafkajs"}],["@confluentinc/kafka-javascript",{framework:o.availableFrameworks.confluentKafkaJs,enable:!1,version:">=1.4.0",patcher:"confluentKafkaJs"}],["@nestjs/microservices/context/rpc-context-creator",{framework:o.availableFrameworks.nestjs,enable:"win32"!==process.platform,version:">=7.0.0",patcher:"nestjsRpcContextCreator"}],[["@codegenie/serverless-express","src","frameworks","express.js"].join(d.sep),{framework:o.availableFrameworks.codegenieServerlessExpress,enable:!0,version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{framework:o.availableFrameworks.codegenieServerlessExpress,enable:!0,enableEsbuild:!0}],["sqs-consumer",{framework:o.availableFrameworks.sqs,enable:!0,version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{framework:o.availableFrameworks.serverlessHttp,enable:!0,enableEsbuild:!0}],[d.join("serverless-http","lib","framework","get-framework.js"),{framework:o.availableFrameworks.serverlessHttp,enable:!0,version:"^2.7.0",patcher:"serverlessHttp",enableEsbuild:!0}]]),communicationKeepalive:!1,communicationKeepaliveGrace:5e3,express:{routeNamesSymbol:Symbol.for("hudRoutes"),layerStateSymbol:Symbol.for("hudState"),markedSymbol:Symbol.for("hudMarked"),wrapAllCallbacks:!0},supportedNodeVersions:["18","20","21","22","24"],hudPatchedName:"hudPatched",metricSymbol:Symbol.for("hudMetric"),dynamicConfig:{aggregationInterval:3e5,aggregationFirstSendTimeout:3e4,investigationInterval:5e3,investigationFirstSendTimeout:3e4,enableInvestigation:"true"===m,enableInvestigationArgsSending:!0,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,reingestInterval:3e4,extraHeaders:[],blacklistParams:[],censorshipRegexes:[],forensicsBlacklistFields:[],forensicsWhitelistFields:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==m,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,functionsToInstrument:[{moduleName:"pg",fileToFunctionsMapping:{[d.join(d.sep,"pg","lib","client.js")]:["query","connect","end"]}},{moduleName:"axios",fileToFunctionsMapping:{[d.join(d.sep,"axios","dist","node","axios.cjs")]:["request"]}},{moduleName:"typeorm",fileToFunctionsMapping:{[d.join(d.sep,"typeorm","repository","Repository.js")]:["hasId","getId","create","merge","preload","save","remove","softRemove","recover","insert","update","upsert","delete","softDelete","restore","exist","exists","existsBy","count","countBy","sum","average","minimum","maximum","find","findBy","findAndCount","findAndCountBy","findByIds","findOne","findOneBy","findOneById","findOneOrFail","findOneByOrFail","query","clear","increment","decrement","extend"]}}],esbuildGlobalVar:"hudSGV",esbuildPluginMessagePrefix:"ESBuild plugin ",esbuildMark:"/*modifiedByHudESBuildPlugin-",esbuildMarkLength:67,esbuildUploadSourceMapTimeout:15e3,esbuildPluginLogsChunkSize:100,esbuildPluginLogsBatchSize:10,pluginsLogEndpoint:"https://yqp37dddrsewm6wdwwpwfraxqm0shdmx.lambda-url.eu-central-1.on.aws/",uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"],nextJsMarkVarName:c,nextJsMarkStatement:`${c} = "a"`,timeoutOnNextJsPlugin:3e4,logIntervals:{instrumentedFilesCount:5e3,sentEventsCount:12e4},cliBuildIdVarName:"hudCliBuildId",cliSdkVersionVarName:"hudCliSdkVersion"};n.hudConfig=function(e={}){return{...p,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),n.default=n.hudConfig;class f extends Error{path;code;constructor(e,n){super(),this.path=e,this.code=n}}n.HudFailedReadConfigError=f},5453:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_VERSION=void 0,n.SDK_VERSION="1.6.32"},6928:e=>{e.exports=require("path")},7089:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ObjectStoreConfigSchema=void 0;const i=t(1569),r=i.z.object({type:i.z.literal("s3")}),a=i.z.object({type:i.z.literal("disk"),path:i.z.string()});n.ObjectStoreConfigSchema=i.z.union([r,a])},8528:e=>{e.exports=require("./dto")},9896:e=>{e.exports=require("fs")}},n={};return function t(i){var r=n[i];if(void 0!==r)return r.exports;var a=n[i]={exports:{}};return e[i].call(a.exports,a,a.exports,t),a.exports}(2509)})());
1
+ !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var i in t)("object"==typeof exports?exports:e)[i]=t[i]}}(global,()=>(()=>{"use strict";var e={1569:e=>{e.exports=require("zod")},2210:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_MODULE_NAME=void 0,n.SDK_MODULE_NAME="hud-sdk"},2509:function(e,n,t){var i=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var r=Object.getOwnPropertyDescriptor(n,t);r&&!("get"in r?!n.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,r)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),r=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(n,t)||i(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_VERSION=n.SDK_MODULE_NAME=void 0,r(t(2887),n),r(t(2570),n);var a=t(2210);Object.defineProperty(n,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return a.SDK_MODULE_NAME}}),r(t(7089),n);var s=t(5453);Object.defineProperty(n,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},2570:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateDynamicConfig=function(e,n,t){const a=i.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!a.success)return t.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:a,remoteConfig:e}),n.dynamicConfig;const s=r(n.dynamicConfig,a.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==n.dynamicConfig.enableInvestigation&&(t.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),n.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),void 0!==s.enableInvestigationArgsSending&&s.enableInvestigationArgsSending!==n.dynamicConfig.enableInvestigationArgsSending&&(t.info("Dynamic configuration updated - enableInvestigationArgsSending",{hudEnableInvestigationArgsSending:s.enableInvestigationArgsSending}),globalThis.hudEnableInvestigationArgsSending=s.enableInvestigationArgsSending),s};const i=t(2887);function r(e,n){if(null===n||"object"!=typeof n)return n;if(Array.isArray(e)&&Array.isArray(n))return n;const t={...e};for(const i in n){const a=e[i],s=n[i];t[i]=r(a,s)}return t}},2887:function(e,n,t){var i,r=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t);var r=Object.getOwnPropertyDescriptor(n,t);r&&!("get"in r?!n.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,i,r)}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),a=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var n=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[n.length]=t);return n},i(e)},function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t=i(e),s=0;s<t.length;s++)"default"!==t[s]&&r(n,e,t[s]);return a(n,e),n});Object.defineProperty(n,"__esModule",{value:!0}),n.HudFailedReadConfigError=n.hudConfig=n.HudDynamicConfigSchema=void 0,n.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},n.getFrameworksToEnableFromEnv=function(){const e=process.env.HUD_ENABLE_FRAMEWORKS;let n;if(e)try{n=o.availableFrameworksSchema.parse(JSON.parse(e))}catch{n=new Map}return n},n.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e},n.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(n.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(n.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)},n.getConfigContent=function(){if(process.env.HUD_CONFIG)return{content:process.env.HUD_CONFIG,source:"HUD_CONFIG"};const e=function(){try{const e=process.env.HUD_CONFIG_PATH;if(e)return l.existsSync(e)?e:void 0;let n=__dirname,t=0;for(;"/"!==n&&t<10;){const e=`${n}/hud.config`;if(l.existsSync(e))return e;n=d.dirname(n),t++}}catch{return}}();if(e)try{return{content:l.readFileSync(e,"utf8"),source:e}}catch(n){throw new v(e,n.code)}};const o=t(8528),l=s(t(9896)),d=s(t(6928)),u=t(1569),c="globalThis._hudMark";n.HudDynamicConfigSchema=u.z.object({aggregationInterval:u.z.number(),aggregationFirstSendTimeout:u.z.number(),investigationInterval:u.z.number(),investigationFirstSendTimeout:u.z.number(),enableInvestigation:u.z.boolean(),enableInvestigationArgsSending:u.z.boolean(),investigationRateLimits:u.z.object({maxSameInvestigations:u.z.number().int().positive(),sameInvestigationTimeWindowMs:u.z.number().int().positive(),maxTotalInvestigations:u.z.number().int().positive(),maxTotalInvestigationsErrorBased:u.z.number().int().positive(),maxTotalInvestigationsDurationBased:u.z.number().int().positive(),totalInvestigationTimeWindowMs:u.z.number().int().positive(),maxUniqLogs:u.z.number().int().positive()}),machineMetricsInterval:u.z.number().int().positive(),blacklistParams:u.z.array(u.z.string()),forensicsBlacklistFields:u.z.array(u.z.string()),forensicsWhitelistFields:u.z.array(u.z.string()),censorshipRegexes:u.z.array(u.z.object({regex:u.z.string(),replacement:u.z.string()})),reingestInterval:u.z.number().int().positive(),extraHeaders:u.z.array(u.z.string())});const m=process.env.HUD_ENABLE_INVESTIGATION,g="_HUD",p={sink:{url:process.env.HUD_HOST||"https://api-prod.hud.io",timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",sessionslessLogs:"sink/sessionless-logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store",getUploadUrls:"sink/registry/get-upload-urls",triggerReingest:"sink/registry/reingest",validateToken:"sink/registry/validate",fileDeclarationsCi:"sink/registry/file-declarations",completed:"sink/registry/completed",endpointsDurationsInvestigationThresholds:"sink/endpoint-configuration"},logger:{default:{levels:{app:"warning",worker:"warning",instrument:"warning"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},investigation:{objectVersion:"1.0.1",store:{type:"s3"},limits:{executionFlowMaxLength:100,exceptionMaxLength:100},maxStringLength:1024,maxArrayLength:100,maxObjectDepth:10},userConfig:{minPodMemoryMB:{value:250,source:"DEFAULT"},maxMappedFunctions:{value:5e4,source:"DEFAULT"},maxFileSizeBytes:{value:2831155,source:"DEFAULT"},maxTimeUntilInitSessionMs:{value:3e4,source:"DEFAULT"},includeModules:{value:[],source:"DEFAULT"},disableRuntimeInstrumentation:{value:!1,source:"DEFAULT"},disableParametersExtraction:{value:!1,source:"DEFAULT"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:process.env.HUD_LOG_DIR,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:3e4,endpointsFirstSendWaitTime:12e4,lazyEndpointsInterval:18e5,staticNextJsEndpointsInterval:1e4,staticNextJsEndpointsMaxAttempts:12,huddBinWidth:1.2,endpointsDurationsInvestigationThresholdsInterval:6e5,workerGrace:6e4,workerTimeout:2e4,timeoutOnRegister:6e4,timeoutOnMetrics:6e4,workerMessageTimeout:1e4,communicationBatchSize:100,writePatched:!1,defaultOff:!0,disableOnBadApiKey:!0,disableOnBadServiceName:!0,cpuTimeCollection:!1,workloadMetadata:{sendInterval:3e5,aws:{imds:{baseURL:"http://169.254.169.254/latest",tokenURI:"/api/token",identityURI:"/dynamic/instance-identity/document",lifeCycleURI:"/meta-data/instance-life-cycle",requestTimeout:5e3},metadataFile:"/run/cloud-init/instance-data.json"},kubernetes:{namespaceFile:"/var/run/secrets/kubernetes.io/serviceaccount/namespace",uuidFile:"/sys/class/dmi/id/product_uuid",podMemoryLimitFile:"/sys/fs/cgroup/memory/memory.stat",podCPULimitFile:"/sys/fs/cgroup/cpuacct/cpu.shares"}},deleteLogsAfterSending:!0,supportSourceMap:!0,editInline:!0,bundlerBuildIdVarName:"hudFileBuildID",bundlerBuildUuidNamespace:"00c1e90b-af75-4d8e-9935-68485877f759",functionUuidNamespace:"94a210f3-861c-4e18-ab27-6b6c19437c9d",wrapVarPrefix:g,functionIdVarName:`${g}_fid`,frameworksToPatch:new Map([["express",{framework:o.availableFrameworks.express,enable:!0,version:"<=5",patcher:"express",enableEsbuild:!0}],[d.join("express","lib","application.js"),{framework:o.availableFrameworks.express,enable:!0,version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{framework:o.availableFrameworks.express,enable:!0,version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{framework:o.availableFrameworks.koa,enable:!0,version:"^2.0.0",patcher:"koa"}],["http",{framework:o.availableFrameworks.http,enable:!0,version:"*",patcher:"http"}],["https",{framework:o.availableFrameworks.https,enable:!0,version:"*",patcher:"http"}],["next/dist/server/base-server",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextjs"}],["next/dist/server/lib/module-loader/route-module-loader",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextJsModuleLoader"}],["next/dist/server/config",{framework:o.availableFrameworks.nextjs,enable:!1,version:">=13.4.0",patcher:"nextJsConfig"}],["@nestjs/core/router/router-execution-context",{framework:o.availableFrameworks.nestjs,enable:!0,version:"*",patcher:"nestjsRouterExecutionContext"}],["kafkajs",{framework:o.availableFrameworks.kafkajs,enable:"win32"!==process.platform,version:">=1.4.0",patcher:"kafkajs"}],["@confluentinc/kafka-javascript",{framework:o.availableFrameworks.confluentKafkaJs,enable:!1,version:">=1.4.0",patcher:"confluentKafkaJs"}],["@nestjs/microservices/context/rpc-context-creator",{framework:o.availableFrameworks.nestjs,enable:"win32"!==process.platform,version:">=7.0.0",patcher:"nestjsRpcContextCreator"}],[["@codegenie/serverless-express","src","frameworks","express.js"].join(d.sep),{framework:o.availableFrameworks.codegenieServerlessExpress,enable:!0,version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{framework:o.availableFrameworks.codegenieServerlessExpress,enable:!0,enableEsbuild:!0}],["sqs-consumer",{framework:o.availableFrameworks.sqs,enable:!0,version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{framework:o.availableFrameworks.serverlessHttp,enable:!0,enableEsbuild:!0}],[d.join("serverless-http","lib","framework","get-framework.js"),{framework:o.availableFrameworks.serverlessHttp,enable:!0,version:"^2.7.0",patcher:"serverlessHttp",enableEsbuild:!0}]]),communicationKeepalive:!1,communicationKeepaliveGrace:5e3,express:{routeNamesSymbol:Symbol.for("hudRoutes"),layerStateSymbol:Symbol.for("hudState"),markedSymbol:Symbol.for("hudMarked"),wrapAllCallbacks:!0},supportedNodeVersions:["18","20","21","22","24"],hudPatchedName:"hudPatched",metricSymbol:Symbol.for("hudMetric"),dynamicConfig:{aggregationInterval:3e5,aggregationFirstSendTimeout:3e4,investigationInterval:5e3,investigationFirstSendTimeout:3e4,enableInvestigation:"true"===m,enableInvestigationArgsSending:!0,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,maxTotalInvestigationsErrorBased:25,maxTotalInvestigationsDurationBased:20,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,reingestInterval:3e4,extraHeaders:[],blacklistParams:[],censorshipRegexes:[],forensicsBlacklistFields:[],forensicsWhitelistFields:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==m,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,functionsToInstrument:[{moduleName:"pg",fileToFunctionsMapping:{[d.join(d.sep,"pg","lib","client.js")]:["query","connect","end"]}},{moduleName:"axios",fileToFunctionsMapping:{[d.join(d.sep,"axios","dist","node","axios.cjs")]:["request"]}},{moduleName:"typeorm",fileToFunctionsMapping:{[d.join(d.sep,"typeorm","repository","Repository.js")]:["hasId","getId","create","merge","preload","save","remove","softRemove","recover","insert","update","upsert","delete","softDelete","restore","exist","exists","existsBy","count","countBy","sum","average","minimum","maximum","find","findBy","findAndCount","findAndCountBy","findByIds","findOne","findOneBy","findOneById","findOneOrFail","findOneByOrFail","query","clear","increment","decrement","extend"]}}],esbuildGlobalVar:"hudSGV",esbuildPluginMessagePrefix:"ESBuild plugin ",esbuildMark:"/*modifiedByHudESBuildPlugin-",esbuildMarkLength:67,esbuildUploadSourceMapTimeout:15e3,esbuildPluginLogsChunkSize:100,esbuildPluginLogsBatchSize:10,pluginsLogEndpoint:"https://yqp37dddrsewm6wdwwpwfraxqm0shdmx.lambda-url.eu-central-1.on.aws/",uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"],nextJsMarkVarName:c,nextJsMarkStatement:`${c} = "a"`,timeoutOnNextJsPlugin:3e4,logIntervals:{instrumentedFilesCount:5e3,sentEventsCount:12e4},cliBuildIdVarName:"hudCliBuildId",cliSdkVersionVarName:"hudCliSdkVersion"};n.hudConfig=function(e={}){return{...p,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),n.default=n.hudConfig;class v extends Error{path;code;constructor(e,n){super(),this.path=e,this.code=n}}n.HudFailedReadConfigError=v},5453:(e,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SDK_VERSION=void 0,n.SDK_VERSION="1.6.33"},6928:e=>{e.exports=require("path")},7089:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ObjectStoreConfigSchema=void 0;const i=t(1569),r=i.z.object({type:i.z.literal("s3")}),a=i.z.object({type:i.z.literal("disk"),path:i.z.string()});n.ObjectStoreConfigSchema=i.z.union([r,a])},8528:e=>{e.exports=require("./dto")},9896:e=>{e.exports=require("fs")}},n={};return function t(i){var r=n[i];if(void 0!==r)return r.exports;var a=n[i]={exports:{}};return e[i].call(a.exports,a,a.exports,t),a.exports}(2509)})());
2
2
  //# sourceMappingURL=config.js.map
package/dist/cjs/core.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},2546:e=>{e.exports=require("./lib")},2702:function(e,t,r){var i,o=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return n(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerKeepaliveGuard=void 0;const a=s(r(523)),d=r(8528),c=a.app_logger;t.WorkerKeepaliveGuard=class{worker;keepaliveGrace;timeoutId=void 0;eventHandler=this.keepalive.bind(this);constructor(e,t){this.worker=e,this.keepaliveGrace=t}keepalive(e){try{if(e.msg!==d.KeepAliveMessage.msg)return;this._restartTimeout()}catch(e){c.error("Error in keepalive",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}_restartTimeout(){const e=setTimeout(()=>{},this.keepaliveGrace);clearTimeout(this.timeoutId),this.timeoutId=e}start(){this.stop(),this.worker.on("message",this.eventHandler).unref()}stop(){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),this.worker.off("message",this.eventHandler),this.timeoutId=void 0}}},5119:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0;const o=i(r(6281));t.init=o.default},5809:e=>{e.exports=require("./config")},5994:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainThread=void 0;const o=r(8167),n=r(2546),s=r(5809),a=r(8269),d=r(523),c=r(6281),g=i(r(7320));function l(){globalThis.hudInstrumentationOccured&&d.customer_logger.log(n.UserErrorLogs.YesInstrumentationNoMetrics())}t.MainThread=class{apiKey;service;startTime;tags;messenger;constructor(e,t,r,i){this.apiKey=e,this.service=t,this.startTime=r,this.tags=i,(0,a.storeCredentials)(e,t)}startFailed(e){e instanceof n.HudSessionThrottle?(d.customer_logger.log(n.UserLogs.InitIdleMode()),(0,c._detachAndTerminate)(!1,!1,!0)):e instanceof n.HudInitNetworkError&&e.originalAxiosErrorCode?(d.customer_logger.log((0,n.getNetworkError)(e.originalAxiosErrorCode)),d.app_logger.critical("Failed to start worker because of network error",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,c._detachAndTerminate)(!1,!1,!0)):(d.app_logger.critical("Failed to start worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,n.setFirstError)(e.code),(0,c._detachAndTerminate)(!0,!1,!0))}async _registerLambdaExtension(){const e=await(0,n.register)();return(0,a.setLambdaExtensionId)(e),e}async startMessenger(e){try{this.messenger=await this._createMessenger(e),await this._start(),d.customer_logger.log(n.UserLogs.HudInitSuccess())}catch(e){throw this.startFailed(e),e}}async start(){if(o.isMainThread)if(globalThis.hudRuningInsideLambda)try{const e=await this._registerLambdaExtension();d.app_logger.info("Lambda extension registered, not waiting for worker to start",{lambdaExtensionId:e}),(0,n.next)(e).then(async()=>{d.app_logger.info("Lambda got first event, creating messenger");try{await this.startMessenger(e)}catch{}})}catch(e){throw this.startFailed(e),e}else await this.startMessenger(void 0)}async _start(){if(!this.messenger)throw new n.HudInitError("Messenger not initialized");try{const e=await this.messenger.checkWorkerInitialized(s.hudConfig.workerTimeout),t=e?.content?.sessionInfo;t&&(0,a.storeSessionInfo)(t),await this._initDynamicConfig(),globalThis.hudMetricsIndicator=setTimeout(l,s.hudConfig.timeoutOnMetrics),globalThis.hudMetricsIndicator.unref()}catch(e){const t=e instanceof Error?e.message:void 0;if(e instanceof n.HudSessionThrottle)throw e;throw d.app_logger.critical("Failed to start worker",{msg:t}),e}await this.messenger.start()}async _createMessenger(e){const t=n.myRequire.resolve(`${s.SDK_MODULE_NAME}/worker`),r={...process.env};delete r.NODE_OPTIONS;const i=new o.Worker(t,{workerData:{apiKey:this.apiKey,service:this.service,startTime:this.startTime,tags:this.tags,lambdaExtensionId:e,shouldCreateDeclaraionWorker:!!e,userConfig:s.hudConfig.userConfig},execArgv:[],env:r});let a;try{a=new g.default(i),await a.checkWorker(s.hudConfig.workerTimeout)}catch(e){if(e instanceof n.HudSessionThrottle)throw d.app_logger.info("Worker started in idle mode - session throttled"),e;throw d.app_logger.critical("Worker failed to start",{msg:e instanceof Error?e.message:void 0}),e}finally{i.unref()}return a}async _initDynamicConfig(){const e=await(this.messenger?.getRemoteConfig());e?(d.app_logger.info("Remote configuration exists"),s.hudConfig.dynamicConfig=(0,s.updateDynamicConfig)(e,s.hudConfig,d.app_logger),(0,s.updateInvestigationRateLimitGlobals)(),d.app_logger.info("Current dynamic configuration:",{currentDynamicConfig:s.hudConfig.dynamicConfig})):d.app_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:s.hudConfig.dynamicConfig})}async terminateMessenger(){await(this.messenger?.terminateWorker()),this.messenger?.stop(),this.messenger=void 0}}},6261:e=>{e.exports=require("events")},6281:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e,t,r){try{if(!globalThis.hudRanOnRequire)return;if(globalThis.hudRunMutex)return void o.app_logger.warning("Already ran init!");if(globalThis.hudRunMutex=!0,(0,d.clearInitGuard)(),!o.app_logger.isValid()||!o.customer_logger.isValid())return(0,c.setFirstError)((new c.HudBadLoggerError).code),void h(!0,!0);(0,i.updateUserConfigFromInit)(e,t,r);const g=(0,d.validateAndGetUserInput)();if(!g)return;if(globalThis.hudRunningMode!==a.HudRunningMode.enabled)return void o.app_logger.critical("SDK running mode is not enabled - initialization aborted");if(o.app_logger.info("Initializing hud",{userConfig:Object.entries(s.hudConfig.userConfig).filter(([e,t])=>"DEFAULT"!==t.source)}),l=new n.MainThread(g.apiKey,g.service,globalThis.hudStartTime,s.hudConfig.userConfig.tags?.value),await l.start(),l.messenger&&(0,c.safeCall)(o.app_logger,l.messenger.handleLogsTask()),globalThis.hudImportStartTime){const e=process.uptime()-globalThis.hudImportStartTime;o.app_logger.info("Hud initialized",{importTime:e,startTime:globalThis.hudImportStartTime})}}catch(e){try{if(e instanceof c.HudSessionThrottle)return;o.app_logger.critical("Something went wrong in init",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}catch{o.app_logger.critical("Something went wrong in init & e.stack raised an exception")}h(!0,!1,!0)}},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e},t._detachAndTerminate=h;const i=r(2546),o=r(523),n=r(5994),s=r(5809),a=r(8528),d=r(8269),c=r(2546),g=r(7274);let l,u=!1;function h(e=!0,t=!1,r=!1){(0,d.detachHud)(e,t),r&&(0,c.safeCall)(o.app_logger,(0,d.flushLogs)()),l&&(0,c.safeCall)(o.app_logger,l.terminateMessenger());const n=(0,d.getLambdaExtensionId)();n&&!u&&(u=!0,(0,c.safeCall)(o.app_logger,(0,i.nextLoopDummy)(n))),(0,d.clearUserIndicatorsTimeouts)(),(0,g.resetCallers)()}},6460:e=>{e.exports=require("timers/promises")},7131:e=>{e.exports=require("./wrap")},7274:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t._liftExceptions=s,t.prepCalls=function(e,t){const r=(new Date).toISOString(),n=[];return Object.entries(hudCalls).map(([i,a])=>{Object.entries(a).forEach(([a,d])=>{Object.entries(d).forEach(([d,c])=>{try{if(0===c.sampledCount)return;const o={function_id:i,wrapped_flow_id:d||void 0,wrapped_caller_id:a||void 0,timestamp:r,timeslice:e,exceptions:s(c.exceptions),count:c.count-c.lastSentCounter,sampled_count:c.sampledCount,sum_duration:c.sum,sum_squared_duration:c.squareSum,sketch:c.sketch?t.encode(c.sketch):void 0,is_linked_function:c.isLinkedFunction};n.push(o),function(e){e.lastSentCounter=e.count,e.sampledCount=0,e.sum=0,e.squareSum=0,e.sketch=null,e.exceptions={}}(c)}catch(e){o.app_logger.error("Failed preparing invocation, skipping",{func:i,wrappedCaller:a,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})})}),n.length>0&&(0,i.clearMetricsIndicator)(),n},t.resetCallers=function(){for(const e in globalThis.hudCalls)for(const t in globalThis.hudCalls[e])for(const r in globalThis.hudCalls[e][t])n(globalThis.hudCalls[e][t][r])};const i=r(8269),o=r(523);function n(e){e.lastSentCounter-=e.count,e.count=0}function s(e){const t={};for(const r in e)t[r]=[{count:e[r]}];return t}},7320:function(e,t,r){var i,o=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return n(t,e),t});Object.defineProperty(t,"__esModule",{value:!0});const a=s(r(523)),d=s(r(6460)),c=r(5809),g=r(2546),l=r(8528),u=r(2546),h=r(7131),f=r(8269),m=r(2546),p=r(7274),v=r(2702),k=r(8269),w=r(2546),y=r(6281),C=r(2546),b=r(6261),_=a.app_logger,E=m.safeCall.bind(m.safeCall,_);t.default=class{worker;tsNodeUpdated=!1;staticNextJsEndpointsSent=!1;abortController;workerKeepaliveGuard;constructor(e){this.worker=e,this.abortController=new AbortController,(0,b.setMaxListeners)(20,this.abortController.signal),this.worker.on("error",this.handleWorkerError).unref(),this.workerKeepaliveGuard=new v.WorkerKeepaliveGuard(e,c.hudConfig.communicationKeepaliveGrace),this._updateTsNodeConfig()&&_.info("ts-node config updated from Messenger constructor")}handleWorkerError=e=>{try{e?.code===(new m.HudClientUnauthorizedError).code&&a.customer_logger.log(m.UserErrorLogs.ApiKeyDenied(c.hudConfig.userConfig.key?.source)),_.critical("Error from worker, stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,m.setFirstError)(e?.code),this.stop(),(0,y._detachAndTerminate)(!0,!1,!0)}catch(e){_.critical("Error stopping hud after worker crash",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};stop(){this.abortWorker(),c.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.stop(),this.abortController.abort(),this.abortController=new AbortController,(0,f.resetGlobals)()}abortWorker(){this._sendObject("Abort",{})}async restart(e){this.stop(),globalThis.hudRunningMode=e,await this.start()}_sendArray(e,t){t.length>0&&(this._sendObject(e,t),_.debug("sent data to worker",{msg:e,size:t.length}))}_sendObject(e,t){const r={msg:e,content:t};this.worker.postMessage(r)}async checkWorker(e){const t=["started"];let r;try{r=await this.getMessageFromWorker(t,e,!0)}catch(i){if(!(i instanceof m.HudTimeoutError))throw i;r=await this.getMessageFromWorker(t,e/2,!1)}if(!r)throw new m.HudInitError("Worker not started");return r}async checkWorkerInitialized(e){let t;const r=["initialized","throttled","networkError"];try{t=await this.getMessageFromWorker(r,e,!0)}catch(i){if(!(i instanceof m.HudTimeoutError))throw i;t=await this.getMessageFromWorker(r,e/10,!1)}if("throttled"===t?.msg)throw new m.HudSessionThrottle;if("networkError"===t?.msg)throw _.error("networkError",{error:t.content.error}),new m.HudInitNetworkError(t.content.message,t.content.originalMessage);if(!t||"initialized"!==t?.msg||void 0===t?.content)throw new m.HudInitError("Worker not initialized successfully");if(t?.content.status!==l.HudSessionInitStatus.success)throw new m.HudInitError("Worker not initialized successfully");return t}async start(){switch(c.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.start(),globalThis.hudRunningMode){case l.HudRunningMode.enabled:_.info("Enabled mode"),E(this.getMode()),E(this.startPeriodicTasks()),E(this.periodicSendMetrics()),E(this.highFrequencySendInvestigations()),E(this.periodicSendProcessedFiles()),E(this.periodicSendEndpoints()),E(this.periodicSendLazyEndpoints()),E(this.periodicSendKafkaJS()),E(this.periodicSendSqs()),E(this.sendStaticNextJsEndpointsOnce()),E(this.periodicSaveMachineMetrics()),E(this.periodicSendReingest()),E(this.resetCallerCounters()),E(this.periodicResetGlobalInvestigationCounter()),E(this.periodicResetInvestigationDedupingCache()),E(this.sendLogsPeriodically(c.hudConfig.logsSendInterval)),E(this.sendRuntime()),E(this.sendPatchedModules()),E(this.sendPreloadedModules()),E(this.dumpModulesAfterWhile(6e4)),E((0,m.loopLogThreadPerformance)(_,c.hudConfig.logPerfInterval,this.abortController.signal));break;case l.HudRunningMode.disabled:_.info("Disabled mode"),E(this.getMode());break;case l.HudRunningMode.detached:_.info("Detached"),(0,y._detachAndTerminate)(!1,!1),this.stop();break;default:_.error("Running mode not handled")}}async getMessageFromWorker(e,t,r=!1,i){let o;e=Array.isArray(e)?e:[e];const n=new AbortController,s=()=>{n.abort()};this.abortController.signal.addEventListener("abort",s);const a=d.setTimeout(t,void 0,{signal:n.signal,ref:r}),c=t=>{try{e.includes(t.msg)&&(o=t,n.abort(),_.info("Received message from worker (canceling timeout)",t))}catch(e){_.error("Failed handling message from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};this.worker.on("message",c).unref(),i&&this.worker.postMessage(i);try{throw await a,_.warning("Timeout waiting for message from worker"),new m.HudTimeoutError}catch(e){if(!(0,m.isAbortError)(e))throw(0,m.setFirstError)(e.code),e}finally{this.abortController.signal.removeEventListener("abort",s),this.worker.off("message",c)}return o}async getMode(){for await(const e of(0,u.unrefSetInterval)(c.hudConfig.modeInterval,void 0,{signal:this.abortController.signal}))try{const e={msg:"GetMode",content:{startTime:globalThis.hudStartTime,runningMode:globalThis.hudRunningMode}},t=await this.getMessageFromWorker(e.msg,c.hudConfig.workerMessageTimeout,!1,e);if(t?.msg!==e.msg||void 0===t?.content.mode){_.error("Unexpected message from worker",t);continue}t.content.mode!==globalThis.hudRunningMode&&await this.restart(t?.content.mode)}catch(e){_.error("Failed getting mode from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async getRemoteConfig(){const e="initDynamicConfig";try{const t=await this.getMessageFromWorker(e,c.hudConfig.workerMessageTimeout,!0);if(t?.msg!==e||void 0===t?.content)throw new Error(`Unexpected message from worker: ${t}`);return t?.content}catch(e){_.error("Failed getting remote configuration from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicSaveMachineMetrics(){(0,f.saveMachineMetric)();for await(const e of(0,u.unrefSetInterval)(c.hudConfig.dynamicConfig.machineMetricsInterval,void 0,{signal:this.abortController.signal}))(0,f.saveMachineMetric)()}async resetCallerCounters(){const e=c.hudConfig.callerResetInterval;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting caller",{interval:e}),(0,p.resetCallers)()}catch(e){_.error("Failed reseting caller counters",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicSendProcessedFiles(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;let r=!0;await this.setupPeriodicTask(e,t,()=>{if(r){r=!1;try{this._updateTsNodeConfig()&&_.info("ts-node config updated from periodicSendProcessedFiles")}catch{return!1}}const e=function(){const e=globalThis.hudProcessedFiles;return globalThis.hudProcessedFiles=[],e}();return this._sendArray("ProcessedFiles",e),!0},"periodicSendProcessedFiles")}async periodicSendKafkaJS(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,k.getKafkaJSTopics)();return this._sendArray("KafkaJSTopics",e),!0},"periodicSendKafkaJS")}async periodicSendSqs(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,k.getSqsQueues)();return e.length>0&&this._sendArray("SqsQueue",e),!0},"periodicSendSqs")}async periodicSendMetrics(){const e=new h.SketchManager(c.hudConfig.huddBinWidth),t=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,r=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(t,r,t=>{try{this.refreshInvestigations()}catch(e){_.error("Failed sending investigations",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{const r=(0,p.prepCalls)(t,e);r.length>0&&this._sendArray("Invocations",r)}catch(e){_.error("Failed sending invocations",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{const e=(0,f.getFlowMetrics)(t);Object.keys(e).length>0&&this._sendObject("FlowMetrics",{aggregatedMetrics:e})}catch(e){_.error("Failed sending flow metrics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return!0},"periodicSendMetrics")}async highFrequencySendInvestigations(){if(!c.hudConfig.dynamicConfig.enableInvestigation)return;const e=c.hudConfig.dynamicConfig.investigationFirstSendTimeout,t=c.hudConfig.dynamicConfig.investigationInterval;await this.setupPeriodicTask(e,t,()=>(this.refreshInvestigations(),!0),"highFrequencySendInvestigations")}refreshInvestigations(){const e=(0,k.getClosedInvestigations)();e.length>0&&this._sendArray("Investigations",e)}async periodicSendEndpoints(){const e=c.hudConfig.endpointsFirstSendWaitTime,t=c.hudConfig.endpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendEndpoints(),!0),"periodicSendEndpoints")}async periodicSendLazyEndpoints(){const e=c.hudConfig.endpointsFirstSendWaitTime,t=c.hudConfig.lazyEndpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendLazyEndpoints(),!0),"periodicSendLazyEndpoints")}sendLazyEndpoints(){const e=(0,k.getExpressEndpointDeclarations)().map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",e)}sendEndpoints(){const e=(0,f.getEndpointDeclarationsFromStorage)().map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",e)}async terminateWorker(){try{const e=a.getSavedLogs();await this.getMessageFromWorker("terminated",c.hudConfig.workerGrace,!1,{msg:"Terminate",content:{grace:c.hudConfig.workerGrace,logBuffers:e}})}catch(e){if(!(e instanceof m.HudTimeoutError))throw _.critical("Unexpected error during worker termination",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),await this.worker.terminate(),e;_.critical("Grace period timeout - terminating worker",{error:e.message}),await this.worker.terminate()}_.info("Worker terminated successfully.")}async sendRuntime(){const e={nodeVersion:process.version,nodeDependencyVersions:process.versions,platform:process.platform,architecture:process.arch,pid:process.pid,cwd:process.cwd(),execPath:process.execPath,execArgv:process.execArgv,argv:process.argv,uptime:process.uptime(),mainModulePath:r.c[r.s]?.filename};this._sendObject("Runtime",e)}async startPeriodicTasks(){this._sendObject("StartPeriodicTasks",{})}async sendPreloadedModules(){globalThis.hudLoadedModules?this._sendObject("PreInitLoadedModules",{modules:globalThis.hudLoadedModules}):_.warning("Didn't get module, weird....")}async dumpModulesAfterWhile(e){await(0,u.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal});const t=Object.keys(w.myRequire.cache);this._sendObject("PostInitLoadedModules",{modules:t})}async sendPatchedModules(){if(!globalThis.hudPatched)return void _.error("Cant find patched modules");const e=Array.from(globalThis.hudPatched);this._sendObject("PatchedModules",{modules:e})}async handleLogsTask(){try{const e=a.getSavedLogs();for(const t of e)try{this._sendObject("Logs",{logs:t})}catch(e){_.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}catch(e){_.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async sendLogsPeriodically(e){for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))await this.handleLogsTask()}async setupPeriodicTask(e,t,r,i){function o(e){let t=!0;try{t=r(e)}catch(e){_.error("Failed in periodic task",{taskName:i,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t}if(await(0,u.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal}),o(e)){for await(const e of(0,u.unrefSetInterval)(t,void 0,{signal:this.abortController.signal}))if(!o(t))return void _.warning("Periodic task failed, stopping task",{firstRun:!1,taskName:i})}else _.warning("Periodic task failed, stopping task",{firstRun:!0,taskName:i})}async periodicResetGlobalInvestigationCounter(){const e=c.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting global investigation counter",{interval:e}),(0,k.setGlobalInvestigationTracking)(0)}catch(e){_.error("Failed resetting global investigation counter",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicResetInvestigationDedupingCache(){const e=c.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting investigation deduping cache",{interval:e}),(0,k.resetInvestigationDedupingCache)()}catch(e){_.error("Failed resetting investigation deduping cache",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}_updateTsNodeConfig(){if(this.tsNodeUpdated)return!1;try{const e=(0,C.getUserTsNodeConfig)();return!!e&&(this.tsNodeUpdated=!0,_.info("tsconfig found, sending config to worker"),this._sendObject("TsNodeConfig",{tsConfig:e}),!0)}catch(e){throw this.tsNodeUpdated=!0,this.stop(),e instanceof m.HudError&&(0,m.setFirstError)(e.code),(0,y._detachAndTerminate)(!1),e}}async sendStaticNextJsEndpointsOnce(){if(!(0,g.isNextJsApp)())return;const e=c.hudConfig.staticNextJsEndpointsInterval,t=c.hudConfig.staticNextJsEndpointsMaxAttempts;let r=0;for await(const i of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal})){if(r++,_.debug("Attempting to send static next.js endpoints",{attemptCount:r}),(0,k.isNextConfigExtracted)()&&!this.staticNextJsEndpointsSent){_.info("Sending static next.js endpoints",{isNextConfigExtracted:(0,k.isNextConfigExtracted)()}),this.staticNextJsEndpointsSent=!0;const e=(0,k.getNextConfig)();this._sendObject("StaticNextJsEndpoints",{NextConfig:JSON.stringify(e)});break}if(r>t){_.warning("Exceeded max attempts to send static next.js endpoints",{isNextConfigExtracted:(0,k.isNextConfigExtracted)(),attemptCount:r});break}}}async periodicSendReingest(){for await(const e of(0,u.unrefSetInterval)(c.hudConfig.dynamicConfig.reingestInterval,void 0,{signal:this.abortController.signal})){const e=(0,f.getAndClearReingestValues)();e.size>0&&this._sendArray("Reingest",Array.from(e))}}}},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")}},t={};function r(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}return r.c=t,r(r.s=5119)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},2546:e=>{e.exports=require("./lib")},2702:function(e,t,r){var i,o=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return n(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerKeepaliveGuard=void 0;const a=s(r(523)),d=r(8528),c=a.app_logger;t.WorkerKeepaliveGuard=class{worker;keepaliveGrace;timeoutId=void 0;eventHandler=this.keepalive.bind(this);constructor(e,t){this.worker=e,this.keepaliveGrace=t}keepalive(e){try{if(e.msg!==d.KeepAliveMessage.msg)return;this._restartTimeout()}catch(e){c.error("Error in keepalive",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}_restartTimeout(){const e=setTimeout(()=>{},this.keepaliveGrace);clearTimeout(this.timeoutId),this.timeoutId=e}start(){this.stop(),this.worker.on("message",this.eventHandler).unref()}stop(){void 0!==this.timeoutId&&clearTimeout(this.timeoutId),this.worker.off("message",this.eventHandler),this.timeoutId=void 0}}},5119:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0;const o=i(r(6281));t.init=o.default},5809:e=>{e.exports=require("./config")},5994:function(e,t,r){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainThread=void 0;const o=r(8167),n=r(2546),s=r(5809),a=r(8269),d=r(523),c=r(6281),g=i(r(7320));function l(){globalThis.hudInstrumentationOccured&&d.customer_logger.log(n.UserErrorLogs.YesInstrumentationNoMetrics())}t.MainThread=class{apiKey;service;startTime;tags;messenger;constructor(e,t,r,i){this.apiKey=e,this.service=t,this.startTime=r,this.tags=i,(0,a.storeCredentials)(e,t)}startFailed(e){e instanceof n.HudSessionThrottle?(d.customer_logger.log(n.UserLogs.InitIdleMode()),(0,c._detachAndTerminate)(!1,!1,!0)):e instanceof n.HudInitNetworkError&&e.originalAxiosErrorCode?(d.customer_logger.log((0,n.getNetworkError)(e.originalAxiosErrorCode)),d.app_logger.critical("Failed to start worker because of network error",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,c._detachAndTerminate)(!1,!1,!0)):(d.app_logger.critical("Failed to start worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,n.setFirstError)(e.code),(0,c._detachAndTerminate)(!0,!1,!0))}async _registerLambdaExtension(){const e=await(0,n.register)();return(0,a.setLambdaExtensionId)(e),e}async startMessenger(e){try{this.messenger=await this._createMessenger(e),await this._start(),d.customer_logger.log(n.UserLogs.HudInitSuccess())}catch(e){throw this.startFailed(e),e}}async start(){if(o.isMainThread)if(globalThis.hudRuningInsideLambda)try{const e=await this._registerLambdaExtension();d.app_logger.info("Lambda extension registered, not waiting for worker to start",{lambdaExtensionId:e}),(0,n.next)(e).then(async()=>{d.app_logger.info("Lambda got first event, creating messenger");try{await this.startMessenger(e)}catch{}})}catch(e){throw this.startFailed(e),e}else await this.startMessenger(void 0)}async _start(){if(!this.messenger)throw new n.HudInitError("Messenger not initialized");try{const e=await this.messenger.checkWorkerInitialized(s.hudConfig.workerTimeout),t=e?.content?.sessionInfo;t&&(0,a.storeSessionInfo)(t),await this._initDynamicConfig(),globalThis.hudMetricsIndicator=setTimeout(l,s.hudConfig.timeoutOnMetrics),globalThis.hudMetricsIndicator.unref()}catch(e){const t=e instanceof Error?e.message:void 0;if(e instanceof n.HudSessionThrottle)throw e;throw d.app_logger.critical("Failed to start worker",{msg:t}),e}await this.messenger.start()}async _createMessenger(e){const t=n.myRequire.resolve(`${s.SDK_MODULE_NAME}/worker`),r={...process.env};delete r.NODE_OPTIONS;const i=new o.Worker(t,{workerData:{apiKey:this.apiKey,service:this.service,startTime:this.startTime,tags:this.tags,lambdaExtensionId:e,shouldCreateDeclaraionWorker:!!e,userConfig:s.hudConfig.userConfig},execArgv:[],env:r});let a;try{a=new g.default(i),await a.checkWorker(s.hudConfig.workerTimeout)}catch(e){if(e instanceof n.HudSessionThrottle)throw d.app_logger.info("Worker started in idle mode - session throttled"),e;throw d.app_logger.critical("Worker failed to start",{msg:e instanceof Error?e.message:void 0}),e}finally{i.unref()}return a}async _initDynamicConfig(){const e=await(this.messenger?.getRemoteConfig());e?(d.app_logger.info("Remote configuration exists"),s.hudConfig.dynamicConfig=(0,s.updateDynamicConfig)(e,s.hudConfig,d.app_logger),(0,s.updateInvestigationRateLimitGlobals)(),d.app_logger.info("Current dynamic configuration:",{currentDynamicConfig:s.hudConfig.dynamicConfig})):d.app_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:s.hudConfig.dynamicConfig})}async terminateMessenger(){await(this.messenger?.terminateWorker()),this.messenger?.stop(),this.messenger=void 0}}},6261:e=>{e.exports=require("events")},6281:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e,t,r){try{if(!globalThis.hudRanOnRequire)return;if(globalThis.hudRunMutex)return void o.app_logger.warning("Already ran init!");if(globalThis.hudRunMutex=!0,(0,d.clearInitGuard)(),!o.app_logger.isValid()||!o.customer_logger.isValid())return(0,c.setFirstError)((new c.HudBadLoggerError).code),void h(!0,!0);(0,i.updateUserConfigFromInit)(e,t,r);const g=(0,d.validateAndGetUserInput)();if(!g)return;if(globalThis.hudRunningMode!==a.HudRunningMode.enabled)return void o.app_logger.critical("SDK running mode is not enabled - initialization aborted");if(o.app_logger.info("Initializing hud",{userConfig:Object.entries(s.hudConfig.userConfig).filter(([e,t])=>"DEFAULT"!==t.source)}),l=new n.MainThread(g.apiKey,g.service,globalThis.hudStartTime,s.hudConfig.userConfig.tags?.value),await l.start(),l.messenger&&(0,c.safeCall)(o.app_logger,l.messenger.handleLogsTask()),globalThis.hudImportStartTime){const e=process.uptime()-globalThis.hudImportStartTime;o.app_logger.info("Hud initialized",{importTime:e,startTime:globalThis.hudImportStartTime})}}catch(e){try{if(e instanceof c.HudSessionThrottle)return;o.app_logger.critical("Something went wrong in init",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}catch{o.app_logger.critical("Something went wrong in init & e.stack raised an exception")}h(!0,!1,!0)}},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e},t._detachAndTerminate=h;const i=r(2546),o=r(523),n=r(5994),s=r(5809),a=r(8528),d=r(8269),c=r(2546),g=r(7274);let l,u=!1;function h(e=!0,t=!1,r=!1){(0,d.detachHud)(e,t),r&&(0,c.safeCall)(o.app_logger,(0,d.flushLogs)()),l&&(0,c.safeCall)(o.app_logger,l.terminateMessenger());const n=(0,d.getLambdaExtensionId)();n&&!u&&(u=!0,(0,c.safeCall)(o.app_logger,(0,i.nextLoopDummy)(n))),(0,d.clearUserIndicatorsTimeouts)(),(0,g.resetCallers)()}},6460:e=>{e.exports=require("timers/promises")},7131:e=>{e.exports=require("./wrap")},7274:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t._liftExceptions=s,t.prepCalls=function(e,t){const r=(new Date).toISOString(),n=[];return Object.entries(hudCalls).map(([i,a])=>{Object.entries(a).forEach(([a,d])=>{Object.entries(d).forEach(([d,c])=>{try{if(0===c.sampledCount)return;const o={function_id:i,wrapped_flow_id:d||void 0,wrapped_caller_id:a||void 0,timestamp:r,timeslice:e,exceptions:s(c.exceptions),count:c.count-c.lastSentCounter,sampled_count:c.sampledCount,sum_duration:c.sum,sum_squared_duration:c.squareSum,sketch:c.sketch?t.encode(c.sketch):void 0,is_linked_function:c.isLinkedFunction};n.push(o),function(e){e.lastSentCounter=e.count,e.sampledCount=0,e.sum=0,e.squareSum=0,e.sketch=null,e.exceptions={}}(c)}catch(e){o.app_logger.error("Failed preparing invocation, skipping",{func:i,wrappedCaller:a,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})})}),n.length>0&&(0,i.clearMetricsIndicator)(),n},t.resetCallers=function(){for(const e in globalThis.hudCalls)for(const t in globalThis.hudCalls[e])for(const r in globalThis.hudCalls[e][t])n(globalThis.hudCalls[e][t][r])};const i=r(8269),o=r(523);function n(e){e.lastSentCounter-=e.count,e.count=0}function s(e){const t={};for(const r in e)t[r]=[{count:e[r]}];return t}},7320:function(e,t,r){var i,o=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,o)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(i=function(e){return i=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},i(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=i(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return n(t,e),t});Object.defineProperty(t,"__esModule",{value:!0});const a=s(r(523)),d=s(r(6460)),c=r(5809),g=r(2546),l=r(8528),u=r(2546),h=r(7131),f=r(8269),m=r(2546),p=r(7274),v=r(2702),k=r(8269),w=r(2546),y=r(6281),C=r(2546),b=r(6261),_=a.app_logger,E=m.safeCall.bind(m.safeCall,_);t.default=class{worker;tsNodeUpdated=!1;staticNextJsEndpointsSent=!1;abortController;workerKeepaliveGuard;constructor(e){this.worker=e,this.abortController=new AbortController,(0,b.setMaxListeners)(20,this.abortController.signal),this.worker.on("error",this.handleWorkerError).unref(),this.workerKeepaliveGuard=new v.WorkerKeepaliveGuard(e,c.hudConfig.communicationKeepaliveGrace),this._updateTsNodeConfig()&&_.info("ts-node config updated from Messenger constructor")}handleWorkerError=e=>{try{e?.code===(new m.HudClientUnauthorizedError).code&&a.customer_logger.log(m.UserErrorLogs.ApiKeyDenied(c.hudConfig.userConfig.key?.source)),_.critical("Error from worker, stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,m.setFirstError)(e?.code),this.stop(),(0,y._detachAndTerminate)(!0,!1,!0)}catch(e){_.critical("Error stopping hud after worker crash",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};stop(){this.abortWorker(),c.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.stop(),this.abortController.abort(),this.abortController=new AbortController,(0,f.resetGlobals)()}abortWorker(){this._sendObject("Abort",{})}async restart(e){this.stop(),globalThis.hudRunningMode=e,await this.start()}_sendArray(e,t){t.length>0&&(this._sendObject(e,t),_.debug("sent data to worker",{msg:e,size:t.length}))}_sendObject(e,t){const r={msg:e,content:t};this.worker.postMessage(r)}async checkWorker(e){const t=["started"];let r;try{r=await this.getMessageFromWorker(t,e,!0)}catch(i){if(!(i instanceof m.HudTimeoutError))throw i;r=await this.getMessageFromWorker(t,e/2,!1)}if(!r)throw new m.HudInitError("Worker not started");return r}async checkWorkerInitialized(e){let t;const r=["initialized","throttled","networkError"];try{t=await this.getMessageFromWorker(r,e,!0)}catch(i){if(!(i instanceof m.HudTimeoutError))throw i;t=await this.getMessageFromWorker(r,e/10,!1)}if("throttled"===t?.msg)throw new m.HudSessionThrottle;if("networkError"===t?.msg)throw _.error("networkError",{error:t.content.error}),new m.HudInitNetworkError(t.content.message,t.content.originalMessage);if(!t||"initialized"!==t?.msg||void 0===t?.content)throw new m.HudInitError("Worker not initialized successfully");if(t?.content.status!==l.HudSessionInitStatus.success)throw new m.HudInitError("Worker not initialized successfully");return t}async start(){switch(c.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.start(),globalThis.hudRunningMode){case l.HudRunningMode.enabled:_.info("Enabled mode"),E(this.getMode()),E(this.periodicGetEndpointsDurationsInvestigationThresholds()),E(this.startPeriodicTasks()),E(this.periodicSendMetrics()),E(this.highFrequencySendInvestigations()),E(this.periodicSendProcessedFiles()),E(this.periodicSendEndpoints()),E(this.periodicSendLazyEndpoints()),E(this.periodicSendKafkaJS()),E(this.periodicSendSqs()),E(this.sendStaticNextJsEndpointsOnce()),E(this.periodicSaveMachineMetrics()),E(this.periodicSendReingest()),E(this.resetCallerCounters()),E(this.periodicResetGlobalInvestigationCounter()),E(this.periodicResetInvestigationDedupingCache()),E(this.sendLogsPeriodically(c.hudConfig.logsSendInterval)),E(this.sendRuntime()),E(this.sendPatchedModules()),E(this.sendPreloadedModules()),E(this.dumpModulesAfterWhile(6e4)),E((0,m.loopLogThreadPerformance)(_,c.hudConfig.logPerfInterval,this.abortController.signal));break;case l.HudRunningMode.disabled:_.info("Disabled mode"),E(this.getMode());break;case l.HudRunningMode.detached:_.info("Detached"),(0,y._detachAndTerminate)(!1,!1),this.stop();break;default:_.error("Running mode not handled")}}async getMessageFromWorker(e,t,r=!1,i){let o;e=Array.isArray(e)?e:[e];const n=new AbortController,s=()=>{n.abort()};this.abortController.signal.addEventListener("abort",s);const a=d.setTimeout(t,void 0,{signal:n.signal,ref:r}),c=t=>{try{e.includes(t.msg)&&(o=t,n.abort(),_.info("Received message from worker (canceling timeout)",t))}catch(e){_.error("Failed handling message from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};this.worker.on("message",c).unref(),i&&this.worker.postMessage(i);try{throw await a,_.warning("Timeout waiting for message from worker"),new m.HudTimeoutError}catch(e){if(!(0,m.isAbortError)(e))throw(0,m.setFirstError)(e.code),e}finally{this.abortController.signal.removeEventListener("abort",s),this.worker.off("message",c)}return o}async getMode(){for await(const e of(0,u.unrefSetInterval)(c.hudConfig.modeInterval,void 0,{signal:this.abortController.signal}))try{const e={msg:"GetMode",content:{startTime:globalThis.hudStartTime,runningMode:globalThis.hudRunningMode}},t=await this.getMessageFromWorker(e.msg,c.hudConfig.workerMessageTimeout,!1,e);if(t?.msg!==e.msg||void 0===t?.content.mode){_.error("Unexpected message from worker",t);continue}t.content.mode!==globalThis.hudRunningMode&&await this.restart(t?.content.mode)}catch(e){_.error("Failed getting mode from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async getRemoteConfig(){const e="initDynamicConfig";try{const t=await this.getMessageFromWorker(e,c.hudConfig.workerMessageTimeout,!0);if(t?.msg!==e||void 0===t?.content)throw new Error(`Unexpected message from worker: ${t}`);return t?.content}catch(e){_.error("Failed getting remote configuration from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicSaveMachineMetrics(){(0,f.saveMachineMetric)();for await(const e of(0,u.unrefSetInterval)(c.hudConfig.dynamicConfig.machineMetricsInterval,void 0,{signal:this.abortController.signal}))(0,f.saveMachineMetric)()}async resetCallerCounters(){const e=c.hudConfig.callerResetInterval;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting caller",{interval:e}),(0,p.resetCallers)()}catch(e){_.error("Failed reseting caller counters",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async updateEndpointDurationsInvestigationThresholds(){const e={msg:"EndpointsDurationsInvestigationThresholds"},t="EndpointsDurationsInvestigationThresholds";try{const r=await this.getMessageFromWorker(t,c.hudConfig.workerMessageTimeout,!1,e);if(r?.msg!==t||void 0===r?.content)throw new Error(`Unexpected message from worker: ${r}`);(0,f.setInvestigationDurationThresholds)(r?.content),_.debug("Endpoints durations investigation thresholds updated",{thresholds:r?.content})}catch(e){_.error("Failed getting endpoints durations investigation thresholds from worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicGetEndpointsDurationsInvestigationThresholds(){await this.updateEndpointDurationsInvestigationThresholds();for await(const e of(0,u.unrefSetInterval)(c.hudConfig.endpointsDurationsInvestigationThresholdsInterval,void 0,{signal:this.abortController.signal}))await this.updateEndpointDurationsInvestigationThresholds()}async periodicSendProcessedFiles(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;let r=!0;await this.setupPeriodicTask(e,t,()=>{if(r){r=!1;try{this._updateTsNodeConfig()&&_.info("ts-node config updated from periodicSendProcessedFiles")}catch{return!1}}const e=function(){const e=globalThis.hudProcessedFiles;return globalThis.hudProcessedFiles=[],e}();return this._sendArray("ProcessedFiles",e),!0},"periodicSendProcessedFiles")}async periodicSendKafkaJS(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,k.getKafkaJSTopics)();return this._sendArray("KafkaJSTopics",e),!0},"periodicSendKafkaJS")}async periodicSendSqs(){const e=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,k.getSqsQueues)();return e.length>0&&this._sendArray("SqsQueue",e),!0},"periodicSendSqs")}async periodicSendMetrics(){const e=new h.SketchManager(c.hudConfig.huddBinWidth),t=c.hudConfig.dynamicConfig.aggregationFirstSendTimeout,r=c.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(t,r,t=>{try{this.refreshInvestigations()}catch(e){_.error("Failed sending investigations",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{const r=(0,p.prepCalls)(t,e);r.length>0&&this._sendArray("Invocations",r)}catch(e){_.error("Failed sending invocations",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{const e=(0,f.getFlowMetrics)(t);Object.keys(e).length>0&&this._sendObject("FlowMetrics",{aggregatedMetrics:e})}catch(e){_.error("Failed sending flow metrics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return!0},"periodicSendMetrics")}async highFrequencySendInvestigations(){if(!c.hudConfig.dynamicConfig.enableInvestigation)return;const e=c.hudConfig.dynamicConfig.investigationFirstSendTimeout,t=c.hudConfig.dynamicConfig.investigationInterval;await this.setupPeriodicTask(e,t,()=>(this.refreshInvestigations(),!0),"highFrequencySendInvestigations")}refreshInvestigations(){const e=(0,k.getClosedInvestigations)();e.length>0&&this._sendArray("Investigations",e)}async periodicSendEndpoints(){const e=c.hudConfig.endpointsFirstSendWaitTime,t=c.hudConfig.endpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendEndpoints(),!0),"periodicSendEndpoints")}async periodicSendLazyEndpoints(){const e=c.hudConfig.endpointsFirstSendWaitTime,t=c.hudConfig.lazyEndpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendLazyEndpoints(),!0),"periodicSendLazyEndpoints")}sendLazyEndpoints(){const e=(0,k.getExpressEndpointDeclarations)().map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",e)}sendEndpoints(){const e=(0,f.getEndpointDeclarationsFromStorage)().map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",e)}async terminateWorker(){try{const e=a.getSavedLogs();await this.getMessageFromWorker("terminated",c.hudConfig.workerGrace,!1,{msg:"Terminate",content:{grace:c.hudConfig.workerGrace,logBuffers:e}})}catch(e){if(!(e instanceof m.HudTimeoutError))throw _.critical("Unexpected error during worker termination",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),await this.worker.terminate(),e;_.critical("Grace period timeout - terminating worker",{error:e.message}),await this.worker.terminate()}_.info("Worker terminated successfully.")}async sendRuntime(){const e={nodeVersion:process.version,nodeDependencyVersions:process.versions,platform:process.platform,architecture:process.arch,pid:process.pid,cwd:process.cwd(),execPath:process.execPath,execArgv:process.execArgv,argv:process.argv,uptime:process.uptime(),mainModulePath:r.c[r.s]?.filename};this._sendObject("Runtime",e)}async startPeriodicTasks(){this._sendObject("StartPeriodicTasks",{})}async sendPreloadedModules(){globalThis.hudLoadedModules?this._sendObject("PreInitLoadedModules",{modules:globalThis.hudLoadedModules}):_.warning("Didn't get module, weird....")}async dumpModulesAfterWhile(e){await(0,u.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal});const t=Object.keys(w.myRequire.cache);this._sendObject("PostInitLoadedModules",{modules:t})}async sendPatchedModules(){if(!globalThis.hudPatched)return void _.error("Cant find patched modules");const e=Array.from(globalThis.hudPatched);this._sendObject("PatchedModules",{modules:e})}async handleLogsTask(){try{const e=a.getSavedLogs();for(const t of e)try{this._sendObject("Logs",{logs:t})}catch(e){_.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}catch(e){_.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async sendLogsPeriodically(e){for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))await this.handleLogsTask()}async setupPeriodicTask(e,t,r,i){function o(e){let t=!0;try{t=r(e)}catch(e){_.error("Failed in periodic task",{taskName:i,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t}if(await(0,u.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal}),o(e)){for await(const e of(0,u.unrefSetInterval)(t,void 0,{signal:this.abortController.signal}))if(!o(t))return void _.warning("Periodic task failed, stopping task",{firstRun:!1,taskName:i})}else _.warning("Periodic task failed, stopping task",{firstRun:!0,taskName:i})}async periodicResetGlobalInvestigationCounter(){const e=c.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting global investigation counter",{interval:e}),(0,k.setGlobalInvestigationTracking)(0),(0,f.resetTotalInvestigationsDurationBased)(),(0,f.resetTotalInvestigationsErrorBased)()}catch(e){_.error("Failed resetting global investigation counter",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicResetInvestigationDedupingCache(){const e=c.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs;for await(const t of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{_.info("Resetting investigation deduping cache",{interval:e}),(0,k.resetInvestigationDedupingCache)(),(0,f.resetInvestigationDurationCounts)()}catch(e){_.error("Failed resetting investigation deduping cache",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}_updateTsNodeConfig(){if(this.tsNodeUpdated)return!1;try{const e=(0,C.getUserTsNodeConfig)();return!!e&&(this.tsNodeUpdated=!0,_.info("tsconfig found, sending config to worker"),this._sendObject("TsNodeConfig",{tsConfig:e}),!0)}catch(e){throw this.tsNodeUpdated=!0,this.stop(),e instanceof m.HudError&&(0,m.setFirstError)(e.code),(0,y._detachAndTerminate)(!1),e}}async sendStaticNextJsEndpointsOnce(){if(!(0,g.isNextJsApp)())return;const e=c.hudConfig.staticNextJsEndpointsInterval,t=c.hudConfig.staticNextJsEndpointsMaxAttempts;let r=0;for await(const i of(0,u.unrefSetInterval)(e,void 0,{signal:this.abortController.signal})){if(r++,_.debug("Attempting to send static next.js endpoints",{attemptCount:r}),(0,k.isNextConfigExtracted)()&&!this.staticNextJsEndpointsSent){_.info("Sending static next.js endpoints",{isNextConfigExtracted:(0,k.isNextConfigExtracted)()}),this.staticNextJsEndpointsSent=!0;const e=(0,k.getNextConfig)();this._sendObject("StaticNextJsEndpoints",{NextConfig:JSON.stringify(e)});break}if(r>t){_.warning("Exceeded max attempts to send static next.js endpoints",{isNextConfigExtracted:(0,k.isNextConfigExtracted)(),attemptCount:r});break}}}async periodicSendReingest(){for await(const e of(0,u.unrefSetInterval)(c.hudConfig.dynamicConfig.reingestInterval,void 0,{signal:this.abortController.signal})){const e=(0,f.getAndClearReingestValues)();e.size>0&&this._sendArray("Reingest",Array.from(e))}}}},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")}},t={};function r(i){var o=t[i];if(void 0!==o)return o.exports;var n=t[i]={exports:{}};return e[i].call(n.exports,n,n.exports,r),n.exports}return r.c=t,r(r.s=5119)})());
2
2
  //# sourceMappingURL=core.js.map
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(global,()=>(()=>{"use strict";var e={290:e=>{e.exports=require("async_hooks")},395:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addReingestValue=function(e){n.add(e)},t.getAndClearReingestValues=function(){const e=new Set;for(const t of n)o.has(t)||e.add(t);for(const t of e)o.add(t);return n=new Set,e};let n=new Set;const o=new Set},523:e=>{e.exports=require("./logger")},754:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeEndpointDeclaration=function(e){n.push(e)},t.getEndpointDeclarationsFromStorage=function(){const e=n;return n=[],e};let n=[]},820:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(7764),t),r(n(4583),t),r(n(2314),t),r(n(1321),t),r(n(3764),t),r(n(2207),t),r(n(8714),t),r(n(4988),t),r(n(2525),t),r(n(3973),t),r(n(1757),t),r(n(1364),t),r(n(7398),t),r(n(8708),t),r(n(395),t)},1321:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLDocumentMetadata=void 0,t.getDocumentsMetadata=function(){const e=u;return u=[],e};const s=a(n(6982));let u=[];t.GraphQLDocumentMetadata=class{name;timeTook;hash;selectionNames;constructor(e,t){this.name=e.definitions[0]?.name?.value,this.hash=s.createHash("sha256").update(e.loc?.source?.body).digest("hex"),this.selectionNames=e.definitions.flatMap(e=>e.selectionSet.selections.map(e=>e.name.value)),this.timeTook=t}save(){u.push(this)}}},1364:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initGlobals=function(){globalThis.hudGlobalInitGuard||(globalThis.hudGlobalInitGuard=!0,globalThis.hudRunMutex=!1,globalThis.hudRanOnRequire=!1,globalThis.hudRanOnImport=!1,globalThis.hudInitGuard=void 0,globalThis.hudInstrumentationIndicator=void 0,globalThis.hudMetricsIndicator=void 0,globalThis.hudInstrumentationOccured=!1,globalThis.hudNextJsPluginIndicator=void 0,globalThis.hudStartTime=new Date,globalThis.hudCalls={},globalThis.hudRunningMode=r.HudRunningMode.enabled,globalThis.hudExecutionFlowMaxLength=o.hudConfig.investigation.limits.executionFlowMaxLength,globalThis.hudExceptionMaxLength=o.hudConfig.investigation.limits.exceptionMaxLength,globalThis.hudEnableInvestigation=o.hudConfig.dynamicConfig.enableInvestigation,globalThis.hudEnableInvestigationArgsSending=o.hudConfig.dynamicConfig.enableInvestigationArgsSending,(0,s.setInvestigationStorage)(new u.AsyncLocalStorage),(0,s.setFlowStateStorage)(new u.AsyncLocalStorage),function(){globalThis.hudSampleTable=[];const e=[[10,1],[30,2],[100,3],[500,11],[1e3,23],[5e3,53]];let t=0;for(const[n,o]of e){for(let e=t;e<n;e++)globalThis.hudSampleTable.push(e%o===0);t=n}}(),c())},t.resetGlobals=c,t.hookMessageChannel=function(){const{port1:e,port2:t}=new l.MessageChannel;return e.on("message",e=>{"HudModulePatch"===e.key?(globalThis.hudPatched.add(e.hudPatched),globalThis.hudProcessedFiles.push(e.hudProcessedFiles)):"HudRetrieveFileCache"===e.key&&globalThis.HudSourceMapCache.set(e.filename,e.content)}),e.unref(),globalThis.hudHookPort=e,t},t.clearInitGuard=d,t.clearMetricsIndicator=g,t.clearInstrumentationIndicator=h,t.clearUserIndicatorsTimeouts=function(){d(),g(),h()},t.detachHud=f,t.forceHudEnable=function(){globalThis.forceHudEnable=!0},t.saveHudRunningFromSetup=function(){globalThis.hudIsRunningFromSetup=!0},t.saveInstrumentationIndicator=function(e){globalThis.hudInstrumentationIndicator=e,globalThis.hudInstrumentationIndicator.unref()},t.validateAndGetUserInput=function(){return o.hudConfig.userConfig.key||o.hudConfig.userConfig.service?o.hudConfig.userConfig.key?(0,o.isValidParam)(o.hudConfig.userConfig.key.value)?o.hudConfig.userConfig.service?(0,o.isValidParam)(o.hudConfig.userConfig.service.value)?{apiKey:o.hudConfig.userConfig.key.value,service:o.hudConfig.userConfig.service.value}:(a.app_logger.critical("Service name is invalid - SDK cannot initialize",{source:o.hudConfig.userConfig.service.source}),o.hudConfig.disableOnBadServiceName&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudServiceInvalid(o.hudConfig.userConfig.service.source))):(a.app_logger.critical("Service name is missing - SDK cannot initialize"),o.hudConfig.disableOnBadServiceName&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudServiceNotSet(globalThis.hudStartFromAutoInit))):(a.app_logger.critical("API key is invalid - SDK cannot initialize",{source:o.hudConfig.userConfig.key.source}),o.hudConfig.disableOnBadApiKey&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudApiKeyInvalid(o.hudConfig.userConfig.key.source))):(a.app_logger.critical("API key is missing - SDK cannot initialize"),o.hudConfig.disableOnBadApiKey&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudApiKeyNotSet(globalThis.hudStartFromAutoInit))):(a.app_logger.critical("Both API key and service name are missing - SDK cannot initialize"),(o.hudConfig.disableOnBadApiKey||o.hudConfig.disableOnBadServiceName)&&f(!1),void a.customer_logger.log(i.UserErrorLogs.BothApiKeyAndServiceNotSet(globalThis.hudStartFromAutoInit)))};const o=n(5809),r=n(8528),i=n(2546),a=n(523),s=n(7131),u=n(290),l=n(8167);function c(){globalThis.hudProcessedFiles=[],globalThis._hud_S=new Array(1e3).fill(""),globalThis._hud_SI={value:0},globalThis.hudLoadedModules=[],globalThis.hudPatched=new Set,globalThis.HudSourceMapCache=new Map,globalThis.hudExpressState=[]}function d(){clearTimeout(globalThis.hudInitGuard),globalThis.hudInitGuard=void 0}function g(){clearTimeout(globalThis.hudMetricsIndicator),globalThis.hudMetricsIndicator=void 0}function h(){clearTimeout(globalThis.hudInstrumentationIndicator),globalThis.hudInstrumentationIndicator=void 0,globalThis.hudInstrumentationOccured=!0}function f(e=!0,t=!1){if(a.app_logger.warning("Detaching hud"),t||e&&hudRunningMode!==r.HudRunningMode.detached){const e=(0,i.getFirstError)();a.customer_logger.log(i.UserErrorLogs.ShutdownGracefully(e))}globalThis.hudRunningMode=r.HudRunningMode.detached}},1757:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.markForLogFlushing=function(){a=!0},t.storeCredentials=function(e,t){r=e,i=t},t.storeSessionInfo=function(e){s=e},t.flushLogs=u,t.tryFlushPendingLogs=async function(e,t){a&&(a=!1,await u(e,t))};const o=n(523);let r,i,a=!1,s=null;async function u(e,t){try{const a=e||r;if(!a||"string"!=typeof a)return;const u=t||i||"unknown",l=(0,o.getSavedLogs)();for(const e of l){const{HudClient:t}=n(4672),r=new t;s?(o.app_logger.info("Flushing logs with session",{size:e.length,sessionId:s.sessionId,service:u}),r.setSession(s),await r.logs(e)):(o.app_logger.info("Flushing logs (sessionless)",{size:e.length,service:u}),await r.sessionslessLogs(e,a)),o.app_logger.info("Successfully flushed logs")}}catch(e){try{o.app_logger.error("Failed to flush logs",{msg:e instanceof Error?e.message:void 0,hasSession:null!==s})}catch{}}}},2207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeResolverIdBySelectionName=function(e,t){n.set(t,e)},t.getResolverIdBySelectionName=function(e){return n.get(e)};const n=new Map},2314:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fullEndpointFlowIdMap=void 0,t.getLinkedConsistentFlowId=u,t.getFlowIdFromMappings=l,t.linkTemporaryToConsistenFlowId=c,t.clearFlowIdMappings=function(){t.fullEndpointFlowIdMap.clear(),s.clear()},t.swapTempToConstFlowId=function(e){e.forEach(e=>{"express"===e.framework&&(e.flow_id=u(e.flow_id,!0)??e.flow_id)})};const o=n(2546),r=n(523),i=n(7930),a=n(8590);t.fullEndpointFlowIdMap=new Map;const s=new Map;function u(e,t){let n=l(e,!1);return n?n.flowId:(c(t),n=l(e,!0),n?(n.isPartial&&!t&&r.app_logger.warning("Found partial endpoint for flow id even though partial aren't allowd",{flowId:e,consistentFlowId:n.flowId}),n.flowId):void 0)}function l(e,n){let o=t.fullEndpointFlowIdMap.get(e);return o?{flowId:o,isPartial:!1}:n?(o=s.get(e),o?{flowId:o,isPartial:!0}:void 0):void 0}function c(e){const n=[];globalThis.hudExpressState.forEach(e=>{try{n.push(...(0,i.extractEndpointsFromRouter)("",e))}catch(e){r.app_logger.error("Failed to extract endpoints from express",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),n.forEach(e=>{if(e.partial_path)return;const n=e.flow_id;let r=t.fullEndpointFlowIdMap.get(n);r||(r=(0,o.generateEndpointFlowId)(e.path,e.methods),t.fullEndpointFlowIdMap.set(n,r))}),(0,a.getPartialEndpointDeclarationsFromStorage)().forEach(n=>{const r=n.flow_id;let i=t.fullEndpointFlowIdMap.get(r);i||(i=s.get(r),i||(i=(0,o.generateEndpointFlowId)(n.partial_path,n.methods),e?s.set(r,i):t.fullEndpointFlowIdMap.set(r,i)))})}},2525:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getSqsQueues=function(){const e=n;return n=[],e},t.storeSqsQueueDeclaration=function(e){n.push(e)};let n=[]},2546:e=>{e.exports=require("./lib")},2987:e=>{e.exports=require("perf_hooks")},3764:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getResolversDeclarations=function(){const e=n;return n=[],e},t.storeResolverDeclaration=function(e){n.push(e)};let n=[]},3973:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getFlowMetrics=function(e){const t=(new Date).toISOString(),n={};for(const o in s){const i=[];let a;for(const n in s[o]){const r=s[o][n];a||(a=r.getEventVersion()),i.push(r.finalize(u,t,e))}delete s[o],a?n[o]={eventVersion:a,metrics:i}:r.app_logger.error("No event version found for metric type",o)}return n},t.storeFlowMetric=function(e){const t=function(e){if(void 0!==e.flow_id)switch(e.type){case"EndpointMetric":{const t=e;return`${e.flow_id}|${t.route}|${t.method}|${t.status_code}`}case"KafkaJSMetric":{const t=e;return`${e.flow_id}|${t.partition}|${t.error}`}default:return e.flow_id}}(e);if(!t)return;s[e.type]||(s[e.type]={});const n=s[e.type][t];if(n)n.update(e,u);else{const n=a.MetricFactory.createMetric(e,u);s[e.type][t]=n}};const o=n(5809),r=n(523),i=n(7131),a=n(7859),s={},u=new i.SketchManager(o.hudConfig.huddBinWidth)},4583:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getExpressEndpointDeclarations=function(){let e=[];globalThis.hudExpressState.forEach(t=>{try{e=e.concat((0,i.extractEndpointsFromRouter)("",t))}catch(e){o.app_logger.error("Failed to extract endpoints from express",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),e=e.concat((0,a.getRouterlessEndpointDeclarationsFromStorage)());const t=new Set;e.forEach(e=>{e.partial_path||t.add(e.flow_id)});const n=e.filter(e=>!e.partial_path||!t.has(e.flow_id)&&(o.app_logger.info("Partial endpoint without full endpoint",{endpoint:e}),!0));return(0,r.swapTempToConstFlowId)(n),n};const o=n(523),r=n(2314),i=n(7930),a=n(8590)},4672:e=>{e.exports=require("./client")},4988:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.pageManifest=t.apiManifest=void 0,t.setNextConfig=function(e){g=e,h=!0},t.getNextConfig=function(){return g},t.isNextConfigExtracted=function(){return h},t.extractNextEndpointDeclarations=async function(e){const n=[];if(!e)return n;c.worker_logger.info("Extracting next.js endpoint declarations in worker");const o=e.distDir,r=s.join(o,t.apiManifest),i=await(0,l.readFile)(r);if(i){const e=JSON.parse(i),t=await async function(e,t){const n=[];for(const o of Object.keys(t))if(o.endsWith("/route")){const r=s.join(e,"server",t[o]),i=await f(r),a=m(o,"/route");for(const e of i){const t=(0,l.generateEndpointFlowId)(a,[e]);n.push(new u.EndpointDeclaration(t,[e],"nextjs","",a))}}else if(o.endsWith("/page")){const e=["GET"],t=m(o,"/page"),r=(0,l.generateEndpointFlowId)(t,e);n.push(new u.EndpointDeclaration(r,e,"nextjs","",t))}else c.worker_logger.warning("Unknown Next.js manifest key type",{key:o});return n}(o,e);n.push(...t)}const a=s.join(o,t.pageManifest),g=await(0,l.readFile)(a);if(g){const e=JSON.parse(g),t=await async function(e,t){const n=[];for(const o of Object.keys(t))if(o.startsWith("/api/")){const r=s.join(e,"server",t[o]),i=await f(r),a=await p(r);for(const e of i){const t=(0,l.generateEndpointFlowId)(o,[e]);n.push(new u.EndpointDeclaration(t,[e],"nextjs","",o))}if(a){const e=d.filter(e=>!i.includes(e)),t=(0,l.generateEndpointFlowId)(o,e);n.push(new u.EndpointDeclaration(t,e,"nextjs","",o))}}else{const e=["GET"],t=(0,l.generateEndpointFlowId)(o,e);n.push(new u.EndpointDeclaration(t,e,"nextjs","",o))}return n}(o,e);n.push(...t)}return n};const s=a(n(6928)),u=n(8528),l=n(2546),c=n(523),d=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"];let g;t.apiManifest="server/app-paths-manifest.json",t.pageManifest="server/pages-manifest.json";let h=!1;async function f(e){const t=await(0,l.readFile)(e);if(!t)return[];const n=new RegExp(`\\b(${d.join("|")})\\b`,"g"),o=t.matchAll(n),r=Array.from(o,e=>e[1]);return Array.from(new Set(r))}async function p(e){const t=await(0,l.readFile)(e);return!!t&&null!==t.match(/\bdefault\b/g)}function m(e,t){return e.length===t.length?"/":e.length>t.length?e.slice(0,0-t.length):e}},5809:e=>{e.exports=require("./config")},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7131:e=>{e.exports=require("./wrap")},7398:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.globalInvestigationTracking=void 0,t.getClosedInvestigations=function(){const e=i;return i=[],e},t.storeClosedInvestigation=function(e){i.push(e)},t.setGlobalInvestigationTracking=function(e){t.globalInvestigationTracking=e},t.increaseGlobalInvestigationTracking=function(){t.globalInvestigationTracking++},t.increaseInvestigationDedupingCache=function(e,t){const n=a.get(e)??new Map,o=(n.get(t)??0)+1;n.set(t,o),a.set(e,n)},t.resetInvestigationDedupingCache=function(){a.clear()},t.getInvestigationDedupingCache=function(e){return a.get(e)??new Map},t.saveMachineMetric=function(){const e=process.cpuUsage(),t=r.performance.eventLoopUtilization();s.push({cpuUsage:e,elu:t,timestamp:Date.now()}),s.length>o.hudConfig.machineMetricsSavedLength&&s.shift()},t.getLastMetrics=function(){return s[0]};const o=n(5809),r=n(2987);let i=[];t.globalInvestigationTracking=0;const a=new Map,s=[]},7764:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(754),t),r(n(8714),t),r(n(4988),t),r(n(1321),t),r(n(3764),t),r(n(2207),t),r(n(4583),t),r(n(8590),t)},7859:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MetricFactory=t.BaseMetric=void 0;class n{}class o extends n{flowId;count;sumDuration;sumSquaredDuration;sketchBuilder;errorBreakdown;constructor(e,t){super(),this.flowId=e.flow_id,this.count=1,this.sumDuration=e.duration,this.sumSquaredDuration=e.duration**2,this.sketchBuilder=t.newSketchDataWithValue(e.duration),this.errorBreakdown=new Map,e.error_breakdown&&this.updateErrorBreakdown(e.error_breakdown)}getEventVersion(){return"1.0.0"}updateErrorBreakdown(e){let t=this.errorBreakdown.get(e.key);void 0===t&&(t={errors:e.errors,count:0,caught:e.caught,key:e.key},this.errorBreakdown.set(e.key,t)),t.count+=1}update(e,t){this.sumDuration+=e.duration,this.sumSquaredDuration+=e.duration**2,this.count+=1,t.add(this.sketchBuilder,e.duration),void 0!==e.error_breakdown&&this.updateErrorBreakdown(e.error_breakdown)}finalize(e,t,n){return{flow_id:this.flowId,count:this.count,sum_duration:this.sumDuration,sum_squared_duration:this.sumSquaredDuration,timestamp:t,timeslice:n,sketch:e.encode(this.sketchBuilder),error_breakdown:Array.from(this.errorBreakdown.values()).map(e=>({errors:e.errors,count:e.count,caught:e.caught}))}}}t.BaseMetric=o;class r{static registry={};static registerMetric(e,t){r.registry[e]=t}static createMetric(e,t){const n=r.registry[e.type];if(!n)throw new Error(`Unknown metric type: ${e.type}`);return new n(e,t)}}t.MetricFactory=r,r.registerMetric("EndpointMetric",class extends o{method;statusCode;constructor(e,t){super(e,t),this.method=e.method,this.statusCode=e.status_code}getEventVersion(){return"1.0.2"}finalize(e,t,n){return{...super.finalize(e,t,n),method:this.method,status_code:this.statusCode}}}),r.registerMetric("GraphQLMetric",class extends o{constructor(e,t){super(e,t)}}),r.registerMetric("KafkaJSMetric",class extends o{partition;error;ConsumeSketchBuilder;sumConsumedDuration;sumSquaredConsumedDuration;constructor(e,t){super(e,t),this.partition=e.partition,this.error=e.error,e.total_consume_duration&&(this.ConsumeSketchBuilder=t.newSketchDataWithValue(e.total_consume_duration)),this.sumConsumedDuration=e.total_consume_duration??0,this.sumSquaredConsumedDuration=(e.total_consume_duration??0)**2}update(e,t){super.update(e,t),e.total_consume_duration&&(this.sumConsumedDuration+=e.total_consume_duration,this.sumSquaredConsumedDuration+=e.total_consume_duration**2,this.ConsumeSketchBuilder?t.add(this.ConsumeSketchBuilder,e.total_consume_duration):this.ConsumeSketchBuilder=t.newSketchDataWithValue(e.total_consume_duration))}finalize(e,t,n){return{...super.finalize(e,t,n),partition:this.partition,error:this.error,sum_consumed_duration:this.sumConsumedDuration,sum_squared_consumed_duration:this.sumSquaredConsumedDuration,sketch_consume:e.encode(this.ConsumeSketchBuilder)}}}),r.registerMetric("SqsMetric",class extends o{msgCount;errors;e2eData;constructor(e,t){super(e,t),this.msgCount=e.msg_count,this.errors=e.errors,e.e2e_duration&&(this.e2eData={duration:e.e2e_duration,squaredDuration:e.e2e_duration**2,sketchBuilder:t.newSketchDataWithValue(e.e2e_duration)})}update(e,t){super.update(e,t),this.msgCount&&e.msg_count&&(this.msgCount+=e.msg_count),e.errors.forEach((e,t)=>{this.errors.set(t,(this.errors.get(t)??0)+e)}),this.e2eData&&e.e2e_duration&&(this.e2eData.duration+=e.e2e_duration,this.e2eData.squaredDuration+=e.e2e_duration**2,t.add(this.e2eData.sketchBuilder,e.e2e_duration))}getEventVersion(){return"1.0.2"}finalize(e,t,n){return{...super.finalize(e,t,n),errors:Object.fromEntries(this.errors),msg_count:this.msgCount,...this.e2eData?{e2e_sum_duration:this.e2eData.duration,e2e_sum_squared_duration:this.e2eData.squaredDuration,e2e_sketch:e.encode(this.e2eData.sketchBuilder)}:{}}}})},7930:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractEndpointsFromRouter=function e(t,n){let r=[];const u="true"===process.env.HUD_LOG_EXPRESS;if(!n.stack)return i.app_logger.error("Router without stack - bad OTEL version",{router:n}),r;for(const l of n.stack)if("router"===l.name){if(!l[o.hudConfig.express.routeNamesSymbol]){i.app_logger.error("Router layer without routes",{layer:l});continue}const n=t+l[o.hudConfig.express.routeNamesSymbol];r=r.concat(e(n,l.handle))}else l.route&&l.route[o.hudConfig.express.layerStateSymbol]?r=r.concat(a(l,t)):u&&!s.has(l.name)&&(s.add(l.name),i.app_logger.warning("Found unknown layer name when extracting endpoints",{layer:l.name}));return r};const o=n(5809),r=n(8528),i=n(523);function a(e,t){const n=[];for(const[i,a]of Object.entries(e.route[o.hudConfig.express.layerStateSymbol]))n.push(new r.EndpointDeclaration(i,a.methods,"express",t,a.layerPath));return Array.from(n.values())}const s=new Set(["query","expressInit","mounted_app"])},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8590:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRouterlessEndpointDeclarationsFromStorage=function(){const e=i;return i=[],e},t.storePartialEndpointDeclaration=function(e){a.push(e)},t.getPartialEndpointDeclarationsFromStorage=function(){const e=a;return a=[],e},t.storeExpressEndpointDeclaration=function(e){if(!r.fullEndpointFlowIdMap.has(e.flow_id)){if(e.path){const t=(0,o.generateEndpointFlowId)(e.path,e.methods);r.fullEndpointFlowIdMap.set(e.flow_id,t)}i.push(e)}};const o=n(2546),r=n(2314);let i=[],a=[]},8708:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setLambdaExtensionId=function(e){r&&o.app_logger.warning("Lambda extension id already set"),r=e},t.getLambdaExtensionId=function(){return r};const o=n(523);let r},8714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getKafkaJSTopics=function(){const e=n;return n=[],e},t.storeKafkaJSTopicDeclaration=function(e){n.push(e)};let n=[]}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(820)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(global,()=>(()=>{"use strict";var e={290:e=>{e.exports=require("async_hooks")},395:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addReingestValue=function(e){n.add(e)},t.getAndClearReingestValues=function(){const e=new Set;for(const t of n)o.has(t)||e.add(t);for(const t of e)o.add(t);return n=new Set,e};let n=new Set;const o=new Set},523:e=>{e.exports=require("./logger")},754:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeEndpointDeclaration=function(e){n.push(e)},t.getEndpointDeclarationsFromStorage=function(){const e=n;return n=[],e};let n=[]},820:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(7764),t),r(n(4583),t),r(n(2314),t),r(n(1321),t),r(n(3764),t),r(n(2207),t),r(n(8714),t),r(n(4988),t),r(n(2525),t),r(n(3973),t),r(n(1757),t),r(n(1364),t),r(n(7398),t),r(n(8708),t),r(n(395),t)},1321:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLDocumentMetadata=void 0,t.getDocumentsMetadata=function(){const e=u;return u=[],e};const s=a(n(6982));let u=[];t.GraphQLDocumentMetadata=class{name;timeTook;hash;selectionNames;constructor(e,t){this.name=e.definitions[0]?.name?.value,this.hash=s.createHash("sha256").update(e.loc?.source?.body).digest("hex"),this.selectionNames=e.definitions.flatMap(e=>e.selectionSet.selections.map(e=>e.name.value)),this.timeTook=t}save(){u.push(this)}}},1364:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initGlobals=function(){globalThis.hudGlobalInitGuard||(globalThis.hudGlobalInitGuard=!0,globalThis.hudRunMutex=!1,globalThis.hudRanOnRequire=!1,globalThis.hudRanOnImport=!1,globalThis.hudInitGuard=void 0,globalThis.hudInstrumentationIndicator=void 0,globalThis.hudMetricsIndicator=void 0,globalThis.hudInstrumentationOccured=!1,globalThis.hudNextJsPluginIndicator=void 0,globalThis.hudStartTime=new Date,globalThis.hudCalls={},globalThis.hudRunningMode=r.HudRunningMode.enabled,globalThis.hudExecutionFlowMaxLength=o.hudConfig.investigation.limits.executionFlowMaxLength,globalThis.hudExceptionMaxLength=o.hudConfig.investigation.limits.exceptionMaxLength,globalThis.hudEnableInvestigation=o.hudConfig.dynamicConfig.enableInvestigation,globalThis.hudEnableInvestigationArgsSending=o.hudConfig.dynamicConfig.enableInvestigationArgsSending,(0,s.setInvestigationStorage)(new u.AsyncLocalStorage),(0,s.setFlowStateStorage)(new u.AsyncLocalStorage),function(){globalThis.hudSampleTable=[];const e=[[10,1],[30,2],[100,3],[500,11],[1e3,23],[5e3,53]];let t=0;for(const[n,o]of e){for(let e=t;e<n;e++)globalThis.hudSampleTable.push(e%o===0);t=n}}(),l())},t.resetGlobals=l,t.hookMessageChannel=function(){const{port1:e,port2:t}=new c.MessageChannel;return e.on("message",e=>{"HudModulePatch"===e.key?(globalThis.hudPatched.add(e.hudPatched),globalThis.hudProcessedFiles.push(e.hudProcessedFiles)):"HudRetrieveFileCache"===e.key&&globalThis.HudSourceMapCache.set(e.filename,e.content)}),e.unref(),globalThis.hudHookPort=e,t},t.clearInitGuard=d,t.clearMetricsIndicator=g,t.clearInstrumentationIndicator=h,t.clearUserIndicatorsTimeouts=function(){d(),g(),h()},t.detachHud=f,t.forceHudEnable=function(){globalThis.forceHudEnable=!0},t.saveHudRunningFromSetup=function(){globalThis.hudIsRunningFromSetup=!0},t.saveInstrumentationIndicator=function(e){globalThis.hudInstrumentationIndicator=e,globalThis.hudInstrumentationIndicator.unref()},t.validateAndGetUserInput=function(){return o.hudConfig.userConfig.key||o.hudConfig.userConfig.service?o.hudConfig.userConfig.key?(0,o.isValidParam)(o.hudConfig.userConfig.key.value)?o.hudConfig.userConfig.service?(0,o.isValidParam)(o.hudConfig.userConfig.service.value)?{apiKey:o.hudConfig.userConfig.key.value,service:o.hudConfig.userConfig.service.value}:(a.app_logger.critical("Service name is invalid - SDK cannot initialize",{source:o.hudConfig.userConfig.service.source}),o.hudConfig.disableOnBadServiceName&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudServiceInvalid(o.hudConfig.userConfig.service.source))):(a.app_logger.critical("Service name is missing - SDK cannot initialize"),o.hudConfig.disableOnBadServiceName&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudServiceNotSet(globalThis.hudStartFromAutoInit))):(a.app_logger.critical("API key is invalid - SDK cannot initialize",{source:o.hudConfig.userConfig.key.source}),o.hudConfig.disableOnBadApiKey&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudApiKeyInvalid(o.hudConfig.userConfig.key.source))):(a.app_logger.critical("API key is missing - SDK cannot initialize"),o.hudConfig.disableOnBadApiKey&&f(!1),void a.customer_logger.log(i.UserErrorLogs.HudApiKeyNotSet(globalThis.hudStartFromAutoInit))):(a.app_logger.critical("Both API key and service name are missing - SDK cannot initialize"),(o.hudConfig.disableOnBadApiKey||o.hudConfig.disableOnBadServiceName)&&f(!1),void a.customer_logger.log(i.UserErrorLogs.BothApiKeyAndServiceNotSet(globalThis.hudStartFromAutoInit)))};const o=n(5809),r=n(8528),i=n(2546),a=n(523),s=n(7131),u=n(290),c=n(8167);function l(){globalThis.hudProcessedFiles=[],globalThis._hud_S=new Array(1e3).fill(""),globalThis._hud_SI={value:0},globalThis.hudLoadedModules=[],globalThis.hudPatched=new Set,globalThis.HudSourceMapCache=new Map,globalThis.hudExpressState=[]}function d(){clearTimeout(globalThis.hudInitGuard),globalThis.hudInitGuard=void 0}function g(){clearTimeout(globalThis.hudMetricsIndicator),globalThis.hudMetricsIndicator=void 0}function h(){clearTimeout(globalThis.hudInstrumentationIndicator),globalThis.hudInstrumentationIndicator=void 0,globalThis.hudInstrumentationOccured=!0}function f(e=!0,t=!1){if(a.app_logger.warning("Detaching hud"),t||e&&hudRunningMode!==r.HudRunningMode.detached){const e=(0,i.getFirstError)();a.customer_logger.log(i.UserErrorLogs.ShutdownGracefully(e))}globalThis.hudRunningMode=r.HudRunningMode.detached}},1757:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.markForLogFlushing=function(){a=!0},t.storeCredentials=function(e,t){r=e,i=t},t.storeSessionInfo=function(e){s=e},t.flushLogs=u,t.tryFlushPendingLogs=async function(e,t){a&&(a=!1,await u(e,t))};const o=n(523);let r,i,a=!1,s=null;async function u(e,t){try{const a=e||r;if(!a||"string"!=typeof a)return;const u=t||i||"unknown",c=(0,o.getSavedLogs)();for(const e of c){const{HudClient:t}=n(4672),r=new t;s?(o.app_logger.info("Flushing logs with session",{size:e.length,sessionId:s.sessionId,service:u}),r.setSession(s),await r.logs(e)):(o.app_logger.info("Flushing logs (sessionless)",{size:e.length,service:u}),await r.sessionslessLogs(e,a)),o.app_logger.info("Successfully flushed logs")}}catch(e){try{o.app_logger.error("Failed to flush logs",{msg:e instanceof Error?e.message:void 0,hasSession:null!==s})}catch{}}}},2207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeResolverIdBySelectionName=function(e,t){n.set(t,e)},t.getResolverIdBySelectionName=function(e){return n.get(e)};const n=new Map},2314:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fullEndpointFlowIdMap=void 0,t.getLinkedConsistentFlowId=u,t.getFlowIdFromMappings=c,t.linkTemporaryToConsistenFlowId=l,t.clearFlowIdMappings=function(){t.fullEndpointFlowIdMap.clear(),s.clear()},t.swapTempToConstFlowId=function(e){e.forEach(e=>{"express"===e.framework&&(e.flow_id=u(e.flow_id,!0)??e.flow_id)})};const o=n(2546),r=n(523),i=n(7930),a=n(8590);t.fullEndpointFlowIdMap=new Map;const s=new Map;function u(e,t){let n=c(e,!1);return n?n.flowId:(l(t),n=c(e,!0),n?(n.isPartial&&!t&&r.app_logger.warning("Found partial endpoint for flow id even though partial aren't allowd",{flowId:e,consistentFlowId:n.flowId}),n.flowId):void 0)}function c(e,n){let o=t.fullEndpointFlowIdMap.get(e);return o?{flowId:o,isPartial:!1}:n?(o=s.get(e),o?{flowId:o,isPartial:!0}:void 0):void 0}function l(e){const n=[];globalThis.hudExpressState.forEach(e=>{try{n.push(...(0,i.extractEndpointsFromRouter)("",e))}catch(e){r.app_logger.error("Failed to extract endpoints from express",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),n.forEach(e=>{if(e.partial_path)return;const n=e.flow_id;let r=t.fullEndpointFlowIdMap.get(n);r||(r=(0,o.generateEndpointFlowId)(e.path,e.methods),t.fullEndpointFlowIdMap.set(n,r))}),(0,a.getPartialEndpointDeclarationsFromStorage)().forEach(n=>{const r=n.flow_id;let i=t.fullEndpointFlowIdMap.get(r);i||(i=s.get(r),i||(i=(0,o.generateEndpointFlowId)(n.partial_path,n.methods),e?s.set(r,i):t.fullEndpointFlowIdMap.set(r,i)))})}},2525:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getSqsQueues=function(){const e=n;return n=[],e},t.storeSqsQueueDeclaration=function(e){n.push(e)};let n=[]},2546:e=>{e.exports=require("./lib")},2987:e=>{e.exports=require("perf_hooks")},3764:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getResolversDeclarations=function(){const e=n;return n=[],e},t.storeResolverDeclaration=function(e){n.push(e)};let n=[]},3973:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getFlowMetrics=function(e){const t=(new Date).toISOString(),n={};for(const o in s){const i=[];let a;for(const n in s[o]){const r=s[o][n];a||(a=r.getEventVersion()),i.push(r.finalize(u,t,e))}delete s[o],a?n[o]={eventVersion:a,metrics:i}:r.app_logger.error("No event version found for metric type",o)}return n},t.storeFlowMetric=function(e){const t=function(e){if(void 0!==e.flow_id)switch(e.type){case"EndpointMetric":{const t=e;return`${e.flow_id}|${t.route}|${t.method}|${t.status_code}`}case"KafkaJSMetric":{const t=e;return`${e.flow_id}|${t.partition}|${t.error}`}default:return e.flow_id}}(e);if(!t)return;s[e.type]||(s[e.type]={});const n=s[e.type][t];if(n)n.update(e,u);else{const n=a.MetricFactory.createMetric(e,u);s[e.type][t]=n}};const o=n(5809),r=n(523),i=n(7131),a=n(7859),s={},u=new i.SketchManager(o.hudConfig.huddBinWidth)},4583:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getExpressEndpointDeclarations=function(){let e=[];globalThis.hudExpressState.forEach(t=>{try{e=e.concat((0,i.extractEndpointsFromRouter)("",t))}catch(e){o.app_logger.error("Failed to extract endpoints from express",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),e=e.concat((0,a.getRouterlessEndpointDeclarationsFromStorage)());const t=new Set;e.forEach(e=>{e.partial_path||t.add(e.flow_id)});const n=e.filter(e=>!e.partial_path||!t.has(e.flow_id)&&(o.app_logger.info("Partial endpoint without full endpoint",{endpoint:e}),!0));return(0,r.swapTempToConstFlowId)(n),n};const o=n(523),r=n(2314),i=n(7930),a=n(8590)},4672:e=>{e.exports=require("./client")},4988:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.pageManifest=t.apiManifest=void 0,t.setNextConfig=function(e){g=e,h=!0},t.getNextConfig=function(){return g},t.isNextConfigExtracted=function(){return h},t.extractNextEndpointDeclarations=async function(e){const n=[];if(!e)return n;l.worker_logger.info("Extracting next.js endpoint declarations in worker");const o=e.distDir,r=s.join(o,t.apiManifest),i=await(0,c.readFile)(r);if(i){const e=JSON.parse(i),t=await async function(e,t){const n=[];for(const o of Object.keys(t))if(o.endsWith("/route")){const r=s.join(e,"server",t[o]),i=await f(r),a=m(o,"/route");for(const e of i){const t=(0,c.generateEndpointFlowId)(a,[e]);n.push(new u.EndpointDeclaration(t,[e],"nextjs","",a))}}else if(o.endsWith("/page")){const e=["GET"],t=m(o,"/page"),r=(0,c.generateEndpointFlowId)(t,e);n.push(new u.EndpointDeclaration(r,e,"nextjs","",t))}else l.worker_logger.warning("Unknown Next.js manifest key type",{key:o});return n}(o,e);n.push(...t)}const a=s.join(o,t.pageManifest),g=await(0,c.readFile)(a);if(g){const e=JSON.parse(g),t=await async function(e,t){const n=[];for(const o of Object.keys(t))if(o.startsWith("/api/")){const r=s.join(e,"server",t[o]),i=await f(r),a=await p(r);for(const e of i){const t=(0,c.generateEndpointFlowId)(o,[e]);n.push(new u.EndpointDeclaration(t,[e],"nextjs","",o))}if(a){const e=d.filter(e=>!i.includes(e)),t=(0,c.generateEndpointFlowId)(o,e);n.push(new u.EndpointDeclaration(t,e,"nextjs","",o))}}else{const e=["GET"],t=(0,c.generateEndpointFlowId)(o,e);n.push(new u.EndpointDeclaration(t,e,"nextjs","",o))}return n}(o,e);n.push(...t)}return n};const s=a(n(6928)),u=n(8528),c=n(2546),l=n(523),d=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"];let g;t.apiManifest="server/app-paths-manifest.json",t.pageManifest="server/pages-manifest.json";let h=!1;async function f(e){const t=await(0,c.readFile)(e);if(!t)return[];const n=new RegExp(`\\b(${d.join("|")})\\b`,"g"),o=t.matchAll(n),r=Array.from(o,e=>e[1]);return Array.from(new Set(r))}async function p(e){const t=await(0,c.readFile)(e);return!!t&&null!==t.match(/\bdefault\b/g)}function m(e,t){return e.length===t.length?"/":e.length>t.length?e.slice(0,0-t.length):e}},5809:e=>{e.exports=require("./config")},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7131:e=>{e.exports=require("./wrap")},7398:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.globalInvestigationTracking=void 0,t.getClosedInvestigations=function(){const e=i;return i=[],e},t.storeClosedInvestigation=function(e){i.push(e)},t.setGlobalInvestigationTracking=function(e){t.globalInvestigationTracking=e},t.increaseGlobalInvestigationTracking=function(){t.globalInvestigationTracking++},t.getGlobalInvestigationTracking=function(){return t.globalInvestigationTracking},t.increaseInvestigationDedupingCache=function(e,t){const n=a.get(e)??new Map,o=(n.get(t)??0)+1;n.set(t,o),a.set(e,n)},t.resetInvestigationDedupingCache=function(){a.clear()},t.getInvestigationDedupingCache=function(e){return a.get(e)??new Map},t.saveMachineMetric=function(){const e=process.cpuUsage(),t=r.performance.eventLoopUtilization();s.push({cpuUsage:e,elu:t,timestamp:Date.now()}),s.length>o.hudConfig.machineMetricsSavedLength&&s.shift()},t.getLastMetrics=function(){return s[0]},t.setInvestigationDurationThresholds=function(e){u=e},t.getFlowIdDurationThresholdAndCount=function(e){return u[e]},t.increaseInvestigationDurationCount=function(e){const t=c.get(e)??0;c.set(e,t+1)},t.getInvestigationDurationCount=function(e){return c.get(e)??0},t.resetInvestigationDurationCounts=function(){c.clear()},t.increaseTotalInvestigationsErrorBased=function(){l++},t.getTotalInvestigationsErrorBased=function(){return l},t.resetTotalInvestigationsErrorBased=function(){l=0},t.increaseTotalInvestigationsDurationBased=function(){d++},t.getTotalInvestigationsDurationBased=function(){return d},t.resetTotalInvestigationsDurationBased=function(){d=0};const o=n(5809),r=n(2987);let i=[];t.globalInvestigationTracking=0;const a=new Map,s=[];let u={};const c=new Map;let l=0,d=0},7764:function(e,t,n){var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||o(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(754),t),r(n(8714),t),r(n(4988),t),r(n(1321),t),r(n(3764),t),r(n(2207),t),r(n(4583),t),r(n(8590),t)},7859:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MetricFactory=t.BaseMetric=void 0;class n{}class o extends n{flowId;count;sumDuration;sumSquaredDuration;sketchBuilder;errorBreakdown;constructor(e,t){super(),this.flowId=e.flow_id,this.count=1,this.sumDuration=e.duration,this.sumSquaredDuration=e.duration**2,this.sketchBuilder=t.newSketchDataWithValue(e.duration),this.errorBreakdown=new Map,e.error_breakdown&&this.updateErrorBreakdown(e.error_breakdown)}getEventVersion(){return"1.0.0"}updateErrorBreakdown(e){let t=this.errorBreakdown.get(e.key);void 0===t&&(t={errors:e.errors,count:0,caught:e.caught,key:e.key},this.errorBreakdown.set(e.key,t)),t.count+=1}update(e,t){this.sumDuration+=e.duration,this.sumSquaredDuration+=e.duration**2,this.count+=1,t.add(this.sketchBuilder,e.duration),void 0!==e.error_breakdown&&this.updateErrorBreakdown(e.error_breakdown)}finalize(e,t,n){return{flow_id:this.flowId,count:this.count,sum_duration:this.sumDuration,sum_squared_duration:this.sumSquaredDuration,timestamp:t,timeslice:n,sketch:e.encode(this.sketchBuilder),error_breakdown:Array.from(this.errorBreakdown.values()).map(e=>({errors:e.errors,count:e.count,caught:e.caught}))}}}t.BaseMetric=o;class r{static registry={};static registerMetric(e,t){r.registry[e]=t}static createMetric(e,t){const n=r.registry[e.type];if(!n)throw new Error(`Unknown metric type: ${e.type}`);return new n(e,t)}}t.MetricFactory=r,r.registerMetric("EndpointMetric",class extends o{method;statusCode;constructor(e,t){super(e,t),this.method=e.method,this.statusCode=e.status_code}getEventVersion(){return"1.0.2"}finalize(e,t,n){return{...super.finalize(e,t,n),method:this.method,status_code:this.statusCode}}}),r.registerMetric("GraphQLMetric",class extends o{constructor(e,t){super(e,t)}}),r.registerMetric("KafkaJSMetric",class extends o{partition;error;ConsumeSketchBuilder;sumConsumedDuration;sumSquaredConsumedDuration;constructor(e,t){super(e,t),this.partition=e.partition,this.error=e.error,e.total_consume_duration&&(this.ConsumeSketchBuilder=t.newSketchDataWithValue(e.total_consume_duration)),this.sumConsumedDuration=e.total_consume_duration??0,this.sumSquaredConsumedDuration=(e.total_consume_duration??0)**2}update(e,t){super.update(e,t),e.total_consume_duration&&(this.sumConsumedDuration+=e.total_consume_duration,this.sumSquaredConsumedDuration+=e.total_consume_duration**2,this.ConsumeSketchBuilder?t.add(this.ConsumeSketchBuilder,e.total_consume_duration):this.ConsumeSketchBuilder=t.newSketchDataWithValue(e.total_consume_duration))}finalize(e,t,n){return{...super.finalize(e,t,n),partition:this.partition,error:this.error,sum_consumed_duration:this.sumConsumedDuration,sum_squared_consumed_duration:this.sumSquaredConsumedDuration,sketch_consume:e.encode(this.ConsumeSketchBuilder)}}}),r.registerMetric("SqsMetric",class extends o{msgCount;errors;e2eData;constructor(e,t){super(e,t),this.msgCount=e.msg_count,this.errors=e.errors,e.e2e_duration&&(this.e2eData={duration:e.e2e_duration,squaredDuration:e.e2e_duration**2,sketchBuilder:t.newSketchDataWithValue(e.e2e_duration)})}update(e,t){super.update(e,t),this.msgCount&&e.msg_count&&(this.msgCount+=e.msg_count),e.errors.forEach((e,t)=>{this.errors.set(t,(this.errors.get(t)??0)+e)}),this.e2eData&&e.e2e_duration&&(this.e2eData.duration+=e.e2e_duration,this.e2eData.squaredDuration+=e.e2e_duration**2,t.add(this.e2eData.sketchBuilder,e.e2e_duration))}getEventVersion(){return"1.0.2"}finalize(e,t,n){return{...super.finalize(e,t,n),errors:Object.fromEntries(this.errors),msg_count:this.msgCount,...this.e2eData?{e2e_sum_duration:this.e2eData.duration,e2e_sum_squared_duration:this.e2eData.squaredDuration,e2e_sketch:e.encode(this.e2eData.sketchBuilder)}:{}}}})},7930:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractEndpointsFromRouter=function e(t,n){let r=[];const u="true"===process.env.HUD_LOG_EXPRESS;if(!n.stack)return i.app_logger.error("Router without stack - bad OTEL version",{router:n}),r;for(const c of n.stack)if("router"===c.name){if(!c[o.hudConfig.express.routeNamesSymbol]){i.app_logger.error("Router layer without routes",{layer:c});continue}const n=t+c[o.hudConfig.express.routeNamesSymbol];r=r.concat(e(n,c.handle))}else c.route&&c.route[o.hudConfig.express.layerStateSymbol]?r=r.concat(a(c,t)):u&&!s.has(c.name)&&(s.add(c.name),i.app_logger.warning("Found unknown layer name when extracting endpoints",{layer:c.name}));return r};const o=n(5809),r=n(8528),i=n(523);function a(e,t){const n=[];for(const[i,a]of Object.entries(e.route[o.hudConfig.express.layerStateSymbol]))n.push(new r.EndpointDeclaration(i,a.methods,"express",t,a.layerPath));return Array.from(n.values())}const s=new Set(["query","expressInit","mounted_app"])},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8590:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRouterlessEndpointDeclarationsFromStorage=function(){const e=i;return i=[],e},t.storePartialEndpointDeclaration=function(e){a.push(e)},t.getPartialEndpointDeclarationsFromStorage=function(){const e=a;return a=[],e},t.storeExpressEndpointDeclaration=function(e){if(!r.fullEndpointFlowIdMap.has(e.flow_id)){if(e.path){const t=(0,o.generateEndpointFlowId)(e.path,e.methods);r.fullEndpointFlowIdMap.set(e.flow_id,t)}i.push(e)}};const o=n(2546),r=n(2314);let i=[],a=[]},8708:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.setLambdaExtensionId=function(e){r&&o.app_logger.warning("Lambda extension id already set"),r=e},t.getLambdaExtensionId=function(){return r};const o=n(523);let r},8714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getKafkaJSTopics=function(){const e=n;return n=[],e},t.storeKafkaJSTopicDeclaration=function(e){n.push(e)};let n=[]}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(820)})());
2
2
  //# sourceMappingURL=globalstate.js.map
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(global,()=>(()=>{var e={336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),s=r(2822),i=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return this._patchSendRequest(e),n.instrument_logger.info("Patched @codegenie/serverless-express/src/frameworks/express.js successfully"),e}_patchSendRequest(e){const t=e.sendRequest;e.sendRequest=function(e){const r=e?.request,i=e?.response;if(!r||!i)return t.call(this,e);const c=a.HttpEndpointMetric.createUsableMetric(),u=(0,o.getFlowStateStorage)(),d=()=>{try{c.start(),c.setRequestAttributes(r)}catch(e){n.instrument_logger.error("Failed to start flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const o=(0,s.runWithInvestigation)(()=>t.call(this,e));try{i.once("finish",function(){try{(0,s.finishHttpInvestigation)(r,i,c),c.setResponseAttributes(i),c.end()}catch(e){n.instrument_logger.error("Failed to end flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})}catch(e){n.instrument_logger.error("Failed to end flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o};return u?u.run({httpMetric:c},d):d()},(0,i.copyPropertiesToTarget)(t,e.sendRequest)}}t.default=u},486:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8544);class o extends n.BaseKafkaJSPatcher{getExportsRoot(e){return e}getGroupId(e){return e[0].groupId}moduleName(){return"KafkaJS"}}t.default=o},523:e=>{"use strict";e.exports=require("./logger")},646:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(8949),s=r(5128),i=r(714);class a extends i.FrameworkPatcher{_patch(e){return this._patchCreate(e),n.instrument_logger.info("Patched NestJS RouterExecutionContext successfully"),e}_patchCreate(e){const t=e.RouterExecutionContext.prototype.create;e.RouterExecutionContext.prototype.create=function(...e){try{const t=e[0],r=e[1];"function"==typeof t.constructor&&"function"==typeof r?e[1]=(0,s.wrapLinkedFunction)(r):n.instrument_logger.error("Invalid args in NestJS RouterExecutionContext.create",{args:e})}catch(e){n.instrument_logger.error("Error in NestJS RouterExecutionContext patcher",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,e)},(0,o.copyPropertiesToTarget)(t,e.RouterExecutionContext.prototype.create)}}t.default=a},714:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkPatcher=void 0,t.isSupportedVersion=f,t.extractModuleVersion=g,t.getFrameworkPatcher=function(e){return new(r(2828)(`./${e}`).default)};const a=r(2546),c=r(523),u=r(9896),d=i(r(6928)),l=r(8064);function f(e,t){return""===e||l.satisfies(l.coerce(e),t)}function g(e){try{const t=(0,u.readFileSync)(d.join(e,"package.json"),{encoding:"utf8"}),r=JSON.parse(t).version;return"string"==typeof r?r:""}catch{c.instrument_logger.info("Failed extracting version",{baseDir:e})}return""}t.FrameworkPatcher=class{patch(e,t,r,n,o=this.constructor.name){try{if(this.isSupported(t,o,r,n))return this._patch(e)}catch(e){c.instrument_logger.error("Unhandeled error during patching framework",{framework:o,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}isSupported(e,t,r,n){const o=g(e);return!!f(o,r)||(c.instrument_logger.warning("Unsupported version",{framework:t,version:o,supportedVersion:r,basedir:e}),c.customer_logger.log(a.UserErrorLogs.UnsupportedFrameworkVersion(t)),!1)}}},828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KafkaJSMetric=void 0;const n=r(523),o=r(7131),s=r(9873);class i extends s.FlowMetric{partition;error;producedTimestamp;totalConsumeDuration;constructor(e){super(e)}_createUsableMetric(e){return this}end(){this.producedTimestamp&&(this.totalConsumeDuration=Number(Date.now()-this.producedTimestamp)*Number(1e6)),super.end()}addProducedTimestamp(e){void 0!==e&&(this.producedTimestamp=Number(e))}addPartition(e){this.partition=e}setError(e){this.error=(0,o.extractName)(e)}toRaw(){if(void 0!==this.partition)return{flow_id:this.flowId,type:"KafkaJSMetric",duration:this.duration,partition:this.partition,error:this.error,total_consume_duration:this.totalConsumeDuration};n.instrument_logger.warning("No partition found for message",{flowId:this.flowId})}}t.KafkaJSMetric=i},857:e=>{"use strict";e.exports=require("os")},932:e=>{"use strict";e.exports=require("process")},1326:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(2546),s=r(523),i=r(8949),a=r(714),c=n(r(9589));class u extends a.FrameworkPatcher{static nextJSHudMarked=Symbol.for("hudNextJSMarked");_patch(e){return(0,o.setIsNextJsApp)(!0),this._pathLoad(e),s.instrument_logger.info("Patched Next.js successfully"),e}_pathLoad(e){try{const t=e.RouteModuleLoader;if(t[u.nextJSHudMarked])return e;const r=t.load;t.load=async function(...e){const t=await r.apply(this,e);try{if(t){const e=t.definition?.pathname;e&&!t[u.nextJSHudMarked]&&(c.default._detectAndPatchSupportedMethods(t,e),t[u.nextJSHudMarked]=!0)}}catch(e){s.instrument_logger.error("Failed to patch Next.js route module",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t},t[u.nextJSHudMarked]=!0,(0,i.copyPropertiesToTarget)(r,t.load)}catch(e){s.instrument_logger.error("Failed to patch Next.js base server",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}}t.default=u},1427:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getSystemInfo=function(){return{pod_name:u(),node_name:d()}};const o=n(r(9896)),s=n(r(857)),i=Symbol("not found");let a,c;function u(){if(a!==i){if(a)return a;try{return a=s.default.hostname(),a}catch{return void(a=i)}}}function d(){if(c!==i){if(c)return c;try{const e=o.default.readFileSync("/etc/machine-id","utf8").trim();return c=e,c}catch{return void(c=i)}}}},1502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8528),s=r(8269),i=r(2546),a=r(523),c=r(8949),u=r(714);class d extends u.FrameworkPatcher{static koaModuleName="koa";static koaPatchedSymbol=Symbol.for(n.hudConfig.hudPatchedName);_patch(e){return this._patchAppUse(e),a.instrument_logger.info("Patched koa successfully"),e}_patchAppUse(e){const t=e.prototype.use;e.prototype.use=function(e){const r=t.apply(this,arguments);try{if(!arguments[0].router)return r;const e=arguments[0].router.stack;for(let t=0;t<e.length;t++)d._wrapRoute(e[t])}catch(e){a.instrument_logger.error("Failed to patch koa.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return r},(0,c.copyPropertiesToTarget)(t,e.prototype.use)}static _wrapRoute(e){if(e.methods&&0===e.methods.length)return;if(!e.stack[0][d.koaPatchedSymbol]){const t=(0,c.wrapFlow)(p,e.stack[0],!0);e.stack[0]=t,e.stack[0][d.koaPatchedSymbol]=!0}const t=(0,i.generateEndpointFlowId)(e.path,e.methods);(0,s.storeEndpointDeclaration)(new o.EndpointDeclaration(t,e.methods,"koa",void 0,e.path));for(const r of e.methods)g(t,e.path,r)}}function l(e,t){return e+"|"+t}t.default=d;const f=new Map;function g(e,t,r){f.set(l(t,r),e)}function p(e){if(0===e.length)return;const t=e[0]._matchedRoute,r=e[0].req?.method;return function(e,t){return f.get(l(e,t))}(t,r)}},2080:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SqsMetric=void 0;const n=r(9873);class o extends n.FlowMetric{errors;msgCount;e2eEpocStartTimeMS;e2eDurationNS;_finishedMessageCount;constructor(e){super(e),this._finishedMessageCount=0,this.errors=new Map}addError(e,t=1){this.errors.set(e,(this.errors.get(e)??0)+t)}increaseAndShouldEnd(e=1){return this._finishedMessageCount+=e,!(this.msgCount&&this._finishedMessageCount<this.msgCount)}end(){this.e2eEpocStartTimeMS&&(this.e2eDurationNS=Number(Date.now()-this.e2eEpocStartTimeMS)*Number(1e6)),super.end()}_createUsableMetric(e){return this}toRaw(){return{flow_id:this.flowId,type:"SqsMetric",duration:this.duration,e2e_duration:this.e2eDurationNS,msg_count:this.msgCount,errors:this.errors,error_breakdown:this.errorBreakdown}}}t.SqsMetric=o},2197:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)},a=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.koa=t.express=t.safeLog=t.registerHook=t.hudRITM=void 0;var c=r(5688);Object.defineProperty(t,"hudRITM",{enumerable:!0,get:function(){return c.hudRITM}}),Object.defineProperty(t,"registerHook",{enumerable:!0,get:function(){return c.registerHook}}),Object.defineProperty(t,"safeLog",{enumerable:!0,get:function(){return c.safeLog}}),i(r(3901),t),t.express=a(r(7127)),i(r(714),t),t.koa=a(r(1502)),i(r(7166),t)},2546:e=>{"use strict";e.exports=require("./lib")},2729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),s=r(2822),i=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){const t=this._patchGetFramework(e);return n.instrument_logger.info("Patched serverless-http/lib/framework/get-framework.js successfully"),t}_patchGetFramework(e){const t=e;return e=function(...e){const r=t.apply(t.this,e);async function c(e,...t){const i=a.HttpEndpointMetric.createUsableMetric(),c=(0,o.getFlowStateStorage)(),u=async()=>{try{i.start(),i.setRequestAttributes(e)}catch(e){n.instrument_logger.error("Failed to start flowMetric during framework serverless request handler patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const o=await(0,s.runWithInvestigation)(()=>r.apply(r.this,[e,...t]));return o.once("finish",function(){try{(0,s.finishHttpInvestigation)(e,o,i),i.setResponseAttributes(o),i.end()}catch(e){n.instrument_logger.error("Failed to end flowMetric during framework serverless request handler patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),o};return c?await c.run({httpMetric:i},u):await u()}return(0,i.copyPropertiesToTarget)(r,c),c},(0,i.copyPropertiesToTarget)(t,e),e}}t.default=u},2741:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),s=r(4815),i=r(7225),a=r(714);class c extends a.FrameworkPatcher{_patch(e){return i.isVerboseLoggingEnabled?((0,o.patchMethods)(e,"application_export"),(0,s.patchUse)(e,"application",!1),(0,i.logLazyRouter)(e),n.instrument_logger.info("Patched express.Application successfully"),e):(n.instrument_logger.info("Skipping express.Application patching, verbose logging is not enabled"),e)}}t.default=c},2784:e=>{"use strict";e.exports=require("../native/_index")},2822:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getStackTraceWithoutMessage=l,t.serializableInvestigation=p,t.getBaseInvestigationStorage=h,t.createNewInvestigation=function(){if(!globalThis.hudEnableInvestigation)return;const e=(0,a.getInvestigationStorage)();void 0!==e&&e.enterWith(h())},t.runWithInvestigation=function(e){if(!globalThis.hudEnableInvestigation)return e();const t=(0,a.getInvestigationStorage)();return void 0===t?e():t.run(h(),e)},t.closeInvestigation=m,t.storeInvestigation=_,t.getInvestigationDedupingKey=v,t.minimizeObject=w,t.finishHttpInvestigation=function(e,t,r){if(t.statusCode<500)return;try{g("http requests headers",{headers:Object.keys(e.headers)})}catch{g("failed to log http requests headers")}const n=k(r);if(void 0===n)return void g("finishHttpInvestigation: base investigation return undefined");const o=r.getFlowId(),s=r.getMsStartTime();void 0!==o&&void 0!==r.route&&void 0!==r.method&&void 0!==s?_(n,{type:"http",endpoint_uuid:o,route:r.route,method:r.method,timestamp:s,params:e.params,query:e.query,request_body:w(e.body),status_code:t.statusCode,machine_metrics:(0,c.getMachineMetrics)(),observability_identifiers:(0,u.getObservabilityIdentifiers)(e),extra_headers:(0,u.getExtraHeaders)(e),system_info:(0,d.getSystemInfo)()}):g("route, method, or reqTimestamp are undefined even though they shouldn't",{flowId:o,route:r.route,method:r.method,reqTimestamp:s})},t.finishSqsInvestigation=function(e,t){if(0===t.errors.size)return;const r=k(t);if(void 0===r)return void g("finishSqsInvestigation: investigation is undefined");const n=t.getFlowId(),o=t.getMsStartTime();void 0!==o&&void 0!==n?_(r,{type:"sqs",timestamp:o,flow_id:n,messages:w(e),machine_metrics:(0,c.getMachineMetrics)(),system_info:(0,d.getSystemInfo)()}):g("reqTimestamp is undefined even though it shouldn't",{flowId:n})},t.getErrorRecordsFromInvestigation=S;const n=r(5809),o=r(8528),s=r(8269),i=r(523),a=r(7131),c=r(7808),u=r(7603),d=r(1427);function l(e,t){if(void 0===t)return;const r=function(e){let t=0;for(let r=0;r<e.length;r++)"\n"===e[r]&&t++;return t}(e)+1;let n=-1;for(let e=0;e<r;e++)if(n=t.indexOf("\n",n+1)??-1,-1===n)return;return-1!==n?t.slice(n+1):void 0}const f={};function g(e,...t){let r="debug";(void 0===f[e]||f[e]<n.hudConfig.dynamicConfig.investigationRateLimits.maxUniqLogs)&&(r="warning",f[e]=f[e]+1||1),i.app_logger.logLevel(r,e,...t)}function p(e){return{status:e.status,context:e.context,exceptions:Array.from(e.exceptions.values()).map(({exception:e,executionFlow:t,caught:r})=>({name:(0,a.extractName)(e),message:(0,a.extractMessage)(e),stackTrace:e instanceof Error?l(e.message,e.stack):void 0,executionFlow:t.map(e=>({function_id:e.function_id,caller_id:e.caller_id,args:void 0!==e.args?w(e.args):void 0})),caught:r})),userContext:e.userContext,caught:e.caught}}function h(){return{status:o.InvestigationStatus.Open,caught:!0,exceptions:new Map}}function m(){if(!globalThis.hudEnableInvestigation)return;const e=(0,a.getInvestigationStorage)();if(void 0===e)return;const t=e.getStore();return void 0!==t&&t.status===o.InvestigationStatus.Open?(t.status=o.InvestigationStatus.Closed,t):void 0}function _(e,t){e.context=t,(0,s.storeClosedInvestigation)(p(e))}function y(e){for(const t of e)if(!t.is_outbound_function)return t.function_id}function v(e,t){let r="";for(const t of e)r+=`${t.error_type}-${t.function_id}|`;return r+=`${t}`,r}let b=null;function w(e,t=n.hudConfig.investigation.maxObjectDepth,o=new WeakSet){try{if(null===b&&(b=r(8611).IncomingMessage),null!==e&&"object"==typeof e){if(o.has(e))return"[Circular Reference]";if(b&&e instanceof b)return"[Http Request]";o.add(e)}if(null==e||["number","boolean"].includes(typeof e))return e;if("string"==typeof e)return e.length>n.hudConfig.investigation.maxStringLength?e.slice(0,n.hudConfig.investigation.maxStringLength)+"...":e;if(["bigint","symbol"].includes(typeof e))return w(e.toString(),t-1,o);if("function"==typeof e)return`[Function: ${e.name||"anonymous"}]`;if(void 0===e)return;if(Array.isArray(e))return t<=0?"[Array]":e.slice(0,n.hudConfig.investigation.maxArrayLength).map(e=>w(e,t-1,o));if(e instanceof Map)return t<=0?"[Map]":{"[Map]":Array.from(e.entries()).slice(0,n.hudConfig.investigation.maxArrayLength).map(([e,r])=>[w(e,t-1,o),w(r,t-1,o)])};if(e instanceof Set)return t<=0?"[Set]":{"[Set]":Array.from(e.values()).slice(0,n.hudConfig.investigation.maxArrayLength).map(e=>w(e,t-1,o))};if(e instanceof Date){let r;try{r=e.toISOString()}catch{}return w(r,t-1,o)}if(e instanceof RegExp)return w(e.toString(),t-1,o);if(e&&"Proxy"===e[Symbol.toStringTag])return w(e.target||e,t-1,o);if(e&&e[Symbol.toStringTag])return`[${e[Symbol.toStringTag]}]`;if("object"==typeof e){if(t<=0)return"[Object]";const r={},s=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);for(const i of s.slice(0,n.hudConfig.investigation.maxArrayLength))try{r[i]=w(e[i],t-1,o)}catch{}for(const s of i.slice(0,n.hudConfig.investigation.maxArrayLength))try{r[s.toString()]=w(e[s],t-1,o)}catch{}return r}}catch{}}function k(e){const t=m();if(void 0===t)return void g("finishBaseInvestigation: investigation is undefined");const r=e.getFlowId();if(void 0===r)return void g("finishBaseInvestigation: flowId is undefined");const o=S(t),i=v(o,t.caught);if(e.setErrorBreakdown({key:i,errors:o,caught:t.caught}),s.globalInvestigationTracking>=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations)return void g("finishBaseInvestigation: globalInvestigationTracking is greater than maxTotalInvestigations",{globalInvestigationTracking:s.globalInvestigationTracking,maxTotalInvestigations:n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations});const a=((0,s.getInvestigationDedupingCache)(r).get(i)??0)+1;if(!(a>n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations))return(0,s.increaseGlobalInvestigationTracking)(),(0,s.increaseInvestigationDedupingCache)(r,i),t;g("finishBaseInvestigation: investigationCount is greater than maxSameInvestigations",{investigationCount:a,maxSameInvestigations:n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations})}function S(e){const t=new Set,r=[];for(const n of e.exceptions.values()){const e=(0,a.extractName)(n.exception),o=y(n.executionFlow)??"",s=`${e}-${o}`;if(t.has(s))continue;t.add(s);const i={error_type:e,function_id:o};r.push(i)}return r}},2828:(e,t,r)=>{var n={"./baseKafkaJsPatcher":8544,"./baseKafkaJsPatcher.ts":8544,"./codeGenieServerlessExpress":336,"./codeGenieServerlessExpress.ts":336,"./confluentKafkaJs":7276,"./confluentKafkaJs.ts":7276,"./express":7127,"./express.ts":7127,"./express/methods":6730,"./express/methods.ts":6730,"./express/route":2977,"./express/route.ts":2977,"./express/router":4815,"./express/router.ts":4815,"./express/verbosity":7225,"./express/verbosity.ts":7225,"./expressApplication":2741,"./expressApplication.ts":2741,"./flows/flow":9873,"./flows/flow.ts":9873,"./flows/graphql":6504,"./flows/graphql.ts":6504,"./flows/http":4393,"./flows/http.ts":4393,"./flows/kafkajs":828,"./flows/kafkajs.ts":828,"./flows/sqs":2080,"./flows/sqs.ts":2080,"./frameworkPatcher":714,"./frameworkPatcher.ts":714,"./graphql":7214,"./graphql.ts":7214,"./http":5459,"./http.ts":5459,"./kafkajs":486,"./kafkajs.ts":486,"./koa":1502,"./koa.ts":1502,"./nestjsRouterExecutionContext":646,"./nestjsRouterExecutionContext.ts":646,"./nestjsRpcContextCreator":4290,"./nestjsRpcContextCreator.ts":4290,"./nextJsConfig":9723,"./nextJsConfig.ts":9723,"./nextJsModuleLoader":1326,"./nextJsModuleLoader.ts":1326,"./nextjs":9589,"./nextjs.ts":9589,"./router":5946,"./router.ts":5946,"./serverlessHttp":2729,"./serverlessHttp.ts":2729,"./sqsConsumer":5150,"./sqsConsumer.ts":5150};function o(e){var t=s(e);return r(t)}function s(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=s,e.exports=o,o.id=2828},2977:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.patchRoute=function(e){const t=(0,g.getMethods)();t.concat("all").forEach(function(r){const n=e.prototype[r];e.prototype[r]=function(){let e;try{e=p(Array.prototype.slice.call(arguments));let n=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];if(t)return t.flowId}(e);const o=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];if(t)return t.kind}(e),s=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];return!!t&&t.allMethod}(e);if(n||(n=[l.randomUUID()]),"application"===o)if(Array.isArray(this.path)){_(e,void 0);for(let e=0;e<this.path.length;e++)m(n[e],s?t:[r],this.path[e])}else _(e,n[0]),m(n[0],s?t:[r],this.path);else if("router"===o)if(Array.isArray(this.path)){_(e,void 0);for(let e=0;e<this.path.length;e++)h(this,n[e],r,this.path[e])}else _(e,n[0]),h(this,n[0],r,this.path);else _(e,n[0]),h(this,n[0],r,this.path)}catch(e){d.instrument_logger.error("Failed to patch express.Route.route",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n.apply(this,e||arguments)}})};const a=r(5809),c=r(8528),u=r(8269),d=r(523),l=i(r(6982)),f=r(8949),g=r(6730),p=r(5673);function h(e,t,r,n){!function(e,t,r,n){e[a.hudConfig.express.layerStateSymbol]||(e[a.hudConfig.express.layerStateSymbol]={}),e[a.hudConfig.express.layerStateSymbol][t]?e[a.hudConfig.express.layerStateSymbol][t].methods.push(r):e[a.hudConfig.express.layerStateSymbol][t]={layerPath:n,methods:[r]}}(e,t,r,n),function(e,t,r){const n=new c.EndpointDeclaration(e,[t],"express",void 0,void 0,r);(0,u.storePartialEndpointDeclaration)(n),(0,u.storeExpressEndpointDeclaration)(n)}(t,r,n)}function m(e,t,r){const n=new c.EndpointDeclaration(e,t,"express",void 0,r,void 0);(0,u.storeExpressEndpointDeclaration)(n)}function _(e,t){if(e&&!(e.length<1)){if(a.hudConfig.express.wrapAllCallbacks)for(let r=0;r<e.length;r++){const n=(0,f.wrapFlow)(v(t),e[r],!0);e[r]=n}else{const r=(0,f.wrapFlow)(v(t),e[e.length-1],!0);e[e.length-1]=r}return t}}function y(e){return(0,u.getLinkedConsistentFlowId)(e,!1)||(d.instrument_logger.warning("No consistent flowId found, returning temporary flow id",{flowId:e}),e)}function v(e){return e?function(){return y(e)}:function(e){const t=e[0]?.route[a.hudConfig.express.layerStateSymbol],r=e[0]?.url;if(t)for(const[e,n]of Object.entries(t)){if(n.layerPath instanceof RegExp&&n.layerPath.test(r))return y(e);if(r.includes(n.layerPath))return y(e)}d.instrument_logger.warning("No flowId found for path",{states:t,url:r.split("?")[0]})}}},2987:e=>{"use strict";e.exports=require("perf_hooks")},3176:e=>{"use strict";e.exports=require("buffer-crc32")},3339:e=>{"use strict";e.exports=require("module")},3868:e=>{"use strict";e.exports=require("@jridgewell/sourcemap-codec")},3901:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t}),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getFunctionWrapperTemplate=b,t.splitCode=E,t.editInSplits=I,t.editWithCliBuildId=function(e,t,r,n){let{transformedCode:o,metadatas:s}=F(e,t,r,[],!0);return o+=`\n//# sourceMappingURL=${y.default.basename(t)}.map`,o+=`\n//"${n}";${d.hudConfig.cliSdkVersionVarName}="${d.SDK_VERSION}";${d.hudConfig.cliBuildIdVarName}`,{transformedCode:o,metadatas:s}},t.edit=F,t.incrementInstrumentedFunctionsCount=j;const c=a(r(3176)),u=r(3903),d=r(5809),l=r(2546),f=r(523),g=r(8528),p=r(8269),h=r(2546),m=r(3868),_=i(r(2784)),y=a(r(6928)),v=/([0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})/;function b(e,t,r=!1,n=!1){const o=`${e}_hudTemp`,s="BODY_PLACEHOLDER",i="FUNCTION_ID_PLACEHOLDER",a="AWAITABLE_PLACEHOLDER",c="EXCEPTION_VARIABLE_PLACEHOLDER",u="ARGS_ARRAY_PLACEHOLDER",l=function(e,t,r=!1){const n=[];if(r)return n;let o;t===g.Format.cjs?o="require":t===g.Format.esm&&(n.push(`import { createRequire as ${e}_createRequire } from "module";`,`const ${e}_require = ${e}_createRequire(import.meta.url);`),o=`${e}_require`);const s=h.myRequire.resolve(d.SDK_MODULE_NAME+"/wrap");return n.push(`let ${e}_temp;`,`try { ${e}_temp = ${o}(String.raw\`${s}\`); } catch (e) { ${e}_temp = { wrapperInitial: () => {}, wrapperCatch: () => {}, wrapperFinally: () => {}, fixStack: () => {}, wrapperUserCatch: () => {} }; globalThis._hud_SI = globalThis._hud_SI || { value: 0 }; globalThis._hud_S = globalThis._hud_S || [];\n }`,`const { wrapperInitial: ${e}_wi, wrapperCatch: ${e}_wc, wrapperFinally: ${e}_wf, fixStack: ${e}_fs, asyncIteratorWrapper: ${e}_aiw, wrapperUserCatch: ${e}_wuc } = ${e}_temp;`),n}(e,t,r),f=`${e}_cc.io = true;`;return{functionWrapper:`{\n let ${o};\n const ${d.hudConfig.functionIdVarName} = ${i};\n const ${e}_cc = {}; ${n?f:""}\n try {\n ${e}_wi(${d.hudConfig.functionIdVarName}, ${e}_cc);\n } catch (e) {\n globalThis._hud_SI = { value: 0 };\n globalThis._hud_S = [];\n }\n try {\n ${s}\n } catch (e) {\n try {\n ${e}_wc(${d.hudConfig.functionIdVarName}, ${e}_cc, e, ${u});\n } catch (e) {}\n throw e;\n } finally {\n try {\n ${e}_wf(${d.hudConfig.functionIdVarName}, ${e}_cc);\n } catch (e) {}\n }\n }`,awaitWrapper:`(${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = await ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})`,yieldWrapper:`\n function* ${e}_generatorWrapper() {\n return (${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = yield ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})\n }`,yieldStarWrapper:`\n function* ${e}_generatorWrapper() {\n return (${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = yield* ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})\n }`,initialStatements:l,bodyPlaceholder:s,functionIdPlaceholder:i,awaitablePlaceholder:a,argsArrayPlaceholder:u,fixStackFunction:`\n try{\n ${e}_fs(${d.hudConfig.functionIdVarName}, ${e}_cc)\n }catch(e){};`,exceptionVariablePlaceholder:c,wrapperUserCatch:`\n try {\n ${e}_wuc(${d.hudConfig.functionIdVarName}, ${e}_cc, ${c}, ${u});\n } catch(e){};`,asyncIteratorWrapper:`${e}_aiw`,awaitableVariable:o}}function w(e,t,r,n=!0,o=!1,s){const i=Error.prepareStackTrace;let a=!1,l=function(e){const t=e.match(`${d.hudConfig.bundlerBuildIdVarName}="${v.source}"`);if(t&&t.length>0)return t[1]}(e);l||(l=function(e){return(0,u.v5)(e,d.hudConfig.bundlerBuildUuidNamespace)}(e),a=!0);const g=(0,u.v5)(e,d.hudConfig.functionUuidNamespace),p=(0,c.default)(t.filename).readUInt32BE(),m=(0,c.default)(e).readUInt32BE(),y=(0,h.isNextJsApp)(),w={data:t,bundlerBuildId:l,prefix:d.hudConfig.wrapVarPrefix,...b(d.hudConfig.wrapVarPrefix,t.format,o,r.length>0),uuidNamespace:d.hudConfig.functionUuidNamespace,fileHash:g,functionsToInstrument:r,useInputSourcemap:n,isNextJsFile:y,markCode:d.hudConfig.nextJsMarkVarName,enableForAwaitInstrumentation:!s,disableParametersExtraction:d.hudConfig.userConfig.disableParametersExtraction?.value},k=_.transform(e,w);return j(k.functionsIds.length,s),y&&k.marksCount!==k.functionsIds.length&&f.instrument_logger.warning("Marks count mismatch while instrumenting functions",{marksCount:k.marksCount,functionsIdsLength:k.functionsIds.length,filename:t.filename}),globalThis.hudNextJsPluginIndicator&&y&&(k.marksCount>0||k.functionsIds.length>0)&&(clearTimeout(globalThis.hudNextJsPluginIndicator),globalThis.hudNextJsPluginIndicator=void 0),Error.prepareStackTrace=i,f.instrument_logger.debug(`Successfully transformed ${t.filename}`),{code:k.code,map:k.map,functionIds:k.functionsIds,filename:t.filename,hasInputMap:k.isInputSourcemap,bundlerBuildId:l,bundlerBuildIdGenerated:a,file_path_checksum:p,file_checksum:m,sourceCodeHash:g,moduleBase:k.moduleBase,isNextJsApp:y,marksCount:k.marksCount,detectedForAwaitLoops:k.detectedForAwaitLoops}}class k extends Error{}function S(e,t){if(e&&t)throw new k("Start mark found inside mark");if(!e&&!t)throw new k("End mark found outside mark")}function M(e,t,r,n){const o=e.split("\n");let s=r,i=n;return s+=o.length-1,s+=t.split("\n").length-1,s===r?i+=o.pop()?.length||0:i=o.pop()?.length||0,{lineOffset:s,columnOffset:i}}function*E(e){let t=!1,r=0,n=0,o=!1,s=0,i=0;const a=new RegExp(`globalThis\\s*?&&\\s*?\\(globalThis\\.${d.hudConfig.esbuildGlobalVar}\\s*?=\\s*?"(Start|End):(?<fileName>.*?)"\\);?`,"g");for(const c of e.matchAll(a)){if(o=!0,!c.groups)throw new k("No groups found in match");const{fileName:a}=c.groups,[u,d]=c,l="Start"===d;S(l,t);let f="";if(t){const t=c.index+u.length;f=e.slice(r,t);const o=n+Buffer.byteLength(f,"utf8");yield{edit:!0,code:f,fileName:a,lineOffset:s,columnOffset:i,indexOffset:n,indexOffsetEnd:o},r=t,n=o}else{const t=c.index;f=e.slice(r,t),n+=Buffer.byteLength(f,"utf8"),r=t,yield{edit:!1,code:f}}t=!!l,({lineOffset:s,columnOffset:i}=M(f,u,s,i))}if(t)throw new k("End mark found outside mark");o?r<e.length&&(yield{edit:!1,code:e.slice(r)}):yield{edit:!1,code:e}}function x(e,t,r){f.instrument_logger.debug("Edit chunk",{fileName:e.fileName,size:e.code.length,edit:t}),r?.push({fileName:e.fileName,size:e.code.length,edit:t})}function C(e,t,r){const n=w(e.code,{filename:t,format:r},[],!1,!0,!1),o=n.code;return n.mapRelativeToChunk=n.map,n.map=function(e,t,r){"string"==typeof e&&(e=JSON.parse(e));const n=(0,m.decode)(e.mappings);return n.forEach(e=>{e.forEach(e=>{e.length>=4&&"number"==typeof e[2]&&("number"==typeof e[3]&&0===e[2]&&(e[3]+=r),e[2]+=t)})}),JSON.stringify({...e,mappings:(0,m.encode)(n),sourcesContent:void 0})}(n.map,e.lineOffset,e.columnOffset),{codeToAppend:o,metadata:{...n,filename:t,lineOffset:e.lineOffset,columnOffset:e.columnOffset}}}function I(e,t,r,n=!1,o=!1,s=()=>!0){const i=e.slice(-1e3);if(!o&&null!==_.getSourceMap(t,i))return f.instrument_logger.critical("Source map found for esbuild split",{filename:t}),f.customer_logger.log(l.UserErrorLogs.EsbuildSourceMapFound()),(0,p.detachHud)(!1,!1),{transformedCode:e,metadatas:[],editedChunksSizes:void 0};let a="",c=0,u=0;const g=[];let h=0;const m=n?[]:void 0,y=b(d.hudConfig.wrapVarPrefix,r).initialStatements.join("\n"),v=function(e){return e.slice(d.hudConfig.esbuildMark.length,d.hudConfig.esbuildMark.length+36)}(e);for(const n of E(e)){h++;try{let e="",o=!1;if(n.edit&&(o=s(n.fileName),m&&x(n,o,m)),n.edit&&o){const o=C(n,t,r);e=o.codeToAppend,g.push({...o.metadata,bundlerBuildId:v,transformedLineOffset:c,transformedColumnOffset:u,indexOffset:n.indexOffset,indexOffsetEnd:n.indexOffsetEnd})}else e=0===a.length?P(n.code,y):n.code;({transformedCodeLineOffset:c,transformedCodeColumnOffset:u}=O(e,c,u)),a+=e}catch(r){return f.instrument_logger.error("Failed to patch index",{index:h,filename:t,msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),{transformedCode:e,metadatas:[],editedChunksSizes:m}}}return{transformedCode:a,metadatas:g,editedChunksSizes:m}}function P(e,t){let r="";return e.startsWith('"use strict";')?(r+='"use strict";',r+=t,r+=e.slice(13),r):(r+=t,r+=e,r)}function O(e,t,r){const n=e.split("\n");return n.length>1?(t+=n.length-1,r=n.pop()?.length||0):r+=e.length,{transformedCodeLineOffset:t,transformedCodeColumnOffset:r}}function F(e,t,r,n,o){if(e.startsWith(d.hudConfig.esbuildMark))return f.instrument_logger.info("Editing in splits"),I(e,t,r,!1);{const s=w(e,{filename:t,format:r},n,d.hudConfig.userConfig.disableSourceMapsResolution?.value??!0,!1,o);return{transformedCode:s.code,metadatas:[s]}}}let T=0;function j(e,t){T+=e;const r=d.hudConfig.userConfig?.maxMappedFunctions?.value??0;T>=r&&(t||f.customer_logger.log(l.UserErrorLogs.InstrumentedFunctionCountExceeded(r)),f.app_logger.error("Instrumented function count exceeded",{instrumentedFunctionsCount:T,maxMappedFunctions:r}),(0,p.detachHud)(!1,!1))}},3903:e=>{"use strict";e.exports=require("uuid")},4290:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(8949),s=r(5128),i=r(714);class a extends i.FrameworkPatcher{_patch(e){return this._patchCreate(e),n.instrument_logger.info("Patched NestJS RpcContextCreator successfully"),e}_patchCreate(e){const t=e.RpcContextCreator.prototype.create;e.RpcContextCreator.prototype.create=function(...e){try{const t=e[0],r=e[1];"function"==typeof t.constructor&&"function"==typeof r?e[1]=(0,s.wrapLinkedFunction)(r):n.instrument_logger.error("Invalid args in NestJS RpcContextCreator.create",{args:e})}catch(e){n.instrument_logger.error("Error in NestJS RpcContextCreator patcher",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,e)},(0,o.copyPropertiesToTarget)(t,e.RpcContextCreator.prototype.create)}}t.default=a},4393:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HttpEndpointMetric=void 0;const n=r(9873);class o extends n.FlowMetric{statusCode;route;method;constructor(e){super(e)}_createUsableMetric(e){return this}setRequestAttributes(e){const t=e.url||e.path;this.route=t?.split("?")[0],this.method=e.method}setResponseAttributes(e){this.statusCode=e.statusCode}toRaw(){if(this.statusCode&&this.route&&this.method)return{flow_id:this.flowId,type:"EndpointMetric",duration:this.duration,status_code:this.statusCode,route:this.route,method:this.method,error_breakdown:this.errorBreakdown}}}t.HttpEndpointMetric=o},4815:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.patchUse=function(e,t,r=!0){const n=e.use;e.use=function(e){const o=n.apply(this,arguments);try{let n=this[f.uuidSymbol];!n&&f.isVerboseLoggingEnabled&&(n=d.randomUUID(),this[f.uuidSymbol]=n,u.instrument_logger.info("Express use setting uuid",{kind:t,uuid:n})),"application"===t?function(e,t,r,n){try{r&&(e._router?p(e._router):e.router?p(e.router):u.instrument_logger.warning("Express application doesn't have router or _router")),n&&f.isVerboseLoggingEnabled&&u.instrument_logger.info("Express use app",{parent:n,child:t[1]?.[f.uuidSymbol]||"no uuid",path:t[0]})}catch(e){u.instrument_logger.error("Failed to save express app router",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(this,arguments,r,n):"router"===t&&function(e,t,r,n,o){try{if(!e.stack)return void u.instrument_logger.error("Express router without stack");if(0===e.stack.length)return void u.instrument_logger.warning("Express router with an empty stack");"query"===e.stack[0].name?p(e):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(e.stack[0].name)&&(f.skipLayerNamesLogs.add(e.stack[0].name),u.instrument_logger.warning("Found unknown stack name",{stack:e.stack[0].name}));const{path:s,offset:i}=function(e){let t=0,r="/";if("function"!=typeof e){let n=e;for(;Array.isArray(n)&&0!==n.length;)n=n[0];"function"!=typeof n&&(t=1,r=e)}return{path:r,offset:t}}(o),c=g(Array.prototype.slice.call(t,i));for(let t=0;t<c.length&&t<e.stack.length;t++){const o=e.stack[e.stack.length-t-1],i=c[c.length-t-1];"router"===o.name?(i&&!i[f.uuidSymbol]&&f.isVerboseLoggingEnabled&&(i[f.uuidSymbol]=d.randomUUID(),u.instrument_logger.info("Express handle router setting uuid",{uuid:i[f.uuidSymbol]})),r&&(o[a.hudConfig.express.routeNamesSymbol]=s)):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(o.name)&&(f.skipLayerNamesLogs.add(o.name),u.instrument_logger.warning("Found unknown layer name",{layer:o.name,parent:n,child:i[f.uuidSymbol]||"no uuid",path:s}))}}catch(e){u.instrument_logger.error("Failed to patch router.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(this,arguments,r,n,e)}catch(e){u.instrument_logger.error("Failed to patch express.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o},(0,l.copyPropertiesToTarget)(n,e.use)},t.extractEndpointsFromRouter=function e(t,r){let n=[];if(!r.stack)return u.instrument_logger.error("Router without stack - bad OTEL version",{router:r}),n;for(const o of r.stack)if("router"===o.name){if(!o[a.hudConfig.express.routeNamesSymbol]){u.instrument_logger.error("Router layer without routes",{layer:o});continue}const r=t+o[a.hudConfig.express.routeNamesSymbol];n=n.concat(e(r,o.handle))}else o.route&&o.route[a.hudConfig.express.layerStateSymbol]?n=n.concat(h(o,t)):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(o.name)&&(f.skipLayerNamesLogs.add(o.name),u.instrument_logger.warning("Found unknown layer name when extracting endpoints",{layer:o.name}));return n};const a=r(5809),c=r(8528),u=r(523),d=i(r(6982)),l=r(8949),f=r(7225),g=r(5673);function p(e){e[a.hudConfig.express.markedSymbol]||(globalThis.hudExpressState.push(e),e[a.hudConfig.express.markedSymbol]=!0)}function h(e,t){const r=[];for(const[n,o]of Object.entries(e.route[a.hudConfig.express.layerStateSymbol]))r.push(new c.EndpointDeclaration(n,o.methods,"express",t,o.layerPath));return Array.from(r.values())}},5128:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isHudLfMarked=void 0,t.wrapLinkedFunction=function(e){if(e[t.isHudLfMarked])return e;let r;e[t.isHudLfMarked]=!0;const a=(0,s.getFlowStateStorage)();return a?(r=e instanceof i.AsyncFunction?async function(...t){if(hudRunningMode!==n.HudRunningMode.enabled)return await e.apply(this,t);let r;try{r=a.getStore()}catch(r){return o.instrument_logger.error("Failed to get flowState",{msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),await e.apply(this,t)}return r?(r.shouldLinkFunction=!0,await e.apply(this,t)):await e.apply(this,t)}:function(...t){if(hudRunningMode!==n.HudRunningMode.enabled)return e.apply(this,t);let r;try{r=a.getStore()}catch(r){return o.instrument_logger.error("Failed to get flowState",{msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),e.apply(this,t)}return r?(r.shouldLinkFunction=!0,e.apply(this,t)):e.apply(this,t)},(0,i.copyPropertiesToTarget)(e,r),r):e};const n=r(8528),o=r(523),s=r(7131),i=r(8949);t.isHudLfMarked=Symbol.for("isHudLfMarked")},5150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8269),s=r(2546),i=r(523),a=r(7131),c=r(2822),u=r(8949),d=r(2080),l=r(714);class f extends l.FrameworkPatcher{isSupported(e,t,r,o){const a=n.hudConfig.userConfig.enableDapulse?.value?o.mondayVersion:o.bbcVersion,c=(0,l.extractModuleVersion)(e);return!!(0,l.isSupportedVersion)(c,a)||(i.instrument_logger.warning("Unsupported sqs-consumer version",{framework:"SqsConsumer",version:c,supportedVersion:a,basedir:e,isDapulse:n.hudConfig.userConfig.enableDapulse?.value}),i.customer_logger.log(s.UserErrorLogs.UnsupportedFrameworkVersion("sqs-consumer")),!1)}_patch(e){return function(e){const t=e.Consumer.create;e.Consumer.create=function(...e){const r=t.apply(this,e);try{!function(e){const t=e.queueUrl;if(!t)throw new s.HudNoQueueUrlInSqsConsumer;const r=h(t);if(e.handleMessageBatch&&"function"==typeof e.handleMessageBatch){const t="handleMessageBatch",n=(0,s.generateSqsFlowId)(r,t);(0,o.storeSqsQueueDeclaration)({flow_id:n,queue_name:r,handle_type:t,batch_size:e.batchSize});const i=e.handleMessageBatch,a=(0,u.wrapFlow)(()=>n,i,!0,m);return void(e.handleMessageBatch=a)}if(e.handleMessage&&"function"==typeof e.handleMessage){const t="handleMessage",n=(0,s.generateSqsFlowId)(r,t);(0,o.storeSqsQueueDeclaration)({flow_id:n,queue_name:r,handle_type:t});const i=e.handleMessage,a=(0,u.wrapFlow)(()=>n,i,!0,m);return void(e.handleMessage=a)}i.instrument_logger.warning("Unable to getFlowId - No handleMessage or handleMessageBatch found in SqsConsumer.Consumer",{queueName:r})}(r),function(e){const t=e.on;e.on=function(...r){try{const t=r[0];if(!t||"string"!=typeof t)throw new s.HudNoEventTypeInSqsConsumerOn;const n=r[1];if(!n||"function"!=typeof n)throw new s.HudNoCallbackInSqsConsumerOn;const i=h(e.queueUrl),a="event",c=(0,s.generateSqsFlowId)(i,a,t);(0,o.storeSqsQueueDeclaration)({flow_id:c,queue_name:i,handle_type:a,event_type:t}),r[1]=(0,u.wrapFlow)(()=>c,n,!0,_,y,v)}catch(e){i.instrument_logger.error("Error in SqsConsumer.Consumer.on patched logic",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,r)},(0,u.copyPropertiesToTarget)(t,e.on)}(r),function(e){const t=e.emit;e.emit=function(...e){return function(e){try{const t=e[0];if(!t||"string"!=typeof t)throw new s.HudNoEventTypeInSqsConsumerEmit;let r,o;if("message_processed"===t&&(r=1),["error","timeout_error","processing_error"].includes(t)&&(o=1,r=2),void 0===r)return;const u=e[r];if(!u)throw new s.HudNoMessageInSqsConsumerEmit;let d;if(void 0!==o){const t=e[o];if(!(t&&t instanceof Error))throw new s.HudNoErrorInSqsConsumerEmit;d=(0,a.extractName)(t),"StandardError"===d&&t.cause&&t.cause instanceof Error&&(d=(0,a.extractName)(t.cause))}const l=(e,t)=>{const r=e[n.hudConfig.metricSymbol];r?(d&&r.addError(d,t),r.increaseAndShouldEnd(t)&&((0,c.finishSqsInvestigation)(Array.isArray(u)?u:[u],r),r.end())):p||(p=!0,i.instrument_logger.warning("No metric found for message"))};Array.isArray(u)&&u.length>=1?l(u[0],u.length):l(u,1)}catch(e){g||(g=!0,i.instrument_logger.error("Error in SqsConsumer.Consumer.emit patched logic",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}))}}(e),t.apply(this,e)},(0,u.copyPropertiesToTarget)(t,e.emit)}(r)}catch(e){i.instrument_logger.error("Error in patching SqsConsumer.Consumer",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return r},(0,u.copyPropertiesToTarget)(t,e.Consumer.create)}(e),i.instrument_logger.info("Patched sqs-consumer successfully",{isDapulse:n.hudConfig.userConfig.enableDapulse?.value}),e}}t.default=f;let g=!1,p=!1;function h(e){const t=e.split("/").pop();if(!t)throw new s.HudFailExtractSqsQueueName(`Url: ${e}`);return t}function m(e,t,r){const o=d.SqsMetric.createUsableMetric(e);o.start();const s=r[0];if(!s)return i.instrument_logger.warning("No messages pass to sqs handler",{flowId:e}),void(t.flowMetric=o);if(Array.isArray(s)){if(o.msgCount=s.length,s.forEach(e=>{e[n.hudConfig.metricSymbol]=o}),s[0]?.Attributes?.SentTimestamp){const t=s.reduce((e,t)=>{const r=Number.parseInt(t?.Attributes?.SentTimestamp);return isNaN(r)?e:Math.min(e,r)},1/0);t!==1/0?o.e2eEpocStartTimeMS=t:i.instrument_logger.warning("No valid SentTimestamp found eventhough the first element had SentTimestamp",{flowId:e})}}else o.msgCount=1,s[n.hudConfig.metricSymbol]=o,s?.Attributes?.SentTimestamp&&(o.e2eEpocStartTimeMS=s.Attributes.SentTimestamp);t.flowMetric=o,(0,c.createNewInvestigation)()}function _(e,t,r){const n=d.SqsMetric.createUsableMetric(e);n.start(),t.flowMetric=n}function y(e,t){const r=t.flowMetric;r?r.end():i.instrument_logger.warning("No flowMetric found for message during catch",{flowId:e})}function v(e,t,r){const n=t.flowMetric;n?(n.addError((0,a.extractName)(r)),n.end()):i.instrument_logger.warning("No flowMetric found for message during catch",{flowId:e})}},5459:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),s=r(2822),i=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return this._patchEmit(e),n.instrument_logger.info("Patched http successfully"),e}_patchEmit(e){const t=e.Server.prototype.emit;e.Server.prototype.emit=function(e,...r){if("request"!==e)return t.apply(this,[e,...r]);const i=(0,o.getFlowStateStorage)(),c=r?.[0],u=r?.[1],d=a.HttpEndpointMetric.createUsableMetric(),l=()=>{try{d.start(),(0,s.createNewInvestigation)(),d.setRequestAttributes(c),u.once("finish",function(){try{(0,s.finishHttpInvestigation)(c,u,d),d.setResponseAttributes(u),d.end()}catch(e){n.instrument_logger.error("Failed to set response attributes",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})}catch(e){n.instrument_logger.error("Failed to patch http.Server.prototype.emit",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,[e,...r])};return i?i.run({httpMetric:d},l):l()},(0,i.copyPropertiesToTarget)(t,e.Server.prototype.emit)}}t.default=u},5673:e=>{"use strict";e.exports=require("array-flatten")},5688:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hudRITM=void 0,t.safeLog=function(e){try{i.app_logger.debug(e)}catch{return}},t.registerHook=function(){if(i.app_logger.info("HUD is required"),process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE){if(i.app_logger.info("Running in Lambda environment"),parseInt(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE)<n.hudConfig.lambdaMinimunMemory){const e=process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE;return i.app_logger.warning("Lambda function memory size is less than required, Hud will not run",{memorySize:e,requiredMemory:n.hudConfig.lambdaMinimunMemory}),i.customer_logger.log(s.UserErrorLogs.UnsupportedLambdaMemory(n.hudConfig.lambdaMinimunMemory)),!1}globalThis.hudRuningInsideLambda=!0}return(0,o.initGlobals)(),i.app_logger.debug("InitGlobals done"),!(globalThis.hudStartFromAutoInit&&!(0,o.validateAndGetUserInput)())&&(i.instrument_logger.isValid()?globalThis.hudRanOnRequire?(i.instrument_logger.warning("Already ran onRequire!"),!1):(globalThis.hudRanOnRequire=!0,i.instrument_logger.info("Using module",{name:n.SDK_MODULE_NAME}),n.hudConfig.userConfig.enableFrameworks&&i.instrument_logger.info("User enabled frameworks",{frameworks:(0,a.getEnabledFrameworks)()}),(0,a.onRequire)(),(0,s.detectNextJsApp)(),i.instrument_logger.debug("onRequire done"),globalThis.hudInitGuard=setTimeout(c,n.hudConfig.userConfig.maxTimeUntilInitSessionMs?.value??0),globalThis.hudInitGuard.unref(),!0):((0,o.detachHud)(!1),!1))};const n=r(5809),o=r(8269),s=r(2546),i=r(523),a=r(7166);function c(){i.instrument_logger.critical("Init timeout reached - disabling hud"),i.customer_logger.log(s.UserErrorLogs.InitTimeout(globalThis.hudIsRunningFromSetup)),(0,o.detachHud)(!1)}t.hudRITM=a.onRequireFn},5809:e=>{"use strict";e.exports=require("./config")},5946:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),s=r(4815),i=r(714);class a extends i.FrameworkPatcher{_patch(e){return(0,s.patchUse)(e.prototype,"router"),(0,o.patchMethods)(e.prototype,"router"),n.instrument_logger.info("Patched router successfully"),e}}t.default=a},6093:e=>{"use strict";e.exports=require("@cspotcode/source-map-support")},6504:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLMetric=void 0;const n=r(9873);class o extends n.FlowMetric{constructor(e){super(e)}_createUsableMetric(e){return this}toRaw(){return{flow_id:this.flowId,type:"GraphQLMetric",duration:this.duration}}}t.GraphQLMetric=o},6730:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getMethods=f,t.patchMethods=function(e,t){f().concat("all").forEach(function(r){const n=e[r];if(!n)return void(l.isVerboseLoggingEnabled&&c.instrument_logger.warning("Method not found",{method:r}));const o="all"===r;e[r]=function(){try{if(arguments.length<2)return n.apply(this,arguments);let e=this[l.uuidSymbol];l.isVerboseLoggingEnabled&&(e||(e=u.randomUUID(),this[l.uuidSymbol]=e,c.instrument_logger.info("Express method setting uuid",{uuid:e,kind:t})),c.instrument_logger.info("Express added new method",{method:r,uuid:e,path:arguments[0]}));const s=Array.prototype.slice.call(arguments);if(s[1][a.hudConfig.express.layerStateSymbol]={flowId:[],kind:t,allMethod:o},Array.isArray(s[0]))for(const e of s[0]){const e=u.randomUUID();s[1][a.hudConfig.express.layerStateSymbol].flowId.push(e)}else s[1][a.hudConfig.express.layerStateSymbol].flowId.push(u.randomUUID());const i=n.apply(this,s);try{delete s[1][a.hudConfig.express.layerStateSymbol]}catch{}return i}catch(e){c.instrument_logger.error("Failed to patch method",{kind:t,method:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n.apply(this,arguments)},(0,d.copyPropertiesToTarget)(n,e[r])})};const a=r(5809),c=r(523),u=i(r(6982)),d=r(8949),l=r(7225);function f(){const e=r(8611);return e.METHODS&&e.METHODS.map(function(e){return e.toLowerCase()})||["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}},6928:e=>{"use strict";e.exports=require("path")},6982:e=>{"use strict";e.exports=require("crypto")},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),s=r(2977),i=r(4815),a=r(7225),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return(0,s.patchRoute)(e.Route),(0,i.patchUse)(e.application,"application"),(0,o.patchMethods)(e.application,"application"),a.isVerboseLoggingEnabled&&(0,a.logLazyRouter)(e.application),e.Router.use?((0,i.patchUse)(e.Router,"router"),(0,o.patchMethods)(e.Router,"router")):n.instrument_logger.warning("Skipping express.Router patching"),n.instrument_logger.info("Patched express successfully"),e}}t.default=u},7131:e=>{"use strict";e.exports=require("./wrap")},7166:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.parseCliInstrumentationPattern=k,t.supportSourceMapInstall=S,t.patch=M,t.patchCompile=I,t.onRequireFn=P,t.patchRequire=O,t.isFrameworkEnabled=F,t.getEnabledFrameworks=function(){const e=new Map;for(const[t,r]of g.hudConfig.frameworksToPatch)e.set(r.framework,F(r,g.hudConfig.userConfig.enableFrameworks));return Object.fromEntries(e)},t.getFunctionsToInstrument=R,t.createCheckers=L,t.updateModuleChecker=A,t.skip=D,t.onRequire=function(){try{(0,d.setInstrumentedFilesCountInterval)(),A();try{I()}catch(e){l.instrument_logger.error("Failed to patch compile",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{(0,d.shouldSupportSourceMap)()&&S()}catch(e){l.instrument_logger.error("Failed to install source map support",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{O()}catch(e){l.instrument_logger.error("Failed to patch require",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}catch(e){l.instrument_logger.error("Something went wrong in onRequire",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{(0,h.saveMachineMetric)()}catch(e){l.instrument_logger.error("Failed to add metric",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};const a=i(r(9896)),c=i(r(6928)),u=r(8528),d=r(2546),l=r(523),f=r(3901),g=r(5809),p=r(8528),h=r(8269),m=r(2546),_=r(9063),y=r(714),v=function(){const e=g.SDK_MODULE_NAME;try{return c.dirname(c.dirname(m.myRequire.resolve(e)))}catch(t){return l.instrument_logger.error("Failed to resolve own path",{moduleName:e,msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0}),null}}();function b(e){const t=globalThis.HudSourceMapCache.get(e);return t?{map:JSON.parse(t)}:null}const w=new RegExp(`//"([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})";${g.hudConfig.cliSdkVersionVarName}="([^"]+)";${g.hudConfig.cliBuildIdVarName}`);function k(e){if(e.slice(-g.hudConfig.cliBuildIdVarName.length)!==g.hudConfig.cliBuildIdVarName)return null;const t=Math.min(100,e.length),r=e.slice(-t).match(w);return r?{buildId:r[1],sdkVersion:r[2],fullPattern:r[0]}:null}function S(){r(6093).install({handleUncaughtExceptions:!1,hookRequire:!1,environment:"node",retrieveSourceMap:b})}function M(e,t,r,n){const o={code:e,map:void 0};try{if(globalThis.hudRunningMode===p.HudRunningMode.detached)return o;if(r===u.Format.esm&&!n)throw new m.HudError("MessagePort is required for patching ESM modules");const s=k(e);if(s)return s.sdkVersion!==g.SDK_VERSION?(l.instrument_logger.critical("SDK version mismatch detected, disabling SDK",{filename:t,cliSdkVersion:s.sdkVersion,currentSdkVersion:g.SDK_VERSION}),(0,h.detachHud)(!1,!1),o):((0,h.addReingestValue)(s.buildId),globalThis.hudInstrumentationIndicator&&(0,h.clearInstrumentationIndicator)(),o);if(g.hudConfig.userConfig.disableRuntimeInstrumentation?.value)return o;const i=R(t);if(D(t,void 0,i))return o;if(e.length>(g.hudConfig.userConfig.maxFileSizeBytes?.value??0)&&!e.startsWith(g.hudConfig.esbuildMark))return l.instrument_logger.info("Skipping large file",{filename:t,size:e.length}),o;const _=Date.now(),y=(0,f.edit)(e,t,r,i,!1),v=y.metadatas;if(o.code=y.transformedCode,o.map=v,l.instrument_logger.debug("Patched",{filename:t,time:Date.now()-_}),n)for(const e of v)n.postMessage({key:"HudModulePatch",hudPatched:t,hudProcessedFiles:(0,d.sourceFileMetadataToTransferSourceFileMetadata)(e)});else globalThis.hudPatched.add(t),globalThis.hudProcessedFiles.push(...v.map(e=>(0,d.sourceFileMetadataToTransferSourceFileMetadata)(e)));for(const e of v)e.functionIds.length>0&&(globalThis.hudInstrumentationOccured=!0,globalThis.hudInstrumentationIndicator&&(0,h.clearInstrumentationIndicator)(),(0,d.incrementInstrumentedFilesCount)());g.hudConfig.writePatched&&function(e,t){const r=c.parse(e);let n=`${r.dir}/patched.${r.base}`;r.dir.includes("dist")&&(n=c.join(`${r.dir.replace("dist","patched")}`,r.base)),a.existsSync(c.dirname(n))||a.mkdirSync(c.dirname(n),{recursive:!0}),a.writeFileSync(n,t,"utf8"),l.instrument_logger.debug("Dumped patched file",{filename:e,patchedPath:n})}(t,y.transformedCode)}catch(e){l.instrument_logger.error("Failed to patch",{filename:t,format:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o}let E="",x=!0,C=!1;function I(){if(!(0,m.isSupportedNative)())return;const e=r(3339),t=(0,d.shouldSupportSourceMap)();C&&l.instrument_logger.warning("PatchCompile ran twice"),0===Object.keys(globalThis.hudLoadedModules).length&&(globalThis.hudLoadedModules=Object.keys(m.myRequire.cache));const n=e.prototype._compile;e.prototype._compile=function(e,r){if(r===E){try{const e=x?l.instrument_logger.warning.bind(l.instrument_logger):l.instrument_logger.debug.bind(l.instrument_logger);x=!1,e("Skipping compile since already ran",{filename:r})}catch{}return n.call(this,e,r)}E=r,l.instrument_logger.debug("Compiling requirement",{filename:r});const o=M(e,r,u.Format.cjs);try{if(t&&o.map){const e=(0,d.combineSourceMaps)(o.map,r);e&&globalThis.HudSourceMapCache.set(r,e)}}catch(e){l.instrument_logger.error("Failed to combine source maps",{filename:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const s=n.call(this,o.code,r);return E="",s},C=!0,l.instrument_logger.debug("Patched _compile")}function P(e,t,r){try{const n=g.hudConfig.frameworksToPatch.get(t);return F(n,g.hudConfig.userConfig.enableFrameworks)&&n?.patcher&&n.version?(0,y.getFrameworkPatcher)(n.patcher).patch(e,r,n.version,n.extraInfo,t):e}catch(e){l.instrument_logger.error("Failed to patch framework",{name:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}function O(){const e=Array.from(g.hudConfig.frameworksToPatch.entries()).filter(([e,t])=>F(t,g.hudConfig.userConfig.enableFrameworks)).map(([e])=>e);new _.Hook(Array.from(e),{internals:!0},P)}function F(e,t){return!!e&&(t&&t.value?.has(e.framework)?t.value.get(e.framework)||!1:e.enable)}function T(e){const t=c.sep.replace(/\\/g,"\\\\"),r=c.join(e).split(".").join("\\.").split("*").join(".*?"),n=t+"node_modules"+t;return{isAllowdModule:new RegExp(n+r+`(?:${t}|$)`),isAllowdModuleSubModule:new RegExp(n+r+n)}}function j(e,t){return!!t.isAllowdModule.test(e)&&!t.isAllowdModuleSubModule.test(e)}function N(e,t){const r=t.replace(/\//g,c.sep);return e.includes(`node_modules${c.sep}${r}${c.sep}`)&&!e.includes(`node_modules${c.sep}${r}${c.sep}node_modules`)}function R(e){return(0,m.getInstrumentedThirdPartyModuleInfo)(e)?.functions||[]}function L(e){const t=[];for(const r of e){let e;if(r.includes("*")){const t=T(r);e=e=>j(e,t)}else e=e=>N(e,r);t.push(e)}return t}let q=[];function A(){q=L(g.hudConfig.userConfig.includeModules?.value??[])}function D(e,t,r=[]){if(!g.hudConfig.allowedEditExtensions.includes(c.extname(e))&&!e.endsWith(c.sep))return l.instrument_logger.warning("Skipping non-allowed extension",{filename:e}),!0;const n=t??q;return"/var/runtime/index.mjs"===e?(l.instrument_logger.debug("Skipping lambda runtime",{filename:e}),!0):e.includes("node_modules")&&!function(e,t){for(const r of t)if(r(e))return!0;return!1}(e,n)&&0===r.length||e.includes(".yarn")?(l.instrument_logger.debug("Skipping non-monitored imported module",{filename:e}),!0):!(v&&!e.includes(v)||(l.instrument_logger.debug("Skipping hud internal module",{filename:e}),0))}},7214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8528),s=r(8269),i=r(2546),a=r(523),c=r(8949),u=r(6504),d=r(714);class l extends d.FrameworkPatcher{static graphQLPatchedSymbol=Symbol.for(n.hudConfig.hudPatchedName);_patch(e){return this.patchGraphql(e),a.instrument_logger.info("Patched GraphQL successfully"),e}patchGraphql(e){const t=e.execute;e.execute=function(e){!function(e){try{e&&!e[l.graphQLPatchedSymbol]&&(f(e._queryType),f(e._mutationType),e[l.graphQLPatchedSymbol]=!0,a.instrument_logger.info("Patched GraphQL schema successfully"))}catch(e){a.instrument_logger.error("Failed to patch GraphQL schema",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(e.schema);const r=process.hrtime.bigint();return function(e,t,r){return"function"==typeof e.then?e.then(e=>(m(t,r),e)):(m(t,r),e)}(t.apply(this,arguments),e.document,r)},(0,c.copyPropertiesToTarget)(t,e.execute)}}function f(e){if(!e)return;const t=e._fields;Object.keys(t).forEach(r=>{const n=t[r];!function(e,t,r){if(e.resolve&&!e.resolve[l.graphQLPatchedSymbol]){const n=(0,i.generateGraphqlFlowId)(r,t);(0,s.storeResolverDeclaration)({id:n,operation:t,name:r});const o=e.resolve;e.resolve=(0,c.wrapFlow)(h,o,!0,(e,t)=>{const r=u.GraphQLMetric.createUsableMetric();r.start(),r.setFlowId(e),t.flowMetric=r},(e,t)=>{const r=t.flowMetric;r?r.end():a.instrument_logger.warning("No flowMetric found for resolver",{flowId:e})},(e,t)=>{const r=t.flowMetric;r?r.end():a.instrument_logger.warning("No flowMetric found for resolver",{flowId:e})}),e.resolve[l.graphQLPatchedSymbol]=!0,(0,s.storeResolverIdBySelectionName)(n,r)}}(n,o.GraphQLSupportedOperations[e.name.toLowerCase()],r),n.type._fields&&p(n.type)})}t.default=l;const g=new WeakSet;function p(e){e&&e._fields&&!g.has(e)&&(g.add(e),Object.keys(e._fields).forEach(t=>{const r=e._fields[t];if(!r||!r.type)return;!function(e){const t=e.resolve;t&&!e.resolve[l.graphQLPatchedSymbol]&&(e.resolve=(0,c.wrapFlow)(h,t,!0),e.resolve[l.graphQLPatchedSymbol]=!0)}(r);let n=r.type;for(;n.ofType;)n=n.ofType;p(n)}))}function h(e){if(void 0===e[2]||void 0===e[3])return void a.instrument_logger.warning("GraphQL resolver arguments are unknown");const t=e[3].path;if(t&&!t.prev){const r=t.key,n=(0,s.getResolverIdBySelectionName)(r);return e[2][l.graphQLPatchedSymbol]=n,n}if(e[2][l.graphQLPatchedSymbol])return e[2][l.graphQLPatchedSymbol];a.instrument_logger.warning("GraphQL No functionId found for resolver")}function m(e,t){try{new s.GraphQLDocumentMetadata(e,Number(process.hrtime.bigint()-t)).save()}catch(e){a.instrument_logger.error("Failed to save document metadata",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}},7225:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.skipStackNamesLogs=t.skipLayerNamesLogs=t.isVerboseLoggingEnabled=t.uuidSymbol=void 0,t.logLazyRouter=function(e){const r=e.lazyrouter;e.lazyrouter=function(){let e=!1;try{this._router||(e=!0)}catch(e){a.instrument_logger.error("Failed to check this._router",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const n=r.apply(this,arguments);try{if(e){let e=this[t.uuidSymbol];e||(e=c.randomUUID(),this[t.uuidSymbol]=e,a.instrument_logger.info("Express lazy router setting uuid",{uuid:e})),a.instrument_logger.info("Express lazy router",{parent:e,child:this._router?.[t.uuidSymbol]})}}catch(e){a.instrument_logger.error("Failed to patch express.lazyRouter function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n},(0,d.copyPropertiesToTarget)(r,e.lazyrouter)};const a=r(523),c=i(r(6982)),u=r(932),d=r(8949);t.uuidSymbol=Symbol.for("__hud_uuid__"),t.isVerboseLoggingEnabled="true"===u.env.HUD_LOG_EXPRESS,t.skipLayerNamesLogs=new Set(["query","expressInit","mounted_app"]),t.skipStackNamesLogs=new Set(["router"])},7276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8544);class o extends n.BaseKafkaJSPatcher{getExportsRoot(e){return e.KafkaJS}getGroupId(e){return e[0].kafkaJS.groupId}moduleName(){return"@confluentinc/kafka-javascript.KafkaJS"}}t.default=o},7603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getObservabilityIdentifiers=function(e){const t=l();return{datadog_trace_id:t?.trace_id,datadog_span_id:t?.span_id,otel_trace_id:g(),w3c_trace_context:i(e),w3c_baggage:c(e,"baggage"),amazon_trace_id:c(e,"x-amzn-trace-id"),b3_propagation:a(e),jaeger_trace_id:c(e,"uber-trace-id")}},t.getExtraHeaders=function(e){const t={};for(const r of n.hudConfig.dynamicConfig.extraHeaders){const n=c(e,r);void 0!==n&&(t[r]=n)}return t},t.getDatadogIds=l,t.getOtelTraceId=g;const n=r(5809),o=r(2546),s=r(523);function i(e){try{return{traceparent:c(e,"traceparent"),tracestate:c(e,"tracestate")}}catch{return}}function a(e){try{return{full:c(e,"b3"),trace_id:c(e,"x-b3-traceid"),span_id:c(e,"x-b3-spanid"),parent_span_id:c(e,"x-b3-parentspanid")}}catch{return}}function c(e,t){try{return e.headers[t]}catch{return}}function u(e){let t;return()=>(void 0===t&&(t=function(e){try{const t=o.myRequire.resolve(e),r=o.myRequire.cache[t];return void 0===r?(s.instrument_logger.info("requireFromCache: codeModule is undefined",{path:e,fullPath:t}),null):"object"!=typeof r.exports?(s.instrument_logger.warning("requireFromCache: codeModule.exports is not an object",{path:e}),null):r.exports}catch(t){return s.instrument_logger.warning("requireFromCache: error",{path:e,error:t}),null}}(e)),t)}const d=u("dd-trace/packages/datadog-core");function l(){try{const e=d();if(null===e)return;const{storage:t}=e,r=t("legacy").getStore();return{trace_id:r.span._spanContext.toTraceId(),span_id:r.span._spanContext.toSpanId()}}catch{return}}const f=u("@opentelemetry/api");function g(){try{const e=f();if(null===e)return;const{trace:t}=e;return t.getActiveSpan()?.spanContext().traceId}catch{return}}},7808:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getMachineMetrics=function(){try{const e=(0,o.getLastMetrics)();return{cpu_usage:e.cpuUsage?l(e.cpuUsage,e.timestamp):void 0,memory_usage:d(),event_loop_utilization:e.elu?u(e.elu):void 0}}catch(e){return void i.app_logger.error("Error getting machine metrics",e)}},t.getCpuUsage=l;const o=r(8269),s=r(2546),i=r(523),a=n(r(857)),c=r(2987);function u(e){try{return c.performance.eventLoopUtilization(e).utilization}catch(e){return void i.app_logger.error("Error getting event loop utilization",e)}}function d(){try{const e=process.memoryUsage(),t=a.default.totalmem();return{rss:e.rss,heap_total:e.heapTotal,heap_used:e.heapUsed,external:e.external,system_memory:t,rss_percentage:e.rss/t*100}}catch(e){return void i.app_logger.error("Error getting memory usage",e)}}function l(e,t){try{const r=process.cpuUsage(),n=1e3*(Date.now()-t),o=(0,s.getCpuLimit)(i.app_logger),a=(r.user-e.user)/n,c=(r.system-e.system)/n;return{user_time:a,system_time:c,limit:o,user_percent_of_limit:"number"==typeof o?a/o*100:void 0,system_percent_of_limit:"number"==typeof o?c/o*100:void 0}}catch(e){return void i.app_logger.error("Error getting cpu usage",e)}}},8064:e=>{"use strict";e.exports=require("semver")},8269:e=>{"use strict";e.exports=require("./globalstate")},8528:e=>{"use strict";e.exports=require("./dto")},8544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseKafkaJSPatcher=void 0;const n=r(5809),o=r(8269),s=r(2546),i=r(523),a=r(8949),c=r(828),u=r(714);class d extends u.FrameworkPatcher{_patch(e){const t=this.getExportsRoot(e);return this._patchConsumer(t),i.instrument_logger.info(`Patched ${this.moduleName()} successfully`),e}_patchConsumer(e){const t=e.Kafka.prototype.consumer;if(!t)return void i.instrument_logger.error("DD presumably ran before HUD - exports.Kafka.prototype.consumer is undefined");const r=this.getGroupId.bind(this);e.Kafka.prototype.consumer=function(...e){const o=t.apply(this,e);try{const t=new Map,s=[],u=[];!function(e,t){const r=e.subscribe;e.subscribe=async function(...e){const n=await r.apply(this,e);try{const r=e[0].topics;r?r.forEach(e=>{t.push(e)}):e[0].topic?t.push(e[0].topic):i.instrument_logger.warning("No topic found in KafkaJS.Consumer.subscribe",{args:e[0]})}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer.subscribe",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n},(0,a.copyPropertiesToTarget)(r,e.subscribe)}(o,u),function(e,t,r,o,s){const u=e.run;function d(e,u){const d="eachBatch"===u;for(const e of s)p(e,o,t,r,u);const h=function(e,t,r){return n=>{const o=n[0],s=r?o.batch.topic:o.topic;return function(e,t,r,n){const o=e.get(g(r,n));if(o)return o;for(const e of t)if(e.isBatch===n&&e.pattern.test(r))return e.flowId;i.instrument_logger.warning("No flowId found for topic",{topicName:r,isBatch:n})}(e,t,s,r)}}(t,r,d),m=function(e){return(t,r,o)=>{const s=c.KafkaJSMetric.createUsableMetric();s.start(),s.setFlowId(t);const i=o[0];void 0!==i&&void 0!==i.message&&(i.message[n.hudConfig.metricSymbol]=s);const a=e?i.batch.partition:i.partition,u=e?i.batch.messages[0]?.timestamp:i.message?.timestamp;s.addPartition(a),s.addProducedTimestamp(u),r.flowMetric=s}}(d),_=(0,a.wrapFlow)(h,e[u],!0,m,l,f);e[u]=_}e.run=async function(...e){try{const t=e[0];t.eachMessage&&d(t,"eachMessage"),t.eachBatch&&d(t,"eachBatch")}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer.run",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return await u.apply(this,e)},(0,a.copyPropertiesToTarget)(u,e.run)}(o,t,s,r(e),u)}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o},(0,a.copyPropertiesToTarget)(t,e.Kafka.prototype.consumer)}}function l(e,t){const r=t.flowMetric;r?r.end():i.instrument_logger.warning("No flowMetric found for message",{flowId:e})}function f(e,t,r){const n=t.flowMetric;n?(n.setError(r),n.end()):i.instrument_logger.warning("No flowMetric found for message",{flowId:e})}function g(e,t){return e+"|"+t}function p(e,t,r,n,i){const a=(0,s.generateKafkaFlowId)(e,t,i),c={flow_id:a,topic_name:e.toString(),group_id:t,pulling_type:i};(0,o.storeKafkaJSTopicDeclaration)(c),function(e,t,r,n,o){"string"==typeof r?e.set(g(r,n),o):t.push({pattern:r,isBatch:n,flowId:o})}(r,n,e,"eachBatch"===i,a)}t.BaseKafkaJSPatcher=d},8611:e=>{"use strict";e.exports=require("http")},8949:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsyncFunction=void 0,t.wrapFlow=function(e,r,c=!0,u,d,l){let f;const g=(0,s.getFlowStateStorage)();return g?r[i]?r:(f=r instanceof t.AsyncFunction?async function(...t){let i;try{i=e(t)}catch(e){o.instrument_logger.error("Failed to get flowId",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(!i||hudRunningMode!==n.HudRunningMode.enabled)return await r.apply(this,t);const a={};if(u)try{u(i,a,t)}catch(e){o.instrument_logger.error("Failed to execute beforeCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const f=(0,s.getHttpMetricFromFlowState)();f?.setFlowId(i);try{const e=g.run({flowId:i,shouldLinkFunction:c,httpMetric:f},Reflect.apply,r,this,t),n=await e;if(d)try{d(i,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n}catch(e){if(l)try{l(i,a,e)}catch(e){o.instrument_logger.error("Failed to execute catchCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}throw e}}:function(...t){let i;try{i=e(t)}catch(e){o.instrument_logger.error("Failed to get flowId",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(!i||hudRunningMode!==n.HudRunningMode.enabled)return r.apply(this,t);const a={};if(u)try{u(i,a,t)}catch(e){o.instrument_logger.error("Failed to execute beforeCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const f=(0,s.getHttpMetricFromFlowState)();f?.setFlowId(i);try{const e=g.run({flowId:i,shouldLinkFunction:c,httpMetric:f},Reflect.apply,r,this,t);if(d)if(e instanceof Promise)e.then(()=>{try{d(i,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}});else try{d(i,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}catch(e){if(l)try{l(i,a,e)}catch(e){o.instrument_logger.error("Failed to execute catchCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}throw e}},a(r,f),f[i]=!0,f):r},t.copyPropertiesToTarget=a;const n=r(8528),o=r(523),s=r(7131);t.AsyncFunction=(async()=>{}).constructor;const i=Symbol.for("hudMarked");function a(e,t){const r=Object.getOwnPropertyDescriptors(e),n=Reflect.ownKeys(r);Object.setPrototypeOf(t,e),n.forEach(e=>{try{Object.defineProperty(t,e,r[e])}catch{}})}},9063:e=>{"use strict";e.exports=require("require-in-the-middle")},9589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8528),o=r(8269),s=r(2546),i=r(523),a=r(8949),c=r(714);class u extends c.FrameworkPatcher{static nextJSHudMarked=Symbol.for("hudNextJSMarked");static routeInfoSymbol=Symbol.for("hudNextJSRouteInfo");static standardMethods=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];_patch(e){return(0,s.setIsNextJsApp)(!0),this._patchBaseServer(e),i.instrument_logger.info("Patched Next.js successfully"),e}_patchBaseServer(e){try{const t=e.default;if(t[u.nextJSHudMarked])return e;const r=t.prototype.renderToResponseWithComponentsImpl;if(!r)return i.instrument_logger.error("Could not find renderToResponseWithComponentsImpl on BaseServer.prototype"),e;t.prototype.renderToResponseWithComponentsImpl=async function(e,t,...n){try{const r=t.components;if(r&&r.routeModule&&!r.routeModule[u.nextJSHudMarked]){const t=r.routeModule,n=t.definition?.pathname||e.pathname;u._detectAndPatchSupportedMethods(t,n),t[u.nextJSHudMarked]=!0}}catch(e){i.instrument_logger.error("Failed to patch Next.js route module",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return await r.apply(this,[e,t,...n])},t[u.nextJSHudMarked]=!0,(0,a.copyPropertiesToTarget)(r,t.prototype.renderToResponseWithComponentsImpl)}catch(e){i.instrument_logger.error("Failed to patch Next.js base server",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}static _detectAndPatchSupportedMethods(e,t){try{switch(i.instrument_logger.debug("Patching Next.js route module",{pathname:t,kind:e.definition?.kind||"unknown"}),e.definition.kind){case"APP_ROUTE":case"PAGES_API":u._patchApiModule(e,t);break;case"PAGES":case"APP_PAGE":u._patchPageModule(e,t);break;default:i.instrument_logger.warning("Unknown Next.js route module kind",{pathname:t,kind:e.definition?.kind||"unknown"})}}catch(e){i.instrument_logger.error("Error detecting and patching supported methods",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}static _patchApiModule(e,t){if(e.methods)for(const r of u.standardMethods)if("function"==typeof e.methods[r]&&"function"==typeof e.userland?.[r]){const c=(0,s.generateEndpointFlowId)(t,[r]);(0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(c,[r],"nextjs","",t));try{const t=e.methods[r];e.methods[r]=(0,a.wrapFlow)(()=>c,t,!0)}catch(e){i.instrument_logger.error("Failed to patch Next.js App Route method",{method:r,pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}if(e.userland?.default){const r=u.standardMethods.filter(t=>!e.methods?.[t]),i=(0,s.generateEndpointFlowId)(t,r);(0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(i,r,"nextjs","",t));const c=e.userland.default;e.userland={...e.userland,default:(0,a.wrapFlow)(()=>i,c,!0)}}}static _patchPageModule(e,t){const r=(0,s.generateEndpointFlowId)(t,["GET"]);if((0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(r,["GET"],"nextjs","",t)),e.render&&"function"==typeof e.render&&!e.render[this.nextJSHudMarked])try{const n=e.render;e.render=function(...e){try{const n=e[2]?.renderOpts?.Component;if(n&&"function"==typeof n){const t=(0,a.wrapFlow)(()=>r,n,!0);e[2].renderOpts.Component=t}const o=e[2]?.renderOpts?.ComponentMod;if(o){for(const t of Object.keys(o))if(o[t]&&"function"==typeof o[t]){const n=(0,a.wrapFlow)(()=>r,o[t],!0);e[2].renderOpts.ComponentMod[t]=n}}else i.instrument_logger.error("No Component found on Next.js page component",{pathname:t})}catch{}return n.apply(this,e)},(0,a.copyPropertiesToTarget)(n,e.render),e.render[this.nextJSHudMarked]=!0}catch(e){i.instrument_logger.error("Failed to patch Next.js Page render method",{pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(e.userland?.loaderTree)try{l(e.userland.loaderTree,r)}catch(e){i.instrument_logger.error("Failed to patch App Router page component",{pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}else i.instrument_logger.info("No loader tree found on Next.js page component, functions will be patched by the render function",{pathname:t})}}function d(e,t,r){return(...n)=>{const o=e(...n),s=e=>{if(e&&"function"==typeof e.default){const n=(0,a.wrapFlow)(()=>r,e.default,t);e={...e,default:n}}return e};return o&&"function"==typeof o.then?o.then(s):s(o)}}function l(e,t){const[,r,n]=e;for(const e of Object.keys(n))try{const r=n[e];if(Array.isArray(r)&&"function"==typeof r[0]){const n="page"===e,o=r[0];r[0]=d(o,n,t),(0,a.copyPropertiesToTarget)(o,r[0])}}catch(e){i.instrument_logger.error("Failed to iterate on Next.js components",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}for(const e of Object.values(r))try{l(e,t)}catch(e){i.instrument_logger.error("Failed to walk on Next.js parallel routes",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}t.default=u},9723:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),i=0;i<r.length;i++)"default"!==r[i]&&o(t,e,r[i]);return s(t,e),t});Object.defineProperty(t,"__esModule",{value:!0});const a=r(8269),c=r(2546),u=r(523),d=r(9896),l=i(r(6928)),f=r(8949),g=r(714);class p extends g.FrameworkPatcher{_patch(e){(0,c.setIsNextJsApp)(!0);const t=this._patchLoadConfig(e);return u.instrument_logger.info("Patched next.js config successfully"),t}_patchLoadConfig(e){const t=e.default,r=async function(...e){const r=await t.call(this,...e);if(!r)return r;try{const t=e[1],n=l.join(t,r.distDir||".next"),o=l.join(n,a.apiManifest),s=l.join(n,a.pageManifest),i=await d.promises.access(o).then(()=>!0).catch(()=>!1),c=await d.promises.access(s).then(()=>!0).catch(()=>!1);(0,a.isNextConfigExtracted)()||!i&&!c||(u.instrument_logger.info("Extracted next.js config successfully"),(0,a.setNextConfig)(r))}catch(e){u.instrument_logger.error("Failed to patch next.js loadConfig",{msg:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}return r};(0,f.copyPropertiesToTarget)(t,r);const n=Object.create(Object.getPrototypeOf(e));return Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}}),(0,f.copyPropertiesToTarget)(e,n),n}}t.default=p},9873:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FlowMetric=void 0;const o=r(8528),s=r(8269),i=n(r(932));t.FlowMetric=class{_state;flowId;duration;_startTime;_msStartTime;errorBreakdown;constructor(e){this.flowId=e,this.duration=0,this._state="usable"}static createUsableMetric(e){return new this(e)._createUsableMetric(e)}setFlowId(e){this.flowId=e}getFlowId(){return this.flowId}getMsStartTime(){return this._msStartTime}start(){hudRunningMode===o.HudRunningMode.enabled&&(this._startTime=i.default.hrtime.bigint(),this._msStartTime=Date.now())}setErrorBreakdown(e){this.errorBreakdown=e}end(){hudRunningMode===o.HudRunningMode.enabled&&(this._startTime&&(this.duration=Number(i.default.hrtime.bigint()-this._startTime)),this.#e(),this._state="unusable")}#e(){const e=this.toRaw();e&&(0,s.storeFlowMetric)(e)}}},9896:e=>{"use strict";e.exports=require("fs")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}return r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r(2197)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(global,()=>(()=>{var e={336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),i=r(2822),s=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return this._patchSendRequest(e),n.instrument_logger.info("Patched @codegenie/serverless-express/src/frameworks/express.js successfully"),e}_patchSendRequest(e){const t=e.sendRequest;e.sendRequest=function(e){const r=e?.request,s=e?.response;if(!r||!s)return t.call(this,e);const c=a.HttpEndpointMetric.createUsableMetric(),u=(0,o.getFlowStateStorage)(),d=()=>{try{c.start(),c.setRequestAttributes(r)}catch(e){n.instrument_logger.error("Failed to start flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const o=(0,i.runWithInvestigation)(()=>t.call(this,e));try{s.once("finish",function(){try{c.calculateDuration(),(0,i.finishHttpInvestigation)(r,s,c),c.setResponseAttributes(s),c.end()}catch(e){n.instrument_logger.error("Failed to end flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})}catch(e){n.instrument_logger.error("Failed to end flowMetric during sendRequest patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o};return u?u.run({httpMetric:c},d):d()},(0,s.copyPropertiesToTarget)(t,e.sendRequest)}}t.default=u},486:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8544);class o extends n.BaseKafkaJSPatcher{getExportsRoot(e){return e}getGroupId(e){return e[0].groupId}moduleName(){return"KafkaJS"}}t.default=o},523:e=>{"use strict";e.exports=require("./logger")},646:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(8949),i=r(5128),s=r(714);class a extends s.FrameworkPatcher{_patch(e){return this._patchCreate(e),n.instrument_logger.info("Patched NestJS RouterExecutionContext successfully"),e}_patchCreate(e){const t=e.RouterExecutionContext.prototype.create;e.RouterExecutionContext.prototype.create=function(...e){try{const t=e[0],r=e[1];"function"==typeof t.constructor&&"function"==typeof r?e[1]=(0,i.wrapLinkedFunction)(r):n.instrument_logger.error("Invalid args in NestJS RouterExecutionContext.create",{args:e})}catch(e){n.instrument_logger.error("Error in NestJS RouterExecutionContext patcher",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,e)},(0,o.copyPropertiesToTarget)(t,e.RouterExecutionContext.prototype.create)}}t.default=a},714:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.FrameworkPatcher=void 0,t.isSupportedVersion=f,t.extractModuleVersion=g,t.getFrameworkPatcher=function(e){return new(r(2828)(`./${e}`).default)};const a=r(2546),c=r(523),u=r(9896),d=s(r(6928)),l=r(8064);function f(e,t){return""===e||l.satisfies(l.coerce(e),t)}function g(e){try{const t=(0,u.readFileSync)(d.join(e,"package.json"),{encoding:"utf8"}),r=JSON.parse(t).version;return"string"==typeof r?r:""}catch{c.instrument_logger.info("Failed extracting version",{baseDir:e})}return""}t.FrameworkPatcher=class{patch(e,t,r,n,o=this.constructor.name){try{if(this.isSupported(t,o,r,n))return this._patch(e)}catch(e){c.instrument_logger.error("Unhandeled error during patching framework",{framework:o,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}isSupported(e,t,r,n){const o=g(e);return!!f(o,r)||(c.instrument_logger.warning("Unsupported version",{framework:t,version:o,supportedVersion:r,basedir:e}),c.customer_logger.log(a.UserErrorLogs.UnsupportedFrameworkVersion(t)),!1)}}},828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KafkaJSMetric=void 0;const n=r(523),o=r(7131),i=r(9873);class s extends i.FlowMetric{partition;error;producedTimestamp;totalConsumeDuration;constructor(e){super(e)}_createUsableMetric(e){return this}end(){this.producedTimestamp&&(this.totalConsumeDuration=Number(Date.now()-this.producedTimestamp)*Number(1e6)),super.end()}addProducedTimestamp(e){void 0!==e&&(this.producedTimestamp=Number(e))}addPartition(e){this.partition=e}setError(e){this.error=(0,o.extractName)(e)}toRaw(){if(void 0!==this.partition)return{flow_id:this.flowId,type:"KafkaJSMetric",duration:this.duration,partition:this.partition,error:this.error,total_consume_duration:this.totalConsumeDuration,error_breakdown:this.errorBreakdown};n.instrument_logger.warning("No partition found for message",{flowId:this.flowId})}}t.KafkaJSMetric=s},857:e=>{"use strict";e.exports=require("os")},932:e=>{"use strict";e.exports=require("process")},1326:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=r(2546),i=r(523),s=r(8949),a=r(714),c=n(r(9589));class u extends a.FrameworkPatcher{static nextJSHudMarked=Symbol.for("hudNextJSMarked");_patch(e){return(0,o.setIsNextJsApp)(!0),this._pathLoad(e),i.instrument_logger.info("Patched Next.js successfully"),e}_pathLoad(e){try{const t=e.RouteModuleLoader;if(t[u.nextJSHudMarked])return e;const r=t.load;t.load=async function(...e){const t=await r.apply(this,e);try{if(t){const e=t.definition?.pathname;e&&!t[u.nextJSHudMarked]&&(c.default._detectAndPatchSupportedMethods(t,e),t[u.nextJSHudMarked]=!0)}}catch(e){i.instrument_logger.error("Failed to patch Next.js route module",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t},t[u.nextJSHudMarked]=!0,(0,s.copyPropertiesToTarget)(r,t.load)}catch(e){i.instrument_logger.error("Failed to patch Next.js base server",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}}t.default=u},1427:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getSystemInfo=function(){return{pod_name:u(),node_name:d()}};const o=n(r(9896)),i=n(r(857)),s=Symbol("not found");let a,c;function u(){if(a!==s){if(a)return a;try{return a=i.default.hostname(),a}catch{return void(a=s)}}}function d(){if(c!==s){if(c)return c;try{const e=o.default.readFileSync("/etc/machine-id","utf8").trim();return c=e,c}catch{return void(c=s)}}}},1502:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8528),i=r(8269),s=r(2546),a=r(523),c=r(8949),u=r(714);class d extends u.FrameworkPatcher{static koaModuleName="koa";static koaPatchedSymbol=Symbol.for(n.hudConfig.hudPatchedName);_patch(e){return this._patchAppUse(e),a.instrument_logger.info("Patched koa successfully"),e}_patchAppUse(e){const t=e.prototype.use;e.prototype.use=function(e){const r=t.apply(this,arguments);try{if(!arguments[0].router)return r;const e=arguments[0].router.stack;for(let t=0;t<e.length;t++)d._wrapRoute(e[t])}catch(e){a.instrument_logger.error("Failed to patch koa.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return r},(0,c.copyPropertiesToTarget)(t,e.prototype.use)}static _wrapRoute(e){if(e.methods&&0===e.methods.length)return;if(!e.stack[0][d.koaPatchedSymbol]){const t=(0,c.wrapFlow)(p,e.stack[0],!0);e.stack[0]=t,e.stack[0][d.koaPatchedSymbol]=!0}const t=(0,s.generateEndpointFlowId)(e.path,e.methods);(0,i.storeEndpointDeclaration)(new o.EndpointDeclaration(t,e.methods,"koa",void 0,e.path));for(const r of e.methods)g(t,e.path,r)}}function l(e,t){return e+"|"+t}t.default=d;const f=new Map;function g(e,t,r){f.set(l(t,r),e)}function p(e){if(0===e.length)return;const t=e[0]._matchedRoute,r=e[0].req?.method;return function(e,t){return f.get(l(e,t))}(t,r)}},2080:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SqsMetric=void 0;const n=r(9873);class o extends n.FlowMetric{errors;msgCount;e2eEpocStartTimeMS;e2eDurationNS;_finishedMessageCount;constructor(e){super(e),this._finishedMessageCount=0,this.errors=new Map}addError(e,t=1){this.errors.set(e,(this.errors.get(e)??0)+t)}increaseAndShouldEnd(e=1){return this._finishedMessageCount+=e,!(this.msgCount&&this._finishedMessageCount<this.msgCount)}end(){this.e2eEpocStartTimeMS&&(this.e2eDurationNS=Number(Date.now()-this.e2eEpocStartTimeMS)*Number(1e6)),super.end()}_createUsableMetric(e){return this}toRaw(){return{flow_id:this.flowId,type:"SqsMetric",duration:this.duration,e2e_duration:this.e2eDurationNS,msg_count:this.msgCount,errors:this.errors,error_breakdown:this.errorBreakdown}}}t.SqsMetric=o},2197:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)},a=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.koa=t.express=t.safeLog=t.registerHook=t.hudRITM=void 0;var c=r(5688);Object.defineProperty(t,"hudRITM",{enumerable:!0,get:function(){return c.hudRITM}}),Object.defineProperty(t,"registerHook",{enumerable:!0,get:function(){return c.registerHook}}),Object.defineProperty(t,"safeLog",{enumerable:!0,get:function(){return c.safeLog}}),s(r(3901),t),t.express=a(r(7127)),s(r(714),t),t.koa=a(r(1502)),s(r(7166),t)},2546:e=>{"use strict";e.exports=require("./lib")},2729:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),i=r(2822),s=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){const t=this._patchGetFramework(e);return n.instrument_logger.info("Patched serverless-http/lib/framework/get-framework.js successfully"),t}_patchGetFramework(e){const t=e;return e=function(...e){const r=t.apply(t.this,e);async function c(e,...t){const s=a.HttpEndpointMetric.createUsableMetric(),c=(0,o.getFlowStateStorage)(),u=async()=>{try{s.start(),s.setRequestAttributes(e)}catch(e){n.instrument_logger.error("Failed to start flowMetric during framework serverless request handler patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const o=await(0,i.runWithInvestigation)(()=>r.apply(r.this,[e,...t]));return o.once("finish",function(){try{s.calculateDuration(),(0,i.finishHttpInvestigation)(e,o,s),s.setResponseAttributes(o),s.end()}catch(e){n.instrument_logger.error("Failed to end flowMetric during framework serverless request handler patching",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}),o};return c?await c.run({httpMetric:s},u):await u()}return(0,s.copyPropertiesToTarget)(r,c),c},(0,s.copyPropertiesToTarget)(t,e),e}}t.default=u},2741:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),i=r(4815),s=r(7225),a=r(714);class c extends a.FrameworkPatcher{_patch(e){return s.isVerboseLoggingEnabled?((0,o.patchMethods)(e,"application_export"),(0,i.patchUse)(e,"application",!1),(0,s.logLazyRouter)(e),n.instrument_logger.info("Patched express.Application successfully"),e):(n.instrument_logger.info("Skipping express.Application patching, verbose logging is not enabled"),e)}}t.default=c},2784:e=>{"use strict";e.exports=require("../native/_index")},2822:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getStackTraceWithoutMessage=l,t.serializableInvestigation=p,t.getBaseInvestigationStorage=h,t.createNewInvestigation=function(){if(!globalThis.hudEnableInvestigation)return;const e=(0,a.getInvestigationStorage)();void 0!==e&&e.enterWith(h())},t.runWithInvestigation=function(e){if(!globalThis.hudEnableInvestigation)return e();const t=(0,a.getInvestigationStorage)();return void 0===t?e():t.run(h(),e)},t.closeInvestigation=m,t.storeInvestigation=_,t.getInvestigationDedupingKey=v,t.minimizeObject=w,t.finishHttpInvestigation=function(e,t,r){const n=function(e,t){return e.statusCode>=500?"Error":!!E(t,"http")&&"Duration"}(t,r);if(!1===n)return;const o=k(r,n,"http");if(void 0===o)return;try{g("http requests headers",{headers:Object.keys(e.headers)})}catch{g("failed to log http requests headers")}const i=r.getFlowId(),s=r.getMsStartTime();void 0!==i&&void 0!==r.route&&void 0!==r.method&&void 0!==s?_(o,{type:"http",endpoint_uuid:i,route:r.route,method:r.method,timestamp:s,params:e.params,query:e.query,request_body:w(e.body),status_code:t.statusCode,machine_metrics:(0,c.getMachineMetrics)(),observability_identifiers:(0,u.getObservabilityIdentifiersHttp)(e),extra_headers:(0,u.getExtraHeaders)(e),system_info:(0,d.getSystemInfo)()}):g("route, method, or reqTimestamp are undefined even though they shouldn't",{flowId:i,route:r.route,method:r.method,reqTimestamp:s})},t.finishSqsInvestigation=function(e,t){const r=function(e){return e.errors.size>0?"Error":!!E(e,"sqs")&&"Duration"}(t);if(!1===r)return;const n=k(t,r,"sqs");if(void 0===n)return;const o=t.getFlowId(),i=t.getMsStartTime();void 0!==i&&void 0!==o?_(n,{type:"sqs",timestamp:i,flow_id:o,messages:w(e),machine_metrics:(0,c.getMachineMetrics)(),system_info:(0,d.getSystemInfo)()}):g("reqTimestamp is undefined even though it shouldn't",{flowId:o})},t.finishKafkaJSInvestigation=function(e,t,r,n){const o=function(e){return void 0!==e.error?"Error":!!E(e,"kafka")&&"Duration"}(t);if(!1===o)return;const i=k(t,o,"kafka");if(void 0===i)return;const s=t.getFlowId(),a=t.getMsStartTime();if(void 0===a||void 0===s)return void g("reqTimestamp is undefined even though it shouldn't",{flowId:s});_(i,{type:"kafka",timestamp:a,topic:r,partition:n,flow_id:s,messages:w(e.map(e=>{let t=e.value;t instanceof Buffer&&(t=t.toString());try{t=JSON.parse(t)}catch{}return{key:e.key,value:t,timestamp:e.timestamp,offset:e.offset,headers:e.headers,attributes:e.attributes}})),machine_metrics:(0,c.getMachineMetrics)(),system_info:(0,d.getSystemInfo)(),observability_identifiers:(0,u.getObservabilityIdentifiers)()})},t.getErrorRecordsFromInvestigation=M;const n=r(5809),o=r(8528),i=r(8269),s=r(523),a=r(7131),c=r(7808),u=r(7603),d=r(1427);function l(e,t){if(void 0===t)return;const r=function(e){let t=0;for(let r=0;r<e.length;r++)"\n"===e[r]&&t++;return t}(e)+1;let n=-1;for(let e=0;e<r;e++)if(n=t.indexOf("\n",n+1)??-1,-1===n)return;return-1!==n?t.slice(n+1):void 0}const f={};function g(e,...t){let r="debug";(void 0===f[e]||f[e]<n.hudConfig.dynamicConfig.investigationRateLimits.maxUniqLogs)&&(r="warning",f[e]=f[e]+1||1),s.app_logger.logLevel(r,e,...t)}function p(e){return{status:e.status,context:e.context,exceptions:Array.from(e.exceptions.values()).map(({exception:e,executionFlow:t,caught:r})=>({name:(0,a.extractName)(e),message:(0,a.extractMessage)(e),stackTrace:e instanceof Error?l(e.message,e.stack):void 0,executionFlow:t.map(e=>({function_id:e.function_id,caller_id:e.caller_id,args:void 0!==e.args?w(e.args):void 0})),caught:r})),userContext:e.userContext,caught:e.caught,triggerType:e.triggerType,duration:e.duration,durationThreshold:e.durationThreshold}}function h(){return{triggerType:void 0,duration:0,status:o.InvestigationStatus.Open,caught:!0,exceptions:new Map}}function m(){if(!globalThis.hudEnableInvestigation)return;const e=(0,a.getInvestigationStorage)();if(void 0===e)return;const t=e.getStore();return void 0!==t&&t.status===o.InvestigationStatus.Open?(t.status=o.InvestigationStatus.Closed,t):void 0}function _(e,t){e.context=t,(0,i.storeClosedInvestigation)(p(e))}function y(e){for(const t of e)if(!t.is_outbound_function)return t.function_id}function v(e,t){let r="";for(const t of e)r+=`${t.error_type}-${t.function_id}|`;return r+=`${t}`,r}let b=null;function w(e,t=n.hudConfig.investigation.maxObjectDepth,o=new WeakSet){try{if(null===b&&(b=r(8611).IncomingMessage),null!==e&&"object"==typeof e){if(o.has(e))return"[Circular Reference]";if(b&&e instanceof b)return"[Http Request]";o.add(e)}if(null==e||["number","boolean"].includes(typeof e))return e;if("string"==typeof e)return e.length>n.hudConfig.investigation.maxStringLength?e.slice(0,n.hudConfig.investigation.maxStringLength)+"...":e;if(e instanceof Buffer)return e.length>n.hudConfig.investigation.maxStringLength?e.subarray(0,n.hudConfig.investigation.maxStringLength).toString()+"...":e.toString();if(["bigint","symbol"].includes(typeof e))return w(e.toString(),t-1,o);if("function"==typeof e)return`[Function: ${e.name||"anonymous"}]`;if(void 0===e)return;if(Array.isArray(e))return t<=0?"[Array]":e.slice(0,n.hudConfig.investigation.maxArrayLength).map(e=>w(e,t-1,o));if(e instanceof Map)return t<=0?"[Map]":{"[Map]":Array.from(e.entries()).slice(0,n.hudConfig.investigation.maxArrayLength).map(([e,r])=>[w(e,t-1,o),w(r,t-1,o)])};if(e instanceof Set)return t<=0?"[Set]":{"[Set]":Array.from(e.values()).slice(0,n.hudConfig.investigation.maxArrayLength).map(e=>w(e,t-1,o))};if(e instanceof Date){let r;try{r=e.toISOString()}catch{}return w(r,t-1,o)}if(e instanceof RegExp)return w(e.toString(),t-1,o);if(e&&"Proxy"===e[Symbol.toStringTag])return w(e.target||e,t-1,o);if(e&&e[Symbol.toStringTag])return`[${e[Symbol.toStringTag]}]`;if("object"==typeof e){if(t<=0)return"[Object]";const r={},i=Object.getOwnPropertyNames(e),s=Object.getOwnPropertySymbols(e);for(const s of i.slice(0,n.hudConfig.investigation.maxArrayLength))try{r[s]=w(e[s],t-1,o)}catch{}for(const i of s.slice(0,n.hudConfig.investigation.maxArrayLength))try{r[i.toString()]=w(e[i],t-1,o)}catch{}return r}}catch{}}function k(e,t,r){let o;if(o="Error"===t?function(e){const t=m();if(void 0===t)return void g("finishErrorInvestigation: investigation is undefined");const r=e.getFlowId();if(void 0===r)return void g("finishErrorInvestigation: flowId is undefined");const o=M(t),s=v(o,t.caught);if(e.setErrorBreakdown({key:s,errors:o,caught:t.caught}),(0,i.getGlobalInvestigationTracking)()>=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations)return void g("finishErrorInvestigation: globalInvestigationTracking is greater than maxTotalInvestigations",{globalInvestigationTracking:(0,i.getGlobalInvestigationTracking)(),maxTotalInvestigations:n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations});if((0,i.getTotalInvestigationsErrorBased)()>=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigationsErrorBased)return void g("finishErrorInvestigation: currentTotalInvestigationsErrorBased is greater than maxTotalInvestigationsErrorBased");const a=(0,i.getInvestigationDedupingCache)(r).get(s)??0;if(!(a>=n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations))return(0,i.increaseGlobalInvestigationTracking)(),(0,i.increaseTotalInvestigationsErrorBased)(),(0,i.increaseInvestigationDedupingCache)(r,s),t;g("finishErrorInvestigation: investigationCount is greater than maxSameInvestigations",{investigationCount:a,maxSameInvestigations:n.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations})}(e):function(e,t){const r=e.getFlowId();if(void 0===r)return void g("finishDurationInvestigation: flowId is undefined");if((0,i.getGlobalInvestigationTracking)()>=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations)return void g("finishDurationInvestigation: currentTotalInvestigationsGlobal is greater than maxTotalInvestigations");if((0,i.getTotalInvestigationsDurationBased)()>=n.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigationsDurationBased)return void g("finishDurationInvestigation: currentTotalInvestigationsDurationBased is greater than maxTotalInvestigationsDurationBased");const o=S(r,t);if(void 0!==o)return(0,i.getInvestigationDurationCount)(r)>=o.number_of_dumps?(g("finishDurationInvestigation: currentInvestigationCount is greater than durationThresholdAndCount.count"),void s.app_logger.debug("finishDurationInvestigation: currentInvestigationCount is greater than durationThresholdAndCount.count")):((0,i.increaseInvestigationDurationCount)(r),(0,i.increaseGlobalInvestigationTracking)(),(0,i.increaseTotalInvestigationsDurationBased)(),m());g("finishDurationInvestigation: durationThresholdAndCount is undefined")}(e,r),void 0!==o)return o.triggerType=t,o.duration=e.duration,o.durationThreshold=S(e.getFlowId()??"",r)?.duration,o;g("finishInvestigation: error investigation return undefined")}function S(e,t){const r=(0,i.getFlowIdDurationThresholdAndCount)(e);return void 0===r?(0,i.getFlowIdDurationThresholdAndCount)(`default-${t}`):r}function E(e,t){const r=e.getFlowId();if(void 0===r)return!1;const n=S(r,t);return void 0!==n&&n.duration<e.duration}function M(e){const t=new Set,r=[];for(const n of e.exceptions.values()){const e=(0,a.extractName)(n.exception),o=y(n.executionFlow)??"",i=`${e}-${o}`;if(t.has(i))continue;t.add(i);const s={error_type:e,function_id:o};r.push(s)}return r}},2828:(e,t,r)=>{var n={"./baseKafkaJsPatcher":8544,"./baseKafkaJsPatcher.ts":8544,"./codeGenieServerlessExpress":336,"./codeGenieServerlessExpress.ts":336,"./confluentKafkaJs":7276,"./confluentKafkaJs.ts":7276,"./express":7127,"./express.ts":7127,"./express/methods":6730,"./express/methods.ts":6730,"./express/route":2977,"./express/route.ts":2977,"./express/router":4815,"./express/router.ts":4815,"./express/verbosity":7225,"./express/verbosity.ts":7225,"./expressApplication":2741,"./expressApplication.ts":2741,"./flows/flow":9873,"./flows/flow.ts":9873,"./flows/graphql":6504,"./flows/graphql.ts":6504,"./flows/http":4393,"./flows/http.ts":4393,"./flows/kafkajs":828,"./flows/kafkajs.ts":828,"./flows/sqs":2080,"./flows/sqs.ts":2080,"./frameworkPatcher":714,"./frameworkPatcher.ts":714,"./graphql":7214,"./graphql.ts":7214,"./http":5459,"./http.ts":5459,"./kafkajs":486,"./kafkajs.ts":486,"./koa":1502,"./koa.ts":1502,"./nestjsRouterExecutionContext":646,"./nestjsRouterExecutionContext.ts":646,"./nestjsRpcContextCreator":4290,"./nestjsRpcContextCreator.ts":4290,"./nextJsConfig":9723,"./nextJsConfig.ts":9723,"./nextJsModuleLoader":1326,"./nextJsModuleLoader.ts":1326,"./nextjs":9589,"./nextjs.ts":9589,"./router":5946,"./router.ts":5946,"./serverlessHttp":2729,"./serverlessHttp.ts":2729,"./sqsConsumer":5150,"./sqsConsumer.ts":5150};function o(e){var t=i(e);return r(t)}function i(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=i,e.exports=o,o.id=2828},2977:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.patchRoute=function(e){const t=(0,g.getMethods)();t.concat("all").forEach(function(r){const n=e.prototype[r];e.prototype[r]=function(){let e;try{e=p(Array.prototype.slice.call(arguments));let n=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];if(t)return t.flowId}(e);const o=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];if(t)return t.kind}(e),i=function(e){const t=e[0][a.hudConfig.express.layerStateSymbol];return!!t&&t.allMethod}(e);if(n||(n=[l.randomUUID()]),"application"===o)if(Array.isArray(this.path)){_(e,void 0);for(let e=0;e<this.path.length;e++)m(n[e],i?t:[r],this.path[e])}else _(e,n[0]),m(n[0],i?t:[r],this.path);else if("router"===o)if(Array.isArray(this.path)){_(e,void 0);for(let e=0;e<this.path.length;e++)h(this,n[e],r,this.path[e])}else _(e,n[0]),h(this,n[0],r,this.path);else _(e,n[0]),h(this,n[0],r,this.path)}catch(e){d.instrument_logger.error("Failed to patch express.Route.route",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n.apply(this,e||arguments)}})};const a=r(5809),c=r(8528),u=r(8269),d=r(523),l=s(r(6982)),f=r(8949),g=r(6730),p=r(5673);function h(e,t,r,n){!function(e,t,r,n){e[a.hudConfig.express.layerStateSymbol]||(e[a.hudConfig.express.layerStateSymbol]={}),e[a.hudConfig.express.layerStateSymbol][t]?e[a.hudConfig.express.layerStateSymbol][t].methods.push(r):e[a.hudConfig.express.layerStateSymbol][t]={layerPath:n,methods:[r]}}(e,t,r,n),function(e,t,r){const n=new c.EndpointDeclaration(e,[t],"express",void 0,void 0,r);(0,u.storePartialEndpointDeclaration)(n),(0,u.storeExpressEndpointDeclaration)(n)}(t,r,n)}function m(e,t,r){const n=new c.EndpointDeclaration(e,t,"express",void 0,r,void 0);(0,u.storeExpressEndpointDeclaration)(n)}function _(e,t){if(e&&!(e.length<1)){if(a.hudConfig.express.wrapAllCallbacks)for(let r=0;r<e.length;r++){const n=(0,f.wrapFlow)(v(t),e[r],!0);e[r]=n}else{const r=(0,f.wrapFlow)(v(t),e[e.length-1],!0);e[e.length-1]=r}return t}}function y(e){return(0,u.getLinkedConsistentFlowId)(e,!1)||(d.instrument_logger.warning("No consistent flowId found, returning temporary flow id",{flowId:e}),e)}function v(e){return e?function(){return y(e)}:function(e){const t=e[0]?.route[a.hudConfig.express.layerStateSymbol],r=e[0]?.url;if(t)for(const[e,n]of Object.entries(t)){if(n.layerPath instanceof RegExp&&n.layerPath.test(r))return y(e);if(r.includes(n.layerPath))return y(e)}d.instrument_logger.warning("No flowId found for path",{states:t,url:r.split("?")[0]})}}},2987:e=>{"use strict";e.exports=require("perf_hooks")},3176:e=>{"use strict";e.exports=require("buffer-crc32")},3339:e=>{"use strict";e.exports=require("module")},3868:e=>{"use strict";e.exports=require("@jridgewell/sourcemap-codec")},3901:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t}),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getFunctionWrapperTemplate=b,t.splitCode=M,t.editInSplits=I,t.editWithCliBuildId=function(e,t,r,n){let{transformedCode:o,metadatas:i}=T(e,t,r,[],!0);return o+=`\n//# sourceMappingURL=${y.default.basename(t)}.map`,o+=`\n//"${n}";${d.hudConfig.cliSdkVersionVarName}="${d.SDK_VERSION}";${d.hudConfig.cliBuildIdVarName}`,{transformedCode:o,metadatas:i}},t.edit=T,t.incrementInstrumentedFunctionsCount=j;const c=a(r(3176)),u=r(3903),d=r(5809),l=r(2546),f=r(523),g=r(8528),p=r(8269),h=r(2546),m=r(3868),_=s(r(2784)),y=a(r(6928)),v=/([0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})/;function b(e,t,r=!1,n=!1){const o=`${e}_hudTemp`,i="BODY_PLACEHOLDER",s="FUNCTION_ID_PLACEHOLDER",a="AWAITABLE_PLACEHOLDER",c="EXCEPTION_VARIABLE_PLACEHOLDER",u="ARGS_ARRAY_PLACEHOLDER",l=function(e,t,r=!1){const n=[];if(r)return n;let o;t===g.Format.cjs?o="require":t===g.Format.esm&&(n.push(`import { createRequire as ${e}_createRequire } from "module";`,`const ${e}_require = ${e}_createRequire(import.meta.url);`),o=`${e}_require`);const i=h.myRequire.resolve(d.SDK_MODULE_NAME+"/wrap");return n.push(`let ${e}_temp;`,`try { ${e}_temp = ${o}(String.raw\`${i}\`); } catch (e) { ${e}_temp = { wrapperInitial: () => {}, wrapperCatch: () => {}, wrapperFinally: () => {}, fixStack: () => {}, wrapperUserCatch: () => {} }; globalThis._hud_SI = globalThis._hud_SI || { value: 0 }; globalThis._hud_S = globalThis._hud_S || [];\n }`,`const { wrapperInitial: ${e}_wi, wrapperCatch: ${e}_wc, wrapperFinally: ${e}_wf, fixStack: ${e}_fs, asyncIteratorWrapper: ${e}_aiw, wrapperUserCatch: ${e}_wuc } = ${e}_temp;`),n}(e,t,r),f=`${e}_cc.io = true;`;return{functionWrapper:`{\n let ${o};\n const ${d.hudConfig.functionIdVarName} = ${s};\n const ${e}_cc = {}; ${n?f:""}\n try {\n ${e}_wi(${d.hudConfig.functionIdVarName}, ${e}_cc);\n } catch (e) {\n globalThis._hud_SI = { value: 0 };\n globalThis._hud_S = [];\n }\n try {\n ${i}\n } catch (e) {\n try {\n ${e}_wc(${d.hudConfig.functionIdVarName}, ${e}_cc, e, ${u});\n } catch (e) {}\n throw e;\n } finally {\n try {\n ${e}_wf(${d.hudConfig.functionIdVarName}, ${e}_cc);\n } catch (e) {}\n }\n }`,awaitWrapper:`(${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = await ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})`,yieldWrapper:`\n function* ${e}_generatorWrapper() {\n return (${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = yield ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})\n }`,yieldStarWrapper:`\n function* ${e}_generatorWrapper() {\n return (${o} = ${a}, _hud_SI.value--, ${e}_cc.ff = true, ${o} = yield* ${o}, _hud_S[++_hud_SI.value] = ${d.hudConfig.functionIdVarName}, ${e}_cc.ff= false, ${o})\n }`,initialStatements:l,bodyPlaceholder:i,functionIdPlaceholder:s,awaitablePlaceholder:a,argsArrayPlaceholder:u,fixStackFunction:`\n try{\n ${e}_fs(${d.hudConfig.functionIdVarName}, ${e}_cc)\n }catch(e){};`,exceptionVariablePlaceholder:c,wrapperUserCatch:`\n try {\n ${e}_wuc(${d.hudConfig.functionIdVarName}, ${e}_cc, ${c}, ${u});\n } catch(e){};`,asyncIteratorWrapper:`${e}_aiw`,awaitableVariable:o}}function w(e,t,r,n=!0,o=!1,i){const s=Error.prepareStackTrace;let a=!1,l=function(e){const t=e.match(`${d.hudConfig.bundlerBuildIdVarName}="${v.source}"`);if(t&&t.length>0)return t[1]}(e);l||(l=function(e){return(0,u.v5)(e,d.hudConfig.bundlerBuildUuidNamespace)}(e),a=!0);const g=(0,u.v5)(e,d.hudConfig.functionUuidNamespace),p=(0,c.default)(t.filename).readUInt32BE(),m=(0,c.default)(e).readUInt32BE(),y=(0,h.isNextJsApp)(),w={data:t,bundlerBuildId:l,prefix:d.hudConfig.wrapVarPrefix,...b(d.hudConfig.wrapVarPrefix,t.format,o,r.length>0),uuidNamespace:d.hudConfig.functionUuidNamespace,fileHash:g,functionsToInstrument:r,useInputSourcemap:n,isNextJsFile:y,markCode:d.hudConfig.nextJsMarkVarName,enableForAwaitInstrumentation:!i,disableParametersExtraction:d.hudConfig.userConfig.disableParametersExtraction?.value},k=_.transform(e,w);return j(k.functionsIds.length,i),y&&k.marksCount!==k.functionsIds.length&&f.instrument_logger.warning("Marks count mismatch while instrumenting functions",{marksCount:k.marksCount,functionsIdsLength:k.functionsIds.length,filename:t.filename}),globalThis.hudNextJsPluginIndicator&&y&&(k.marksCount>0||k.functionsIds.length>0)&&(clearTimeout(globalThis.hudNextJsPluginIndicator),globalThis.hudNextJsPluginIndicator=void 0),Error.prepareStackTrace=s,f.instrument_logger.debug(`Successfully transformed ${t.filename}`),{code:k.code,map:k.map,functionIds:k.functionsIds,filename:t.filename,hasInputMap:k.isInputSourcemap,bundlerBuildId:l,bundlerBuildIdGenerated:a,file_path_checksum:p,file_checksum:m,sourceCodeHash:g,moduleBase:k.moduleBase,isNextJsApp:y,marksCount:k.marksCount,detectedForAwaitLoops:k.detectedForAwaitLoops}}class k extends Error{}function S(e,t){if(e&&t)throw new k("Start mark found inside mark");if(!e&&!t)throw new k("End mark found outside mark")}function E(e,t,r,n){const o=e.split("\n");let i=r,s=n;return i+=o.length-1,i+=t.split("\n").length-1,i===r?s+=o.pop()?.length||0:s=o.pop()?.length||0,{lineOffset:i,columnOffset:s}}function*M(e){let t=!1,r=0,n=0,o=!1,i=0,s=0;const a=new RegExp(`globalThis\\s*?&&\\s*?\\(globalThis\\.${d.hudConfig.esbuildGlobalVar}\\s*?=\\s*?"(Start|End):(?<fileName>.*?)"\\);?`,"g");for(const c of e.matchAll(a)){if(o=!0,!c.groups)throw new k("No groups found in match");const{fileName:a}=c.groups,[u,d]=c,l="Start"===d;S(l,t);let f="";if(t){const t=c.index+u.length;f=e.slice(r,t);const o=n+Buffer.byteLength(f,"utf8");yield{edit:!0,code:f,fileName:a,lineOffset:i,columnOffset:s,indexOffset:n,indexOffsetEnd:o},r=t,n=o}else{const t=c.index;f=e.slice(r,t),n+=Buffer.byteLength(f,"utf8"),r=t,yield{edit:!1,code:f}}t=!!l,({lineOffset:i,columnOffset:s}=E(f,u,i,s))}if(t)throw new k("End mark found outside mark");o?r<e.length&&(yield{edit:!1,code:e.slice(r)}):yield{edit:!1,code:e}}function x(e,t,r){f.instrument_logger.debug("Edit chunk",{fileName:e.fileName,size:e.code.length,edit:t}),r?.push({fileName:e.fileName,size:e.code.length,edit:t})}function C(e,t,r){const n=w(e.code,{filename:t,format:r},[],!1,!0,!1),o=n.code;return n.mapRelativeToChunk=n.map,n.map=function(e,t,r){"string"==typeof e&&(e=JSON.parse(e));const n=(0,m.decode)(e.mappings);return n.forEach(e=>{e.forEach(e=>{e.length>=4&&"number"==typeof e[2]&&("number"==typeof e[3]&&0===e[2]&&(e[3]+=r),e[2]+=t)})}),JSON.stringify({...e,mappings:(0,m.encode)(n),sourcesContent:void 0})}(n.map,e.lineOffset,e.columnOffset),{codeToAppend:o,metadata:{...n,filename:t,lineOffset:e.lineOffset,columnOffset:e.columnOffset}}}function I(e,t,r,n=!1,o=!1,i=()=>!0){const s=e.slice(-1e3);if(!o&&null!==_.getSourceMap(t,s))return f.instrument_logger.critical("Source map found for esbuild split",{filename:t}),f.customer_logger.log(l.UserErrorLogs.EsbuildSourceMapFound()),(0,p.detachHud)(!1,!1),{transformedCode:e,metadatas:[],editedChunksSizes:void 0};let a="",c=0,u=0;const g=[];let h=0;const m=n?[]:void 0,y=b(d.hudConfig.wrapVarPrefix,r).initialStatements.join("\n"),v=function(e){return e.slice(d.hudConfig.esbuildMark.length,d.hudConfig.esbuildMark.length+36)}(e);for(const n of M(e)){h++;try{let e="",o=!1;if(n.edit&&(o=i(n.fileName),m&&x(n,o,m)),n.edit&&o){const o=C(n,t,r);e=o.codeToAppend,g.push({...o.metadata,bundlerBuildId:v,transformedLineOffset:c,transformedColumnOffset:u,indexOffset:n.indexOffset,indexOffsetEnd:n.indexOffsetEnd})}else e=0===a.length?P(n.code,y):n.code;({transformedCodeLineOffset:c,transformedCodeColumnOffset:u}=O(e,c,u)),a+=e}catch(r){return f.instrument_logger.error("Failed to patch index",{index:h,filename:t,msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),{transformedCode:e,metadatas:[],editedChunksSizes:m}}}return{transformedCode:a,metadatas:g,editedChunksSizes:m}}function P(e,t){let r="";return e.startsWith('"use strict";')?(r+='"use strict";',r+=t,r+=e.slice(13),r):(r+=t,r+=e,r)}function O(e,t,r){const n=e.split("\n");return n.length>1?(t+=n.length-1,r=n.pop()?.length||0):r+=e.length,{transformedCodeLineOffset:t,transformedCodeColumnOffset:r}}function T(e,t,r,n,o){if(e.startsWith(d.hudConfig.esbuildMark))return f.instrument_logger.info("Editing in splits"),I(e,t,r,!1);{const i=w(e,{filename:t,format:r},n,d.hudConfig.userConfig.disableSourceMapsResolution?.value??!0,!1,o);return{transformedCode:i.code,metadatas:[i]}}}let F=0;function j(e,t){F+=e;const r=d.hudConfig.userConfig?.maxMappedFunctions?.value??0;F>=r&&(t||f.customer_logger.log(l.UserErrorLogs.InstrumentedFunctionCountExceeded(r)),f.app_logger.error("Instrumented function count exceeded",{instrumentedFunctionsCount:F,maxMappedFunctions:r}),(0,p.detachHud)(!1,!1))}},3903:e=>{"use strict";e.exports=require("uuid")},4290:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(8949),i=r(5128),s=r(714);class a extends s.FrameworkPatcher{_patch(e){return this._patchCreate(e),n.instrument_logger.info("Patched NestJS RpcContextCreator successfully"),e}_patchCreate(e){const t=e.RpcContextCreator.prototype.create;e.RpcContextCreator.prototype.create=function(...e){try{const t=e[0],r=e[1];"function"==typeof t.constructor&&"function"==typeof r?e[1]=(0,i.wrapLinkedFunction)(r):n.instrument_logger.error("Invalid args in NestJS RpcContextCreator.create",{args:e})}catch(e){n.instrument_logger.error("Error in NestJS RpcContextCreator patcher",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,e)},(0,o.copyPropertiesToTarget)(t,e.RpcContextCreator.prototype.create)}}t.default=a},4393:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HttpEndpointMetric=void 0;const n=r(9873);class o extends n.FlowMetric{statusCode;route;method;constructor(e){super(e)}_createUsableMetric(e){return this}setRequestAttributes(e){const t=e.url||e.path;this.route=t?.split("?")[0],this.method=e.method}setResponseAttributes(e){this.statusCode=e.statusCode}toRaw(){if(this.statusCode&&this.route&&this.method)return{flow_id:this.flowId,type:"EndpointMetric",duration:this.duration,status_code:this.statusCode,route:this.route,method:this.method,error_breakdown:this.errorBreakdown}}}t.HttpEndpointMetric=o},4815:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.patchUse=function(e,t,r=!0){const n=e.use;e.use=function(e){const o=n.apply(this,arguments);try{let n=this[f.uuidSymbol];!n&&f.isVerboseLoggingEnabled&&(n=d.randomUUID(),this[f.uuidSymbol]=n,u.instrument_logger.info("Express use setting uuid",{kind:t,uuid:n})),"application"===t?function(e,t,r,n){try{r&&(e._router?p(e._router):e.router?p(e.router):u.instrument_logger.warning("Express application doesn't have router or _router")),n&&f.isVerboseLoggingEnabled&&u.instrument_logger.info("Express use app",{parent:n,child:t[1]?.[f.uuidSymbol]||"no uuid",path:t[0]})}catch(e){u.instrument_logger.error("Failed to save express app router",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(this,arguments,r,n):"router"===t&&function(e,t,r,n,o){try{if(!e.stack)return void u.instrument_logger.error("Express router without stack");if(0===e.stack.length)return void u.instrument_logger.warning("Express router with an empty stack");"query"===e.stack[0].name?p(e):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(e.stack[0].name)&&(f.skipLayerNamesLogs.add(e.stack[0].name),u.instrument_logger.warning("Found unknown stack name",{stack:e.stack[0].name}));const{path:i,offset:s}=function(e){let t=0,r="/";if("function"!=typeof e){let n=e;for(;Array.isArray(n)&&0!==n.length;)n=n[0];"function"!=typeof n&&(t=1,r=e)}return{path:r,offset:t}}(o),c=g(Array.prototype.slice.call(t,s));for(let t=0;t<c.length&&t<e.stack.length;t++){const o=e.stack[e.stack.length-t-1],s=c[c.length-t-1];"router"===o.name?(s&&!s[f.uuidSymbol]&&f.isVerboseLoggingEnabled&&(s[f.uuidSymbol]=d.randomUUID(),u.instrument_logger.info("Express handle router setting uuid",{uuid:s[f.uuidSymbol]})),r&&(o[a.hudConfig.express.routeNamesSymbol]=i)):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(o.name)&&(f.skipLayerNamesLogs.add(o.name),u.instrument_logger.warning("Found unknown layer name",{layer:o.name,parent:n,child:s[f.uuidSymbol]||"no uuid",path:i}))}}catch(e){u.instrument_logger.error("Failed to patch router.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(this,arguments,r,n,e)}catch(e){u.instrument_logger.error("Failed to patch express.use function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o},(0,l.copyPropertiesToTarget)(n,e.use)},t.extractEndpointsFromRouter=function e(t,r){let n=[];if(!r.stack)return u.instrument_logger.error("Router without stack - bad OTEL version",{router:r}),n;for(const o of r.stack)if("router"===o.name){if(!o[a.hudConfig.express.routeNamesSymbol]){u.instrument_logger.error("Router layer without routes",{layer:o});continue}const r=t+o[a.hudConfig.express.routeNamesSymbol];n=n.concat(e(r,o.handle))}else o.route&&o.route[a.hudConfig.express.layerStateSymbol]?n=n.concat(h(o,t)):f.isVerboseLoggingEnabled&&!f.skipLayerNamesLogs.has(o.name)&&(f.skipLayerNamesLogs.add(o.name),u.instrument_logger.warning("Found unknown layer name when extracting endpoints",{layer:o.name}));return n};const a=r(5809),c=r(8528),u=r(523),d=s(r(6982)),l=r(8949),f=r(7225),g=r(5673);function p(e){e[a.hudConfig.express.markedSymbol]||(globalThis.hudExpressState.push(e),e[a.hudConfig.express.markedSymbol]=!0)}function h(e,t){const r=[];for(const[n,o]of Object.entries(e.route[a.hudConfig.express.layerStateSymbol]))r.push(new c.EndpointDeclaration(n,o.methods,"express",t,o.layerPath));return Array.from(r.values())}},5128:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isHudLfMarked=void 0,t.wrapLinkedFunction=function(e){if(e[t.isHudLfMarked])return e;let r;e[t.isHudLfMarked]=!0;const a=(0,i.getFlowStateStorage)();return a?(r=e instanceof s.AsyncFunction?async function(...t){if(hudRunningMode!==n.HudRunningMode.enabled)return await e.apply(this,t);let r;try{r=a.getStore()}catch(r){return o.instrument_logger.error("Failed to get flowState",{msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),await e.apply(this,t)}return r?(r.shouldLinkFunction=!0,await e.apply(this,t)):await e.apply(this,t)}:function(...t){if(hudRunningMode!==n.HudRunningMode.enabled)return e.apply(this,t);let r;try{r=a.getStore()}catch(r){return o.instrument_logger.error("Failed to get flowState",{msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0}),e.apply(this,t)}return r?(r.shouldLinkFunction=!0,e.apply(this,t)):e.apply(this,t)},(0,s.copyPropertiesToTarget)(e,r),r):e};const n=r(8528),o=r(523),i=r(7131),s=r(8949);t.isHudLfMarked=Symbol.for("isHudLfMarked")},5150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8269),i=r(2546),s=r(523),a=r(7131),c=r(2822),u=r(8949),d=r(2080),l=r(714);class f extends l.FrameworkPatcher{isSupported(e,t,r,o){const a=n.hudConfig.userConfig.enableDapulse?.value?o.mondayVersion:o.bbcVersion,c=(0,l.extractModuleVersion)(e);return!!(0,l.isSupportedVersion)(c,a)||(s.instrument_logger.warning("Unsupported sqs-consumer version",{framework:"SqsConsumer",version:c,supportedVersion:a,basedir:e,isDapulse:n.hudConfig.userConfig.enableDapulse?.value}),s.customer_logger.log(i.UserErrorLogs.UnsupportedFrameworkVersion("sqs-consumer")),!1)}_patch(e){return function(e){const t=e.Consumer.create;e.Consumer.create=function(...e){const r=t.apply(this,e);try{!function(e){const t=e.queueUrl;if(!t)throw new i.HudNoQueueUrlInSqsConsumer;const r=h(t);if(e.handleMessageBatch&&"function"==typeof e.handleMessageBatch){const t="handleMessageBatch",n=(0,i.generateSqsFlowId)(r,t);(0,o.storeSqsQueueDeclaration)({flow_id:n,queue_name:r,handle_type:t,batch_size:e.batchSize});const s=e.handleMessageBatch,a=(0,u.wrapFlow)(()=>n,s,!0,m);return void(e.handleMessageBatch=a)}if(e.handleMessage&&"function"==typeof e.handleMessage){const t="handleMessage",n=(0,i.generateSqsFlowId)(r,t);(0,o.storeSqsQueueDeclaration)({flow_id:n,queue_name:r,handle_type:t});const s=e.handleMessage,a=(0,u.wrapFlow)(()=>n,s,!0,m);return void(e.handleMessage=a)}s.instrument_logger.warning("Unable to getFlowId - No handleMessage or handleMessageBatch found in SqsConsumer.Consumer",{queueName:r})}(r),function(e){const t=e.on;e.on=function(...r){try{const t=r[0];if(!t||"string"!=typeof t)throw new i.HudNoEventTypeInSqsConsumerOn;const n=r[1];if(!n||"function"!=typeof n)throw new i.HudNoCallbackInSqsConsumerOn;const s=h(e.queueUrl),a="event",c=(0,i.generateSqsFlowId)(s,a,t);(0,o.storeSqsQueueDeclaration)({flow_id:c,queue_name:s,handle_type:a,event_type:t}),r[1]=(0,u.wrapFlow)(()=>c,n,!0,_,y,v)}catch(e){s.instrument_logger.error("Error in SqsConsumer.Consumer.on patched logic",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,r)},(0,u.copyPropertiesToTarget)(t,e.on)}(r),function(e){const t=e.emit;e.emit=function(...e){return function(e){try{const t=e[0];if(!t||"string"!=typeof t)throw new i.HudNoEventTypeInSqsConsumerEmit;let r,o;if("message_processed"===t&&(r=1),["error","timeout_error","processing_error"].includes(t)&&(o=1,r=2),void 0===r)return;const u=e[r];if(!u)throw new i.HudNoMessageInSqsConsumerEmit;let d;if(void 0!==o){const t=e[o];if(!(t&&t instanceof Error))throw new i.HudNoErrorInSqsConsumerEmit;d=(0,a.extractName)(t),"StandardError"===d&&t.cause&&t.cause instanceof Error&&(d=(0,a.extractName)(t.cause))}const l=(e,t)=>{const r=e[n.hudConfig.metricSymbol];r?(d&&r.addError(d,t),r.increaseAndShouldEnd(t)&&((0,c.finishSqsInvestigation)(Array.isArray(u)?u:[u],r),r.end())):p||(p=!0,s.instrument_logger.warning("No metric found for message"))};Array.isArray(u)&&u.length>=1?l(u[0],u.length):l(u,1)}catch(e){g||(g=!0,s.instrument_logger.error("Error in SqsConsumer.Consumer.emit patched logic",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}))}}(e),t.apply(this,e)},(0,u.copyPropertiesToTarget)(t,e.emit)}(r)}catch(e){s.instrument_logger.error("Error in patching SqsConsumer.Consumer",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return r},(0,u.copyPropertiesToTarget)(t,e.Consumer.create)}(e),s.instrument_logger.info("Patched sqs-consumer successfully",{isDapulse:n.hudConfig.userConfig.enableDapulse?.value}),e}}t.default=f;let g=!1,p=!1;function h(e){const t=e.split("/").pop();if(!t)throw new i.HudFailExtractSqsQueueName(`Url: ${e}`);return t}function m(e,t,r){const o=d.SqsMetric.createUsableMetric(e);o.start();const i=r[0];if(!i)return s.instrument_logger.warning("No messages pass to sqs handler",{flowId:e}),void(t.flowMetric=o);if(Array.isArray(i)){if(o.msgCount=i.length,i.forEach(e=>{e[n.hudConfig.metricSymbol]=o}),i[0]?.Attributes?.SentTimestamp){const t=i.reduce((e,t)=>{const r=Number.parseInt(t?.Attributes?.SentTimestamp);return isNaN(r)?e:Math.min(e,r)},1/0);t!==1/0?o.e2eEpocStartTimeMS=t:s.instrument_logger.warning("No valid SentTimestamp found eventhough the first element had SentTimestamp",{flowId:e})}}else o.msgCount=1,i[n.hudConfig.metricSymbol]=o,i?.Attributes?.SentTimestamp&&(o.e2eEpocStartTimeMS=i.Attributes.SentTimestamp);t.flowMetric=o,(0,c.createNewInvestigation)()}function _(e,t,r){const n=d.SqsMetric.createUsableMetric(e);n.start(),t.flowMetric=n}function y(e,t){const r=t.flowMetric;r?r.end():s.instrument_logger.warning("No flowMetric found for message during catch",{flowId:e})}function v(e,t,r){const n=t.flowMetric;n?(n.addError((0,a.extractName)(r)),n.end()):s.instrument_logger.warning("No flowMetric found for message during catch",{flowId:e})}},5459:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(7131),i=r(2822),s=r(8949),a=r(4393),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return this._patchEmit(e),n.instrument_logger.info("Patched http successfully"),e}_patchEmit(e){const t=e.Server.prototype.emit;e.Server.prototype.emit=function(e,...r){if("request"!==e)return t.apply(this,[e,...r]);const s=(0,o.getFlowStateStorage)(),c=r?.[0],u=r?.[1],d=a.HttpEndpointMetric.createUsableMetric(),l=()=>{try{d.start(),(0,i.createNewInvestigation)(),d.setRequestAttributes(c),u.once("finish",function(){try{d.calculateDuration(),(0,i.finishHttpInvestigation)(c,u,d),d.setResponseAttributes(u),d.end()}catch(e){n.instrument_logger.error("Failed to set response attributes",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})}catch(e){n.instrument_logger.error("Failed to patch http.Server.prototype.emit",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t.apply(this,[e,...r])};return s?s.run({httpMetric:d},l):l()},(0,s.copyPropertiesToTarget)(t,e.Server.prototype.emit)}}t.default=u},5673:e=>{"use strict";e.exports=require("array-flatten")},5688:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hudRITM=void 0,t.safeLog=function(e){try{s.app_logger.debug(e)}catch{return}},t.registerHook=function(){if(s.app_logger.info("HUD is required"),process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE){if(s.app_logger.info("Running in Lambda environment"),parseInt(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE)<n.hudConfig.lambdaMinimunMemory){const e=process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE;return s.app_logger.warning("Lambda function memory size is less than required, Hud will not run",{memorySize:e,requiredMemory:n.hudConfig.lambdaMinimunMemory}),s.customer_logger.log(i.UserErrorLogs.UnsupportedLambdaMemory(n.hudConfig.lambdaMinimunMemory)),!1}globalThis.hudRuningInsideLambda=!0}return(0,o.initGlobals)(),s.app_logger.debug("InitGlobals done"),!(globalThis.hudStartFromAutoInit&&!(0,o.validateAndGetUserInput)())&&(s.instrument_logger.isValid()?globalThis.hudRanOnRequire?(s.instrument_logger.warning("Already ran onRequire!"),!1):(globalThis.hudRanOnRequire=!0,s.instrument_logger.info("Using module",{name:n.SDK_MODULE_NAME}),n.hudConfig.userConfig.enableFrameworks&&s.instrument_logger.info("User enabled frameworks",{frameworks:(0,a.getEnabledFrameworks)()}),(0,a.onRequire)(),(0,i.detectNextJsApp)(),s.instrument_logger.debug("onRequire done"),globalThis.hudInitGuard=setTimeout(c,n.hudConfig.userConfig.maxTimeUntilInitSessionMs?.value??0),globalThis.hudInitGuard.unref(),!0):((0,o.detachHud)(!1),!1))};const n=r(5809),o=r(8269),i=r(2546),s=r(523),a=r(7166);function c(){s.instrument_logger.critical("Init timeout reached - disabling hud"),s.customer_logger.log(i.UserErrorLogs.InitTimeout(globalThis.hudIsRunningFromSetup)),(0,o.detachHud)(!1)}t.hudRITM=a.onRequireFn},5809:e=>{"use strict";e.exports=require("./config")},5946:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),i=r(4815),s=r(714);class a extends s.FrameworkPatcher{_patch(e){return(0,i.patchUse)(e.prototype,"router"),(0,o.patchMethods)(e.prototype,"router"),n.instrument_logger.info("Patched router successfully"),e}}t.default=a},6093:e=>{"use strict";e.exports=require("@cspotcode/source-map-support")},6504:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLMetric=void 0;const n=r(9873);class o extends n.FlowMetric{constructor(e){super(e)}_createUsableMetric(e){return this}toRaw(){return{flow_id:this.flowId,type:"GraphQLMetric",duration:this.duration}}}t.GraphQLMetric=o},6730:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getMethods=f,t.patchMethods=function(e,t){f().concat("all").forEach(function(r){const n=e[r];if(!n)return void(l.isVerboseLoggingEnabled&&c.instrument_logger.warning("Method not found",{method:r}));const o="all"===r;e[r]=function(){try{if(arguments.length<2)return n.apply(this,arguments);let e=this[l.uuidSymbol];l.isVerboseLoggingEnabled&&(e||(e=u.randomUUID(),this[l.uuidSymbol]=e,c.instrument_logger.info("Express method setting uuid",{uuid:e,kind:t})),c.instrument_logger.info("Express added new method",{method:r,uuid:e,path:arguments[0]}));const i=Array.prototype.slice.call(arguments);if(i[1][a.hudConfig.express.layerStateSymbol]={flowId:[],kind:t,allMethod:o},Array.isArray(i[0]))for(const e of i[0]){const e=u.randomUUID();i[1][a.hudConfig.express.layerStateSymbol].flowId.push(e)}else i[1][a.hudConfig.express.layerStateSymbol].flowId.push(u.randomUUID());const s=n.apply(this,i);try{delete i[1][a.hudConfig.express.layerStateSymbol]}catch{}return s}catch(e){c.instrument_logger.error("Failed to patch method",{kind:t,method:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n.apply(this,arguments)},(0,d.copyPropertiesToTarget)(n,e[r])})};const a=r(5809),c=r(523),u=s(r(6982)),d=r(8949),l=r(7225);function f(){const e=r(8611);return e.METHODS&&e.METHODS.map(function(e){return e.toLowerCase()})||["get","post","put","head","delete","options","trace","copy","lock","mkcol","move","purge","propfind","proppatch","unlock","report","mkactivity","checkout","merge","m-search","notify","subscribe","unsubscribe","patch","search","connect"]}},6928:e=>{"use strict";e.exports=require("path")},6982:e=>{"use strict";e.exports=require("crypto")},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(523),o=r(6730),i=r(2977),s=r(4815),a=r(7225),c=r(714);class u extends c.FrameworkPatcher{_patch(e){return(0,i.patchRoute)(e.Route),(0,s.patchUse)(e.application,"application"),(0,o.patchMethods)(e.application,"application"),a.isVerboseLoggingEnabled&&(0,a.logLazyRouter)(e.application),e.Router.use?((0,s.patchUse)(e.Router,"router"),(0,o.patchMethods)(e.Router,"router")):n.instrument_logger.warning("Skipping express.Router patching"),n.instrument_logger.info("Patched express successfully"),e}}t.default=u},7131:e=>{"use strict";e.exports=require("./wrap")},7166:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.parseCliInstrumentationPattern=k,t.supportSourceMapInstall=S,t.patch=E,t.patchCompile=I,t.onRequireFn=P,t.patchRequire=O,t.isFrameworkEnabled=T,t.getEnabledFrameworks=function(){const e=new Map;for(const[t,r]of g.hudConfig.frameworksToPatch)e.set(r.framework,T(r,g.hudConfig.userConfig.enableFrameworks));return Object.fromEntries(e)},t.getFunctionsToInstrument=R,t.createCheckers=L,t.updateModuleChecker=A,t.skip=D,t.onRequire=function(){try{(0,d.setInstrumentedFilesCountInterval)(),A();try{I()}catch(e){l.instrument_logger.error("Failed to patch compile",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{(0,d.shouldSupportSourceMap)()&&S()}catch(e){l.instrument_logger.error("Failed to install source map support",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{O()}catch(e){l.instrument_logger.error("Failed to patch require",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}catch(e){l.instrument_logger.error("Something went wrong in onRequire",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}try{(0,h.saveMachineMetric)()}catch(e){l.instrument_logger.error("Failed to add metric",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};const a=s(r(9896)),c=s(r(6928)),u=r(8528),d=r(2546),l=r(523),f=r(3901),g=r(5809),p=r(8528),h=r(8269),m=r(2546),_=r(9063),y=r(714),v=function(){const e=g.SDK_MODULE_NAME;try{return c.dirname(c.dirname(m.myRequire.resolve(e)))}catch(t){return l.instrument_logger.error("Failed to resolve own path",{moduleName:e,msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0}),null}}();function b(e){const t=globalThis.HudSourceMapCache.get(e);return t?{map:JSON.parse(t)}:null}const w=new RegExp(`//"([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})";${g.hudConfig.cliSdkVersionVarName}="([^"]+)";${g.hudConfig.cliBuildIdVarName}`);function k(e){if(e.slice(-g.hudConfig.cliBuildIdVarName.length)!==g.hudConfig.cliBuildIdVarName)return null;const t=Math.min(100,e.length),r=e.slice(-t).match(w);return r?{buildId:r[1],sdkVersion:r[2],fullPattern:r[0]}:null}function S(){r(6093).install({handleUncaughtExceptions:!1,hookRequire:!1,environment:"node",retrieveSourceMap:b})}function E(e,t,r,n){const o={code:e,map:void 0};try{if(globalThis.hudRunningMode===p.HudRunningMode.detached)return o;if(r===u.Format.esm&&!n)throw new m.HudError("MessagePort is required for patching ESM modules");const i=k(e);if(i)return i.sdkVersion!==g.SDK_VERSION?(l.instrument_logger.critical("SDK version mismatch detected, disabling SDK",{filename:t,cliSdkVersion:i.sdkVersion,currentSdkVersion:g.SDK_VERSION}),(0,h.detachHud)(!1,!1),o):((0,h.addReingestValue)(i.buildId),globalThis.hudInstrumentationIndicator&&(0,h.clearInstrumentationIndicator)(),o);if(g.hudConfig.userConfig.disableRuntimeInstrumentation?.value)return o;const s=R(t);if(D(t,void 0,s))return o;if(e.length>(g.hudConfig.userConfig.maxFileSizeBytes?.value??0)&&!e.startsWith(g.hudConfig.esbuildMark))return l.instrument_logger.info("Skipping large file",{filename:t,size:e.length}),o;const _=Date.now(),y=(0,f.edit)(e,t,r,s,!1),v=y.metadatas;if(o.code=y.transformedCode,o.map=v,l.instrument_logger.debug("Patched",{filename:t,time:Date.now()-_}),n)for(const e of v)n.postMessage({key:"HudModulePatch",hudPatched:t,hudProcessedFiles:(0,d.sourceFileMetadataToTransferSourceFileMetadata)(e)});else globalThis.hudPatched.add(t),globalThis.hudProcessedFiles.push(...v.map(e=>(0,d.sourceFileMetadataToTransferSourceFileMetadata)(e)));for(const e of v)e.functionIds.length>0&&(globalThis.hudInstrumentationOccured=!0,globalThis.hudInstrumentationIndicator&&(0,h.clearInstrumentationIndicator)(),(0,d.incrementInstrumentedFilesCount)());g.hudConfig.writePatched&&function(e,t){const r=c.parse(e);let n=`${r.dir}/patched.${r.base}`;r.dir.includes("dist")&&(n=c.join(`${r.dir.replace("dist","patched")}`,r.base)),a.existsSync(c.dirname(n))||a.mkdirSync(c.dirname(n),{recursive:!0}),a.writeFileSync(n,t,"utf8"),l.instrument_logger.debug("Dumped patched file",{filename:e,patchedPath:n})}(t,y.transformedCode)}catch(e){l.instrument_logger.error("Failed to patch",{filename:t,format:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return o}let M="",x=!0,C=!1;function I(){if(!(0,m.isSupportedNative)())return;const e=r(3339),t=(0,d.shouldSupportSourceMap)();C&&l.instrument_logger.warning("PatchCompile ran twice"),0===Object.keys(globalThis.hudLoadedModules).length&&(globalThis.hudLoadedModules=Object.keys(m.myRequire.cache));const n=e.prototype._compile;e.prototype._compile=function(e,r){if(r===M){try{const e=x?l.instrument_logger.warning.bind(l.instrument_logger):l.instrument_logger.debug.bind(l.instrument_logger);x=!1,e("Skipping compile since already ran",{filename:r})}catch{}return n.call(this,e,r)}M=r,l.instrument_logger.debug("Compiling requirement",{filename:r});const o=E(e,r,u.Format.cjs);try{if(t&&o.map){const e=(0,d.combineSourceMaps)(o.map,r);e&&globalThis.HudSourceMapCache.set(r,e)}}catch(e){l.instrument_logger.error("Failed to combine source maps",{filename:r,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const i=n.call(this,o.code,r);return M="",i},C=!0,l.instrument_logger.debug("Patched _compile")}function P(e,t,r){try{const n=g.hudConfig.frameworksToPatch.get(t);return T(n,g.hudConfig.userConfig.enableFrameworks)&&n?.patcher&&n.version?(0,y.getFrameworkPatcher)(n.patcher).patch(e,r,n.version,n.extraInfo,t):e}catch(e){l.instrument_logger.error("Failed to patch framework",{name:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}function O(){const e=Array.from(g.hudConfig.frameworksToPatch.entries()).filter(([e,t])=>T(t,g.hudConfig.userConfig.enableFrameworks)).map(([e])=>e);new _.Hook(Array.from(e),{internals:!0},P)}function T(e,t){return!!e&&(t&&t.value?.has(e.framework)?t.value.get(e.framework)||!1:e.enable)}function F(e){const t=c.sep.replace(/\\/g,"\\\\"),r=c.join(e).split(".").join("\\.").split("*").join(".*?"),n=t+"node_modules"+t;return{isAllowdModule:new RegExp(n+r+`(?:${t}|$)`),isAllowdModuleSubModule:new RegExp(n+r+n)}}function j(e,t){return!!t.isAllowdModule.test(e)&&!t.isAllowdModuleSubModule.test(e)}function N(e,t){const r=t.replace(/\//g,c.sep);return e.includes(`node_modules${c.sep}${r}${c.sep}`)&&!e.includes(`node_modules${c.sep}${r}${c.sep}node_modules`)}function R(e){return(0,m.getInstrumentedThirdPartyModuleInfo)(e)?.functions||[]}function L(e){const t=[];for(const r of e){let e;if(r.includes("*")){const t=F(r);e=e=>j(e,t)}else e=e=>N(e,r);t.push(e)}return t}let q=[];function A(){q=L(g.hudConfig.userConfig.includeModules?.value??[])}function D(e,t,r=[]){if(!g.hudConfig.allowedEditExtensions.includes(c.extname(e))&&!e.endsWith(c.sep))return l.instrument_logger.warning("Skipping non-allowed extension",{filename:e}),!0;const n=t??q;return"/var/runtime/index.mjs"===e?(l.instrument_logger.debug("Skipping lambda runtime",{filename:e}),!0):e.includes("node_modules")&&!function(e,t){for(const r of t)if(r(e))return!0;return!1}(e,n)&&0===r.length||e.includes(".yarn")?(l.instrument_logger.debug("Skipping non-monitored imported module",{filename:e}),!0):!(v&&!e.includes(v)||(l.instrument_logger.debug("Skipping hud internal module",{filename:e}),0))}},7214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5809),o=r(8528),i=r(8269),s=r(2546),a=r(523),c=r(8949),u=r(6504),d=r(714);class l extends d.FrameworkPatcher{static graphQLPatchedSymbol=Symbol.for(n.hudConfig.hudPatchedName);_patch(e){return this.patchGraphql(e),a.instrument_logger.info("Patched GraphQL successfully"),e}patchGraphql(e){const t=e.execute;e.execute=function(e){!function(e){try{e&&!e[l.graphQLPatchedSymbol]&&(f(e._queryType),f(e._mutationType),e[l.graphQLPatchedSymbol]=!0,a.instrument_logger.info("Patched GraphQL schema successfully"))}catch(e){a.instrument_logger.error("Failed to patch GraphQL schema",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(e.schema);const r=process.hrtime.bigint();return function(e,t,r){return"function"==typeof e.then?e.then(e=>(m(t,r),e)):(m(t,r),e)}(t.apply(this,arguments),e.document,r)},(0,c.copyPropertiesToTarget)(t,e.execute)}}function f(e){if(!e)return;const t=e._fields;Object.keys(t).forEach(r=>{const n=t[r];!function(e,t,r){if(e.resolve&&!e.resolve[l.graphQLPatchedSymbol]){const n=(0,s.generateGraphqlFlowId)(r,t);(0,i.storeResolverDeclaration)({id:n,operation:t,name:r});const o=e.resolve;e.resolve=(0,c.wrapFlow)(h,o,!0,(e,t)=>{const r=u.GraphQLMetric.createUsableMetric();r.start(),r.setFlowId(e),t.flowMetric=r},(e,t)=>{const r=t.flowMetric;r?r.end():a.instrument_logger.warning("No flowMetric found for resolver",{flowId:e})},(e,t)=>{const r=t.flowMetric;r?r.end():a.instrument_logger.warning("No flowMetric found for resolver",{flowId:e})}),e.resolve[l.graphQLPatchedSymbol]=!0,(0,i.storeResolverIdBySelectionName)(n,r)}}(n,o.GraphQLSupportedOperations[e.name.toLowerCase()],r),n.type._fields&&p(n.type)})}t.default=l;const g=new WeakSet;function p(e){e&&e._fields&&!g.has(e)&&(g.add(e),Object.keys(e._fields).forEach(t=>{const r=e._fields[t];if(!r||!r.type)return;!function(e){const t=e.resolve;t&&!e.resolve[l.graphQLPatchedSymbol]&&(e.resolve=(0,c.wrapFlow)(h,t,!0),e.resolve[l.graphQLPatchedSymbol]=!0)}(r);let n=r.type;for(;n.ofType;)n=n.ofType;p(n)}))}function h(e){if(void 0===e[2]||void 0===e[3])return void a.instrument_logger.warning("GraphQL resolver arguments are unknown");const t=e[3].path;if(t&&!t.prev){const r=t.key,n=(0,i.getResolverIdBySelectionName)(r);return e[2][l.graphQLPatchedSymbol]=n,n}if(e[2][l.graphQLPatchedSymbol])return e[2][l.graphQLPatchedSymbol];a.instrument_logger.warning("GraphQL No functionId found for resolver")}function m(e,t){try{new i.GraphQLDocumentMetadata(e,Number(process.hrtime.bigint()-t)).save()}catch(e){a.instrument_logger.error("Failed to save document metadata",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}},7225:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.skipStackNamesLogs=t.skipLayerNamesLogs=t.isVerboseLoggingEnabled=t.uuidSymbol=void 0,t.logLazyRouter=function(e){const r=e.lazyrouter;e.lazyrouter=function(){let e=!1;try{this._router||(e=!0)}catch(e){a.instrument_logger.error("Failed to check this._router",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const n=r.apply(this,arguments);try{if(e){let e=this[t.uuidSymbol];e||(e=c.randomUUID(),this[t.uuidSymbol]=e,a.instrument_logger.info("Express lazy router setting uuid",{uuid:e})),a.instrument_logger.info("Express lazy router",{parent:e,child:this._router?.[t.uuidSymbol]})}}catch(e){a.instrument_logger.error("Failed to patch express.lazyRouter function",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n},(0,d.copyPropertiesToTarget)(r,e.lazyrouter)};const a=r(523),c=s(r(6982)),u=r(932),d=r(8949);t.uuidSymbol=Symbol.for("__hud_uuid__"),t.isVerboseLoggingEnabled="true"===u.env.HUD_LOG_EXPRESS,t.skipLayerNamesLogs=new Set(["query","expressInit","mounted_app"]),t.skipStackNamesLogs=new Set(["router"])},7276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8544);class o extends n.BaseKafkaJSPatcher{getExportsRoot(e){return e.KafkaJS}getGroupId(e){return e[0].kafkaJS.groupId}moduleName(){return"@confluentinc/kafka-javascript.KafkaJS"}}t.default=o},7603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getObservabilityIdentifiers=s,t.getObservabilityIdentifiersHttp=function(e){return{...s(),w3c_trace_context:a(e),w3c_baggage:u(e,"baggage"),amazon_trace_id:u(e,"x-amzn-trace-id"),b3_propagation:c(e),jaeger_trace_id:u(e,"uber-trace-id")}},t.getExtraHeaders=function(e){const t={};for(const r of n.hudConfig.dynamicConfig.extraHeaders){const n=u(e,r);void 0!==n&&(t[r]=n)}return t},t.getDatadogIds=f,t.getOtelTraceId=p;const n=r(5809),o=r(2546),i=r(523);function s(){const e=f();return{datadog_trace_id:e?.trace_id,datadog_span_id:e?.span_id,otel_trace_id:p()}}function a(e){try{return{traceparent:u(e,"traceparent"),tracestate:u(e,"tracestate")}}catch{return}}function c(e){try{return{full:u(e,"b3"),trace_id:u(e,"x-b3-traceid"),span_id:u(e,"x-b3-spanid"),parent_span_id:u(e,"x-b3-parentspanid")}}catch{return}}function u(e,t){try{return e.headers[t]}catch{return}}function d(e){let t;return()=>(void 0===t&&(t=function(e){try{const t=o.myRequire.resolve(e),r=o.myRequire.cache[t];return void 0===r?(i.instrument_logger.info("requireFromCache: codeModule is undefined",{path:e,fullPath:t}),null):"object"!=typeof r.exports?(i.instrument_logger.warning("requireFromCache: codeModule.exports is not an object",{path:e}),null):r.exports}catch(t){return i.instrument_logger.warning("requireFromCache: error",{path:e,error:t}),null}}(e)),t)}const l=d("dd-trace/packages/datadog-core");function f(){try{const e=l();if(null===e)return;const{storage:t}=e,r=t("legacy").getStore();return{trace_id:r.span._spanContext.toTraceId(),span_id:r.span._spanContext.toSpanId()}}catch{return}}const g=d("@opentelemetry/api");function p(){try{const e=g();if(null===e)return;const{trace:t}=e;return t.getActiveSpan()?.spanContext().traceId}catch{return}}},7808:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getMachineMetrics=function(){try{const e=(0,o.getLastMetrics)();return{cpu_usage:e.cpuUsage?l(e.cpuUsage,e.timestamp):void 0,memory_usage:d(),event_loop_utilization:e.elu?u(e.elu):void 0}}catch(e){return void s.app_logger.error("Error getting machine metrics",e)}},t.getCpuUsage=l;const o=r(8269),i=r(2546),s=r(523),a=n(r(857)),c=r(2987);function u(e){try{return c.performance.eventLoopUtilization(e).utilization}catch(e){return void s.app_logger.error("Error getting event loop utilization",e)}}function d(){try{const e=process.memoryUsage(),t=a.default.totalmem();return{rss:e.rss,heap_total:e.heapTotal,heap_used:e.heapUsed,external:e.external,system_memory:t,rss_percentage:e.rss/t*100}}catch(e){return void s.app_logger.error("Error getting memory usage",e)}}function l(e,t){try{const r=process.cpuUsage(),n=1e3*(Date.now()-t),o=(0,i.getCpuLimit)(s.app_logger),a=(r.user-e.user)/n,c=(r.system-e.system)/n;return{user_time:a,system_time:c,limit:o,user_percent_of_limit:"number"==typeof o?a/o*100:void 0,system_percent_of_limit:"number"==typeof o?c/o*100:void 0}}catch(e){return void s.app_logger.error("Error getting cpu usage",e)}}},8064:e=>{"use strict";e.exports=require("semver")},8269:e=>{"use strict";e.exports=require("./globalstate")},8528:e=>{"use strict";e.exports=require("./dto")},8544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseKafkaJSPatcher=void 0;const n=r(8269),o=r(2546),i=r(523),s=r(2822),a=r(8949),c=r(828),u=r(714);class d extends u.FrameworkPatcher{_patch(e){const t=this.getExportsRoot(e);return this._patchConsumer(t),i.instrument_logger.info(`Patched ${this.moduleName()} successfully`),e}_patchConsumer(e){const t=e.Kafka.prototype.consumer;if(!t)return void i.instrument_logger.error("DD presumably ran before HUD - exports.Kafka.prototype.consumer is undefined");const r=this.getGroupId.bind(this);e.Kafka.prototype.consumer=function(...e){const n=t.apply(this,e);try{const t=new Map,o=[],u=[];!function(e,t){const r=e.subscribe;e.subscribe=async function(...e){const n=await r.apply(this,e);try{const r=e[0].topics;r?r.forEach(e=>{t.push(e)}):e[0].topic?t.push(e[0].topic):i.instrument_logger.warning("No topic found in KafkaJS.Consumer.subscribe",{args:e[0]})}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer.subscribe",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n},(0,a.copyPropertiesToTarget)(r,e.subscribe)}(n,u),function(e,t,r,n,o){const u=e.run;function d(e,u){const d="eachBatch"===u;for(const e of o)p(e,n,t,r,u);const h=function(e,t,r){return n=>{const o=n[0],s=r?o.batch.topic:o.topic;return function(e,t,r,n){const o=e.get(g(r,n));if(o)return o;for(const e of t)if(e.isBatch===n&&e.pattern.test(r))return e.flowId;i.instrument_logger.warning("No flowId found for topic",{topicName:r,isBatch:n})}(e,t,s,r)}}(t,r,d),m=function(e){return(t,r,n)=>{const o=c.KafkaJSMetric.createUsableMetric();o.start(),o.setFlowId(t),(0,s.createNewInvestigation)();const i=n[0],a=e?i.batch.partition:i.partition,u=e?i.batch.messages[0]?.timestamp:i.message?.timestamp;o.addPartition(a),o.addProducedTimestamp(u),r.topic=e?i.batch.topic:i.topic,r.partition=e?i.batch.partition:i.partition,r.messages=e?i.batch.messages:[i.message],r.flowMetric=o}}(d),_=(0,a.wrapFlow)(h,e[u],!0,m,l,f);e[u]=_}e.run=async function(...e){try{const t=e[0];t.eachMessage&&d(t,"eachMessage"),t.eachBatch&&d(t,"eachBatch")}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer.run",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return await u.apply(this,e)},(0,a.copyPropertiesToTarget)(u,e.run)}(n,t,o,r(e),u)}catch(e){i.instrument_logger.error("Error in patching KafkaJS.Consumer",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n},(0,a.copyPropertiesToTarget)(t,e.Kafka.prototype.consumer)}}function l(e,t){const r=t.flowMetric;r?((0,s.finishKafkaJSInvestigation)(t.messages,r,t.topic,t.partition),r.end()):i.instrument_logger.warning("No flowMetric found for message",{flowId:e})}function f(e,t,r){const n=t.flowMetric;n?(n.setError(r),(0,s.finishKafkaJSInvestigation)(t.messages,n,t.topic,t.partition),n.end()):i.instrument_logger.warning("No flowMetric found for message",{flowId:e})}function g(e,t){return e+"|"+t}function p(e,t,r,i,s){const a=(0,o.generateKafkaFlowId)(e,t,s),c={flow_id:a,topic_name:e.toString(),group_id:t,pulling_type:s};(0,n.storeKafkaJSTopicDeclaration)(c),function(e,t,r,n,o){"string"==typeof r?e.set(g(r,n),o):t.push({pattern:r,isBatch:n,flowId:o})}(r,i,e,"eachBatch"===s,a)}t.BaseKafkaJSPatcher=d},8611:e=>{"use strict";e.exports=require("http")},8949:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsyncFunction=void 0,t.wrapFlow=function(e,r,c=!0,u,d,l){let f;const g=(0,i.getFlowStateStorage)();return g?r[s]?r:(f=r instanceof t.AsyncFunction?async function(...t){let s;try{s=e(t)}catch(e){o.instrument_logger.error("Failed to get flowId",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(!s||hudRunningMode!==n.HudRunningMode.enabled)return await r.apply(this,t);const a={};if(u)try{u(s,a,t)}catch(e){o.instrument_logger.error("Failed to execute beforeCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const f=(0,i.getHttpMetricFromFlowState)();f?.setFlowId(s);try{const e=g.run({flowId:s,shouldLinkFunction:c,httpMetric:f},Reflect.apply,r,this,t),n=await e;if(d)try{d(s,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return n}catch(e){if(l)try{l(s,a,e)}catch(e){o.instrument_logger.error("Failed to execute catchCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}throw e}}:function(...t){let s;try{s=e(t)}catch(e){o.instrument_logger.error("Failed to get flowId",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(!s||hudRunningMode!==n.HudRunningMode.enabled)return r.apply(this,t);const a={};if(u)try{u(s,a,t)}catch(e){o.instrument_logger.error("Failed to execute beforeCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const f=(0,i.getHttpMetricFromFlowState)();f?.setFlowId(s);try{const e=g.run({flowId:s,shouldLinkFunction:c,httpMetric:f},Reflect.apply,r,this,t);if(d)if(e instanceof Promise)e.then(()=>{try{d(s,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}});else try{d(s,a)}catch(e){o.instrument_logger.error("Failed to execute afterCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}catch(e){if(l)try{l(s,a,e)}catch(e){o.instrument_logger.error("Failed to execute catchCallbackHook",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}throw e}},a(r,f),f[s]=!0,f):r},t.copyPropertiesToTarget=a;const n=r(8528),o=r(523),i=r(7131);t.AsyncFunction=(async()=>{}).constructor;const s=Symbol.for("hudMarked");function a(e,t){const r=Object.getOwnPropertyDescriptors(e),n=Reflect.ownKeys(r);Object.setPrototypeOf(t,e),n.forEach(e=>{try{Object.defineProperty(t,e,r[e])}catch{}})}},9063:e=>{"use strict";e.exports=require("require-in-the-middle")},9589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8528),o=r(8269),i=r(2546),s=r(523),a=r(8949),c=r(714);class u extends c.FrameworkPatcher{static nextJSHudMarked=Symbol.for("hudNextJSMarked");static routeInfoSymbol=Symbol.for("hudNextJSRouteInfo");static standardMethods=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];_patch(e){return(0,i.setIsNextJsApp)(!0),this._patchBaseServer(e),s.instrument_logger.info("Patched Next.js successfully"),e}_patchBaseServer(e){try{const t=e.default;if(t[u.nextJSHudMarked])return e;const r=t.prototype.renderToResponseWithComponentsImpl;if(!r)return s.instrument_logger.error("Could not find renderToResponseWithComponentsImpl on BaseServer.prototype"),e;t.prototype.renderToResponseWithComponentsImpl=async function(e,t,...n){try{const r=t.components;if(r&&r.routeModule&&!r.routeModule[u.nextJSHudMarked]){const t=r.routeModule,n=t.definition?.pathname||e.pathname;u._detectAndPatchSupportedMethods(t,n),t[u.nextJSHudMarked]=!0}}catch(e){s.instrument_logger.error("Failed to patch Next.js route module",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return await r.apply(this,[e,t,...n])},t[u.nextJSHudMarked]=!0,(0,a.copyPropertiesToTarget)(r,t.prototype.renderToResponseWithComponentsImpl)}catch(e){s.instrument_logger.error("Failed to patch Next.js base server",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return e}static _detectAndPatchSupportedMethods(e,t){try{switch(s.instrument_logger.debug("Patching Next.js route module",{pathname:t,kind:e.definition?.kind||"unknown"}),e.definition.kind){case"APP_ROUTE":case"PAGES_API":u._patchApiModule(e,t);break;case"PAGES":case"APP_PAGE":u._patchPageModule(e,t);break;default:s.instrument_logger.warning("Unknown Next.js route module kind",{pathname:t,kind:e.definition?.kind||"unknown"})}}catch(e){s.instrument_logger.error("Error detecting and patching supported methods",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}static _patchApiModule(e,t){if(e.methods)for(const r of u.standardMethods)if("function"==typeof e.methods[r]&&"function"==typeof e.userland?.[r]){const c=(0,i.generateEndpointFlowId)(t,[r]);(0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(c,[r],"nextjs","",t));try{const t=e.methods[r];e.methods[r]=(0,a.wrapFlow)(()=>c,t,!0)}catch(e){s.instrument_logger.error("Failed to patch Next.js App Route method",{method:r,pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}if(e.userland?.default){const r=u.standardMethods.filter(t=>!e.methods?.[t]),s=(0,i.generateEndpointFlowId)(t,r);(0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(s,r,"nextjs","",t));const c=e.userland.default;e.userland={...e.userland,default:(0,a.wrapFlow)(()=>s,c,!0)}}}static _patchPageModule(e,t){const r=(0,i.generateEndpointFlowId)(t,["GET"]);if((0,o.storeEndpointDeclaration)(new n.EndpointDeclaration(r,["GET"],"nextjs","",t)),e.render&&"function"==typeof e.render&&!e.render[this.nextJSHudMarked])try{const n=e.render;e.render=function(...e){try{const n=e[2]?.renderOpts?.Component;if(n&&"function"==typeof n){const t=(0,a.wrapFlow)(()=>r,n,!0);e[2].renderOpts.Component=t}const o=e[2]?.renderOpts?.ComponentMod;if(o){for(const t of Object.keys(o))if(o[t]&&"function"==typeof o[t]){const n=(0,a.wrapFlow)(()=>r,o[t],!0);e[2].renderOpts.ComponentMod[t]=n}}else s.instrument_logger.error("No Component found on Next.js page component",{pathname:t})}catch{}return n.apply(this,e)},(0,a.copyPropertiesToTarget)(n,e.render),e.render[this.nextJSHudMarked]=!0}catch(e){s.instrument_logger.error("Failed to patch Next.js Page render method",{pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}if(e.userland?.loaderTree)try{l(e.userland.loaderTree,r)}catch(e){s.instrument_logger.error("Failed to patch App Router page component",{pathname:t,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}else s.instrument_logger.info("No loader tree found on Next.js page component, functions will be patched by the render function",{pathname:t})}}function d(e,t,r){return(...n)=>{const o=e(...n),i=e=>{if(e&&"function"==typeof e.default){const n=(0,a.wrapFlow)(()=>r,e.default,t);e={...e,default:n}}return e};return o&&"function"==typeof o.then?o.then(i):i(o)}}function l(e,t){const[,r,n]=e;for(const e of Object.keys(n))try{const r=n[e];if(Array.isArray(r)&&"function"==typeof r[0]){const n="page"===e,o=r[0];r[0]=d(o,n,t),(0,a.copyPropertiesToTarget)(o,r[0])}}catch(e){s.instrument_logger.error("Failed to iterate on Next.js components",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}for(const e of Object.values(r))try{l(e,t)}catch(e){s.instrument_logger.error("Failed to walk on Next.js parallel routes",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}t.default=u},9723:function(e,t,r){"use strict";var n,o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[t.length]=r);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r=n(e),s=0;s<r.length;s++)"default"!==r[s]&&o(t,e,r[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0});const a=r(8269),c=r(2546),u=r(523),d=r(9896),l=s(r(6928)),f=r(8949),g=r(714);class p extends g.FrameworkPatcher{_patch(e){(0,c.setIsNextJsApp)(!0);const t=this._patchLoadConfig(e);return u.instrument_logger.info("Patched next.js config successfully"),t}_patchLoadConfig(e){const t=e.default,r=async function(...e){const r=await t.call(this,...e);if(!r)return r;try{const t=e[1],n=l.join(t,r.distDir||".next"),o=l.join(n,a.apiManifest),i=l.join(n,a.pageManifest),s=await d.promises.access(o).then(()=>!0).catch(()=>!1),c=await d.promises.access(i).then(()=>!0).catch(()=>!1);(0,a.isNextConfigExtracted)()||!s&&!c||(u.instrument_logger.info("Extracted next.js config successfully"),(0,a.setNextConfig)(r))}catch(e){u.instrument_logger.error("Failed to patch next.js loadConfig",{msg:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0})}return r};(0,f.copyPropertiesToTarget)(t,r);const n=Object.create(Object.getPrototypeOf(e));return Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}}),(0,f.copyPropertiesToTarget)(e,n),n}}t.default=p},9873:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FlowMetric=void 0;const o=r(8528),i=r(8269),s=n(r(932));t.FlowMetric=class{_state;flowId;duration;_startTime;_msStartTime;errorBreakdown;constructor(e){this.flowId=e,this.duration=-1,this._state="usable"}static createUsableMetric(e){return new this(e)._createUsableMetric(e)}setFlowId(e){this.flowId=e}getFlowId(){return this.flowId}getMsStartTime(){return this._msStartTime}start(){hudRunningMode===o.HudRunningMode.enabled&&(this._startTime=s.default.hrtime.bigint(),this._msStartTime=Date.now())}setErrorBreakdown(e){this.errorBreakdown=e}end(){hudRunningMode===o.HudRunningMode.enabled&&(-1===this.duration&&this.calculateDuration(),this.#e(),this._state="unusable")}calculateDuration(){this._startTime&&(this.duration=Number(s.default.hrtime.bigint()-this._startTime))}#e(){if(hudRunningMode===o.HudRunningMode.enabled){const e=this.toRaw();e&&(0,i.storeFlowMetric)(e)}}}},9896:e=>{"use strict";e.exports=require("fs")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}return r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r(2197)})());
2
2
  //# sourceMappingURL=instrument.js.map
@@ -1,2 +1,2 @@
1
- !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var o=r();for(var t in o)("object"==typeof exports?exports:e)[t]=o[t]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},1256:(e,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.filterFilesInsideFrameworks=l,r.logRegisterInRightLocation=function(e){try{!function(e){const r=globalThis.hudLoadedModules;if(!r)return;const o=r.filter(e=>!(0,s.skip)(e));if(o.length>t.hudConfig.uninstrumentedFilesLogThreshold&&i.customer_logger.log(n.UserErrorLogs.UninstrumentedFilesLogThresholdExceeded(o.length)),e){i.instrument_logger.info("Files loaded before register()",{count:o.length}),i.customer_logger.log(n.UserLogs.FilesLoadedBeforeRegister());let e=0;for(const r of o)i.customer_logger.log(n.UserLogs.FileBeforeRegisterTemplate(e,r)),e++}}(e)}catch(e){i.instrument_logger.error("Error in logRegisterInRightLocation",{error:e,stack:e instanceof Error?e.stack:void 0})}try{!function(){const e=globalThis.hudLoadedModules;if(!e)return;const r=l(e,Array.from(t.hudConfig.frameworksToPatch.keys()));r.length>0&&(i.instrument_logger.info("Missing frameworks",{count:r.length}),i.customer_logger.log(n.UserErrorLogs.UninstrumentedFrameworks(r)))}()}catch(e){i.instrument_logger.error("Error in logPreLoadedFrameworks",{error:e,stack:e instanceof Error?e.stack:void 0})}};const t=o(5809),s=o(2030),n=o(2546),i=o(523);function l(e,r){return r.filter(r=>{if(r.endsWith(".js"))return!1;const o=`/node_modules/${r}/`;for(const r of e)if(r.includes(o))return!0;return!1})}},2030:e=>{e.exports=require("./instrument")},2240:e=>{e.exports=require("./core")},2546:e=>{e.exports=require("./lib")},5809:e=>{e.exports=require("./config")},8269:e=>{e.exports=require("./globalstate")}},r={};function o(t){var s=r[t];if(void 0!==s)return s.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,o),n.exports}var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.initSession=async function(e,t,n){try{const{customer_logger:i}=o(523),{UserErrorLogs:l}=o(2546),{clearInitGuard:g,tryFlushPendingLogs:u}=o(8269),{init:c}=o(2240);if(g(),u(e,t).catch(()=>{}),!r)return void i.log(l.InitSessionBeforeRegister());if(!s)return;return e&&""!==e&&"string"==typeof e?t&&""!==t&&"string"==typeof t?await c(e,t,n):void i.log(l.SetupCalledWithoutService()):void i.log(l.SetupCalledWithoutKey())}catch(e){"true"!==process.env.HUD_VERBOSE&&"true"!==process.env.HUD_DEBUG||console.log(e)}},e.register=function(e){try{const{forceHudEnable:t,saveInstrumentationIndicator:i,saveHudRunningFromSetup:l}=o(8269);r=!0,t();const{updateUserConfigFromRegisterOptions:g,shouldRunHud:u,updateUserConfigFromFile:c}=o(2546),{hudConfig:a}=o(5809),{customer_logger:d}=o(523),{registerHook:f}=o(2030),{logRegisterInRightLocation:h}=o(1256);e&&g(e,"SETUP"),c();const p=u();if(!p.shouldRun){if(null!==p.error&&d.log(p.error),p.shouldFlushLogs){const{markForLogFlushing:e}=o(8269);e()}return}f()&&(s=!0,h(e?.verbose??!1)),i(setTimeout(n,a.timeoutOnRegister)),l()}catch{}},e.rehook=function(){try{const{patchCompile:e}=o(2030),{customer_logger:t}=o(523),{UserErrorLogs:n}=o(2546);if(!r)return void t.log(n.RehookCalledBeforeRegister());if(!s)return;e()}catch{}};let r=!1,s=!1;function n(){const{UserErrorLogs:e}=o(2546),{customer_logger:r,app_logger:t}=o(523);t.warning("No declarations found, register() was called too late"),r.log(e.RegisterMisplacedNoDeclarations())}})(),t})());
1
+ !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var o=r();for(var t in o)("object"==typeof exports?exports:e)[t]=o[t]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},1256:(e,r,o)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.filterFilesInsideFrameworks=l,r.logRegisterInRightLocation=function(e){try{!function(e){const r=globalThis.hudLoadedModules;if(!r)return;const o=r.filter(e=>!(0,s.skip)(e));if(o.length>t.hudConfig.uninstrumentedFilesLogThreshold&&(i.customer_logger.log(n.UserErrorLogs.UninstrumentedFilesLogThresholdExceeded(o.length)),e)){i.instrument_logger.info("Files loaded before register()",{count:o.length}),i.customer_logger.log(n.UserLogs.FilesLoadedBeforeRegister());let e=0;for(const r of o)i.customer_logger.log(n.UserLogs.FileBeforeRegisterTemplate(e,r)),e++}}(e)}catch(e){i.instrument_logger.error("Error in logRegisterInRightLocation",{error:e,stack:e instanceof Error?e.stack:void 0})}try{!function(){const e=globalThis.hudLoadedModules;if(!e)return;const r=l(e,Array.from(t.hudConfig.frameworksToPatch.keys()));r.length>0&&(i.instrument_logger.info("Missing frameworks",{count:r.length}),i.customer_logger.log(n.UserErrorLogs.UninstrumentedFrameworks(r)))}()}catch(e){i.instrument_logger.error("Error in logPreLoadedFrameworks",{error:e,stack:e instanceof Error?e.stack:void 0})}};const t=o(5809),s=o(2030),n=o(2546),i=o(523);function l(e,r){return r.filter(r=>{if(r.endsWith(".js"))return!1;const o=`/node_modules/${r}/`;for(const r of e)if(r.includes(o))return!0;return!1})}},2030:e=>{e.exports=require("./instrument")},2240:e=>{e.exports=require("./core")},2546:e=>{e.exports=require("./lib")},5809:e=>{e.exports=require("./config")},8269:e=>{e.exports=require("./globalstate")}},r={};function o(t){var s=r[t];if(void 0!==s)return s.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,o),n.exports}var t={};return(()=>{var e=t;Object.defineProperty(e,"__esModule",{value:!0}),e.initSession=async function(e,t,n){try{const{customer_logger:i}=o(523),{UserErrorLogs:l}=o(2546),{clearInitGuard:g,tryFlushPendingLogs:u}=o(8269),{init:c}=o(2240);if(g(),u(e,t).catch(()=>{}),!r)return void i.log(l.InitSessionBeforeRegister());if(!s)return;return e&&""!==e&&"string"==typeof e?t&&""!==t&&"string"==typeof t?await c(e,t,n):void i.log(l.SetupCalledWithoutService()):void i.log(l.SetupCalledWithoutKey())}catch(e){"true"!==process.env.HUD_VERBOSE&&"true"!==process.env.HUD_DEBUG||console.log(e)}},e.register=function(e){try{const{forceHudEnable:t,saveInstrumentationIndicator:i,saveHudRunningFromSetup:l}=o(8269);r=!0,t();const{updateUserConfigFromRegisterOptions:g,shouldRunHud:u,updateUserConfigFromFile:c}=o(2546),{hudConfig:a}=o(5809),{customer_logger:d}=o(523),{registerHook:f}=o(2030),{logRegisterInRightLocation:h}=o(1256);e&&g(e,"SETUP"),c();const p=u();if(!p.shouldRun){if(null!==p.error&&d.log(p.error),p.shouldFlushLogs){const{markForLogFlushing:e}=o(8269);e()}return}f()&&(s=!0,h(e?.verbose??!1)),i(setTimeout(n,a.timeoutOnRegister)),l()}catch{}},e.rehook=function(){try{const{patchCompile:e}=o(2030),{customer_logger:t}=o(523),{UserErrorLogs:n}=o(2546);if(!r)return void t.log(n.RehookCalledBeforeRegister());if(!s)return;e()}catch{}};let r=!1,s=!1;function n(){const{UserErrorLogs:e}=o(2546),{customer_logger:r,app_logger:t}=o(523);t.warning("No declarations found, register() was called too late"),r.log(e.RegisterMisplacedNoDeclarations())}})(),t})());
2
2
  //# sourceMappingURL=on_setup.js.map
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},857:e=>{e.exports=require("os")},1638:e=>{e.exports=require("./declarations")},1886:function(e,t,o){var n,r=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var r=Object.getOwnPropertyDescriptor(t,o);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,r)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[t.length]=o);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=n(e),i=0;i<o.length;i++)"default"!==o[i]&&r(t,e,o[i]);return a(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const c=i(o(9896)),l=o(8167),g=o(5809),d=o(2546),u=i(o(523)),f=o(523),m=o(8528),p=o(2546),w=o(4672),h=o(8269),k=o(2546),_=o(6982),y=o(6261),v=s(o(6928)),b=o(4678),C=o(6304),x=l.parentPort,M=l.workerData.apiKey,S=l.workerData.service,D=l.workerData.startTime,F=l.workerData.tags,E=l.workerData.lambdaExtensionId,I=l.workerData.shouldCreateDeclaraionWorker;let R,O=new AbortController,T=!1,L=!1;const W=p.safeCall.bind(p.safeCall,f.worker_logger);if(g.hudConfig.userConfig=l.workerData.userConfig,f.worker_logger.info("Worker started"),null===x)throw new p.HudWorkerError("Failed to get port");const A=new Set;let P;E&&(P=new y.EventEmitter,P.setMaxListeners(0),W((0,k.extensionMainLoop)(E,P))),x.postMessage({msg:"started"}),(0,p.setSentEventsCountInterval)();const q=new w.HudClient(P);function N(){T||(T=!0,u.customer_logger.log(d.UserLogs.FirstDecalarationSent()),L&&u.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}async function j(e,t,n,r){if(0!==e.length)for(const a of e)try{if(r&&(0,y.once)(r,"eventloop"),f.worker_logger.debug("Sending file to parser worker",{filename:a.filename}),n){n.postMessage({msg:"SourceFileMetadata",content:a});continue}const{filename:e,indexOffset:s,indexOffsetEnd:c}=a,l=await(0,p.readFile)(e,s,c);if(!l)continue;const{parseDeclarations:g}=await Promise.resolve().then(()=>i(o(1638))),d=await g(a,l,void 0,R);await K(d,t),d.declarations.length>0&&N()}catch(e){f.worker_logger.error("Failed to parse declarations",{filename:a.filename,error:e})}else N()}async function K(e,t){e.blacklist&&e.blacklist.uuids.length>0&&(x?.postMessage(m.KeepAliveMessage),e.blacklist.uuids.forEach(e=>{A.add(e)}),await t.batch("CorruptedFile",[e.blacklist],{event_version:"1.0.0"}));for(let o=0;o<e.declarations.length;o+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await t.batch("FunctionDeclaration",e.declarations.slice(o,o+g.hudConfig.communicationBatchSize),{event_version:m.FUNCTION_DECLARATION_VERSION})}function U(e){return`investigation-${e?.context?.timestamp??Date.now()}-${(0,_.randomUUID)()}.json`}async function B(e,t){await c.promises.writeFile(v.default.join(t.path,U(e)),JSON.stringify(e,null,2))}async function H(e,t,o,n={}){for(let r=0;r<e.length;r+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(t,e.slice(r,r+g.hudConfig.communicationBatchSize),n)}async function z(e,t,o){x?.postMessage(m.KeepAliveMessage),await o.send(t,e)}async function $(e,t){const o=e.join("\n");o.length>0&&await t.logs(o)}async function G(){O.abort(),O=new AbortController}q.initSession(M,S,D,F).then(async e=>{q.setSession(e);const{sessionId:t,extraHeaders:o}=e;f.worker_logger.info("Initialized successfuly",{sessionId:t});const n=m.HudSessionInitStatus.success;x.postMessage({msg:"initialized",content:{status:n,sessionInfo:{sessionId:t,extraHeaders:o}}}),await async function(e){if(null===x)throw new p.HudWorkerError("Failed to get port");const t=await e.getRemoteConfig();return t?(f.worker_logger.info("Remote configuration exists"),g.hudConfig.dynamicConfig=(0,g.updateDynamicConfig)(t,g.hudConfig,f.worker_logger),f.worker_logger.info("Current dynamic configuration:",{currentDynamicConfig:g.hudConfig.dynamicConfig})):f.worker_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:g.hudConfig.dynamicConfig}),x.postMessage({msg:"initDynamicConfig",content:t}),t}(q);try{await async function(e,t){if(null===x)throw new p.HudWorkerError("Failed to get port");const o=I?function(e,t){const o=p.myRequire.resolve(`${g.SDK_MODULE_NAME}/declarationWorker`),n=new l.Worker(o);return n.unref(),n.on("message",o=>{"eventlooptime"!==o?W(K(o,e)):t&&(0,y.once)(t,"eventloop")}),n.on("error",e=>{f.worker_logger.critical("Declaration parser worker crashed",{msg:e instanceof Error?e.message:void 0})}),n.on("exit",e=>{f.worker_logger.warning("Declaration parser worker exited",{code:e})}),n}(e,t):void 0;x.on("message",n=>{const{msg:r,content:a}=n;switch(f.worker_logger.debug("Got message from main thread",{msg:r}),r){case"Terminate":W(async function(e,t){const o=process.hrtime();f.worker_logger.warning("Notified to terminate. flushing.",{grace:e.grace}),await $(e.logBuffers,t),await $((0,f.getSavedLogs)(),t),await G();const n=process.hrtime(o),r=1e3*n[0]+n[1]/1e6;f.worker_logger.info("Done flushing. responsing to parent",{grace:e.grace,termination_time_ms:r}),x?.postMessage({msg:"terminated"}),x?.close()}(a,e));break;case"StartPeriodicTasks":W(async function(e){W((0,b.loopWorkloadDataCollector)(e,g.hudConfig.workloadMetadata,g.hudConfig.workloadMetadata.sendInterval,O.signal)),W((0,p.loopLogProcessPerformance)(f.worker_logger,g.hudConfig.logPerfInterval,O.signal)),W((0,p.loopLogThreadPerformance)(f.worker_logger,g.hudConfig.logPerfInterval,O.signal)),W(async function(e,t,o){for await(const n of(0,p.unrefSetInterval)(t,void 0,{signal:o.signal})){x?.postMessage(m.KeepAliveMessage);const t=(0,f.getSavedLogs)();await $(t,e)}}(e,g.hudConfig.logsSendInterval,O)),W(async function(e){const t=await(0,k.getAllModules)(v.default.resolve("."));await z({modules:t},"InstalledModules",e)}(e))}(e));break;case"Abort":W(G());break;case"Invocations":W(async function(e,t,o){const n=e;f.worker_logger.debug("Got invocations message",{msg:t,size:e.length});const r=n.filter(e=>!A.has(e.function_id));for(let e=0;e<r.length;e+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch("Invocations",r.slice(e,e+g.hudConfig.communicationBatchSize),{event_version:"1.0.1"});L||(L=!0,u.customer_logger.log(d.UserLogs.FirstInvocationSent()),T&&u.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}(a,r,e));break;case"FlowMetrics":W(async function(e,t,o){const{aggregatedMetrics:n}=e;f.worker_logger.debug("Got aggregated flow metrics message",{msg:t,size:Object.keys(n).length}),x?.postMessage(m.KeepAliveMessage);for(const e in n){const{eventVersion:t,metrics:r}=n[e];if(0!==r.length)for(let n=0;n<r.length;n+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(e,r.slice(n,n+g.hudConfig.communicationBatchSize),t?{event_version:t}:{})}}(a,r,e));break;case"ProcessedFiles":W(async function(e,t,o,n){if("true"===process.env.HUD_SKIP_DECLS)return f.worker_logger.debug("Skipping file declarations"),void await j([],t,o,n);if("true"===process.env.HUD_FORCE_ALL_DECLS)return f.worker_logger.debug("Forcing all file declarations"),void await j(e,t,o,n);try{const r=await(0,p.getFilesForDeclarations)(e,t.sendFileDeclarations.bind(t));await j(r,t,o,n)}catch{return f.worker_logger.error("Failed to send file declarations, parsing all files"),void await j(e,t,o,n)}}(a,e,o,t));break;case"GetMode":W(async function(e,t){const{runningMode:o}=e,n=await t.getMode({runningMode:o});x?.postMessage({msg:"GetMode",content:{mode:n}})}(a,e));break;case"EndpointDeclaration":W(async function(e,t,o){for(let n=0;n<e.length;n+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(t,e.slice(n,n+g.hudConfig.communicationBatchSize),{event_version:"1.0.2"})}(a,r,e));break;case"Runtime":case"PreInitLoadedModules":case"PostInitLoadedModules":case"PatchedModules":W(z(a,r,e));break;case"GraphQLResolvers":case"GraphQLDocuments":case"KafkaJSTopics":W(H(a,r,e));break;case"SqsQueue":W(H(a,r,e,{event_version:"1.0.1"}));break;case"StaticNextJsEndpoints":W(async function(e,t){const o=JSON.parse(e.NextConfig),n=await(0,h.extractNextEndpointDeclarations)(o);await H(n,"EndpointDeclaration",t)}(a,e));break;case"Investigations":W(async function(e,t){const o=g.hudConfig.investigation.store,n=[];for(const r of e)try{const e=(0,C.createRegexes)(g.hudConfig.dynamicConfig.censorshipRegexes),a={...(0,C.censorInvestigation)(r,{valueRegexToRedact:e,keysToRedact:g.hudConfig.dynamicConfig.blacklistParams,whitelistNestedFields:g.hudConfig.dynamicConfig.forensicsWhitelistFields,blacklistNestedFields:g.hudConfig.dynamicConfig.forensicsBlacklistFields}),version:g.hudConfig.investigation.objectVersion};if("disk"===o.type)await B(a,o);else if("s3"===o.type){const e=U(a),o=await t.storeObject(e,Buffer.from(JSON.stringify(a)));if(!o){f.worker_logger.error("Failed to store investigation",{investigationSaveName:e});continue}if(!r.context){f.worker_logger.error("Investigation has no context, even though it should");continue}const i={version:g.hudConfig.investigation.objectVersion,flow_type:r.context.type,flow_uuid:"sqs"===r.context.type?r.context.flow_id:r.context.endpoint_uuid,s3_pointer:o,timestamp:r.context.timestamp,caught:r.caught,exceptions:r.exceptions.map(e=>({name:e.name,functions:e.executionFlow.map(e=>e.function_id)}))};n.push(i)}}catch(e){f.worker_logger.error("Failed to save investigation",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}n.length>0&&await t.batch("FlowInvestigation",n)}(a,e));break;case"Logs":W(async function(e,t){x?.postMessage(m.KeepAliveMessage),await t.logs(e.logs)}(a,e));break;case"TsNodeConfig":R=a.tsConfig,o&&o.postMessage({msg:"TsNodeConfig",content:{tsOptions:R}});break;case"Reingest":W(async function(e,t){for(const o of e){N();try{await t.triggerReingest(o)}catch(e){f.worker_logger.error("Failed to trigger reingest",{buildId:o,error:e})}}}(a,e));break;default:f.worker_logger.error("Unknown command",{msg:r})}})}(q,P)}catch(e){f.worker_logger.critical("Worker's main failed",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}).catch(e=>{if(e instanceof p.HudSessionThrottle)return f.worker_logger.info("Session throttled, exiting worker"),void x.postMessage({msg:"throttled"});if(e instanceof p.HudClientError)return f.worker_logger.error("Posting network error to main thread",{message:e.message,originalMessage:e.originalAxiosErrorCode}),void x.postMessage({msg:"networkError",content:{message:e.message,originalMessage:e.originalAxiosErrorCode}});throw f.worker_logger.critical("Failed initiating session",{msg:e.message,stack:e.stack}),e})},2546:e=>{e.exports=require("./lib")},4672:e=>{e.exports=require("./client")},4678:function(e,t,o){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopWorkloadDataCollector=async function(e,t,o,n){try{const a=new l(e,t),i=await a.getWorkloadData();await r(a,i);for await(const e of(0,s.unrefSetInterval)(o,void 0,{signal:n}))await r(a,i)}catch(e){(0,s.isAbortError)(e)||c.worker_logger.error("Failed collecting workload metadata",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}async function r(e,t){try{await e.send(t)}catch(e){c.worker_logger.error("Failed to send workload metadata, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}};const r=n(o(8938)),a=o(9896),i=n(o(857)),s=o(2546),c=o(523);class l{client;config;constructor(e,t){this.client=e,this.config=t}getOperatingSystem(){return i.default.platform()}isKubernetesPod(){return!!process.env.KUBERNETES_SERVICE_HOST}getFileContentSilentFail(e){try{return(0,a.readFileSync)(e,"utf8")}catch{return c.worker_logger.debug(`Could not read file ${e}`),null}}getKubernetesWorkloadData(){if("linux"!==this.getOperatingSystem())return c.worker_logger.info("Kubernetes workload data is only available on Linux, current OS is "+this.getOperatingSystem()),null;if(!this.isKubernetesPod())return null;const e=i.default.hostname(),t=this.getFileContentSilentFail(this.config.kubernetes.namespaceFile),o=this.getFileContentSilentFail(this.config.kubernetes.uuidFile),n=(0,s.getCpuLimit)(c.worker_logger),r=(0,s.getPodMemoryLimit)(c.worker_logger),a=null!==r.podMemoryLimitMB?r.podMemoryLimitMB.toString():null;return{product_uuid:o?.trim()||null,pod_name:e.trim(),pod_namespace:t?.trim()||null,pod_memory_limit:a?.trim()||null,pod_cpu_limit:n?.toString()||null}}async getLocalAWSWorkloadData(){const e=(0,a.readFileSync)(this.config.aws.metadataFile,"utf8"),t=JSON.parse(e),o=t.ds.dynamic["instance-identity"].document;return{workload_id:o.instanceId,workload_instance_type:o.instanceType,region:o.region,ami_id:o.imageId,launched_date:o.pendingTime,life_cycle:t.ds["meta-data"]["instance-life-cycle"]}}async getIMDSWorkloadData(){let e;try{e=await(0,s.suppressTraces)(async()=>await r.default.put(`${this.config.aws.imds.baseURL}${this.config.aws.imds.tokenURI}`,{},{timeout:this.config.aws.imds.requestTimeout,headers:{"X-aws-ec2-metadata-token-ttl-seconds":"21600"}}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance metadata token: ${e}`)}const t={"X-aws-ec2-metadata-token":e.data};let o;try{o=await(0,s.suppressTraces)(async()=>await r.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.identityURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance identity document: ${e}`)}const n=o.data;let a;try{a=await(0,s.suppressTraces)(async()=>await r.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.lifeCycleURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance life cycle: ${e}`)}const i=a.data;return{workload_id:n.instanceId,workload_instance_type:n.instanceType,region:n.region,ami_id:n.imageId,launched_date:n.pendingTime,life_cycle:i}}async getAWSWorkloadData(){try{return await this.getLocalAWSWorkloadData()}catch(e){c.worker_logger.info("Failed to get workload metadata from local file",{msg:e.message})}try{return await this.getIMDSWorkloadData()}catch(e){c.worker_logger.info("Failed to get workload metadata from IMDS",{msg:e.message})}return null}async getWorkloadData(){return{aws_workload_data:await this.getAWSWorkloadData(),kubernetes_workload_data:this.getKubernetesWorkloadData()}}async send(e){c.worker_logger.info("Sending workload metadata to the server",{msg:e}),await this.client.send("WorkloadData",e)}}},5809:e=>{e.exports=require("./config")},6261:e=>{e.exports=require("events")},6304:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRegexes=function(e){return e.map(e=>({regex:new RegExp(e.regex,"g"),replacement:e.replacement}))},t.censorInvestigation=function(e,t){const o=e.context?function(e,t,o){const n={system_info:e?.system_info,machine_metrics:e?.machine_metrics,observability_identifiers:e?.observability_identifiers};if("http"===e.type)return{...n,...r(e,t,o)};if("sqs"===e.type)return{...n,...a(e,t,o)};throw new Error(`Unknown context type: ${e}`)}(e.context,t.valueRegexToRedact,t.keysToRedact):void 0;let c={status:e.status,context:o,exceptions:e.exceptions.map(e=>({name:e.name,message:e.message?i(e.message,t.valueRegexToRedact):void 0,stackTrace:e.stackTrace,executionFlow:e.executionFlow.map(e=>({...e,args:s(e.args,t.valueRegexToRedact,t.keysToRedact)})),caught:e.caught})),...e.userContext?{userContext:e.userContext}:{}};return t.whitelistNestedFields.length>0&&(c=(0,n.pickDeep)(c,t.whitelistNestedFields)),t.blacklistNestedFields.length>0&&(c=(0,n.omitDeep)(c,t.blacklistNestedFields)),c};const n=o(2546);function r(e,t,o){return{type:e.type,endpoint_uuid:e.endpoint_uuid,status_code:e.status_code,route:i(e?.route,t),params:s(e?.params,t,o),query:s(e?.query,t,o),request_body:s(e?.request_body,t,o),method:e?.method,timestamp:e?.timestamp,extra_headers:e.extra_headers??{}}}function a(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:s(e.messages,t,o),timestamp:e.timestamp}}function i(e,t){for(const o of t)e=e.replace(o.regex,o.replacement);return e}function s(e,t,o){if("string"==typeof e)return i(e,t);if("object"==typeof e&&null!==e)for(const n in e)o.includes(n)?e[n]="[REDACTED]":e[n]=s(e[n],t,o);return e}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9896:e=>{e.exports=require("fs")}},t={};return function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}(1886)})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},857:e=>{e.exports=require("os")},1638:e=>{e.exports=require("./declarations")},1886:function(e,t,o){var n,r=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var r=Object.getOwnPropertyDescriptor(t,o);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,r)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[t.length]=o);return t},n(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=n(e),a=0;a<o.length;a++)"default"!==o[a]&&r(t,e,o[a]);return i(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const c=a(o(9896)),l=o(8167),g=o(5809),d=o(2546),u=a(o(523)),f=o(523),m=o(8528),p=o(2546),w=o(4672),h=o(8269),k=o(2546),_=o(6982),y=o(6261),v=s(o(6928)),b=o(4678),C=o(6304),x=l.parentPort,M=l.workerData.apiKey,S=l.workerData.service,D=l.workerData.startTime,F=l.workerData.tags,E=l.workerData.lambdaExtensionId,I=l.workerData.shouldCreateDeclaraionWorker;let T,R=new AbortController,O=!1,L=!1;const W=p.safeCall.bind(p.safeCall,f.worker_logger);if(g.hudConfig.userConfig=l.workerData.userConfig,f.worker_logger.info("Worker started"),null===x)throw new p.HudWorkerError("Failed to get port");const A=new Set;let P;E&&(P=new y.EventEmitter,P.setMaxListeners(0),W((0,k.extensionMainLoop)(E,P))),x.postMessage({msg:"started"}),(0,p.setSentEventsCountInterval)();const q=new w.HudClient(P);function N(){O||(O=!0,u.customer_logger.log(d.UserLogs.FirstDecalarationSent()),L&&u.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}async function j(e,t,n,r){if(0!==e.length)for(const i of e)try{if(r&&(0,y.once)(r,"eventloop"),f.worker_logger.debug("Sending file to parser worker",{filename:i.filename}),n){n.postMessage({msg:"SourceFileMetadata",content:i});continue}const{filename:e,indexOffset:s,indexOffsetEnd:c}=i,l=await(0,p.readFile)(e,s,c);if(!l)continue;const{parseDeclarations:g}=await Promise.resolve().then(()=>a(o(1638))),d=await g(i,l,void 0,T);await K(d,t),d.declarations.length>0&&N()}catch(e){f.worker_logger.error("Failed to parse declarations",{filename:i.filename,error:e})}else N()}async function K(e,t){e.blacklist&&e.blacklist.uuids.length>0&&(x?.postMessage(m.KeepAliveMessage),e.blacklist.uuids.forEach(e=>{A.add(e)}),await t.batch("CorruptedFile",[e.blacklist],{event_version:"1.0.0"}));for(let o=0;o<e.declarations.length;o+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await t.batch("FunctionDeclaration",e.declarations.slice(o,o+g.hudConfig.communicationBatchSize),{event_version:m.FUNCTION_DECLARATION_VERSION})}function U(e){return`investigation-${e?.context?.timestamp??Date.now()}-${(0,_.randomUUID)()}.json`}async function B(e,t){await c.promises.writeFile(v.default.join(t.path,U(e)),JSON.stringify(e,null,2))}function H(e){switch(e.type){case"sqs":case"kafka":return e.flow_id;case"http":return e.endpoint_uuid;default:return""}}async function z(e,t,o,n={}){for(let r=0;r<e.length;r+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(t,e.slice(r,r+g.hudConfig.communicationBatchSize),n)}async function $(e,t,o){x?.postMessage(m.KeepAliveMessage),await o.send(t,e)}async function G(e,t){const o=e.join("\n");o.length>0&&await t.logs(o)}async function J(){R.abort(),R=new AbortController}q.initSession(M,S,D,F).then(async e=>{q.setSession(e);const{sessionId:t,extraHeaders:o}=e;f.worker_logger.info("Initialized successfuly",{sessionId:t});const n=m.HudSessionInitStatus.success;x.postMessage({msg:"initialized",content:{status:n,sessionInfo:{sessionId:t,extraHeaders:o}}}),await async function(e){if(null===x)throw new p.HudWorkerError("Failed to get port");const t=await e.getRemoteConfig();return t?(f.worker_logger.info("Remote configuration exists"),g.hudConfig.dynamicConfig=(0,g.updateDynamicConfig)(t,g.hudConfig,f.worker_logger),f.worker_logger.info("Current dynamic configuration:",{currentDynamicConfig:g.hudConfig.dynamicConfig})):f.worker_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:g.hudConfig.dynamicConfig}),x.postMessage({msg:"initDynamicConfig",content:t}),t}(q);try{await async function(e,t){if(null===x)throw new p.HudWorkerError("Failed to get port");const o=I?function(e,t){const o=p.myRequire.resolve(`${g.SDK_MODULE_NAME}/declarationWorker`),n=new l.Worker(o);return n.unref(),n.on("message",o=>{"eventlooptime"!==o?W(K(o,e)):t&&(0,y.once)(t,"eventloop")}),n.on("error",e=>{f.worker_logger.critical("Declaration parser worker crashed",{msg:e instanceof Error?e.message:void 0})}),n.on("exit",e=>{f.worker_logger.warning("Declaration parser worker exited",{code:e})}),n}(e,t):void 0;x.on("message",n=>{const{msg:r,content:i}=n;switch(f.worker_logger.debug("Got message from main thread",{msg:r}),r){case"Terminate":W(async function(e,t){const o=process.hrtime();f.worker_logger.warning("Notified to terminate. flushing.",{grace:e.grace}),await G(e.logBuffers,t),await G((0,f.getSavedLogs)(),t),await J();const n=process.hrtime(o),r=1e3*n[0]+n[1]/1e6;f.worker_logger.info("Done flushing. responsing to parent",{grace:e.grace,termination_time_ms:r}),x?.postMessage({msg:"terminated"}),x?.close()}(i,e));break;case"StartPeriodicTasks":W(async function(e){W((0,b.loopWorkloadDataCollector)(e,g.hudConfig.workloadMetadata,g.hudConfig.workloadMetadata.sendInterval,R.signal)),W((0,p.loopLogProcessPerformance)(f.worker_logger,g.hudConfig.logPerfInterval,R.signal)),W((0,p.loopLogThreadPerformance)(f.worker_logger,g.hudConfig.logPerfInterval,R.signal)),W(async function(e,t,o){for await(const n of(0,p.unrefSetInterval)(t,void 0,{signal:o.signal})){x?.postMessage(m.KeepAliveMessage);const t=(0,f.getSavedLogs)();await G(t,e)}}(e,g.hudConfig.logsSendInterval,R)),W(async function(e){const t=await(0,k.getAllModules)(v.default.resolve("."));await $({modules:t},"InstalledModules",e)}(e))}(e));break;case"Abort":W(J());break;case"Invocations":W(async function(e,t,o){const n=e;f.worker_logger.debug("Got invocations message",{msg:t,size:e.length});const r=n.filter(e=>!A.has(e.function_id));for(let e=0;e<r.length;e+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch("Invocations",r.slice(e,e+g.hudConfig.communicationBatchSize),{event_version:"1.0.1"});L||(L=!0,u.customer_logger.log(d.UserLogs.FirstInvocationSent()),O&&u.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}(i,r,e));break;case"FlowMetrics":W(async function(e,t,o){const{aggregatedMetrics:n}=e;f.worker_logger.debug("Got aggregated flow metrics message",{msg:t,size:Object.keys(n).length}),x?.postMessage(m.KeepAliveMessage);for(const e in n){const{eventVersion:t,metrics:r}=n[e];if(0!==r.length)for(let n=0;n<r.length;n+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(e,r.slice(n,n+g.hudConfig.communicationBatchSize),t?{event_version:t}:{})}}(i,r,e));break;case"ProcessedFiles":W(async function(e,t,o,n){if("true"===process.env.HUD_SKIP_DECLS)return f.worker_logger.debug("Skipping file declarations"),void await j([],t,o,n);if("true"===process.env.HUD_FORCE_ALL_DECLS)return f.worker_logger.debug("Forcing all file declarations"),void await j(e,t,o,n);try{const r=await(0,p.getFilesForDeclarations)(e,t.sendFileDeclarations.bind(t));await j(r,t,o,n)}catch{return f.worker_logger.error("Failed to send file declarations, parsing all files"),void await j(e,t,o,n)}}(i,e,o,t));break;case"GetMode":W(async function(e,t){const{runningMode:o}=e,n=await t.getMode({runningMode:o});x?.postMessage({msg:"GetMode",content:{mode:n}})}(i,e));break;case"EndpointDeclaration":W(async function(e,t,o){for(let n=0;n<e.length;n+=g.hudConfig.communicationBatchSize)x?.postMessage(m.KeepAliveMessage),await o.batch(t,e.slice(n,n+g.hudConfig.communicationBatchSize),{event_version:"1.0.2"})}(i,r,e));break;case"Runtime":case"PreInitLoadedModules":case"PostInitLoadedModules":case"PatchedModules":W($(i,r,e));break;case"GraphQLResolvers":case"GraphQLDocuments":case"KafkaJSTopics":W(z(i,r,e));break;case"SqsQueue":W(z(i,r,e,{event_version:"1.0.1"}));break;case"StaticNextJsEndpoints":W(async function(e,t){const o=JSON.parse(e.NextConfig),n=await(0,h.extractNextEndpointDeclarations)(o);await z(n,"EndpointDeclaration",t)}(i,e));break;case"Investigations":W(async function(e,t){const o=g.hudConfig.investigation.store,n=[];for(const r of e)try{const e=(0,C.createRegexes)(g.hudConfig.dynamicConfig.censorshipRegexes),i={...(0,C.censorInvestigation)(r,{valueRegexToRedact:e,keysToRedact:g.hudConfig.dynamicConfig.blacklistParams,whitelistNestedFields:g.hudConfig.dynamicConfig.forensicsWhitelistFields,blacklistNestedFields:g.hudConfig.dynamicConfig.forensicsBlacklistFields}),version:g.hudConfig.investigation.objectVersion};if("disk"===o.type)await B(i,o);else if("s3"===o.type){const e=U(i),o=await t.storeObject(e,Buffer.from(JSON.stringify(i)));if(!o){f.worker_logger.error("Failed to store investigation",{investigationSaveName:e});continue}if(!r.context){f.worker_logger.error("Investigation has no context, even though it should");continue}const a={version:g.hudConfig.investigation.objectVersion,flow_type:r.context.type,flow_uuid:H(r.context),s3_pointer:o,timestamp:r.context.timestamp,caught:r.caught,duration:r.duration,trigger_type:r.triggerType??"undefined",exceptions:r.exceptions.map(e=>({name:e.name,functions:e.executionFlow.map(e=>e.function_id)}))};n.push(a)}}catch(e){f.worker_logger.error("Failed to save investigation",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}n.length>0&&await t.batch("FlowInvestigation",n,{event_version:"1.0.1"})}(i,e));break;case"Logs":W(async function(e,t){x?.postMessage(m.KeepAliveMessage),await t.logs(e.logs)}(i,e));break;case"TsNodeConfig":T=i.tsConfig,o&&o.postMessage({msg:"TsNodeConfig",content:{tsOptions:T}});break;case"Reingest":W(async function(e,t){for(const o of e){N();try{await t.triggerReingest(o)}catch(e){f.worker_logger.error("Failed to trigger reingest",{buildId:o,error:e})}}}(i,e));break;case"EndpointsDurationsInvestigationThresholds":W(async function(e,t){const o=await t.getEndpointsDurationsInvestigationThresholds();x?.postMessage({msg:"EndpointsDurationsInvestigationThresholds",content:{...o}})}(0,e));break;default:f.worker_logger.error("Unknown command",{msg:r})}})}(q,P)}catch(e){f.worker_logger.critical("Worker's main failed",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}).catch(e=>{if(e instanceof p.HudSessionThrottle)return f.worker_logger.info("Session throttled, exiting worker"),void x.postMessage({msg:"throttled"});if(e instanceof p.HudClientError)return f.worker_logger.error("Posting network error to main thread",{message:e.message,originalMessage:e.originalAxiosErrorCode}),void x.postMessage({msg:"networkError",content:{message:e.message,originalMessage:e.originalAxiosErrorCode}});throw f.worker_logger.critical("Failed initiating session",{msg:e.message,stack:e.stack}),e})},2546:e=>{e.exports=require("./lib")},4672:e=>{e.exports=require("./client")},4678:function(e,t,o){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopWorkloadDataCollector=async function(e,t,o,n){try{const i=new l(e,t),a=await i.getWorkloadData();await r(i,a);for await(const e of(0,s.unrefSetInterval)(o,void 0,{signal:n}))await r(i,a)}catch(e){(0,s.isAbortError)(e)||c.worker_logger.error("Failed collecting workload metadata",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}async function r(e,t){try{await e.send(t)}catch(e){c.worker_logger.error("Failed to send workload metadata, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}};const r=n(o(8938)),i=o(9896),a=n(o(857)),s=o(2546),c=o(523);class l{client;config;constructor(e,t){this.client=e,this.config=t}getOperatingSystem(){return a.default.platform()}isKubernetesPod(){return!!process.env.KUBERNETES_SERVICE_HOST}getFileContentSilentFail(e){try{return(0,i.readFileSync)(e,"utf8")}catch{return c.worker_logger.debug(`Could not read file ${e}`),null}}getKubernetesWorkloadData(){if("linux"!==this.getOperatingSystem())return c.worker_logger.info("Kubernetes workload data is only available on Linux, current OS is "+this.getOperatingSystem()),null;if(!this.isKubernetesPod())return null;const e=a.default.hostname(),t=this.getFileContentSilentFail(this.config.kubernetes.namespaceFile),o=this.getFileContentSilentFail(this.config.kubernetes.uuidFile),n=(0,s.getCpuLimit)(c.worker_logger),r=(0,s.getPodMemoryLimit)(c.worker_logger),i=null!==r.podMemoryLimitMB?r.podMemoryLimitMB.toString():null;return{product_uuid:o?.trim()||null,pod_name:e.trim(),pod_namespace:t?.trim()||null,pod_memory_limit:i?.trim()||null,pod_cpu_limit:n?.toString()||null}}async getLocalAWSWorkloadData(){const e=(0,i.readFileSync)(this.config.aws.metadataFile,"utf8"),t=JSON.parse(e),o=t.ds.dynamic["instance-identity"].document;return{workload_id:o.instanceId,workload_instance_type:o.instanceType,region:o.region,ami_id:o.imageId,launched_date:o.pendingTime,life_cycle:t.ds["meta-data"]["instance-life-cycle"]}}async getIMDSWorkloadData(){let e;try{e=await(0,s.suppressTraces)(async()=>await r.default.put(`${this.config.aws.imds.baseURL}${this.config.aws.imds.tokenURI}`,{},{timeout:this.config.aws.imds.requestTimeout,headers:{"X-aws-ec2-metadata-token-ttl-seconds":"21600"}}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance metadata token: ${e}`)}const t={"X-aws-ec2-metadata-token":e.data};let o;try{o=await(0,s.suppressTraces)(async()=>await r.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.identityURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance identity document: ${e}`)}const n=o.data;let i;try{i=await(0,s.suppressTraces)(async()=>await r.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.lifeCycleURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new s.HudWorkloadCollectorError(`Could not retrieve instance life cycle: ${e}`)}const a=i.data;return{workload_id:n.instanceId,workload_instance_type:n.instanceType,region:n.region,ami_id:n.imageId,launched_date:n.pendingTime,life_cycle:a}}async getAWSWorkloadData(){try{return await this.getLocalAWSWorkloadData()}catch(e){c.worker_logger.info("Failed to get workload metadata from local file",{msg:e.message})}try{return await this.getIMDSWorkloadData()}catch(e){c.worker_logger.info("Failed to get workload metadata from IMDS",{msg:e.message})}return null}async getWorkloadData(){return{aws_workload_data:await this.getAWSWorkloadData(),kubernetes_workload_data:this.getKubernetesWorkloadData()}}async send(e){c.worker_logger.info("Sending workload metadata to the server",{msg:e}),await this.client.send("WorkloadData",e)}}},5809:e=>{e.exports=require("./config")},6261:e=>{e.exports=require("events")},6304:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRegexes=function(e){return e.map(e=>({regex:new RegExp(e.regex,"g"),replacement:e.replacement}))},t.censorInvestigation=function(e,t){const o=e.context?function(e,t,o){const n={system_info:e?.system_info,machine_metrics:e?.machine_metrics,observability_identifiers:e?.observability_identifiers,timestamp:e?.timestamp},s=e.type;if("http"===s)return{...n,...r(e,t,o)};if("sqs"===s)return{...n,...i(e,t,o)};if("kafka"===s)return{...n,...a(e,t,o)};throw new Error(`Unknown context type: ${e}`)}(e.context,t.valueRegexToRedact,t.keysToRedact):void 0;let l={status:e.status,context:o,triggerType:e.triggerType,duration:e.duration,durationThreshold:e.durationThreshold,caught:e.caught,exceptions:e.exceptions.map(e=>({name:e.name,message:e.message?s(e.message,t.valueRegexToRedact):void 0,stackTrace:e.stackTrace,executionFlow:e.executionFlow.map(e=>({...e,args:c(e.args,t.valueRegexToRedact,t.keysToRedact)})),caught:e.caught})),...e.userContext?{userContext:e.userContext}:{}};return t.whitelistNestedFields.length>0&&(l=(0,n.pickDeep)(l,t.whitelistNestedFields)),t.blacklistNestedFields.length>0&&(l=(0,n.omitDeep)(l,t.blacklistNestedFields)),l};const n=o(2546);function r(e,t,o){return{type:e.type,endpoint_uuid:e.endpoint_uuid,status_code:e.status_code,route:s(e?.route,t),params:c(e?.params,t,o),query:c(e?.query,t,o),request_body:c(e?.request_body,t,o),method:e?.method,extra_headers:e.extra_headers??{}}}function i(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:c(e.messages,t,o)}}function a(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:c(e.messages,t,o),topic:e.topic,partition:e.partition}}function s(e,t){for(const o of t)e=e.replace(o.regex,o.replacement);return e}function c(e,t,o){if("string"==typeof e)return s(e,t);if("object"==typeof e&&null!==e)for(const n in e)o.includes(n)?e[n]="[REDACTED]":e[n]=c(e[n],t,o);return e}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9896:e=>{e.exports=require("fs")}},t={};return function o(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}(1886)})());
2
2
  //# sourceMappingURL=worker.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hud-sdk",
3
- "version": "1.6.32",
3
+ "version": "1.6.33",
4
4
  "description": "Hud's Node SDK",
5
5
  "homepage": "https://www.hud.io/",
6
6
  "keywords": [