hud-sdk 1.6.9 → 1.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={2546:e=>{e.exports=require("./lib")},2702:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerKeepaliveGuard=void 0;const s=n(r(2546)),a=r(8528),d=s.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!==a.KeepAliveMessage.msg)return;this._restartTimeout()}catch(e){d.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 o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0;const i=o(r(6281));t.init=i.default},5994:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainThread=void 0;const i=r(8167),n=r(2546),s=r(6281),a=o(r(7320));function d(){globalThis.hudDeclarationsFound&&(n.app_logger.warn("Found Declarations but no metrics"),n.customer_logger.log(n.UserErrorLogs.YesDeclarationsNoMetrics()))}t.MainThread=class{apiKey;service;startTime;messenger;constructor(e,t,r){this.apiKey=e,this.service=t,this.startTime=r}startFailed(e){e instanceof n.HudSessionThrottle?(n.customer_logger.info(n.UserLogs.InitIdleMode()),(0,s._detachAndTerminate)(!1,!1)):e instanceof n.HudInitNetworkError&&e.originalAxiosErrorCode?(n.customer_logger.log((0,n.getNetworkError)(e.originalAxiosErrorCode)),(0,s._detachAndTerminate)(!1,!1)):(n.app_logger.error("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,s._detachAndTerminate)())}async start(){if(i.isMainThread)if(this.messenger=await this._createMessenger(),this.messenger.runningInsideLambda)this._start().catch(this.startFailed);else try{await this._start()}catch(e){throw this.startFailed(e),e}}async _start(){if(!this.messenger)throw new n.HudInitError("Messenger not initialized");try{await this.messenger.checkWorkerInitialized(n.hudConfig.workerTimeout),await this._initDynamicConfig(),globalThis.hudMetricsIndicator=setTimeout(d,n.hudConfig.timeoutOnMetrics),globalThis.hudMetricsIndicator.unref()}catch(e){const t=e instanceof Error?e.message:void 0;if(e instanceof n.HudSessionThrottle)throw e;throw n.app_logger.error("Failed to starting worker",{msg:t}),e}await this.messenger.start()}async _createMessenger(){const e=n.myRequire.resolve(`${n.SDK_MODULE_NAME}/worker`),t={...process.env};delete t.NODE_OPTIONS;const r=new i.Worker(e,{workerData:{apiKey:this.apiKey,service:this.service,startTime:this.startTime,shouldRunLambdaExtension:globalThis.hudRuningInsideLambda,shouldCreateDeclaraionWorker:globalThis.hudRuningInsideLambda,userConfig:n.hudConfig.userConfig},execArgv:[],env:t});let o;try{o=new a.default(r),await o.checkWorker(n.hudConfig.workerTimeout)}catch(e){if(e instanceof n.HudSessionThrottle)throw n.app_logger.info("Worker started in idle mode - session throttled"),e;throw n.app_logger.error("Worker failed to start",{msg:e instanceof Error?e.message:void 0}),e}finally{r.unref()}return o}async _initDynamicConfig(){const e=await(this.messenger?.getRemoteConfig());e?(n.app_logger.info("Remote configuration exists"),n.hudConfig.dynamicConfig=(0,n.updateDynamicConfig)(e,n.hudConfig,n.app_logger),(0,n.updateInvestigationRateLimitGlobals)(),n.app_logger.info("Current dynamic configuration:",{currentDynamicConfig:n.hudConfig.dynamicConfig})):n.app_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:n.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._detachAndTerminate=t.isValidParam=void 0;const o=r(2546),i=r(5994),n=r(2546),s=r(8528),a=r(8269),d=r(2546),c=r(7274);let l;t.default=async function(e,t){try{if(!globalThis.hudRanOnRequire)return;if(globalThis.hudRunMutex)return void o.app_logger.warn("Already ran init!");if(globalThis.hudRunMutex=!0,(0,a.clearInitGuard)(),!o.app_logger.isValid())return(0,d.setFirstError)((new d.HudBadLoggerError).code),void u(!0,!0);(0,n.updateUserConfigFromInit)(e,t);const r=(0,a.validateAndGetUserInput)();if(!r)return;if(globalThis.hudRunningMode!==s.HudRunningMode.enabled)return;o.app_logger.info("Initializing hud",{userConfig:Object.entries(n.hudConfig.userConfig).filter(([e,t])=>"DEFAULT"!==t.source)}),l=new i.MainThread(r.apiKey,r.service,globalThis.hudStartTime),await l.start(),o.customer_logger.log(d.UserLogs.HudInitSuccess()),l.messenger&&(0,d.safeCall)(o.app_logger,l.messenger.handleLogsTask())}catch(e){try{if(e instanceof d.HudSessionThrottle)return;o.app_logger.error("Something went wrong in init",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}catch(e){o.app_logger.error("Something went wrong in init & e.stack raised an exception")}u()}},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};let g=!1;function u(e=!0,t=!1){(0,a.detachHud)(e,t),l&&(0,d.safeCall)(o.app_logger,l.terminateMessenger()),globalThis.hudExtensionId&&!g&&(g=!0,(0,d.safeCall)(o.app_logger,(0,o.nextLoopDummy)(globalThis.hudExtensionId))),(0,a.clearUserIndicatorsTimeouts)(),(0,c.resetCallers)()}t._detachAndTerminate=u},6460:e=>{e.exports=require("timers/promises")},7131:e=>{e.exports=require("./wrap")},7274:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resetCallers=t.prepCalls=t._liftExceptions=void 0;const o=r(8269),i=r(2546);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}t._liftExceptions=s,t.prepCalls=function(e,t){const r=(new Date).toISOString(),n=[];return Object.entries(hudCalls).map(([o,a])=>{Object.entries(a).forEach(([a,d])=>{Object.entries(d).forEach(([d,c])=>{try{if(0===c.sampledCount)return;const i={function_id:o,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(i),function(e){e.lastSentCounter=e.count,e.sampledCount=0,e.sum=0,e.squareSum=0,e.sketch=null,e.exceptions={}}(c)}catch(e){i.app_logger.error("Failed preparing invocation, skipping",{func:o,wrappedCaller:a,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})})}),n.length>0&&globalThis.hudDeclarationsFound&&(0,o.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])}},7320:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(2546)),a=n(r(6460)),d=r(2546),c=r(8528),l=r(2546),g=r(7131),u=r(8269),h=r(2546),f=r(7274),m=r(2702),p=r(8269),v=r(2546),k=r(6281),w=r(2546),y=r(6261),C=s.app_logger,b=h.safeCall.bind(h.safeCall,C);t.default=class{worker;runningInsideLambda=!1;tsNodeUpdated=!1;abortController;workerKeepaliveGuard;constructor(e){this.worker=e,this.abortController=new AbortController,(0,y.setMaxListeners)(20,this.abortController.signal),this.worker.on("error",this.handleWorkerError).unref(),this.workerKeepaliveGuard=new m.WorkerKeepaliveGuard(e,d.hudConfig.communicationKeepaliveGrace),this._updateTsNodeConfig()&&C.info("ts-node config updated from Messenger constructor")}handleWorkerError=e=>{try{e?.code===(new h.HudClientUnauthorizedError).code&&s.customer_logger.log(h.UserErrorLogs.ApiKeyDenied(d.hudConfig.userConfig.key?.source)),C.error("Error from worker, stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,h.setFirstError)(e?.code),this.stop(),(0,k._detachAndTerminate)()}catch(e){C.error("Error stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};stop(){this.abortWorker(),d.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.stop(),this.abortController.abort(),this.abortController=new AbortController,(0,u.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),C.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=["startedNoExtension","extensionRegistered"];let r;try{r=await this.getMessageFromWorker(t,e,!0)}catch(o){if(!(o instanceof h.HudTimeoutError))throw o;r=await this.getMessageFromWorker(t,e/2,!1)}if(!r)throw new h.HudInitError("Worker not started");return"extensionRegistered"===r.msg&&(this.runningInsideLambda=!0,globalThis.hudExtensionId=r.content.extensionId),r}async checkWorkerInitialized(e){let t;const r=["initialized","throttled","networkError"];try{t=await this.getMessageFromWorker(r,e,!0)}catch(o){if(!(o instanceof h.HudTimeoutError))throw o;t=await this.getMessageFromWorker(r,e/10,!1)}if("throttled"===t?.msg)throw new h.HudSessionThrottle;if("networkError"===t?.msg)throw C.error("networkError",{error:t.content.error}),new h.HudInitNetworkError(t.content.message,t.content.originalMessage);if(!t||"initialized"!==t?.msg||void 0===t?.content)throw new h.HudInitError("Worker not initialized successfully");if(t?.content.status!==c.HudSessionInitStatus.success)throw new h.HudInitError("Worker not initialized successfully");return t}async start(){switch(d.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.start(),globalThis.hudRunningMode){case c.HudRunningMode.enabled:C.info("Enabled mode"),b(this.getMode()),b(this.startPeriodicTasks()),b(this.periodicSendInvocations()),b(this.periodicSendProcessedFiles()),b(this.periodicSendEndpoints()),b(this.periodicSendFlowMetrics()),b(this.periodicSendGarphQL()),b(this.periodicSendKafkaJS()),b(this.periodicSendSqs()),b(this.periodicSendInvestigations()),b(this.periodicSaveMachineMetrics()),b(this.resetCallerCounters()),b(this.periodicResetGlobalInvestigationCounter()),b(this.periodicResetInvestigationDedupingCache()),b(this.sendLogsPeriodically(d.hudConfig.logsSendInterval)),b(this.sendRuntime()),b(this.sendPatchedModules()),b(this.sendPreloadedModules()),b(this.dumpModulesAfterWhile(6e4)),b((0,h.loopLogThreadPerformance)(C,d.hudConfig.logPerfInterval,this.abortController.signal));break;case c.HudRunningMode.disabled:C.info("Disabled mode"),b(this.getMode());break;case c.HudRunningMode.detached:C.info("Detached"),(0,k._detachAndTerminate)(!1,!1),this.stop();break;default:C.error("Running mode not handled")}}async getMessageFromWorker(e,t,r=!1,o){let i;e=Array.isArray(e)?e:[e];const n=new AbortController,s=()=>{n.abort()};this.abortController.signal.addEventListener("abort",s);const d=a.setTimeout(t,void 0,{signal:n.signal,ref:r}),c=t=>{try{e.includes(t.msg)&&(i=t,n.abort(),C.info("Received message from worker (canceling timeout)",t))}catch(e){C.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(),o&&this.worker.postMessage(o);try{throw await d,C.warn("Timeout waiting for message from worker"),new h.HudTimeoutError}catch(e){if(!(0,h.isAbortError)(e))throw(0,h.setFirstError)(e.code),e}finally{this.abortController.signal.removeEventListener("abort",s),this.worker.off("message",c)}return i}async getMode(){for await(const e of(0,l.unrefSetInterval)(d.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,d.hudConfig.workerMessageTimeout,!1,e);if(t?.msg!==e.msg||void 0===t?.content.mode){C.error("Unexpected message from worker",t);continue}t.content.mode!==globalThis.hudRunningMode&&await this.restart(t?.content.mode)}catch(e){C.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,d.hudConfig.workerMessageTimeout,!0);if(t?.msg!==e||void 0===t?.content)throw new Error(`Unexpected message from worker: ${t}`);return t?.content}catch(e){C.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,u.saveMachineMetric)();for await(const e of(0,l.unrefSetInterval)(d.hudConfig.dynamicConfig.machineMetricsInterval,void 0,{signal:this.abortController.signal}))(0,u.saveMachineMetric)()}async resetCallerCounters(){const e=d.hudConfig.callerResetInterval;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting caller",{interval:e}),(0,f.resetCallers)()}catch(e){C.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=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;let r=!0;await this.setupPeriodicTask(e,t,()=>{if(r){r=!1;try{this._updateTsNodeConfig()&&C.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 periodicSendInvocations(){const e=new g.SketchManager(d.hudConfig.huddBinWidth),t=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,r=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(t,r,t=>{const r=(0,f.prepCalls)(t,e);return this._sendArray("Invocations",r),!0},"periodicSendInvocations")}async periodicSendFlowMetrics(){const e=d.hudConfig.dynamicConfig.flowMetricFirstSendTimeout,t=d.hudConfig.dynamicConfig.flowMetricInterval;await this.setupPeriodicTask(e,t,e=>{const t=(0,u.getFlowMetrics)();return t.length>0&&this._sendObject("FlowMetrics",{timeslice:e,rawMetrics:t}),!0},"periodicSendFlowMetrics")}async periodicSendGarphQL(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>(this.sendGraphQLResolvers(),this.sendGraphQLDocuments(),!0),"periodicSendGarphQL")}async periodicSendKafkaJS(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,p.getKafkaJSTopics)();return this._sendArray("KafkaJSTopics",e),!0},"periodicSendKafkaJS")}async periodicSendSqs(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,p.getSqsQueues)();return e.length>0&&this._sendArray("SqsQueue",e),!0},"periodicSendSqs")}async periodicSendInvestigations(){const e=d.hudConfig.dynamicConfig.aggregationInterval;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{const e=(0,p.getClosedInvestigations)();this._sendArray("Investigations",e)}catch(e){C.error("Failed sending Investigations to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}sendGraphQLResolvers(){try{const e=(0,p.getResolversDeclarations)().map(e=>({id:e.id,operation:e.operation,name:e.name}));this._sendArray("GraphQLResolvers",e)}catch(e){C.error("Failed sending resolvers to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}sendGraphQLDocuments(){try{const e=(0,p.getDocumentsMetadata)().map(e=>({name:e.name,hash:e.hash,selection_names:e.selectionNames,time_took:e.timeTook}));this._sendArray("GraphQLDocuments",e)}catch(e){C.error("Failed sending documents to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicSendEndpoints(){const e=d.hudConfig.endpointsFirstSendWaitTime,t=d.hudConfig.endpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendEndpoints(),!0),"periodicSendEndpoints")}sendEndpoints(){const e=(0,p.getExpressEndpointDeclarations)(),t=(0,u.getKoaEndpointDeclarationsFromStorage)(),r=e.concat(t).map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",r)}async terminateWorker(){try{const e=(0,v.suppressTraces)(s.renewFileTransports),t=s.getSavedLogs(),r=e();await this.getMessageFromWorker("terminated",d.hudConfig.workerGrace,!1,{msg:"Terminate",content:{grace:d.hudConfig.workerGrace,logBuffers:t,logFiles:Array.from(r)}})}catch(e){if(!(e instanceof h.HudTimeoutError))throw C.error("Unexpected error, terminating worker"),await this.worker.terminate(),e;C.error("Grace period timeout, terminating worker"),await this.worker.terminate()}C.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}):C.warn("Didn't get module, weird....")}async dumpModulesAfterWhile(e){await(0,l.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal});const t=Object.keys(v.myRequire.cache);this._sendObject("PostInitLoadedModules",{modules:t})}async sendPatchedModules(){if(!globalThis.hudPatched)return void C.error("Cant find patched modules");const e=Array.from(globalThis.hudPatched);this._sendObject("PatchedModules",{modules:e})}async handleLogsTask(){try{const e=(0,v.suppressTraces)(s.renewFileTransports),t=s.getSavedLogs();for(const e of t)try{this._sendObject("Logs",{logs:e})}catch(e){C.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const r=e();r.size>0&&this._sendObject("LogFilename",{filenames:r})}catch(e){C.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,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))await this.handleLogsTask()}async setupPeriodicTask(e,t,r,o){function i(e){let t=!0;try{t=r(e)}catch(e){C.error("Failed in periodic task",{taskName:o,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t}if(await(0,l.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal}),i(e)){for await(const e of(0,l.unrefSetInterval)(t,void 0,{signal:this.abortController.signal}))if(!i(t))return void C.warn("Periodic task failed, stopping task",{firstRun:!1,taskName:o})}else C.warn("Periodic task failed, stopping task",{firstRun:!0,taskName:o})}async periodicResetGlobalInvestigationCounter(){const e=d.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting global investigation counter",{interval:e}),(0,p.setGlobalInvestigationTracking)(0)}catch(e){C.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=d.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting investigation deduping cache",{interval:e}),(0,p.resetInvestigationDedupingCache)()}catch(e){C.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,w.getUserTsNodeConfig)();return!!e&&(this.tsNodeUpdated=!0,C.info("tsconfig found, sending config to worker"),this._sendObject("TsNodeConfig",{tsConfig:e}),!0)}catch(e){throw this.tsNodeUpdated=!0,this.stop(),e instanceof h.HudError&&(0,h.setFirstError)(e.code),(0,k._detachAndTerminate)(!1),e}}}},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o].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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={2546:e=>{e.exports=require("./lib")},2702:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.WorkerKeepaliveGuard=void 0;const s=n(r(2546)),a=r(8528),d=s.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!==a.KeepAliveMessage.msg)return;this._restartTimeout()}catch(e){d.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 o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0;const i=o(r(6281));t.init=i.default},5994:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MainThread=void 0;const i=r(8167),n=r(2546),s=r(6281),a=o(r(7320));function d(){globalThis.hudDeclarationsFound&&(n.app_logger.warn("Found Declarations but no metrics"),n.customer_logger.log(n.UserErrorLogs.YesDeclarationsNoMetrics()))}t.MainThread=class{apiKey;service;startTime;messenger;constructor(e,t,r){this.apiKey=e,this.service=t,this.startTime=r}startFailed(e){e instanceof n.HudSessionThrottle?(n.customer_logger.info(n.UserLogs.InitIdleMode()),(0,s._detachAndTerminate)(!1,!1)):e instanceof n.HudInitNetworkError&&e.originalAxiosErrorCode?(n.customer_logger.log((0,n.getNetworkError)(e.originalAxiosErrorCode)),(0,s._detachAndTerminate)(!1,!1)):(n.app_logger.error("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,s._detachAndTerminate)())}async start(){if(i.isMainThread)if(this.messenger=await this._createMessenger(),this.messenger.runningInsideLambda)this._start().catch(this.startFailed);else try{await this._start()}catch(e){throw this.startFailed(e),e}}async _start(){if(!this.messenger)throw new n.HudInitError("Messenger not initialized");try{await this.messenger.checkWorkerInitialized(n.hudConfig.workerTimeout),await this._initDynamicConfig(),globalThis.hudMetricsIndicator=setTimeout(d,n.hudConfig.timeoutOnMetrics),globalThis.hudMetricsIndicator.unref()}catch(e){const t=e instanceof Error?e.message:void 0;if(e instanceof n.HudSessionThrottle)throw e;throw n.app_logger.error("Failed to starting worker",{msg:t}),e}await this.messenger.start()}async _createMessenger(){const e=n.myRequire.resolve(`${n.SDK_MODULE_NAME}/worker`),t={...process.env};delete t.NODE_OPTIONS;const r=new i.Worker(e,{workerData:{apiKey:this.apiKey,service:this.service,startTime:this.startTime,shouldRunLambdaExtension:globalThis.hudRuningInsideLambda,shouldCreateDeclaraionWorker:globalThis.hudRuningInsideLambda,userConfig:n.hudConfig.userConfig},execArgv:[],env:t});let o;try{o=new a.default(r),await o.checkWorker(n.hudConfig.workerTimeout)}catch(e){if(e instanceof n.HudSessionThrottle)throw n.app_logger.info("Worker started in idle mode - session throttled"),e;throw n.app_logger.error("Worker failed to start",{msg:e instanceof Error?e.message:void 0}),e}finally{r.unref()}return o}async _initDynamicConfig(){const e=await(this.messenger?.getRemoteConfig());e?(n.app_logger.info("Remote configuration exists"),n.hudConfig.dynamicConfig=(0,n.updateDynamicConfig)(e,n.hudConfig,n.app_logger),(0,n.updateInvestigationRateLimitGlobals)(),n.app_logger.info("Current dynamic configuration:",{currentDynamicConfig:n.hudConfig.dynamicConfig})):n.app_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:n.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._detachAndTerminate=t.isValidParam=void 0;const o=r(2546),i=r(5994),n=r(2546),s=r(8528),a=r(8269),d=r(2546),c=r(7274);let l;t.default=async function(e,t){try{if(!globalThis.hudRanOnRequire)return;if(globalThis.hudRunMutex)return void o.app_logger.warn("Already ran init!");if(globalThis.hudRunMutex=!0,(0,a.clearInitGuard)(),!o.app_logger.isValid())return(0,d.setFirstError)((new d.HudBadLoggerError).code),void u(!0,!0);(0,n.updateUserConfigFromInit)(e,t);const r=(0,a.validateAndGetUserInput)();if(!r)return;if(globalThis.hudRunningMode!==s.HudRunningMode.enabled)return;o.app_logger.info("Initializing hud",{userConfig:Object.entries(n.hudConfig.userConfig).filter(([e,t])=>"DEFAULT"!==t.source)}),l=new i.MainThread(r.apiKey,r.service,globalThis.hudStartTime),await l.start(),o.customer_logger.log(d.UserLogs.HudInitSuccess()),l.messenger&&(0,d.safeCall)(o.app_logger,l.messenger.handleLogsTask())}catch(e){try{if(e instanceof d.HudSessionThrottle)return;o.app_logger.error("Something went wrong in init",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}catch(e){o.app_logger.error("Something went wrong in init & e.stack raised an exception")}u()}},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};let g=!1;function u(e=!0,t=!1){(0,a.detachHud)(e,t),l&&(0,d.safeCall)(o.app_logger,l.terminateMessenger()),globalThis.hudExtensionId&&!g&&(g=!0,(0,d.safeCall)(o.app_logger,(0,o.nextLoopDummy)(globalThis.hudExtensionId))),(0,a.clearUserIndicatorsTimeouts)(),(0,c.resetCallers)()}t._detachAndTerminate=u},6460:e=>{e.exports=require("timers/promises")},7131:e=>{e.exports=require("./wrap")},7274:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.resetCallers=t.prepCalls=t._liftExceptions=void 0;const o=r(8269),i=r(2546);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}t._liftExceptions=s,t.prepCalls=function(e,t){const r=(new Date).toISOString(),n=[];return Object.entries(hudCalls).map(([o,a])=>{Object.entries(a).forEach(([a,d])=>{Object.entries(d).forEach(([d,c])=>{try{if(0===c.sampledCount)return;const i={function_id:o,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(i),function(e){e.lastSentCounter=e.count,e.sampledCount=0,e.sum=0,e.squareSum=0,e.sketch=null,e.exceptions={}}(c)}catch(e){i.app_logger.error("Failed preparing invocation, skipping",{func:o,wrappedCaller:a,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}})})}),n.length>0&&globalThis.hudDeclarationsFound&&(0,o.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])}},7320:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const s=n(r(2546)),a=n(r(6460)),d=r(2546),c=r(8528),l=r(2546),g=r(7131),u=r(8269),h=r(2546),f=r(7274),m=r(2702),p=r(8269),v=r(2546),k=r(6281),w=r(2546),y=r(6261),C=s.app_logger,b=h.safeCall.bind(h.safeCall,C);t.default=class{worker;runningInsideLambda=!1;tsNodeUpdated=!1;abortController;workerKeepaliveGuard;constructor(e){this.worker=e,this.abortController=new AbortController,(0,y.setMaxListeners)(20,this.abortController.signal),this.worker.on("error",this.handleWorkerError).unref(),this.workerKeepaliveGuard=new m.WorkerKeepaliveGuard(e,d.hudConfig.communicationKeepaliveGrace),this._updateTsNodeConfig()&&C.info("ts-node config updated from Messenger constructor")}handleWorkerError=e=>{try{e?.code===(new h.HudClientUnauthorizedError).code&&s.customer_logger.log(h.UserErrorLogs.ApiKeyDenied(d.hudConfig.userConfig.key?.source)),C.error("Error from worker, stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),(0,h.setFirstError)(e?.code),this.stop(),(0,k._detachAndTerminate)()}catch(e){C.error("Error stopping hud",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};stop(){this.abortWorker(),d.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.stop(),this.abortController.abort(),this.abortController=new AbortController,(0,u.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),C.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=["startedNoExtension","extensionRegistered"];let r;try{r=await this.getMessageFromWorker(t,e,!0)}catch(o){if(!(o instanceof h.HudTimeoutError))throw o;r=await this.getMessageFromWorker(t,e/2,!1)}if(!r)throw new h.HudInitError("Worker not started");return"extensionRegistered"===r.msg&&(this.runningInsideLambda=!0,globalThis.hudExtensionId=r.content.extensionId),r}async checkWorkerInitialized(e){let t;const r=["initialized","throttled","networkError"];try{t=await this.getMessageFromWorker(r,e,!0)}catch(o){if(!(o instanceof h.HudTimeoutError))throw o;t=await this.getMessageFromWorker(r,e/10,!1)}if("throttled"===t?.msg)throw new h.HudSessionThrottle;if("networkError"===t?.msg)throw C.error("networkError",{error:t.content.error}),new h.HudInitNetworkError(t.content.message,t.content.originalMessage);if(!t||"initialized"!==t?.msg||void 0===t?.content)throw new h.HudInitError("Worker not initialized successfully");if(t?.content.status!==c.HudSessionInitStatus.success)throw new h.HudInitError("Worker not initialized successfully");return t}async start(){switch(d.hudConfig.communicationKeepalive&&this.workerKeepaliveGuard.start(),globalThis.hudRunningMode){case c.HudRunningMode.enabled:C.info("Enabled mode"),b(this.getMode()),b(this.startPeriodicTasks()),b(this.periodicSendInvocations()),b(this.periodicSendProcessedFiles()),b(this.periodicSendEndpoints()),b(this.periodicSendFlowMetrics()),b(this.periodicSendGarphQL()),b(this.periodicSendKafkaJS()),b(this.periodicSendSqs()),b(this.periodicSendInvestigations()),b(this.periodicSaveMachineMetrics()),b(this.resetCallerCounters()),b(this.periodicResetGlobalInvestigationCounter()),b(this.periodicResetInvestigationDedupingCache()),b(this.sendLogsPeriodically(d.hudConfig.logsSendInterval)),b(this.sendRuntime()),b(this.sendPatchedModules()),b(this.sendPreloadedModules()),b(this.dumpModulesAfterWhile(6e4)),b((0,h.loopLogThreadPerformance)(C,d.hudConfig.logPerfInterval,this.abortController.signal));break;case c.HudRunningMode.disabled:C.info("Disabled mode"),b(this.getMode());break;case c.HudRunningMode.detached:C.info("Detached"),(0,k._detachAndTerminate)(!1,!1),this.stop();break;default:C.error("Running mode not handled")}}async getMessageFromWorker(e,t,r=!1,o){let i;e=Array.isArray(e)?e:[e];const n=new AbortController,s=()=>{n.abort()};this.abortController.signal.addEventListener("abort",s);const d=a.setTimeout(t,void 0,{signal:n.signal,ref:r}),c=t=>{try{e.includes(t.msg)&&(i=t,n.abort(),C.info("Received message from worker (canceling timeout)",t))}catch(e){C.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(),o&&this.worker.postMessage(o);try{throw await d,C.warn("Timeout waiting for message from worker"),new h.HudTimeoutError}catch(e){if(!(0,h.isAbortError)(e))throw(0,h.setFirstError)(e.code),e}finally{this.abortController.signal.removeEventListener("abort",s),this.worker.off("message",c)}return i}async getMode(){for await(const e of(0,l.unrefSetInterval)(d.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,d.hudConfig.workerMessageTimeout,!1,e);if(t?.msg!==e.msg||void 0===t?.content.mode){C.error("Unexpected message from worker",t);continue}t.content.mode!==globalThis.hudRunningMode&&await this.restart(t?.content.mode)}catch(e){C.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,d.hudConfig.workerMessageTimeout,!0);if(t?.msg!==e||void 0===t?.content)throw new Error(`Unexpected message from worker: ${t}`);return t?.content}catch(e){C.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,u.saveMachineMetric)();for await(const e of(0,l.unrefSetInterval)(d.hudConfig.dynamicConfig.machineMetricsInterval,void 0,{signal:this.abortController.signal}))(0,u.saveMachineMetric)()}async resetCallerCounters(){const e=d.hudConfig.callerResetInterval;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting caller",{interval:e}),(0,f.resetCallers)()}catch(e){C.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=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;let r=!0;await this.setupPeriodicTask(e,t,()=>{if(r){r=!1;try{this._updateTsNodeConfig()&&C.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 periodicSendInvocations(){const e=new g.SketchManager(d.hudConfig.huddBinWidth),t=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,r=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(t,r,t=>{const r=(0,f.prepCalls)(t,e);return this._sendArray("Invocations",r),!0},"periodicSendInvocations")}async periodicSendFlowMetrics(){const e=d.hudConfig.dynamicConfig.flowMetricFirstSendTimeout,t=d.hudConfig.dynamicConfig.flowMetricInterval;await this.setupPeriodicTask(e,t,e=>{const t=(0,u.getFlowMetrics)(e);return Object.keys(t).length>0&&this._sendObject("FlowMetrics",{aggregatedMetrics:t}),!0},"periodicSendFlowMetrics")}async periodicSendGarphQL(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>(this.sendGraphQLResolvers(),this.sendGraphQLDocuments(),!0),"periodicSendGarphQL")}async periodicSendKafkaJS(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,p.getKafkaJSTopics)();return this._sendArray("KafkaJSTopics",e),!0},"periodicSendKafkaJS")}async periodicSendSqs(){const e=d.hudConfig.dynamicConfig.aggregationFirstSendTimeout,t=d.hudConfig.dynamicConfig.aggregationInterval;await this.setupPeriodicTask(e,t,()=>{const e=(0,p.getSqsQueues)();return e.length>0&&this._sendArray("SqsQueue",e),!0},"periodicSendSqs")}async periodicSendInvestigations(){const e=d.hudConfig.dynamicConfig.aggregationInterval;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{const e=(0,p.getClosedInvestigations)();this._sendArray("Investigations",e)}catch(e){C.error("Failed sending Investigations to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}sendGraphQLResolvers(){try{const e=(0,p.getResolversDeclarations)().map(e=>({id:e.id,operation:e.operation,name:e.name}));this._sendArray("GraphQLResolvers",e)}catch(e){C.error("Failed sending resolvers to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}sendGraphQLDocuments(){try{const e=(0,p.getDocumentsMetadata)().map(e=>({name:e.name,hash:e.hash,selection_names:e.selectionNames,time_took:e.timeTook}));this._sendArray("GraphQLDocuments",e)}catch(e){C.error("Failed sending documents to worker, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}async periodicSendEndpoints(){const e=d.hudConfig.endpointsFirstSendWaitTime,t=d.hudConfig.endpointsInterval;await this.setupPeriodicTask(e,t,()=>(this.sendEndpoints(),!0),"periodicSendEndpoints")}sendEndpoints(){const e=(0,p.getExpressEndpointDeclarations)(),t=(0,u.getKoaEndpointDeclarationsFromStorage)(),r=e.concat(t).map(e=>({path:e.path,methods:e.methods,flow_id:e.flow_id,framework:e.framework,partial_path:e.partial_path}));this._sendArray("EndpointDeclaration",r)}async terminateWorker(){try{const e=(0,v.suppressTraces)(s.renewFileTransports),t=s.getSavedLogs(),r=e();await this.getMessageFromWorker("terminated",d.hudConfig.workerGrace,!1,{msg:"Terminate",content:{grace:d.hudConfig.workerGrace,logBuffers:t,logFiles:Array.from(r)}})}catch(e){if(!(e instanceof h.HudTimeoutError))throw C.error("Unexpected error, terminating worker"),await this.worker.terminate(),e;C.error("Grace period timeout, terminating worker"),await this.worker.terminate()}C.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}):C.warn("Didn't get module, weird....")}async dumpModulesAfterWhile(e){await(0,l.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal});const t=Object.keys(v.myRequire.cache);this._sendObject("PostInitLoadedModules",{modules:t})}async sendPatchedModules(){if(!globalThis.hudPatched)return void C.error("Cant find patched modules");const e=Array.from(globalThis.hudPatched);this._sendObject("PatchedModules",{modules:e})}async handleLogsTask(){try{const e=(0,v.suppressTraces)(s.renewFileTransports),t=s.getSavedLogs();for(const e of t)try{this._sendObject("Logs",{logs:e})}catch(e){C.error("Failed send logs to worker",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const r=e();r.size>0&&this._sendObject("LogFilename",{filenames:r})}catch(e){C.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,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))await this.handleLogsTask()}async setupPeriodicTask(e,t,r,o){function i(e){let t=!0;try{t=r(e)}catch(e){C.error("Failed in periodic task",{taskName:o,msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}return t}if(await(0,l.unrefSetTimeout)(e,void 0,{signal:this.abortController.signal}),i(e)){for await(const e of(0,l.unrefSetInterval)(t,void 0,{signal:this.abortController.signal}))if(!i(t))return void C.warn("Periodic task failed, stopping task",{firstRun:!1,taskName:o})}else C.warn("Periodic task failed, stopping task",{firstRun:!0,taskName:o})}async periodicResetGlobalInvestigationCounter(){const e=d.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting global investigation counter",{interval:e}),(0,p.setGlobalInvestigationTracking)(0)}catch(e){C.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=d.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs;for await(const t of(0,l.unrefSetInterval)(e,void 0,{signal:this.abortController.signal}))try{C.info("Resetting investigation deduping cache",{interval:e}),(0,p.resetInvestigationDedupingCache)()}catch(e){C.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,w.getUserTsNodeConfig)();return!!e&&(this.tsNodeUpdated=!0,C.info("tsconfig found, sending config to worker"),this._sendObject("TsNodeConfig",{tsConfig:e}),!0)}catch(e){throw this.tsNodeUpdated=!0,this.stop(),e instanceof h.HudError&&(0,h.setFirstError)(e.code),(0,k._detachAndTerminate)(!1),e}}}},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o].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 o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(global,()=>(()=>{"use strict";var e={820:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),i=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||n(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),i(o(7764),t),i(o(4583),t),i(o(2314),t),i(o(1321),t),i(o(3764),t),i(o(2207),t),i(o(8714),t),i(o(2525),t),i(o(3973),t),i(o(1364),t),i(o(7398),t)},1321:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}: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}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&n(t,e,o);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLDocumentMetadata=t.getDocumentsMetadata=void 0;const a=r(o(6982));t.getDocumentsMetadata=function(){const e=s;return s=[],e};let s=[];t.GraphQLDocumentMetadata=class{name;timeTook;hash;selectionNames;constructor(e,t){this.name=e.definitions[0]?.name?.value,this.hash=a.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(){s.push(this)}}},1364:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAndGetUserInput=t.saveInstrumentationIndicator=t.saveHudRunningFromSetup=t.forceHudEnable=t.detachHud=t.clearUserIndicatorsTimeouts=t.clearInstrumentationIndicator=t.clearMetricsIndicator=t.clearInitGuard=t.hookMessageChannel=t.resetGlobals=t.initGlobals=void 0;const n=o(8528),i=o(2546),r=o(8167);function a(){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 s(){clearTimeout(globalThis.hudInitGuard),globalThis.hudInitGuard=void 0}function l(){clearTimeout(globalThis.hudMetricsIndicator),globalThis.hudMetricsIndicator=void 0}function u(){clearTimeout(globalThis.hudInstrumentationIndicator),globalThis.hudInstrumentationIndicator=void 0}function d(e=!0,t=!1){if(i.app_logger.warn("Detaching hud"),t||e&&hudRunningMode!==n.HudRunningMode.detached){const e=(0,i.getFirstError)();i.customer_logger.log(i.UserErrorLogs.ShutdownGracefully(e))}globalThis.hudRunningMode=n.HudRunningMode.detached}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.hudDeclarationsFound=!1,globalThis.hudStartTime=new Date,globalThis.hudCalls={},globalThis.hudRunningMode=n.HudRunningMode.enabled,globalThis.hudExtensionId=void 0,globalThis._hud_F="",globalThis.hudShouldLinkFunction=!1,globalThis.hudExecutionFlowMaxLength=i.hudConfig.investigation.limits.executionFlowMaxLength,globalThis.hudExceptionMaxLength=i.hudConfig.investigation.limits.exceptionMaxLength,globalThis.hudEnableInvestigation=i.hudConfig.dynamicConfig.enableInvestigation,function(){globalThis.hudSampleTable=[];const e=[[10,1],[30,2],[100,3],[500,11],[1e3,23],[5e3,53]];let t=0;for(const[o,n]of e){for(let e=t;e<o;e++)globalThis.hudSampleTable.push(e%n===0);t=o}}(),a())},t.resetGlobals=a,t.hookMessageChannel=function(){const{port1:e,port2:t}=new r.MessageChannel;return e.on("message",e=>{"HudModulePatch"===e.key?(globalThis.hudPatched.add(e.hudPatched),globalThis.hudProcessedFiles.push(e.hudProcessedFiles),globalThis.hudInstrumentationIndicator&&(u(),globalThis.hudDeclarationsFound=!0)):"HudRetrieveFileCache"===e.key&&globalThis.HudSourceMapCache.set(e.filename,e.content)}),e.unref(),globalThis.hudHookPort=e,t},t.clearInitGuard=s,t.clearMetricsIndicator=l,t.clearInstrumentationIndicator=u,t.clearUserIndicatorsTimeouts=function(){s(),l(),u()},t.detachHud=d,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 i.hudConfig.userConfig.key||i.hudConfig.userConfig.service?i.hudConfig.userConfig.key?(0,i.isValidParam)(i.hudConfig.userConfig.key.value)?i.hudConfig.userConfig.service?(0,i.isValidParam)(i.hudConfig.userConfig.service.value)?{apiKey:i.hudConfig.userConfig.key.value,service:i.hudConfig.userConfig.service.value}:(i.hudConfig.disableOnBadServiceName&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudServiceInvalid(i.hudConfig.userConfig.service.source))):(i.hudConfig.disableOnBadServiceName&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudServiceNotSet(globalThis.hudStartFromAutoInit))):(i.hudConfig.disableOnBadApiKey&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudApiKeyInvalid(i.hudConfig.userConfig.key.source))):(i.hudConfig.disableOnBadApiKey&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudApiKeyNotSet(globalThis.hudStartFromAutoInit))):((i.hudConfig.disableOnBadApiKey||i.hudConfig.disableOnBadServiceName)&&d(!1),void i.customer_logger.log(i.UserErrorLogs.BothApiKeyAndServiceNotSet(globalThis.hudStartFromAutoInit)))}},2207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getResolverIdBySelectionName=t.storeResolverIdBySelectionName=void 0;const o=new Map;t.storeResolverIdBySelectionName=function(e,t){o.set(t,e)},t.getResolverIdBySelectionName=function(e){return o.get(e)}},2314:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.swapTempToConstFlowId=t.clearFlowIdMappings=t.linkTemporaryToConsistenFlowId=t.getFlowIdFromMappings=t.getLinkedConsistentFlowId=t.fullEndpointFlowIdMap=void 0;const n=o(2546),i=o(7930),r=o(8590);t.fullEndpointFlowIdMap=new Map;const a=new Map;function s(e,t){let o=l(e,!1);return o?o.flowId:(u(t),o=l(e,!0),o?(o.isPartial&&!t&&n.app_logger.warn("Found partial endpoint for flow id even though partial aren't allowd",{flowId:e,consistentFlowId:o.flowId}),o.flowId):void 0)}function l(e,o){let n=t.fullEndpointFlowIdMap.get(e);return n?{flowId:n,isPartial:!1}:o?(n=a.get(e),n?{flowId:n,isPartial:!0}:void 0):void 0}function u(e){const o=[];globalThis.hudExpressState.forEach(e=>{try{o.push(...(0,i.extractEndpointsFromRouter)("",e))}catch(e){n.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})}}),o.forEach(e=>{if(e.partial_path)return;const o=e.flow_id;let i=t.fullEndpointFlowIdMap.get(o);i||(i=(0,n.generateEndpointFlowId)(e.path,e.methods),t.fullEndpointFlowIdMap.set(o,i))}),(0,r.getPartialEndpointDeclarationsFromStorage)().forEach(o=>{const i=o.flow_id;let r=t.fullEndpointFlowIdMap.get(i);r||(r=a.get(i),r||(r=(0,n.generateEndpointFlowId)(o.partial_path,o.methods),e?a.set(i,r):t.fullEndpointFlowIdMap.set(i,r)))})}t.getLinkedConsistentFlowId=s,t.getFlowIdFromMappings=l,t.linkTemporaryToConsistenFlowId=u,t.clearFlowIdMappings=function(){t.fullEndpointFlowIdMap.clear(),a.clear()},t.swapTempToConstFlowId=function(e){e.forEach(e=>{"express"===e.framework&&(e.flow_id=s(e.flow_id,!0)??e.flow_id)})}},2433:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getKoaEndpointDeclarationsFromStorage=t.storeKoaEndpointDeclaration=void 0;let o=[];t.storeKoaEndpointDeclaration=function(e){o.push(e)},t.getKoaEndpointDeclarationsFromStorage=function(){const e=o;return o=[],e}},2525:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeSqsQueueDeclaration=t.getSqsQueues=void 0;let o=[];t.getSqsQueues=function(){const e=o;return o=[],e},t.storeSqsQueueDeclaration=function(e){o.push(e)}},2546:e=>{e.exports=require("./lib")},2987:e=>{e.exports=require("perf_hooks")},3764:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeResolverDeclaration=t.getResolversDeclarations=void 0;let o=[];t.getResolversDeclarations=function(){const e=o;return o=[],e},t.storeResolverDeclaration=function(e){o.push(e)}},3973:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeFlowMetric=t.getFlowMetrics=void 0;let o=[];t.getFlowMetrics=function(){const e=o;return o=[],e},t.storeFlowMetric=function(e){o.push(e)}},4583:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getExpressEndpointDeclarations=void 0;const n=o(2546),i=o(2314),r=o(7930),a=o(8590);t.getExpressEndpointDeclarations=function(){let e=[];globalThis.hudExpressState.forEach(t=>{try{e=e.concat((0,r.extractEndpointsFromRouter)("",t))}catch(e){n.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 o=e.filter(e=>!e.partial_path||!t.has(e.flow_id)&&(n.app_logger.info("Partial endpoint without full endpoint",{endpoint:e}),!0));return(0,i.swapTempToConstFlowId)(o),o}},6982:e=>{e.exports=require("crypto")},7398:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getLastMetrics=t.saveMachineMetric=t.getInvestigationDedupingCache=t.resetInvestigationDedupingCache=t.increaseInvestigationDedupingCache=t.increaseGlobalInvestigationTracking=t.setGlobalInvestigationTracking=t.globalInvestigationTracking=t.storeClosedInvestigation=t.getClosedInvestigations=void 0;const n=o(2546),i=o(2987);let r=[];t.getClosedInvestigations=function(){const e=r;return r=[],e},t.storeClosedInvestigation=function(e){r.push(e)},t.globalInvestigationTracking=0,t.setGlobalInvestigationTracking=function(e){t.globalInvestigationTracking=e},t.increaseGlobalInvestigationTracking=function(){t.globalInvestigationTracking++};const a=new Map;t.increaseInvestigationDedupingCache=function(e,t){const o=a.get(e)??new Map,n=(o.get(t)??0)+1;o.set(t,n),a.set(e,o)},t.resetInvestigationDedupingCache=function(){a.clear()},t.getInvestigationDedupingCache=function(e){return a.get(e)??new Map};const s=[];t.saveMachineMetric=function(){const e=process.cpuUsage(),t=i.performance.eventLoopUtilization();s.push({cpuUsage:e,elu:t,timestamp:Date.now()}),s.length>n.hudConfig.machineMetricsSavedLength&&s.shift()},t.getLastMetrics=function(){return s[0]}},7764:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),i=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||n(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),i(o(8714),t),i(o(2433),t),i(o(1321),t),i(o(3764),t),i(o(2207),t),i(o(4583),t),i(o(8590),t)},7930:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractEndpointsFromRouter=void 0;const n=o(8528),i=o(2546);function r(e,t){const o=[];for(const[r,a]of Object.entries(e.route[i.hudConfig.express.layerStateSymbol]))o.push(new n.EndpointDeclaration(r,a.methods,"express",t,a.layerPath));return Array.from(o.values())}t.extractEndpointsFromRouter=function e(t,o){let n=[];const s="true"===process.env.HUD_LOG_EXPRESS;if(!o.stack)return i.app_logger.error("Router without stack - bad OTEL version",{router:o}),n;for(const l of o.stack)if("router"===l.name){if(!l[i.hudConfig.express.routeNamesSymbol]){i.app_logger.error("Router layer without routes",{layer:l});continue}const o=t+l[i.hudConfig.express.routeNamesSymbol];n=n.concat(e(o,l.handle))}else l.route&&l.route[i.hudConfig.express.layerStateSymbol]?n=n.concat(r(l,t)):s&&!a.has(l.name)&&(a.add(l.name),i.app_logger.warn("Found unknown layer name when extracting endpoints",{layer:l.name}));return n};const a=new Set(["query","expressInit","mounted_app"])},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8590:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeExpressEndpointDeclaration=t.getPartialEndpointDeclarationsFromStorage=t.storePartialEndpointDeclaration=t.getRouterlessEndpointDeclarationsFromStorage=void 0;const n=o(2546),i=o(2314);let r=[];t.getRouterlessEndpointDeclarationsFromStorage=function(){const e=r;return r=[],e};let a=[];t.storePartialEndpointDeclaration=function(e){a.push(e)},t.getPartialEndpointDeclarationsFromStorage=function(){const e=a;return a=[],e},t.storeExpressEndpointDeclaration=function(e){if(!i.fullEndpointFlowIdMap.has(e.flow_id)){if(e.path){const t=(0,n.generateEndpointFlowId)(e.path,e.methods);i.fullEndpointFlowIdMap.set(e.flow_id,t)}r.push(e)}}},8714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeKafkaJSTopicDeclaration=t.getKafkaJSTopics=void 0;let o=[];t.getKafkaJSTopics=function(){const e=o;return o=[],e},t.storeKafkaJSTopicDeclaration=function(e){o.push(e)}}},t={};return function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n].call(r.exports,r,r.exports,o),r.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 o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(global,()=>(()=>{"use strict";var e={820:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),i=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||n(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),i(o(7764),t),i(o(4583),t),i(o(2314),t),i(o(1321),t),i(o(3764),t),i(o(2207),t),i(o(8714),t),i(o(2525),t),i(o(3973),t),i(o(1364),t),i(o(7398),t)},1321:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}: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}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&n(t,e,o);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLDocumentMetadata=t.getDocumentsMetadata=void 0;const a=r(o(6982));t.getDocumentsMetadata=function(){const e=s;return s=[],e};let s=[];t.GraphQLDocumentMetadata=class{name;timeTook;hash;selectionNames;constructor(e,t){this.name=e.definitions[0]?.name?.value,this.hash=a.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(){s.push(this)}}},1364:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateAndGetUserInput=t.saveInstrumentationIndicator=t.saveHudRunningFromSetup=t.forceHudEnable=t.detachHud=t.clearUserIndicatorsTimeouts=t.clearInstrumentationIndicator=t.clearMetricsIndicator=t.clearInitGuard=t.hookMessageChannel=t.resetGlobals=t.initGlobals=void 0;const n=o(8528),i=o(2546),r=o(8167);function a(){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 s(){clearTimeout(globalThis.hudInitGuard),globalThis.hudInitGuard=void 0}function u(){clearTimeout(globalThis.hudMetricsIndicator),globalThis.hudMetricsIndicator=void 0}function l(){clearTimeout(globalThis.hudInstrumentationIndicator),globalThis.hudInstrumentationIndicator=void 0}function d(e=!0,t=!1){if(i.app_logger.warn("Detaching hud"),t||e&&hudRunningMode!==n.HudRunningMode.detached){const e=(0,i.getFirstError)();i.customer_logger.log(i.UserErrorLogs.ShutdownGracefully(e))}globalThis.hudRunningMode=n.HudRunningMode.detached}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.hudDeclarationsFound=!1,globalThis.hudStartTime=new Date,globalThis.hudCalls={},globalThis.hudRunningMode=n.HudRunningMode.enabled,globalThis.hudExtensionId=void 0,globalThis._hud_F="",globalThis.hudShouldLinkFunction=!1,globalThis.hudExecutionFlowMaxLength=i.hudConfig.investigation.limits.executionFlowMaxLength,globalThis.hudExceptionMaxLength=i.hudConfig.investigation.limits.exceptionMaxLength,globalThis.hudEnableInvestigation=i.hudConfig.dynamicConfig.enableInvestigation,function(){globalThis.hudSampleTable=[];const e=[[10,1],[30,2],[100,3],[500,11],[1e3,23],[5e3,53]];let t=0;for(const[o,n]of e){for(let e=t;e<o;e++)globalThis.hudSampleTable.push(e%n===0);t=o}}(),a())},t.resetGlobals=a,t.hookMessageChannel=function(){const{port1:e,port2:t}=new r.MessageChannel;return e.on("message",e=>{"HudModulePatch"===e.key?(globalThis.hudPatched.add(e.hudPatched),globalThis.hudProcessedFiles.push(e.hudProcessedFiles),globalThis.hudInstrumentationIndicator&&(l(),globalThis.hudDeclarationsFound=!0)):"HudRetrieveFileCache"===e.key&&globalThis.HudSourceMapCache.set(e.filename,e.content)}),e.unref(),globalThis.hudHookPort=e,t},t.clearInitGuard=s,t.clearMetricsIndicator=u,t.clearInstrumentationIndicator=l,t.clearUserIndicatorsTimeouts=function(){s(),u(),l()},t.detachHud=d,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 i.hudConfig.userConfig.key||i.hudConfig.userConfig.service?i.hudConfig.userConfig.key?(0,i.isValidParam)(i.hudConfig.userConfig.key.value)?i.hudConfig.userConfig.service?(0,i.isValidParam)(i.hudConfig.userConfig.service.value)?{apiKey:i.hudConfig.userConfig.key.value,service:i.hudConfig.userConfig.service.value}:(i.hudConfig.disableOnBadServiceName&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudServiceInvalid(i.hudConfig.userConfig.service.source))):(i.hudConfig.disableOnBadServiceName&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudServiceNotSet(globalThis.hudStartFromAutoInit))):(i.hudConfig.disableOnBadApiKey&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudApiKeyInvalid(i.hudConfig.userConfig.key.source))):(i.hudConfig.disableOnBadApiKey&&d(!1),void i.customer_logger.log(i.UserErrorLogs.HudApiKeyNotSet(globalThis.hudStartFromAutoInit))):((i.hudConfig.disableOnBadApiKey||i.hudConfig.disableOnBadServiceName)&&d(!1),void i.customer_logger.log(i.UserErrorLogs.BothApiKeyAndServiceNotSet(globalThis.hudStartFromAutoInit)))}},2207:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getResolverIdBySelectionName=t.storeResolverIdBySelectionName=void 0;const o=new Map;t.storeResolverIdBySelectionName=function(e,t){o.set(t,e)},t.getResolverIdBySelectionName=function(e){return o.get(e)}},2314:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.swapTempToConstFlowId=t.clearFlowIdMappings=t.linkTemporaryToConsistenFlowId=t.getFlowIdFromMappings=t.getLinkedConsistentFlowId=t.fullEndpointFlowIdMap=void 0;const n=o(2546),i=o(7930),r=o(8590);t.fullEndpointFlowIdMap=new Map;const a=new Map;function s(e,t){let o=u(e,!1);return o?o.flowId:(l(t),o=u(e,!0),o?(o.isPartial&&!t&&n.app_logger.warn("Found partial endpoint for flow id even though partial aren't allowd",{flowId:e,consistentFlowId:o.flowId}),o.flowId):void 0)}function u(e,o){let n=t.fullEndpointFlowIdMap.get(e);return n?{flowId:n,isPartial:!1}:o?(n=a.get(e),n?{flowId:n,isPartial:!0}:void 0):void 0}function l(e){const o=[];globalThis.hudExpressState.forEach(e=>{try{o.push(...(0,i.extractEndpointsFromRouter)("",e))}catch(e){n.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})}}),o.forEach(e=>{if(e.partial_path)return;const o=e.flow_id;let i=t.fullEndpointFlowIdMap.get(o);i||(i=(0,n.generateEndpointFlowId)(e.path,e.methods),t.fullEndpointFlowIdMap.set(o,i))}),(0,r.getPartialEndpointDeclarationsFromStorage)().forEach(o=>{const i=o.flow_id;let r=t.fullEndpointFlowIdMap.get(i);r||(r=a.get(i),r||(r=(0,n.generateEndpointFlowId)(o.partial_path,o.methods),e?a.set(i,r):t.fullEndpointFlowIdMap.set(i,r)))})}t.getLinkedConsistentFlowId=s,t.getFlowIdFromMappings=u,t.linkTemporaryToConsistenFlowId=l,t.clearFlowIdMappings=function(){t.fullEndpointFlowIdMap.clear(),a.clear()},t.swapTempToConstFlowId=function(e){e.forEach(e=>{"express"===e.framework&&(e.flow_id=s(e.flow_id,!0)??e.flow_id)})}},2433:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getKoaEndpointDeclarationsFromStorage=t.storeKoaEndpointDeclaration=void 0;let o=[];t.storeKoaEndpointDeclaration=function(e){o.push(e)},t.getKoaEndpointDeclarationsFromStorage=function(){const e=o;return o=[],e}},2525:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeSqsQueueDeclaration=t.getSqsQueues=void 0;let o=[];t.getSqsQueues=function(){const e=o;return o=[],e},t.storeSqsQueueDeclaration=function(e){o.push(e)}},2546:e=>{e.exports=require("./lib")},2987:e=>{e.exports=require("perf_hooks")},3764:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeResolverDeclaration=t.getResolversDeclarations=void 0;let o=[];t.getResolversDeclarations=function(){const e=o;return o=[],e},t.storeResolverDeclaration=function(e){o.push(e)}},3973:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeFlowMetric=t.getFlowMetrics=void 0;const n=o(2546),i=o(7131),r=o(7859),a={},s=new i.SketchManager(n.hudConfig.huddBinWidth);t.getFlowMetrics=function(e){const t=(new Date).toISOString(),o={};for(const n in a){o[n]=[];for(const i in a[n]){const r=a[n][i];o[n].push(r.finalize(s,t,e))}delete a[n]}return o},t.storeFlowMetric=function(e){const t=function(e){if("EndpointMetric"===e.type||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;a[e.type]||(a[e.type]={});const o=a[e.type][t];if(o)o.update(e,s);else{const o=r.MetricFactory.createMetric(e,s);a[e.type][t]=o}}},4583:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getExpressEndpointDeclarations=void 0;const n=o(2546),i=o(2314),r=o(7930),a=o(8590);t.getExpressEndpointDeclarations=function(){let e=[];globalThis.hudExpressState.forEach(t=>{try{e=e.concat((0,r.extractEndpointsFromRouter)("",t))}catch(e){n.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 o=e.filter(e=>!e.partial_path||!t.has(e.flow_id)&&(n.app_logger.info("Partial endpoint without full endpoint",{endpoint:e}),!0));return(0,i.swapTempToConstFlowId)(o),o}},6982:e=>{e.exports=require("crypto")},7131:e=>{e.exports=require("./wrap")},7398:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getLastMetrics=t.saveMachineMetric=t.getInvestigationDedupingCache=t.resetInvestigationDedupingCache=t.increaseInvestigationDedupingCache=t.increaseGlobalInvestigationTracking=t.setGlobalInvestigationTracking=t.globalInvestigationTracking=t.storeClosedInvestigation=t.getClosedInvestigations=void 0;const n=o(2546),i=o(2987);let r=[];t.getClosedInvestigations=function(){const e=r;return r=[],e},t.storeClosedInvestigation=function(e){r.push(e)},t.globalInvestigationTracking=0,t.setGlobalInvestigationTracking=function(e){t.globalInvestigationTracking=e},t.increaseGlobalInvestigationTracking=function(){t.globalInvestigationTracking++};const a=new Map;t.increaseInvestigationDedupingCache=function(e,t){const o=a.get(e)??new Map,n=(o.get(t)??0)+1;o.set(t,n),a.set(e,o)},t.resetInvestigationDedupingCache=function(){a.clear()},t.getInvestigationDedupingCache=function(e){return a.get(e)??new Map};const s=[];t.saveMachineMetric=function(){const e=process.cpuUsage(),t=i.performance.eventLoopUtilization();s.push({cpuUsage:e,elu:t,timestamp:Date.now()}),s.length>n.hudConfig.machineMetricsSavedLength&&s.shift()},t.getLastMetrics=function(){return s[0]}},7764:function(e,t,o){var n=this&&this.__createBinding||(Object.create?function(e,t,o,n){void 0===n&&(n=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,n,i)}:function(e,t,o,n){void 0===n&&(n=o),e[n]=t[o]}),i=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||n(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),i(o(8714),t),i(o(2433),t),i(o(1321),t),i(o(3764),t),i(o(2207),t),i(o(4583),t),i(o(8590),t)},7859:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MetricFactory=t.BaseMetric=void 0;class o{}class n extends o{flowId;count;sumDuration;sumSquaredDuration;sketchBuilder;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)}getEventVersion(){return"1.0.0"}update(e,t){this.sumDuration+=e.duration,this.sumSquaredDuration+=e.duration**2,this.count+=1,t.add(this.sketchBuilder,e.duration)}finalize(e,t,o){return{flow_id:this.flowId,count:this.count,sum_duration:this.sumDuration,sum_squared_duration:this.sumSquaredDuration,timestamp:t,timeslice:o,sketch:e.encode(this.sketchBuilder)}}}t.BaseMetric=n;class i{static registry={};static registerMetric(e,t){i.registry[e]=t}static createMetric(e,t){const o=i.registry[e.type];if(!o)throw new Error(`Unknown metric type: ${e.type}`);return new o(e,t)}}t.MetricFactory=i,i.registerMetric("EndpointMetric",class extends n{route;method;statusCode;constructor(e,t){super(e,t),this.route=e.route,this.method=e.method,this.statusCode=e.status_code}finalize(e,t,o){return{...super.finalize(e,t,o),route:this.route,method:this.method,status_code:this.statusCode}}}),i.registerMetric("GraphQLMetric",class extends n{constructor(e,t){super(e,t)}}),i.registerMetric("KafkaJSMetric",class extends n{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,o){return{...super.finalize(e,t,o),partition:this.partition,error:this.error,sum_consumed_duration:this.sumConsumedDuration,sum_squared_consumed_duration:this.sumSquaredConsumedDuration,sketch_consume:e.encode(this.ConsumeSketchBuilder)}}}),i.registerMetric("SqsMetric",class extends n{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.1"}finalize(e,t,o){return{...super.finalize(e,t,o),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,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extractEndpointsFromRouter=void 0;const n=o(8528),i=o(2546);function r(e,t){const o=[];for(const[r,a]of Object.entries(e.route[i.hudConfig.express.layerStateSymbol]))o.push(new n.EndpointDeclaration(r,a.methods,"express",t,a.layerPath));return Array.from(o.values())}t.extractEndpointsFromRouter=function e(t,o){let n=[];const s="true"===process.env.HUD_LOG_EXPRESS;if(!o.stack)return i.app_logger.error("Router without stack - bad OTEL version",{router:o}),n;for(const u of o.stack)if("router"===u.name){if(!u[i.hudConfig.express.routeNamesSymbol]){i.app_logger.error("Router layer without routes",{layer:u});continue}const o=t+u[i.hudConfig.express.routeNamesSymbol];n=n.concat(e(o,u.handle))}else u.route&&u.route[i.hudConfig.express.layerStateSymbol]?n=n.concat(r(u,t)):s&&!a.has(u.name)&&(a.add(u.name),i.app_logger.warn("Found unknown layer name when extracting endpoints",{layer:u.name}));return n};const a=new Set(["query","expressInit","mounted_app"])},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8590:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeExpressEndpointDeclaration=t.getPartialEndpointDeclarationsFromStorage=t.storePartialEndpointDeclaration=t.getRouterlessEndpointDeclarationsFromStorage=void 0;const n=o(2546),i=o(2314);let r=[];t.getRouterlessEndpointDeclarationsFromStorage=function(){const e=r;return r=[],e};let a=[];t.storePartialEndpointDeclaration=function(e){a.push(e)},t.getPartialEndpointDeclarationsFromStorage=function(){const e=a;return a=[],e},t.storeExpressEndpointDeclaration=function(e){if(!i.fullEndpointFlowIdMap.has(e.flow_id)){if(e.path){const t=(0,n.generateEndpointFlowId)(e.path,e.methods);i.fullEndpointFlowIdMap.set(e.flow_id,t)}r.push(e)}}},8714:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storeKafkaJSTopicDeclaration=t.getKafkaJSTopics=void 0;let o=[];t.getKafkaJSTopics=function(){const e=o;return o=[],e},t.storeKafkaJSTopicDeclaration=function(e){o.push(e)}}},t={};return function o(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n].call(r.exports,r,r.exports,o),r.exports}(820)})());
2
2
  //# sourceMappingURL=globalstate.js.map
package/dist/cjs/lib.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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={363:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateUserConfigFromInitOptions=t.updateUserConfigFromEnv=t.updateUserConfigFromFile=t.updateUserConfigFromInit=void 0;const o=r(8528),n=r(1569),i=r(8138),s=r(2794),a=r(3073),l=r(9100),u=o.HudInitOptionsSchema.omit({customOptions:!0}).extend({key:n.z.string().optional(),service:n.z.string().optional(),enable:n.z.boolean().optional(),enableDapulse:n.z.boolean().optional()});t.updateUserConfigFromInit=function(e,t){void 0!==e&&(l.hudConfig.userConfig.key={value:e,source:"INIT"}),void 0!==t&&(l.hudConfig.userConfig.service={value:t,source:"INIT"})},t.updateUserConfigFromFile=function(){let e;try{e=(0,s.getConfigContent)()}catch(e){throw e instanceof s.HudFailedReadConfigError&&"EACCES"===e.code&&a.customer_logger.log(i.UserErrorLogs.ConfigInaccessible(e.path)),e}if(e)try{const t=u.partial().parse(JSON.parse(e.content));Object.entries(t).forEach(([t,r])=>{!function(e,t,r){e[t]=r}(l.hudConfig.userConfig,t,{value:r,source:"HUD_CONFIG"===e.source?"CONFIG_ENV":"CONFIG_FILE"})})}catch(t){throw t instanceof n.ZodError?t.errors.forEach(t=>{const r=t.path.join(".");a.customer_logger.log(i.UserErrorLogs.ZodErrorInUserConfig(e.source,r))}):a.customer_logger.log(i.UserErrorLogs.JSONErrorInUserConfig(e.source,t.message)),t}},t.updateUserConfigFromEnv=function(){const e=process.env.HUD_KEY,t=process.env.HUD_SERVICE,r=process.env.HUD_ENABLE_DAPULSE,o=(0,l.getModulesToTraceFromEnv)(),n=process.env.HUD_MAX_INSTRUMENTED_FUNCTIONS,i=process.env.HUD_MIN_POD_MEMORY_MB;e&&(l.hudConfig.userConfig.key={value:e,source:"ENV"}),t&&(l.hudConfig.userConfig.service={value:t,source:"ENV"}),r&&(l.hudConfig.userConfig.enableDapulse={value:"true"===r,source:"ENV"}),o&&(l.hudConfig.userConfig.includeModules={value:o,source:"ENV"}),n&&(l.hudConfig.userConfig.maxMappedFunctions={value:parseInt(n),source:"ENV"}),i&&(l.hudConfig.userConfig.minPodMemoryMB={value:parseInt(i),source:"ENV"})},t.updateUserConfigFromInitOptions=function(e,t){e.includeModules&&Array.isArray(e.includeModules)&&(l.hudConfig.userConfig.includeModules={value:e.includeModules,source:t}),e.customOptions&&e.customOptions.dapulseSqsConsumer&&(l.hudConfig.userConfig.enableDapulse={value:"true"===e.customOptions.dapulseSqsConsumer,source:t}),e.maxMappedFunctions&&"number"==typeof e.maxMappedFunctions&&(l.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:t}),e.minPodMemoryMB&&"number"==typeof e.minPodMemoryMB&&(l.hudConfig.userConfig.minPodMemoryMB={value:e.minPodMemoryMB,source:t}),e.maxFileSizeBytes&&"number"==typeof e.maxFileSizeBytes&&(l.hudConfig.userConfig.maxFileSizeBytes={value:e.maxFileSizeBytes,source:t}),e.maxTimeUntilInitSessionMs&&"number"==typeof e.maxTimeUntilInitSessionMs&&(l.hudConfig.userConfig.maxTimeUntilInitSessionMs={value:e.maxTimeUntilInitSessionMs,source:t})}},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UserLogs=void 0,t.UserLogs={HudInitSuccess:()=>({level:"info",message:"Session started"}),FirstDecalarationSent:()=>({level:"info",message:"First code mapping sent successfully"}),FirstInvocationSent:()=>({level:"info",message:"First invocation sent successfully"}),HappyFlowCompleted:()=>({level:"info",message:"Your service is sending data successfully"}),FilesLoadedBeforeRegister:()=>({level:"info",message:"Files loaded before register():"}),FileBeforeRegisterTemplate:(e,t)=>({level:"info",message:`${e}. ${t}`}),InitIdleMode:()=>({level:"info",message:"Initialized successfully in idle mode."})}},857:e=>{e.exports=require("os")},1012:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=t.SDK_MODULE_NAME=void 0,n(r(9100),t),n(r(4627),t);var i=r(8809);Object.defineProperty(t,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return i.SDK_MODULE_NAME}}),n(r(2684),t),n(r(363),t);var s=r(3312);Object.defineProperty(t,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},1493:e=>{e.exports=require("v8")},1569:e=>{e.exports=require("zod")},1620:e=>{e.exports=require("winston-transport")},1622:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getMethodKind=t.getContextualData=t.getContextSymbol=t.getFunctionIdentifier=void 0;const s=i(r(6346)),a=r(6346),l=r(8528),u=r(8138),c=r(3073),d=r(2213),p=r(1974);function m(e,t){return{name:t,sourcemap_location_hints:(0,p.getLocationList)(e,t),format:"%s"}}function f(e){if(a.types.isIdentifier(e))return{name:e.name,sourcemap_location_hints:e.loc?[{name:e.name,line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column}]:[],format:"%s"};if(a.types.isMemberExpression(e)||a.types.isOptionalMemberExpression(e)){let t;t=a.types.isThisExpression(e.object)?{name:"this",sourcemap_location_hints:(0,p.getLocationList)(e.object,"this")}:f(e.object);const r=f(e.property),o=e.computed?t.name+"["+r.name+"]":t.name+"."+r.name,n=t.format??"%s",i=r.format??"%s",s=e.computed?`${n}[${i}]`:`${n}.${i}`;return{name:o,sourcemap_location_hints:[...t.sourcemap_location_hints,...r.sourcemap_location_hints],format:s}}if(a.types.isOptionalCallExpression(e)||a.types.isCallExpression(e))return f(e.callee);if(a.types.isSequenceExpression(e))return(0,d.isHudAwaitSequence)(e)?f((0,d.getHudAwaitSequenceElement)(e)):f(e.expressions[e.expressions.length-1]);if(a.types.isArrayExpression(e))return{name:"[]",sourcemap_location_hints:(0,p.getLocationList)(e,"[]"),format:"%s"};if(a.types.isObjectExpression(e))return{name:"{}",sourcemap_location_hints:(0,p.getLocationList)(e,"{}"),format:"%s"};if(a.types.isStringLiteral(e))return{name:`"${e.value}"`,sourcemap_location_hints:(0,p.getLocationList)(e,e.value),format:'"%s"'};throw new u.HudUnsupportedError("Unsupported left side of assignment - "+e.type+"loc - "+JSON.stringify(e.loc))}function g(e){const{node:t}=e;if(e.isExpression())try{return function(e){const{parent:t}=e;if(a.types.isVariableDeclarator(t)&&a.types.isIdentifier(t.id))return m(t,t.id.name);if(a.types.isObjectProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isClassProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isAssignmentExpression(t))return f(t.left);if(a.types.isAssignmentPattern(t))return f(t.left);throw new u.HudUnsupportedError(`Unsupported parent type - ${t.type} for me ${e.node.type}`)}(e)}catch(e){if(e instanceof u.HudUnsupportedError)return;throw e}c.worker_logger.debug("getContextSymbol; Unsupported node type",{type:t.type})}function y(e){const t=[];return e.arguments.forEach((e,r)=>{let o,n;a.types.isStringLiteral(e)?(o=l.ArgumentTypes.StringLiteral,n=e.value):a.types.isTemplateLiteral(e)?(o=l.ArgumentTypes.TemplateString,n=function(e){let t="";const r=e.quasis,o=e.expressions;for(let e=0;e<r.length;e++)t+=r[e].value.cooked,e<o.length&&(t+=`\${${h(o[e])}}`);return t=`\`${t}\``,t}(e)):a.types.isIdentifier(e)&&(o=l.ArgumentTypes.Identifier,n=e.name),o&&n&&t.push({index:r,type:o,value:n})}),t}function h(e){if(a.types.isIdentifier(e))return e.name;if(a.types.isStringLiteral(e))return e.value;if(a.types.isCallExpression(e)||a.types.isOptionalCallExpression(e)){const t=e;if(a.types.isIdentifier(t.callee))return t.callee.name;if(a.types.isMemberExpression(t.callee)||a.types.isOptionalMemberExpression(t.callee)){let e="";const r=t.callee;if(a.types.isThisExpression(r.object)?e+="this.":a.types.isIdentifier(r.object)&&(e+=`${r.object.name}.`),""!==e&&a.types.isIdentifier(r.property))return e+=`${r.property.name}`,e}}return""}t.getFunctionIdentifier=function(e){const{node:t}=e;if(a.types.isFunctionDeclaration(t)||a.types.isFunctionExpression(t)){if(a.types.isIdentifier(t.id))return t.id}else if(a.types.isClassMethod(t)){if(a.types.isIdentifier(t.key))return t.key}else if(a.types.isClassPrivateMethod(t)){if(a.types.isIdentifier(t.key.id))return t.key.id}else if(a.types.isObjectMethod(t)&&a.types.isIdentifier(t.key))return t.key},t.getContextSymbol=g,t.getContextualData=function(e){let t,r=!1;return(e.isFunctionExpression()||e.isArrowFunctionExpression())&&(t=function(e){const t=e.parentPath;if(t.isCallExpression())for(const[r,o]of t.node.arguments.entries())if(o===e.node){const e=t.node.callee;let o;try{o=f(e)}catch(t){if(!(t instanceof u.HudUnsupportedError))throw t;c.worker_logger.debug("could not get callee symbol recursively",{error:t,type:e.type})}const n=y(t.node);return{callee:{symbol:o,argsCount:t.node.arguments.length,args:n},index:r}}}(e),r=function(e){const t=e.parentPath;return!!t.isCallExpression()&&t.node.callee===e.node}(e)),{symbol:g(e),callback:t,immediatelyInvoked:r}},t.getMethodKind=function(e){if(s.types.isClassMethod(e)||s.types.isObjectMethod(e)||s.types.isClassPrivateMethod(e))return e.kind}},1974:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeLocation=t.resolveScopeSymbols=t.resolveSymbol=t.getLocationList=void 0;const n=o(r(9023)),i=r(3073);function s(e,t){let r=t.name;const o=t.sourcemap_location_hints.map(t=>{const r=e({line:t.line,column:t.column});if(null===r.line||null===r.column)return{name:t.name,line:-1,column:-1,line_on_server:t.line_on_server,column_on_server:t.column_on_server};let o=r.name??t.name??void 0;return o?.startsWith("#")&&(o=o.slice(1)),{name:o,line:r.line,column:r.column,line_on_server:t.line_on_server,column_on_server:t.column_on_server,resolved:!0}});return o.length>0&&o.every(e=>e.name)&&(t.format?Array.from(t.format.matchAll(/%s/g)).length!==o.length?i.worker_logger.warn("Format string does not match number of location hints",{format:t.format,locationHints:o}):r=n.default.format(t.format,...o.map(e=>e.name)):r=o.map(e=>e.name).join(".")),{name:r,sourcemap_location_hints:o}}t.getLocationList=function(e,t){return e.loc?[{line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column,name:t}]:[]},t.resolveSymbol=s,t.resolveScopeSymbols=function(e,t){const{context:r}=t,o=r.symbol?s(e,r.symbol):void 0,n=s(e,t.symbol);return{...t,context:{...r,symbol:o},symbol:n}},t.getNodeLocation=function(e,t,r=void 0){const o=e.loc?.start,n=e.loc?.end;if(!o||!n)return i.worker_logger.info("Node without location",{filename:r,type:e.type}),{start:{source:null,line:-1,column:-1},end:{source:null,line:-1,column:-1}};const s=t({line:o.line,column:o.column}),a=t({line:n.line,column:n.column});return null!==s.line&&null!==s.column&&null!==a.line&&null!==a.column||(i.worker_logger.debug("Could not find location for function",{filename:r,type:e.type,locStart:o,locEnd:n}),s.line=-1,s.column=-1,a.line=-1,a.column=-1),{start:{source:s.source,line:s.line,column:s.column},end:{source:a.source,line:a.line,column:a.column}}}},2213:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getHudAwaitSequenceElement=t.isHudAwaitSequence=void 0;const o=r(6346),n=r(1012),i=r(8138);t.isHudAwaitSequence=function(e){if(e.expressions.length<2)return!1;const t=e.expressions[e.expressions.length-1];return!!o.types.isIdentifier(t)&&!!t.name.startsWith(n.hudConfig.wrapVarPrefix)},t.getHudAwaitSequenceElement=function(e){const t=e.expressions[0];if(!o.types.isAssignmentExpression(t))throw new i.HudUnsupportedError("Expected assignment expression");const{left:r,right:s}=t;if(!o.types.isIdentifier(r)||!r.name.startsWith(n.hudConfig.wrapVarPrefix))throw new i.HudUnsupportedError("Expected identifier starting with "+n.hudConfig.wrapVarPrefix);return s}},2241:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(1012),t),n(r(8287),t),n(r(8138),t),n(r(8808),t),n(r(2794),t),n(r(7582),t),n(r(3073),t),n(r(5290),t),n(r(5822),t),n(r(3699),t),n(r(4219),t),n(r(4451),t),n(r(2908),t),n(r(2451),t),n(r(3431),t),n(r(669),t),n(r(8066),t)},2298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNamespaceScopeable=t.isHudScopeable=t.NamespaceScopeAlias=t.ScopableAlias=void 0;const o=r(6346);t.ScopableAlias="ArrowFunctionExpression|BlockStatement|CatchClause|ClassMethod|ClassPrivateMethod|DeclareModule|DoExpression|DoWhileStatement|ForInStatement|ForOfStatement|ForStatement|FunctionDeclaration|FunctionExpression|IfStatement|LabeledStatement|ObjectMethod|StaticBlock|SwitchCase|TSModuleBlock|TryStatement|WhileStatement|WithStatement|ClassDeclaration|ClassExpression|ObjectExpression|SwitchStatement",t.NamespaceScopeAlias="FunctionDeclaration|FunctionExpression|ArrowFunctionExpression|ObjectMethod|ClassMethod|ClassPrivateMethod|ClassDeclaration|ClassExpression|ObjectExpression",t.isHudScopeable=function(e){return o.types.isArrowFunctionExpression(e)||o.types.isBlockStatement(e)||o.types.isCatchClause(e)||o.types.isClassMethod(e)||o.types.isClassPrivateMethod(e)||o.types.isDeclareModule(e)||o.types.isDoExpression(e)||o.types.isDoWhileStatement(e)||o.types.isForInStatement(e)||o.types.isForOfStatement(e)||o.types.isForStatement(e)||o.types.isFunctionDeclaration(e)||o.types.isFunctionExpression(e)||o.types.isIfStatement(e)||o.types.isLabeledStatement(e)||o.types.isObjectMethod(e)||o.types.isProgram(e)||o.types.isStaticBlock(e)||o.types.isSwitchCase(e)||o.types.isTSModuleBlock(e)||o.types.isTryStatement(e)||o.types.isWhileStatement(e)||o.types.isWithStatement(e)||o.types.isClassDeclaration(e)||o.types.isClassExpression(e)||o.types.isObjectExpression(e)||o.types.isSwitchStatement(e)},t.isNamespaceScopeable=function(e){return o.types.isFunction(e)||o.types.isClass(e)||o.types.isObjectExpression(e)}},2451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUserTsNodeConfig=void 0;const o=r(8138),n=r(3073),i=r(8066);t.getUserTsNodeConfig=function(e=!0){const t=function(){try{const e=i.myRequire.resolve("ts-node");if(!e)return;if(!i.myRequire.cache[e])return;const t=(0,i.myRequire)("ts-node"),r=process[t.REGISTER_INSTANCE];if(!r)return;return r.options}catch(e){return}}();if(t){if(!t.transpileOnly)throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotTranspileOnly()),n.app_logger.warn("ts-node is used but not configured to transpile only"),new o.HudNoTranspileOnlyError;return{cwd:t.cwd,project:t.project,projectSearchDir:t.projectSearchDir}}if(process.argv[0].endsWith("ts-node"))throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotFoundEvenThoughRunWithTsNode()),n.app_logger.info("ts-node not found even run with ts-node"),new o.HudTsNodeNotFoundButUsed}},2684:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectStoreConfigSchema=void 0;const o=r(1569),n=o.z.object({type:o.z.literal("s3")}),i=o.z.object({type:o.z.literal("disk"),path:o.z.string()});t.ObjectStoreConfigSchema=o.z.union([n,i])},2784:e=>{e.exports=require("../native/_index")},2794:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfigContent=t.HudFailedReadConfigError=t.isHudEnabled=void 0;const s=i(r(9896)),a=i(r(6928)),l=r(8138),u=r(3073);t.isHudEnabled=function(){if("false"===process.env.HUD_ENABLE)return!1;if(globalThis.forceHudEnable)return!0;let e,t;try{if(e=d(),e&&(t=JSON.parse(e.content),!1===t.enable))return!1}catch(t){throw t instanceof c&&"EACCES"===t.code?u.customer_logger.log(l.UserErrorLogs.ConfigInaccessible(t.path)):e&&u.customer_logger.log(l.UserErrorLogs.JSONErrorInUserConfig(e.source,t instanceof Error?t.message:void 0)),t}return"true"===process.env.HUD_ENABLE||!0===t?.enable};class c extends Error{path;code;constructor(e,t){super(),this.path=e,this.code=t}}function d(){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 s.existsSync(e)?e:void 0;let t=__dirname,r=0;for(;"/"!==t&&r<10;){const e=`${t}/hud.config`;if(s.existsSync(e))return e;t=a.dirname(t),r++}}catch(e){return}}();if(e)try{return{content:s.readFileSync(e,"utf8"),source:e}}catch(t){throw new c(e,t.code)}}t.HudFailedReadConfigError=c,t.getConfigContent=d},2908:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.suppressTraces=void 0;const o=r(1012),n=r(3073),i=r(8066);let s,a;try{const e=(0,i.myRequire)("@opentelemetry/api"),t=(0,i.myRequire)("@opentelemetry/core");s=e.context,a=t.suppressTracing,n.app_logger.info("OpenTelemetry exists",{suppressConfig:o.hudConfig.suppressTraces})}catch(e){n.app_logger.info("OpenTelemetry api/core does not exist")}t.suppressTraces=function(e){return function(...t){return o.hudConfig.suppressTraces&&s&&a?(n.app_logger.debug("Running with Suppressed traces"),s.with(a(s.active()),()=>e(...t))):e(...t)}}},2987:e=>{e.exports=require("perf_hooks")},3073:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.worker_logger=t.instrument_logger=t.app_logger=t.customer_logger=t.formatLogMessage=t.SafeLogger=t.renewFileTransports=t.getSavedLogs=t.getLogPath=t.WorkerPortTransport=void 0;const a=i(r(6982)),l=i(r(9896)),u=i(r(857)),c=i(r(6928)),d=i(r(5124)),p=s(r(1620)),m=r(9100),f={...process.env.HUD_DEBUG?m.hudConfig.logger.debug:m.hudConfig.logger.default,console:!!process.env.HUD_VERBOSE};class g extends p.default{_messeagesToSend=[];messagesLimit=m.hudConfig.loggerWorkerPortSizeLimit;messageDropCount=0;getMessagesToSend(){if(!this._messeagesToSend.length)return!1;const e=this._messeagesToSend;this.clearMessagesToSend();const t=this.messageDropCount;return this.messageDropCount=0,{logsBuf:this.formatMessagesToSend(e),messageDropCount:t}}clearMessagesToSend(){this._messeagesToSend=[]}formatMessagesToSend(e){return e.map(e=>JSON.stringify(e)).join("\n")}log(e,t){this._messeagesToSend.length>=this.messagesLimit?this.messageDropCount++:this._messeagesToSend.push(e),t()}}t.WorkerPortTransport=g;const y=d.format.combine(d.format.timestamp({format:"HH:mm:ss.SSS"}),d.format.printf(({level:e,message:t,timestamp:r,label:o,...n})=>{try{const i=Object.keys(n).length;let s;if(i)if(1===i){const e=Object.keys(n)[0];s=`${t} ${e}: ${JSON.stringify(n[e],null,2)}`}else s=`${t}\n${JSON.stringify(n,null,2)}`;else s=t;const a=d.format.colorize().colorize(e,e.toUpperCase());return`[${r}]${(o?`(${o})`:"").padEnd(8," ")} ${a}: ${s}`}catch(e){return t}}));function h(e){return d.format.combine(d.format.label({label:e}),d.format.timestamp({format:()=>(new Date).toISOString()}),d.format.json())}function v(e){return{filename:E(),level:f.levels[e],format:h(e),lazy:!1}}function _(){if(m.hudConfig.logDirectory)return m.hudConfig.logDirectory;const e=u.homedir();switch(u.platform()){case"darwin":return c.join(e,"Library","Logs","hud");case"win32":return c.join(e,"AppData","hud","Logs");default:return c.join(e,".hud","logs")}}let b;function E(){return b??=c.join(_(),`${a.randomUUID()}.log`)}t.getLogPath=E,t.getSavedLogs=function(){const e=[];for(const[t,r]of Object.entries(S))for(const t of r.transports)try{if(t instanceof g){const o=t.getMessagesToSend();if(!o)continue;const{logsBuf:n,messageDropCount:i}=o;i&&r.info(`Dropped ${i} messages`),e.push(n)}}catch(e){r.error("Failed to get saved logs",e)}return e},t.renewFileTransports=function(){const e=new Date,t=new Set;for(const[r,o]of Object.entries(S)){const r=[],n=[];for(const i of o.transports)if(i instanceof d.transports.File){r.push(i),n.push(new d.transports.File({level:i.level,format:i.format,filename:c.join(i.dirname,i.filename),lazy:!1}));const o=c.join(_(),`${a.randomUUID()}-${e.toISOString().replaceAll(":","")}.log`);l.existsSync(c.join(i.dirname,i.filename))&&(l.renameSync(c.join(i.dirname,i.filename),o),t.add(o))}for(const e of r)o.remove(e),e.close&&e.close();for(const e of n)o.add(e)}return t};const S={};class C{name;logger;constructor(e){this.name=e;try{this.logger=function(e){const t=[];f.console&&t.push(new d.transports.Console({format:d.format.combine(d.format.label({label:e}),y)}));let r=!1;if(!m.hudConfig.fileless)try{t.push(function(e){const t=v(e),r=c.dirname(t.filename);return l.mkdirSync(r,{recursive:!0}),l.writeFileSync(t.filename,"",{flag:"w"}),new d.transports.File(t)}(e))}catch{r=!0}(m.hudConfig.fileless||r)&&t.push(function(e){const t=h(e);return new g({format:t})}(e));const o=d.createLogger({level:f.levels[e],transports:t});return S[e]=o,r&&o.info("Could not create file transport, fallback succesfully to worker port"),m.hudConfig.fileless&&o.info("Fileless mode is enabled"),o}(e)}catch(e){this.logger=void 0}}isValid(){return!!this.logger}log(e,t,...r){if(this.logger)try{this.logger.log(e,t,...r)}catch{}}error(e,...t){this.log("error",e,...t)}warn(e,...t){this.log("warn",e,...t)}info(e,...t){this.log("info",e,...t)}http(e,...t){this.log("http",e,...t)}verbose(e,...t){this.log("verbose",e,...t)}debug(e,...t){this.log("debug",e,...t)}silly(e,...t){this.log("silly",e,...t)}}function w(e,t,r){let o=`Hud: ${e}`;return r&&(o+=" For more information visit https://docs.hud.io/docs/node-sdk-ie."),void 0!==t&&(o+=` ${t}`),o}t.SafeLogger=C,t.formatLogMessage=w,t.customer_logger=d.createLogger({level:m.hudConfig.customerLoggerLevel,transports:[new d.transports.Console({})],format:d.format.printf(({message:e,errCode:t,moreInfo:r})=>{try{return w(e,t,r)}catch(t){return e}})}),t.app_logger=new C("app"),t.instrument_logger=new C("instrument"),t.worker_logger=new C("worker")},3176:e=>{e.exports=require("buffer-crc32")},3312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=void 0,t.SDK_VERSION="1.6.9"},3431:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.unrefSetInterval=t.unrefSetTimeout=t.unrefSetImmediate=void 0;const s=i(r(6460));t.unrefSetImmediate=function(e,t){return s.setImmediate(e,{...t,ref:!1})},t.unrefSetTimeout=function(e,t,r){return s.setTimeout(e,t,{...r,ref:!1})},t.unrefSetInterval=function(e,t,r){return s.setInterval(e,t,{...r,ref:!1})}},3699:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.shouldRunHud=t.isSupportedNative=t.isDebuggerAttached=void 0;const s=i(r(6592)),a=r(5919),l=r(1012),u=r(8138),c=r(4715),d=r(2794),p=r(3073);function m(){if("true"===process.env.HUD_ALLOW_DEBUGGER)return!1;if(process.execArgv.some(e=>e.includes("--inspect")||e.includes("--debug")||e.includes("--inspect-brk")||e.includes("--debug-brk")))return!0;try{return"string"==typeof s.url()}catch(e){return!1}}function f(){return void 0!==r(2784).transform}t.isDebuggerAttached=m,t.isSupportedNative=f,t.shouldRunHud=function(){return"false"===process.env.HUD_ENABLE?{shouldRun:!1,error:u.UserErrorLogs.HudEnableIsFalse()}:a.isMainThread?(0,d.isHudEnabled)()?process.versions.bun?{shouldRun:!1,error:u.UserErrorLogs.RunningInBun()}:function(){const e=process.versions.node.split(".")[0];return!!l.hudConfig.supportedNodeVersions.includes(e)}()?process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE&&!function(){try{return"1"===process.env.HUD_INTERNAL_EXEC_WRAPPER_USED}catch(e){return!1}}()?{shouldRun:!1,error:u.UserErrorLogs.LambdaNotViaLayer()}:m()?{shouldRun:!1,error:u.UserErrorLogs.DebuggerAttached()}:function(){const e=(0,c.getMemoryLimitInfo)();return!!(0,c.isMemoryLimitBigEnough)(e)}()?f()?{shouldRun:!0}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNativeBuild()}:{shouldRun:!1,error:u.UserErrorLogs.PodMemoryLimitTooLow(l.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNodeVersion()}:{shouldRun:!1,error:u.UserErrorLogs.HudEnableNotSet(process.env.HUD_ENABLE)}:(p.app_logger.info("required not from main thread"),{shouldRun:!1,error:null})}},3903:e=>{e.exports=require("uuid")},4219:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.safeCall=void 0;const o=r(8138);t.safeCall=function(e,t){return t.catch(t=>{(0,o.isAbortError)(t)||e.error("Unhandled exception on async task",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})})}},4451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.combineSourceMaps=t.shouldSupportSourceMap=void 0;const o=r(1012),n=r(3073);t.shouldSupportSourceMap=function(){return!!o.hudConfig.supportSourceMap&&(process.execArgv.includes("--enable-source-maps")&&n.instrument_logger.warn("--enable-source-maps is set, enabling custom source-map-support anyway"),!0)},t.combineSourceMaps=function(e,t){if(0===e.length)return;if(1===e.length&&void 0===e[0].lineOffset)return e[0].map;const r=e.map(e=>({offset:{line:e.transformedLineOffset,column:e.transformedColumnOffset},map:{..."string"==typeof e.map?JSON.parse(e.map):e.map,file:t}})),o={version:3,file:t,sections:r};return JSON.stringify(o)}},4627:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateDynamicConfig=void 0;const o=r(9100);function n(e,t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r={...e};for(const o in t){const i=e[o],s=t[o];r[o]=n(i,s)}return r}t.updateDynamicConfig=function(e,t,r){const i=o.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!i.success)return r.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:i,remoteConfig:e}),t.dynamicConfig;const s=n(t.dynamicConfig,i.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==t.dynamicConfig.enableInvestigation&&(r.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),t.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),s}},4634:e=>{e.exports=require("source-map")},4715:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMemoryLimitBigEnough=t.getMemoryLimitInfo=void 0;const o=r(1012),n=r(3073),i=r(5290);t.getMemoryLimitInfo=function(){const e=(0,i.getPodMemoryLimit)(n.app_logger);return n.app_logger.info(`Pod memory limit: ${null===e.podMemoryLimitMB?"unknown":e.podMemoryLimitMB+"MB"} from ${e.source}, minimum required: ${o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER}MB`),e},t.isMemoryLimitBigEnough=function(e){return null===e.podMemoryLimitMB||e.podMemoryLimitMB>=(o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}},5124:e=>{e.exports=require("winston")},5290:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getPodMemoryLimit=void 0;const n=r(9896),i=o(r(857));let s=null;function a(e,t){const r=parseInt(e);if(isNaN(r))return null;const o=Math.floor(r/1048576);return o<=0||o>=131072?(t.debug(`Treating memory value (${e} bytes) as unlimited.`),null):o}function l(e,t,r){if(!e)return{podMemoryLimitMB:null,source:null};const o=a(e,r);return null!==o?{podMemoryLimitMB:o,source:t}:{podMemoryLimitMB:null,source:null}}function u(e){try{return(0,n.readFileSync)(e,"utf8")}catch{return null}}function c(){const e=i.default.totalmem();return{podMemoryLimitMB:Math.floor(e/1048576),source:"system-memory"}}t.getPodMemoryLimit=function(e){if(null!==s)return s;if("linux"!==i.default.platform())return s=c(),s;let t=function(e,t){for(const e of["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory.high"]){const r=u(e);if(!r)continue;const o=r.trim();if("max"===o){t.debug(`Found 'max' value in ${e}, will use system memory instead`);continue}const n=a(o,t);if(null!==n)return{podMemoryLimitMB:n,source:e}}return{podMemoryLimitMB:null,source:null}}(0,e);return null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=function(e,t){for(const e of["/sys/fs/cgroup/memory/memory.stat","/sys/fs/cgroup/memory/memory.limit_in_bytes"]){const r=u(e);if(r)if(e.endsWith("memory.stat")){const o=["hierarchical_memory_limit","memory.limit_in_bytes","limit_in_bytes"],n=r.split("\n");for(const r of o){const o=n.find(e=>e.startsWith(r));if(o){const n=l(o.split(" ")[1],`${e}:${r}`,t);if(null!==n.podMemoryLimitMB)return n}}}else{const o=l(r.trim(),e,t);if(null!==o.podMemoryLimitMB)return o}}return{podMemoryLimitMB:null,source:null}}(0,e),null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=c(),e.info(`No container memory limit found, using system memory: ${t.podMemoryLimitMB}MB`),s=t,t))}},5595:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterInfo=void 0;const s=i(r(6346)),a=r(8528),l=r(3073);function u(e,t=0){if(void 0!==e.loc&&null!==e.loc)return{line:e.loc.start.line,column:e.loc.start.column+t,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column+t}}function c(e){return s.types.isIdentifier(e.argument)?{name:e.argument.name,type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e,e.argument.name.length+3)}:(l.worker_logger.warn("Unsupported rest element",{type:e.argument.type}),{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e)})}function d(e){var t;if(e)switch(e?.type){case"Identifier":return{name:(t=e).name,type:a.ParameterTypes[t.type],sourcemap_location_hint:u(t,t.name.length)};case"AssignmentPattern":return function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),left:t,right:r}}(e,d(e.left),function(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"BigIntLiteral":case"DecimalLiteral":return{type:e.type,value:e.value};case"RegExpLiteral":return{type:e.type,value:e.pattern}}return{type:e.type}}(e.right));case"ArrayPattern":return function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),elements:t}}(e,e.elements.map(e=>d(e)).filter(e=>void 0!==e));case"RestElement":return c(e);case"ObjectPattern":{const t=[];return e.properties.forEach(e=>{if(s.types.isObjectProperty(e)){const r=s.types.isIdentifier(e.key)&&s.types.isIdentifier(e.value)||s.types.isAssignmentPattern(e.value)?void 0:d(e.key);t.push(function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),key:t,value:r}}(e,r,d(e.value)))}else s.types.isRestElement(e)&&t.push(c(e))}),function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),properties:t}}(e,t)}default:l.worker_logger.warn("Unsupported parameter type",{type:e.type})}}t.getParameterInfo=function(e,t){return e.node.params.map(e=>{try{return d(e)}catch(e){return}}).filter(e=>void 0!==e).map(e=>{let r;if(void 0!==e.sourcemap_location_hint){const{name:o,line:n,column:i}=t({line:e.sourcemap_location_hint.line,column:e.sourcemap_location_hint.column}),s={line_on_server:e.sourcemap_location_hint.line_on_server,column_on_server:e.sourcemap_location_hint.column_on_server};null===n||null===i?(l.worker_logger.debug("Could not find location for parameter",{type:e.type}),r={name:o??void 0,line:-1,column:-1,...s}):r={name:o??void 0,line:n,column:i,...s}}return{...e,name:r?.name??e.name,type:e.type,sourcemap_location_hint:r??e.sourcemap_location_hint}})}},5822:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopLogProcessPerformance=t.getCpuLimit=t.getCpuLimitUnsafe=t.loopLogThreadPerformance=void 0;const a=r(9896),l=s(r(857)),u=r(2987),c=i(r(1493)),d=r(2908),p=r(3431);function m(e){e.info("Trying to detect CPU limit");try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8"),r=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8");return e.info("CPU limit detected for cgroups v1",{cpuQuota:t,cpuPeriod:r}),"-1"===t?"unlimited":parseInt(t.toString())/parseInt(r.toString())}catch(t){try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu.max","utf8"),[r,o,n]=t.trim().split(" ");return e.info("CPU limit detected for cgroups v2",{max:r,period:o}),r&&o?"max"===r?"unlimited":parseInt(r)/parseInt(o):void e.info("cpu.max file is not in the expected format",t)}catch(r){return void e.info("Failed to detect CPU limit",{e:t,e2:r})}}}let f;t.loopLogThreadPerformance=async function(e,t,r){let o=u.performance.eventLoopUtilization(),n=u.performance.nodeTiming.toJSON();for await(const i of(0,p.unrefSetInterval)(t,void 0,{signal:r}))try{const t=u.performance.eventLoopUtilization(),r=u.performance.eventLoopUtilization(t,o);o=t;const i=c.getHeapStatistics(),s=u.performance.nodeTiming.toJSON(),a=s.idleTime-n.idleTime,l=s.duration-n.duration,d=a/l;n=s,e.info("thread performance statistics",{thread_elu_percentage:100*r.utilization,memory:{thread_heap_utilization_percentage:i.total_heap_size/i.heap_size_limit*100},idleTime:a,totalTime:l,idleTimePercentage:d})}catch(t){e.error("Failed logging thread performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}},t.getCpuLimitUnsafe=m;let g=!1;t.getCpuLimit=e=>(g||(f=(0,d.suppressTraces)(m)(e),g=!0),f),t.loopLogProcessPerformance=async function(e,r,o){const n=l.default.totalmem(),i=(0,t.getCpuLimit)(e);let s=process.cpuUsage();for await(const t of(0,p.unrefSetInterval)(r,void 0,{signal:o}))try{const t=process.memoryUsage(),o=process.uptime(),a=process.cpuUsage(),l={user:a.user-s.user,system:a.system-s.system};s=a;let u=(l.user+l.system)/(1e3*r);i&&"number"==typeof i&&(u/=i),e.info("process performance statistics",{memory:{process_memory_rss:t.rss,process_memory_utilization_percentage:t.rss/n*100},cpu:100*u,cpuStats:{limit:i,usagePercentage:100*u},uptime:o})}catch(t){e.error("Failed logging process performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}}},5919:e=>{e.exports=require("node:worker_threads")},6346:e=>{e.exports=require("@babel/core")},6460:e=>{e.exports=require("timers/promises")},6592:e=>{e.exports=require("node:inspector")},6760:e=>{e.exports=require("node:path")},6827:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseDeclarations=t.readFile=t.getRealPositionFunc=t.fixSourceMap=void 0;const a=i(r(6346)),l=r(8528),u=s(r(9896)),c=r(4634),d=r(1622),p=s(r(6760)),m=r(1012),f=r(8528),g=s(r(3176)),y=r(2784),h=r(3903),v=r(3073),_=r(8066),b=r(7064),E=r(5595),S=r(7087),C=r(1974),w=r(2298),I={babelrc:!1,configFile:!1};function M(e){let t;return t="string"==typeof e?JSON.parse(e):e,t.sources=t.sources.map(e=>e.replace(/^webpack:\/\/(?:@[^/]+?[/])?[^/]+\//,"")),t}function x(e,t,r){return o=>{const n=e?.originalPositionFor({line:o.line,column:o.column})??{line:o.line,column:o.column,source:null,name:null},i=null!==n.line?n.line+(t||0):null,s=null!==n.column?n.column+(1===n.line&&r||0):null;return{...n,line:i,column:s}}}let O;t.fixSourceMap=M,t.getRealPositionFunc=x,t.readFile=async function(e,t,r){try{if(t&&r){const o=Buffer.alloc(r-t),n=await u.default.promises.open(e,"r");return await n.read(o,0,r-t,t),await n.close(),o.toString("utf-8")}return await u.default.promises.readFile(e,"utf-8")}catch(t){return void v.worker_logger.error("Failed to read file",{filename:e,msg:t instanceof Error?t.message:t})}},t.parseDeclarations=async function(e,t,r=null,o){const{filename:n,bundlerBuildId:i,bundlerBuildIdGenerated:s,lineOffset:u,columnOffset:T,file_path_checksum:k,file_checksum:D,functionIds:F,sourceCodeHash:P,moduleBase:L}=e;if(v.worker_logger.debug("Parsing code",{filename:n}),o)try{if(!O){const e=(0,_.myRequire)("ts-node");O=e.create({...o,transpileOnly:!0,typeCheck:!1})}const e=function(e,t,r){try{return r.compile(e,t)}catch(e){return void v.worker_logger.warn("ts file pass, but failed to compile with ts-node",{filename:t,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(t,n,O);if(!e)return{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};t=e}catch(e){return v.worker_logger.error("Failed to require and compile ts file",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}}}else if(n.endsWith(".ts")||n.endsWith(".mts"))return v.worker_logger.error("ts file pass, but not found ts-options"),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};const H=(0,g.default)(t).readUInt32BE();if(H!==D)return v.worker_logger.warn("File checksum mismatch",{filename:n,file_path_checksum:k,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};const U=u?null:(0,y.getSourceMap)(n,t);let N,j;try{null!==U&&(j=(0,g.default)(U).readUInt32BE(),m.hudConfig.userConfig.disableSourceMapsResolution?.value||(N=JSON.parse(U)))}catch(e){v.worker_logger.error("Failed to parse source map",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const B=x(N?await new c.SourceMapConsumer(M(N)):void 0,u,T);v.worker_logger.debug("Parsing code",{filename:n});const A=[],R=await a.parseAsync(t,I);if(null===R)return v.worker_logger.warn("Failed parsing code to tree",{filename:n,file_path_checksum:k,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};v.worker_logger.debug("Parsed code to tree",{filename:n});const q=[{type:l.EntityType.Program,symbol:{sourcemap_location_hints:[]},context:{},childrenCount:{},siblingIndex:0}],$=new Set;v.worker_logger.debug("Traversing declarations",{filename:n}),r?.postMessage("eventlooptime"),a.traverse(R,{[w.NamespaceScopeAlias]:{enter(e){const{node:r}=e;if(!(0,w.isNamespaceScopeable)(r))return;const o=q[q.length-1];let i=(0,S.getScope)(e);if(!i)return;i=(0,C.resolveScopeSymbols)(B,i);const s=o.childrenCount[i.type]||0,a={...i,childrenCount:{},siblingIndex:s};if(o.childrenCount[i.type]=s+1,q.push(a),$.add(r),e.isFunction()){const r=function(e,t,r,o,n,i,s){try{const l=e;let u=e.node.body.loc?.start?.index;if(void 0===u)throw new Error("Function node has no block start location");if(void 0===e.node.start||null===e.node.start||void 0===e.node.end||null===e.node.end)throw new Error("Function node has no start or end location");"ArrowFunctionExpression"===l.node.type&&l.node.body.extra?.parenthesized&&l.node.body.extra?.parenStart&&Number.isInteger(l.node.body.extra.parenStart)&&(u=l.node.body.extra.parenStart);const c=function(e,t,r,o){const n=o.slice(0,r),i=`${e}_${t}_${Buffer.byteLength(n,"utf8")}`;return(0,h.v5)(i,m.hudConfig.functionUuidNamespace).toString()}(t,r,u-(n-1),i),y=(a=i.slice(e.node.start,e.node.end),(0,g.default)(a).readUInt32BE().toString());if(!y)return void v.worker_logger.warn("Function hash not found",{functionID:c,filename:r});const _=l.node.async||!1,S=(0,C.getNodeLocation)(l.node,s),w=S.start.source??r,I=(0,b.getEntityType)(l),M=(0,d.getMethodKind)(l.node),x=(0,d.getContextualData)(l);x.symbol&&(x.symbol=(0,C.resolveSymbol)(s,x.symbol)),x.callback?.callee.symbol&&(x.callback.callee.symbol=(0,C.resolveSymbol)(s,x.callback.callee.symbol));const O=(0,E.getParameterInfo)(l,s),{siblingIndex:T,childrenCount:k}=o[o.length-1],D=o.slice(0,-1),F=(0,d.getFunctionIdentifier)(l),P=(0,C.resolveSymbol)(s,{name:F?.name,sourcemap_location_hints:F?(0,C.getLocationList)(F,F.name):(0,C.getLocationList)(l.node,void 0),format:F?"%s":void 0});return{module:p.default.parse(w).name,symbol:P,context:x,file:w,type:I,format:f.Format.cjs,parameters:O,async:_,start_line:S.start.line,end_line:S.end.line,start_column:S.start.column,source_code_hash:y,runtime_function_id:c,scope_chain:D,declarations_count:0,methodKind:M,siblingIndex:T,childrenCount:k,original_location:{file:r,start_line:e.node.loc?.start?.line,end_line:e.node.loc?.end?.line,start_column:e.node.loc?.start?.column,end_column:e.node.loc?.end?.column}}}catch(e){v.worker_logger.error("Failed to handle function",{filename:r,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}var a}(e,P,n,q,L,t,B);r&&A.push(r)}},exit(e){$.has(e.node)&&(q.pop(),$.delete(e.node))}}}),v.worker_logger.debug("Traversed declarations",{filename:n});const K=new Set(A.map(e=>e.runtime_function_id)),z=[],W=[];A.forEach(e=>{K.has(e.runtime_function_id)?z.push({...e,declarations_count:A.length,bundler_build_id:i,was_bundler_build_id_generated:s,has_input_map:void 0!==N,sourcemap_crc:j,file_path_checksum:k,file_checksum:D}):W.push(e)}),W.length>0&&v.worker_logger.warn("Function IDs mismatch, missing instrumentation",{filename:n,runtimeFunctionIds:F,missingInstrumentation:W}),new Set(F).forEach(e=>{K.has(e)&&K.delete(e)});const V=K.size>0;return V&&v.worker_logger.error("Function IDs mismatch, missing declerations",{filename:n,missingRuntimeFunctionIds:[...K]}),{declarations:z,blacklist:V?{file_path_checksum:k,file_checksum:D,uuids:[...K]}:void 0}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7064:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getEntityIdentity=t.getEntityType=void 0;const o=r(6346),n=r(8528),i=r(3073);t.getEntityType=function(e){const{node:t}=e;return o.types.isFunctionDeclaration(t)?n.EntityType.FunctionDeclaration:o.types.isFunctionExpression(t)?n.EntityType.FunctionExpression:o.types.isArrowFunctionExpression(t)?n.EntityType.FunctionArrow:o.types.isObjectMethod(t)?n.EntityType.ObjectMethod:o.types.isStaticBlock(t)||o.types.isClassMethod(t)?n.EntityType.ClassMethod:o.types.isClassPrivateMethod(t)?n.EntityType.ClassPrivateMethod:o.types.isClassDeclaration(t)?n.EntityType.ClassDeclaration:o.types.isClassExpression(t)?n.EntityType.ClassExpression:o.types.isForInStatement(t)||o.types.isForOfStatement(t)||o.types.isForStatement(t)?n.EntityType.ForLoop:o.types.isBlockStatement(t)?function(e){const t=e.parentPath.node;if(!(o.types.isFunctionDeclaration(t)||o.types.isFunctionExpression(t)||o.types.isArrowFunctionExpression(t)||o.types.isClassMethod(t)||o.types.isObjectMethod(t)||o.types.isClassPrivateMethod(t)))if(o.types.isIfStatement(t)){if("consequent"===e.parentKey)return n.EntityType.IfConsequent;if("alternate"===e.parentKey)return n.EntityType.IfAlternate;if("test"===e.parentKey)return n.EntityType.IfTest}else{if(o.types.isBlockStatement(t)||o.types.isProgram(t))return n.EntityType.Block;if(o.types.isTryStatement(t)){if("block"===e.parentKey)return n.EntityType.Try;if("finalizer"===e.parentKey)return n.EntityType.Finally}else{if(o.types.isCatchClause(t))return;if(o.types.isWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(o.types.isDoWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(!(o.types.isForStatement(t)||o.types.isForInStatement(t)||o.types.isForOfStatement(t)))return;if("test"===e.parentKey)return n.EntityType.ForTest;if("body"===e.parentKey)return n.EntityType.ForBlock}}}(e):o.types.isProgram(t)?n.EntityType.Program:o.types.isDoWhileStatement(t)?n.EntityType.DoWhile:o.types.isWhileStatement(t)?n.EntityType.While:o.types.isCatchClause(t)?n.EntityType.Catch:o.types.isObjectExpression(t)?n.EntityType.ObjectExpression:o.types.isWithStatement(t)?n.EntityType.With:o.types.isSwitchStatement(t)?n.EntityType.Switch:o.types.isSwitchCase(t)?n.EntityType.SwitchCase:o.types.isTryStatement(t)?n.EntityType.TryCatch:o.types.isIfStatement(t)?n.EntityType.If:n.EntityType.Other},t.getEntityIdentity=function(e){return o.types.isFunctionDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Function declaration without an identifier"):o.types.isClassDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Class declaration without an identifier"):o.types.isFunctionExpression(e)||o.types.isClassExpression(e)?o.types.isIdentifier(e.id)?e.id:void 0:o.types.isClassMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Class method without an identifier"):o.types.isObjectMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Object method without an identifier"):o.types.isClassPrivateMethod(e)?o.types.isIdentifier(e.key.id)?e.key.id:void i.worker_logger.info("Class private method without an identifier"):void 0}},7087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getScope=void 0;const o=r(7064),n=r(1974),i=r(1622);t.getScope=function(e){const t=(0,o.getEntityType)(e);if(t){const r=(0,o.getEntityIdentity)(e.node),s=r?.name;return{type:t,context:(0,i.getContextualData)(e),symbol:{name:s,sourcemap_location_hints:r?(0,n.getLocationList)(r,s):(0,n.getLocationList)(e.node,void 0),format:r?"%s":void 0},methodKind:(0,i.getMethodKind)(e.node)}}}},7582:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nextLoopDummy=void 0;const r=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function o(e){return await fetch(`${r}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}t.nextLoopDummy=async function(e){for(;;)try{(await o(e)).ok||await new Promise(e=>setTimeout(e,50))}catch(e){await new Promise(e=>setTimeout(e,50))}}},8066:(e,t)=>{let r;Object.defineProperty(t,"__esModule",{value:!0}),t.myRequire=void 0;try{r=require}catch(e){r=void 0}t.myRequire=r},8138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getNetworkError=t.UserErrorLogs=t.setFirstError=t.getFirstError=t.isAbortError=t.HudNoMessageInSqsConsumerEmit=t.HudNoErrorInSqsConsumerEmit=t.HudNoEventTypeInSqsConsumerEmit=t.HudFailExtractSqsQueueName=t.HudNoCallbackInSqsConsumerOn=t.HudNoEventTypeInSqsConsumerOn=t.HudNoQueueUrlInSqsConsumer=t.HudSqsError=t.HudExtensionNextFailedError=t.HudExtensionRegisterError=t.HudExtnensionError=t.HudBadLoggerError=t.HudInitNetworkError=t.HudTsNodeNotFoundButUsed=t.HudSessionThrottle=t.HudNoTranspileOnlyError=t.HudClientExceededMaxRetries=t.HudClientUnauthorizedError=t.HudTimeoutError=t.HudWorkloadCollectorError=t.HudAssert=t.HudUnsupportedError=t.HudEditError=t.HudWorkerError=t.HudClientError=t.HudInitError=t.HudError=void 0;const o=r(1012);class n extends Error{code=9e3;name=this.constructor.name;constructor(e){super(e)}}t.HudError=n;class i extends n{code=9001}t.HudInitError=i,t.HudClientError=class extends n{code=9002;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudWorkerError=class extends n{code=9003};class s extends n{code=9004}t.HudEditError=s,t.HudUnsupportedError=class extends s{code=9005},t.HudAssert=class extends s{code=9006},t.HudWorkloadCollectorError=class extends n{code=9007},t.HudTimeoutError=class extends n{code=9008},t.HudClientUnauthorizedError=class extends n{code=9009},t.HudClientExceededMaxRetries=class extends n{code=9010},t.HudNoTranspileOnlyError=class extends n{code=9011},t.HudSessionThrottle=class extends i{code=9012},t.HudTsNodeNotFoundButUsed=class extends n{code=9013},t.HudInitNetworkError=class extends n{code=9014;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudBadLoggerError=class extends n{code=9101};class a extends n{code=9200}t.HudExtnensionError=a,t.HudExtensionRegisterError=class extends a{code=9201},t.HudExtensionNextFailedError=class extends a{code=9202};class l extends n{code=9250}t.HudSqsError=l,t.HudNoQueueUrlInSqsConsumer=class extends l{code=9251},t.HudNoEventTypeInSqsConsumerOn=class extends l{code=9252},t.HudNoCallbackInSqsConsumerOn=class extends l{code=9253},t.HudFailExtractSqsQueueName=class extends l{code=9254},t.HudNoEventTypeInSqsConsumerEmit=class extends l{code=9255},t.HudNoErrorInSqsConsumerEmit=class extends l{code=9256},t.HudNoMessageInSqsConsumerEmit=class extends l{code=9257},t.isAbortError=function(e){return e instanceof Error&&"AbortError"===e.name};let u=9999;t.getFirstError=function(){return u},t.setFirstError=function(e){e&&9999===u&&(u=e)},t.UserErrorLogs={HudServiceNotSet:()=>({level:"error",errCode:"E1001",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE was not set. Please set service name using the environment variable HUD_SERVICE."}),HudServiceInvalid:()=>({level:"error",errCode:"E1002",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE value has invalid service name. Please set service name using the environment variable HUD_SERVICE."}),HudApiKeyNotSet:()=>({level:"error",errCode:"E1004",moreInfo:!0,message:"Can't load Hud, HUD_KEY was not set. Please set API key using the environment variable HUD_KEY."}),HudApiKeyInvalid:()=>({level:"error",errCode:"E1005",moreInfo:!0,message:"Can't load Hud, HUD_KEY value has invalid API key. Please set a valid key in environment variable HUD_KEY."}),BothApiKeyAndServiceNotSet:()=>({level:"error",errCode:"E1007",moreInfo:!0,message:"Can't load Hud, HUD_KEY and HUD_SERVICE were not set. Please set API key using the environment variable HUD_KEY and service name using the environment variable HUD_SERVICE."}),InvalidTag:()=>({level:"warn",errCode:"E1008",moreInfo:!0,message:"HUD_TAGS should be of type Key-Value Object, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),TagWithDots:()=>({level:"warn",errCode:"E1009",moreInfo:!0,message:"HUD_TAGS keys can't contain dots; they have been replaced with underscores."}),TagsInvalidJson:()=>({level:"warn",errCode:"E1010",moreInfo:!0,message:"Can't load Hud, HUD_TAGS is not a valid JSON, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),ApiKeyDenied:e=>({level:"error",errCode:"E1011",moreInfo:!0,message:`Can't load Hud, the provided key is invalid. Please provide a valid HUD_KEY in your ${{ENV:"environment variable",CONFIG_FILE:"file",CONFIG_ENV:"HUD_CONFIG",INIT:"init function",SETUP:"setup function"}[e]}.`}),ShutdownGracefully:e=>({level:"error",errCode:`E${e}`,message:"SDK has initiated a graceful shutdown. Your application remains unaffected"}),UnsupportedNodeVersion:()=>({level:"error",errCode:"E1012",moreInfo:!0,message:"Can't load Hud due to an unsupported node version."}),UnsupportedSyntax:()=>({level:"error",errCode:"E1014",moreInfo:!0,message:"Can't load Hud due to an unsupported syntax version."}),UnsupportedLambdaMemory:()=>({level:"error",errCode:"E1015",moreInfo:!0,message:`Can't load Hud as lambda function memory size is less than ${o.hudConfig.lambdaMinimunMemory}MB.`}),JSONErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1016",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid JSON. Please set a valid json in Hud's config ${e}`+(t?`, Error: ${t}.`:".")}),ZodErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1017",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid value for field: ${t}. Please set a valid value for ${t} in the config ${e}.`}),ConfigInaccessible:e=>({level:"error",errCode:"E1018",moreInfo:!0,message:`Can't load Hud, the config file is inaccessible. Please make sure your node application has read permissions to the Hud config file, ${e}.`}),SetupCalledWithoutKey:()=>({level:"error",errCode:"E1019",moreInfo:!0,message:"API key not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),SetupCalledWithoutService:()=>({level:"error",errCode:"E1020",moreInfo:!0,message:"Service name parameter not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),HudEnableIsFalse:()=>({level:"warn",errCode:"E1021",moreInfo:!0,message:"HUD_ENABLE is set to false. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InstrumentedFunctionCountExceeded:e=>({level:"error",errCode:"E1022",moreInfo:!0,message:`SDK limit of ${e} instrumented functions exceeded. SDK has initiated a graceful shutdown. Your application remains unaffected.`}),PodMemoryLimitTooLow:e=>({level:"error",errCode:"E1023",moreInfo:!0,message:`Insufficient memory available. Minimum required:(${e}MB). SDK has initiated a graceful shutdown. Your application remains unaffected.`}),DebuggerAttached:()=>({level:"error",errCode:"E1024",message:"Did not load as debugger is attached."}),InitSessionBeforeRegister:()=>({level:"error",errCode:"E1025",moreInfo:!0,message:"register() was not called, or called after initSession() - please call register() before initSession() and run again. Your application continues normally without Hud."}),RegisterMisplacedNoDeclarations:()=>({level:"warn",errCode:"E1026",moreInfo:!0,message:"Warning - No code has been mapped so far. This probably means register() was called too late — after your code was already loaded. Move it to the top of your entry file to enable proper mapping. Your application continues normally without Hud data."}),UnsupportedFrameworkVersion:e=>({level:"warn",errCode:"E1029",message:`Warning - Unsupported version of ${e} framework(s). This means Hud won't track your framework invocations. Your application continues normally, but with partial Hud data. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node#/`}),UninstrumentedFilesLogThresholdExceeded:e=>({level:"warn",errCode:"E1027",message:`Warning - ${e} of your code files were imported before register(). This means Hud won't track all of your functions. Please move register() call to an earlier location. To view the list of files use register({verbose: true}). Your application continues normally, but with partial Hud data.`,moreInfo:!0}),UninstrumentedFrameworks:e=>({level:"warn",errCode:"E1028",message:`Warning - The framework(s): ${e.map(e=>`"${e}"`).join(", ")} was imported before register(). This means Hud won't track your framework invocations. Please move register() call to an earlier location. Your application continues normally, but with partial Hud data.`}),YesDeclarationsNoMetrics:()=>({level:"warn",errCode:"E1032",moreInfo:!0,message:"Warning - Code mapped successfully, but no function activity was tracked. Make sure your service is running and actively handling requests."}),HudEnableNotSet:e=>({level:"error",moreInfo:!0,message:`Did not load as HUD_ENABLE is ${void 0===e?"undefined":"set to a non-true value"}. Please set HUD_ENABLE=true to run Hud.`}),LambdaNotViaLayer:()=>({level:"error",errCode:"E1034",message:"Can't load Hud, lambda support is currently in beta. Contact Hud to get early access."}),RunningInBun:()=>({level:"error",errCode:"E1035",message:"Hud does not support Bun yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),RunningOnWindows:()=>({level:"error",errCode:"E1036",message:"Hud does not support Windows yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),UnsupportedNativeBuild:()=>({level:"error",errCode:"E1037",message:"Hud does not support this platform yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),TsNodeNotTranspileOnly:()=>({level:"error",errCode:"E1038",message:"detected ts-node is used without the transpileOnly flag, which is not supported yet. SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),TsNodeNotFoundEvenThoughRunWithTsNode:()=>({level:"error",errCode:"E1039",message:"'ts-node' was detected but could not be resolved by Hud. This may happen if 'ts-node' is installed globally. Try installing it locally in your project. The SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),InitFailedDueGenericNetworkError:()=>({level:"error",moreInfo:!0,errCode:"E1040",message:"A network error occurred during SDK initialization. Please check your internet connection and try again. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkTimeout:()=>({level:"error",moreInfo:!0,errCode:"E1041",message:"The SDK failed to connect to Hud's backend due to a timeout during SDK initialization. Please verify your firewall settings to ensure outbound connections are allowed. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkRST:()=>({level:"error",moreInfo:!0,errCode:"E1042",message:"The SDK connection to Hud's backend was reset unexpectedly (RST) during SDK initialization. Please check your firewall or network security settings. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueSelfSignedCert:()=>({level:"error",moreInfo:!0,errCode:"E1043",message:"SSL certificate verification failed during SDK initialization. If your organization uses a self-signed certificate, set the NODE_EXTRA_CA_CERTS environment variable to the path of your CA certificate file. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueDnsFailed:()=>({level:"error",moreInfo:!0,errCode:"E1044",message:"The SDK failed to resolve DNS when attempting to connect to Hud's backend during SDK initialization. If the problem persists, please contact support. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueBackendError:()=>({level:"error",moreInfo:!0,errCode:"E1045",message:"Hud: The SDK was unable to complete initialization due to a temporary issue with Hud’s backend. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitTimeout:e=>({moreInfo:!0,level:"error",message:`SDK imported but not initialized. Please ensure to call '${e?"hud.initSession(KEY, SERVICE)":"hud.init()"}' to initialize the SDK.`}),RehookCalledBeforeRegister:()=>({level:"error",errCode:"E1046",moreInfo:!0,message:"register() was not called, or called after rehook() - please call register() before rehook() and run again. Your application continues normally with partial hud data."}),EsbuildMissingKey:()=>({level:"error",errCode:"ES0001",moreInfo:!0,message:"missing HUD_KEY, skipping Hud plugin, your build is unaffected."}),EsbuildFailedProcessingFile:e=>({level:"error",errCode:"ES0002",moreInfo:!0,message:`failed processing file "${e}", reverting to original loader.`}),EsbuildFailedBundling:()=>({level:"error",errCode:"ES0003",moreInfo:!0,message:"encountered unexpected file bundling, build aborted."}),EsbuildFailedParsingSourcemap:()=>({level:"error",errCode:"ES0004",moreInfo:!0,message:"failed parsing source maps, skipping upload, Hud will run without source maps."}),EsbuildFailedUploadingSourcemap:e=>({level:"error",errCode:"ES0005",moreInfo:!0,message:`failed uploading source map: ${e}, Hud will run without source maps.`}),EsbuildFailedUploadingSourcemapUnauthorized:()=>({level:"error",errCode:"ES0006",moreInfo:!0,message:"failed uploading source map: unauthorized, Hud will run without source maps."}),EsbuildUnsupportedPlatform:()=>({level:"error",errCode:"ES0007",message:'Can\'t load Hud, as our esbuild plugin supports "node" mode only. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix'}),EsbuildUnsupportedWindows:()=>({level:"error",errCode:"ES0008",message:"Can't load Hud, as our esbuild plugin does not supports windows. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix"})},t.getNetworkError=function(e){return{ECONNABORTED:t.UserErrorLogs.InitFailedDueNetworkTimeout(),ECONNREFUSED:t.UserErrorLogs.InitFailedDueNetworkRST(),ENOTFOUND:t.UserErrorLogs.InitFailedDueDnsFailed(),SELF_SIGNED_CERT_IN_CHAIN:t.UserErrorLogs.InitFailedDueSelfSignedCert(),ERR_BAD_RESPONSE:t.UserErrorLogs.InitFailedDueBackendError()}[e]??t.UserErrorLogs.InitFailedDueGenericNetworkError()}},8287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(6827),t)},8528:e=>{e.exports=require("./dto")},8808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSqsFlowId=t.generateKafkaFlowId=t.generateGraphqlFlowId=t.generateEndpointFlowId=void 0;const o=r(3903),n="fa79d8b7-069c-4bbf-9c00-34bfc8b3a5a6";t.generateEndpointFlowId=function(e,t){return(0,o.v5)(`${e.toString()}|${Array.from(t).sort().join(",")}`,n)},t.generateGraphqlFlowId=function(e,t){return(0,o.v5)(`${e}|${t}`,n)},t.generateKafkaFlowId=function(e,t,r){return(0,o.v5)(`${e.toString()}|${t}|${r}`,n)},t.generateSqsFlowId=function(e,t,r=""){const i=`${e}|${t}|${r}`;return(0,o.v5)(i,n)}},8809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_MODULE_NAME=void 0,t.SDK_MODULE_NAME="hud-sdk"},9023:e=>{e.exports=require("util")},9100:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.updateInvestigationRateLimitGlobals=t.hudConfig=t.isValidParam=t.getModulesToTraceFromEnv=t.HudDynamicConfigSchema=void 0;const n=o(r(6928)),i=r(1569);t.HudDynamicConfigSchema=i.z.object({aggregationInterval:i.z.number(),flowMetricInterval:i.z.number(),graphqlInterval:i.z.number(),aggregationFirstSendTimeout:i.z.number(),flowMetricFirstSendTimeout:i.z.number(),enableInvestigation:i.z.boolean(),investigationRateLimits:i.z.object({maxSameInvestigations:i.z.number().int().positive(),sameInvestigationTimeWindowMs:i.z.number().int().positive(),maxTotalInvestigations:i.z.number().int().positive(),totalInvestigationTimeWindowMs:i.z.number().int().positive(),maxUniqLogs:i.z.number().int().positive()}),machineMetricsInterval:i.z.number().int().positive(),blacklistParams:i.z.array(i.z.string()),censorshipRegexes:i.z.array(i.z.object({regex:i.z.string(),replacement:i.z.string()}))}),t.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};const s=process.env.HUD_ENABLE_INVESTIGATION,a=process.env.HUD_HOST||"https://api-prod.hud.io",l=process.env.HUD_LOG_DIR,u="_HUD",c=process.env.HUD_LOG_TO_FILE,d={sink:{url:a,timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store"},logger:{default:{levels:{app:"warn",worker:"warn",instrument:"warn"}},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"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:l,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:18e5,endpointsFirstSendWaitTime:12e4,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:u,functionIdVarName:`${u}_fid`,frameworksToPatch:new Map([["express",{version:"<=5",patcher:"express",enableEsbuild:!0}],[n.default.join("express","lib","application.js"),{version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{version:"^2.0.0",patcher:"koa"}],["graphql/execution/execute",{version:"14 - 16",patcher:"graphql"}],["http",{version:"*",patcher:"http"}],["https",{version:"*",patcher:"http"}],["@nestjs/core/interceptors/interceptors-consumer",{version:"*",patcher:"nestjsInterceptor"}],["@nestjs/core/router/router-execution-context",{version:"*",patcher:"nestjsRouterExecutionContext"}],..."win32"!==process.platform?[["kafkajs",{version:">=1.4.0",patcher:"kafkajs"}],["@nestjs/microservices/context/rpc-context-creator",{version:">=7.0.0",patcher:"nestjsRpcContextCreator"}]]:[],[["@codegenie/serverless-express","src","frameworks","express.js"].join(n.default.sep),{version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{enableEsbuild:!0}],["sqs-consumer",{version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{enableEsbuild:!0}],[n.default.join("serverless-http","lib","framework","get-framework.js"),{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,flowMetricInterval:3e5,graphqlInterval:3e4,aggregationFirstSendTimeout:3e4,flowMetricFirstSendTimeout:3e4,enableInvestigation:"true"===s,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,blacklistParams:[],censorshipRegexes:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==s,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,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/",fileless:"true"!==c,uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"]};t.hudConfig=function(e={}){return{...d,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),t.default=t.hudConfig,t.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)}},9896:e=>{e.exports=require("fs")}},t={};return function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}(2241)})());
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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={363:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateUserConfigFromInitOptions=t.updateUserConfigFromEnv=t.updateUserConfigFromFile=t.updateUserConfigFromInit=void 0;const o=r(8528),n=r(1569),i=r(8138),s=r(2794),a=r(3073),l=r(9100),u=o.HudInitOptionsSchema.omit({customOptions:!0}).extend({key:n.z.string().optional(),service:n.z.string().optional(),enable:n.z.boolean().optional(),enableDapulse:n.z.boolean().optional()});t.updateUserConfigFromInit=function(e,t){void 0!==e&&(l.hudConfig.userConfig.key={value:e,source:"INIT"}),void 0!==t&&(l.hudConfig.userConfig.service={value:t,source:"INIT"})},t.updateUserConfigFromFile=function(){let e;try{e=(0,s.getConfigContent)()}catch(e){throw e instanceof s.HudFailedReadConfigError&&"EACCES"===e.code&&a.customer_logger.log(i.UserErrorLogs.ConfigInaccessible(e.path)),e}if(e)try{const t=u.partial().parse(JSON.parse(e.content));Object.entries(t).forEach(([t,r])=>{!function(e,t,r){e[t]=r}(l.hudConfig.userConfig,t,{value:r,source:"HUD_CONFIG"===e.source?"CONFIG_ENV":"CONFIG_FILE"})})}catch(t){throw t instanceof n.ZodError?t.errors.forEach(t=>{const r=t.path.join(".");a.customer_logger.log(i.UserErrorLogs.ZodErrorInUserConfig(e.source,r))}):a.customer_logger.log(i.UserErrorLogs.JSONErrorInUserConfig(e.source,t.message)),t}},t.updateUserConfigFromEnv=function(){const e=process.env.HUD_KEY,t=process.env.HUD_SERVICE,r=process.env.HUD_ENABLE_DAPULSE,o=(0,l.getModulesToTraceFromEnv)(),n=process.env.HUD_MAX_INSTRUMENTED_FUNCTIONS,i=process.env.HUD_MIN_POD_MEMORY_MB;e&&(l.hudConfig.userConfig.key={value:e,source:"ENV"}),t&&(l.hudConfig.userConfig.service={value:t,source:"ENV"}),r&&(l.hudConfig.userConfig.enableDapulse={value:"true"===r,source:"ENV"}),o&&(l.hudConfig.userConfig.includeModules={value:o,source:"ENV"}),n&&(l.hudConfig.userConfig.maxMappedFunctions={value:parseInt(n),source:"ENV"}),i&&(l.hudConfig.userConfig.minPodMemoryMB={value:parseInt(i),source:"ENV"})},t.updateUserConfigFromInitOptions=function(e,t){e.includeModules&&Array.isArray(e.includeModules)&&(l.hudConfig.userConfig.includeModules={value:e.includeModules,source:t}),e.customOptions&&e.customOptions.dapulseSqsConsumer&&(l.hudConfig.userConfig.enableDapulse={value:"true"===e.customOptions.dapulseSqsConsumer,source:t}),e.maxMappedFunctions&&"number"==typeof e.maxMappedFunctions&&(l.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:t}),e.minPodMemoryMB&&"number"==typeof e.minPodMemoryMB&&(l.hudConfig.userConfig.minPodMemoryMB={value:e.minPodMemoryMB,source:t}),e.maxFileSizeBytes&&"number"==typeof e.maxFileSizeBytes&&(l.hudConfig.userConfig.maxFileSizeBytes={value:e.maxFileSizeBytes,source:t}),e.maxTimeUntilInitSessionMs&&"number"==typeof e.maxTimeUntilInitSessionMs&&(l.hudConfig.userConfig.maxTimeUntilInitSessionMs={value:e.maxTimeUntilInitSessionMs,source:t})}},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UserLogs=void 0,t.UserLogs={HudInitSuccess:()=>({level:"info",message:"Session started"}),FirstDecalarationSent:()=>({level:"info",message:"First code mapping sent successfully"}),FirstInvocationSent:()=>({level:"info",message:"First invocation sent successfully"}),HappyFlowCompleted:()=>({level:"info",message:"Your service is sending data successfully"}),FilesLoadedBeforeRegister:()=>({level:"info",message:"Files loaded before register():"}),FileBeforeRegisterTemplate:(e,t)=>({level:"info",message:`${e}. ${t}`}),InitIdleMode:()=>({level:"info",message:"Initialized successfully in idle mode."})}},857:e=>{e.exports=require("os")},1012:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=t.SDK_MODULE_NAME=void 0,n(r(9100),t),n(r(4627),t);var i=r(8809);Object.defineProperty(t,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return i.SDK_MODULE_NAME}}),n(r(2684),t),n(r(363),t);var s=r(3312);Object.defineProperty(t,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},1493:e=>{e.exports=require("v8")},1569:e=>{e.exports=require("zod")},1620:e=>{e.exports=require("winston-transport")},1622:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getMethodKind=t.getContextualData=t.getContextSymbol=t.getFunctionIdentifier=void 0;const s=i(r(6346)),a=r(6346),l=r(8528),u=r(8138),c=r(3073),d=r(2213),p=r(1974);function m(e,t){return{name:t,sourcemap_location_hints:(0,p.getLocationList)(e,t),format:"%s"}}function f(e){if(a.types.isIdentifier(e))return{name:e.name,sourcemap_location_hints:e.loc?[{name:e.name,line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column}]:[],format:"%s"};if(a.types.isMemberExpression(e)||a.types.isOptionalMemberExpression(e)){let t;t=a.types.isThisExpression(e.object)?{name:"this",sourcemap_location_hints:(0,p.getLocationList)(e.object,"this")}:f(e.object);const r=f(e.property),o=e.computed?t.name+"["+r.name+"]":t.name+"."+r.name,n=t.format??"%s",i=r.format??"%s",s=e.computed?`${n}[${i}]`:`${n}.${i}`;return{name:o,sourcemap_location_hints:[...t.sourcemap_location_hints,...r.sourcemap_location_hints],format:s}}if(a.types.isOptionalCallExpression(e)||a.types.isCallExpression(e))return f(e.callee);if(a.types.isSequenceExpression(e))return(0,d.isHudAwaitSequence)(e)?f((0,d.getHudAwaitSequenceElement)(e)):f(e.expressions[e.expressions.length-1]);if(a.types.isArrayExpression(e))return{name:"[]",sourcemap_location_hints:(0,p.getLocationList)(e,"[]"),format:"%s"};if(a.types.isObjectExpression(e))return{name:"{}",sourcemap_location_hints:(0,p.getLocationList)(e,"{}"),format:"%s"};if(a.types.isStringLiteral(e))return{name:`"${e.value}"`,sourcemap_location_hints:(0,p.getLocationList)(e,e.value),format:'"%s"'};throw new u.HudUnsupportedError("Unsupported left side of assignment - "+e.type+"loc - "+JSON.stringify(e.loc))}function g(e){const{node:t}=e;if(e.isExpression())try{return function(e){const{parent:t}=e;if(a.types.isVariableDeclarator(t)&&a.types.isIdentifier(t.id))return m(t,t.id.name);if(a.types.isObjectProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isClassProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isAssignmentExpression(t))return f(t.left);if(a.types.isAssignmentPattern(t))return f(t.left);throw new u.HudUnsupportedError(`Unsupported parent type - ${t.type} for me ${e.node.type}`)}(e)}catch(e){if(e instanceof u.HudUnsupportedError)return;throw e}c.worker_logger.debug("getContextSymbol; Unsupported node type",{type:t.type})}function y(e){const t=[];return e.arguments.forEach((e,r)=>{let o,n;a.types.isStringLiteral(e)?(o=l.ArgumentTypes.StringLiteral,n=e.value):a.types.isTemplateLiteral(e)?(o=l.ArgumentTypes.TemplateString,n=function(e){let t="";const r=e.quasis,o=e.expressions;for(let e=0;e<r.length;e++)t+=r[e].value.cooked,e<o.length&&(t+=`\${${h(o[e])}}`);return t=`\`${t}\``,t}(e)):a.types.isIdentifier(e)&&(o=l.ArgumentTypes.Identifier,n=e.name),o&&n&&t.push({index:r,type:o,value:n})}),t}function h(e){if(a.types.isIdentifier(e))return e.name;if(a.types.isStringLiteral(e))return e.value;if(a.types.isCallExpression(e)||a.types.isOptionalCallExpression(e)){const t=e;if(a.types.isIdentifier(t.callee))return t.callee.name;if(a.types.isMemberExpression(t.callee)||a.types.isOptionalMemberExpression(t.callee)){let e="";const r=t.callee;if(a.types.isThisExpression(r.object)?e+="this.":a.types.isIdentifier(r.object)&&(e+=`${r.object.name}.`),""!==e&&a.types.isIdentifier(r.property))return e+=`${r.property.name}`,e}}return""}t.getFunctionIdentifier=function(e){const{node:t}=e;if(a.types.isFunctionDeclaration(t)||a.types.isFunctionExpression(t)){if(a.types.isIdentifier(t.id))return t.id}else if(a.types.isClassMethod(t)){if(a.types.isIdentifier(t.key))return t.key}else if(a.types.isClassPrivateMethod(t)){if(a.types.isIdentifier(t.key.id))return t.key.id}else if(a.types.isObjectMethod(t)&&a.types.isIdentifier(t.key))return t.key},t.getContextSymbol=g,t.getContextualData=function(e){let t,r=!1;return(e.isFunctionExpression()||e.isArrowFunctionExpression())&&(t=function(e){const t=e.parentPath;if(t.isCallExpression())for(const[r,o]of t.node.arguments.entries())if(o===e.node){const e=t.node.callee;let o;try{o=f(e)}catch(t){if(!(t instanceof u.HudUnsupportedError))throw t;c.worker_logger.debug("could not get callee symbol recursively",{error:t,type:e.type})}const n=y(t.node);return{callee:{symbol:o,argsCount:t.node.arguments.length,args:n},index:r}}}(e),r=function(e){const t=e.parentPath;return!!t.isCallExpression()&&t.node.callee===e.node}(e)),{symbol:g(e),callback:t,immediatelyInvoked:r}},t.getMethodKind=function(e){if(s.types.isClassMethod(e)||s.types.isObjectMethod(e)||s.types.isClassPrivateMethod(e))return e.kind}},1974:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeLocation=t.resolveScopeSymbols=t.resolveSymbol=t.getLocationList=void 0;const n=o(r(9023)),i=r(3073);function s(e,t){let r=t.name;const o=t.sourcemap_location_hints.map(t=>{const r=e({line:t.line,column:t.column});if(null===r.line||null===r.column)return{name:t.name,line:-1,column:-1,line_on_server:t.line_on_server,column_on_server:t.column_on_server};let o=r.name??t.name??void 0;return o?.startsWith("#")&&(o=o.slice(1)),{name:o,line:r.line,column:r.column,line_on_server:t.line_on_server,column_on_server:t.column_on_server,resolved:!0}});return o.length>0&&o.every(e=>e.name)&&(t.format?Array.from(t.format.matchAll(/%s/g)).length!==o.length?i.worker_logger.warn("Format string does not match number of location hints",{format:t.format,locationHints:o}):r=n.default.format(t.format,...o.map(e=>e.name)):r=o.map(e=>e.name).join(".")),{name:r,sourcemap_location_hints:o}}t.getLocationList=function(e,t){return e.loc?[{line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column,name:t}]:[]},t.resolveSymbol=s,t.resolveScopeSymbols=function(e,t){const{context:r}=t,o=r.symbol?s(e,r.symbol):void 0,n=s(e,t.symbol);return{...t,context:{...r,symbol:o},symbol:n}},t.getNodeLocation=function(e,t,r=void 0){const o=e.loc?.start,n=e.loc?.end;if(!o||!n)return i.worker_logger.info("Node without location",{filename:r,type:e.type}),{start:{source:null,line:-1,column:-1},end:{source:null,line:-1,column:-1}};const s=t({line:o.line,column:o.column}),a=t({line:n.line,column:n.column});return null!==s.line&&null!==s.column&&null!==a.line&&null!==a.column||(i.worker_logger.debug("Could not find location for function",{filename:r,type:e.type,locStart:o,locEnd:n}),s.line=-1,s.column=-1,a.line=-1,a.column=-1),{start:{source:s.source,line:s.line,column:s.column},end:{source:a.source,line:a.line,column:a.column}}}},2213:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getHudAwaitSequenceElement=t.isHudAwaitSequence=void 0;const o=r(6346),n=r(1012),i=r(8138);t.isHudAwaitSequence=function(e){if(e.expressions.length<2)return!1;const t=e.expressions[e.expressions.length-1];return!!o.types.isIdentifier(t)&&!!t.name.startsWith(n.hudConfig.wrapVarPrefix)},t.getHudAwaitSequenceElement=function(e){const t=e.expressions[0];if(!o.types.isAssignmentExpression(t))throw new i.HudUnsupportedError("Expected assignment expression");const{left:r,right:s}=t;if(!o.types.isIdentifier(r)||!r.name.startsWith(n.hudConfig.wrapVarPrefix))throw new i.HudUnsupportedError("Expected identifier starting with "+n.hudConfig.wrapVarPrefix);return s}},2241:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(1012),t),n(r(8287),t),n(r(8138),t),n(r(8808),t),n(r(2794),t),n(r(7582),t),n(r(3073),t),n(r(5290),t),n(r(5822),t),n(r(3699),t),n(r(4219),t),n(r(4451),t),n(r(2908),t),n(r(2451),t),n(r(3431),t),n(r(669),t),n(r(8066),t)},2298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNamespaceScopeable=t.isHudScopeable=t.NamespaceScopeAlias=t.ScopableAlias=void 0;const o=r(6346);t.ScopableAlias="ArrowFunctionExpression|BlockStatement|CatchClause|ClassMethod|ClassPrivateMethod|DeclareModule|DoExpression|DoWhileStatement|ForInStatement|ForOfStatement|ForStatement|FunctionDeclaration|FunctionExpression|IfStatement|LabeledStatement|ObjectMethod|StaticBlock|SwitchCase|TSModuleBlock|TryStatement|WhileStatement|WithStatement|ClassDeclaration|ClassExpression|ObjectExpression|SwitchStatement",t.NamespaceScopeAlias="FunctionDeclaration|FunctionExpression|ArrowFunctionExpression|ObjectMethod|ClassMethod|ClassPrivateMethod|ClassDeclaration|ClassExpression|ObjectExpression",t.isHudScopeable=function(e){return o.types.isArrowFunctionExpression(e)||o.types.isBlockStatement(e)||o.types.isCatchClause(e)||o.types.isClassMethod(e)||o.types.isClassPrivateMethod(e)||o.types.isDeclareModule(e)||o.types.isDoExpression(e)||o.types.isDoWhileStatement(e)||o.types.isForInStatement(e)||o.types.isForOfStatement(e)||o.types.isForStatement(e)||o.types.isFunctionDeclaration(e)||o.types.isFunctionExpression(e)||o.types.isIfStatement(e)||o.types.isLabeledStatement(e)||o.types.isObjectMethod(e)||o.types.isProgram(e)||o.types.isStaticBlock(e)||o.types.isSwitchCase(e)||o.types.isTSModuleBlock(e)||o.types.isTryStatement(e)||o.types.isWhileStatement(e)||o.types.isWithStatement(e)||o.types.isClassDeclaration(e)||o.types.isClassExpression(e)||o.types.isObjectExpression(e)||o.types.isSwitchStatement(e)},t.isNamespaceScopeable=function(e){return o.types.isFunction(e)||o.types.isClass(e)||o.types.isObjectExpression(e)}},2451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUserTsNodeConfig=void 0;const o=r(8138),n=r(3073),i=r(8066);t.getUserTsNodeConfig=function(e=!0){const t=function(){try{const e=i.myRequire.resolve("ts-node");if(!e)return;if(!i.myRequire.cache[e])return;const t=(0,i.myRequire)("ts-node"),r=process[t.REGISTER_INSTANCE];if(!r)return;return r.options}catch(e){return}}();if(t){if(!t.transpileOnly)throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotTranspileOnly()),n.app_logger.warn("ts-node is used but not configured to transpile only"),new o.HudNoTranspileOnlyError;return{cwd:t.cwd,project:t.project,projectSearchDir:t.projectSearchDir}}if(process.argv[0].endsWith("ts-node"))throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotFoundEvenThoughRunWithTsNode()),n.app_logger.info("ts-node not found even run with ts-node"),new o.HudTsNodeNotFoundButUsed}},2684:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectStoreConfigSchema=void 0;const o=r(1569),n=o.z.object({type:o.z.literal("s3")}),i=o.z.object({type:o.z.literal("disk"),path:o.z.string()});t.ObjectStoreConfigSchema=o.z.union([n,i])},2784:e=>{e.exports=require("../native/_index")},2794:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfigContent=t.HudFailedReadConfigError=t.isHudEnabled=void 0;const s=i(r(9896)),a=i(r(6928)),l=r(8138),u=r(3073);t.isHudEnabled=function(){if("false"===process.env.HUD_ENABLE)return!1;if(globalThis.forceHudEnable)return!0;let e,t;try{if(e=d(),e&&(t=JSON.parse(e.content),!1===t.enable))return!1}catch(t){throw t instanceof c&&"EACCES"===t.code?u.customer_logger.log(l.UserErrorLogs.ConfigInaccessible(t.path)):e&&u.customer_logger.log(l.UserErrorLogs.JSONErrorInUserConfig(e.source,t instanceof Error?t.message:void 0)),t}return"true"===process.env.HUD_ENABLE||!0===t?.enable};class c extends Error{path;code;constructor(e,t){super(),this.path=e,this.code=t}}function d(){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 s.existsSync(e)?e:void 0;let t=__dirname,r=0;for(;"/"!==t&&r<10;){const e=`${t}/hud.config`;if(s.existsSync(e))return e;t=a.dirname(t),r++}}catch(e){return}}();if(e)try{return{content:s.readFileSync(e,"utf8"),source:e}}catch(t){throw new c(e,t.code)}}t.HudFailedReadConfigError=c,t.getConfigContent=d},2908:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.suppressTraces=void 0;const o=r(1012),n=r(3073),i=r(8066);let s,a;try{const e=(0,i.myRequire)("@opentelemetry/api"),t=(0,i.myRequire)("@opentelemetry/core");s=e.context,a=t.suppressTracing,n.app_logger.info("OpenTelemetry exists",{suppressConfig:o.hudConfig.suppressTraces})}catch(e){n.app_logger.info("OpenTelemetry api/core does not exist")}t.suppressTraces=function(e){return function(...t){return o.hudConfig.suppressTraces&&s&&a?(n.app_logger.debug("Running with Suppressed traces"),s.with(a(s.active()),()=>e(...t))):e(...t)}}},2987:e=>{e.exports=require("perf_hooks")},3073:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.worker_logger=t.instrument_logger=t.app_logger=t.customer_logger=t.formatLogMessage=t.SafeLogger=t.renewFileTransports=t.getSavedLogs=t.getLogPath=t.WorkerPortTransport=void 0;const a=i(r(6982)),l=i(r(9896)),u=i(r(857)),c=i(r(6928)),d=i(r(5124)),p=s(r(1620)),m=r(9100),f={...process.env.HUD_DEBUG?m.hudConfig.logger.debug:m.hudConfig.logger.default,console:!!process.env.HUD_VERBOSE};class g extends p.default{_messeagesToSend=[];messagesLimit=m.hudConfig.loggerWorkerPortSizeLimit;messageDropCount=0;getMessagesToSend(){if(!this._messeagesToSend.length)return!1;const e=this._messeagesToSend;this.clearMessagesToSend();const t=this.messageDropCount;return this.messageDropCount=0,{logsBuf:this.formatMessagesToSend(e),messageDropCount:t}}clearMessagesToSend(){this._messeagesToSend=[]}formatMessagesToSend(e){return e.map(e=>JSON.stringify(e)).join("\n")}log(e,t){this._messeagesToSend.length>=this.messagesLimit?this.messageDropCount++:this._messeagesToSend.push(e),t()}}t.WorkerPortTransport=g;const y=d.format.combine(d.format.timestamp({format:"HH:mm:ss.SSS"}),d.format.printf(({level:e,message:t,timestamp:r,label:o,...n})=>{try{const i=Object.keys(n).length;let s;if(i)if(1===i){const e=Object.keys(n)[0];s=`${t} ${e}: ${JSON.stringify(n[e],null,2)}`}else s=`${t}\n${JSON.stringify(n,null,2)}`;else s=t;const a=d.format.colorize().colorize(e,e.toUpperCase());return`[${r}]${(o?`(${o})`:"").padEnd(8," ")} ${a}: ${s}`}catch(e){return t}}));function h(e){return d.format.combine(d.format.label({label:e}),d.format.timestamp({format:()=>(new Date).toISOString()}),d.format.json())}function v(e){return{filename:E(),level:f.levels[e],format:h(e),lazy:!1}}function _(){if(m.hudConfig.logDirectory)return m.hudConfig.logDirectory;const e=u.homedir();switch(u.platform()){case"darwin":return c.join(e,"Library","Logs","hud");case"win32":return c.join(e,"AppData","hud","Logs");default:return c.join(e,".hud","logs")}}let b;function E(){return b??=c.join(_(),`${a.randomUUID()}.log`)}t.getLogPath=E,t.getSavedLogs=function(){const e=[];for(const[t,r]of Object.entries(S))for(const t of r.transports)try{if(t instanceof g){const o=t.getMessagesToSend();if(!o)continue;const{logsBuf:n,messageDropCount:i}=o;i&&r.info(`Dropped ${i} messages`),e.push(n)}}catch(e){r.error("Failed to get saved logs",e)}return e},t.renewFileTransports=function(){const e=new Date,t=new Set;for(const[r,o]of Object.entries(S)){const r=[],n=[];for(const i of o.transports)if(i instanceof d.transports.File){r.push(i),n.push(new d.transports.File({level:i.level,format:i.format,filename:c.join(i.dirname,i.filename),lazy:!1}));const o=c.join(_(),`${a.randomUUID()}-${e.toISOString().replaceAll(":","")}.log`);l.existsSync(c.join(i.dirname,i.filename))&&(l.renameSync(c.join(i.dirname,i.filename),o),t.add(o))}for(const e of r)o.remove(e),e.close&&e.close();for(const e of n)o.add(e)}return t};const S={};class C{name;logger;constructor(e){this.name=e;try{this.logger=function(e){const t=[];f.console&&t.push(new d.transports.Console({format:d.format.combine(d.format.label({label:e}),y)}));let r=!1;if(!m.hudConfig.fileless)try{t.push(function(e){const t=v(e),r=c.dirname(t.filename);return l.mkdirSync(r,{recursive:!0}),l.writeFileSync(t.filename,"",{flag:"w"}),new d.transports.File(t)}(e))}catch{r=!0}(m.hudConfig.fileless||r)&&t.push(function(e){const t=h(e);return new g({format:t})}(e));const o=d.createLogger({level:f.levels[e],transports:t});return S[e]=o,r&&o.info("Could not create file transport, fallback succesfully to worker port"),m.hudConfig.fileless&&o.info("Fileless mode is enabled"),o}(e)}catch(e){this.logger=void 0}}isValid(){return!!this.logger}log(e,t,...r){if(this.logger)try{this.logger.log(e,t,...r)}catch{}}error(e,...t){this.log("error",e,...t)}warn(e,...t){this.log("warn",e,...t)}info(e,...t){this.log("info",e,...t)}http(e,...t){this.log("http",e,...t)}verbose(e,...t){this.log("verbose",e,...t)}debug(e,...t){this.log("debug",e,...t)}silly(e,...t){this.log("silly",e,...t)}}function w(e,t,r){let o=`Hud: ${e}`;return r&&(o+=" For more information visit https://docs.hud.io/docs/node-sdk-ie."),void 0!==t&&(o+=` ${t}`),o}t.SafeLogger=C,t.formatLogMessage=w,t.customer_logger=d.createLogger({level:m.hudConfig.customerLoggerLevel,transports:[new d.transports.Console({})],format:d.format.printf(({message:e,errCode:t,moreInfo:r})=>{try{return w(e,t,r)}catch(t){return e}})}),t.app_logger=new C("app"),t.instrument_logger=new C("instrument"),t.worker_logger=new C("worker")},3176:e=>{e.exports=require("buffer-crc32")},3312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=void 0,t.SDK_VERSION="1.6.10"},3431:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.unrefSetInterval=t.unrefSetTimeout=t.unrefSetImmediate=void 0;const s=i(r(6460));t.unrefSetImmediate=function(e,t){return s.setImmediate(e,{...t,ref:!1})},t.unrefSetTimeout=function(e,t,r){return s.setTimeout(e,t,{...r,ref:!1})},t.unrefSetInterval=function(e,t,r){return s.setInterval(e,t,{...r,ref:!1})}},3699:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.shouldRunHud=t.isSupportedNative=t.isDebuggerAttached=void 0;const s=i(r(6592)),a=r(5919),l=r(1012),u=r(8138),c=r(4715),d=r(2794),p=r(3073);function m(){if("true"===process.env.HUD_ALLOW_DEBUGGER)return!1;if(process.execArgv.some(e=>e.includes("--inspect")||e.includes("--debug")||e.includes("--inspect-brk")||e.includes("--debug-brk")))return!0;try{return"string"==typeof s.url()}catch(e){return!1}}function f(){return void 0!==r(2784).transform}t.isDebuggerAttached=m,t.isSupportedNative=f,t.shouldRunHud=function(){return"false"===process.env.HUD_ENABLE?{shouldRun:!1,error:u.UserErrorLogs.HudEnableIsFalse()}:a.isMainThread?(0,d.isHudEnabled)()?process.versions.bun?{shouldRun:!1,error:u.UserErrorLogs.RunningInBun()}:function(){const e=process.versions.node.split(".")[0];return!!l.hudConfig.supportedNodeVersions.includes(e)}()?process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE&&!function(){try{return"1"===process.env.HUD_INTERNAL_EXEC_WRAPPER_USED}catch(e){return!1}}()?{shouldRun:!1,error:u.UserErrorLogs.LambdaNotViaLayer()}:m()?{shouldRun:!1,error:u.UserErrorLogs.DebuggerAttached()}:function(){const e=(0,c.getMemoryLimitInfo)();return!!(0,c.isMemoryLimitBigEnough)(e)}()?f()?{shouldRun:!0}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNativeBuild()}:{shouldRun:!1,error:u.UserErrorLogs.PodMemoryLimitTooLow(l.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNodeVersion()}:{shouldRun:!1,error:u.UserErrorLogs.HudEnableNotSet(process.env.HUD_ENABLE)}:(p.app_logger.info("required not from main thread"),{shouldRun:!1,error:null})}},3903:e=>{e.exports=require("uuid")},4219:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.safeCall=void 0;const o=r(8138);t.safeCall=function(e,t){return t.catch(t=>{(0,o.isAbortError)(t)||e.error("Unhandled exception on async task",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})})}},4451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.combineSourceMaps=t.shouldSupportSourceMap=void 0;const o=r(1012),n=r(3073);t.shouldSupportSourceMap=function(){return!!o.hudConfig.supportSourceMap&&(process.execArgv.includes("--enable-source-maps")&&n.instrument_logger.warn("--enable-source-maps is set, enabling custom source-map-support anyway"),!0)},t.combineSourceMaps=function(e,t){if(0===e.length)return;if(1===e.length&&void 0===e[0].lineOffset)return e[0].map;const r=e.map(e=>({offset:{line:e.transformedLineOffset,column:e.transformedColumnOffset},map:{..."string"==typeof e.map?JSON.parse(e.map):e.map,file:t}})),o={version:3,file:t,sections:r};return JSON.stringify(o)}},4627:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateDynamicConfig=void 0;const o=r(9100);function n(e,t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r={...e};for(const o in t){const i=e[o],s=t[o];r[o]=n(i,s)}return r}t.updateDynamicConfig=function(e,t,r){const i=o.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!i.success)return r.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:i,remoteConfig:e}),t.dynamicConfig;const s=n(t.dynamicConfig,i.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==t.dynamicConfig.enableInvestigation&&(r.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),t.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),s}},4634:e=>{e.exports=require("source-map")},4715:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMemoryLimitBigEnough=t.getMemoryLimitInfo=void 0;const o=r(1012),n=r(3073),i=r(5290);t.getMemoryLimitInfo=function(){const e=(0,i.getPodMemoryLimit)(n.app_logger);return n.app_logger.info(`Pod memory limit: ${null===e.podMemoryLimitMB?"unknown":e.podMemoryLimitMB+"MB"} from ${e.source}, minimum required: ${o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER}MB`),e},t.isMemoryLimitBigEnough=function(e){return null===e.podMemoryLimitMB||e.podMemoryLimitMB>=(o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}},5124:e=>{e.exports=require("winston")},5290:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getPodMemoryLimit=void 0;const n=r(9896),i=o(r(857));let s=null;function a(e,t){const r=parseInt(e);if(isNaN(r))return null;const o=Math.floor(r/1048576);return o<=0||o>=131072?(t.debug(`Treating memory value (${e} bytes) as unlimited.`),null):o}function l(e,t,r){if(!e)return{podMemoryLimitMB:null,source:null};const o=a(e,r);return null!==o?{podMemoryLimitMB:o,source:t}:{podMemoryLimitMB:null,source:null}}function u(e){try{return(0,n.readFileSync)(e,"utf8")}catch{return null}}function c(){const e=i.default.totalmem();return{podMemoryLimitMB:Math.floor(e/1048576),source:"system-memory"}}t.getPodMemoryLimit=function(e){if(null!==s)return s;if("linux"!==i.default.platform())return s=c(),s;let t=function(e,t){for(const e of["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory.high"]){const r=u(e);if(!r)continue;const o=r.trim();if("max"===o){t.debug(`Found 'max' value in ${e}, will use system memory instead`);continue}const n=a(o,t);if(null!==n)return{podMemoryLimitMB:n,source:e}}return{podMemoryLimitMB:null,source:null}}(0,e);return null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=function(e,t){for(const e of["/sys/fs/cgroup/memory/memory.stat","/sys/fs/cgroup/memory/memory.limit_in_bytes"]){const r=u(e);if(r)if(e.endsWith("memory.stat")){const o=["hierarchical_memory_limit","memory.limit_in_bytes","limit_in_bytes"],n=r.split("\n");for(const r of o){const o=n.find(e=>e.startsWith(r));if(o){const n=l(o.split(" ")[1],`${e}:${r}`,t);if(null!==n.podMemoryLimitMB)return n}}}else{const o=l(r.trim(),e,t);if(null!==o.podMemoryLimitMB)return o}}return{podMemoryLimitMB:null,source:null}}(0,e),null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=c(),e.info(`No container memory limit found, using system memory: ${t.podMemoryLimitMB}MB`),s=t,t))}},5595:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterInfo=void 0;const s=i(r(6346)),a=r(8528),l=r(3073);function u(e,t=0){if(void 0!==e.loc&&null!==e.loc)return{line:e.loc.start.line,column:e.loc.start.column+t,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column+t}}function c(e){return s.types.isIdentifier(e.argument)?{name:e.argument.name,type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e,e.argument.name.length+3)}:(l.worker_logger.warn("Unsupported rest element",{type:e.argument.type}),{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e)})}function d(e){var t;if(e)switch(e?.type){case"Identifier":return{name:(t=e).name,type:a.ParameterTypes[t.type],sourcemap_location_hint:u(t,t.name.length)};case"AssignmentPattern":return function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),left:t,right:r}}(e,d(e.left),function(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"BigIntLiteral":case"DecimalLiteral":return{type:e.type,value:e.value};case"RegExpLiteral":return{type:e.type,value:e.pattern}}return{type:e.type}}(e.right));case"ArrayPattern":return function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),elements:t}}(e,e.elements.map(e=>d(e)).filter(e=>void 0!==e));case"RestElement":return c(e);case"ObjectPattern":{const t=[];return e.properties.forEach(e=>{if(s.types.isObjectProperty(e)){const r=s.types.isIdentifier(e.key)&&s.types.isIdentifier(e.value)||s.types.isAssignmentPattern(e.value)?void 0:d(e.key);t.push(function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),key:t,value:r}}(e,r,d(e.value)))}else s.types.isRestElement(e)&&t.push(c(e))}),function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),properties:t}}(e,t)}default:l.worker_logger.warn("Unsupported parameter type",{type:e.type})}}t.getParameterInfo=function(e,t){return e.node.params.map(e=>{try{return d(e)}catch(e){return}}).filter(e=>void 0!==e).map(e=>{let r;if(void 0!==e.sourcemap_location_hint){const{name:o,line:n,column:i}=t({line:e.sourcemap_location_hint.line,column:e.sourcemap_location_hint.column}),s={line_on_server:e.sourcemap_location_hint.line_on_server,column_on_server:e.sourcemap_location_hint.column_on_server};null===n||null===i?(l.worker_logger.debug("Could not find location for parameter",{type:e.type}),r={name:o??void 0,line:-1,column:-1,...s}):r={name:o??void 0,line:n,column:i,...s}}return{...e,name:r?.name??e.name,type:e.type,sourcemap_location_hint:r??e.sourcemap_location_hint}})}},5822:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopLogProcessPerformance=t.getCpuLimit=t.getCpuLimitUnsafe=t.loopLogThreadPerformance=void 0;const a=r(9896),l=s(r(857)),u=r(2987),c=i(r(1493)),d=r(2908),p=r(3431);function m(e){e.info("Trying to detect CPU limit");try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8"),r=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8");return e.info("CPU limit detected for cgroups v1",{cpuQuota:t,cpuPeriod:r}),"-1"===t?"unlimited":parseInt(t.toString())/parseInt(r.toString())}catch(t){try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu.max","utf8"),[r,o,n]=t.trim().split(" ");return e.info("CPU limit detected for cgroups v2",{max:r,period:o}),r&&o?"max"===r?"unlimited":parseInt(r)/parseInt(o):void e.info("cpu.max file is not in the expected format",t)}catch(r){return void e.info("Failed to detect CPU limit",{e:t,e2:r})}}}let f;t.loopLogThreadPerformance=async function(e,t,r){let o=u.performance.eventLoopUtilization(),n=u.performance.nodeTiming.toJSON();for await(const i of(0,p.unrefSetInterval)(t,void 0,{signal:r}))try{const t=u.performance.eventLoopUtilization(),r=u.performance.eventLoopUtilization(t,o);o=t;const i=c.getHeapStatistics(),s=u.performance.nodeTiming.toJSON(),a=s.idleTime-n.idleTime,l=s.duration-n.duration,d=a/l;n=s,e.info("thread performance statistics",{thread_elu_percentage:100*r.utilization,memory:{thread_heap_utilization_percentage:i.total_heap_size/i.heap_size_limit*100},idleTime:a,totalTime:l,idleTimePercentage:d})}catch(t){e.error("Failed logging thread performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}},t.getCpuLimitUnsafe=m;let g=!1;t.getCpuLimit=e=>(g||(f=(0,d.suppressTraces)(m)(e),g=!0),f),t.loopLogProcessPerformance=async function(e,r,o){const n=l.default.totalmem(),i=(0,t.getCpuLimit)(e);let s=process.cpuUsage();for await(const t of(0,p.unrefSetInterval)(r,void 0,{signal:o}))try{const t=process.memoryUsage(),o=process.uptime(),a=process.cpuUsage(),l={user:a.user-s.user,system:a.system-s.system};s=a;let u=(l.user+l.system)/(1e3*r);i&&"number"==typeof i&&(u/=i),e.info("process performance statistics",{memory:{process_memory_rss:t.rss,process_memory_utilization_percentage:t.rss/n*100},cpu:100*u,cpuStats:{limit:i,usagePercentage:100*u},uptime:o})}catch(t){e.error("Failed logging process performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}}},5919:e=>{e.exports=require("node:worker_threads")},6346:e=>{e.exports=require("@babel/core")},6460:e=>{e.exports=require("timers/promises")},6592:e=>{e.exports=require("node:inspector")},6760:e=>{e.exports=require("node:path")},6827:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseDeclarations=t.readFile=t.getRealPositionFunc=t.fixSourceMap=void 0;const a=i(r(6346)),l=r(8528),u=s(r(9896)),c=r(4634),d=r(1622),p=s(r(6760)),m=r(1012),f=r(8528),g=s(r(3176)),y=r(2784),h=r(3903),v=r(3073),_=r(8066),b=r(7064),E=r(5595),S=r(7087),C=r(1974),w=r(2298),I={babelrc:!1,configFile:!1};function M(e){let t;return t="string"==typeof e?JSON.parse(e):e,t.sources=t.sources.map(e=>e.replace(/^webpack:\/\/(?:@[^/]+?[/])?[^/]+\//,"")),t}function x(e,t,r){return o=>{const n=e?.originalPositionFor({line:o.line,column:o.column})??{line:o.line,column:o.column,source:null,name:null},i=null!==n.line?n.line+(t||0):null,s=null!==n.column?n.column+(1===n.line&&r||0):null;return{...n,line:i,column:s}}}let O;t.fixSourceMap=M,t.getRealPositionFunc=x,t.readFile=async function(e,t,r){try{if(t&&r){const o=Buffer.alloc(r-t),n=await u.default.promises.open(e,"r");return await n.read(o,0,r-t,t),await n.close(),o.toString("utf-8")}return await u.default.promises.readFile(e,"utf-8")}catch(t){return void v.worker_logger.error("Failed to read file",{filename:e,msg:t instanceof Error?t.message:t})}},t.parseDeclarations=async function(e,t,r=null,o){const{filename:n,bundlerBuildId:i,bundlerBuildIdGenerated:s,lineOffset:u,columnOffset:T,file_path_checksum:k,file_checksum:D,functionIds:F,sourceCodeHash:P,moduleBase:L}=e;if(v.worker_logger.debug("Parsing code",{filename:n}),o)try{if(!O){const e=(0,_.myRequire)("ts-node");O=e.create({...o,transpileOnly:!0,typeCheck:!1})}const e=function(e,t,r){try{return r.compile(e,t)}catch(e){return void v.worker_logger.warn("ts file pass, but failed to compile with ts-node",{filename:t,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(t,n,O);if(!e)return{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};t=e}catch(e){return v.worker_logger.error("Failed to require and compile ts file",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}}}else if(n.endsWith(".ts")||n.endsWith(".mts"))return v.worker_logger.error("ts file pass, but not found ts-options"),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};const H=(0,g.default)(t).readUInt32BE();if(H!==D)return v.worker_logger.warn("File checksum mismatch",{filename:n,file_path_checksum:k,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};const U=u?null:(0,y.getSourceMap)(n,t);let N,j;try{null!==U&&(j=(0,g.default)(U).readUInt32BE(),m.hudConfig.userConfig.disableSourceMapsResolution?.value||(N=JSON.parse(U)))}catch(e){v.worker_logger.error("Failed to parse source map",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const B=x(N?await new c.SourceMapConsumer(M(N)):void 0,u,T);v.worker_logger.debug("Parsing code",{filename:n});const A=[],R=await a.parseAsync(t,I);if(null===R)return v.worker_logger.warn("Failed parsing code to tree",{filename:n,file_path_checksum:k,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:k,file_checksum:D,uuids:F}};v.worker_logger.debug("Parsed code to tree",{filename:n});const q=[{type:l.EntityType.Program,symbol:{sourcemap_location_hints:[]},context:{},childrenCount:{},siblingIndex:0}],$=new Set;v.worker_logger.debug("Traversing declarations",{filename:n}),r?.postMessage("eventlooptime"),a.traverse(R,{[w.NamespaceScopeAlias]:{enter(e){const{node:r}=e;if(!(0,w.isNamespaceScopeable)(r))return;const o=q[q.length-1];let i=(0,S.getScope)(e);if(!i)return;i=(0,C.resolveScopeSymbols)(B,i);const s=o.childrenCount[i.type]||0,a={...i,childrenCount:{},siblingIndex:s};if(o.childrenCount[i.type]=s+1,q.push(a),$.add(r),e.isFunction()){const r=function(e,t,r,o,n,i,s){try{const l=e;let u=e.node.body.loc?.start?.index;if(void 0===u)throw new Error("Function node has no block start location");if(void 0===e.node.start||null===e.node.start||void 0===e.node.end||null===e.node.end)throw new Error("Function node has no start or end location");"ArrowFunctionExpression"===l.node.type&&l.node.body.extra?.parenthesized&&l.node.body.extra?.parenStart&&Number.isInteger(l.node.body.extra.parenStart)&&(u=l.node.body.extra.parenStart);const c=function(e,t,r,o){const n=o.slice(0,r),i=`${e}_${t}_${Buffer.byteLength(n,"utf8")}`;return(0,h.v5)(i,m.hudConfig.functionUuidNamespace).toString()}(t,r,u-(n-1),i),y=(a=i.slice(e.node.start,e.node.end),(0,g.default)(a).readUInt32BE().toString());if(!y)return void v.worker_logger.warn("Function hash not found",{functionID:c,filename:r});const _=l.node.async||!1,S=(0,C.getNodeLocation)(l.node,s),w=S.start.source??r,I=(0,b.getEntityType)(l),M=(0,d.getMethodKind)(l.node),x=(0,d.getContextualData)(l);x.symbol&&(x.symbol=(0,C.resolveSymbol)(s,x.symbol)),x.callback?.callee.symbol&&(x.callback.callee.symbol=(0,C.resolveSymbol)(s,x.callback.callee.symbol));const O=(0,E.getParameterInfo)(l,s),{siblingIndex:T,childrenCount:k}=o[o.length-1],D=o.slice(0,-1),F=(0,d.getFunctionIdentifier)(l),P=(0,C.resolveSymbol)(s,{name:F?.name,sourcemap_location_hints:F?(0,C.getLocationList)(F,F.name):(0,C.getLocationList)(l.node,void 0),format:F?"%s":void 0});return{module:p.default.parse(w).name,symbol:P,context:x,file:w,type:I,format:f.Format.cjs,parameters:O,async:_,start_line:S.start.line,end_line:S.end.line,start_column:S.start.column,source_code_hash:y,runtime_function_id:c,scope_chain:D,declarations_count:0,methodKind:M,siblingIndex:T,childrenCount:k,original_location:{file:r,start_line:e.node.loc?.start?.line,end_line:e.node.loc?.end?.line,start_column:e.node.loc?.start?.column,end_column:e.node.loc?.end?.column}}}catch(e){v.worker_logger.error("Failed to handle function",{filename:r,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}var a}(e,P,n,q,L,t,B);r&&A.push(r)}},exit(e){$.has(e.node)&&(q.pop(),$.delete(e.node))}}}),v.worker_logger.debug("Traversed declarations",{filename:n});const K=new Set(A.map(e=>e.runtime_function_id)),z=[],W=[];A.forEach(e=>{K.has(e.runtime_function_id)?z.push({...e,declarations_count:A.length,bundler_build_id:i,was_bundler_build_id_generated:s,has_input_map:void 0!==N,sourcemap_crc:j,file_path_checksum:k,file_checksum:D}):W.push(e)}),W.length>0&&v.worker_logger.warn("Function IDs mismatch, missing instrumentation",{filename:n,runtimeFunctionIds:F,missingInstrumentation:W}),new Set(F).forEach(e=>{K.has(e)&&K.delete(e)});const V=K.size>0;return V&&v.worker_logger.error("Function IDs mismatch, missing declerations",{filename:n,missingRuntimeFunctionIds:[...K]}),{declarations:z,blacklist:V?{file_path_checksum:k,file_checksum:D,uuids:[...K]}:void 0}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7064:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getEntityIdentity=t.getEntityType=void 0;const o=r(6346),n=r(8528),i=r(3073);t.getEntityType=function(e){const{node:t}=e;return o.types.isFunctionDeclaration(t)?n.EntityType.FunctionDeclaration:o.types.isFunctionExpression(t)?n.EntityType.FunctionExpression:o.types.isArrowFunctionExpression(t)?n.EntityType.FunctionArrow:o.types.isObjectMethod(t)?n.EntityType.ObjectMethod:o.types.isStaticBlock(t)||o.types.isClassMethod(t)?n.EntityType.ClassMethod:o.types.isClassPrivateMethod(t)?n.EntityType.ClassPrivateMethod:o.types.isClassDeclaration(t)?n.EntityType.ClassDeclaration:o.types.isClassExpression(t)?n.EntityType.ClassExpression:o.types.isForInStatement(t)||o.types.isForOfStatement(t)||o.types.isForStatement(t)?n.EntityType.ForLoop:o.types.isBlockStatement(t)?function(e){const t=e.parentPath.node;if(!(o.types.isFunctionDeclaration(t)||o.types.isFunctionExpression(t)||o.types.isArrowFunctionExpression(t)||o.types.isClassMethod(t)||o.types.isObjectMethod(t)||o.types.isClassPrivateMethod(t)))if(o.types.isIfStatement(t)){if("consequent"===e.parentKey)return n.EntityType.IfConsequent;if("alternate"===e.parentKey)return n.EntityType.IfAlternate;if("test"===e.parentKey)return n.EntityType.IfTest}else{if(o.types.isBlockStatement(t)||o.types.isProgram(t))return n.EntityType.Block;if(o.types.isTryStatement(t)){if("block"===e.parentKey)return n.EntityType.Try;if("finalizer"===e.parentKey)return n.EntityType.Finally}else{if(o.types.isCatchClause(t))return;if(o.types.isWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(o.types.isDoWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(!(o.types.isForStatement(t)||o.types.isForInStatement(t)||o.types.isForOfStatement(t)))return;if("test"===e.parentKey)return n.EntityType.ForTest;if("body"===e.parentKey)return n.EntityType.ForBlock}}}(e):o.types.isProgram(t)?n.EntityType.Program:o.types.isDoWhileStatement(t)?n.EntityType.DoWhile:o.types.isWhileStatement(t)?n.EntityType.While:o.types.isCatchClause(t)?n.EntityType.Catch:o.types.isObjectExpression(t)?n.EntityType.ObjectExpression:o.types.isWithStatement(t)?n.EntityType.With:o.types.isSwitchStatement(t)?n.EntityType.Switch:o.types.isSwitchCase(t)?n.EntityType.SwitchCase:o.types.isTryStatement(t)?n.EntityType.TryCatch:o.types.isIfStatement(t)?n.EntityType.If:n.EntityType.Other},t.getEntityIdentity=function(e){return o.types.isFunctionDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Function declaration without an identifier"):o.types.isClassDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Class declaration without an identifier"):o.types.isFunctionExpression(e)||o.types.isClassExpression(e)?o.types.isIdentifier(e.id)?e.id:void 0:o.types.isClassMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Class method without an identifier"):o.types.isObjectMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Object method without an identifier"):o.types.isClassPrivateMethod(e)?o.types.isIdentifier(e.key.id)?e.key.id:void i.worker_logger.info("Class private method without an identifier"):void 0}},7087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getScope=void 0;const o=r(7064),n=r(1974),i=r(1622);t.getScope=function(e){const t=(0,o.getEntityType)(e);if(t){const r=(0,o.getEntityIdentity)(e.node),s=r?.name;return{type:t,context:(0,i.getContextualData)(e),symbol:{name:s,sourcemap_location_hints:r?(0,n.getLocationList)(r,s):(0,n.getLocationList)(e.node,void 0),format:r?"%s":void 0},methodKind:(0,i.getMethodKind)(e.node)}}}},7582:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nextLoopDummy=void 0;const r=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function o(e){return await fetch(`${r}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}t.nextLoopDummy=async function(e){for(;;)try{(await o(e)).ok||await new Promise(e=>setTimeout(e,50))}catch(e){await new Promise(e=>setTimeout(e,50))}}},8066:(e,t)=>{let r;Object.defineProperty(t,"__esModule",{value:!0}),t.myRequire=void 0;try{r=require}catch(e){r=void 0}t.myRequire=r},8138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getNetworkError=t.UserErrorLogs=t.setFirstError=t.getFirstError=t.isAbortError=t.HudNoMessageInSqsConsumerEmit=t.HudNoErrorInSqsConsumerEmit=t.HudNoEventTypeInSqsConsumerEmit=t.HudFailExtractSqsQueueName=t.HudNoCallbackInSqsConsumerOn=t.HudNoEventTypeInSqsConsumerOn=t.HudNoQueueUrlInSqsConsumer=t.HudSqsError=t.HudExtensionNextFailedError=t.HudExtensionRegisterError=t.HudExtnensionError=t.HudBadLoggerError=t.HudInitNetworkError=t.HudTsNodeNotFoundButUsed=t.HudSessionThrottle=t.HudNoTranspileOnlyError=t.HudClientExceededMaxRetries=t.HudClientUnauthorizedError=t.HudTimeoutError=t.HudWorkloadCollectorError=t.HudAssert=t.HudUnsupportedError=t.HudEditError=t.HudWorkerError=t.HudClientError=t.HudInitError=t.HudError=void 0;const o=r(1012);class n extends Error{code=9e3;name=this.constructor.name;constructor(e){super(e)}}t.HudError=n;class i extends n{code=9001}t.HudInitError=i,t.HudClientError=class extends n{code=9002;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudWorkerError=class extends n{code=9003};class s extends n{code=9004}t.HudEditError=s,t.HudUnsupportedError=class extends s{code=9005},t.HudAssert=class extends s{code=9006},t.HudWorkloadCollectorError=class extends n{code=9007},t.HudTimeoutError=class extends n{code=9008},t.HudClientUnauthorizedError=class extends n{code=9009},t.HudClientExceededMaxRetries=class extends n{code=9010},t.HudNoTranspileOnlyError=class extends n{code=9011},t.HudSessionThrottle=class extends i{code=9012},t.HudTsNodeNotFoundButUsed=class extends n{code=9013},t.HudInitNetworkError=class extends n{code=9014;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudBadLoggerError=class extends n{code=9101};class a extends n{code=9200}t.HudExtnensionError=a,t.HudExtensionRegisterError=class extends a{code=9201},t.HudExtensionNextFailedError=class extends a{code=9202};class l extends n{code=9250}t.HudSqsError=l,t.HudNoQueueUrlInSqsConsumer=class extends l{code=9251},t.HudNoEventTypeInSqsConsumerOn=class extends l{code=9252},t.HudNoCallbackInSqsConsumerOn=class extends l{code=9253},t.HudFailExtractSqsQueueName=class extends l{code=9254},t.HudNoEventTypeInSqsConsumerEmit=class extends l{code=9255},t.HudNoErrorInSqsConsumerEmit=class extends l{code=9256},t.HudNoMessageInSqsConsumerEmit=class extends l{code=9257},t.isAbortError=function(e){return e instanceof Error&&"AbortError"===e.name};let u=9999;t.getFirstError=function(){return u},t.setFirstError=function(e){e&&9999===u&&(u=e)},t.UserErrorLogs={HudServiceNotSet:()=>({level:"error",errCode:"E1001",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE was not set. Please set service name using the environment variable HUD_SERVICE."}),HudServiceInvalid:()=>({level:"error",errCode:"E1002",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE value has invalid service name. Please set service name using the environment variable HUD_SERVICE."}),HudApiKeyNotSet:()=>({level:"error",errCode:"E1004",moreInfo:!0,message:"Can't load Hud, HUD_KEY was not set. Please set API key using the environment variable HUD_KEY."}),HudApiKeyInvalid:()=>({level:"error",errCode:"E1005",moreInfo:!0,message:"Can't load Hud, HUD_KEY value has invalid API key. Please set a valid key in environment variable HUD_KEY."}),BothApiKeyAndServiceNotSet:()=>({level:"error",errCode:"E1007",moreInfo:!0,message:"Can't load Hud, HUD_KEY and HUD_SERVICE were not set. Please set API key using the environment variable HUD_KEY and service name using the environment variable HUD_SERVICE."}),InvalidTag:()=>({level:"warn",errCode:"E1008",moreInfo:!0,message:"HUD_TAGS should be of type Key-Value Object, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),TagWithDots:()=>({level:"warn",errCode:"E1009",moreInfo:!0,message:"HUD_TAGS keys can't contain dots; they have been replaced with underscores."}),TagsInvalidJson:()=>({level:"warn",errCode:"E1010",moreInfo:!0,message:"Can't load Hud, HUD_TAGS is not a valid JSON, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),ApiKeyDenied:e=>({level:"error",errCode:"E1011",moreInfo:!0,message:`Can't load Hud, the provided key is invalid. Please provide a valid HUD_KEY in your ${{ENV:"environment variable",CONFIG_FILE:"file",CONFIG_ENV:"HUD_CONFIG",INIT:"init function",SETUP:"setup function"}[e]}.`}),ShutdownGracefully:e=>({level:"error",errCode:`E${e}`,message:"SDK has initiated a graceful shutdown. Your application remains unaffected"}),UnsupportedNodeVersion:()=>({level:"error",errCode:"E1012",moreInfo:!0,message:"Can't load Hud due to an unsupported node version."}),UnsupportedSyntax:()=>({level:"error",errCode:"E1014",moreInfo:!0,message:"Can't load Hud due to an unsupported syntax version."}),UnsupportedLambdaMemory:()=>({level:"error",errCode:"E1015",moreInfo:!0,message:`Can't load Hud as lambda function memory size is less than ${o.hudConfig.lambdaMinimunMemory}MB.`}),JSONErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1016",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid JSON. Please set a valid json in Hud's config ${e}`+(t?`, Error: ${t}.`:".")}),ZodErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1017",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid value for field: ${t}. Please set a valid value for ${t} in the config ${e}.`}),ConfigInaccessible:e=>({level:"error",errCode:"E1018",moreInfo:!0,message:`Can't load Hud, the config file is inaccessible. Please make sure your node application has read permissions to the Hud config file, ${e}.`}),SetupCalledWithoutKey:()=>({level:"error",errCode:"E1019",moreInfo:!0,message:"API key not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),SetupCalledWithoutService:()=>({level:"error",errCode:"E1020",moreInfo:!0,message:"Service name parameter not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),HudEnableIsFalse:()=>({level:"warn",errCode:"E1021",moreInfo:!0,message:"HUD_ENABLE is set to false. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InstrumentedFunctionCountExceeded:e=>({level:"error",errCode:"E1022",moreInfo:!0,message:`SDK limit of ${e} instrumented functions exceeded. SDK has initiated a graceful shutdown. Your application remains unaffected.`}),PodMemoryLimitTooLow:e=>({level:"error",errCode:"E1023",moreInfo:!0,message:`Insufficient memory available. Minimum required:(${e}MB). SDK has initiated a graceful shutdown. Your application remains unaffected.`}),DebuggerAttached:()=>({level:"error",errCode:"E1024",message:"Did not load as debugger is attached."}),InitSessionBeforeRegister:()=>({level:"error",errCode:"E1025",moreInfo:!0,message:"register() was not called, or called after initSession() - please call register() before initSession() and run again. Your application continues normally without Hud."}),RegisterMisplacedNoDeclarations:()=>({level:"warn",errCode:"E1026",moreInfo:!0,message:"Warning - No code has been mapped so far. This probably means register() was called too late — after your code was already loaded. Move it to the top of your entry file to enable proper mapping. Your application continues normally without Hud data."}),UnsupportedFrameworkVersion:e=>({level:"warn",errCode:"E1029",message:`Warning - Unsupported version of ${e} framework(s). This means Hud won't track your framework invocations. Your application continues normally, but with partial Hud data. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node#/`}),UninstrumentedFilesLogThresholdExceeded:e=>({level:"warn",errCode:"E1027",message:`Warning - ${e} of your code files were imported before register(). This means Hud won't track all of your functions. Please move register() call to an earlier location. To view the list of files use register({verbose: true}). Your application continues normally, but with partial Hud data.`,moreInfo:!0}),UninstrumentedFrameworks:e=>({level:"warn",errCode:"E1028",message:`Warning - The framework(s): ${e.map(e=>`"${e}"`).join(", ")} was imported before register(). This means Hud won't track your framework invocations. Please move register() call to an earlier location. Your application continues normally, but with partial Hud data.`}),YesDeclarationsNoMetrics:()=>({level:"warn",errCode:"E1032",moreInfo:!0,message:"Warning - Code mapped successfully, but no function activity was tracked. Make sure your service is running and actively handling requests."}),HudEnableNotSet:e=>({level:"error",moreInfo:!0,message:`Did not load as HUD_ENABLE is ${void 0===e?"undefined":"set to a non-true value"}. Please set HUD_ENABLE=true to run Hud.`}),LambdaNotViaLayer:()=>({level:"error",errCode:"E1034",message:"Can't load Hud, lambda support is currently in beta. Contact Hud to get early access."}),RunningInBun:()=>({level:"error",errCode:"E1035",message:"Hud does not support Bun yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),RunningOnWindows:()=>({level:"error",errCode:"E1036",message:"Hud does not support Windows yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),UnsupportedNativeBuild:()=>({level:"error",errCode:"E1037",message:"Hud does not support this platform yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),TsNodeNotTranspileOnly:()=>({level:"error",errCode:"E1038",message:"detected ts-node is used without the transpileOnly flag, which is not supported yet. SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),TsNodeNotFoundEvenThoughRunWithTsNode:()=>({level:"error",errCode:"E1039",message:"'ts-node' was detected but could not be resolved by Hud. This may happen if 'ts-node' is installed globally. Try installing it locally in your project. The SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),InitFailedDueGenericNetworkError:()=>({level:"error",moreInfo:!0,errCode:"E1040",message:"A network error occurred during SDK initialization. Please check your internet connection and try again. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkTimeout:()=>({level:"error",moreInfo:!0,errCode:"E1041",message:"The SDK failed to connect to Hud's backend due to a timeout during SDK initialization. Please verify your firewall settings to ensure outbound connections are allowed. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkRST:()=>({level:"error",moreInfo:!0,errCode:"E1042",message:"The SDK connection to Hud's backend was reset unexpectedly (RST) during SDK initialization. Please check your firewall or network security settings. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueSelfSignedCert:()=>({level:"error",moreInfo:!0,errCode:"E1043",message:"SSL certificate verification failed during SDK initialization. If your organization uses a self-signed certificate, set the NODE_EXTRA_CA_CERTS environment variable to the path of your CA certificate file. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueDnsFailed:()=>({level:"error",moreInfo:!0,errCode:"E1044",message:"The SDK failed to resolve DNS when attempting to connect to Hud's backend during SDK initialization. If the problem persists, please contact support. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueBackendError:()=>({level:"error",moreInfo:!0,errCode:"E1045",message:"Hud: The SDK was unable to complete initialization due to a temporary issue with Hud’s backend. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitTimeout:e=>({moreInfo:!0,level:"error",message:`SDK imported but not initialized. Please ensure to call '${e?"hud.initSession(KEY, SERVICE)":"hud.init()"}' to initialize the SDK.`}),RehookCalledBeforeRegister:()=>({level:"error",errCode:"E1046",moreInfo:!0,message:"register() was not called, or called after rehook() - please call register() before rehook() and run again. Your application continues normally with partial hud data."}),EsbuildMissingKey:()=>({level:"error",errCode:"ES0001",moreInfo:!0,message:"missing HUD_KEY, skipping Hud plugin, your build is unaffected."}),EsbuildFailedProcessingFile:e=>({level:"error",errCode:"ES0002",moreInfo:!0,message:`failed processing file "${e}", reverting to original loader.`}),EsbuildFailedBundling:()=>({level:"error",errCode:"ES0003",moreInfo:!0,message:"encountered unexpected file bundling, build aborted."}),EsbuildFailedParsingSourcemap:()=>({level:"error",errCode:"ES0004",moreInfo:!0,message:"failed parsing source maps, skipping upload, Hud will run without source maps."}),EsbuildFailedUploadingSourcemap:e=>({level:"error",errCode:"ES0005",moreInfo:!0,message:`failed uploading source map: ${e}, Hud will run without source maps.`}),EsbuildFailedUploadingSourcemapUnauthorized:()=>({level:"error",errCode:"ES0006",moreInfo:!0,message:"failed uploading source map: unauthorized, Hud will run without source maps."}),EsbuildUnsupportedPlatform:()=>({level:"error",errCode:"ES0007",message:'Can\'t load Hud, as our esbuild plugin supports "node" mode only. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix'}),EsbuildUnsupportedWindows:()=>({level:"error",errCode:"ES0008",message:"Can't load Hud, as our esbuild plugin does not supports windows. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix"})},t.getNetworkError=function(e){return{ECONNABORTED:t.UserErrorLogs.InitFailedDueNetworkTimeout(),ECONNREFUSED:t.UserErrorLogs.InitFailedDueNetworkRST(),ENOTFOUND:t.UserErrorLogs.InitFailedDueDnsFailed(),SELF_SIGNED_CERT_IN_CHAIN:t.UserErrorLogs.InitFailedDueSelfSignedCert(),ERR_BAD_RESPONSE:t.UserErrorLogs.InitFailedDueBackendError()}[e]??t.UserErrorLogs.InitFailedDueGenericNetworkError()}},8287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(6827),t)},8528:e=>{e.exports=require("./dto")},8808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSqsFlowId=t.generateKafkaFlowId=t.generateGraphqlFlowId=t.generateEndpointFlowId=void 0;const o=r(3903),n="fa79d8b7-069c-4bbf-9c00-34bfc8b3a5a6";t.generateEndpointFlowId=function(e,t){return(0,o.v5)(`${e.toString()}|${Array.from(t).sort().join(",")}`,n)},t.generateGraphqlFlowId=function(e,t){return(0,o.v5)(`${e}|${t}`,n)},t.generateKafkaFlowId=function(e,t,r){return(0,o.v5)(`${e.toString()}|${t}|${r}`,n)},t.generateSqsFlowId=function(e,t,r=""){const i=`${e}|${t}|${r}`;return(0,o.v5)(i,n)}},8809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_MODULE_NAME=void 0,t.SDK_MODULE_NAME="hud-sdk"},9023:e=>{e.exports=require("util")},9100:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.updateInvestigationRateLimitGlobals=t.hudConfig=t.isValidParam=t.getModulesToTraceFromEnv=t.HudDynamicConfigSchema=void 0;const n=o(r(6928)),i=r(1569);t.HudDynamicConfigSchema=i.z.object({aggregationInterval:i.z.number(),flowMetricInterval:i.z.number(),graphqlInterval:i.z.number(),aggregationFirstSendTimeout:i.z.number(),flowMetricFirstSendTimeout:i.z.number(),enableInvestigation:i.z.boolean(),investigationRateLimits:i.z.object({maxSameInvestigations:i.z.number().int().positive(),sameInvestigationTimeWindowMs:i.z.number().int().positive(),maxTotalInvestigations:i.z.number().int().positive(),totalInvestigationTimeWindowMs:i.z.number().int().positive(),maxUniqLogs:i.z.number().int().positive()}),machineMetricsInterval:i.z.number().int().positive(),blacklistParams:i.z.array(i.z.string()),censorshipRegexes:i.z.array(i.z.object({regex:i.z.string(),replacement:i.z.string()}))}),t.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};const s=process.env.HUD_ENABLE_INVESTIGATION,a=process.env.HUD_HOST||"https://api-prod.hud.io",l=process.env.HUD_LOG_DIR,u="_HUD",c=process.env.HUD_LOG_TO_FILE,d={sink:{url:a,timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store"},logger:{default:{levels:{app:"warn",worker:"warn",instrument:"warn"}},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"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:l,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:18e5,endpointsFirstSendWaitTime:12e4,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:u,functionIdVarName:`${u}_fid`,frameworksToPatch:new Map([["express",{version:"<=5",patcher:"express",enableEsbuild:!0}],[n.default.join("express","lib","application.js"),{version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{version:"^2.0.0",patcher:"koa"}],["graphql/execution/execute",{version:"14 - 16",patcher:"graphql"}],["http",{version:"*",patcher:"http"}],["https",{version:"*",patcher:"http"}],["@nestjs/core/interceptors/interceptors-consumer",{version:"*",patcher:"nestjsInterceptor"}],["@nestjs/core/router/router-execution-context",{version:"*",patcher:"nestjsRouterExecutionContext"}],..."win32"!==process.platform?[["kafkajs",{version:">=1.4.0",patcher:"kafkajs"}],["@nestjs/microservices/context/rpc-context-creator",{version:">=7.0.0",patcher:"nestjsRpcContextCreator"}]]:[],[["@codegenie/serverless-express","src","frameworks","express.js"].join(n.default.sep),{version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{enableEsbuild:!0}],["sqs-consumer",{version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{enableEsbuild:!0}],[n.default.join("serverless-http","lib","framework","get-framework.js"),{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,flowMetricInterval:3e5,graphqlInterval:3e4,aggregationFirstSendTimeout:3e4,flowMetricFirstSendTimeout:3e4,enableInvestigation:"true"===s,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,blacklistParams:[],censorshipRegexes:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==s,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,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/",fileless:"true"!==c,uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"]};t.hudConfig=function(e={}){return{...d,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),t.default=t.hudConfig,t.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)}},9896:e=>{e.exports=require("fs")}},t={};return function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}(2241)})());
2
2
  //# sourceMappingURL=lib.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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={363:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateUserConfigFromInitOptions=t.updateUserConfigFromEnv=t.updateUserConfigFromFile=t.updateUserConfigFromInit=void 0;const o=r(8528),n=r(1569),i=r(8138),s=r(2794),a=r(3073),l=r(9100),u=o.HudInitOptionsSchema.omit({customOptions:!0}).extend({key:n.z.string().optional(),service:n.z.string().optional(),enable:n.z.boolean().optional(),enableDapulse:n.z.boolean().optional()});t.updateUserConfigFromInit=function(e,t){void 0!==e&&(l.hudConfig.userConfig.key={value:e,source:"INIT"}),void 0!==t&&(l.hudConfig.userConfig.service={value:t,source:"INIT"})},t.updateUserConfigFromFile=function(){let e;try{e=(0,s.getConfigContent)()}catch(e){throw e instanceof s.HudFailedReadConfigError&&"EACCES"===e.code&&a.customer_logger.log(i.UserErrorLogs.ConfigInaccessible(e.path)),e}if(e)try{const t=u.partial().parse(JSON.parse(e.content));Object.entries(t).forEach(([t,r])=>{!function(e,t,r){e[t]=r}(l.hudConfig.userConfig,t,{value:r,source:"HUD_CONFIG"===e.source?"CONFIG_ENV":"CONFIG_FILE"})})}catch(t){throw t instanceof n.ZodError?t.errors.forEach(t=>{const r=t.path.join(".");a.customer_logger.log(i.UserErrorLogs.ZodErrorInUserConfig(e.source,r))}):a.customer_logger.log(i.UserErrorLogs.JSONErrorInUserConfig(e.source,t.message)),t}},t.updateUserConfigFromEnv=function(){const e=process.env.HUD_KEY,t=process.env.HUD_SERVICE,r=process.env.HUD_ENABLE_DAPULSE,o=(0,l.getModulesToTraceFromEnv)(),n=process.env.HUD_MAX_INSTRUMENTED_FUNCTIONS,i=process.env.HUD_MIN_POD_MEMORY_MB;e&&(l.hudConfig.userConfig.key={value:e,source:"ENV"}),t&&(l.hudConfig.userConfig.service={value:t,source:"ENV"}),r&&(l.hudConfig.userConfig.enableDapulse={value:"true"===r,source:"ENV"}),o&&(l.hudConfig.userConfig.includeModules={value:o,source:"ENV"}),n&&(l.hudConfig.userConfig.maxMappedFunctions={value:parseInt(n),source:"ENV"}),i&&(l.hudConfig.userConfig.minPodMemoryMB={value:parseInt(i),source:"ENV"})},t.updateUserConfigFromInitOptions=function(e,t){e.includeModules&&Array.isArray(e.includeModules)&&(l.hudConfig.userConfig.includeModules={value:e.includeModules,source:t}),e.customOptions&&e.customOptions.dapulseSqsConsumer&&(l.hudConfig.userConfig.enableDapulse={value:"true"===e.customOptions.dapulseSqsConsumer,source:t}),e.maxMappedFunctions&&"number"==typeof e.maxMappedFunctions&&(l.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:t}),e.minPodMemoryMB&&"number"==typeof e.minPodMemoryMB&&(l.hudConfig.userConfig.minPodMemoryMB={value:e.minPodMemoryMB,source:t}),e.maxFileSizeBytes&&"number"==typeof e.maxFileSizeBytes&&(l.hudConfig.userConfig.maxFileSizeBytes={value:e.maxFileSizeBytes,source:t}),e.maxTimeUntilInitSessionMs&&"number"==typeof e.maxTimeUntilInitSessionMs&&(l.hudConfig.userConfig.maxTimeUntilInitSessionMs={value:e.maxTimeUntilInitSessionMs,source:t})}},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UserLogs=void 0,t.UserLogs={HudInitSuccess:()=>({level:"info",message:"Session started"}),FirstDecalarationSent:()=>({level:"info",message:"First code mapping sent successfully"}),FirstInvocationSent:()=>({level:"info",message:"First invocation sent successfully"}),HappyFlowCompleted:()=>({level:"info",message:"Your service is sending data successfully"}),FilesLoadedBeforeRegister:()=>({level:"info",message:"Files loaded before register():"}),FileBeforeRegisterTemplate:(e,t)=>({level:"info",message:`${e}. ${t}`}),InitIdleMode:()=>({level:"info",message:"Initialized successfully in idle mode."})}},857:e=>{e.exports=require("os")},1012:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=t.SDK_MODULE_NAME=void 0,n(r(9100),t),n(r(4627),t);var i=r(8809);Object.defineProperty(t,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return i.SDK_MODULE_NAME}}),n(r(2684),t),n(r(363),t);var s=r(3312);Object.defineProperty(t,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},1256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.logRegisterInRightLocation=t.filterFilesInsideFrameworks=void 0;const o=r(2030),n=r(2241);function i(e,t){return t.filter(t=>{if(t.endsWith(".js"))return!1;const r=`/node_modules/${t}/`;for(const t of e)if(t.includes(r))return!0;return!1})}t.filterFilesInsideFrameworks=i,t.logRegisterInRightLocation=function(e){try{!function(e){const t=globalThis.hudLoadedModules;if(!t)return;const r=t.filter(e=>!(0,o.skip)(e));if(r.length>n.hudConfig.uninstrumentedFilesLogThreshold&&n.customer_logger.log(n.UserErrorLogs.UninstrumentedFilesLogThresholdExceeded(r.length)),e){n.instrument_logger.info("Files loaded before register()",{count:r.length}),n.customer_logger.info(n.UserLogs.FilesLoadedBeforeRegister());let e=0;for(const t of r)n.customer_logger.info(n.UserLogs.FileBeforeRegisterTemplate(e,t)),e++}}(e)}catch(e){n.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 t=i(e,Array.from(n.hudConfig.frameworksToPatch.keys()));t.length>0&&(n.instrument_logger.info("Missing frameworks",{count:t.length}),n.customer_logger.log(n.UserErrorLogs.UninstrumentedFrameworks(t)))}()}catch(e){n.instrument_logger.error("Error in logPreLoadedFrameworks",{error:e,stack:e instanceof Error?e.stack:void 0})}}},1493:e=>{e.exports=require("v8")},1569:e=>{e.exports=require("zod")},1620:e=>{e.exports=require("winston-transport")},1622:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getMethodKind=t.getContextualData=t.getContextSymbol=t.getFunctionIdentifier=void 0;const s=i(r(6346)),a=r(6346),l=r(8528),u=r(8138),c=r(3073),d=r(2213),p=r(1974);function m(e,t){return{name:t,sourcemap_location_hints:(0,p.getLocationList)(e,t),format:"%s"}}function f(e){if(a.types.isIdentifier(e))return{name:e.name,sourcemap_location_hints:e.loc?[{name:e.name,line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column}]:[],format:"%s"};if(a.types.isMemberExpression(e)||a.types.isOptionalMemberExpression(e)){let t;t=a.types.isThisExpression(e.object)?{name:"this",sourcemap_location_hints:(0,p.getLocationList)(e.object,"this")}:f(e.object);const r=f(e.property),o=e.computed?t.name+"["+r.name+"]":t.name+"."+r.name,n=t.format??"%s",i=r.format??"%s",s=e.computed?`${n}[${i}]`:`${n}.${i}`;return{name:o,sourcemap_location_hints:[...t.sourcemap_location_hints,...r.sourcemap_location_hints],format:s}}if(a.types.isOptionalCallExpression(e)||a.types.isCallExpression(e))return f(e.callee);if(a.types.isSequenceExpression(e))return(0,d.isHudAwaitSequence)(e)?f((0,d.getHudAwaitSequenceElement)(e)):f(e.expressions[e.expressions.length-1]);if(a.types.isArrayExpression(e))return{name:"[]",sourcemap_location_hints:(0,p.getLocationList)(e,"[]"),format:"%s"};if(a.types.isObjectExpression(e))return{name:"{}",sourcemap_location_hints:(0,p.getLocationList)(e,"{}"),format:"%s"};if(a.types.isStringLiteral(e))return{name:`"${e.value}"`,sourcemap_location_hints:(0,p.getLocationList)(e,e.value),format:'"%s"'};throw new u.HudUnsupportedError("Unsupported left side of assignment - "+e.type+"loc - "+JSON.stringify(e.loc))}function g(e){const{node:t}=e;if(e.isExpression())try{return function(e){const{parent:t}=e;if(a.types.isVariableDeclarator(t)&&a.types.isIdentifier(t.id))return m(t,t.id.name);if(a.types.isObjectProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isClassProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isAssignmentExpression(t))return f(t.left);if(a.types.isAssignmentPattern(t))return f(t.left);throw new u.HudUnsupportedError(`Unsupported parent type - ${t.type} for me ${e.node.type}`)}(e)}catch(e){if(e instanceof u.HudUnsupportedError)return;throw e}c.worker_logger.debug("getContextSymbol; Unsupported node type",{type:t.type})}function y(e){const t=[];return e.arguments.forEach((e,r)=>{let o,n;a.types.isStringLiteral(e)?(o=l.ArgumentTypes.StringLiteral,n=e.value):a.types.isTemplateLiteral(e)?(o=l.ArgumentTypes.TemplateString,n=function(e){let t="";const r=e.quasis,o=e.expressions;for(let e=0;e<r.length;e++)t+=r[e].value.cooked,e<o.length&&(t+=`\${${h(o[e])}}`);return t=`\`${t}\``,t}(e)):a.types.isIdentifier(e)&&(o=l.ArgumentTypes.Identifier,n=e.name),o&&n&&t.push({index:r,type:o,value:n})}),t}function h(e){if(a.types.isIdentifier(e))return e.name;if(a.types.isStringLiteral(e))return e.value;if(a.types.isCallExpression(e)||a.types.isOptionalCallExpression(e)){const t=e;if(a.types.isIdentifier(t.callee))return t.callee.name;if(a.types.isMemberExpression(t.callee)||a.types.isOptionalMemberExpression(t.callee)){let e="";const r=t.callee;if(a.types.isThisExpression(r.object)?e+="this.":a.types.isIdentifier(r.object)&&(e+=`${r.object.name}.`),""!==e&&a.types.isIdentifier(r.property))return e+=`${r.property.name}`,e}}return""}t.getFunctionIdentifier=function(e){const{node:t}=e;if(a.types.isFunctionDeclaration(t)||a.types.isFunctionExpression(t)){if(a.types.isIdentifier(t.id))return t.id}else if(a.types.isClassMethod(t)){if(a.types.isIdentifier(t.key))return t.key}else if(a.types.isClassPrivateMethod(t)){if(a.types.isIdentifier(t.key.id))return t.key.id}else if(a.types.isObjectMethod(t)&&a.types.isIdentifier(t.key))return t.key},t.getContextSymbol=g,t.getContextualData=function(e){let t,r=!1;return(e.isFunctionExpression()||e.isArrowFunctionExpression())&&(t=function(e){const t=e.parentPath;if(t.isCallExpression())for(const[r,o]of t.node.arguments.entries())if(o===e.node){const e=t.node.callee;let o;try{o=f(e)}catch(t){if(!(t instanceof u.HudUnsupportedError))throw t;c.worker_logger.debug("could not get callee symbol recursively",{error:t,type:e.type})}const n=y(t.node);return{callee:{symbol:o,argsCount:t.node.arguments.length,args:n},index:r}}}(e),r=function(e){const t=e.parentPath;return!!t.isCallExpression()&&t.node.callee===e.node}(e)),{symbol:g(e),callback:t,immediatelyInvoked:r}},t.getMethodKind=function(e){if(s.types.isClassMethod(e)||s.types.isObjectMethod(e)||s.types.isClassPrivateMethod(e))return e.kind}},1974:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeLocation=t.resolveScopeSymbols=t.resolveSymbol=t.getLocationList=void 0;const n=o(r(9023)),i=r(3073);function s(e,t){let r=t.name;const o=t.sourcemap_location_hints.map(t=>{const r=e({line:t.line,column:t.column});if(null===r.line||null===r.column)return{name:t.name,line:-1,column:-1,line_on_server:t.line_on_server,column_on_server:t.column_on_server};let o=r.name??t.name??void 0;return o?.startsWith("#")&&(o=o.slice(1)),{name:o,line:r.line,column:r.column,line_on_server:t.line_on_server,column_on_server:t.column_on_server,resolved:!0}});return o.length>0&&o.every(e=>e.name)&&(t.format?Array.from(t.format.matchAll(/%s/g)).length!==o.length?i.worker_logger.warn("Format string does not match number of location hints",{format:t.format,locationHints:o}):r=n.default.format(t.format,...o.map(e=>e.name)):r=o.map(e=>e.name).join(".")),{name:r,sourcemap_location_hints:o}}t.getLocationList=function(e,t){return e.loc?[{line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column,name:t}]:[]},t.resolveSymbol=s,t.resolveScopeSymbols=function(e,t){const{context:r}=t,o=r.symbol?s(e,r.symbol):void 0,n=s(e,t.symbol);return{...t,context:{...r,symbol:o},symbol:n}},t.getNodeLocation=function(e,t,r=void 0){const o=e.loc?.start,n=e.loc?.end;if(!o||!n)return i.worker_logger.info("Node without location",{filename:r,type:e.type}),{start:{source:null,line:-1,column:-1},end:{source:null,line:-1,column:-1}};const s=t({line:o.line,column:o.column}),a=t({line:n.line,column:n.column});return null!==s.line&&null!==s.column&&null!==a.line&&null!==a.column||(i.worker_logger.debug("Could not find location for function",{filename:r,type:e.type,locStart:o,locEnd:n}),s.line=-1,s.column=-1,a.line=-1,a.column=-1),{start:{source:s.source,line:s.line,column:s.column},end:{source:a.source,line:a.line,column:a.column}}}},2030:e=>{e.exports=require("./instrument")},2213:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getHudAwaitSequenceElement=t.isHudAwaitSequence=void 0;const o=r(6346),n=r(1012),i=r(8138);t.isHudAwaitSequence=function(e){if(e.expressions.length<2)return!1;const t=e.expressions[e.expressions.length-1];return!!o.types.isIdentifier(t)&&!!t.name.startsWith(n.hudConfig.wrapVarPrefix)},t.getHudAwaitSequenceElement=function(e){const t=e.expressions[0];if(!o.types.isAssignmentExpression(t))throw new i.HudUnsupportedError("Expected assignment expression");const{left:r,right:s}=t;if(!o.types.isIdentifier(r)||!r.name.startsWith(n.hudConfig.wrapVarPrefix))throw new i.HudUnsupportedError("Expected identifier starting with "+n.hudConfig.wrapVarPrefix);return s}},2240:e=>{e.exports=require("./core")},2241:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(1012),t),n(r(8287),t),n(r(8138),t),n(r(8808),t),n(r(2794),t),n(r(7582),t),n(r(3073),t),n(r(5290),t),n(r(5822),t),n(r(3699),t),n(r(4219),t),n(r(4451),t),n(r(2908),t),n(r(2451),t),n(r(3431),t),n(r(669),t),n(r(8066),t)},2298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNamespaceScopeable=t.isHudScopeable=t.NamespaceScopeAlias=t.ScopableAlias=void 0;const o=r(6346);t.ScopableAlias="ArrowFunctionExpression|BlockStatement|CatchClause|ClassMethod|ClassPrivateMethod|DeclareModule|DoExpression|DoWhileStatement|ForInStatement|ForOfStatement|ForStatement|FunctionDeclaration|FunctionExpression|IfStatement|LabeledStatement|ObjectMethod|StaticBlock|SwitchCase|TSModuleBlock|TryStatement|WhileStatement|WithStatement|ClassDeclaration|ClassExpression|ObjectExpression|SwitchStatement",t.NamespaceScopeAlias="FunctionDeclaration|FunctionExpression|ArrowFunctionExpression|ObjectMethod|ClassMethod|ClassPrivateMethod|ClassDeclaration|ClassExpression|ObjectExpression",t.isHudScopeable=function(e){return o.types.isArrowFunctionExpression(e)||o.types.isBlockStatement(e)||o.types.isCatchClause(e)||o.types.isClassMethod(e)||o.types.isClassPrivateMethod(e)||o.types.isDeclareModule(e)||o.types.isDoExpression(e)||o.types.isDoWhileStatement(e)||o.types.isForInStatement(e)||o.types.isForOfStatement(e)||o.types.isForStatement(e)||o.types.isFunctionDeclaration(e)||o.types.isFunctionExpression(e)||o.types.isIfStatement(e)||o.types.isLabeledStatement(e)||o.types.isObjectMethod(e)||o.types.isProgram(e)||o.types.isStaticBlock(e)||o.types.isSwitchCase(e)||o.types.isTSModuleBlock(e)||o.types.isTryStatement(e)||o.types.isWhileStatement(e)||o.types.isWithStatement(e)||o.types.isClassDeclaration(e)||o.types.isClassExpression(e)||o.types.isObjectExpression(e)||o.types.isSwitchStatement(e)},t.isNamespaceScopeable=function(e){return o.types.isFunction(e)||o.types.isClass(e)||o.types.isObjectExpression(e)}},2451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUserTsNodeConfig=void 0;const o=r(8138),n=r(3073),i=r(8066);t.getUserTsNodeConfig=function(e=!0){const t=function(){try{const e=i.myRequire.resolve("ts-node");if(!e)return;if(!i.myRequire.cache[e])return;const t=(0,i.myRequire)("ts-node"),r=process[t.REGISTER_INSTANCE];if(!r)return;return r.options}catch(e){return}}();if(t){if(!t.transpileOnly)throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotTranspileOnly()),n.app_logger.warn("ts-node is used but not configured to transpile only"),new o.HudNoTranspileOnlyError;return{cwd:t.cwd,project:t.project,projectSearchDir:t.projectSearchDir}}if(process.argv[0].endsWith("ts-node"))throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotFoundEvenThoughRunWithTsNode()),n.app_logger.info("ts-node not found even run with ts-node"),new o.HudTsNodeNotFoundButUsed}},2546:e=>{e.exports=require("./lib")},2684:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectStoreConfigSchema=void 0;const o=r(1569),n=o.z.object({type:o.z.literal("s3")}),i=o.z.object({type:o.z.literal("disk"),path:o.z.string()});t.ObjectStoreConfigSchema=o.z.union([n,i])},2784:e=>{e.exports=require("../native/_index")},2794:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfigContent=t.HudFailedReadConfigError=t.isHudEnabled=void 0;const s=i(r(9896)),a=i(r(6928)),l=r(8138),u=r(3073);t.isHudEnabled=function(){if("false"===process.env.HUD_ENABLE)return!1;if(globalThis.forceHudEnable)return!0;let e,t;try{if(e=d(),e&&(t=JSON.parse(e.content),!1===t.enable))return!1}catch(t){throw t instanceof c&&"EACCES"===t.code?u.customer_logger.log(l.UserErrorLogs.ConfigInaccessible(t.path)):e&&u.customer_logger.log(l.UserErrorLogs.JSONErrorInUserConfig(e.source,t instanceof Error?t.message:void 0)),t}return"true"===process.env.HUD_ENABLE||!0===t?.enable};class c extends Error{path;code;constructor(e,t){super(),this.path=e,this.code=t}}function d(){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 s.existsSync(e)?e:void 0;let t=__dirname,r=0;for(;"/"!==t&&r<10;){const e=`${t}/hud.config`;if(s.existsSync(e))return e;t=a.dirname(t),r++}}catch(e){return}}();if(e)try{return{content:s.readFileSync(e,"utf8"),source:e}}catch(t){throw new c(e,t.code)}}t.HudFailedReadConfigError=c,t.getConfigContent=d},2908:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.suppressTraces=void 0;const o=r(1012),n=r(3073),i=r(8066);let s,a;try{const e=(0,i.myRequire)("@opentelemetry/api"),t=(0,i.myRequire)("@opentelemetry/core");s=e.context,a=t.suppressTracing,n.app_logger.info("OpenTelemetry exists",{suppressConfig:o.hudConfig.suppressTraces})}catch(e){n.app_logger.info("OpenTelemetry api/core does not exist")}t.suppressTraces=function(e){return function(...t){return o.hudConfig.suppressTraces&&s&&a?(n.app_logger.debug("Running with Suppressed traces"),s.with(a(s.active()),()=>e(...t))):e(...t)}}},2987:e=>{e.exports=require("perf_hooks")},3073:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.worker_logger=t.instrument_logger=t.app_logger=t.customer_logger=t.formatLogMessage=t.SafeLogger=t.renewFileTransports=t.getSavedLogs=t.getLogPath=t.WorkerPortTransport=void 0;const a=i(r(6982)),l=i(r(9896)),u=i(r(857)),c=i(r(6928)),d=i(r(5124)),p=s(r(1620)),m=r(9100),f={...process.env.HUD_DEBUG?m.hudConfig.logger.debug:m.hudConfig.logger.default,console:!!process.env.HUD_VERBOSE};class g extends p.default{_messeagesToSend=[];messagesLimit=m.hudConfig.loggerWorkerPortSizeLimit;messageDropCount=0;getMessagesToSend(){if(!this._messeagesToSend.length)return!1;const e=this._messeagesToSend;this.clearMessagesToSend();const t=this.messageDropCount;return this.messageDropCount=0,{logsBuf:this.formatMessagesToSend(e),messageDropCount:t}}clearMessagesToSend(){this._messeagesToSend=[]}formatMessagesToSend(e){return e.map(e=>JSON.stringify(e)).join("\n")}log(e,t){this._messeagesToSend.length>=this.messagesLimit?this.messageDropCount++:this._messeagesToSend.push(e),t()}}t.WorkerPortTransport=g;const y=d.format.combine(d.format.timestamp({format:"HH:mm:ss.SSS"}),d.format.printf(({level:e,message:t,timestamp:r,label:o,...n})=>{try{const i=Object.keys(n).length;let s;if(i)if(1===i){const e=Object.keys(n)[0];s=`${t} ${e}: ${JSON.stringify(n[e],null,2)}`}else s=`${t}\n${JSON.stringify(n,null,2)}`;else s=t;const a=d.format.colorize().colorize(e,e.toUpperCase());return`[${r}]${(o?`(${o})`:"").padEnd(8," ")} ${a}: ${s}`}catch(e){return t}}));function h(e){return d.format.combine(d.format.label({label:e}),d.format.timestamp({format:()=>(new Date).toISOString()}),d.format.json())}function v(e){return{filename:E(),level:f.levels[e],format:h(e),lazy:!1}}function _(){if(m.hudConfig.logDirectory)return m.hudConfig.logDirectory;const e=u.homedir();switch(u.platform()){case"darwin":return c.join(e,"Library","Logs","hud");case"win32":return c.join(e,"AppData","hud","Logs");default:return c.join(e,".hud","logs")}}let b;function E(){return b??=c.join(_(),`${a.randomUUID()}.log`)}t.getLogPath=E,t.getSavedLogs=function(){const e=[];for(const[t,r]of Object.entries(S))for(const t of r.transports)try{if(t instanceof g){const o=t.getMessagesToSend();if(!o)continue;const{logsBuf:n,messageDropCount:i}=o;i&&r.info(`Dropped ${i} messages`),e.push(n)}}catch(e){r.error("Failed to get saved logs",e)}return e},t.renewFileTransports=function(){const e=new Date,t=new Set;for(const[r,o]of Object.entries(S)){const r=[],n=[];for(const i of o.transports)if(i instanceof d.transports.File){r.push(i),n.push(new d.transports.File({level:i.level,format:i.format,filename:c.join(i.dirname,i.filename),lazy:!1}));const o=c.join(_(),`${a.randomUUID()}-${e.toISOString().replaceAll(":","")}.log`);l.existsSync(c.join(i.dirname,i.filename))&&(l.renameSync(c.join(i.dirname,i.filename),o),t.add(o))}for(const e of r)o.remove(e),e.close&&e.close();for(const e of n)o.add(e)}return t};const S={};class C{name;logger;constructor(e){this.name=e;try{this.logger=function(e){const t=[];f.console&&t.push(new d.transports.Console({format:d.format.combine(d.format.label({label:e}),y)}));let r=!1;if(!m.hudConfig.fileless)try{t.push(function(e){const t=v(e),r=c.dirname(t.filename);return l.mkdirSync(r,{recursive:!0}),l.writeFileSync(t.filename,"",{flag:"w"}),new d.transports.File(t)}(e))}catch{r=!0}(m.hudConfig.fileless||r)&&t.push(function(e){const t=h(e);return new g({format:t})}(e));const o=d.createLogger({level:f.levels[e],transports:t});return S[e]=o,r&&o.info("Could not create file transport, fallback succesfully to worker port"),m.hudConfig.fileless&&o.info("Fileless mode is enabled"),o}(e)}catch(e){this.logger=void 0}}isValid(){return!!this.logger}log(e,t,...r){if(this.logger)try{this.logger.log(e,t,...r)}catch{}}error(e,...t){this.log("error",e,...t)}warn(e,...t){this.log("warn",e,...t)}info(e,...t){this.log("info",e,...t)}http(e,...t){this.log("http",e,...t)}verbose(e,...t){this.log("verbose",e,...t)}debug(e,...t){this.log("debug",e,...t)}silly(e,...t){this.log("silly",e,...t)}}function w(e,t,r){let o=`Hud: ${e}`;return r&&(o+=" For more information visit https://docs.hud.io/docs/node-sdk-ie."),void 0!==t&&(o+=` ${t}`),o}t.SafeLogger=C,t.formatLogMessage=w,t.customer_logger=d.createLogger({level:m.hudConfig.customerLoggerLevel,transports:[new d.transports.Console({})],format:d.format.printf(({message:e,errCode:t,moreInfo:r})=>{try{return w(e,t,r)}catch(t){return e}})}),t.app_logger=new C("app"),t.instrument_logger=new C("instrument"),t.worker_logger=new C("worker")},3176:e=>{e.exports=require("buffer-crc32")},3312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=void 0,t.SDK_VERSION="1.6.9"},3431:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.unrefSetInterval=t.unrefSetTimeout=t.unrefSetImmediate=void 0;const s=i(r(6460));t.unrefSetImmediate=function(e,t){return s.setImmediate(e,{...t,ref:!1})},t.unrefSetTimeout=function(e,t,r){return s.setTimeout(e,t,{...r,ref:!1})},t.unrefSetInterval=function(e,t,r){return s.setInterval(e,t,{...r,ref:!1})}},3699:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.shouldRunHud=t.isSupportedNative=t.isDebuggerAttached=void 0;const s=i(r(6592)),a=r(5919),l=r(1012),u=r(8138),c=r(4715),d=r(2794),p=r(3073);function m(){if("true"===process.env.HUD_ALLOW_DEBUGGER)return!1;if(process.execArgv.some(e=>e.includes("--inspect")||e.includes("--debug")||e.includes("--inspect-brk")||e.includes("--debug-brk")))return!0;try{return"string"==typeof s.url()}catch(e){return!1}}function f(){return void 0!==r(2784).transform}t.isDebuggerAttached=m,t.isSupportedNative=f,t.shouldRunHud=function(){return"false"===process.env.HUD_ENABLE?{shouldRun:!1,error:u.UserErrorLogs.HudEnableIsFalse()}:a.isMainThread?(0,d.isHudEnabled)()?process.versions.bun?{shouldRun:!1,error:u.UserErrorLogs.RunningInBun()}:function(){const e=process.versions.node.split(".")[0];return!!l.hudConfig.supportedNodeVersions.includes(e)}()?process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE&&!function(){try{return"1"===process.env.HUD_INTERNAL_EXEC_WRAPPER_USED}catch(e){return!1}}()?{shouldRun:!1,error:u.UserErrorLogs.LambdaNotViaLayer()}:m()?{shouldRun:!1,error:u.UserErrorLogs.DebuggerAttached()}:function(){const e=(0,c.getMemoryLimitInfo)();return!!(0,c.isMemoryLimitBigEnough)(e)}()?f()?{shouldRun:!0}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNativeBuild()}:{shouldRun:!1,error:u.UserErrorLogs.PodMemoryLimitTooLow(l.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNodeVersion()}:{shouldRun:!1,error:u.UserErrorLogs.HudEnableNotSet(process.env.HUD_ENABLE)}:(p.app_logger.info("required not from main thread"),{shouldRun:!1,error:null})}},3903:e=>{e.exports=require("uuid")},4219:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.safeCall=void 0;const o=r(8138);t.safeCall=function(e,t){return t.catch(t=>{(0,o.isAbortError)(t)||e.error("Unhandled exception on async task",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})})}},4451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.combineSourceMaps=t.shouldSupportSourceMap=void 0;const o=r(1012),n=r(3073);t.shouldSupportSourceMap=function(){return!!o.hudConfig.supportSourceMap&&(process.execArgv.includes("--enable-source-maps")&&n.instrument_logger.warn("--enable-source-maps is set, enabling custom source-map-support anyway"),!0)},t.combineSourceMaps=function(e,t){if(0===e.length)return;if(1===e.length&&void 0===e[0].lineOffset)return e[0].map;const r=e.map(e=>({offset:{line:e.transformedLineOffset,column:e.transformedColumnOffset},map:{..."string"==typeof e.map?JSON.parse(e.map):e.map,file:t}})),o={version:3,file:t,sections:r};return JSON.stringify(o)}},4627:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateDynamicConfig=void 0;const o=r(9100);function n(e,t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r={...e};for(const o in t){const i=e[o],s=t[o];r[o]=n(i,s)}return r}t.updateDynamicConfig=function(e,t,r){const i=o.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!i.success)return r.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:i,remoteConfig:e}),t.dynamicConfig;const s=n(t.dynamicConfig,i.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==t.dynamicConfig.enableInvestigation&&(r.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),t.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),s}},4634:e=>{e.exports=require("source-map")},4715:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMemoryLimitBigEnough=t.getMemoryLimitInfo=void 0;const o=r(1012),n=r(3073),i=r(5290);t.getMemoryLimitInfo=function(){const e=(0,i.getPodMemoryLimit)(n.app_logger);return n.app_logger.info(`Pod memory limit: ${null===e.podMemoryLimitMB?"unknown":e.podMemoryLimitMB+"MB"} from ${e.source}, minimum required: ${o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER}MB`),e},t.isMemoryLimitBigEnough=function(e){return null===e.podMemoryLimitMB||e.podMemoryLimitMB>=(o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}},5124:e=>{e.exports=require("winston")},5290:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getPodMemoryLimit=void 0;const n=r(9896),i=o(r(857));let s=null;function a(e,t){const r=parseInt(e);if(isNaN(r))return null;const o=Math.floor(r/1048576);return o<=0||o>=131072?(t.debug(`Treating memory value (${e} bytes) as unlimited.`),null):o}function l(e,t,r){if(!e)return{podMemoryLimitMB:null,source:null};const o=a(e,r);return null!==o?{podMemoryLimitMB:o,source:t}:{podMemoryLimitMB:null,source:null}}function u(e){try{return(0,n.readFileSync)(e,"utf8")}catch{return null}}function c(){const e=i.default.totalmem();return{podMemoryLimitMB:Math.floor(e/1048576),source:"system-memory"}}t.getPodMemoryLimit=function(e){if(null!==s)return s;if("linux"!==i.default.platform())return s=c(),s;let t=function(e,t){for(const e of["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory.high"]){const r=u(e);if(!r)continue;const o=r.trim();if("max"===o){t.debug(`Found 'max' value in ${e}, will use system memory instead`);continue}const n=a(o,t);if(null!==n)return{podMemoryLimitMB:n,source:e}}return{podMemoryLimitMB:null,source:null}}(0,e);return null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=function(e,t){for(const e of["/sys/fs/cgroup/memory/memory.stat","/sys/fs/cgroup/memory/memory.limit_in_bytes"]){const r=u(e);if(r)if(e.endsWith("memory.stat")){const o=["hierarchical_memory_limit","memory.limit_in_bytes","limit_in_bytes"],n=r.split("\n");for(const r of o){const o=n.find(e=>e.startsWith(r));if(o){const n=l(o.split(" ")[1],`${e}:${r}`,t);if(null!==n.podMemoryLimitMB)return n}}}else{const o=l(r.trim(),e,t);if(null!==o.podMemoryLimitMB)return o}}return{podMemoryLimitMB:null,source:null}}(0,e),null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=c(),e.info(`No container memory limit found, using system memory: ${t.podMemoryLimitMB}MB`),s=t,t))}},5595:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterInfo=void 0;const s=i(r(6346)),a=r(8528),l=r(3073);function u(e,t=0){if(void 0!==e.loc&&null!==e.loc)return{line:e.loc.start.line,column:e.loc.start.column+t,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column+t}}function c(e){return s.types.isIdentifier(e.argument)?{name:e.argument.name,type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e,e.argument.name.length+3)}:(l.worker_logger.warn("Unsupported rest element",{type:e.argument.type}),{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e)})}function d(e){var t;if(e)switch(e?.type){case"Identifier":return{name:(t=e).name,type:a.ParameterTypes[t.type],sourcemap_location_hint:u(t,t.name.length)};case"AssignmentPattern":return function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),left:t,right:r}}(e,d(e.left),function(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"BigIntLiteral":case"DecimalLiteral":return{type:e.type,value:e.value};case"RegExpLiteral":return{type:e.type,value:e.pattern}}return{type:e.type}}(e.right));case"ArrayPattern":return function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),elements:t}}(e,e.elements.map(e=>d(e)).filter(e=>void 0!==e));case"RestElement":return c(e);case"ObjectPattern":{const t=[];return e.properties.forEach(e=>{if(s.types.isObjectProperty(e)){const r=s.types.isIdentifier(e.key)&&s.types.isIdentifier(e.value)||s.types.isAssignmentPattern(e.value)?void 0:d(e.key);t.push(function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),key:t,value:r}}(e,r,d(e.value)))}else s.types.isRestElement(e)&&t.push(c(e))}),function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),properties:t}}(e,t)}default:l.worker_logger.warn("Unsupported parameter type",{type:e.type})}}t.getParameterInfo=function(e,t){return e.node.params.map(e=>{try{return d(e)}catch(e){return}}).filter(e=>void 0!==e).map(e=>{let r;if(void 0!==e.sourcemap_location_hint){const{name:o,line:n,column:i}=t({line:e.sourcemap_location_hint.line,column:e.sourcemap_location_hint.column}),s={line_on_server:e.sourcemap_location_hint.line_on_server,column_on_server:e.sourcemap_location_hint.column_on_server};null===n||null===i?(l.worker_logger.debug("Could not find location for parameter",{type:e.type}),r={name:o??void 0,line:-1,column:-1,...s}):r={name:o??void 0,line:n,column:i,...s}}return{...e,name:r?.name??e.name,type:e.type,sourcemap_location_hint:r??e.sourcemap_location_hint}})}},5822:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopLogProcessPerformance=t.getCpuLimit=t.getCpuLimitUnsafe=t.loopLogThreadPerformance=void 0;const a=r(9896),l=s(r(857)),u=r(2987),c=i(r(1493)),d=r(2908),p=r(3431);function m(e){e.info("Trying to detect CPU limit");try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8"),r=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8");return e.info("CPU limit detected for cgroups v1",{cpuQuota:t,cpuPeriod:r}),"-1"===t?"unlimited":parseInt(t.toString())/parseInt(r.toString())}catch(t){try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu.max","utf8"),[r,o,n]=t.trim().split(" ");return e.info("CPU limit detected for cgroups v2",{max:r,period:o}),r&&o?"max"===r?"unlimited":parseInt(r)/parseInt(o):void e.info("cpu.max file is not in the expected format",t)}catch(r){return void e.info("Failed to detect CPU limit",{e:t,e2:r})}}}let f;t.loopLogThreadPerformance=async function(e,t,r){let o=u.performance.eventLoopUtilization(),n=u.performance.nodeTiming.toJSON();for await(const i of(0,p.unrefSetInterval)(t,void 0,{signal:r}))try{const t=u.performance.eventLoopUtilization(),r=u.performance.eventLoopUtilization(t,o);o=t;const i=c.getHeapStatistics(),s=u.performance.nodeTiming.toJSON(),a=s.idleTime-n.idleTime,l=s.duration-n.duration,d=a/l;n=s,e.info("thread performance statistics",{thread_elu_percentage:100*r.utilization,memory:{thread_heap_utilization_percentage:i.total_heap_size/i.heap_size_limit*100},idleTime:a,totalTime:l,idleTimePercentage:d})}catch(t){e.error("Failed logging thread performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}},t.getCpuLimitUnsafe=m;let g=!1;t.getCpuLimit=e=>(g||(f=(0,d.suppressTraces)(m)(e),g=!0),f),t.loopLogProcessPerformance=async function(e,r,o){const n=l.default.totalmem(),i=(0,t.getCpuLimit)(e);let s=process.cpuUsage();for await(const t of(0,p.unrefSetInterval)(r,void 0,{signal:o}))try{const t=process.memoryUsage(),o=process.uptime(),a=process.cpuUsage(),l={user:a.user-s.user,system:a.system-s.system};s=a;let u=(l.user+l.system)/(1e3*r);i&&"number"==typeof i&&(u/=i),e.info("process performance statistics",{memory:{process_memory_rss:t.rss,process_memory_utilization_percentage:t.rss/n*100},cpu:100*u,cpuStats:{limit:i,usagePercentage:100*u},uptime:o})}catch(t){e.error("Failed logging process performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}}},5919:e=>{e.exports=require("node:worker_threads")},6346:e=>{e.exports=require("@babel/core")},6460:e=>{e.exports=require("timers/promises")},6592:e=>{e.exports=require("node:inspector")},6760:e=>{e.exports=require("node:path")},6827:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseDeclarations=t.readFile=t.getRealPositionFunc=t.fixSourceMap=void 0;const a=i(r(6346)),l=r(8528),u=s(r(9896)),c=r(4634),d=r(1622),p=s(r(6760)),m=r(1012),f=r(8528),g=s(r(3176)),y=r(2784),h=r(3903),v=r(3073),_=r(8066),b=r(7064),E=r(5595),S=r(7087),C=r(1974),w=r(2298),I={babelrc:!1,configFile:!1};function M(e){let t;return t="string"==typeof e?JSON.parse(e):e,t.sources=t.sources.map(e=>e.replace(/^webpack:\/\/(?:@[^/]+?[/])?[^/]+\//,"")),t}function x(e,t,r){return o=>{const n=e?.originalPositionFor({line:o.line,column:o.column})??{line:o.line,column:o.column,source:null,name:null},i=null!==n.line?n.line+(t||0):null,s=null!==n.column?n.column+(1===n.line&&r||0):null;return{...n,line:i,column:s}}}let O;t.fixSourceMap=M,t.getRealPositionFunc=x,t.readFile=async function(e,t,r){try{if(t&&r){const o=Buffer.alloc(r-t),n=await u.default.promises.open(e,"r");return await n.read(o,0,r-t,t),await n.close(),o.toString("utf-8")}return await u.default.promises.readFile(e,"utf-8")}catch(t){return void v.worker_logger.error("Failed to read file",{filename:e,msg:t instanceof Error?t.message:t})}},t.parseDeclarations=async function(e,t,r=null,o){const{filename:n,bundlerBuildId:i,bundlerBuildIdGenerated:s,lineOffset:u,columnOffset:k,file_path_checksum:T,file_checksum:D,functionIds:F,sourceCodeHash:L,moduleBase:P}=e;if(v.worker_logger.debug("Parsing code",{filename:n}),o)try{if(!O){const e=(0,_.myRequire)("ts-node");O=e.create({...o,transpileOnly:!0,typeCheck:!1})}const e=function(e,t,r){try{return r.compile(e,t)}catch(e){return void v.worker_logger.warn("ts file pass, but failed to compile with ts-node",{filename:t,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(t,n,O);if(!e)return{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};t=e}catch(e){return v.worker_logger.error("Failed to require and compile ts file",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}}}else if(n.endsWith(".ts")||n.endsWith(".mts"))return v.worker_logger.error("ts file pass, but not found ts-options"),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};const H=(0,g.default)(t).readUInt32BE();if(H!==D)return v.worker_logger.warn("File checksum mismatch",{filename:n,file_path_checksum:T,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};const U=u?null:(0,y.getSourceMap)(n,t);let j,N;try{null!==U&&(N=(0,g.default)(U).readUInt32BE(),m.hudConfig.userConfig.disableSourceMapsResolution?.value||(j=JSON.parse(U)))}catch(e){v.worker_logger.error("Failed to parse source map",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const B=x(j?await new c.SourceMapConsumer(M(j)):void 0,u,k);v.worker_logger.debug("Parsing code",{filename:n});const A=[],R=await a.parseAsync(t,I);if(null===R)return v.worker_logger.warn("Failed parsing code to tree",{filename:n,file_path_checksum:T,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};v.worker_logger.debug("Parsed code to tree",{filename:n});const q=[{type:l.EntityType.Program,symbol:{sourcemap_location_hints:[]},context:{},childrenCount:{},siblingIndex:0}],$=new Set;v.worker_logger.debug("Traversing declarations",{filename:n}),r?.postMessage("eventlooptime"),a.traverse(R,{[w.NamespaceScopeAlias]:{enter(e){const{node:r}=e;if(!(0,w.isNamespaceScopeable)(r))return;const o=q[q.length-1];let i=(0,S.getScope)(e);if(!i)return;i=(0,C.resolveScopeSymbols)(B,i);const s=o.childrenCount[i.type]||0,a={...i,childrenCount:{},siblingIndex:s};if(o.childrenCount[i.type]=s+1,q.push(a),$.add(r),e.isFunction()){const r=function(e,t,r,o,n,i,s){try{const l=e;let u=e.node.body.loc?.start?.index;if(void 0===u)throw new Error("Function node has no block start location");if(void 0===e.node.start||null===e.node.start||void 0===e.node.end||null===e.node.end)throw new Error("Function node has no start or end location");"ArrowFunctionExpression"===l.node.type&&l.node.body.extra?.parenthesized&&l.node.body.extra?.parenStart&&Number.isInteger(l.node.body.extra.parenStart)&&(u=l.node.body.extra.parenStart);const c=function(e,t,r,o){const n=o.slice(0,r),i=`${e}_${t}_${Buffer.byteLength(n,"utf8")}`;return(0,h.v5)(i,m.hudConfig.functionUuidNamespace).toString()}(t,r,u-(n-1),i),y=(a=i.slice(e.node.start,e.node.end),(0,g.default)(a).readUInt32BE().toString());if(!y)return void v.worker_logger.warn("Function hash not found",{functionID:c,filename:r});const _=l.node.async||!1,S=(0,C.getNodeLocation)(l.node,s),w=S.start.source??r,I=(0,b.getEntityType)(l),M=(0,d.getMethodKind)(l.node),x=(0,d.getContextualData)(l);x.symbol&&(x.symbol=(0,C.resolveSymbol)(s,x.symbol)),x.callback?.callee.symbol&&(x.callback.callee.symbol=(0,C.resolveSymbol)(s,x.callback.callee.symbol));const O=(0,E.getParameterInfo)(l,s),{siblingIndex:k,childrenCount:T}=o[o.length-1],D=o.slice(0,-1),F=(0,d.getFunctionIdentifier)(l),L=(0,C.resolveSymbol)(s,{name:F?.name,sourcemap_location_hints:F?(0,C.getLocationList)(F,F.name):(0,C.getLocationList)(l.node,void 0),format:F?"%s":void 0});return{module:p.default.parse(w).name,symbol:L,context:x,file:w,type:I,format:f.Format.cjs,parameters:O,async:_,start_line:S.start.line,end_line:S.end.line,start_column:S.start.column,source_code_hash:y,runtime_function_id:c,scope_chain:D,declarations_count:0,methodKind:M,siblingIndex:k,childrenCount:T,original_location:{file:r,start_line:e.node.loc?.start?.line,end_line:e.node.loc?.end?.line,start_column:e.node.loc?.start?.column,end_column:e.node.loc?.end?.column}}}catch(e){v.worker_logger.error("Failed to handle function",{filename:r,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}var a}(e,L,n,q,P,t,B);r&&A.push(r)}},exit(e){$.has(e.node)&&(q.pop(),$.delete(e.node))}}}),v.worker_logger.debug("Traversed declarations",{filename:n});const K=new Set(A.map(e=>e.runtime_function_id)),z=[],W=[];A.forEach(e=>{K.has(e.runtime_function_id)?z.push({...e,declarations_count:A.length,bundler_build_id:i,was_bundler_build_id_generated:s,has_input_map:void 0!==j,sourcemap_crc:N,file_path_checksum:T,file_checksum:D}):W.push(e)}),W.length>0&&v.worker_logger.warn("Function IDs mismatch, missing instrumentation",{filename:n,runtimeFunctionIds:F,missingInstrumentation:W}),new Set(F).forEach(e=>{K.has(e)&&K.delete(e)});const V=K.size>0;return V&&v.worker_logger.error("Function IDs mismatch, missing declerations",{filename:n,missingRuntimeFunctionIds:[...K]}),{declarations:z,blacklist:V?{file_path_checksum:T,file_checksum:D,uuids:[...K]}:void 0}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7064:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getEntityIdentity=t.getEntityType=void 0;const o=r(6346),n=r(8528),i=r(3073);t.getEntityType=function(e){const{node:t}=e;return o.types.isFunctionDeclaration(t)?n.EntityType.FunctionDeclaration:o.types.isFunctionExpression(t)?n.EntityType.FunctionExpression:o.types.isArrowFunctionExpression(t)?n.EntityType.FunctionArrow:o.types.isObjectMethod(t)?n.EntityType.ObjectMethod:o.types.isStaticBlock(t)||o.types.isClassMethod(t)?n.EntityType.ClassMethod:o.types.isClassPrivateMethod(t)?n.EntityType.ClassPrivateMethod:o.types.isClassDeclaration(t)?n.EntityType.ClassDeclaration:o.types.isClassExpression(t)?n.EntityType.ClassExpression:o.types.isForInStatement(t)||o.types.isForOfStatement(t)||o.types.isForStatement(t)?n.EntityType.ForLoop:o.types.isBlockStatement(t)?function(e){const t=e.parentPath.node;if(!(o.types.isFunctionDeclaration(t)||o.types.isFunctionExpression(t)||o.types.isArrowFunctionExpression(t)||o.types.isClassMethod(t)||o.types.isObjectMethod(t)||o.types.isClassPrivateMethod(t)))if(o.types.isIfStatement(t)){if("consequent"===e.parentKey)return n.EntityType.IfConsequent;if("alternate"===e.parentKey)return n.EntityType.IfAlternate;if("test"===e.parentKey)return n.EntityType.IfTest}else{if(o.types.isBlockStatement(t)||o.types.isProgram(t))return n.EntityType.Block;if(o.types.isTryStatement(t)){if("block"===e.parentKey)return n.EntityType.Try;if("finalizer"===e.parentKey)return n.EntityType.Finally}else{if(o.types.isCatchClause(t))return;if(o.types.isWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(o.types.isDoWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(!(o.types.isForStatement(t)||o.types.isForInStatement(t)||o.types.isForOfStatement(t)))return;if("test"===e.parentKey)return n.EntityType.ForTest;if("body"===e.parentKey)return n.EntityType.ForBlock}}}(e):o.types.isProgram(t)?n.EntityType.Program:o.types.isDoWhileStatement(t)?n.EntityType.DoWhile:o.types.isWhileStatement(t)?n.EntityType.While:o.types.isCatchClause(t)?n.EntityType.Catch:o.types.isObjectExpression(t)?n.EntityType.ObjectExpression:o.types.isWithStatement(t)?n.EntityType.With:o.types.isSwitchStatement(t)?n.EntityType.Switch:o.types.isSwitchCase(t)?n.EntityType.SwitchCase:o.types.isTryStatement(t)?n.EntityType.TryCatch:o.types.isIfStatement(t)?n.EntityType.If:n.EntityType.Other},t.getEntityIdentity=function(e){return o.types.isFunctionDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Function declaration without an identifier"):o.types.isClassDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Class declaration without an identifier"):o.types.isFunctionExpression(e)||o.types.isClassExpression(e)?o.types.isIdentifier(e.id)?e.id:void 0:o.types.isClassMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Class method without an identifier"):o.types.isObjectMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Object method without an identifier"):o.types.isClassPrivateMethod(e)?o.types.isIdentifier(e.key.id)?e.key.id:void i.worker_logger.info("Class private method without an identifier"):void 0}},7087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getScope=void 0;const o=r(7064),n=r(1974),i=r(1622);t.getScope=function(e){const t=(0,o.getEntityType)(e);if(t){const r=(0,o.getEntityIdentity)(e.node),s=r?.name;return{type:t,context:(0,i.getContextualData)(e),symbol:{name:s,sourcemap_location_hints:r?(0,n.getLocationList)(r,s):(0,n.getLocationList)(e.node,void 0),format:r?"%s":void 0},methodKind:(0,i.getMethodKind)(e.node)}}}},7582:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nextLoopDummy=void 0;const r=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function o(e){return await fetch(`${r}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}t.nextLoopDummy=async function(e){for(;;)try{(await o(e)).ok||await new Promise(e=>setTimeout(e,50))}catch(e){await new Promise(e=>setTimeout(e,50))}}},8066:(e,t)=>{let r;Object.defineProperty(t,"__esModule",{value:!0}),t.myRequire=void 0;try{r=require}catch(e){r=void 0}t.myRequire=r},8138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getNetworkError=t.UserErrorLogs=t.setFirstError=t.getFirstError=t.isAbortError=t.HudNoMessageInSqsConsumerEmit=t.HudNoErrorInSqsConsumerEmit=t.HudNoEventTypeInSqsConsumerEmit=t.HudFailExtractSqsQueueName=t.HudNoCallbackInSqsConsumerOn=t.HudNoEventTypeInSqsConsumerOn=t.HudNoQueueUrlInSqsConsumer=t.HudSqsError=t.HudExtensionNextFailedError=t.HudExtensionRegisterError=t.HudExtnensionError=t.HudBadLoggerError=t.HudInitNetworkError=t.HudTsNodeNotFoundButUsed=t.HudSessionThrottle=t.HudNoTranspileOnlyError=t.HudClientExceededMaxRetries=t.HudClientUnauthorizedError=t.HudTimeoutError=t.HudWorkloadCollectorError=t.HudAssert=t.HudUnsupportedError=t.HudEditError=t.HudWorkerError=t.HudClientError=t.HudInitError=t.HudError=void 0;const o=r(1012);class n extends Error{code=9e3;name=this.constructor.name;constructor(e){super(e)}}t.HudError=n;class i extends n{code=9001}t.HudInitError=i,t.HudClientError=class extends n{code=9002;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudWorkerError=class extends n{code=9003};class s extends n{code=9004}t.HudEditError=s,t.HudUnsupportedError=class extends s{code=9005},t.HudAssert=class extends s{code=9006},t.HudWorkloadCollectorError=class extends n{code=9007},t.HudTimeoutError=class extends n{code=9008},t.HudClientUnauthorizedError=class extends n{code=9009},t.HudClientExceededMaxRetries=class extends n{code=9010},t.HudNoTranspileOnlyError=class extends n{code=9011},t.HudSessionThrottle=class extends i{code=9012},t.HudTsNodeNotFoundButUsed=class extends n{code=9013},t.HudInitNetworkError=class extends n{code=9014;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudBadLoggerError=class extends n{code=9101};class a extends n{code=9200}t.HudExtnensionError=a,t.HudExtensionRegisterError=class extends a{code=9201},t.HudExtensionNextFailedError=class extends a{code=9202};class l extends n{code=9250}t.HudSqsError=l,t.HudNoQueueUrlInSqsConsumer=class extends l{code=9251},t.HudNoEventTypeInSqsConsumerOn=class extends l{code=9252},t.HudNoCallbackInSqsConsumerOn=class extends l{code=9253},t.HudFailExtractSqsQueueName=class extends l{code=9254},t.HudNoEventTypeInSqsConsumerEmit=class extends l{code=9255},t.HudNoErrorInSqsConsumerEmit=class extends l{code=9256},t.HudNoMessageInSqsConsumerEmit=class extends l{code=9257},t.isAbortError=function(e){return e instanceof Error&&"AbortError"===e.name};let u=9999;t.getFirstError=function(){return u},t.setFirstError=function(e){e&&9999===u&&(u=e)},t.UserErrorLogs={HudServiceNotSet:()=>({level:"error",errCode:"E1001",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE was not set. Please set service name using the environment variable HUD_SERVICE."}),HudServiceInvalid:()=>({level:"error",errCode:"E1002",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE value has invalid service name. Please set service name using the environment variable HUD_SERVICE."}),HudApiKeyNotSet:()=>({level:"error",errCode:"E1004",moreInfo:!0,message:"Can't load Hud, HUD_KEY was not set. Please set API key using the environment variable HUD_KEY."}),HudApiKeyInvalid:()=>({level:"error",errCode:"E1005",moreInfo:!0,message:"Can't load Hud, HUD_KEY value has invalid API key. Please set a valid key in environment variable HUD_KEY."}),BothApiKeyAndServiceNotSet:()=>({level:"error",errCode:"E1007",moreInfo:!0,message:"Can't load Hud, HUD_KEY and HUD_SERVICE were not set. Please set API key using the environment variable HUD_KEY and service name using the environment variable HUD_SERVICE."}),InvalidTag:()=>({level:"warn",errCode:"E1008",moreInfo:!0,message:"HUD_TAGS should be of type Key-Value Object, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),TagWithDots:()=>({level:"warn",errCode:"E1009",moreInfo:!0,message:"HUD_TAGS keys can't contain dots; they have been replaced with underscores."}),TagsInvalidJson:()=>({level:"warn",errCode:"E1010",moreInfo:!0,message:"Can't load Hud, HUD_TAGS is not a valid JSON, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),ApiKeyDenied:e=>({level:"error",errCode:"E1011",moreInfo:!0,message:`Can't load Hud, the provided key is invalid. Please provide a valid HUD_KEY in your ${{ENV:"environment variable",CONFIG_FILE:"file",CONFIG_ENV:"HUD_CONFIG",INIT:"init function",SETUP:"setup function"}[e]}.`}),ShutdownGracefully:e=>({level:"error",errCode:`E${e}`,message:"SDK has initiated a graceful shutdown. Your application remains unaffected"}),UnsupportedNodeVersion:()=>({level:"error",errCode:"E1012",moreInfo:!0,message:"Can't load Hud due to an unsupported node version."}),UnsupportedSyntax:()=>({level:"error",errCode:"E1014",moreInfo:!0,message:"Can't load Hud due to an unsupported syntax version."}),UnsupportedLambdaMemory:()=>({level:"error",errCode:"E1015",moreInfo:!0,message:`Can't load Hud as lambda function memory size is less than ${o.hudConfig.lambdaMinimunMemory}MB.`}),JSONErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1016",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid JSON. Please set a valid json in Hud's config ${e}`+(t?`, Error: ${t}.`:".")}),ZodErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1017",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid value for field: ${t}. Please set a valid value for ${t} in the config ${e}.`}),ConfigInaccessible:e=>({level:"error",errCode:"E1018",moreInfo:!0,message:`Can't load Hud, the config file is inaccessible. Please make sure your node application has read permissions to the Hud config file, ${e}.`}),SetupCalledWithoutKey:()=>({level:"error",errCode:"E1019",moreInfo:!0,message:"API key not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),SetupCalledWithoutService:()=>({level:"error",errCode:"E1020",moreInfo:!0,message:"Service name parameter not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),HudEnableIsFalse:()=>({level:"warn",errCode:"E1021",moreInfo:!0,message:"HUD_ENABLE is set to false. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InstrumentedFunctionCountExceeded:e=>({level:"error",errCode:"E1022",moreInfo:!0,message:`SDK limit of ${e} instrumented functions exceeded. SDK has initiated a graceful shutdown. Your application remains unaffected.`}),PodMemoryLimitTooLow:e=>({level:"error",errCode:"E1023",moreInfo:!0,message:`Insufficient memory available. Minimum required:(${e}MB). SDK has initiated a graceful shutdown. Your application remains unaffected.`}),DebuggerAttached:()=>({level:"error",errCode:"E1024",message:"Did not load as debugger is attached."}),InitSessionBeforeRegister:()=>({level:"error",errCode:"E1025",moreInfo:!0,message:"register() was not called, or called after initSession() - please call register() before initSession() and run again. Your application continues normally without Hud."}),RegisterMisplacedNoDeclarations:()=>({level:"warn",errCode:"E1026",moreInfo:!0,message:"Warning - No code has been mapped so far. This probably means register() was called too late — after your code was already loaded. Move it to the top of your entry file to enable proper mapping. Your application continues normally without Hud data."}),UnsupportedFrameworkVersion:e=>({level:"warn",errCode:"E1029",message:`Warning - Unsupported version of ${e} framework(s). This means Hud won't track your framework invocations. Your application continues normally, but with partial Hud data. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node#/`}),UninstrumentedFilesLogThresholdExceeded:e=>({level:"warn",errCode:"E1027",message:`Warning - ${e} of your code files were imported before register(). This means Hud won't track all of your functions. Please move register() call to an earlier location. To view the list of files use register({verbose: true}). Your application continues normally, but with partial Hud data.`,moreInfo:!0}),UninstrumentedFrameworks:e=>({level:"warn",errCode:"E1028",message:`Warning - The framework(s): ${e.map(e=>`"${e}"`).join(", ")} was imported before register(). This means Hud won't track your framework invocations. Please move register() call to an earlier location. Your application continues normally, but with partial Hud data.`}),YesDeclarationsNoMetrics:()=>({level:"warn",errCode:"E1032",moreInfo:!0,message:"Warning - Code mapped successfully, but no function activity was tracked. Make sure your service is running and actively handling requests."}),HudEnableNotSet:e=>({level:"error",moreInfo:!0,message:`Did not load as HUD_ENABLE is ${void 0===e?"undefined":"set to a non-true value"}. Please set HUD_ENABLE=true to run Hud.`}),LambdaNotViaLayer:()=>({level:"error",errCode:"E1034",message:"Can't load Hud, lambda support is currently in beta. Contact Hud to get early access."}),RunningInBun:()=>({level:"error",errCode:"E1035",message:"Hud does not support Bun yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),RunningOnWindows:()=>({level:"error",errCode:"E1036",message:"Hud does not support Windows yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),UnsupportedNativeBuild:()=>({level:"error",errCode:"E1037",message:"Hud does not support this platform yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),TsNodeNotTranspileOnly:()=>({level:"error",errCode:"E1038",message:"detected ts-node is used without the transpileOnly flag, which is not supported yet. SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),TsNodeNotFoundEvenThoughRunWithTsNode:()=>({level:"error",errCode:"E1039",message:"'ts-node' was detected but could not be resolved by Hud. This may happen if 'ts-node' is installed globally. Try installing it locally in your project. The SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),InitFailedDueGenericNetworkError:()=>({level:"error",moreInfo:!0,errCode:"E1040",message:"A network error occurred during SDK initialization. Please check your internet connection and try again. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkTimeout:()=>({level:"error",moreInfo:!0,errCode:"E1041",message:"The SDK failed to connect to Hud's backend due to a timeout during SDK initialization. Please verify your firewall settings to ensure outbound connections are allowed. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkRST:()=>({level:"error",moreInfo:!0,errCode:"E1042",message:"The SDK connection to Hud's backend was reset unexpectedly (RST) during SDK initialization. Please check your firewall or network security settings. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueSelfSignedCert:()=>({level:"error",moreInfo:!0,errCode:"E1043",message:"SSL certificate verification failed during SDK initialization. If your organization uses a self-signed certificate, set the NODE_EXTRA_CA_CERTS environment variable to the path of your CA certificate file. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueDnsFailed:()=>({level:"error",moreInfo:!0,errCode:"E1044",message:"The SDK failed to resolve DNS when attempting to connect to Hud's backend during SDK initialization. If the problem persists, please contact support. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueBackendError:()=>({level:"error",moreInfo:!0,errCode:"E1045",message:"Hud: The SDK was unable to complete initialization due to a temporary issue with Hud’s backend. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitTimeout:e=>({moreInfo:!0,level:"error",message:`SDK imported but not initialized. Please ensure to call '${e?"hud.initSession(KEY, SERVICE)":"hud.init()"}' to initialize the SDK.`}),RehookCalledBeforeRegister:()=>({level:"error",errCode:"E1046",moreInfo:!0,message:"register() was not called, or called after rehook() - please call register() before rehook() and run again. Your application continues normally with partial hud data."}),EsbuildMissingKey:()=>({level:"error",errCode:"ES0001",moreInfo:!0,message:"missing HUD_KEY, skipping Hud plugin, your build is unaffected."}),EsbuildFailedProcessingFile:e=>({level:"error",errCode:"ES0002",moreInfo:!0,message:`failed processing file "${e}", reverting to original loader.`}),EsbuildFailedBundling:()=>({level:"error",errCode:"ES0003",moreInfo:!0,message:"encountered unexpected file bundling, build aborted."}),EsbuildFailedParsingSourcemap:()=>({level:"error",errCode:"ES0004",moreInfo:!0,message:"failed parsing source maps, skipping upload, Hud will run without source maps."}),EsbuildFailedUploadingSourcemap:e=>({level:"error",errCode:"ES0005",moreInfo:!0,message:`failed uploading source map: ${e}, Hud will run without source maps.`}),EsbuildFailedUploadingSourcemapUnauthorized:()=>({level:"error",errCode:"ES0006",moreInfo:!0,message:"failed uploading source map: unauthorized, Hud will run without source maps."}),EsbuildUnsupportedPlatform:()=>({level:"error",errCode:"ES0007",message:'Can\'t load Hud, as our esbuild plugin supports "node" mode only. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix'}),EsbuildUnsupportedWindows:()=>({level:"error",errCode:"ES0008",message:"Can't load Hud, as our esbuild plugin does not supports windows. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix"})},t.getNetworkError=function(e){return{ECONNABORTED:t.UserErrorLogs.InitFailedDueNetworkTimeout(),ECONNREFUSED:t.UserErrorLogs.InitFailedDueNetworkRST(),ENOTFOUND:t.UserErrorLogs.InitFailedDueDnsFailed(),SELF_SIGNED_CERT_IN_CHAIN:t.UserErrorLogs.InitFailedDueSelfSignedCert(),ERR_BAD_RESPONSE:t.UserErrorLogs.InitFailedDueBackendError()}[e]??t.UserErrorLogs.InitFailedDueGenericNetworkError()}},8269:e=>{e.exports=require("./globalstate")},8287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(6827),t)},8528:e=>{e.exports=require("./dto")},8808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSqsFlowId=t.generateKafkaFlowId=t.generateGraphqlFlowId=t.generateEndpointFlowId=void 0;const o=r(3903),n="fa79d8b7-069c-4bbf-9c00-34bfc8b3a5a6";t.generateEndpointFlowId=function(e,t){return(0,o.v5)(`${e.toString()}|${Array.from(t).sort().join(",")}`,n)},t.generateGraphqlFlowId=function(e,t){return(0,o.v5)(`${e}|${t}`,n)},t.generateKafkaFlowId=function(e,t,r){return(0,o.v5)(`${e.toString()}|${t}|${r}`,n)},t.generateSqsFlowId=function(e,t,r=""){const i=`${e}|${t}|${r}`;return(0,o.v5)(i,n)}},8809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_MODULE_NAME=void 0,t.SDK_MODULE_NAME="hud-sdk"},9023:e=>{e.exports=require("util")},9100:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.updateInvestigationRateLimitGlobals=t.hudConfig=t.isValidParam=t.getModulesToTraceFromEnv=t.HudDynamicConfigSchema=void 0;const n=o(r(6928)),i=r(1569);t.HudDynamicConfigSchema=i.z.object({aggregationInterval:i.z.number(),flowMetricInterval:i.z.number(),graphqlInterval:i.z.number(),aggregationFirstSendTimeout:i.z.number(),flowMetricFirstSendTimeout:i.z.number(),enableInvestigation:i.z.boolean(),investigationRateLimits:i.z.object({maxSameInvestigations:i.z.number().int().positive(),sameInvestigationTimeWindowMs:i.z.number().int().positive(),maxTotalInvestigations:i.z.number().int().positive(),totalInvestigationTimeWindowMs:i.z.number().int().positive(),maxUniqLogs:i.z.number().int().positive()}),machineMetricsInterval:i.z.number().int().positive(),blacklistParams:i.z.array(i.z.string()),censorshipRegexes:i.z.array(i.z.object({regex:i.z.string(),replacement:i.z.string()}))}),t.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};const s=process.env.HUD_ENABLE_INVESTIGATION,a=process.env.HUD_HOST||"https://api-prod.hud.io",l=process.env.HUD_LOG_DIR,u="_HUD",c=process.env.HUD_LOG_TO_FILE,d={sink:{url:a,timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store"},logger:{default:{levels:{app:"warn",worker:"warn",instrument:"warn"}},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"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:l,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:18e5,endpointsFirstSendWaitTime:12e4,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:u,functionIdVarName:`${u}_fid`,frameworksToPatch:new Map([["express",{version:"<=5",patcher:"express",enableEsbuild:!0}],[n.default.join("express","lib","application.js"),{version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{version:"^2.0.0",patcher:"koa"}],["graphql/execution/execute",{version:"14 - 16",patcher:"graphql"}],["http",{version:"*",patcher:"http"}],["https",{version:"*",patcher:"http"}],["@nestjs/core/interceptors/interceptors-consumer",{version:"*",patcher:"nestjsInterceptor"}],["@nestjs/core/router/router-execution-context",{version:"*",patcher:"nestjsRouterExecutionContext"}],..."win32"!==process.platform?[["kafkajs",{version:">=1.4.0",patcher:"kafkajs"}],["@nestjs/microservices/context/rpc-context-creator",{version:">=7.0.0",patcher:"nestjsRpcContextCreator"}]]:[],[["@codegenie/serverless-express","src","frameworks","express.js"].join(n.default.sep),{version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{enableEsbuild:!0}],["sqs-consumer",{version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{enableEsbuild:!0}],[n.default.join("serverless-http","lib","framework","get-framework.js"),{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,flowMetricInterval:3e5,graphqlInterval:3e4,aggregationFirstSendTimeout:3e4,flowMetricFirstSendTimeout:3e4,enableInvestigation:"true"===s,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,blacklistParams:[],censorshipRegexes:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==s,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,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/",fileless:"true"!==c,uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"]};t.hudConfig=function(e={}){return{...d,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),t.default=t.hudConfig,t.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)}},9896:e=>{e.exports=require("fs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}var o={};return(()=>{var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.rehook=e.register=e.initSession=void 0;let t=!1,n=!1;function i(){const{customer_logger:e,app_logger:t,UserErrorLogs:o}=r(2546);t.warn("No declarations found, register() was called too late"),e.log(o.RegisterMisplacedNoDeclarations())}e.initSession=async function(e,o){try{const{customer_logger:i}=r(2546),{UserErrorLogs:s}=r(2546),{clearInitGuard:a}=r(8269),{init:l}=r(2240);if(a(),!t)return void i.log(s.InitSessionBeforeRegister());if(!n)return;return e&&""!==e&&"string"==typeof e?o&&""!==o&&"string"==typeof o?await l(e,o):void i.log(s.SetupCalledWithoutService()):void i.log(s.SetupCalledWithoutKey())}catch(e){"true"!==process.env.HUD_VERBOSE&&"true"!==process.env.HUD_DEBUG||console.log(e)}},e.register=function(e){try{const{forceHudEnable:o,saveInstrumentationIndicator:s,saveHudRunningFromSetup:a}=r(8269);t=!0,o();const{updateUserConfigFromInitOptions:l,hudConfig:u,customer_logger:c,shouldRunHud:d,updateUserConfigFromFile:p}=r(2546),{registerHook:m}=r(2030),{logRegisterInRightLocation:f}=r(1256);e&&l(e,"SETUP"),p();const g=d();if(!g.shouldRun)return void(null!==g.error&&c.log(g.error));m()&&(n=!0,f(e?.verbose??!1)),s(setTimeout(i,u.timeoutOnRegister)),a()}catch{}},e.rehook=function(){const{patchCompile:e}=r(2030),{customer_logger:o,UserErrorLogs:i}=r(2546);t?n&&e():o.log(i.RehookCalledBeforeRegister())}})(),o})());
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 o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(global,()=>(()=>{"use strict";var e={363:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateUserConfigFromInitOptions=t.updateUserConfigFromEnv=t.updateUserConfigFromFile=t.updateUserConfigFromInit=void 0;const o=r(8528),n=r(1569),i=r(8138),s=r(2794),a=r(3073),l=r(9100),u=o.HudInitOptionsSchema.omit({customOptions:!0}).extend({key:n.z.string().optional(),service:n.z.string().optional(),enable:n.z.boolean().optional(),enableDapulse:n.z.boolean().optional()});t.updateUserConfigFromInit=function(e,t){void 0!==e&&(l.hudConfig.userConfig.key={value:e,source:"INIT"}),void 0!==t&&(l.hudConfig.userConfig.service={value:t,source:"INIT"})},t.updateUserConfigFromFile=function(){let e;try{e=(0,s.getConfigContent)()}catch(e){throw e instanceof s.HudFailedReadConfigError&&"EACCES"===e.code&&a.customer_logger.log(i.UserErrorLogs.ConfigInaccessible(e.path)),e}if(e)try{const t=u.partial().parse(JSON.parse(e.content));Object.entries(t).forEach(([t,r])=>{!function(e,t,r){e[t]=r}(l.hudConfig.userConfig,t,{value:r,source:"HUD_CONFIG"===e.source?"CONFIG_ENV":"CONFIG_FILE"})})}catch(t){throw t instanceof n.ZodError?t.errors.forEach(t=>{const r=t.path.join(".");a.customer_logger.log(i.UserErrorLogs.ZodErrorInUserConfig(e.source,r))}):a.customer_logger.log(i.UserErrorLogs.JSONErrorInUserConfig(e.source,t.message)),t}},t.updateUserConfigFromEnv=function(){const e=process.env.HUD_KEY,t=process.env.HUD_SERVICE,r=process.env.HUD_ENABLE_DAPULSE,o=(0,l.getModulesToTraceFromEnv)(),n=process.env.HUD_MAX_INSTRUMENTED_FUNCTIONS,i=process.env.HUD_MIN_POD_MEMORY_MB;e&&(l.hudConfig.userConfig.key={value:e,source:"ENV"}),t&&(l.hudConfig.userConfig.service={value:t,source:"ENV"}),r&&(l.hudConfig.userConfig.enableDapulse={value:"true"===r,source:"ENV"}),o&&(l.hudConfig.userConfig.includeModules={value:o,source:"ENV"}),n&&(l.hudConfig.userConfig.maxMappedFunctions={value:parseInt(n),source:"ENV"}),i&&(l.hudConfig.userConfig.minPodMemoryMB={value:parseInt(i),source:"ENV"})},t.updateUserConfigFromInitOptions=function(e,t){e.includeModules&&Array.isArray(e.includeModules)&&(l.hudConfig.userConfig.includeModules={value:e.includeModules,source:t}),e.customOptions&&e.customOptions.dapulseSqsConsumer&&(l.hudConfig.userConfig.enableDapulse={value:"true"===e.customOptions.dapulseSqsConsumer,source:t}),e.maxMappedFunctions&&"number"==typeof e.maxMappedFunctions&&(l.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:t}),e.minPodMemoryMB&&"number"==typeof e.minPodMemoryMB&&(l.hudConfig.userConfig.minPodMemoryMB={value:e.minPodMemoryMB,source:t}),e.maxFileSizeBytes&&"number"==typeof e.maxFileSizeBytes&&(l.hudConfig.userConfig.maxFileSizeBytes={value:e.maxFileSizeBytes,source:t}),e.maxTimeUntilInitSessionMs&&"number"==typeof e.maxTimeUntilInitSessionMs&&(l.hudConfig.userConfig.maxTimeUntilInitSessionMs={value:e.maxTimeUntilInitSessionMs,source:t})}},669:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UserLogs=void 0,t.UserLogs={HudInitSuccess:()=>({level:"info",message:"Session started"}),FirstDecalarationSent:()=>({level:"info",message:"First code mapping sent successfully"}),FirstInvocationSent:()=>({level:"info",message:"First invocation sent successfully"}),HappyFlowCompleted:()=>({level:"info",message:"Your service is sending data successfully"}),FilesLoadedBeforeRegister:()=>({level:"info",message:"Files loaded before register():"}),FileBeforeRegisterTemplate:(e,t)=>({level:"info",message:`${e}. ${t}`}),InitIdleMode:()=>({level:"info",message:"Initialized successfully in idle mode."})}},857:e=>{e.exports=require("os")},1012:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=t.SDK_MODULE_NAME=void 0,n(r(9100),t),n(r(4627),t);var i=r(8809);Object.defineProperty(t,"SDK_MODULE_NAME",{enumerable:!0,get:function(){return i.SDK_MODULE_NAME}}),n(r(2684),t),n(r(363),t);var s=r(3312);Object.defineProperty(t,"SDK_VERSION",{enumerable:!0,get:function(){return s.SDK_VERSION}})},1256:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.logRegisterInRightLocation=t.filterFilesInsideFrameworks=void 0;const o=r(2030),n=r(2241);function i(e,t){return t.filter(t=>{if(t.endsWith(".js"))return!1;const r=`/node_modules/${t}/`;for(const t of e)if(t.includes(r))return!0;return!1})}t.filterFilesInsideFrameworks=i,t.logRegisterInRightLocation=function(e){try{!function(e){const t=globalThis.hudLoadedModules;if(!t)return;const r=t.filter(e=>!(0,o.skip)(e));if(r.length>n.hudConfig.uninstrumentedFilesLogThreshold&&n.customer_logger.log(n.UserErrorLogs.UninstrumentedFilesLogThresholdExceeded(r.length)),e){n.instrument_logger.info("Files loaded before register()",{count:r.length}),n.customer_logger.info(n.UserLogs.FilesLoadedBeforeRegister());let e=0;for(const t of r)n.customer_logger.info(n.UserLogs.FileBeforeRegisterTemplate(e,t)),e++}}(e)}catch(e){n.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 t=i(e,Array.from(n.hudConfig.frameworksToPatch.keys()));t.length>0&&(n.instrument_logger.info("Missing frameworks",{count:t.length}),n.customer_logger.log(n.UserErrorLogs.UninstrumentedFrameworks(t)))}()}catch(e){n.instrument_logger.error("Error in logPreLoadedFrameworks",{error:e,stack:e instanceof Error?e.stack:void 0})}}},1493:e=>{e.exports=require("v8")},1569:e=>{e.exports=require("zod")},1620:e=>{e.exports=require("winston-transport")},1622:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getMethodKind=t.getContextualData=t.getContextSymbol=t.getFunctionIdentifier=void 0;const s=i(r(6346)),a=r(6346),l=r(8528),u=r(8138),c=r(3073),d=r(2213),p=r(1974);function m(e,t){return{name:t,sourcemap_location_hints:(0,p.getLocationList)(e,t),format:"%s"}}function f(e){if(a.types.isIdentifier(e))return{name:e.name,sourcemap_location_hints:e.loc?[{name:e.name,line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column}]:[],format:"%s"};if(a.types.isMemberExpression(e)||a.types.isOptionalMemberExpression(e)){let t;t=a.types.isThisExpression(e.object)?{name:"this",sourcemap_location_hints:(0,p.getLocationList)(e.object,"this")}:f(e.object);const r=f(e.property),o=e.computed?t.name+"["+r.name+"]":t.name+"."+r.name,n=t.format??"%s",i=r.format??"%s",s=e.computed?`${n}[${i}]`:`${n}.${i}`;return{name:o,sourcemap_location_hints:[...t.sourcemap_location_hints,...r.sourcemap_location_hints],format:s}}if(a.types.isOptionalCallExpression(e)||a.types.isCallExpression(e))return f(e.callee);if(a.types.isSequenceExpression(e))return(0,d.isHudAwaitSequence)(e)?f((0,d.getHudAwaitSequenceElement)(e)):f(e.expressions[e.expressions.length-1]);if(a.types.isArrayExpression(e))return{name:"[]",sourcemap_location_hints:(0,p.getLocationList)(e,"[]"),format:"%s"};if(a.types.isObjectExpression(e))return{name:"{}",sourcemap_location_hints:(0,p.getLocationList)(e,"{}"),format:"%s"};if(a.types.isStringLiteral(e))return{name:`"${e.value}"`,sourcemap_location_hints:(0,p.getLocationList)(e,e.value),format:'"%s"'};throw new u.HudUnsupportedError("Unsupported left side of assignment - "+e.type+"loc - "+JSON.stringify(e.loc))}function g(e){const{node:t}=e;if(e.isExpression())try{return function(e){const{parent:t}=e;if(a.types.isVariableDeclarator(t)&&a.types.isIdentifier(t.id))return m(t,t.id.name);if(a.types.isObjectProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isClassProperty(t)&&a.types.isIdentifier(t.key))return m(t,t.key.name);if(a.types.isAssignmentExpression(t))return f(t.left);if(a.types.isAssignmentPattern(t))return f(t.left);throw new u.HudUnsupportedError(`Unsupported parent type - ${t.type} for me ${e.node.type}`)}(e)}catch(e){if(e instanceof u.HudUnsupportedError)return;throw e}c.worker_logger.debug("getContextSymbol; Unsupported node type",{type:t.type})}function y(e){const t=[];return e.arguments.forEach((e,r)=>{let o,n;a.types.isStringLiteral(e)?(o=l.ArgumentTypes.StringLiteral,n=e.value):a.types.isTemplateLiteral(e)?(o=l.ArgumentTypes.TemplateString,n=function(e){let t="";const r=e.quasis,o=e.expressions;for(let e=0;e<r.length;e++)t+=r[e].value.cooked,e<o.length&&(t+=`\${${h(o[e])}}`);return t=`\`${t}\``,t}(e)):a.types.isIdentifier(e)&&(o=l.ArgumentTypes.Identifier,n=e.name),o&&n&&t.push({index:r,type:o,value:n})}),t}function h(e){if(a.types.isIdentifier(e))return e.name;if(a.types.isStringLiteral(e))return e.value;if(a.types.isCallExpression(e)||a.types.isOptionalCallExpression(e)){const t=e;if(a.types.isIdentifier(t.callee))return t.callee.name;if(a.types.isMemberExpression(t.callee)||a.types.isOptionalMemberExpression(t.callee)){let e="";const r=t.callee;if(a.types.isThisExpression(r.object)?e+="this.":a.types.isIdentifier(r.object)&&(e+=`${r.object.name}.`),""!==e&&a.types.isIdentifier(r.property))return e+=`${r.property.name}`,e}}return""}t.getFunctionIdentifier=function(e){const{node:t}=e;if(a.types.isFunctionDeclaration(t)||a.types.isFunctionExpression(t)){if(a.types.isIdentifier(t.id))return t.id}else if(a.types.isClassMethod(t)){if(a.types.isIdentifier(t.key))return t.key}else if(a.types.isClassPrivateMethod(t)){if(a.types.isIdentifier(t.key.id))return t.key.id}else if(a.types.isObjectMethod(t)&&a.types.isIdentifier(t.key))return t.key},t.getContextSymbol=g,t.getContextualData=function(e){let t,r=!1;return(e.isFunctionExpression()||e.isArrowFunctionExpression())&&(t=function(e){const t=e.parentPath;if(t.isCallExpression())for(const[r,o]of t.node.arguments.entries())if(o===e.node){const e=t.node.callee;let o;try{o=f(e)}catch(t){if(!(t instanceof u.HudUnsupportedError))throw t;c.worker_logger.debug("could not get callee symbol recursively",{error:t,type:e.type})}const n=y(t.node);return{callee:{symbol:o,argsCount:t.node.arguments.length,args:n},index:r}}}(e),r=function(e){const t=e.parentPath;return!!t.isCallExpression()&&t.node.callee===e.node}(e)),{symbol:g(e),callback:t,immediatelyInvoked:r}},t.getMethodKind=function(e){if(s.types.isClassMethod(e)||s.types.isObjectMethod(e)||s.types.isClassPrivateMethod(e))return e.kind}},1974:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeLocation=t.resolveScopeSymbols=t.resolveSymbol=t.getLocationList=void 0;const n=o(r(9023)),i=r(3073);function s(e,t){let r=t.name;const o=t.sourcemap_location_hints.map(t=>{const r=e({line:t.line,column:t.column});if(null===r.line||null===r.column)return{name:t.name,line:-1,column:-1,line_on_server:t.line_on_server,column_on_server:t.column_on_server};let o=r.name??t.name??void 0;return o?.startsWith("#")&&(o=o.slice(1)),{name:o,line:r.line,column:r.column,line_on_server:t.line_on_server,column_on_server:t.column_on_server,resolved:!0}});return o.length>0&&o.every(e=>e.name)&&(t.format?Array.from(t.format.matchAll(/%s/g)).length!==o.length?i.worker_logger.warn("Format string does not match number of location hints",{format:t.format,locationHints:o}):r=n.default.format(t.format,...o.map(e=>e.name)):r=o.map(e=>e.name).join(".")),{name:r,sourcemap_location_hints:o}}t.getLocationList=function(e,t){return e.loc?[{line:e.loc.start.line,column:e.loc.start.column,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column,name:t}]:[]},t.resolveSymbol=s,t.resolveScopeSymbols=function(e,t){const{context:r}=t,o=r.symbol?s(e,r.symbol):void 0,n=s(e,t.symbol);return{...t,context:{...r,symbol:o},symbol:n}},t.getNodeLocation=function(e,t,r=void 0){const o=e.loc?.start,n=e.loc?.end;if(!o||!n)return i.worker_logger.info("Node without location",{filename:r,type:e.type}),{start:{source:null,line:-1,column:-1},end:{source:null,line:-1,column:-1}};const s=t({line:o.line,column:o.column}),a=t({line:n.line,column:n.column});return null!==s.line&&null!==s.column&&null!==a.line&&null!==a.column||(i.worker_logger.debug("Could not find location for function",{filename:r,type:e.type,locStart:o,locEnd:n}),s.line=-1,s.column=-1,a.line=-1,a.column=-1),{start:{source:s.source,line:s.line,column:s.column},end:{source:a.source,line:a.line,column:a.column}}}},2030:e=>{e.exports=require("./instrument")},2213:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getHudAwaitSequenceElement=t.isHudAwaitSequence=void 0;const o=r(6346),n=r(1012),i=r(8138);t.isHudAwaitSequence=function(e){if(e.expressions.length<2)return!1;const t=e.expressions[e.expressions.length-1];return!!o.types.isIdentifier(t)&&!!t.name.startsWith(n.hudConfig.wrapVarPrefix)},t.getHudAwaitSequenceElement=function(e){const t=e.expressions[0];if(!o.types.isAssignmentExpression(t))throw new i.HudUnsupportedError("Expected assignment expression");const{left:r,right:s}=t;if(!o.types.isIdentifier(r)||!r.name.startsWith(n.hudConfig.wrapVarPrefix))throw new i.HudUnsupportedError("Expected identifier starting with "+n.hudConfig.wrapVarPrefix);return s}},2240:e=>{e.exports=require("./core")},2241:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(1012),t),n(r(8287),t),n(r(8138),t),n(r(8808),t),n(r(2794),t),n(r(7582),t),n(r(3073),t),n(r(5290),t),n(r(5822),t),n(r(3699),t),n(r(4219),t),n(r(4451),t),n(r(2908),t),n(r(2451),t),n(r(3431),t),n(r(669),t),n(r(8066),t)},2298:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNamespaceScopeable=t.isHudScopeable=t.NamespaceScopeAlias=t.ScopableAlias=void 0;const o=r(6346);t.ScopableAlias="ArrowFunctionExpression|BlockStatement|CatchClause|ClassMethod|ClassPrivateMethod|DeclareModule|DoExpression|DoWhileStatement|ForInStatement|ForOfStatement|ForStatement|FunctionDeclaration|FunctionExpression|IfStatement|LabeledStatement|ObjectMethod|StaticBlock|SwitchCase|TSModuleBlock|TryStatement|WhileStatement|WithStatement|ClassDeclaration|ClassExpression|ObjectExpression|SwitchStatement",t.NamespaceScopeAlias="FunctionDeclaration|FunctionExpression|ArrowFunctionExpression|ObjectMethod|ClassMethod|ClassPrivateMethod|ClassDeclaration|ClassExpression|ObjectExpression",t.isHudScopeable=function(e){return o.types.isArrowFunctionExpression(e)||o.types.isBlockStatement(e)||o.types.isCatchClause(e)||o.types.isClassMethod(e)||o.types.isClassPrivateMethod(e)||o.types.isDeclareModule(e)||o.types.isDoExpression(e)||o.types.isDoWhileStatement(e)||o.types.isForInStatement(e)||o.types.isForOfStatement(e)||o.types.isForStatement(e)||o.types.isFunctionDeclaration(e)||o.types.isFunctionExpression(e)||o.types.isIfStatement(e)||o.types.isLabeledStatement(e)||o.types.isObjectMethod(e)||o.types.isProgram(e)||o.types.isStaticBlock(e)||o.types.isSwitchCase(e)||o.types.isTSModuleBlock(e)||o.types.isTryStatement(e)||o.types.isWhileStatement(e)||o.types.isWithStatement(e)||o.types.isClassDeclaration(e)||o.types.isClassExpression(e)||o.types.isObjectExpression(e)||o.types.isSwitchStatement(e)},t.isNamespaceScopeable=function(e){return o.types.isFunction(e)||o.types.isClass(e)||o.types.isObjectExpression(e)}},2451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getUserTsNodeConfig=void 0;const o=r(8138),n=r(3073),i=r(8066);t.getUserTsNodeConfig=function(e=!0){const t=function(){try{const e=i.myRequire.resolve("ts-node");if(!e)return;if(!i.myRequire.cache[e])return;const t=(0,i.myRequire)("ts-node"),r=process[t.REGISTER_INSTANCE];if(!r)return;return r.options}catch(e){return}}();if(t){if(!t.transpileOnly)throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotTranspileOnly()),n.app_logger.warn("ts-node is used but not configured to transpile only"),new o.HudNoTranspileOnlyError;return{cwd:t.cwd,project:t.project,projectSearchDir:t.projectSearchDir}}if(process.argv[0].endsWith("ts-node"))throw e&&n.customer_logger.log(o.UserErrorLogs.TsNodeNotFoundEvenThoughRunWithTsNode()),n.app_logger.info("ts-node not found even run with ts-node"),new o.HudTsNodeNotFoundButUsed}},2546:e=>{e.exports=require("./lib")},2684:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectStoreConfigSchema=void 0;const o=r(1569),n=o.z.object({type:o.z.literal("s3")}),i=o.z.object({type:o.z.literal("disk"),path:o.z.string()});t.ObjectStoreConfigSchema=o.z.union([n,i])},2784:e=>{e.exports=require("../native/_index")},2794:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getConfigContent=t.HudFailedReadConfigError=t.isHudEnabled=void 0;const s=i(r(9896)),a=i(r(6928)),l=r(8138),u=r(3073);t.isHudEnabled=function(){if("false"===process.env.HUD_ENABLE)return!1;if(globalThis.forceHudEnable)return!0;let e,t;try{if(e=d(),e&&(t=JSON.parse(e.content),!1===t.enable))return!1}catch(t){throw t instanceof c&&"EACCES"===t.code?u.customer_logger.log(l.UserErrorLogs.ConfigInaccessible(t.path)):e&&u.customer_logger.log(l.UserErrorLogs.JSONErrorInUserConfig(e.source,t instanceof Error?t.message:void 0)),t}return"true"===process.env.HUD_ENABLE||!0===t?.enable};class c extends Error{path;code;constructor(e,t){super(),this.path=e,this.code=t}}function d(){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 s.existsSync(e)?e:void 0;let t=__dirname,r=0;for(;"/"!==t&&r<10;){const e=`${t}/hud.config`;if(s.existsSync(e))return e;t=a.dirname(t),r++}}catch(e){return}}();if(e)try{return{content:s.readFileSync(e,"utf8"),source:e}}catch(t){throw new c(e,t.code)}}t.HudFailedReadConfigError=c,t.getConfigContent=d},2908:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.suppressTraces=void 0;const o=r(1012),n=r(3073),i=r(8066);let s,a;try{const e=(0,i.myRequire)("@opentelemetry/api"),t=(0,i.myRequire)("@opentelemetry/core");s=e.context,a=t.suppressTracing,n.app_logger.info("OpenTelemetry exists",{suppressConfig:o.hudConfig.suppressTraces})}catch(e){n.app_logger.info("OpenTelemetry api/core does not exist")}t.suppressTraces=function(e){return function(...t){return o.hudConfig.suppressTraces&&s&&a?(n.app_logger.debug("Running with Suppressed traces"),s.with(a(s.active()),()=>e(...t))):e(...t)}}},2987:e=>{e.exports=require("perf_hooks")},3073:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.worker_logger=t.instrument_logger=t.app_logger=t.customer_logger=t.formatLogMessage=t.SafeLogger=t.renewFileTransports=t.getSavedLogs=t.getLogPath=t.WorkerPortTransport=void 0;const a=i(r(6982)),l=i(r(9896)),u=i(r(857)),c=i(r(6928)),d=i(r(5124)),p=s(r(1620)),m=r(9100),f={...process.env.HUD_DEBUG?m.hudConfig.logger.debug:m.hudConfig.logger.default,console:!!process.env.HUD_VERBOSE};class g extends p.default{_messeagesToSend=[];messagesLimit=m.hudConfig.loggerWorkerPortSizeLimit;messageDropCount=0;getMessagesToSend(){if(!this._messeagesToSend.length)return!1;const e=this._messeagesToSend;this.clearMessagesToSend();const t=this.messageDropCount;return this.messageDropCount=0,{logsBuf:this.formatMessagesToSend(e),messageDropCount:t}}clearMessagesToSend(){this._messeagesToSend=[]}formatMessagesToSend(e){return e.map(e=>JSON.stringify(e)).join("\n")}log(e,t){this._messeagesToSend.length>=this.messagesLimit?this.messageDropCount++:this._messeagesToSend.push(e),t()}}t.WorkerPortTransport=g;const y=d.format.combine(d.format.timestamp({format:"HH:mm:ss.SSS"}),d.format.printf(({level:e,message:t,timestamp:r,label:o,...n})=>{try{const i=Object.keys(n).length;let s;if(i)if(1===i){const e=Object.keys(n)[0];s=`${t} ${e}: ${JSON.stringify(n[e],null,2)}`}else s=`${t}\n${JSON.stringify(n,null,2)}`;else s=t;const a=d.format.colorize().colorize(e,e.toUpperCase());return`[${r}]${(o?`(${o})`:"").padEnd(8," ")} ${a}: ${s}`}catch(e){return t}}));function h(e){return d.format.combine(d.format.label({label:e}),d.format.timestamp({format:()=>(new Date).toISOString()}),d.format.json())}function v(e){return{filename:E(),level:f.levels[e],format:h(e),lazy:!1}}function _(){if(m.hudConfig.logDirectory)return m.hudConfig.logDirectory;const e=u.homedir();switch(u.platform()){case"darwin":return c.join(e,"Library","Logs","hud");case"win32":return c.join(e,"AppData","hud","Logs");default:return c.join(e,".hud","logs")}}let b;function E(){return b??=c.join(_(),`${a.randomUUID()}.log`)}t.getLogPath=E,t.getSavedLogs=function(){const e=[];for(const[t,r]of Object.entries(S))for(const t of r.transports)try{if(t instanceof g){const o=t.getMessagesToSend();if(!o)continue;const{logsBuf:n,messageDropCount:i}=o;i&&r.info(`Dropped ${i} messages`),e.push(n)}}catch(e){r.error("Failed to get saved logs",e)}return e},t.renewFileTransports=function(){const e=new Date,t=new Set;for(const[r,o]of Object.entries(S)){const r=[],n=[];for(const i of o.transports)if(i instanceof d.transports.File){r.push(i),n.push(new d.transports.File({level:i.level,format:i.format,filename:c.join(i.dirname,i.filename),lazy:!1}));const o=c.join(_(),`${a.randomUUID()}-${e.toISOString().replaceAll(":","")}.log`);l.existsSync(c.join(i.dirname,i.filename))&&(l.renameSync(c.join(i.dirname,i.filename),o),t.add(o))}for(const e of r)o.remove(e),e.close&&e.close();for(const e of n)o.add(e)}return t};const S={};class C{name;logger;constructor(e){this.name=e;try{this.logger=function(e){const t=[];f.console&&t.push(new d.transports.Console({format:d.format.combine(d.format.label({label:e}),y)}));let r=!1;if(!m.hudConfig.fileless)try{t.push(function(e){const t=v(e),r=c.dirname(t.filename);return l.mkdirSync(r,{recursive:!0}),l.writeFileSync(t.filename,"",{flag:"w"}),new d.transports.File(t)}(e))}catch{r=!0}(m.hudConfig.fileless||r)&&t.push(function(e){const t=h(e);return new g({format:t})}(e));const o=d.createLogger({level:f.levels[e],transports:t});return S[e]=o,r&&o.info("Could not create file transport, fallback succesfully to worker port"),m.hudConfig.fileless&&o.info("Fileless mode is enabled"),o}(e)}catch(e){this.logger=void 0}}isValid(){return!!this.logger}log(e,t,...r){if(this.logger)try{this.logger.log(e,t,...r)}catch{}}error(e,...t){this.log("error",e,...t)}warn(e,...t){this.log("warn",e,...t)}info(e,...t){this.log("info",e,...t)}http(e,...t){this.log("http",e,...t)}verbose(e,...t){this.log("verbose",e,...t)}debug(e,...t){this.log("debug",e,...t)}silly(e,...t){this.log("silly",e,...t)}}function w(e,t,r){let o=`Hud: ${e}`;return r&&(o+=" For more information visit https://docs.hud.io/docs/node-sdk-ie."),void 0!==t&&(o+=` ${t}`),o}t.SafeLogger=C,t.formatLogMessage=w,t.customer_logger=d.createLogger({level:m.hudConfig.customerLoggerLevel,transports:[new d.transports.Console({})],format:d.format.printf(({message:e,errCode:t,moreInfo:r})=>{try{return w(e,t,r)}catch(t){return e}})}),t.app_logger=new C("app"),t.instrument_logger=new C("instrument"),t.worker_logger=new C("worker")},3176:e=>{e.exports=require("buffer-crc32")},3312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_VERSION=void 0,t.SDK_VERSION="1.6.10"},3431:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.unrefSetInterval=t.unrefSetTimeout=t.unrefSetImmediate=void 0;const s=i(r(6460));t.unrefSetImmediate=function(e,t){return s.setImmediate(e,{...t,ref:!1})},t.unrefSetTimeout=function(e,t,r){return s.setTimeout(e,t,{...r,ref:!1})},t.unrefSetInterval=function(e,t,r){return s.setInterval(e,t,{...r,ref:!1})}},3699:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.shouldRunHud=t.isSupportedNative=t.isDebuggerAttached=void 0;const s=i(r(6592)),a=r(5919),l=r(1012),u=r(8138),c=r(4715),d=r(2794),p=r(3073);function m(){if("true"===process.env.HUD_ALLOW_DEBUGGER)return!1;if(process.execArgv.some(e=>e.includes("--inspect")||e.includes("--debug")||e.includes("--inspect-brk")||e.includes("--debug-brk")))return!0;try{return"string"==typeof s.url()}catch(e){return!1}}function f(){return void 0!==r(2784).transform}t.isDebuggerAttached=m,t.isSupportedNative=f,t.shouldRunHud=function(){return"false"===process.env.HUD_ENABLE?{shouldRun:!1,error:u.UserErrorLogs.HudEnableIsFalse()}:a.isMainThread?(0,d.isHudEnabled)()?process.versions.bun?{shouldRun:!1,error:u.UserErrorLogs.RunningInBun()}:function(){const e=process.versions.node.split(".")[0];return!!l.hudConfig.supportedNodeVersions.includes(e)}()?process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE&&!function(){try{return"1"===process.env.HUD_INTERNAL_EXEC_WRAPPER_USED}catch(e){return!1}}()?{shouldRun:!1,error:u.UserErrorLogs.LambdaNotViaLayer()}:m()?{shouldRun:!1,error:u.UserErrorLogs.DebuggerAttached()}:function(){const e=(0,c.getMemoryLimitInfo)();return!!(0,c.isMemoryLimitBigEnough)(e)}()?f()?{shouldRun:!0}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNativeBuild()}:{shouldRun:!1,error:u.UserErrorLogs.PodMemoryLimitTooLow(l.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}:{shouldRun:!1,error:u.UserErrorLogs.UnsupportedNodeVersion()}:{shouldRun:!1,error:u.UserErrorLogs.HudEnableNotSet(process.env.HUD_ENABLE)}:(p.app_logger.info("required not from main thread"),{shouldRun:!1,error:null})}},3903:e=>{e.exports=require("uuid")},4219:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.safeCall=void 0;const o=r(8138);t.safeCall=function(e,t){return t.catch(t=>{(0,o.isAbortError)(t)||e.error("Unhandled exception on async task",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})})}},4451:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.combineSourceMaps=t.shouldSupportSourceMap=void 0;const o=r(1012),n=r(3073);t.shouldSupportSourceMap=function(){return!!o.hudConfig.supportSourceMap&&(process.execArgv.includes("--enable-source-maps")&&n.instrument_logger.warn("--enable-source-maps is set, enabling custom source-map-support anyway"),!0)},t.combineSourceMaps=function(e,t){if(0===e.length)return;if(1===e.length&&void 0===e[0].lineOffset)return e[0].map;const r=e.map(e=>({offset:{line:e.transformedLineOffset,column:e.transformedColumnOffset},map:{..."string"==typeof e.map?JSON.parse(e.map):e.map,file:t}})),o={version:3,file:t,sections:r};return JSON.stringify(o)}},4627:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.updateDynamicConfig=void 0;const o=r(9100);function n(e,t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r={...e};for(const o in t){const i=e[o],s=t[o];r[o]=n(i,s)}return r}t.updateDynamicConfig=function(e,t,r){const i=o.HudDynamicConfigSchema.deepPartial().safeParse(e);if(!i.success)return r.error("Dynamic configuration not updated - Invalid configuration override",{remoteConfigParseResult:i,remoteConfig:e}),t.dynamicConfig;const s=n(t.dynamicConfig,i.data);return void 0!==s.enableInvestigation&&s.enableInvestigation!==t.dynamicConfig.enableInvestigation&&(r.info("Dynamic configuration updated - enableInvestigation",{hudEnableInvestigation:s.enableInvestigation}),t.isInvestigationEnabledByEnv||(globalThis.hudEnableInvestigation=s.enableInvestigation)),s}},4634:e=>{e.exports=require("source-map")},4715:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isMemoryLimitBigEnough=t.getMemoryLimitInfo=void 0;const o=r(1012),n=r(3073),i=r(5290);t.getMemoryLimitInfo=function(){const e=(0,i.getPodMemoryLimit)(n.app_logger);return n.app_logger.info(`Pod memory limit: ${null===e.podMemoryLimitMB?"unknown":e.podMemoryLimitMB+"MB"} from ${e.source}, minimum required: ${o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER}MB`),e},t.isMemoryLimitBigEnough=function(e){return null===e.podMemoryLimitMB||e.podMemoryLimitMB>=(o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)}},5124:e=>{e.exports=require("winston")},5290:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getPodMemoryLimit=void 0;const n=r(9896),i=o(r(857));let s=null;function a(e,t){const r=parseInt(e);if(isNaN(r))return null;const o=Math.floor(r/1048576);return o<=0||o>=131072?(t.debug(`Treating memory value (${e} bytes) as unlimited.`),null):o}function l(e,t,r){if(!e)return{podMemoryLimitMB:null,source:null};const o=a(e,r);return null!==o?{podMemoryLimitMB:o,source:t}:{podMemoryLimitMB:null,source:null}}function u(e){try{return(0,n.readFileSync)(e,"utf8")}catch{return null}}function c(){const e=i.default.totalmem();return{podMemoryLimitMB:Math.floor(e/1048576),source:"system-memory"}}t.getPodMemoryLimit=function(e){if(null!==s)return s;if("linux"!==i.default.platform())return s=c(),s;let t=function(e,t){for(const e of["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory.high"]){const r=u(e);if(!r)continue;const o=r.trim();if("max"===o){t.debug(`Found 'max' value in ${e}, will use system memory instead`);continue}const n=a(o,t);if(null!==n)return{podMemoryLimitMB:n,source:e}}return{podMemoryLimitMB:null,source:null}}(0,e);return null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=function(e,t){for(const e of["/sys/fs/cgroup/memory/memory.stat","/sys/fs/cgroup/memory/memory.limit_in_bytes"]){const r=u(e);if(r)if(e.endsWith("memory.stat")){const o=["hierarchical_memory_limit","memory.limit_in_bytes","limit_in_bytes"],n=r.split("\n");for(const r of o){const o=n.find(e=>e.startsWith(r));if(o){const n=l(o.split(" ")[1],`${e}:${r}`,t);if(null!==n.podMemoryLimitMB)return n}}}else{const o=l(r.trim(),e,t);if(null!==o.podMemoryLimitMB)return o}}return{podMemoryLimitMB:null,source:null}}(0,e),null!==t.podMemoryLimitMB?(e.info(`Found pod memory limit: ${t.podMemoryLimitMB}MB from ${t.source}`),t):(t=c(),e.info(`No container memory limit found, using system memory: ${t.podMemoryLimitMB}MB`),s=t,t))}},5595:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterInfo=void 0;const s=i(r(6346)),a=r(8528),l=r(3073);function u(e,t=0){if(void 0!==e.loc&&null!==e.loc)return{line:e.loc.start.line,column:e.loc.start.column+t,line_on_server:e.loc.start.line,column_on_server:e.loc.start.column+t}}function c(e){return s.types.isIdentifier(e.argument)?{name:e.argument.name,type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e,e.argument.name.length+3)}:(l.worker_logger.warn("Unsupported rest element",{type:e.argument.type}),{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e)})}function d(e){var t;if(e)switch(e?.type){case"Identifier":return{name:(t=e).name,type:a.ParameterTypes[t.type],sourcemap_location_hint:u(t,t.name.length)};case"AssignmentPattern":return function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),left:t,right:r}}(e,d(e.left),function(e){switch(e.type){case"StringLiteral":case"NumericLiteral":case"BooleanLiteral":case"BigIntLiteral":case"DecimalLiteral":return{type:e.type,value:e.value};case"RegExpLiteral":return{type:e.type,value:e.pattern}}return{type:e.type}}(e.right));case"ArrayPattern":return function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),elements:t}}(e,e.elements.map(e=>d(e)).filter(e=>void 0!==e));case"RestElement":return c(e);case"ObjectPattern":{const t=[];return e.properties.forEach(e=>{if(s.types.isObjectProperty(e)){const r=s.types.isIdentifier(e.key)&&s.types.isIdentifier(e.value)||s.types.isAssignmentPattern(e.value)?void 0:d(e.key);t.push(function(e,t,r){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),key:t,value:r}}(e,r,d(e.value)))}else s.types.isRestElement(e)&&t.push(c(e))}),function(e,t){return{type:a.ParameterTypes[e.type],sourcemap_location_hint:u(e),properties:t}}(e,t)}default:l.worker_logger.warn("Unsupported parameter type",{type:e.type})}}t.getParameterInfo=function(e,t){return e.node.params.map(e=>{try{return d(e)}catch(e){return}}).filter(e=>void 0!==e).map(e=>{let r;if(void 0!==e.sourcemap_location_hint){const{name:o,line:n,column:i}=t({line:e.sourcemap_location_hint.line,column:e.sourcemap_location_hint.column}),s={line_on_server:e.sourcemap_location_hint.line_on_server,column_on_server:e.sourcemap_location_hint.column_on_server};null===n||null===i?(l.worker_logger.debug("Could not find location for parameter",{type:e.type}),r={name:o??void 0,line:-1,column:-1,...s}):r={name:o??void 0,line:n,column:i,...s}}return{...e,name:r?.name??e.name,type:e.type,sourcemap_location_hint:r??e.sourcemap_location_hint}})}},5822:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopLogProcessPerformance=t.getCpuLimit=t.getCpuLimitUnsafe=t.loopLogThreadPerformance=void 0;const a=r(9896),l=s(r(857)),u=r(2987),c=i(r(1493)),d=r(2908),p=r(3431);function m(e){e.info("Trying to detect CPU limit");try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8"),r=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8");return e.info("CPU limit detected for cgroups v1",{cpuQuota:t,cpuPeriod:r}),"-1"===t?"unlimited":parseInt(t.toString())/parseInt(r.toString())}catch(t){try{const t=(0,a.readFileSync)("/sys/fs/cgroup/cpu.max","utf8"),[r,o,n]=t.trim().split(" ");return e.info("CPU limit detected for cgroups v2",{max:r,period:o}),r&&o?"max"===r?"unlimited":parseInt(r)/parseInt(o):void e.info("cpu.max file is not in the expected format",t)}catch(r){return void e.info("Failed to detect CPU limit",{e:t,e2:r})}}}let f;t.loopLogThreadPerformance=async function(e,t,r){let o=u.performance.eventLoopUtilization(),n=u.performance.nodeTiming.toJSON();for await(const i of(0,p.unrefSetInterval)(t,void 0,{signal:r}))try{const t=u.performance.eventLoopUtilization(),r=u.performance.eventLoopUtilization(t,o);o=t;const i=c.getHeapStatistics(),s=u.performance.nodeTiming.toJSON(),a=s.idleTime-n.idleTime,l=s.duration-n.duration,d=a/l;n=s,e.info("thread performance statistics",{thread_elu_percentage:100*r.utilization,memory:{thread_heap_utilization_percentage:i.total_heap_size/i.heap_size_limit*100},idleTime:a,totalTime:l,idleTimePercentage:d})}catch(t){e.error("Failed logging thread performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}},t.getCpuLimitUnsafe=m;let g=!1;t.getCpuLimit=e=>(g||(f=(0,d.suppressTraces)(m)(e),g=!0),f),t.loopLogProcessPerformance=async function(e,r,o){const n=l.default.totalmem(),i=(0,t.getCpuLimit)(e);let s=process.cpuUsage();for await(const t of(0,p.unrefSetInterval)(r,void 0,{signal:o}))try{const t=process.memoryUsage(),o=process.uptime(),a=process.cpuUsage(),l={user:a.user-s.user,system:a.system-s.system};s=a;let u=(l.user+l.system)/(1e3*r);i&&"number"==typeof i&&(u/=i),e.info("process performance statistics",{memory:{process_memory_rss:t.rss,process_memory_utilization_percentage:t.rss/n*100},cpu:100*u,cpuStats:{limit:i,usagePercentage:100*u},uptime:o})}catch(t){e.error("Failed logging process performance statistics",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}}},5919:e=>{e.exports=require("node:worker_threads")},6346:e=>{e.exports=require("@babel/core")},6460:e=>{e.exports=require("timers/promises")},6592:e=>{e.exports=require("node:inspector")},6760:e=>{e.exports=require("node:path")},6827:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=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}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseDeclarations=t.readFile=t.getRealPositionFunc=t.fixSourceMap=void 0;const a=i(r(6346)),l=r(8528),u=s(r(9896)),c=r(4634),d=r(1622),p=s(r(6760)),m=r(1012),f=r(8528),g=s(r(3176)),y=r(2784),h=r(3903),v=r(3073),_=r(8066),b=r(7064),E=r(5595),S=r(7087),C=r(1974),w=r(2298),I={babelrc:!1,configFile:!1};function M(e){let t;return t="string"==typeof e?JSON.parse(e):e,t.sources=t.sources.map(e=>e.replace(/^webpack:\/\/(?:@[^/]+?[/])?[^/]+\//,"")),t}function x(e,t,r){return o=>{const n=e?.originalPositionFor({line:o.line,column:o.column})??{line:o.line,column:o.column,source:null,name:null},i=null!==n.line?n.line+(t||0):null,s=null!==n.column?n.column+(1===n.line&&r||0):null;return{...n,line:i,column:s}}}let O;t.fixSourceMap=M,t.getRealPositionFunc=x,t.readFile=async function(e,t,r){try{if(t&&r){const o=Buffer.alloc(r-t),n=await u.default.promises.open(e,"r");return await n.read(o,0,r-t,t),await n.close(),o.toString("utf-8")}return await u.default.promises.readFile(e,"utf-8")}catch(t){return void v.worker_logger.error("Failed to read file",{filename:e,msg:t instanceof Error?t.message:t})}},t.parseDeclarations=async function(e,t,r=null,o){const{filename:n,bundlerBuildId:i,bundlerBuildIdGenerated:s,lineOffset:u,columnOffset:k,file_path_checksum:T,file_checksum:D,functionIds:F,sourceCodeHash:L,moduleBase:P}=e;if(v.worker_logger.debug("Parsing code",{filename:n}),o)try{if(!O){const e=(0,_.myRequire)("ts-node");O=e.create({...o,transpileOnly:!0,typeCheck:!1})}const e=function(e,t,r){try{return r.compile(e,t)}catch(e){return void v.worker_logger.warn("ts file pass, but failed to compile with ts-node",{filename:t,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}(t,n,O);if(!e)return{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};t=e}catch(e){return v.worker_logger.error("Failed to require and compile ts file",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}}}else if(n.endsWith(".ts")||n.endsWith(".mts"))return v.worker_logger.error("ts file pass, but not found ts-options"),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};const H=(0,g.default)(t).readUInt32BE();if(H!==D)return v.worker_logger.warn("File checksum mismatch",{filename:n,file_path_checksum:T,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};const U=u?null:(0,y.getSourceMap)(n,t);let j,N;try{null!==U&&(N=(0,g.default)(U).readUInt32BE(),m.hudConfig.userConfig.disableSourceMapsResolution?.value||(j=JSON.parse(U)))}catch(e){v.worker_logger.error("Failed to parse source map",{filename:n,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}const B=x(j?await new c.SourceMapConsumer(M(j)):void 0,u,k);v.worker_logger.debug("Parsing code",{filename:n});const A=[],R=await a.parseAsync(t,I);if(null===R)return v.worker_logger.warn("Failed parsing code to tree",{filename:n,file_path_checksum:T,diskFileChecksum:H,file_checksum:D,functionIds:F}),{declarations:[],blacklist:{file_path_checksum:T,file_checksum:D,uuids:F}};v.worker_logger.debug("Parsed code to tree",{filename:n});const q=[{type:l.EntityType.Program,symbol:{sourcemap_location_hints:[]},context:{},childrenCount:{},siblingIndex:0}],$=new Set;v.worker_logger.debug("Traversing declarations",{filename:n}),r?.postMessage("eventlooptime"),a.traverse(R,{[w.NamespaceScopeAlias]:{enter(e){const{node:r}=e;if(!(0,w.isNamespaceScopeable)(r))return;const o=q[q.length-1];let i=(0,S.getScope)(e);if(!i)return;i=(0,C.resolveScopeSymbols)(B,i);const s=o.childrenCount[i.type]||0,a={...i,childrenCount:{},siblingIndex:s};if(o.childrenCount[i.type]=s+1,q.push(a),$.add(r),e.isFunction()){const r=function(e,t,r,o,n,i,s){try{const l=e;let u=e.node.body.loc?.start?.index;if(void 0===u)throw new Error("Function node has no block start location");if(void 0===e.node.start||null===e.node.start||void 0===e.node.end||null===e.node.end)throw new Error("Function node has no start or end location");"ArrowFunctionExpression"===l.node.type&&l.node.body.extra?.parenthesized&&l.node.body.extra?.parenStart&&Number.isInteger(l.node.body.extra.parenStart)&&(u=l.node.body.extra.parenStart);const c=function(e,t,r,o){const n=o.slice(0,r),i=`${e}_${t}_${Buffer.byteLength(n,"utf8")}`;return(0,h.v5)(i,m.hudConfig.functionUuidNamespace).toString()}(t,r,u-(n-1),i),y=(a=i.slice(e.node.start,e.node.end),(0,g.default)(a).readUInt32BE().toString());if(!y)return void v.worker_logger.warn("Function hash not found",{functionID:c,filename:r});const _=l.node.async||!1,S=(0,C.getNodeLocation)(l.node,s),w=S.start.source??r,I=(0,b.getEntityType)(l),M=(0,d.getMethodKind)(l.node),x=(0,d.getContextualData)(l);x.symbol&&(x.symbol=(0,C.resolveSymbol)(s,x.symbol)),x.callback?.callee.symbol&&(x.callback.callee.symbol=(0,C.resolveSymbol)(s,x.callback.callee.symbol));const O=(0,E.getParameterInfo)(l,s),{siblingIndex:k,childrenCount:T}=o[o.length-1],D=o.slice(0,-1),F=(0,d.getFunctionIdentifier)(l),L=(0,C.resolveSymbol)(s,{name:F?.name,sourcemap_location_hints:F?(0,C.getLocationList)(F,F.name):(0,C.getLocationList)(l.node,void 0),format:F?"%s":void 0});return{module:p.default.parse(w).name,symbol:L,context:x,file:w,type:I,format:f.Format.cjs,parameters:O,async:_,start_line:S.start.line,end_line:S.end.line,start_column:S.start.column,source_code_hash:y,runtime_function_id:c,scope_chain:D,declarations_count:0,methodKind:M,siblingIndex:k,childrenCount:T,original_location:{file:r,start_line:e.node.loc?.start?.line,end_line:e.node.loc?.end?.line,start_column:e.node.loc?.start?.column,end_column:e.node.loc?.end?.column}}}catch(e){v.worker_logger.error("Failed to handle function",{filename:r,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}var a}(e,L,n,q,P,t,B);r&&A.push(r)}},exit(e){$.has(e.node)&&(q.pop(),$.delete(e.node))}}}),v.worker_logger.debug("Traversed declarations",{filename:n});const K=new Set(A.map(e=>e.runtime_function_id)),z=[],W=[];A.forEach(e=>{K.has(e.runtime_function_id)?z.push({...e,declarations_count:A.length,bundler_build_id:i,was_bundler_build_id_generated:s,has_input_map:void 0!==j,sourcemap_crc:N,file_path_checksum:T,file_checksum:D}):W.push(e)}),W.length>0&&v.worker_logger.warn("Function IDs mismatch, missing instrumentation",{filename:n,runtimeFunctionIds:F,missingInstrumentation:W}),new Set(F).forEach(e=>{K.has(e)&&K.delete(e)});const V=K.size>0;return V&&v.worker_logger.error("Function IDs mismatch, missing declerations",{filename:n,missingRuntimeFunctionIds:[...K]}),{declarations:z,blacklist:V?{file_path_checksum:T,file_checksum:D,uuids:[...K]}:void 0}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7064:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getEntityIdentity=t.getEntityType=void 0;const o=r(6346),n=r(8528),i=r(3073);t.getEntityType=function(e){const{node:t}=e;return o.types.isFunctionDeclaration(t)?n.EntityType.FunctionDeclaration:o.types.isFunctionExpression(t)?n.EntityType.FunctionExpression:o.types.isArrowFunctionExpression(t)?n.EntityType.FunctionArrow:o.types.isObjectMethod(t)?n.EntityType.ObjectMethod:o.types.isStaticBlock(t)||o.types.isClassMethod(t)?n.EntityType.ClassMethod:o.types.isClassPrivateMethod(t)?n.EntityType.ClassPrivateMethod:o.types.isClassDeclaration(t)?n.EntityType.ClassDeclaration:o.types.isClassExpression(t)?n.EntityType.ClassExpression:o.types.isForInStatement(t)||o.types.isForOfStatement(t)||o.types.isForStatement(t)?n.EntityType.ForLoop:o.types.isBlockStatement(t)?function(e){const t=e.parentPath.node;if(!(o.types.isFunctionDeclaration(t)||o.types.isFunctionExpression(t)||o.types.isArrowFunctionExpression(t)||o.types.isClassMethod(t)||o.types.isObjectMethod(t)||o.types.isClassPrivateMethod(t)))if(o.types.isIfStatement(t)){if("consequent"===e.parentKey)return n.EntityType.IfConsequent;if("alternate"===e.parentKey)return n.EntityType.IfAlternate;if("test"===e.parentKey)return n.EntityType.IfTest}else{if(o.types.isBlockStatement(t)||o.types.isProgram(t))return n.EntityType.Block;if(o.types.isTryStatement(t)){if("block"===e.parentKey)return n.EntityType.Try;if("finalizer"===e.parentKey)return n.EntityType.Finally}else{if(o.types.isCatchClause(t))return;if(o.types.isWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(o.types.isDoWhileStatement(t))return"test"===e.parentKey?n.EntityType.WhileTest:n.EntityType.Do;if(!(o.types.isForStatement(t)||o.types.isForInStatement(t)||o.types.isForOfStatement(t)))return;if("test"===e.parentKey)return n.EntityType.ForTest;if("body"===e.parentKey)return n.EntityType.ForBlock}}}(e):o.types.isProgram(t)?n.EntityType.Program:o.types.isDoWhileStatement(t)?n.EntityType.DoWhile:o.types.isWhileStatement(t)?n.EntityType.While:o.types.isCatchClause(t)?n.EntityType.Catch:o.types.isObjectExpression(t)?n.EntityType.ObjectExpression:o.types.isWithStatement(t)?n.EntityType.With:o.types.isSwitchStatement(t)?n.EntityType.Switch:o.types.isSwitchCase(t)?n.EntityType.SwitchCase:o.types.isTryStatement(t)?n.EntityType.TryCatch:o.types.isIfStatement(t)?n.EntityType.If:n.EntityType.Other},t.getEntityIdentity=function(e){return o.types.isFunctionDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Function declaration without an identifier"):o.types.isClassDeclaration(e)?o.types.isIdentifier(e.id)?e.id:void i.worker_logger.info("Class declaration without an identifier"):o.types.isFunctionExpression(e)||o.types.isClassExpression(e)?o.types.isIdentifier(e.id)?e.id:void 0:o.types.isClassMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Class method without an identifier"):o.types.isObjectMethod(e)?o.types.isIdentifier(e.key)?e.key:void i.worker_logger.info("Object method without an identifier"):o.types.isClassPrivateMethod(e)?o.types.isIdentifier(e.key.id)?e.key.id:void i.worker_logger.info("Class private method without an identifier"):void 0}},7087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getScope=void 0;const o=r(7064),n=r(1974),i=r(1622);t.getScope=function(e){const t=(0,o.getEntityType)(e);if(t){const r=(0,o.getEntityIdentity)(e.node),s=r?.name;return{type:t,context:(0,i.getContextualData)(e),symbol:{name:s,sourcemap_location_hints:r?(0,n.getLocationList)(r,s):(0,n.getLocationList)(e.node,void 0),format:r?"%s":void 0},methodKind:(0,i.getMethodKind)(e.node)}}}},7582:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nextLoopDummy=void 0;const r=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function o(e){return await fetch(`${r}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}t.nextLoopDummy=async function(e){for(;;)try{(await o(e)).ok||await new Promise(e=>setTimeout(e,50))}catch(e){await new Promise(e=>setTimeout(e,50))}}},8066:(e,t)=>{let r;Object.defineProperty(t,"__esModule",{value:!0}),t.myRequire=void 0;try{r=require}catch(e){r=void 0}t.myRequire=r},8138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getNetworkError=t.UserErrorLogs=t.setFirstError=t.getFirstError=t.isAbortError=t.HudNoMessageInSqsConsumerEmit=t.HudNoErrorInSqsConsumerEmit=t.HudNoEventTypeInSqsConsumerEmit=t.HudFailExtractSqsQueueName=t.HudNoCallbackInSqsConsumerOn=t.HudNoEventTypeInSqsConsumerOn=t.HudNoQueueUrlInSqsConsumer=t.HudSqsError=t.HudExtensionNextFailedError=t.HudExtensionRegisterError=t.HudExtnensionError=t.HudBadLoggerError=t.HudInitNetworkError=t.HudTsNodeNotFoundButUsed=t.HudSessionThrottle=t.HudNoTranspileOnlyError=t.HudClientExceededMaxRetries=t.HudClientUnauthorizedError=t.HudTimeoutError=t.HudWorkloadCollectorError=t.HudAssert=t.HudUnsupportedError=t.HudEditError=t.HudWorkerError=t.HudClientError=t.HudInitError=t.HudError=void 0;const o=r(1012);class n extends Error{code=9e3;name=this.constructor.name;constructor(e){super(e)}}t.HudError=n;class i extends n{code=9001}t.HudInitError=i,t.HudClientError=class extends n{code=9002;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudWorkerError=class extends n{code=9003};class s extends n{code=9004}t.HudEditError=s,t.HudUnsupportedError=class extends s{code=9005},t.HudAssert=class extends s{code=9006},t.HudWorkloadCollectorError=class extends n{code=9007},t.HudTimeoutError=class extends n{code=9008},t.HudClientUnauthorizedError=class extends n{code=9009},t.HudClientExceededMaxRetries=class extends n{code=9010},t.HudNoTranspileOnlyError=class extends n{code=9011},t.HudSessionThrottle=class extends i{code=9012},t.HudTsNodeNotFoundButUsed=class extends n{code=9013},t.HudInitNetworkError=class extends n{code=9014;originalAxiosErrorCode;constructor(e,t){super(e),this.originalAxiosErrorCode=t}},t.HudBadLoggerError=class extends n{code=9101};class a extends n{code=9200}t.HudExtnensionError=a,t.HudExtensionRegisterError=class extends a{code=9201},t.HudExtensionNextFailedError=class extends a{code=9202};class l extends n{code=9250}t.HudSqsError=l,t.HudNoQueueUrlInSqsConsumer=class extends l{code=9251},t.HudNoEventTypeInSqsConsumerOn=class extends l{code=9252},t.HudNoCallbackInSqsConsumerOn=class extends l{code=9253},t.HudFailExtractSqsQueueName=class extends l{code=9254},t.HudNoEventTypeInSqsConsumerEmit=class extends l{code=9255},t.HudNoErrorInSqsConsumerEmit=class extends l{code=9256},t.HudNoMessageInSqsConsumerEmit=class extends l{code=9257},t.isAbortError=function(e){return e instanceof Error&&"AbortError"===e.name};let u=9999;t.getFirstError=function(){return u},t.setFirstError=function(e){e&&9999===u&&(u=e)},t.UserErrorLogs={HudServiceNotSet:()=>({level:"error",errCode:"E1001",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE was not set. Please set service name using the environment variable HUD_SERVICE."}),HudServiceInvalid:()=>({level:"error",errCode:"E1002",moreInfo:!0,message:"Can't load Hud, HUD_SERVICE value has invalid service name. Please set service name using the environment variable HUD_SERVICE."}),HudApiKeyNotSet:()=>({level:"error",errCode:"E1004",moreInfo:!0,message:"Can't load Hud, HUD_KEY was not set. Please set API key using the environment variable HUD_KEY."}),HudApiKeyInvalid:()=>({level:"error",errCode:"E1005",moreInfo:!0,message:"Can't load Hud, HUD_KEY value has invalid API key. Please set a valid key in environment variable HUD_KEY."}),BothApiKeyAndServiceNotSet:()=>({level:"error",errCode:"E1007",moreInfo:!0,message:"Can't load Hud, HUD_KEY and HUD_SERVICE were not set. Please set API key using the environment variable HUD_KEY and service name using the environment variable HUD_SERVICE."}),InvalidTag:()=>({level:"warn",errCode:"E1008",moreInfo:!0,message:"HUD_TAGS should be of type Key-Value Object, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),TagWithDots:()=>({level:"warn",errCode:"E1009",moreInfo:!0,message:"HUD_TAGS keys can't contain dots; they have been replaced with underscores."}),TagsInvalidJson:()=>({level:"warn",errCode:"E1010",moreInfo:!0,message:"Can't load Hud, HUD_TAGS is not a valid JSON, defaulting to empty tags. Please set valid tags in environment variable HUD_TAGS."}),ApiKeyDenied:e=>({level:"error",errCode:"E1011",moreInfo:!0,message:`Can't load Hud, the provided key is invalid. Please provide a valid HUD_KEY in your ${{ENV:"environment variable",CONFIG_FILE:"file",CONFIG_ENV:"HUD_CONFIG",INIT:"init function",SETUP:"setup function"}[e]}.`}),ShutdownGracefully:e=>({level:"error",errCode:`E${e}`,message:"SDK has initiated a graceful shutdown. Your application remains unaffected"}),UnsupportedNodeVersion:()=>({level:"error",errCode:"E1012",moreInfo:!0,message:"Can't load Hud due to an unsupported node version."}),UnsupportedSyntax:()=>({level:"error",errCode:"E1014",moreInfo:!0,message:"Can't load Hud due to an unsupported syntax version."}),UnsupportedLambdaMemory:()=>({level:"error",errCode:"E1015",moreInfo:!0,message:`Can't load Hud as lambda function memory size is less than ${o.hudConfig.lambdaMinimunMemory}MB.`}),JSONErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1016",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid JSON. Please set a valid json in Hud's config ${e}`+(t?`, Error: ${t}.`:".")}),ZodErrorInUserConfig:(e,t)=>({level:"error",errCode:"E1017",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid value for field: ${t}. Please set a valid value for ${t} in the config ${e}.`}),ConfigInaccessible:e=>({level:"error",errCode:"E1018",moreInfo:!0,message:`Can't load Hud, the config file is inaccessible. Please make sure your node application has read permissions to the Hud config file, ${e}.`}),SetupCalledWithoutKey:()=>({level:"error",errCode:"E1019",moreInfo:!0,message:"API key not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),SetupCalledWithoutService:()=>({level:"error",errCode:"E1020",moreInfo:!0,message:"Service name parameter not found or invalid. SDK has initiated a graceful shutdown. Your application remains unaffected."}),HudEnableIsFalse:()=>({level:"warn",errCode:"E1021",moreInfo:!0,message:"HUD_ENABLE is set to false. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InstrumentedFunctionCountExceeded:e=>({level:"error",errCode:"E1022",moreInfo:!0,message:`SDK limit of ${e} instrumented functions exceeded. SDK has initiated a graceful shutdown. Your application remains unaffected.`}),PodMemoryLimitTooLow:e=>({level:"error",errCode:"E1023",moreInfo:!0,message:`Insufficient memory available. Minimum required:(${e}MB). SDK has initiated a graceful shutdown. Your application remains unaffected.`}),DebuggerAttached:()=>({level:"error",errCode:"E1024",message:"Did not load as debugger is attached."}),InitSessionBeforeRegister:()=>({level:"error",errCode:"E1025",moreInfo:!0,message:"register() was not called, or called after initSession() - please call register() before initSession() and run again. Your application continues normally without Hud."}),RegisterMisplacedNoDeclarations:()=>({level:"warn",errCode:"E1026",moreInfo:!0,message:"Warning - No code has been mapped so far. This probably means register() was called too late — after your code was already loaded. Move it to the top of your entry file to enable proper mapping. Your application continues normally without Hud data."}),UnsupportedFrameworkVersion:e=>({level:"warn",errCode:"E1029",message:`Warning - Unsupported version of ${e} framework(s). This means Hud won't track your framework invocations. Your application continues normally, but with partial Hud data. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node#/`}),UninstrumentedFilesLogThresholdExceeded:e=>({level:"warn",errCode:"E1027",message:`Warning - ${e} of your code files were imported before register(). This means Hud won't track all of your functions. Please move register() call to an earlier location. To view the list of files use register({verbose: true}). Your application continues normally, but with partial Hud data.`,moreInfo:!0}),UninstrumentedFrameworks:e=>({level:"warn",errCode:"E1028",message:`Warning - The framework(s): ${e.map(e=>`"${e}"`).join(", ")} was imported before register(). This means Hud won't track your framework invocations. Please move register() call to an earlier location. Your application continues normally, but with partial Hud data.`}),YesDeclarationsNoMetrics:()=>({level:"warn",errCode:"E1032",moreInfo:!0,message:"Warning - Code mapped successfully, but no function activity was tracked. Make sure your service is running and actively handling requests."}),HudEnableNotSet:e=>({level:"error",moreInfo:!0,message:`Did not load as HUD_ENABLE is ${void 0===e?"undefined":"set to a non-true value"}. Please set HUD_ENABLE=true to run Hud.`}),LambdaNotViaLayer:()=>({level:"error",errCode:"E1034",message:"Can't load Hud, lambda support is currently in beta. Contact Hud to get early access."}),RunningInBun:()=>({level:"error",errCode:"E1035",message:"Hud does not support Bun yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),RunningOnWindows:()=>({level:"error",errCode:"E1036",message:"Hud does not support Windows yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),UnsupportedNativeBuild:()=>({level:"error",errCode:"E1037",message:"Hud does not support this platform yet. The SDK has initiated a graceful shutdown. Your application remains unaffected. See the compatibility matrix for details: https://docs.hud.io/docs/hud-sdk-compatibility-matrix-for-node"}),TsNodeNotTranspileOnly:()=>({level:"error",errCode:"E1038",message:"detected ts-node is used without the transpileOnly flag, which is not supported yet. SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),TsNodeNotFoundEvenThoughRunWithTsNode:()=>({level:"error",errCode:"E1039",message:"'ts-node' was detected but could not be resolved by Hud. This may happen if 'ts-node' is installed globally. Try installing it locally in your project. The SDK has initiated a graceful shutdown. Your application remains unaffected.",moreInfo:!0}),InitFailedDueGenericNetworkError:()=>({level:"error",moreInfo:!0,errCode:"E1040",message:"A network error occurred during SDK initialization. Please check your internet connection and try again. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkTimeout:()=>({level:"error",moreInfo:!0,errCode:"E1041",message:"The SDK failed to connect to Hud's backend due to a timeout during SDK initialization. Please verify your firewall settings to ensure outbound connections are allowed. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueNetworkRST:()=>({level:"error",moreInfo:!0,errCode:"E1042",message:"The SDK connection to Hud's backend was reset unexpectedly (RST) during SDK initialization. Please check your firewall or network security settings. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueSelfSignedCert:()=>({level:"error",moreInfo:!0,errCode:"E1043",message:"SSL certificate verification failed during SDK initialization. If your organization uses a self-signed certificate, set the NODE_EXTRA_CA_CERTS environment variable to the path of your CA certificate file. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueDnsFailed:()=>({level:"error",moreInfo:!0,errCode:"E1044",message:"The SDK failed to resolve DNS when attempting to connect to Hud's backend during SDK initialization. If the problem persists, please contact support. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitFailedDueBackendError:()=>({level:"error",moreInfo:!0,errCode:"E1045",message:"Hud: The SDK was unable to complete initialization due to a temporary issue with Hud’s backend. SDK has initiated a graceful shutdown. Your application remains unaffected."}),InitTimeout:e=>({moreInfo:!0,level:"error",message:`SDK imported but not initialized. Please ensure to call '${e?"hud.initSession(KEY, SERVICE)":"hud.init()"}' to initialize the SDK.`}),RehookCalledBeforeRegister:()=>({level:"error",errCode:"E1046",moreInfo:!0,message:"register() was not called, or called after rehook() - please call register() before rehook() and run again. Your application continues normally with partial hud data."}),EsbuildMissingKey:()=>({level:"error",errCode:"ES0001",moreInfo:!0,message:"missing HUD_KEY, skipping Hud plugin, your build is unaffected."}),EsbuildFailedProcessingFile:e=>({level:"error",errCode:"ES0002",moreInfo:!0,message:`failed processing file "${e}", reverting to original loader.`}),EsbuildFailedBundling:()=>({level:"error",errCode:"ES0003",moreInfo:!0,message:"encountered unexpected file bundling, build aborted."}),EsbuildFailedParsingSourcemap:()=>({level:"error",errCode:"ES0004",moreInfo:!0,message:"failed parsing source maps, skipping upload, Hud will run without source maps."}),EsbuildFailedUploadingSourcemap:e=>({level:"error",errCode:"ES0005",moreInfo:!0,message:`failed uploading source map: ${e}, Hud will run without source maps.`}),EsbuildFailedUploadingSourcemapUnauthorized:()=>({level:"error",errCode:"ES0006",moreInfo:!0,message:"failed uploading source map: unauthorized, Hud will run without source maps."}),EsbuildUnsupportedPlatform:()=>({level:"error",errCode:"ES0007",message:'Can\'t load Hud, as our esbuild plugin supports "node" mode only. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix'}),EsbuildUnsupportedWindows:()=>({level:"error",errCode:"ES0008",message:"Can't load Hud, as our esbuild plugin does not supports windows. Your app remains unaffected. For more information visit docs.hud.io/docs/support-matrix"})},t.getNetworkError=function(e){return{ECONNABORTED:t.UserErrorLogs.InitFailedDueNetworkTimeout(),ECONNREFUSED:t.UserErrorLogs.InitFailedDueNetworkRST(),ENOTFOUND:t.UserErrorLogs.InitFailedDueDnsFailed(),SELF_SIGNED_CERT_IN_CHAIN:t.UserErrorLogs.InitFailedDueSelfSignedCert(),ERR_BAD_RESPONSE:t.UserErrorLogs.InitFailedDueBackendError()}[e]??t.UserErrorLogs.InitFailedDueGenericNetworkError()}},8269:e=>{e.exports=require("./globalstate")},8287:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(6827),t)},8528:e=>{e.exports=require("./dto")},8808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSqsFlowId=t.generateKafkaFlowId=t.generateGraphqlFlowId=t.generateEndpointFlowId=void 0;const o=r(3903),n="fa79d8b7-069c-4bbf-9c00-34bfc8b3a5a6";t.generateEndpointFlowId=function(e,t){return(0,o.v5)(`${e.toString()}|${Array.from(t).sort().join(",")}`,n)},t.generateGraphqlFlowId=function(e,t){return(0,o.v5)(`${e}|${t}`,n)},t.generateKafkaFlowId=function(e,t,r){return(0,o.v5)(`${e.toString()}|${t}|${r}`,n)},t.generateSqsFlowId=function(e,t,r=""){const i=`${e}|${t}|${r}`;return(0,o.v5)(i,n)}},8809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SDK_MODULE_NAME=void 0,t.SDK_MODULE_NAME="hud-sdk"},9023:e=>{e.exports=require("util")},9100:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.updateInvestigationRateLimitGlobals=t.hudConfig=t.isValidParam=t.getModulesToTraceFromEnv=t.HudDynamicConfigSchema=void 0;const n=o(r(6928)),i=r(1569);t.HudDynamicConfigSchema=i.z.object({aggregationInterval:i.z.number(),flowMetricInterval:i.z.number(),graphqlInterval:i.z.number(),aggregationFirstSendTimeout:i.z.number(),flowMetricFirstSendTimeout:i.z.number(),enableInvestigation:i.z.boolean(),investigationRateLimits:i.z.object({maxSameInvestigations:i.z.number().int().positive(),sameInvestigationTimeWindowMs:i.z.number().int().positive(),maxTotalInvestigations:i.z.number().int().positive(),totalInvestigationTimeWindowMs:i.z.number().int().positive(),maxUniqLogs:i.z.number().int().positive()}),machineMetricsInterval:i.z.number().int().positive(),blacklistParams:i.z.array(i.z.string()),censorshipRegexes:i.z.array(i.z.object({regex:i.z.string(),replacement:i.z.string()}))}),t.getModulesToTraceFromEnv=function(){const e=process.env.HUD_MONITOR_MODULES||process.env.HUD_INCLUDE_MODULES;if(e)return e.split(",")},t.isValidParam=function(e){return null!=e&&""!==e&&"string"==typeof e};const s=process.env.HUD_ENABLE_INVESTIGATION,a=process.env.HUD_HOST||"https://api-prod.hud.io",l=process.env.HUD_LOG_DIR,u="_HUD",c=process.env.HUD_LOG_TO_FILE,d={sink:{url:a,timeout:5e3,session_attr:"X-Session-ID"},endpoints:{init:"sink/init",send:"sink/send",batch:"sink/batch",logs:"sink/logs",fatalError:"sink/redline",getMode:"sink/getMode",getRemoteConfig:"sink/remote-config/get",fileDeclarations:"sink/file-declarations",sourceMap:"sink/sourcemap",storeObject:"sink/objects/store"},logger:{default:{levels:{app:"warn",worker:"warn",instrument:"warn"}},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"}},loggerWorkerPortSizeLimit:1e4,customerLoggerLevel:"info",logDirectory:l,invocationSampling:new Map([[[300n,null],100],[[200n,300n],50],[[100n,200n],25],[[0n,100n],10]]),callerResetInterval:36e5,modeInterval:3e5,logsSendInterval:6e4,logPerfInterval:3e5,endpointsInterval:18e5,endpointsFirstSendWaitTime:12e4,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:u,functionIdVarName:`${u}_fid`,frameworksToPatch:new Map([["express",{version:"<=5",patcher:"express",enableEsbuild:!0}],[n.default.join("express","lib","application.js"),{version:"<=5",patcher:"expressApplication",enableEsbuild:!0}],["router",{version:"^2.0.0",patcher:"router",enableEsbuild:!0}],["koa",{version:"^2.0.0",patcher:"koa"}],["graphql/execution/execute",{version:"14 - 16",patcher:"graphql"}],["http",{version:"*",patcher:"http"}],["https",{version:"*",patcher:"http"}],["@nestjs/core/interceptors/interceptors-consumer",{version:"*",patcher:"nestjsInterceptor"}],["@nestjs/core/router/router-execution-context",{version:"*",patcher:"nestjsRouterExecutionContext"}],..."win32"!==process.platform?[["kafkajs",{version:">=1.4.0",patcher:"kafkajs"}],["@nestjs/microservices/context/rpc-context-creator",{version:">=7.0.0",patcher:"nestjsRpcContextCreator"}]]:[],[["@codegenie/serverless-express","src","frameworks","express.js"].join(n.default.sep),{version:"^4.1.0",patcher:"codeGenieServerlessExpress",enableEsbuild:!0}],["@codegenie/serverless-express",{enableEsbuild:!0}],["sqs-consumer",{version:"*",patcher:"sqsConsumer",extraInfo:{mondayVersion:">=6.1.0",bbcVersion:">=7.5.0"}}],["serverless-http",{enableEsbuild:!0}],[n.default.join("serverless-http","lib","framework","get-framework.js"),{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,flowMetricInterval:3e5,graphqlInterval:3e4,aggregationFirstSendTimeout:3e4,flowMetricFirstSendTimeout:3e4,enableInvestigation:"true"===s,investigationRateLimits:{maxSameInvestigations:2,sameInvestigationTimeWindowMs:36e5,maxTotalInvestigations:25,totalInvestigationTimeWindowMs:216e5,maxUniqLogs:2},machineMetricsInterval:1e4,blacklistParams:[],censorshipRegexes:[]},machineMetricsSavedLength:2,isInvestigationEnabledByEnv:void 0!==s,suppressTraces:!0,lambdaMinimunMemory:1024,lambdaBaseGivenTime:400,lambdaExtraGivenTimePerRequest:50,lambdaMaxGivenTime:700,throttleStatusCode:202,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/",fileless:"true"!==c,uninstrumentedFilesLogThreshold:2,tsNodeConfigTimeout:1e4,allowedEditExtensions:[".ts",".cts",".mts",".js",".cjs",".mjs"]};t.hudConfig=function(e={}){return{...d,...e}}({logger:{default:{levels:{app:"info",worker:"info",instrument:"info"}},debug:{levels:{app:"debug",worker:"debug",instrument:"debug"}}},deleteLogsAfterSending:!1,communicationKeepalive:!0}),t.default=t.hudConfig,t.updateInvestigationRateLimitGlobals=function(){globalThis.hudMaxSameInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxSameInvestigations,globalThis.hudMaxTotalInvestigations=t.hudConfig.dynamicConfig.investigationRateLimits.maxTotalInvestigations,globalThis.hudSameInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.sameInvestigationTimeWindowMs)*BigInt(1e6),globalThis.hudTotalInvestigationTimeWindowNs=BigInt(t.hudConfig.dynamicConfig.investigationRateLimits.totalInvestigationTimeWindowMs)*BigInt(1e6)}},9896:e=>{e.exports=require("fs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,r),i.exports}var o={};return(()=>{var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.rehook=e.register=e.initSession=void 0;let t=!1,n=!1;function i(){const{customer_logger:e,app_logger:t,UserErrorLogs:o}=r(2546);t.warn("No declarations found, register() was called too late"),e.log(o.RegisterMisplacedNoDeclarations())}e.initSession=async function(e,o){try{const{customer_logger:i}=r(2546),{UserErrorLogs:s}=r(2546),{clearInitGuard:a}=r(8269),{init:l}=r(2240);if(a(),!t)return void i.log(s.InitSessionBeforeRegister());if(!n)return;return e&&""!==e&&"string"==typeof e?o&&""!==o&&"string"==typeof o?await l(e,o):void i.log(s.SetupCalledWithoutService()):void i.log(s.SetupCalledWithoutKey())}catch(e){"true"!==process.env.HUD_VERBOSE&&"true"!==process.env.HUD_DEBUG||console.log(e)}},e.register=function(e){try{const{forceHudEnable:o,saveInstrumentationIndicator:s,saveHudRunningFromSetup:a}=r(8269);t=!0,o();const{updateUserConfigFromInitOptions:l,hudConfig:u,customer_logger:c,shouldRunHud:d,updateUserConfigFromFile:p}=r(2546),{registerHook:m}=r(2030),{logRegisterInRightLocation:f}=r(1256);e&&l(e,"SETUP"),p();const g=d();if(!g.shouldRun)return void(null!==g.error&&c.log(g.error));m()&&(n=!0,f(e?.verbose??!1)),s(setTimeout(i,u.timeoutOnRegister)),a()}catch{}},e.rehook=function(){const{patchCompile:e}=r(2030),{customer_logger:o,UserErrorLogs:i}=r(2546);t?n&&e():o.log(i.RehookCalledBeforeRegister())}})(),o})());
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 r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(global,()=>(()=>{"use strict";var e={857:e=>{e.exports=require("os")},1886:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),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||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(o(9896)),c=o(8167),u=o(2546),l=s(o(2546)),d=o(2546),g=o(3319),f=o(8528),m=o(2546),h=o(6982),p=o(6261),w=i(o(6928)),_=o(4678),k=o(6304),y=o(9426),v=o(9748),C=c.parentPort,b=c.workerData.apiKey,S=c.workerData.service,x=c.workerData.startTime,D=c.workerData.shouldRunLambdaExtension,E=c.workerData.shouldCreateDeclaraionWorker;let M,I=new AbortController,q=!1,O=!1;const F=m.safeCall.bind(m.safeCall,u.worker_logger);if(u.hudConfig.userConfig=c.workerData.userConfig,u.worker_logger.info("Worker started"),null===C)throw new m.HudWorkerError("Failed to get port");const R=new Set;function T(){q||(q=!0,l.customer_logger.log(d.UserLogs.FirstDecalarationSent()),O&&l.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}async function L(e,t,o,r){if(0!==e.length)for(const n of e)try{if(r&&(0,p.once)(r,"eventloop"),u.worker_logger.debug("Sending file to parser worker",{filename:n.filename}),o){o.postMessage({msg:"SourceFileMetadata",content:n});continue}const{filename:e,indexOffset:s,indexOffsetEnd:i}=n,a=await(0,m.readFile)(e,s,i);if(!a)continue;const c=await(0,m.parseDeclarations)(n,a,void 0,M);await j(c,t),T()}catch(e){u.worker_logger.error("Failed to parse declarations",{filename:n.filename,error:e})}else T()}async function j(e,t){e.blacklist&&e.blacklist.uuids.length>0&&(C?.postMessage(f.KeepAliveMessage),e.blacklist.uuids.forEach(e=>{R.add(e)}),await t.batch("CorruptedFile",[e.blacklist],{event_version:"1.0.0"}));for(let o=0;o<e.declarations.length;o+=u.hudConfig.communicationBatchSize)C?.postMessage(f.KeepAliveMessage),await t.batch("FunctionDeclaration",e.declarations.slice(o,o+u.hudConfig.communicationBatchSize),{event_version:f.FUNCTION_DECLARATION_VERSION})}function A(e){return`investigation-${e.context?.timestamp??Date.now()}-${(0,h.randomUUID)()}.json`}async function P(e,t){await a.promises.writeFile(w.default.join(t.path,A(e)),JSON.stringify(e,null,2))}async function W(e,t,o,r={}){for(let n=0;n<e.length;n+=u.hudConfig.communicationBatchSize)C?.postMessage(f.KeepAliveMessage),await o.batch(t,e.slice(n,n+u.hudConfig.communicationBatchSize),r)}(0,y.registerIfNeeded)(D).then(e=>{let t;e?(t=new p.EventEmitter,t.setMaxListeners(0),F((0,y.extensionMainLoop)(e,t)),u.worker_logger.info("Lambda extension registered",{extensionId:e}),C.postMessage({msg:"extensionRegistered",content:{extensionId:e}})):C.postMessage({msg:"startedNoExtension"});const o=new g.HudClient(t);o.initSession(b,S,x).then(async e=>{o.setSession(e);const{sessionId:r}=e;u.worker_logger.info("Initialized successfuly",{sessionId:r});const n=f.HudSessionInitStatus.success;C.postMessage({msg:"initialized",content:{status:n}}),await async function(e){if(null===C)throw new m.HudWorkerError("Failed to get port");const t=await e.getRemoteConfig();return t?(u.worker_logger.info("Remote configuration exists"),u.hudConfig.dynamicConfig=(0,m.updateDynamicConfig)(t,u.hudConfig,u.worker_logger),u.worker_logger.info("Current dynamic configuration:",{currentDynamicConfig:u.hudConfig.dynamicConfig})):u.worker_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:u.hudConfig.dynamicConfig}),C.postMessage({msg:"initDynamicConfig",content:t}),t}(o);try{await async function(e,t){if(null===C)throw new m.HudWorkerError("Failed to get port");const o=E?function(e,t){const o=m.myRequire.resolve(`${u.SDK_MODULE_NAME}/declarationWorker`),r=new c.Worker(o);return r.unref(),r.on("message",o=>{"eventlooptime"!==o?F(j(o,e)):t&&(0,p.once)(t,"eventloop")}),r.on("error",e=>{u.worker_logger.error("Declaration parser worker failed",{msg:e instanceof Error?e.message:void 0})}),r.on("exit",e=>{u.worker_logger.warn("Declaration parser worker exited",{code:e})}),r}(e,t):void 0;C.on("message",r=>{const{msg:n,content:s}=r;switch(u.worker_logger.debug("Got message from main thread",{msg:n}),n){case"Terminate":F(async function(e,t){const o=process.hrtime();u.worker_logger.warn("Notified to terminate. flushing.",{grace:e.grace}),await z(e.logBuffers,t),await B({filenames:e.logFiles},t),await z((0,u.getSavedLogs)(),t),await B({filenames:Array.from($())},t),await H();const r=process.hrtime(o),n=1e3*r[0]+r[1]/1e6;u.worker_logger.info("Done flushing. responsing to parent",{grace:e.grace,termination_time_ms:n}),C?.postMessage({msg:"terminated"}),C?.close()}(s,e));break;case"StartPeriodicTasks":F(async function(e){F((0,_.loopWorkloadDataCollector)(e,u.hudConfig.workloadMetadata,u.hudConfig.workloadMetadata.sendInterval,I.signal)),F((0,m.loopLogProcessPerformance)(u.worker_logger,u.hudConfig.logPerfInterval,I.signal)),F((0,m.loopLogThreadPerformance)(u.worker_logger,u.hudConfig.logPerfInterval,I.signal)),F(async function(e,t,o){for await(const r of(0,m.unrefSetInterval)(t,void 0,{signal:o.signal})){C?.postMessage(f.KeepAliveMessage);const t=(0,u.getSavedLogs)();await z(t,e)}}(e,u.hudConfig.logsSendInterval,I))}(e));break;case"Abort":F(H());break;case"Invocations":F(async function(e,t,o){const r=e;u.worker_logger.debug("Got invocations message",{msg:t,size:e.length});const n=r.filter(e=>!R.has(e.function_id));for(let e=0;e<n.length;e+=u.hudConfig.communicationBatchSize)C?.postMessage(f.KeepAliveMessage),await o.batch("Invocations",n.slice(e,e+u.hudConfig.communicationBatchSize),{event_version:"1.0.1"});O||(O=!0,l.customer_logger.log(d.UserLogs.FirstInvocationSent()),q&&l.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}(s,n,e));break;case"FlowMetrics":F(async function(e,t,o){const{rawMetrics:r,timeslice:n}=e,s=(new Date).toISOString();u.worker_logger.debug("Got flow metrics message",{msg:t,size:r.length}),C?.postMessage(f.KeepAliveMessage);const i=(0,v.processMetrics)(r,s,n);for(const e in i){const t=i[e].metrics;for(let r=0;r<t.length;r+=u.hudConfig.communicationBatchSize)C?.postMessage(f.KeepAliveMessage),await o.batch(e,t.slice(r,r+u.hudConfig.communicationBatchSize),i[e].version?{event_version:i[e].version}:{})}}(s,n,e));break;case"ProcessedFiles":F(async function(e,t,o,r){const n=new Map;for(const t of e)n.set(`${t.file_path_checksum}|${t.file_checksum}`,t);const s=Array.from(n.entries()).sort(([e],[t])=>e.localeCompare(t)).map(([,e])=>({file_path_checksum:e.file_path_checksum,file_checksum:e.file_checksum}));if("true"===process.env.HUD_SKIP_DECLS)return u.worker_logger.debug("Skipping file declarations"),void await L([],t,o,r);if("true"===process.env.HUD_FORCE_ALL_DECLS)return u.worker_logger.debug("Forcing all file declarations"),void await L(e,t,o,r);let i;try{i=await t.sendFileDeclarations(s)}catch(n){return u.worker_logger.error("Failed to send file declarations"),void await L(e,t,o,r)}if(i.send_all)return u.worker_logger.debug("All file declarations are requested by sink"),void await L(e,t,o,r);u.worker_logger.debug("Partial file declarations are requested by sink",{fileCount:i.files.length});const a=[];for(const e of i.files){const t=`${e.file_path_checksum}|${e.file_checksum}`,o=n.get(t);o&&a.push(o)}await L(a,t,o,r)}(s,e,o,t));break;case"GetMode":F(async function(e,t){const{runningMode:o}=e,r=await t.getMode({runningMode:o});C?.postMessage({msg:"GetMode",content:{mode:r}})}(s,e));break;case"EndpointDeclaration":F(async function(e,t,o){for(let r=0;r<e.length;r+=u.hudConfig.communicationBatchSize)C?.postMessage(f.KeepAliveMessage),await o.batch(t,e.slice(r,r+u.hudConfig.communicationBatchSize),{event_version:"1.0.2"})}(s,n,e));break;case"Runtime":case"PreInitLoadedModules":case"PostInitLoadedModules":case"PatchedModules":F(async function(e,t,o){C?.postMessage(f.KeepAliveMessage),await o.send(t,e)}(s,n,e));break;case"GraphQLResolvers":case"GraphQLDocuments":case"KafkaJSTopics":F(W(s,n,e));break;case"SqsQueue":F(W(s,n,e,{event_version:"1.0.1"}));break;case"Investigations":F(async function(e,t){const o=u.hudConfig.investigation.store,r=[];for(const n of e)try{const e=(0,k.createRegexes)(u.hudConfig.dynamicConfig.censorshipRegexes),s={...(0,k.censorInvestigation)(n,e,u.hudConfig.dynamicConfig.blacklistParams),version:u.hudConfig.investigation.objectVersion};if("disk"===o.type)await P(s,o);else if("s3"===o.type){const e=A(n),o=await t.storeObject(e,Buffer.from(JSON.stringify(s)));if(!o){u.worker_logger.error("Failed to store investigation",{investigationSaveName:e});continue}if(!n.context){u.worker_logger.error("Investigation has no context, even though it should");continue}const i={version:u.hudConfig.investigation.objectVersion,flow_type:n.context.type,flow_uuid:"sqs"===n.context.type?n.context.flow_id:n.context.endpoint_uuid,s3_pointer:o,timestamp:n.context.timestamp,exceptions:n.exceptions.map(e=>({name:e.name,functions:e.executionFlow.map(e=>e.function_id)}))};r.push(i)}}catch(e){u.worker_logger.error("Failed to save investigation",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}r.length>0&&await t.batch("FlowInvestigation",r)}(s,e));break;case"LogFilename":F(B(s,e));break;case"Logs":F(async function(e,t){C?.postMessage(f.KeepAliveMessage),await t.logs(e.logs)}(s,e));break;case"TsNodeConfig":M=s.tsConfig,o&&o.postMessage({msg:"TsNodeConfig",content:{tsOptions:M}});break;default:u.worker_logger.error("Unknown command",{msg:n})}})}(o,t)}catch(e){u.worker_logger.error("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 m.HudSessionThrottle)return u.worker_logger.info("Session throttled, exiting worker"),void C.postMessage({msg:"throttled"});if(e instanceof m.HudClientError)return u.worker_logger.error("Posting network error to main thread",{message:e.message,originalMessage:e.originalAxiosErrorCode}),void C.postMessage({msg:"networkError",content:{message:e.message,originalMessage:e.originalAxiosErrorCode}});throw u.worker_logger.error("Failed initiating session, exiting worker",{msg:e.message,stack:e.stack}),e})}).catch(e=>{throw u.worker_logger.error("Failed to register lambda extension",{msg:e.message}),C.postMessage({msg:"failed"}),e});const $=(0,m.suppressTraces)(u.renewFileTransports);async function B(e,t){for(const o of e.filenames)C?.postMessage(f.KeepAliveMessage),await t.logs(a.readFileSync(o,{encoding:"utf-8"})),u.hudConfig.deleteLogsAfterSending&&a.unlinkSync(o);const o=$();for(const e of o)C?.postMessage(f.KeepAliveMessage),await t.logs(a.readFileSync(e,{encoding:"utf-8"})),u.hudConfig.deleteLogsAfterSending&&a.unlinkSync(e)}async function z(e,t){const o=e.join("\n");o.length>0&&await t.logs(o)}async function H(){I.abort(),I=new AbortController}},2546:e=>{e.exports=require("./lib")},3106:e=>{e.exports=require("zlib")},3319:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),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||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.HudClient=void 0;const i=o(2546),a=s(o(8938)),c=o(6982),u=o(6261),l=o(9023),d=o(3106),g=(0,l.promisify)(d.gzip);class f{sessionId;httpClient;extensionEventEmitter;static config={baseURL:i.hudConfig.sink.url,timeout:i.hudConfig.sink.timeout,headers:{"Content-Type":"application/json"}};static defaultRequest={version:"1.0.0",source:"node-sdk",event_version:"1.0.0"};constructor(e){this.httpClient=a.default.create(f.config),this.extensionEventEmitter=e}setSession(e){const{sessionId:t,extraHeaders:o}=e;this.sessionId=t,this.httpClient.defaults.headers.common[i.hudConfig.sink.session_attr]=t;try{for(const[e,t]of Object.entries(o))try{this.httpClient.defaults.headers.common[e]=t}catch(o){i.worker_logger.error("Failed to set extra header",{msg:o instanceof Error?o.message:void 0,stack:o instanceof Error?o.stack:void 0,key:e,value:t})}}catch(e){i.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(i.hudConfig.endpoints.logs,t,"logs"),i.worker_logger.debug("sent logs successfully",{size:e.length})}async send(e,t,o={}){const r={...f.defaultRequest,type:e,raw:t,send_time:(new Date).toISOString(),...o};await this._requestRelentless(i.hudConfig.endpoints.send,r,e),i.worker_logger.debug("sent event successfully",{type:e})}async batch(e,t,o={}){const r={...f.defaultRequest,type:e,arr:t,send_time:(new Date).toISOString(),...o};await this._requestRelentless(i.hudConfig.endpoints.batch,r,e),i.worker_logger.debug("sent batched events successfully",{type:e})}async getRemoteConfig(){const e=await this._requestDataRelentless(i.hudConfig.endpoints.getRemoteConfig,{},"getRemoteConfig");return i.worker_logger.info("Received remote configuration from server",{remoteConfiguration:e}),e}async getMode(e){const t={extra:e,send_time:(new Date).toISOString()},o=await this._requestDataRelentless(i.hudConfig.endpoints.getMode,t,"getMode");return i.worker_logger.info("Received mode from server "+o),o}async storeObject(e,t){const o={key:e,value:t.toString("base64")},r=await this._requestDataRelentless(i.hudConfig.endpoints.storeObject,o,"storeObject");if("reference"in r)return i.worker_logger.debug("Stored object successfully",{reference:r.reference}),r.reference;i.worker_logger.error("Failed to store object",{key:e,response:r})}async sendFileDeclarations(e){i.worker_logger.debug("Sending file declarations request",{count:e.length});const t={files:e},o=await this._requestRelentless(i.hudConfig.endpoints.fileDeclarations,t,"fileDeclarations");return{files:o.data.files,send_all:o.data.send_all}}async _requestRelentless(e,t,o,r=3){const n={"X-Hud-Type":o,"X-Hud-Request-ID":(0,c.randomUUID)()},s=[];let u;for(let c=0;c<r;c++)try{return await this._request(e,t,o,n)}catch(t){if(t instanceof Error&&(u=t),t instanceof a.AxiosError){if(401===t.response?.status)throw i.worker_logger.error("Unauthorized request",{endpoint:e,requestType:o}),new i.HudClientUnauthorizedError(`Unauthorized request for ${e}`);const{code:r,name:n,status:a,message:c}=t;s.push({code:r,name:n,status:a,message:c})}else if(t instanceof Error){const{name:e,message:o}=t;s.push({name:e,message:o})}await new Promise(e=>setTimeout(e,1))}throw i.worker_logger.error("Exceeded max retries to request",{endpoint:e,requestType:o,failures:s,retries:r}),new i.HudClientError(`Exceeded max retries for ${e}`,u instanceof a.AxiosError?u.code:void 0)}async _requestDataRelentless(e,t,o,r=3){return(await this._requestRelentless(e,t,o,r)).data}async _request(e,t,o,r){try{this.extensionEventEmitter&&await(0,u.once)(this.extensionEventEmitter,"eventloop");const o=await this._gzipCompress(JSON.stringify(t));return r={...r,"Content-Encoding":"gzip","Content-Type":"application/json"},await(0,i.suppressTraces)(async()=>await this.httpClient.post(e,o,{headers:r}))()}catch(t){if(t instanceof a.AxiosError){const{code:r,name:n,status:s,cause:a,message:c}=t;i.worker_logger.error(`${e} request failed`,{requestType:o,code:r,name:n,status:s,cause:a,msg:c})}else i.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 g(e)}async initSession(e,t,o){const r={token:e,service:t,start_time:o.toISOString(),type:"node-sdk",version:"1.0.0",sdk_version:i.SDK_VERSION};i.worker_logger.debug("Requesting init",{data:r});const n=await this._requestRelentless(i.hudConfig.endpoints.init,r,"init");if(n.status===i.hudConfig.throttleStatusCode)throw i.worker_logger.debug("Init request throttled"),new i.HudSessionThrottle;const s=n.data.sessionId,a=n.data.extraHeaders??{};return i.worker_logger.info("Succesfuly created session with backend",{host:f.config.baseURL,service:t,sessionId:s,extraHeaders:a}),{sessionId:s,extraHeaders:a}}}t.HudClient=f},4678:function(e,t,o){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopWorkloadDataCollector=void 0;const n=r(o(8938)),s=o(9896),i=r(o(857)),a=o(2546);class c{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,s.readFileSync)(e,"utf8")}catch{return a.worker_logger.debug(`Could not read file ${e}`),null}}getKubernetesWorkloadData(){if("linux"!==this.getOperatingSystem())return a.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),r=(0,a.getCpuLimit)(a.worker_logger),n=(0,a.getPodMemoryLimit)(a.worker_logger),s=null!==n.podMemoryLimitMB?n.podMemoryLimitMB.toString():null;return{product_uuid:o?.trim()||null,pod_name:e.trim(),pod_namespace:t?.trim()||null,pod_memory_limit:s?.trim()||null,pod_cpu_limit:r?.toString()||null}}async getLocalAWSWorkloadData(){const e=(0,s.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,a.suppressTraces)(async()=>await n.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 a.HudWorkloadCollectorError(`Could not retrieve instance metadata token: ${e}`)}const t={"X-aws-ec2-metadata-token":e.data};let o;try{o=await(0,a.suppressTraces)(async()=>await n.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.identityURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new a.HudWorkloadCollectorError(`Could not retrieve instance identity document: ${e}`)}const r=o.data;let s;try{s=await(0,a.suppressTraces)(async()=>await n.default.get(`${this.config.aws.imds.baseURL}${this.config.aws.imds.lifeCycleURI}`,{timeout:this.config.aws.imds.requestTimeout,headers:t}))()}catch(e){throw new a.HudWorkloadCollectorError(`Could not retrieve instance life cycle: ${e}`)}const i=s.data;return{workload_id:r.instanceId,workload_instance_type:r.instanceType,region:r.region,ami_id:r.imageId,launched_date:r.pendingTime,life_cycle:i}}async getAWSWorkloadData(){try{return await this.getLocalAWSWorkloadData()}catch(e){a.worker_logger.info("Failed to get workload metadata from local file",{msg:e.message})}try{return await this.getIMDSWorkloadData()}catch(e){a.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){a.worker_logger.info("Sending workload metadata to the server",{msg:e}),await this.client.send("WorkloadData",e)}}t.loopWorkloadDataCollector=async function(e,t,o,r){try{const s=new c(e,t),i=await s.getWorkloadData();await n(s,i);for await(const e of(0,a.unrefSetInterval)(o,void 0,{signal:r}))await n(s,i)}catch(e){(0,a.isAbortError)(e)||a.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 n(e,t){try{await e.send(t)}catch(e){a.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})}}}},6261:e=>{e.exports=require("events")},6304:(e,t)=>{function o(e,t,o){return{type:e.type,endpoint_uuid:e.endpoint_uuid,status_code:e.status_code,route:n(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}}function r(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:s(e.messages,t,o),timestamp:e.timestamp}}function n(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 n(e,t);if("object"==typeof e&&null!==e)for(const r in e)o.includes(r)?e[r]="[REDACTED]":e[r]=s(e[r],t,o);return e}Object.defineProperty(t,"__esModule",{value:!0}),t.censorInvestigation=t.createRegexes=void 0,t.createRegexes=function(e){return e.map(e=>({regex:new RegExp(e.regex,"g"),replacement:e.replacement}))},t.censorInvestigation=function(e,t=[],s=[]){const i=e.context?function(e,t,n){const s={system_info:e?.system_info,machine_metrics:e?.machine_metrics,observability_identifiers:e?.observability_identifiers};if("http"===e.type)return{...s,...o(e,t,n)};if("sqs"===e.type)return{...s,...r(e,t,n)};throw new Error(`Unknown context type: ${e}`)}(e.context,t,s):void 0;return{status:e.status,context:i,exceptions:e.exceptions.map(e=>({name:e.name,message:e.message?n(e.message,t):void 0,stackTrace:e.stackTrace,executionFlow:e.executionFlow}))}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},7131:e=>{e.exports=require("./wrap")},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9023:e=>{e.exports=require("util")},9426:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extensionMainLoop=t.registerIfNeeded=void 0;const r=o(2546),n=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function s(e){const t=await async function(e){return await fetch(`${n}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}(e);if(!t.ok)throw r.worker_logger.info("next failed",await t.text()),new r.HudExtensionNextFailedError;return await t.json()}t.registerIfNeeded=async function(e){return e?await async function(){r.worker_logger.info("registering extension");const e=await fetch(`${n}/register`,{method:"post",body:JSON.stringify({events:["INVOKE"]}),headers:{"Content-Type":"application/json","Lambda-Extension-Name":"hud-extension"}});if(!e.ok)throw r.worker_logger.error("register failed",{status:e.status,statusText:e.statusText,body:await e.text(),baseUrl:n}),new r.HudExtensionRegisterError("register failed");return e.headers.get("lambda-extension-identifier")}():null},t.extensionMainLoop=async function(e,t){let o=Date.now();for(r.worker_logger.info("starting extension main loop");;)try{const n=await s(e);if(t.listenerCount("eventloop")>0){const e=t.listenerCount("eventloop"),n=Date.now()-o;t.emit("eventloop",""),o=Date.now();const s=Math.min(r.hudConfig.lambdaBaseGivenTime+e*r.hudConfig.lambdaExtraGivenTimePerRequest,r.hudConfig.lambdaMaxGivenTime);r.worker_logger.debug(`Starting giving time for the eventloop to run at ${(new Date).toISOString()}. ${n}ms since last eventloop request. Given time: ${s}ms`),await new Promise(e=>setTimeout(e,s)),r.worker_logger.debug(`Done giving time for the eventloop to run ${(new Date).toISOString()}`)}if("SHUTDOWN"===n?.eventType)return void r.worker_logger.info("shutting down")}catch(e){e instanceof r.HudExtnensionError?r.worker_logger.warn("Extension tick failed, continuing",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}):r.worker_logger.error("Extension tick failed with unexpected error, continuing",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0});continue}}},9748:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.processMetrics=void 0;const r=o(2546),n=o(7131);class s{}class i extends s{flowId;count;sumDuration;sumSquaredDuration;timestamp;timeslice;sketchBuilder;constructor(e,t,o,r){super(),this.flowId=e.flow_id,this.count=1,this.sumDuration=e.duration,this.sumSquaredDuration=e.duration**2,this.timestamp=t,this.timeslice=o,this.sketchBuilder=r.newSketchDataWithValue(e.duration)}getKey(){return this.flowId??""}getEventVersion(){return"1.0.0"}update(e,t){this.sumDuration+=e.duration,this.sumSquaredDuration+=e.duration**2,this.count+=1,t.add(this.sketchBuilder,e.duration)}finalize(e){return{flow_id:this.flowId,count:this.count,sum_duration:this.sumDuration,sum_squared_duration:this.sumSquaredDuration,timestamp:this.timestamp,timeslice:this.timeslice,sketch:e.encode(this.sketchBuilder)}}}class a{static registry={};static registerMetric(e,t){a.registry[e]=t}static createMetric(e,t,o,r){const n=a.registry[e.type];if(!n)throw new Error(`Unknown metric type: ${e.type}`);return new n(e,t,o,r)}}a.registerMetric("EndpointMetric",class extends i{route;method;statusCode;constructor(e,t,o,r){super(e,t,o,r),this.route=e.route,this.method=e.method,this.statusCode=e.status_code}getKey(){return`${this.flowId}|${this.route}|${this.method}|${this.statusCode}`}finalize(e){return{...super.finalize(e),route:this.route,method:this.method,status_code:this.statusCode}}}),a.registerMetric("GraphQLMetric",class extends i{constructor(e,t,o,r){super(e,t,o,r)}}),a.registerMetric("KafkaJSMetric",class extends i{partition;error;ConsumeSketchBuilder;sumConsumedDuration;sumSquaredConsumedDuration;constructor(e,t,o,r){super(e,t,o,r),this.partition=e.partition,this.error=e.error,e.total_consume_duration&&(this.ConsumeSketchBuilder=r.newSketchDataWithValue(e.total_consume_duration)),this.sumConsumedDuration=e.total_consume_duration??0,this.sumSquaredConsumedDuration=(e.total_consume_duration??0)**2}getKey(){return`${this.flowId}|${this.partition}|${this.error}`}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){return{...super.finalize(e),partition:this.partition,error:this.error,sum_consumed_duration:this.sumConsumedDuration,sum_squared_consumed_duration:this.sumSquaredConsumedDuration,sketch_consume:e.encode(this.ConsumeSketchBuilder)}}}),a.registerMetric("SqsMetric",class extends i{msgCount;errors;e2eData;constructor(e,t,o,r){super(e,t,o,r),this.msgCount=e.msg_count,this.errors=e.errors,e.e2e_duration&&(this.e2eData={duration:e.e2e_duration,squaredDuration:e.e2e_duration**2,sketchBuilder:r.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.1"}finalize(e){return{...super.finalize(e),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)}:{}}}}),t.processMetrics=function(e,t,o){const s=new n.SketchManager(r.hudConfig.huddBinWidth),i=function(e){return e.reduce((e,t)=>(e[t.type]||(e[t.type]=[]),e[t.type].push(t),e),{})}(e),c={};return Object.entries(i).forEach(([e,n])=>{c[e]=function(e,t,o,n){const s={};e.forEach(e=>{try{const r=a.createMetric(e,t,o,n),i=r.getKey();s[i]?s[i].update(e,n):s[i]=r}catch(t){r.worker_logger.error("Error processing metric",{metric:e,msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}});const i=Object.values(s);return{metrics:i.map(e=>e.finalize(n)),version:i.length>0?i[0].getEventVersion():void 0}}(n,t,o,s)}),c}},9896:e=>{e.exports=require("fs")}},t={};return function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r].call(s.exports,s,s.exports,o),s.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={857:e=>{e.exports=require("os")},1886:function(e,t,o){var n=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]}),r=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||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&n(t,e,o);return r(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(o(9896)),c=o(8167),l=o(2546),g=s(o(2546)),d=o(2546),u=o(3319),f=o(8528),m=o(2546),p=o(6982),h=o(6261),w=i(o(6928)),_=o(4678),k=o(6304),y=o(9426),v=c.parentPort,b=c.workerData.apiKey,C=c.workerData.service,x=c.workerData.startTime,S=c.workerData.shouldRunLambdaExtension,E=c.workerData.shouldCreateDeclaraionWorker;let M,D=new AbortController,I=!1,O=!1;const q=m.safeCall.bind(m.safeCall,l.worker_logger);if(l.hudConfig.userConfig=c.workerData.userConfig,l.worker_logger.info("Worker started"),null===v)throw new m.HudWorkerError("Failed to get port");const F=new Set;function R(){I||(I=!0,g.customer_logger.log(d.UserLogs.FirstDecalarationSent()),O&&g.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}async function T(e,t,o,n){if(0!==e.length)for(const r of e)try{if(n&&(0,h.once)(n,"eventloop"),l.worker_logger.debug("Sending file to parser worker",{filename:r.filename}),o){o.postMessage({msg:"SourceFileMetadata",content:r});continue}const{filename:e,indexOffset:s,indexOffsetEnd:i}=r,a=await(0,m.readFile)(e,s,i);if(!a)continue;const c=await(0,m.parseDeclarations)(r,a,void 0,M);await L(c,t),R()}catch(e){l.worker_logger.error("Failed to parse declarations",{filename:r.filename,error:e})}else R()}async function L(e,t){e.blacklist&&e.blacklist.uuids.length>0&&(v?.postMessage(f.KeepAliveMessage),e.blacklist.uuids.forEach(e=>{F.add(e)}),await t.batch("CorruptedFile",[e.blacklist],{event_version:"1.0.0"}));for(let o=0;o<e.declarations.length;o+=l.hudConfig.communicationBatchSize)v?.postMessage(f.KeepAliveMessage),await t.batch("FunctionDeclaration",e.declarations.slice(o,o+l.hudConfig.communicationBatchSize),{event_version:f.FUNCTION_DECLARATION_VERSION})}function A(e){return`investigation-${e.context?.timestamp??Date.now()}-${(0,p.randomUUID)()}.json`}async function j(e,t){await a.promises.writeFile(w.default.join(t.path,A(e)),JSON.stringify(e,null,2))}async function P(e,t,o,n={}){for(let r=0;r<e.length;r+=l.hudConfig.communicationBatchSize)v?.postMessage(f.KeepAliveMessage),await o.batch(t,e.slice(r,r+l.hudConfig.communicationBatchSize),n)}(0,y.registerIfNeeded)(S).then(e=>{let t;e?(t=new h.EventEmitter,t.setMaxListeners(0),q((0,y.extensionMainLoop)(e,t)),l.worker_logger.info("Lambda extension registered",{extensionId:e}),v.postMessage({msg:"extensionRegistered",content:{extensionId:e}})):v.postMessage({msg:"startedNoExtension"});const o=new u.HudClient(t);o.initSession(b,C,x).then(async e=>{o.setSession(e);const{sessionId:n}=e;l.worker_logger.info("Initialized successfuly",{sessionId:n});const r=f.HudSessionInitStatus.success;v.postMessage({msg:"initialized",content:{status:r}}),await async function(e){if(null===v)throw new m.HudWorkerError("Failed to get port");const t=await e.getRemoteConfig();return t?(l.worker_logger.info("Remote configuration exists"),l.hudConfig.dynamicConfig=(0,m.updateDynamicConfig)(t,l.hudConfig,l.worker_logger),l.worker_logger.info("Current dynamic configuration:",{currentDynamicConfig:l.hudConfig.dynamicConfig})):l.worker_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:l.hudConfig.dynamicConfig}),v.postMessage({msg:"initDynamicConfig",content:t}),t}(o);try{await async function(e,t){if(null===v)throw new m.HudWorkerError("Failed to get port");const o=E?function(e,t){const o=m.myRequire.resolve(`${l.SDK_MODULE_NAME}/declarationWorker`),n=new c.Worker(o);return n.unref(),n.on("message",o=>{"eventlooptime"!==o?q(L(o,e)):t&&(0,h.once)(t,"eventloop")}),n.on("error",e=>{l.worker_logger.error("Declaration parser worker failed",{msg:e instanceof Error?e.message:void 0})}),n.on("exit",e=>{l.worker_logger.warn("Declaration parser worker exited",{code:e})}),n}(e,t):void 0;v.on("message",n=>{const{msg:r,content:s}=n;switch(l.worker_logger.debug("Got message from main thread",{msg:r}),r){case"Terminate":q(async function(e,t){const o=process.hrtime();l.worker_logger.warn("Notified to terminate. flushing.",{grace:e.grace}),await U(e.logBuffers,t),await H({filenames:e.logFiles},t),await U((0,l.getSavedLogs)(),t),await H({filenames:Array.from(W())},t),await $();const n=process.hrtime(o),r=1e3*n[0]+n[1]/1e6;l.worker_logger.info("Done flushing. responsing to parent",{grace:e.grace,termination_time_ms:r}),v?.postMessage({msg:"terminated"}),v?.close()}(s,e));break;case"StartPeriodicTasks":q(async function(e){q((0,_.loopWorkloadDataCollector)(e,l.hudConfig.workloadMetadata,l.hudConfig.workloadMetadata.sendInterval,D.signal)),q((0,m.loopLogProcessPerformance)(l.worker_logger,l.hudConfig.logPerfInterval,D.signal)),q((0,m.loopLogThreadPerformance)(l.worker_logger,l.hudConfig.logPerfInterval,D.signal)),q(async function(e,t,o){for await(const n of(0,m.unrefSetInterval)(t,void 0,{signal:o.signal})){v?.postMessage(f.KeepAliveMessage);const t=(0,l.getSavedLogs)();await U(t,e)}}(e,l.hudConfig.logsSendInterval,D))}(e));break;case"Abort":q($());break;case"Invocations":q(async function(e,t,o){const n=e;l.worker_logger.debug("Got invocations message",{msg:t,size:e.length});const r=n.filter(e=>!F.has(e.function_id));for(let e=0;e<r.length;e+=l.hudConfig.communicationBatchSize)v?.postMessage(f.KeepAliveMessage),await o.batch("Invocations",r.slice(e,e+l.hudConfig.communicationBatchSize),{event_version:"1.0.1"});O||(O=!0,g.customer_logger.log(d.UserLogs.FirstInvocationSent()),I&&g.customer_logger.log(d.UserLogs.HappyFlowCompleted()))}(s,r,e));break;case"FlowMetrics":q(async function(e,t,o){const{aggregatedMetrics:n}=e;l.worker_logger.debug("Got aggregated flow metrics message",{msg:t,size:Object.keys(n).length}),v?.postMessage(f.KeepAliveMessage);for(const e in n){const t=n[e];if(0===t.length)continue;const r=t[0].event_version;for(let n=0;n<t.length;n+=l.hudConfig.communicationBatchSize)v?.postMessage(f.KeepAliveMessage),await o.batch(e,t.slice(n,n+l.hudConfig.communicationBatchSize),r?{event_version:r}:{})}}(s,r,e));break;case"ProcessedFiles":q(async function(e,t,o,n){const r=new Map;for(const t of e)r.set(`${t.file_path_checksum}|${t.file_checksum}`,t);const s=Array.from(r.entries()).sort(([e],[t])=>e.localeCompare(t)).map(([,e])=>({file_path_checksum:e.file_path_checksum,file_checksum:e.file_checksum}));if("true"===process.env.HUD_SKIP_DECLS)return l.worker_logger.debug("Skipping file declarations"),void await T([],t,o,n);if("true"===process.env.HUD_FORCE_ALL_DECLS)return l.worker_logger.debug("Forcing all file declarations"),void await T(e,t,o,n);let i;try{i=await t.sendFileDeclarations(s)}catch(r){return l.worker_logger.error("Failed to send file declarations"),void await T(e,t,o,n)}if(i.send_all)return l.worker_logger.debug("All file declarations are requested by sink"),void await T(e,t,o,n);l.worker_logger.debug("Partial file declarations are requested by sink",{fileCount:i.files.length});const a=[];for(const e of i.files){const t=`${e.file_path_checksum}|${e.file_checksum}`,o=r.get(t);o&&a.push(o)}await T(a,t,o,n)}(s,e,o,t));break;case"GetMode":q(async function(e,t){const{runningMode:o}=e,n=await t.getMode({runningMode:o});v?.postMessage({msg:"GetMode",content:{mode:n}})}(s,e));break;case"EndpointDeclaration":q(async function(e,t,o){for(let n=0;n<e.length;n+=l.hudConfig.communicationBatchSize)v?.postMessage(f.KeepAliveMessage),await o.batch(t,e.slice(n,n+l.hudConfig.communicationBatchSize),{event_version:"1.0.2"})}(s,r,e));break;case"Runtime":case"PreInitLoadedModules":case"PostInitLoadedModules":case"PatchedModules":q(async function(e,t,o){v?.postMessage(f.KeepAliveMessage),await o.send(t,e)}(s,r,e));break;case"GraphQLResolvers":case"GraphQLDocuments":case"KafkaJSTopics":q(P(s,r,e));break;case"SqsQueue":q(P(s,r,e,{event_version:"1.0.1"}));break;case"Investigations":q(async function(e,t){const o=l.hudConfig.investigation.store,n=[];for(const r of e)try{const e=(0,k.createRegexes)(l.hudConfig.dynamicConfig.censorshipRegexes),s={...(0,k.censorInvestigation)(r,e,l.hudConfig.dynamicConfig.blacklistParams),version:l.hudConfig.investigation.objectVersion};if("disk"===o.type)await j(s,o);else if("s3"===o.type){const e=A(r),o=await t.storeObject(e,Buffer.from(JSON.stringify(s)));if(!o){l.worker_logger.error("Failed to store investigation",{investigationSaveName:e});continue}if(!r.context){l.worker_logger.error("Investigation has no context, even though it should");continue}const i={version:l.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,exceptions:r.exceptions.map(e=>({name:e.name,functions:e.executionFlow.map(e=>e.function_id)}))};n.push(i)}}catch(e){l.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)}(s,e));break;case"LogFilename":q(H(s,e));break;case"Logs":q(async function(e,t){v?.postMessage(f.KeepAliveMessage),await t.logs(e.logs)}(s,e));break;case"TsNodeConfig":M=s.tsConfig,o&&o.postMessage({msg:"TsNodeConfig",content:{tsOptions:M}});break;default:l.worker_logger.error("Unknown command",{msg:r})}})}(o,t)}catch(e){l.worker_logger.error("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 m.HudSessionThrottle)return l.worker_logger.info("Session throttled, exiting worker"),void v.postMessage({msg:"throttled"});if(e instanceof m.HudClientError)return l.worker_logger.error("Posting network error to main thread",{message:e.message,originalMessage:e.originalAxiosErrorCode}),void v.postMessage({msg:"networkError",content:{message:e.message,originalMessage:e.originalAxiosErrorCode}});throw l.worker_logger.error("Failed initiating session, exiting worker",{msg:e.message,stack:e.stack}),e})}).catch(e=>{throw l.worker_logger.error("Failed to register lambda extension",{msg:e.message}),v.postMessage({msg:"failed"}),e});const W=(0,m.suppressTraces)(l.renewFileTransports);async function H(e,t){for(const o of e.filenames)v?.postMessage(f.KeepAliveMessage),await t.logs(a.readFileSync(o,{encoding:"utf-8"})),l.hudConfig.deleteLogsAfterSending&&a.unlinkSync(o);const o=W();for(const e of o)v?.postMessage(f.KeepAliveMessage),await t.logs(a.readFileSync(e,{encoding:"utf-8"})),l.hudConfig.deleteLogsAfterSending&&a.unlinkSync(e)}async function U(e,t){const o=e.join("\n");o.length>0&&await t.logs(o)}async function $(){D.abort(),D=new AbortController}},2546:e=>{e.exports=require("./lib")},3106:e=>{e.exports=require("zlib")},3319:function(e,t,o){var n=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]}),r=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||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&n(t,e,o);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.HudClient=void 0;const i=o(2546),a=s(o(8938)),c=o(6982),l=o(6261),g=o(9023),d=o(3106),u=(0,g.promisify)(d.gzip);class f{sessionId;httpClient;extensionEventEmitter;static config={baseURL:i.hudConfig.sink.url,timeout:i.hudConfig.sink.timeout,headers:{"Content-Type":"application/json"}};static defaultRequest={version:"1.0.0",source:"node-sdk",event_version:"1.0.0"};constructor(e){this.httpClient=a.default.create(f.config),this.extensionEventEmitter=e}setSession(e){const{sessionId:t,extraHeaders:o}=e;this.sessionId=t,this.httpClient.defaults.headers.common[i.hudConfig.sink.session_attr]=t;try{for(const[e,t]of Object.entries(o))try{this.httpClient.defaults.headers.common[e]=t}catch(o){i.worker_logger.error("Failed to set extra header",{msg:o instanceof Error?o.message:void 0,stack:o instanceof Error?o.stack:void 0,key:e,value:t})}}catch(e){i.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(i.hudConfig.endpoints.logs,t,"logs"),i.worker_logger.debug("sent logs successfully",{size:e.length})}async send(e,t,o={}){const n={...f.defaultRequest,type:e,raw:t,send_time:(new Date).toISOString(),...o};await this._requestRelentless(i.hudConfig.endpoints.send,n,e),i.worker_logger.debug("sent event successfully",{type:e})}async batch(e,t,o={}){const n={...f.defaultRequest,type:e,arr:t,send_time:(new Date).toISOString(),...o};await this._requestRelentless(i.hudConfig.endpoints.batch,n,e),i.worker_logger.debug("sent batched events successfully",{type:e})}async getRemoteConfig(){const e=await this._requestDataRelentless(i.hudConfig.endpoints.getRemoteConfig,{},"getRemoteConfig");return i.worker_logger.info("Received remote configuration from server",{remoteConfiguration:e}),e}async getMode(e){const t={extra:e,send_time:(new Date).toISOString()},o=await this._requestDataRelentless(i.hudConfig.endpoints.getMode,t,"getMode");return i.worker_logger.info("Received mode from server "+o),o}async storeObject(e,t){const o={key:e,value:t.toString("base64")},n=await this._requestDataRelentless(i.hudConfig.endpoints.storeObject,o,"storeObject");if("reference"in n)return i.worker_logger.debug("Stored object successfully",{reference:n.reference}),n.reference;i.worker_logger.error("Failed to store object",{key:e,response:n})}async sendFileDeclarations(e){i.worker_logger.debug("Sending file declarations request",{count:e.length});const t={files:e},o=await this._requestRelentless(i.hudConfig.endpoints.fileDeclarations,t,"fileDeclarations");return{files:o.data.files,send_all:o.data.send_all}}async _requestRelentless(e,t,o,n=3){const r={"X-Hud-Type":o,"X-Hud-Request-ID":(0,c.randomUUID)()},s=[];let l;for(let c=0;c<n;c++)try{return await this._request(e,t,o,r)}catch(t){if(t instanceof Error&&(l=t),t instanceof a.AxiosError){if(401===t.response?.status)throw i.worker_logger.error("Unauthorized request",{endpoint:e,requestType:o}),new i.HudClientUnauthorizedError(`Unauthorized request for ${e}`);const{code:n,name:r,status:a,message:c}=t;s.push({code:n,name:r,status:a,message:c})}else if(t instanceof Error){const{name:e,message:o}=t;s.push({name:e,message:o})}await new Promise(e=>setTimeout(e,1))}throw i.worker_logger.error("Exceeded max retries to request",{endpoint:e,requestType:o,failures:s,retries:n}),new i.HudClientError(`Exceeded max retries for ${e}`,l instanceof a.AxiosError?l.code:void 0)}async _requestDataRelentless(e,t,o,n=3){return(await this._requestRelentless(e,t,o,n)).data}async _request(e,t,o,n){try{this.extensionEventEmitter&&await(0,l.once)(this.extensionEventEmitter,"eventloop");const o=await this._gzipCompress(JSON.stringify(t));return n={...n,"Content-Encoding":"gzip","Content-Type":"application/json"},await(0,i.suppressTraces)(async()=>await this.httpClient.post(e,o,{headers:n}))()}catch(t){if(t instanceof a.AxiosError){const{code:n,name:r,status:s,cause:a,message:c}=t;i.worker_logger.error(`${e} request failed`,{requestType:o,code:n,name:r,status:s,cause:a,msg:c})}else i.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 u(e)}async initSession(e,t,o){const n={token:e,service:t,start_time:o.toISOString(),type:"node-sdk",version:"1.0.0",sdk_version:i.SDK_VERSION};i.worker_logger.debug("Requesting init",{data:n});const r=await this._requestRelentless(i.hudConfig.endpoints.init,n,"init");if(r.status===i.hudConfig.throttleStatusCode)throw i.worker_logger.debug("Init request throttled"),new i.HudSessionThrottle;const s=r.data.sessionId,a=r.data.extraHeaders??{};return i.worker_logger.info("Succesfuly created session with backend",{host:f.config.baseURL,service:t,sessionId:s,extraHeaders:a}),{sessionId:s,extraHeaders:a}}}t.HudClient=f},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=void 0;const r=n(o(8938)),s=o(9896),i=n(o(857)),a=o(2546);class c{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,s.readFileSync)(e,"utf8")}catch{return a.worker_logger.debug(`Could not read file ${e}`),null}}getKubernetesWorkloadData(){if("linux"!==this.getOperatingSystem())return a.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,a.getCpuLimit)(a.worker_logger),r=(0,a.getPodMemoryLimit)(a.worker_logger),s=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:s?.trim()||null,pod_cpu_limit:n?.toString()||null}}async getLocalAWSWorkloadData(){const e=(0,s.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,a.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 a.HudWorkloadCollectorError(`Could not retrieve instance metadata token: ${e}`)}const t={"X-aws-ec2-metadata-token":e.data};let o;try{o=await(0,a.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 a.HudWorkloadCollectorError(`Could not retrieve instance identity document: ${e}`)}const n=o.data;let s;try{s=await(0,a.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 a.HudWorkloadCollectorError(`Could not retrieve instance life cycle: ${e}`)}const i=s.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){a.worker_logger.info("Failed to get workload metadata from local file",{msg:e.message})}try{return await this.getIMDSWorkloadData()}catch(e){a.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){a.worker_logger.info("Sending workload metadata to the server",{msg:e}),await this.client.send("WorkloadData",e)}}t.loopWorkloadDataCollector=async function(e,t,o,n){try{const s=new c(e,t),i=await s.getWorkloadData();await r(s,i);for await(const e of(0,a.unrefSetInterval)(o,void 0,{signal:n}))await r(s,i)}catch(e){(0,a.isAbortError)(e)||a.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){a.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})}}}},6261:e=>{e.exports=require("events")},6304:(e,t)=>{function o(e,t,o){return{type:e.type,endpoint_uuid:e.endpoint_uuid,status_code:e.status_code,route:r(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}}function n(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:s(e.messages,t,o),timestamp:e.timestamp}}function r(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 r(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}Object.defineProperty(t,"__esModule",{value:!0}),t.censorInvestigation=t.createRegexes=void 0,t.createRegexes=function(e){return e.map(e=>({regex:new RegExp(e.regex,"g"),replacement:e.replacement}))},t.censorInvestigation=function(e,t=[],s=[]){const i=e.context?function(e,t,r){const s={system_info:e?.system_info,machine_metrics:e?.machine_metrics,observability_identifiers:e?.observability_identifiers};if("http"===e.type)return{...s,...o(e,t,r)};if("sqs"===e.type)return{...s,...n(e,t,r)};throw new Error(`Unknown context type: ${e}`)}(e.context,t,s):void 0;return{status:e.status,context:i,exceptions:e.exceptions.map(e=>({name:e.name,message:e.message?r(e.message,t):void 0,stackTrace:e.stackTrace,executionFlow:e.executionFlow}))}}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},8167:e=>{e.exports=require("worker_threads")},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9023:e=>{e.exports=require("util")},9426:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.extensionMainLoop=t.registerIfNeeded=void 0;const n=o(2546),r=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function s(e){const t=await async function(e){return await fetch(`${r}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}(e);if(!t.ok)throw n.worker_logger.info("next failed",await t.text()),new n.HudExtensionNextFailedError;return await t.json()}t.registerIfNeeded=async function(e){return e?await async function(){n.worker_logger.info("registering extension");const e=await fetch(`${r}/register`,{method:"post",body:JSON.stringify({events:["INVOKE"]}),headers:{"Content-Type":"application/json","Lambda-Extension-Name":"hud-extension"}});if(!e.ok)throw n.worker_logger.error("register failed",{status:e.status,statusText:e.statusText,body:await e.text(),baseUrl:r}),new n.HudExtensionRegisterError("register failed");return e.headers.get("lambda-extension-identifier")}():null},t.extensionMainLoop=async function(e,t){let o=Date.now();for(n.worker_logger.info("starting extension main loop");;)try{const r=await s(e);if(t.listenerCount("eventloop")>0){const e=t.listenerCount("eventloop"),r=Date.now()-o;t.emit("eventloop",""),o=Date.now();const s=Math.min(n.hudConfig.lambdaBaseGivenTime+e*n.hudConfig.lambdaExtraGivenTimePerRequest,n.hudConfig.lambdaMaxGivenTime);n.worker_logger.debug(`Starting giving time for the eventloop to run at ${(new Date).toISOString()}. ${r}ms since last eventloop request. Given time: ${s}ms`),await new Promise(e=>setTimeout(e,s)),n.worker_logger.debug(`Done giving time for the eventloop to run ${(new Date).toISOString()}`)}if("SHUTDOWN"===r?.eventType)return void n.worker_logger.info("shutting down")}catch(e){e instanceof n.HudExtnensionError?n.worker_logger.warn("Extension tick failed, continuing",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}):n.worker_logger.error("Extension tick failed with unexpected error, continuing",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0});continue}}},9896:e=>{e.exports=require("fs")}},t={};return function o(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,o),s.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.9",
3
+ "version": "1.6.10",
4
4
  "description": "Hud's Node SDK",
5
5
  "homepage": "https://www.hud.io/",
6
6
  "keywords": [