UNPKG

hud-sdk

Version:

Hud's Node SDK

2 lines 22.3 kB
!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={523:e=>{e.exports=require("./logger")},857:e=>{e.exports=require("os")},1638:e=>{e.exports=require("./declarations")},1886:function(e,t,o){var r,n=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]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||(r=function(e){return r=Object.getOwnPropertyNames||function(e){var t=[];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[t.length]=o);return t},r(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=r(e),i=0;i<o.length;i++)"default"!==o[i]&&n(t,e,o[i]);return a(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const c=i(o(9896)),l=o(8167),d=o(5809),u=o(2546),g=i(o(523)),f=o(523),m=o(1638),p=o(8528),w=o(2546),h=o(4672),_=o(1638),y=o(8269),k=o(2546),v=o(6982),b=o(6261),C=s(o(6928)),x=o(5800),M=o(4678),S=o(6304),F=l.parentPort,D=l.workerData.apiKey,E=l.workerData.service,I=l.workerData.startTime,T=l.workerData.tags;let R;const O=l.workerData.lambdaExtensionId,P=l.workerData.shouldCreateDeclaraionWorker;let U,W=new AbortController,L=!1,q=!1;const A=w.safeCall.bind(w.safeCall,f.worker_logger);if(d.hudConfig.userConfig=l.workerData.userConfig,f.worker_logger.info("Worker started"),null===F)throw new w.HudWorkerError("Failed to get port");const N=new Set;let j;O&&(j=new b.EventEmitter,j.setMaxListeners(0),A((0,k.extensionMainLoop)(O,j))),F.postMessage({msg:"started"}),(0,w.setSentEventsCountInterval)();const K=new h.HudClient(j);function B(){L||(L=!0,g.customer_logger.log(u.UserLogs.FirstDecalarationSent()),q&&g.customer_logger.log(u.UserLogs.HappyFlowCompleted()))}async function H(e,t,r,n){if(0!==e.length)for(const a of e)try{if(n&&(0,b.once)(n,"eventloop"),f.worker_logger.debug("Sending file to parser worker",{filename:a.filename}),r){r.postMessage({msg:"SourceFileMetadata",content:a});continue}const{filename:e,indexOffset:s,indexOffsetEnd:c}=a,l=await(0,w.readFile)(e,s,c);if(!l)continue;const{parseDeclarations:d}=await Promise.resolve().then(()=>i(o(1638))),u=await d(a,l,void 0,U);await z(u,t),u.declarations.length>0&&B()}catch(e){f.worker_logger.error("Failed to parse declarations",{filename:a.filename,error:e})}else B()}async function z(e,t){e.blacklist&&e.blacklist.uuids.length>0&&(F?.postMessage(p.KeepAliveMessage),e.blacklist.uuids.forEach(e=>{N.add(e)}),await t.batch("CorruptedFile",[e.blacklist],{event_version:"1.0.0"}));for(let o=0;o<e.declarations.length;o+=d.hudConfig.communicationBatchSize)F?.postMessage(p.KeepAliveMessage),await t.batch("FunctionDeclaration",e.declarations.slice(o,o+d.hudConfig.communicationBatchSize),{event_version:p.FUNCTION_DECLARATION_VERSION})}function $(e){return`investigation-${e?.context?.timestamp??Date.now()}-${(0,v.randomUUID)()}.json`}async function G(e,t){await c.promises.writeFile(C.default.join(t.path,$(e)),JSON.stringify(e,null,2))}function J(e){switch(e.type){case p.InvestigationType.SQS:case p.InvestigationType.GraphQL:case p.InvestigationType.Kafka:return e.flow_id;case p.InvestigationType.HTTP:return e.endpoint_uuid;default:return""}}async function V(e,t,o,r={}){for(let n=0;n<e.length;n+=d.hudConfig.communicationBatchSize)F?.postMessage(p.KeepAliveMessage),await o.batch(t,e.slice(n,n+d.hudConfig.communicationBatchSize),r)}async function Q(e,t,o){F?.postMessage(p.KeepAliveMessage),await o.send(t,e)}async function X(e,t){const o=e.join("\n");o.length>0&&await t.logs(o)}async function Y(){W.abort(),W=new AbortController}K.initSession(D,E,I,T).then(async e=>{K.setSession(e);const{sessionId:t,extraHeaders:o}=e;R=t,f.worker_logger.info("Initialized successfuly",{sessionId:R});const r=p.HudSessionInitStatus.success;F.postMessage({msg:"initialized",content:{status:r,sessionInfo:{sessionId:R,extraHeaders:o}}}),await async function(e){if(null===F)throw new w.HudWorkerError("Failed to get port");const t=await e.getRemoteConfig();return t?(f.worker_logger.info("Remote configuration exists"),d.hudConfig.dynamicConfig=(0,d.updateDynamicConfig)(t,d.hudConfig,f.worker_logger),f.worker_logger.info("Current dynamic configuration:",{currentDynamicConfig:d.hudConfig.dynamicConfig})):f.worker_logger.info("No remote configuration - falling back to default dynamic configuration",{defaultDynamicConfig:d.hudConfig.dynamicConfig}),F.postMessage({msg:"initDynamicConfig",content:t}),t}(K);try{await async function(e,t){if(null===F)throw new w.HudWorkerError("Failed to get port");const o=P?function(e,t){const o=w.myRequire.resolve(`${d.SDK_MODULE_NAME}/declarationWorker`),r=new l.Worker(o);return r.unref(),r.on("message",o=>{"eventlooptime"!==o?A(z(o,e)):t&&(0,b.once)(t,"eventloop")}),r.on("error",e=>{f.worker_logger.critical("Declaration parser worker crashed",{msg:e instanceof Error?e.message:void 0})}),r.on("exit",e=>{f.worker_logger.warning("Declaration parser worker exited",{code:e})}),r}(e,t):void 0;F.on("message",r=>{const{msg:n,content:a}=r;switch(f.worker_logger.debug("Got message from main thread",{msg:n}),n){case"Terminate":A(async function(e,t){const o=process.hrtime();f.worker_logger.warning("Notified to terminate. flushing.",{grace:e.grace}),await X(e.logBuffers,t),await X((0,f.getSavedLogs)(),t),await Y();const r=process.hrtime(o),n=1e3*r[0]+r[1]/1e6;f.worker_logger.info("Done flushing. responsing to parent",{grace:e.grace,termination_time_ms:n}),F?.postMessage({msg:"terminated"}),F?.close()}(a,e));break;case"StartPeriodicTasks":A(async function(e){A((0,M.loopWorkloadDataCollector)(e,d.hudConfig.workloadMetadata,d.hudConfig.workloadMetadata.sendInterval,W.signal)),A((0,x.loopWorkerThreadPerformanceMetricsCollector)(e,d.hudConfig.dynamicConfig.performanceMetricsInterval,f.worker_logger,W.signal)),A((0,x.loopProcessPerformanceMetricsCollector)(e,d.hudConfig.dynamicConfig.performanceMetricsInterval,f.worker_logger,W.signal)),A(async function(e,t,o){for await(const r of(0,w.unrefSetInterval)(t,void 0,{signal:o.signal})){F?.postMessage(p.KeepAliveMessage);const t=(0,f.getSavedLogs)();await X(t,e)}}(e,d.hudConfig.logsSendInterval,W)),A(async function(e){const t=await(0,k.getAllModules)(C.default.resolve("."));await Q({modules:t},"InstalledModules",e)}(e))}(e));break;case"Abort":A(Y());break;case"Invocations":A(async function(e,t,o){const r=e;f.worker_logger.debug("Got invocations message",{msg:t,size:e.length});const n=r.filter(e=>!N.has(e.function_id)).map(e=>({...e,function_id:(0,m.rawFunctionIdToUuidFunctionId)(e.function_id),wrapped_caller_id:e.wrapped_caller_id?(0,m.rawFunctionIdToUuidFunctionId)(e.wrapped_caller_id):void 0}));for(let e=0;e<n.length;e+=d.hudConfig.communicationBatchSize)F?.postMessage(p.KeepAliveMessage),await o.batch("Invocations",n.slice(e,e+d.hudConfig.communicationBatchSize),{event_version:"1.0.1"});q||(q=!0,g.customer_logger.log(u.UserLogs.FirstInvocationSent()),L&&g.customer_logger.log(u.UserLogs.HappyFlowCompleted()))}(a,n,e));break;case"FlowMetrics":A(async function(e,t,o){const{aggregatedMetrics:r}=e;f.worker_logger.debug("Got aggregated flow metrics message",{msg:t,size:Object.keys(r).length}),F?.postMessage(p.KeepAliveMessage);for(const e in r){const t=r[e];let{metrics:n}=t;const{eventVersion:a}=t;if(0!==n.length){n=n.map(e=>({...e,error_breakdown:e.error_breakdown?.map(e=>({...e,errors:e.errors.map(e=>({...e,function_id:(0,m.rawFunctionIdToUuidFunctionId)(e.function_id)}))}))}));for(let t=0;t<n.length;t+=d.hudConfig.communicationBatchSize)F?.postMessage(p.KeepAliveMessage),await o.batch(e,n.slice(t,t+d.hudConfig.communicationBatchSize),a?{event_version:a}:{})}}}(a,n,e));break;case"ProcessedFiles":A(async function(e,t,o,r){if("true"===process.env.HUD_SKIP_DECLS)return f.worker_logger.debug("Skipping file declarations"),void await H([],t,o,r);if("true"===process.env.HUD_FORCE_ALL_DECLS)return f.worker_logger.debug("Forcing all file declarations"),void await H(e,t,o,r);try{const n=await(0,w.getFilesForDeclarations)(e,t.sendFileDeclarations.bind(t));await H(n,t,o,r)}catch{return f.worker_logger.error("Failed to send file declarations, parsing all files"),void await H(e,t,o,r)}}(a,e,o,t));break;case"GetMode":A(async function(e,t){const{runningMode:o}=e,r=await t.getMode({runningMode:o});F?.postMessage({msg:"GetMode",content:{mode:r}})}(a,e));break;case"EndpointDeclaration":A(async function(e,t,o){for(let r=0;r<e.length;r+=d.hudConfig.communicationBatchSize)F?.postMessage(p.KeepAliveMessage),await o.batch(t,e.slice(r,r+d.hudConfig.communicationBatchSize),{event_version:"1.0.2"})}(a,n,e));break;case"Runtime":case"PreInitLoadedModules":case"PostInitLoadedModules":case"PatchedModules":case"PerformanceMetrics":A(Q(a,n,e));break;case"GraphQLDeclaration":case"KafkaJSTopics":A(V(a,n,e));break;case"SqsQueue":A(V(a,n,e,{event_version:"1.0.1"}));break;case"StaticNextJsEndpoints":A(async function(e,t){const o=JSON.parse(e.NextConfig),r=await(0,y.extractNextEndpointDeclarations)(o);await V(r,"EndpointDeclaration",t)}(a,e));break;case"Investigations":A(async function(e,t){const o=d.hudConfig.investigation.store,r=[];for(const n of e)try{n.exceptions.forEach(e=>{e.executionFlow.forEach(e=>{e.function_id=(0,m.rawFunctionIdToUuidFunctionId)(e.function_id),e.caller_id=e.caller_id?(0,m.rawFunctionIdToUuidFunctionId)(e.caller_id):""})}),n.outbounds.forEach(e=>{e.function_id=(0,m.rawFunctionIdToUuidFunctionId)(e.function_id),e.caller_id=e.caller_id?(0,m.rawFunctionIdToUuidFunctionId)(e.caller_id):""});const e=(0,S.createRegexes)(d.hudConfig.dynamicConfig.censorshipRegexes),a=(0,S.censorInvestigation)(n,{valueRegexToRedact:e,keysToRedact:d.hudConfig.dynamicConfig.blacklistParams,whitelistNestedFields:d.hudConfig.dynamicConfig.forensicsWhitelistFields,blacklistNestedFields:d.hudConfig.dynamicConfig.forensicsBlacklistFields}),i={...a,version:d.hudConfig.investigation.objectVersion,context:{...a.context,session_id:R,session_tags:T}};if("disk"===o.type)await G(i,o);else if("s3"===o.type){const e=$(i),o=await t.storeObject(e,Buffer.from(JSON.stringify(i)));if(!o){f.worker_logger.error("Failed to store investigation",{investigationSaveName:e});continue}if(!n.context){f.worker_logger.error("Investigation has no context, even though it should");continue}const a={version:d.hudConfig.investigation.objectVersion,flow_type:n.context.type,flow_uuid:J(n.context),s3_pointer:o,timestamp:n.context.timestamp,caught:n.caught,duration:n.duration,trigger_type:n.triggerType??"undefined",exceptions:n.exceptions.map(e=>({name:e.name,functions:e.executionFlow.map(e=>e.function_id)}))};r.push(a)}}catch(e){f.worker_logger.error("Failed to save investigation",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}r.length>0&&await t.batch("FlowInvestigation",r,{event_version:"1.0.1"})}(a,e));break;case"Logs":A(async function(e,t){F?.postMessage(p.KeepAliveMessage),await t.logs(e.logs)}(a,e));break;case"TsNodeConfig":U=a.tsConfig,o&&o.postMessage({msg:"TsNodeConfig",content:{tsOptions:U}});break;case"Reingest":A(async function(e,t){for(const o of e){B();try{await t.triggerReingest(o)}catch(e){f.worker_logger.error("Failed to trigger reingest",{buildId:o,error:e})}}}(a,e));break;case"EndpointsDurationsInvestigationThresholds":A(async function(e,t){const o=await t.getEndpointsDurationsInvestigationThresholds();F?.postMessage({msg:"EndpointsDurationsInvestigationThresholds",content:{...o}})}(0,e));break;case"LoadedOutbounds":A(async function(e,t){const o=[];for(const t of e)try{if(!_.createOutboundDeclarations[t]){f.worker_logger.error("Unknown outbound",{outbound:t});continue}o.push(..._.createOutboundDeclarations[t]())}catch(e){f.worker_logger.error("Failed to create outbound declarations",{outbound:t,error:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}await z({declarations:o,blacklist:void 0},t)}(a,e));break;default:f.worker_logger.error("Unknown command",{msg:n})}})}(K,j)}catch(e){f.worker_logger.critical("Worker's main failed",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}).catch(e=>{if(e instanceof w.HudSessionThrottle)return f.worker_logger.info("Session throttled, exiting worker"),void F.postMessage({msg:"throttled"});if(e instanceof w.HudClientError)return f.worker_logger.error("Posting network error to main thread",{message:e.message,originalMessage:e.originalAxiosErrorCode}),void F.postMessage({msg:"networkError",content:{message:e.message,originalMessage:e.originalAxiosErrorCode}});throw f.worker_logger.critical("Failed initiating session",{msg:e.message,stack:e.stack}),e})},2546:e=>{e.exports=require("./lib")},4672:e=>{e.exports=require("./client")},4678:function(e,t,o){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.loopWorkloadDataCollector=async function(e,t,o,r){try{const a=new l(e,t),i=await a.getWorkloadData();await n(a,i);for await(const e of(0,s.unrefSetInterval)(o,void 0,{signal:r}))await n(a,i)}catch(e){(0,s.isAbortError)(e)||c.worker_logger.error("Failed collecting workload metadata",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}async function n(e,t){try{await e.send(t)}catch(e){c.worker_logger.error("Failed to send workload metadata, skipping",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}};const n=r(o(8938)),a=o(9896),i=r(o(857)),s=o(2546),c=o(523);class l{client;config;constructor(e,t){this.client=e,this.config=t}getOperatingSystem(){return i.default.platform()}isKubernetesPod(){return!!process.env.KUBERNETES_SERVICE_HOST}getFileContentSilentFail(e){try{return(0,a.readFileSync)(e,"utf8")}catch{return c.worker_logger.debug(`Could not read file ${e}`),null}}getKubernetesWorkloadData(){if("linux"!==this.getOperatingSystem())return c.worker_logger.info("Kubernetes workload data is only available on Linux, current OS is "+this.getOperatingSystem()),null;if(!this.isKubernetesPod())return null;const e=i.default.hostname(),t=this.getFileContentSilentFail(this.config.kubernetes.namespaceFile),o=this.getFileContentSilentFail(this.config.kubernetes.uuidFile),r=(0,s.getCpuLimit)(c.worker_logger),n=(0,s.getPodMemoryLimit)(c.worker_logger),a=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:a?.trim()||null,pod_cpu_limit:r?.toString()||null}}async getLocalAWSWorkloadData(){const e=(0,a.readFileSync)(this.config.aws.metadataFile,"utf8"),t=JSON.parse(e),o=t.ds.dynamic["instance-identity"].document;return{workload_id:o.instanceId,workload_instance_type:o.instanceType,region:o.region,ami_id:o.imageId,launched_date:o.pendingTime,life_cycle:t.ds["meta-data"]["instance-life-cycle"]}}async getIMDSWorkloadData(){let e;try{e=await(0,s.suppressTraces)(async()=>await 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 s.HudWorkloadCollectorError(`Could not retrieve instance metadata token: ${e}`)}const t={"X-aws-ec2-metadata-token":e.data};let o;try{o=await(0,s.suppressTraces)(async()=>await 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 s.HudWorkloadCollectorError(`Could not retrieve instance identity document: ${e}`)}const r=o.data;let a;try{a=await(0,s.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 s.HudWorkloadCollectorError(`Could not retrieve instance life cycle: ${e}`)}const i=a.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){c.worker_logger.info("Failed to get workload metadata from local file",{msg:e.message})}try{return await this.getIMDSWorkloadData()}catch(e){c.worker_logger.info("Failed to get workload metadata from IMDS",{msg:e.message})}return null}async getWorkloadData(){return{aws_workload_data:await this.getAWSWorkloadData(),kubernetes_workload_data:this.getKubernetesWorkloadData()}}async send(e){c.worker_logger.info("Sending workload metadata to the server",{msg:e}),await this.client.send("WorkloadData",e)}}},5800: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.loopWorkerThreadPerformanceMetricsCollector=async function(e,t,o,r){const a=(0,n.createThreadStatsBaseline)();for await(const i of(0,n.unrefSetInterval)(t,void 0,{signal:r})){const t=(0,n.collectThreadPerformance)(a,o,"WorkerThread");if(t)try{await e.send("PerformanceMetrics",t)}catch(e){o.error("Failed sending worker thread performance metrics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}},t.loopProcessPerformanceMetricsCollector=async function(e,t,o,r){const s={totalSystemMemory:a.default.totalmem(),lastUsage:process.cpuUsage()};for await(const a of(0,n.unrefSetInterval)(t,void 0,{signal:r})){const r=i(s,o,t,"Process");if(r)try{await e.send("PerformanceMetrics",r)}catch(e){o.error("Failed sending process performance metrics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}};const n=o(2546),a=r(o(857));function i(e,t,o,r){try{const a=(0,n.getCpuLimit)(t),i=process.memoryUsage(),s=process.uptime(),c=process.cpuUsage(),l={user:c.user-e.lastUsage.user,system:c.system-e.lastUsage.system};e.lastUsage=c;let d=(l.user+l.system)/(1e3*o);"number"==typeof a&&(d/=a);const u={cpu:{usage_percentage:100*d,cpu_limit:"number"==typeof a?a:void 0},memory:{process_memory_rss:i.rss,utilization_percentage:i.rss/e.totalSystemMemory*100},owner:r,uptime_seconds:s};return t.info("process performance statistics",{memory:{process_memory_rss:i.rss,process_memory_utilization_percentage:u.memory.utilization_percentage},cpu:u.cpu.usage_percentage,cpuStats:{limit:a,usagePercentage:u.cpu.usage_percentage},uptime:u.uptime_seconds}),u}catch(e){t.error("Failed collecting process performance statistics",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}}},5809:e=>{e.exports=require("./config")},6261:e=>{e.exports=require("events")},6304:(e,t,o)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createRegexes=function(e){return e.map(e=>({regex:new RegExp(e.regex,"g"),replacement:e.replacement}))},t.censorOutbound=c,t.censorInvestigation=function(e,t){const o=e.context?function(e,t,o){const r={system_info:e?.system_info,machine_metrics:e?.machine_metrics,observability_identifiers:e?.observability_identifiers,timestamp:e?.timestamp},c=e.type;if("http"===c)return{...r,...n(e,t,o)};if("graphql"===c)return{...r,...a(e,t,o)};if("sqs"===c)return{...r,...i(e,t,o)};if("kafka"===c)return{...r,...s(e,t,o)};throw new Error(`Unknown context type: ${e}`)}(e.context,t.valueRegexToRedact,t.keysToRedact):void 0;let u={status:e.status,context:o,triggerType:e.triggerType,duration:e.duration,durationThreshold:e.durationThreshold,caught:e.caught,exceptions:e.exceptions.map(e=>({name:e.name,message:e.message?l(e.message,t.valueRegexToRedact):void 0,stackTrace:e.stackTrace,executionFlow:e.executionFlow.map(e=>({...e,args:d(e.args,t.valueRegexToRedact,t.keysToRedact)})),caught:e.caught})),...e.userContext?{userContext:e.userContext}:{},outbounds:e.outbounds.map(e=>c(e,t)).filter(e=>void 0!==e)};return t.whitelistNestedFields.length>0&&(u=(0,r.pickDeep)(u,t.whitelistNestedFields)),t.blacklistNestedFields.length>0&&(u=(0,r.omitDeep)(u,t.blacklistNestedFields)),u};const r=o(2546);function n(e,t,o){return{type:e.type,endpoint_uuid:e.endpoint_uuid,status_code:e.status_code,route:l(e?.route,t),params:d(e?.params,t,o),query:d(e?.query,t,o),request_body:d(e?.request_body,t,o),method:e?.method,extra_headers:e.extra_headers??{}}}function a(e,t,o){return{type:e.type,flow_id:e.flow_id,status_code:e.status_code,request_body:d(e?.request_body,t,o),graphql_errors:d(e?.graphql_errors,t,o),timestamp:e.timestamp}}function i(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:d(e.messages,t,o)}}function s(e,t,o){return{type:e.type,flow_id:e.flow_id,messages:d(e.messages,t,o),topic:e.topic,partition:e.partition}}function c(e,t){try{return{function_id:e.function_id,caller_id:e.caller_id,type:e.type,duration:e.duration,timestamp:e.timestamp,args:d(e.args,t.valueRegexToRedact,t.keysToRedact),result:d(e.result,t.valueRegexToRedact,t.keysToRedact),error:e.error?{type:e.error.type,message:e.error.message?l(e.error.message,t.valueRegexToRedact):void 0}:void 0,..."http"===e.type?{bodyDuration:e.bodyDuration,bodyError:e.bodyError?{type:e.bodyError.type,message:e.bodyError.message?l(e.bodyError.message,t.valueRegexToRedact):void 0}:void 0}:{}}}catch{return}}function l(e,t){for(const o of t)e=e.replace(o.regex,o.replacement);return e}function d(e,t,o){if("string"==typeof e)return l(e,t);if("object"==typeof e&&null!==e)for(const r in e)o.includes(r)?e[r]="[REDACTED]":e[r]=d(e[r],t,o);return e}},6928:e=>{e.exports=require("path")},6982:e=>{e.exports=require("crypto")},8167:e=>{e.exports=require("worker_threads")},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9896:e=>{e.exports=require("fs")}},t={};return function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,o),a.exports}(1886)})()); //# sourceMappingURL=worker.js.map