UNPKG

hud-sdk

Version:

Hud's Node SDK

1 lines 52.3 kB
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(global,()=>(()=>{"use strict";var e={46:function(e,r,t){var o,n=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),s=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r},o(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),s=0;s<t.length;s++)"default"!==t[s]&&n(r,e,t[s]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.readFile=async function(e,r,t){try{if(r&&t){const o=Buffer.alloc(t-r),n=await u.promises.open(e,"r");return await n.read(o,0,t-r,r),await n.close(),o.toString("utf-8")}return await u.promises.readFile(e,"utf-8")}catch(r){return void a.worker_logger.error("Failed to read file",{filename:e,msg:r instanceof Error?r.message:r})}};const a=t(523),u=s(t(9896))},350:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.incrementInstrumentedStats=function(e,r,t,o,i,a){try{if(void 0===s.general?s.general={fileCount:1,durationSum:r,durationSketch:u.newSketchDataWithValue(r)}:(s.general.fileCount++,s.general.durationSum+=r,u.add(s.general.durationSketch,r)),!e)return;void 0===s.instrumented?s.instrumented={fileCount:1,durationSum:r,durationSketch:u.newSketchDataWithValue(r),totalFunctionsCountSum:a,instrumentedFunctionsCountSum:i,originalCompileDurationSum:t,originalCompileDurationSketch:u.newSketchDataWithValue(t),fileSizeBytesSum:o}:(s.instrumented.fileCount++,s.instrumented.durationSum+=r,u.add(s.instrumented.durationSketch,r),s.instrumented.totalFunctionsCountSum+=a,s.instrumented.instrumentedFunctionsCountSum+=i,s.instrumented.originalCompileDurationSum+=t,u.add(s.instrumented.originalCompileDurationSketch,t),s.instrumented.fileSizeBytesSum+=o),s.instrumented.totalFunctionsCountSketch=d(s.instrumented.totalFunctionsCountSketch,a),s.instrumented.instrumentedFunctionsCountSketch=d(s.instrumented.instrumentedFunctionsCountSketch,i),s.instrumented.instrumentedFunctionsCountSketch=d(s.instrumented.instrumentedFunctionsCountSketch,i),s.instrumented.totalFunctionsCountSketch=d(s.instrumented.totalFunctionsCountSketch,a),s.instrumented.fileSizeBytesSketch=d(s.instrumented.fileSizeBytesSketch,o),s.instrumented.fileSizeBytesSketch=d(s.instrumented.fileSizeBytesSketch,o)}catch(e){n.instrument_logger.error("Error incrementing instrumented stats",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0}),l()}},r.setInstrumentedFilesCountInterval=function(e=!1){let r;return a||(n.instrument_logger.info("Setting interval for instrumented files count logging",{interval:o.hudConfig.logIntervals.instrumentedFilesCount}),r=setInterval(()=>{const r=s,t={};void 0!==r.general&&(t.general={fileCount:r.general.fileCount,durationSum:r.general.durationSum,durationSketch:u.encode(r.general.durationSketch)}),void 0!==r.instrumented&&(t.instrumented={fileCount:r.instrumented.fileCount,durationSum:r.instrumented.durationSum,durationSketch:u.encode(r.instrumented.durationSketch),totalFunctionsCountSum:r.instrumented.totalFunctionsCountSum,totalFunctionsCountSketch:r.instrumented.totalFunctionsCountSketch?u.encode(r.instrumented.totalFunctionsCountSketch):void 0,instrumentedFunctionsCountSum:r.instrumented.instrumentedFunctionsCountSum,instrumentedFunctionsCountSketch:r.instrumented.instrumentedFunctionsCountSketch?u.encode(r.instrumented.instrumentedFunctionsCountSketch):void 0,originalCompileDurationSum:r.instrumented.originalCompileDurationSum,originalCompileDurationSketch:u.encode(r.instrumented.originalCompileDurationSketch),fileSizeBytesSum:r.instrumented.fileSizeBytesSum,fileSizeBytesSketch:r.instrumented.fileSizeBytesSketch?u.encode(r.instrumented.fileSizeBytesSketch):void 0}),Object.keys(t).length>0&&n.instrument_logger.info(e?"Successfully instrumented esm":"Successfully instrumented cjs",t),l()},o.hudConfig.logIntervals.instrumentedFilesCount),r.unref(),a=!0),r},r.incrementSentEventsCount=function(e){c[e]=(c[e]||0)+1},r.resetSentEventsCount=m,r.getSentEventsCount=g,r.setSentEventsCountInterval=function(){let e;return f||(n.worker_logger.info("Setting interval for sent events count logging",{interval:o.hudConfig.logIntervals.sentEventsCount}),e=setInterval(()=>{const e=g();Object.keys(e).length>0&&(n.worker_logger.info("Successfully sent events",{sentEventsCount:e}),m())},o.hudConfig.logIntervals.sentEventsCount),e.unref(),f=!0),e};const o=t(5809),n=t(523),i=t(7131);let s={general:void 0,instrumented:void 0},a=!1;const u=new i.SketchManager(o.hudConfig.huddBinWidth);function l(){s={general:void 0,instrumented:void 0}}function d(e,r){if(!(r<=0))return void 0===e?u.newSketchDataWithValue(r):(u.add(e,r),e)}let c={},f=!1;function m(){c={}}function g(){return c}},523:e=>{e.exports=require("./logger")},857:e=>{e.exports=require("os")},1176:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getInstrumentedThirdPartyModuleInfo=function(e){const r=o.hudConfig.functionsToInstrument||[];for(const t of r)for(const r in t.fileToFunctionsMapping)if(e.endsWith(r))return{functions:t.fileToFunctionsMapping[r],moduleName:t.moduleName}};const o=t(5809)},1493:e=>{e.exports=require("v8")},1569:e=>{e.exports=require("zod")},1943:e=>{e.exports=require("fs/promises")},2784:e=>{e.exports=require("../native/_index")},2987:e=>{e.exports=require("perf_hooks")},3305:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateUserConfigFromInit=function(e,r,t){if(void 0!==e&&(o.hudConfig.userConfig.key={value:e,source:"INIT"}),void 0!==r&&(o.hudConfig.userConfig.service={value:r,source:"INIT"}),void 0!==t){let e=t;const r=n.HudSessionOptionsSchema.safeParse(t);r.success?t.tags&&"object"==typeof t.tags&&Object.keys(t.tags).some(e=>e.includes("."))&&(i.customer_logger.log(a.UserErrorLogs.SessionOptionsSessionTagsWithDots()),e.tags=Object.fromEntries(Object.entries(t.tags).map(([e,r])=>[e.replace(".","_"),r]))):(i.customer_logger.log(a.UserErrorLogs.HudSessionOptionsInvalid(r.error.message)),e={}),o.hudConfig.userConfig.tags={value:e.tags,source:"INIT"}}},r.updateUserConfigFromFile=function(){let e;try{e=(0,o.getConfigContent)()}catch(e){throw e instanceof o.HudFailedReadConfigError&&"EACCES"===e.code&&i.customer_logger.log(a.UserErrorLogs.ConfigInaccessible(e.path)),e}if(e)try{const r=u.partial().parse(JSON.parse(e.content));Object.entries(r).forEach(([r,t])=>{!function(e,r,t){e[r]=t}(o.hudConfig.userConfig,r,{value:t,source:"HUD_CONFIG"===e.source?"CONFIG_ENV":"CONFIG_FILE"})})}catch(r){throw r instanceof s.ZodError?r.errors.forEach(r=>{const t=r.path.join(".");i.customer_logger.log(a.UserErrorLogs.ZodErrorInUserConfig(e.source,t))}):i.customer_logger.log(a.UserErrorLogs.JSONErrorInUserConfig(e.source,r.message)),r}},r.updateUserConfigFromEnv=function(){const e=process.env.HUD_KEY,r=process.env.HUD_SERVICE,t=process.env.HUD_ENABLE_DAPULSE,n=(0,o.getModulesToTraceFromEnv)(),i=(0,o.getFrameworksToEnableFromEnv)(),s=process.env.HUD_MAX_INSTRUMENTED_FUNCTIONS,a=process.env.HUD_MIN_POD_MEMORY_MB,u=process.env.HUD_DISABLE_RUNTIME_INSTRUMENTATION,l=process.env.HUD_DISABLE_PARAMETERS_EXTRACTION;e&&(o.hudConfig.userConfig.key={value:e,source:"ENV"}),r&&(o.hudConfig.userConfig.service={value:r,source:"ENV"}),t&&(o.hudConfig.userConfig.enableDapulse={value:"true"===t,source:"ENV"}),n&&(o.hudConfig.userConfig.includeModules={value:n,source:"ENV"}),i&&(o.hudConfig.userConfig.enableFrameworks={value:i,source:"ENV"}),s&&(o.hudConfig.userConfig.maxMappedFunctions={value:parseInt(s),source:"ENV"}),a&&(o.hudConfig.userConfig.minPodMemoryMB={value:parseInt(a),source:"ENV"}),u&&(o.hudConfig.userConfig.disableRuntimeInstrumentation={value:"true"===u,source:"ENV"}),l&&(o.hudConfig.userConfig.disableParametersExtraction={value:"true"===l,source:"ENV"})},r.updateUserConfigFromRegisterOptions=function(e,r){if(e.includeModules&&Array.isArray(e.includeModules)&&(o.hudConfig.userConfig.includeModules={value:e.includeModules,source:r}),e.enableFrameworks){const t=n.availableFrameworksSchema.safeParse(e.enableFrameworks);t.success&&(o.hudConfig.userConfig.enableFrameworks={value:t.data,source:r})}e.customOptions&&e.customOptions.dapulseSqsConsumer&&(o.hudConfig.userConfig.enableDapulse={value:"true"===e.customOptions.dapulseSqsConsumer,source:r}),e.maxMappedFunctions&&"number"==typeof e.maxMappedFunctions&&(o.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:r}),e.minPodMemoryMB&&"number"==typeof e.minPodMemoryMB&&(o.hudConfig.userConfig.minPodMemoryMB={value:e.minPodMemoryMB,source:r}),e.maxFileSizeBytes&&"number"==typeof e.maxFileSizeBytes&&(o.hudConfig.userConfig.maxFileSizeBytes={value:e.maxFileSizeBytes,source:r}),e.maxTimeUntilInitSessionMs&&"number"==typeof e.maxTimeUntilInitSessionMs&&(o.hudConfig.userConfig.maxTimeUntilInitSessionMs={value:e.maxTimeUntilInitSessionMs,source:r}),void 0!==e.disableRuntimeInstrumentation&&(o.hudConfig.userConfig.disableRuntimeInstrumentation={value:e.disableRuntimeInstrumentation,source:r}),void 0!==e.disableParametersExtraction&&(o.hudConfig.userConfig.disableParametersExtraction={value:e.disableParametersExtraction,source:r})};const o=t(5809),n=t(8528),i=t(523),s=t(1569),a=t(9499),u=n.HudOptionsSchema.omit({customOptions:!0}).extend(n.HudSessionOptionsSchema.shape).extend({key:s.z.string().optional(),service:s.z.string().optional(),enable:s.z.boolean().optional(),enableDapulse:s.z.boolean().optional()})},3596:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.safeCall=function(e,r){return r.catch(r=>{(0,o.isAbortError)(r)||e.error("Unhandled exception on async task",{msg:r instanceof Error?r.message:void 0,stack:r instanceof Error?r.stack:void 0})})};const o=t(9499)},3705:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isHudEnabled=function(){if("false"===process.env.HUD_ENABLE)return!1;if(globalThis.forceHudEnable)return!0;let e,r;try{if(e=(0,o.getConfigContent)(),e&&(r=JSON.parse(e.content),!1===r.enable))return!1}catch(r){throw r instanceof o.HudFailedReadConfigError&&"EACCES"===r.code?n.customer_logger.log(i.UserErrorLogs.ConfigInaccessible(r.path)):e&&n.customer_logger.log(i.UserErrorLogs.JSONErrorInUserConfig(e.source,r instanceof Error?r.message:void 0)),r}return"true"===process.env.HUD_ENABLE||!0===r?.enable};const o=t(5809),n=t(523),i=t(9499)},3903:e=>{e.exports=require("uuid")},4463:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getFilesForDeclarations=async function(e,r){const t=new Map;for(const r of e)t.set(`${r.file_path_checksum}|${r.file_checksum}`,r);const n=Array.from(t.entries()).sort(([e],[r])=>e.localeCompare(r)).map(([,e])=>({file_path_checksum:e.file_path_checksum,file_checksum:e.file_checksum})),i=await r(n);if(i.send_all)return o.worker_logger.debug("All file declarations are requested by sink"),e;o.worker_logger.debug("Partial file declarations are requested by sink",{fileCount:i.files.length});const s=[];for(const e of i.files){const r=`${e.file_path_checksum}|${e.file_checksum}`,o=t.get(r);o&&s.push(o)}return s};const o=t(523)},5042:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getAllModules=async function e(r,t=3){if(t<=0)return[];const o=[],s=i.default.join(r,"package.json");try{const e=await n.default.readFile(s,"utf-8"),t=JSON.parse(e),i=t.name||void 0,a=t.version||void 0;o.push({name:i,version:a,path:r})}catch{}const a=i.default.join(r,"node_modules");try{await n.default.access(a);const r=await n.default.readdir(a);for(const s of r)if(s.startsWith("@")){const r=i.default.join(a,s);let u=[];try{u=await n.default.readdir(r)}catch{continue}for(const n of u){const s=i.default.join(r,n);o.push(...await e(s,t-1))}}else{const r=i.default.join(a,s);o.push(...await e(r,t-1))}}catch{}return o};const n=o(t(1943)),i=o(t(6928))},5070:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),n=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),n(t(9499),r),n(t(4463),r),n(t(9525),r),n(t(3705),r),n(t(350),r),n(t(5246),r),n(t(6287),r),n(t(9303),r),n(t(5042),r),n(t(7146),r),n(t(1176),r),n(t(7987),r),n(t(46),r),n(t(5308),r),n(t(3596),r),n(t(5990),r),n(t(5706),r),n(t(5935),r),n(t(6548),r),n(t(6180),r),n(t(3305),r),n(t(7552),r),n(t(8236),r),n(t(8481),r)},5246:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.register=async function(){n.worker_logger.info("registering extension");const e=await fetch(`${s}/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:s}),new i.HudExtensionRegisterError("register failed");const r=e.headers.get("lambda-extension-identifier");if(!r)throw new i.HudExtensionRegisterError("extension id not found");return r},r.next=u,r.extensionMainLoop=async function(e,r){let t=Date.now();for(n.worker_logger.info("starting extension main loop");;)try{const i=await u(e);if(r.listenerCount("eventloop")>0){const e=r.listenerCount("eventloop"),i=Date.now()-t;r.emit("eventloop",""),t=Date.now();const s=Math.min(o.hudConfig.lambdaBaseGivenTime+e*o.hudConfig.lambdaExtraGivenTimePerRequest,o.hudConfig.lambdaMaxGivenTime);n.worker_logger.debug(`Starting giving time for the eventloop to run at ${(new Date).toISOString()}. ${i}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"===i?.eventType)return void n.worker_logger.info("shutting down")}catch(e){e instanceof i.HudExtnensionError?n.worker_logger.warning("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}},r.nextLoopDummy=async function(e){for(;;)try{(await a(e)).ok||await new Promise(e=>setTimeout(e,50))}catch{await new Promise(e=>setTimeout(e,50))}};const o=t(5809),n=t(523),i=t(9499),s=`http://${process.env.AWS_LAMBDA_RUNTIME_API}/2020-01-01/extension`;async function a(e){return await fetch(`${s}/event/next`,{method:"get",headers:{"Content-Type":"application/json","Lambda-Extension-Identifier":e}})}async function u(e){const r=await a(e);if(!r.ok)throw n.worker_logger.info("next failed",await r.text()),new i.HudExtensionNextFailedError;return await r.json()}},5308:function(e,r,t){var o,n=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),s=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r},o(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),s=0;s<t.length;s++)"default"!==t[s]&&n(r,e,t[s]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.isDebuggerAttached=p,r.isSupportedNative=h,r.shouldRunHud=function(){if("false"===process.env.HUD_ENABLE)return{shouldRun:!1,error:c.UserErrorLogs.HudEnableIsFalse(),shouldFlushLogs:!1};if(!d.isMainThread)return u.app_logger.info("required not from main thread"),{shouldRun:!1,error:null,shouldFlushLogs:!1};if(!(0,m.isHudEnabled)())return{shouldRun:!1,error:c.UserErrorLogs.HudEnableNotSet(process.env.HUD_ENABLE),shouldFlushLogs:!1};if(process.versions.bun)return{shouldRun:!1,error:c.UserErrorLogs.RunningInBun(),shouldFlushLogs:!0};if(!function(){const e=process.versions.node.split(".")[0];return!!a.hudConfig.supportedNodeVersions.includes(e)}())return{shouldRun:!1,error:c.UserErrorLogs.UnsupportedNodeVersion(),shouldFlushLogs:!0};if(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE&&!function(){try{return"1"===process.env.HUD_INTERNAL_EXEC_WRAPPER_USED}catch{return!1}}())return{shouldRun:!1,error:c.UserErrorLogs.LambdaNotViaLayer(),shouldFlushLogs:!0};if(p())return{shouldRun:!1,error:c.UserErrorLogs.DebuggerAttached(),shouldFlushLogs:!0};if(!function(){const e=(0,f.getMemoryLimitInfo)();return!!(0,f.isMemoryLimitBigEnough)(e)}()){const e=a.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER;return{shouldRun:!1,error:c.UserErrorLogs.PodMemoryLimitTooLow(e),shouldFlushLogs:!0}}return h()?(0,g.isNextJs)("dev")?{shouldRun:!1,error:c.UserErrorLogs.NextDevNotSupported(),shouldFlushLogs:!1}:{shouldRun:!0}:{shouldRun:!1,error:c.UserErrorLogs.UnsupportedNativeBuild(),shouldFlushLogs:!0}};const a=t(5809),u=t(523),l=s(t(6592)),d=t(5919),c=t(9499),f=t(8958),m=t(3705),g=t(7146);function p(){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 l.url()}catch{return!1}}function h(){return void 0!==t(2784).transform}},5706:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.shouldSupportSourceMap=function(){return!!o.hudConfig.supportSourceMap&&(process.execArgv.includes("--enable-source-maps")&&n.instrument_logger.warning("--enable-source-maps is set, enabling custom source-map-support anyway"),!0)},r.combineSourceMaps=function(e,r){if(0===e.length)return;if(1===e.length&&void 0===e[0].lineOffset)return e[0].map;const t=e.map(e=>({offset:{line:e.transformedLineOffset,column:e.transformedColumnOffset},map:{..."string"==typeof e.map?JSON.parse(e.map):e.map,file:r}})),o={version:3,file:r,sections:t};return JSON.stringify(o)},r.appendInlineSourceMap=function(e,r){let t;return void 0===r?e:(t="string"==typeof r||r instanceof String?Buffer.from(r.toString()).toString("base64"):Buffer.from(JSON.stringify(r)).toString("base64"),e+`\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${t}`)};const o=t(5809),n=t(523)},5809:e=>{e.exports=require("./config")},5919:e=>{e.exports=require("node:worker_threads")},5935:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.suppressTraces=function(e){return function(...r){return o.hudConfig.suppressTraces&&s&&a?(n.app_logger.debug("Running with Suppressed traces"),s.with(a(s.active()),()=>e(...r))):e(...r)}};const o=t(5809),n=t(523),i=t(8481);let s,a;try{const e=(0,i.myRequire)("@opentelemetry/api"),r=(0,i.myRequire)("@opentelemetry/core");s=e.context,a=r.suppressTracing,n.app_logger.info("OpenTelemetry exists",{suppressConfig:o.hudConfig.suppressTraces})}catch{n.app_logger.info("OpenTelemetry api/core does not exist")}},5990:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.sourceFileMetadataToTransferSourceFileMetadata=function(e){return(0,o.omit)(e,"code","map","mapRelativeToChunk")};const o=t(6287)},6180:function(e,r,t){var o,n=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),s=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r},o(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),s=0;s<t.length;s++)"default"!==t[s]&&n(r,e,t[s]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.unrefSetImmediate=function(e,r){return a.setImmediate(e,{...r,ref:!1})},r.unrefSetTimeout=function(e,r,t){return a.setTimeout(e,r,{...t,ref:!1})},r.unrefSetInterval=function(e,r,t){return a.setInterval(e,r,{...t,ref:!1})};const a=s(t(6460))},6287:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.omit=function(e,...r){const t={...e};return r.forEach(function(e){delete t[e]}),t},r.omitDeep=function e(r,t){const o=t.map(e=>e.split("."));if(null==r||"object"!=typeof r)return r;if(Array.isArray(r))return r.map(r=>e(r,t));const n={...r};for(const r of o){if(0===r.length)continue;const t=r[0];t in n&&(1!==r.length?n[t]=e(n[t],[r.slice(1).join(".")]):delete n[t])}return n},r.pickDeep=function e(r,t){if(Array.isArray(r))return r.map(r=>e(r,t));if("object"!=typeof r||null===r)return r;const o={},n={};for(const e of t){const[r,...t]=e.split(".");n[r]=n[r]??[],t.length>0&&"pick"!==n[r]?n[r].push(t.join(".")):n[r]="pick"}for(const t in n){if(!(t in r))continue;const i=r[t];"pick"===n[t]?o[t]=i:Array.isArray(i)?o[t]=i.map(r=>"object"==typeof r&&null!==r?e(r,n[t]):{}):"object"==typeof i&&null!==i&&(o[t]=e(i,n[t]))}return o}},6460:e=>{e.exports=require("timers/promises")},6548:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getUserTsNodeConfig=function(e=!0){const r=function(){try{const e=i.myRequire.resolve("ts-node");if(!e)return;if(!i.myRequire.cache[e])return;const r=(0,i.myRequire)("ts-node"),t=process[r.REGISTER_INSTANCE];if(!t)return;return t.options}catch{return}}();if(r){if(!r.transpileOnly)throw e&&o.customer_logger.log(n.UserErrorLogs.TsNodeNotTranspileOnly()),o.app_logger.warning("ts-node is used but not configured to transpile only"),new n.HudNoTranspileOnlyError;return{cwd:r.cwd,project:r.project,projectSearchDir:r.projectSearchDir}}if(process.argv[0].endsWith("ts-node"))throw e&&o.customer_logger.log(n.UserErrorLogs.TsNodeNotFoundEvenThoughRunWithTsNode()),o.app_logger.info("ts-node not found even run with ts-node"),new n.HudTsNodeNotFoundButUsed};const o=t(523),n=t(9499),i=t(8481)},6592:e=>{e.exports=require("node:inspector")},6928:e=>{e.exports=require("path")},7131:e=>{e.exports=require("./wrap")},7146:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.detectNextJsApp=function(){const e=a("start");l(e),e&&n.app_logger.info("Detected Next.js application running with 'next start' command")},r.isNextJs=a,r.isNextJsApp=function(){return s},r.setIsNextJsApp=l;const o=t(5809),n=t(523),i=t(9499);let s=!1;function a(e){return!(!process.argv.some(e=>"next"===e)&&!process.argv.some(e=>e.includes("/dist/bin/next"))||!process.argv.some(r=>r===e))||!("dev"!==e||!process.argv.some(e=>e.includes("/next/dist/server/lib/start-server")))}let u=!1;function l(e){s=e,e&&!u&&(u=!0,globalThis.hudNextJsPluginIndicator=setTimeout(d,o.hudConfig.timeoutOnNextJsPlugin),globalThis.hudNextJsPluginIndicator.unref())}function d(){n.customer_logger.log(i.UserErrorLogs.NextJsPluginNotUsed())}},7552:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.HudContextValidationError=void 0,r.validateContext=function(e){try{const r={};for(const t in e){if(Object.keys(r).length>=20){u(n.UserErrorLogs.SetContextMaxKeysExceeded());break}if("string"==typeof t)if(t.length>64)u(n.UserErrorLogs.SetContextKeyTooLong(t));else{if(Array.isArray(e[t])){if(0===e[t].length){u(n.UserErrorLogs.SetContextEmptyArray(t));continue}const o=e[t],i=[];for(let e=0;e<o.length;e++){const r=o[e];if(i.length>=20){u(n.UserErrorLogs.SetContextArrayTooLong(t));break}l(r,t,!0)&&i.push(r)}if(0===i.length){u(n.UserErrorLogs.SetContextArrayAllItemsInvalid(t));continue}r[t]=i;continue}l(e[t],t)&&(r[t]=e[t])}else u(n.UserErrorLogs.SetContextKeyIsNotString(t))}return r}catch(e){throw o.app_logger.error("Failed to validate context",{error:e,stack:e instanceof Error&&null!==e?e.stack:void 0}),new a("Failed to validate context")}};const o=t(523),n=t(9499),i=new Set;let s=20;class a extends Error{}function u(e){s<=0||i.has(e.errCode)||(s--,o.app_logger.info(e.message),o.customer_logger.info(e.message),i.add(e.errCode))}function l(e,r,t=!1){const o=t?`item in array "${r}"`:`"${r}"`;return null==e?(u(n.UserErrorLogs.SetContextValueIsUndefinedOrNull(o)),!1):"object"==typeof e||"function"==typeof e?(u(n.UserErrorLogs.SetContextValueIsNotPrimitive(o)),!1):"string"==typeof e&&e.length>256?(u(n.UserErrorLogs.SetContextValueIsTooLong(o)),!1):""===e?(u(n.UserErrorLogs.SetContextValueIsEmptyString(o)),!1):!(e===1/0||e===-1/0||"number"==typeof e&&isNaN(e))||(u(n.UserErrorLogs.SetContextValueIsNotFiniteNumber(o)),!1)}r.HudContextValidationError=a},7987:function(e,r,t){var o,n=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),i=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),s=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var r=[];for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[r.length]=t);return r},o(e)},function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t=o(e),s=0;s<t.length;s++)"default"!==t[s]&&n(r,e,t[s]);return i(r,e),r});Object.defineProperty(r,"__esModule",{value:!0}),r.getCpuLimit=void 0,r.createThreadStatsBaseline=function(){return{elu:u.performance.eventLoopUtilization(),nodeTiming:u.performance.nodeTiming.toJSON()}},r.collectThreadPerformance=function(e,r,t){try{const o=u.performance.eventLoopUtilization(),n=u.performance.eventLoopUtilization(o,e.elu),i=u.performance.nodeTiming.toJSON(),s=i.idleTime-e.nodeTiming.idleTime,a=i.duration-e.nodeTiming.duration,d=s/a,c=l.getHeapStatistics(),f={cpu:{usage_percentage:100*n.utilization},memory:{utilization_percentage:c.total_heap_size/c.heap_size_limit*100},owner:t,uptime_seconds:a/1e3};return r.info("thread performance statistics",{thread_elu_percentage:f.cpu.usage_percentage,memory:{thread_heap_utilization_percentage:f.memory.utilization_percentage},heapStats:{total_heap_size:c.total_heap_size,heap_size_limit:c.heap_size_limit},idleTime:s,totalTime:a,idleTimePercentage:d,owner:t}),e.elu=o,e.nodeTiming=i,f}catch(e){r.error("Failed collecting thread performance statistics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}};const a=t(9896),u=t(2987),l=s(t(1493)),d=t(5935);let c,f=!1;function m(e){try{e.debug("Trying to detect CPU limit from cgroups v1");const r=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8"),t=(0,a.readFileSync)("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8");return e.info("CPU limit detected for cgroups v1",{cpuQuota:r,cpuPeriod:t}),"-1"===r.toString().trim()?"unlimited":parseInt(r.toString())/parseInt(t.toString())}catch(r){e.debug("Failed to detect CPU limit from cgroups v1, trying cgroups v2");try{const r=(0,a.readFileSync)("/sys/fs/cgroup/cpu.max","utf8"),[t,o,n]=r.trim().split(" ");return e.info("CPU limit detected for cgroups v2",{max:t,period:o}),t&&o?"max"===t?"unlimited":parseInt(t)/parseInt(o):void e.info("cpu.max file is not in the expected format",r)}catch(t){return void e.info("Failed to detect CPU limit",{e:r,e2:t})}}}r.getCpuLimit=e=>(f||(c=(0,d.suppressTraces)(m)(e),f=!0),c)},8236:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UserLogs=void 0,r.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,r)=>({level:"info",message:`${e}. ${r}`}),InitIdleMode:()=>({level:"info",message:"Initialized successfully in idle mode."}),WebpackUploadedSourcemapSuccess:()=>({level:"info",message:"Source maps uploaded successfully."}),HudCliCompletedSuccessfully:e=>({level:"info",message:`Instrumentation completed successfully. ${e} files processed.`})}},8481:(e,r)=>{let t;Object.defineProperty(r,"__esModule",{value:!0}),r.myRequire=void 0;try{t=require}catch{t=void 0}r.myRequire=t},8528:e=>{e.exports=require("./dto")},8958:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.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},r.isMemoryLimitBigEnough=function(e){return null===e.podMemoryLimitMB||e.podMemoryLimitMB>=(o.hudConfig.userConfig.minPodMemoryMB?.value??Number.MAX_SAFE_INTEGER)};const o=t(5809),n=t(523),i=t(9303)},9303:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getPodMemoryLimit=function(e){if(null!==s)return s;if("linux"!==i.default.platform())return s=d(),s;let r=function(e,r){for(const e of["/sys/fs/cgroup/memory.max","/sys/fs/cgroup/memory.high"]){const t=l(e);if(!t)continue;const o=t.trim();if("max"===o){r.debug(`Found 'max' value in ${e}, will use system memory instead`);continue}const n=a(o,r);if(null!==n)return{podMemoryLimitMB:n,source:e}}return{podMemoryLimitMB:null,source:null}}(0,e);return null!==r.podMemoryLimitMB?(e.info(`Found pod memory limit: ${r.podMemoryLimitMB}MB from ${r.source}`),r):(r=function(e,r){for(const e of["/sys/fs/cgroup/memory/memory.stat","/sys/fs/cgroup/memory/memory.limit_in_bytes"]){const t=l(e);if(t)if(e.endsWith("memory.stat")){const o=["hierarchical_memory_limit","memory.limit_in_bytes","limit_in_bytes"],n=t.split("\n");for(const t of o){const o=n.find(e=>e.startsWith(t));if(o){const n=u(o.split(" ")[1],`${e}:${t}`,r);if(null!==n.podMemoryLimitMB)return n}}}else{const o=u(t.trim(),e,r);if(null!==o.podMemoryLimitMB)return o}}return{podMemoryLimitMB:null,source:null}}(0,e),null!==r.podMemoryLimitMB?(e.info(`Found pod memory limit: ${r.podMemoryLimitMB}MB from ${r.source}`),r):(r=d(),e.info(`No container memory limit found, using system memory: ${r.podMemoryLimitMB}MB`),s=r,r))};const n=t(9896),i=o(t(857));let s=null;function a(e,r){const t=parseInt(e);if(isNaN(t))return null;const o=Math.floor(t/1048576);return o<=0||o>=131072?(r.debug(`Treating memory value (${e} bytes) as unlimited.`),null):o}function u(e,r,t){if(!e)return{podMemoryLimitMB:null,source:null};const o=a(e,t);return null!==o?{podMemoryLimitMB:o,source:r}:{podMemoryLimitMB:null,source:null}}function l(e){try{return(0,n.readFileSync)(e,"utf8")}catch{return null}}function d(){const e=i.default.totalmem();return{podMemoryLimitMB:Math.floor(e/1048576),source:"system-memory"}}},9499:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UserErrorLogs=r.HudNoMessageInSqsConsumerEmit=r.HudNoErrorInSqsConsumerEmit=r.HudNoEventTypeInSqsConsumerEmit=r.HudFailExtractSqsQueueName=r.HudNoCallbackInSqsConsumerOn=r.HudNoEventTypeInSqsConsumerOn=r.HudNoQueueUrlInSqsConsumer=r.HudSqsError=r.HudExtensionNextFailedError=r.HudExtensionRegisterError=r.HudExtnensionError=r.HudBadLoggerError=r.HudInitNetworkError=r.HudTsNodeNotFoundButUsed=r.HudSessionThrottle=r.HudNoTranspileOnlyError=r.HudClientExceededMaxRetries=r.HudClientUnauthorizedError=r.HudTimeoutError=r.HudWorkloadCollectorError=r.HudAssert=r.HudUnsupportedError=r.HudEditError=r.HudWorkerError=r.HudClientError=r.HudInitError=r.HudError=void 0,r.isAbortError=function(e){return e instanceof Error&&"AbortError"===e.name},r.getFirstError=function(){return u},r.setFirstError=function(e){e&&u===a&&(u=e)},r.getNetworkError=function(e){return{ECONNABORTED:r.UserErrorLogs.InitFailedDueNetworkTimeout(),ECONNREFUSED:r.UserErrorLogs.InitFailedDueNetworkRST(),ENOTFOUND:r.UserErrorLogs.InitFailedDueDnsFailed(),SELF_SIGNED_CERT_IN_CHAIN:r.UserErrorLogs.InitFailedDueSelfSignedCert(),ERR_BAD_RESPONSE:r.UserErrorLogs.InitFailedDueBackendError()}[e]??r.UserErrorLogs.InitFailedDueGenericNetworkError()};class t extends Error{code=9e3;name=this.constructor.name;constructor(e){super(e)}}r.HudError=t;class o extends t{code=9001}r.HudInitError=o,r.HudClientError=class extends t{code=9002;originalAxiosErrorCode;constructor(e,r){super(e),this.originalAxiosErrorCode=r}},r.HudWorkerError=class extends t{code=9003};class n extends t{code=9004}r.HudEditError=n,r.HudUnsupportedError=class extends n{code=9005},r.HudAssert=class extends n{code=9006},r.HudWorkloadCollectorError=class extends t{code=9007},r.HudTimeoutError=class extends t{code=9008},r.HudClientUnauthorizedError=class extends t{code=9009},r.HudClientExceededMaxRetries=class extends t{code=9010},r.HudNoTranspileOnlyError=class extends t{code=9011},r.HudSessionThrottle=class extends o{code=9012},r.HudTsNodeNotFoundButUsed=class extends t{code=9013},r.HudInitNetworkError=class extends t{code=9014;originalAxiosErrorCode;constructor(e,r){super(e),this.originalAxiosErrorCode=r}},r.HudBadLoggerError=class extends t{code=9101};class i extends t{code=9200}r.HudExtnensionError=i,r.HudExtensionRegisterError=class extends i{code=9201},r.HudExtensionNextFailedError=class extends i{code=9202};class s extends t{code=9250}r.HudSqsError=s,r.HudNoQueueUrlInSqsConsumer=class extends s{code=9251},r.HudNoEventTypeInSqsConsumerOn=class extends s{code=9252},r.HudNoCallbackInSqsConsumerOn=class extends s{code=9253},r.HudFailExtractSqsQueueName=class extends s{code=9254},r.HudNoEventTypeInSqsConsumerEmit=class extends s{code=9255},r.HudNoErrorInSqsConsumerEmit=class extends s{code=9256},r.HudNoMessageInSqsConsumerEmit=class extends s{code=9257};const a=9999;let u=a;r.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."}),HudSessionOptionsInvalid:e=>({level:"warning",errCode:"E1006",moreInfo:!0,message:`Options parameter is not a valid object, defaulting to empty options. Reason: ${JSON.stringify(JSON.parse(e))}.`}),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."}),SessionOptionsSessionTagsWithDots:()=>({level:"warning",errCode:"E1008",moreInfo:!0,message:"Options.tags object keys can't contain dots; they have been replaced with underscores."}),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:e=>({level:"error",errCode:"E1015",moreInfo:!0,message:`Can't load Hud as lambda function memory size is less than ${e}MB.`}),JSONErrorInUserConfig:(e,r)=>({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}`+(r?`, Error: ${r}.`:".")}),ZodErrorInUserConfig:(e,r)=>({level:"error",errCode:"E1017",moreInfo:!0,message:`Can't load Hud, the config file contains an invalid value for field: ${r}. Please set a valid value for ${r} 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:"warning",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:"warning",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:"warning",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:"warning",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:"warning",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.`}),YesInstrumentationNoMetrics:()=>({level:"warning",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:"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."}),EsbuildSourceMapFound:()=>({level:"error",errCode:"E1047",message:"Source maps were detected for files modified by the Esbuild plugin, which is not yet supported. SDK has initiated a graceful shutdown. Your application remains unaffected."}),SetupNotSupportedInESM:()=>({level:"error",errCode:"E1048",message:"hud-sdk/setup isn't supported in ESM, contact our support for more info"}),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'}),NextDevNotSupported:()=>({level:"error",moreInfo:!0,errCode:"NX0001",message:"Next.js dev server is not supported. Please use 'next start' instead."}),SourceMapCleanupFailed:()=>({level:"error",moreInfo:!0,errCode:"NX0002",message:"Source maps cleanup failed. Build stopped to prevent unintentional inclusion of source maps."}),WebpackFailedUploadingSourcemap:()=>({level:"error",errCode:"NX0003",moreInfo:!0,message:"Failed uploading source maps, Hud will run without source maps."}),NextJsPluginNotUsed:()=>({level:"warning",errCode:"NX0004",message:"Next.js support is in closed beta. Request access at: https://docs.hud.io/docs/support"}),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"}),EsbuildSourceMapInline:()=>({level:"error",errCode:"ES0009",message:"detected sourcemap is used as 'inline' or 'both', which is not supported yet. SDK has initiated a graceful shutdown. Your application remains unaffected."}),HudCliInvalidKey:()=>({level:"error",errCode:"CI1001",moreInfo:!0,message:"Initialization failed - the provided API key is invalid. Instrumentation has been disabled."}),HudCliNoJsFiles:()=>({level:"error",errCode:"CI1002",moreInfo:!0,message:"No JavaScript files found in the specified directories. Instrumentation aborted."}),HudCliAllFilesInstrumented:()=>({level:"warning",errCode:"CI1003",moreInfo:!0,message:"All files in the specified directory are already instrumented. No further action taken."}),HudCliSomeFilesInstrumented:()=>({level:"warning",errCode:"CI1004",moreInfo:!0,message:"Detected that some files are already instrumented. Skipping re-instrumentation for these files."}),HudCliUnkownError:()=>({level:"error",errCode:"CI1005",moreInfo:!0,message:"An unexpected error occurred during instrumentation. Instrumentation process aborted."}),HudCliInstrumentedFunctionCountExceeded:e=>({level:"error",errCode:"CI1006",moreInfo:!0,message:`CI limit of ${e} instrumented functions exceeded. Instrumentation has been halted. Your source files remain unchanged.`}),HudCliUploadFailed:()=>({level:"warning",errCode:"CI1007",moreInfo:!0,message:"Failed to upload code mapping. Existing functions will continue to report, but new or updated ones won't be tracked."}),HudCliInvalidDirectory:e=>({level:"error",errCode:"CI1008",moreInfo:!0,message:`Provided directory does not exist: ${e}. Instrumentation aborted.`}),SetContextBeforeRegister:()=>({level:"warning",errCode:"E1101",message:"Warning - setContext() was called before register(). Please call register() before setContext()."}),SetContextNoAsyncContext:()=>({level:"warning",errCode:"E1103",message:"Warning - setContext() was called outside of an endpoint flow and was skipped. Make sure setContext() is only called within a registered endpoint handler."}),SetContextMaxKeysExceeded:()=>({level:"warning",errCode:"E1104",message:"Warning - A maximum of 20 context keys is allowed. Additional keys were ignored. Pass fewer than 20 keys to setContext()."}),SetContextKeyIsNotString:e=>({level:"warning",errCode:"E1105",message:`Warning - Context key "${e}" must be a string. This entry was skipped. Only string keys are supported in setContext().`}),SetContextKeyTooLong:e=>({level:"warning",errCode:"E1106",message:`Warning - Context key "${e}" exceeds the 64-character limit and was skipped. Shorten the key to 64 characters or fewer.`}),SetContextEmp