UNPKG

hud-sdk

Version:

Hud's Node SDK

2 lines 4.4 kB
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var o=n();for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},2546:e=>{e.exports=require("./lib")},4672:e=>{e.exports=require("./client")},5809:e=>{e.exports=require("./config")},6077:(e,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.leanInit=async function(e,n,o){if(d)l.app_logger.warning("Already ran lean init!");else{d=!0,globalThis.hudStartTime=new Date,globalThis.hudRunningMode=a.HudRunningMode.enabled,l.app_logger.info("Starting lean mode");try{(0,s.updateUserConfigFromInit)(e,n,o);const d=(0,i.validateAndGetUserInput)();if(!d)return;await async function(e){(0,i.storeCredentials)(e.apiKey,e.service),c=new r.HudClient;const n=t.hudConfig.userConfig.tags?.value,o=await c.initSession(e.apiKey,e.service,globalThis.hudStartTime,n,{lean:"true"});c.setSession(o),(0,i.storeSessionInfo)(o),!0===o.options?.forensicsOnly&&(0,s.enableForensicsOnly)(),l.customer_logger.logEntry(s.UserLogs.HudInitSuccess())}(d),await async function(){try{const e=await c.getRemoteConfig();e&&(t.hudConfig.dynamicConfig=(0,t.updateDynamicConfig)(e,t.hudConfig,l.app_logger))}catch(e){l.app_logger.error("Failed to fetch remote config in lean mode",{msg:e instanceof Error?e.message:void 0})}}(),g=new AbortController,function(e,n){for(const o of e)(0,s.safeUnrefInterval)(o.run,o.interval,{signal:n.signal,onError:e=>l.app_logger.error(o.errorLog,{msg:e.message,stack:e.stack,task:o.name})})}(function(){const e=t.hudConfig.dynamicConfig.performanceMetricsInterval,n=t.hudConfig.logsSendInterval,o=(0,s.createThreadStatsBaseline)(),r=(0,s.createProcessStatsBaseline)(l.app_logger);return[{name:"thread-performance",interval:e,errorLog:"Failed sending lean main-thread performance metrics",run:async()=>{const e=(0,s.collectThreadPerformance)(o,l.app_logger,"MainThread");e&&await(c?.send("PerformanceMetrics",e,{event_version:"2.0.0"}))}},{name:"process-performance",interval:e,errorLog:"Failed sending lean process performance metrics",run:async()=>{const n=(0,s.collectProcessPerformance)(r,l.app_logger,e,"Process");n&&await(c?.send("PerformanceMetrics",n,{event_version:"2.0.0"}))}},{name:"logs",interval:n,errorLog:"Failed sending lean logs",run:async()=>{const e=(0,l.getSavedLogs)().join("\n");e.length>0&&await(c?.logs(e))}},{name:"getMode",interval:t.hudConfig.modeInterval,errorLog:"Failed getting mode in lean mode",run:async()=>{const e=await(c?.getMode({startTime:globalThis.hudStartTime,runningMode:a.HudRunningMode.enabled}));e!==a.HudRunningMode.enabled&&(l.app_logger.info("Lean mode received non-enabled mode, stopping",{mode:e}),u())}}]}(),g)}catch(e){!function(e){(function(){try{const e=(0,i.getStoredApiKey)();if(!e||"string"!=typeof e)return;const n=(0,l.getSavedLogs)().join("\n");if(0===n.length)return;const o=c??new r.HudClient;(0,s.safeCall)(l.app_logger,o.sessionslessLogs(n,e))}catch{}})(),(0,i.detachHud)(),e instanceof s.HudSessionThrottle?l.customer_logger.logEntry(s.UserLogs.InitIdleMode()):e instanceof s.HudClientError?l.app_logger.error("Failed to initialize lean mode session due to network error",{msg:e.message}):l.app_logger.critical("Failed to initialize lean mode",{msg:e instanceof Error?e.message:void 0,stack:e instanceof Error?e.stack:void 0})}(e)}}},n.stopLeanRun=u;const r=o(4672),t=o(5809),a=o(8528),i=o(8269),s=o(2546),l=o(523);let g,c,d=!1;function u(){g?.abort(),g=void 0,function(){if(!c)return;const e=(0,l.getSavedLogs)().join("\n");if(0!==e.length)if((0,i.getSessionInfo)())(0,s.safeCall)(l.app_logger,c.logs(e));else{const n=(0,i.getStoredApiKey)();n&&"string"==typeof n&&(0,s.safeCall)(l.app_logger,c.sessionslessLogs(e,n))}}(),c=void 0,(0,i.detachHud)()}},8269:e=>{e.exports=require("./globalstate")},8528:e=>{e.exports=require("./dto")}},n={};function o(r){var t=n[r];if(void 0!==t)return t.exports;var a=n[r]={exports:{}};return e[r](a,a.exports,o),a.exports}var r={};return(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0}),e.stopLeanRun=e.leanInit=void 0;var n=o(6077);Object.defineProperty(e,"leanInit",{enumerable:!0,get:function(){return n.leanInit}}),Object.defineProperty(e,"stopLeanRun",{enumerable:!0,get:function(){return n.stopLeanRun}})})(),r})()); //# sourceMappingURL=lean.js.map