@honeybadger-io/js 6.12.3 → 6.15.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastify.js","sources":["../../../core/node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","../../../core/build/src/util.js","../../../core/build/src/plugins/console_events.js","../../../core/build/src/store.js","../../../core/node_modules/json-nd/dist/module/index.js","../../../core/build/src/defaults.js","../../../core/build/src/throttled_events_worker.js","../../../core/build/src/client.js","../../../core/build/src/types.js","../../../core/build/src/index.js","../../build/src/server/instrumentation/http_event.js","../../build/src/server/fastify.js"],"sourcesContent":["var UNKNOWN_FUNCTION = '<unknown>';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexport { parse };\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logDeprecatedMethod = exports.globalThisOrWindow = exports.isBrowserConfig = exports.clone = exports.formatCGIData = exports.filterUrl = exports.filter = exports.generateStackTrace = exports.endpoint = exports.instrumentConsole = exports.instrument = exports.isErrorObject = exports.makeNotice = exports.logger = exports.sanitize = exports.shallowClone = exports.runAfterNotifyHandlers = exports.shouldSampleEvent = exports.resolveInsights = exports.runBeforeEventHandlers = exports.runBeforeNotifyHandlers = exports.getSourceForBacktrace = exports.getCauses = exports.calculateBacktraceShift = exports.DEFAULT_BACKTRACE_SHIFT = exports.makeBacktrace = exports.objectIsExtensible = exports.objectIsEmpty = exports.mergeNotice = exports.merge = void 0;\n/* eslint-disable prefer-rest-params */\nvar stackTraceParser = __importStar(require(\"stacktrace-parser\"));\nfunction merge(obj1, obj2) {\n var result = {};\n for (var k in obj1) {\n result[k] = obj1[k];\n }\n for (var k in obj2) {\n result[k] = obj2[k];\n }\n return result;\n}\nexports.merge = merge;\nfunction mergeNotice(notice1, notice2) {\n var result = merge(notice1, notice2);\n if (notice1.context && notice2.context) {\n result.context = merge(notice1.context, notice2.context);\n }\n return result;\n}\nexports.mergeNotice = mergeNotice;\nfunction objectIsEmpty(obj) {\n for (var k in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, k)) {\n return false;\n }\n }\n return true;\n}\nexports.objectIsEmpty = objectIsEmpty;\nfunction objectIsExtensible(obj) {\n if (typeof Object.isExtensible !== 'function') {\n return true;\n }\n return Object.isExtensible(obj);\n}\nexports.objectIsExtensible = objectIsExtensible;\nfunction makeBacktrace(stack, filterHbSourceCode, logger) {\n if (filterHbSourceCode === void 0) { filterHbSourceCode = false; }\n if (logger === void 0) { logger = console; }\n if (!stack) {\n return [];\n }\n try {\n var backtrace = stackTraceParser\n .parse(stack)\n .map(function (line) {\n return {\n file: line.file,\n method: line.methodName,\n number: line.lineNumber,\n column: line.column\n };\n });\n if (filterHbSourceCode) {\n backtrace.splice(0, calculateBacktraceShift(backtrace));\n }\n return backtrace;\n }\n catch (err) {\n logger.debug(err);\n return [];\n }\n}\nexports.makeBacktrace = makeBacktrace;\nfunction isFrameFromHbSourceCode(frame) {\n var hasHbFile = false;\n var hasHbMethod = false;\n if (frame.file) {\n hasHbFile = frame.file.toLowerCase().indexOf('@honeybadger-io') > -1;\n }\n if (frame.method) {\n hasHbMethod = frame.method.toLowerCase().indexOf('@honeybadger-io') > -1;\n }\n return hasHbFile || hasHbMethod;\n}\nexports.DEFAULT_BACKTRACE_SHIFT = 3;\n/**\n * If {@link generateStackTrace} is used, we want to exclude frames that come from\n * Honeybadger's source code.\n *\n * Logic:\n * - For each frame, increment the shift if source code is from Honeybadger\n * - If a frame from an <anonymous> file is encountered increment the shift ONLY if between Honeybadger source code\n * (i.e. previous and next frames are from Honeybadger)\n * - Exit when frame encountered is not from Honeybadger source code\n *\n * Note: this will not always work, especially in browser versions where code\n * is minified, uglified and bundled.\n * For those cases we default to 3:\n * - generateStackTrace\n * - makeNotice\n * - notify\n */\nfunction calculateBacktraceShift(backtrace) {\n var shift = 0;\n for (var i = 0; i < backtrace.length; i++) {\n var frame = backtrace[i];\n if (isFrameFromHbSourceCode(frame)) {\n shift++;\n continue;\n }\n if (!frame.file || frame.file === '<anonymous>') {\n var nextFrame = backtrace[i + 1];\n if (nextFrame && isFrameFromHbSourceCode(nextFrame)) {\n shift++;\n continue;\n }\n }\n break;\n }\n return shift || exports.DEFAULT_BACKTRACE_SHIFT;\n}\nexports.calculateBacktraceShift = calculateBacktraceShift;\nfunction getCauses(notice, logger) {\n if (notice.cause) {\n var causes = [];\n var cause = notice;\n // @ts-ignore this throws an error if tsconfig.json has strict: true\n while (causes.length < 3 && (cause = cause.cause)) {\n causes.push({\n class: cause.name,\n message: cause.message,\n backtrace: typeof cause.stack == 'string' ? makeBacktrace(cause.stack, false, logger) : null\n });\n }\n return causes;\n }\n return [];\n}\nexports.getCauses = getCauses;\nfunction getSourceForBacktrace(backtrace, getSourceFileHandler) {\n return __awaiter(this, void 0, void 0, function () {\n var result, index, trace, fileContent;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = [];\n if (!getSourceFileHandler || !backtrace || !backtrace.length) {\n return [2 /*return*/, result];\n }\n index = 0;\n _a.label = 1;\n case 1:\n if (!backtrace.length) return [3 /*break*/, 3];\n trace = backtrace.splice(0)[index];\n return [4 /*yield*/, getSourceFileHandler(trace.file)];\n case 2:\n fileContent = _a.sent();\n result[index] = getSourceCodeSnippet(fileContent, trace.number, trace.column, 2);\n index++;\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/, result];\n }\n });\n });\n}\nexports.getSourceForBacktrace = getSourceForBacktrace;\nfunction runBeforeNotifyHandlers(notice, handlers) {\n var results = [];\n var result = true;\n for (var i = 0, len = handlers.length; i < len; i++) {\n var handler = handlers[i];\n var handlerResult = handler(notice);\n if (handlerResult === false) {\n result = false;\n }\n results.push(handlerResult);\n }\n return {\n results: results,\n result: result\n };\n}\nexports.runBeforeNotifyHandlers = runBeforeNotifyHandlers;\nfunction runBeforeEventHandlers(payload, handlers, logger) {\n return __awaiter(this, void 0, void 0, function () {\n var i, len, result, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n i = 0, len = handlers.length;\n _a.label = 1;\n case 1:\n if (!(i < len)) return [3 /*break*/, 7];\n result = void 0;\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, handlers[i](payload)];\n case 3:\n result = _a.sent();\n return [3 /*break*/, 5];\n case 4:\n err_1 = _a.sent();\n // A buggy handler should not suppress unrelated events. Log and treat as no-op.\n logger === null || logger === void 0 ? void 0 : logger.error('beforeEvent handler threw; continuing', err_1);\n return [3 /*break*/, 6];\n case 5:\n if (result === false) {\n return [2 /*return*/, false];\n }\n _a.label = 6;\n case 6:\n i++;\n return [3 /*break*/, 1];\n case 7: return [2 /*return*/, true];\n }\n });\n });\n}\nexports.runBeforeEventHandlers = runBeforeEventHandlers;\nfunction resolveInsights(config) {\n var _a, _b;\n var insights = config.insights;\n if (!insights || insights.enabled !== true) {\n return { console: false, http: false };\n }\n return {\n console: (_a = insights.console) !== null && _a !== void 0 ? _a : false,\n http: (_b = insights.http) !== null && _b !== void 0 ? _b : false,\n };\n}\nexports.resolveInsights = resolveInsights;\nfunction fnv1a(str) {\n var h = 0x811c9dc5;\n for (var i = 0, len = str.length; i < len; i++) {\n h ^= str.charCodeAt(i);\n h = Math.imul(h, 0x01000193);\n }\n return h >>> 0;\n}\nfunction clampSampleRate(rate) {\n if (rate < 0)\n return 0;\n if (rate > 100)\n return 100;\n return rate;\n}\nfunction shouldSampleEvent(event, configRate) {\n var meta = event._hb;\n var override = meta && Number.isFinite(meta.sampleRate) ? meta.sampleRate : undefined;\n var rawRate = override !== undefined ? override : configRate;\n // Guard against non-finite rates (e.g. NaN from Number(invalidConfig)); an\n // unusable rate must not silently drop every event, so fall back to send-all.\n var rate = clampSampleRate(Number.isFinite(rawRate) ? rawRate : 100);\n if (rate <= 0)\n return false;\n if (rate >= 100)\n return true;\n var requestId = event.request_id;\n if (typeof requestId === 'string' && requestId.length > 0) {\n return fnv1a(requestId) % 100 < rate;\n }\n return Math.random() * 100 < rate;\n}\nexports.shouldSampleEvent = shouldSampleEvent;\nfunction runAfterNotifyHandlers(notice, handlers, error) {\n if (notice && notice.afterNotify) {\n notice.afterNotify(error, notice);\n }\n for (var i = 0, len = handlers.length; i < len; i++) {\n handlers[i](error, notice);\n }\n return true;\n}\nexports.runAfterNotifyHandlers = runAfterNotifyHandlers;\n// Returns a new object with properties from other object.\nfunction shallowClone(obj) {\n if (typeof (obj) !== 'object' || obj === null) {\n return {};\n }\n var result = {};\n for (var k in obj) {\n result[k] = obj[k];\n }\n return result;\n}\nexports.shallowClone = shallowClone;\nfunction sanitize(obj, maxDepth) {\n if (maxDepth === void 0) { maxDepth = 8; }\n var seenObjects = [];\n function seen(obj) {\n if (!obj || typeof (obj) !== 'object') {\n return false;\n }\n for (var i = 0; i < seenObjects.length; i++) {\n var value = seenObjects[i];\n if (value === obj) {\n return true;\n }\n }\n seenObjects.push(obj);\n return false;\n }\n function canSerialize(obj) {\n var typeOfObj = typeof obj;\n // Functions are TMI\n if (/function/.test(typeOfObj)) {\n // Let special toJSON method pass as it's used by JSON.stringify (#722)\n return obj.name === 'toJSON';\n }\n // Symbols can't convert to strings.\n if (/symbol/.test(typeOfObj)) {\n return false;\n }\n if (obj === null) {\n return false;\n }\n // No prototype, likely created with `Object.create(null)`.\n if (typeof obj === 'object' && typeof obj.hasOwnProperty === 'undefined') {\n return false;\n }\n return true;\n }\n function serialize(obj, depth) {\n if (depth === void 0) { depth = 0; }\n if (depth >= maxDepth) {\n return '[DEPTH]';\n }\n // Inspect invalid types\n if (!canSerialize(obj)) {\n return Object.prototype.toString.call(obj);\n }\n // Halt circular references\n if (seen(obj)) {\n return '[RECURSION]';\n }\n // Serialize inside arrays\n if (Array.isArray(obj)) {\n return obj.map(function (o) { return safeSerialize(o, depth + 1); });\n }\n // Serialize inside objects\n if (typeof (obj) === 'object') {\n var ret = {};\n for (var k in obj) {\n var v = obj[k];\n if (Object.prototype.hasOwnProperty.call(obj, k) && (k != null) && (v != null)) {\n ret[k] = safeSerialize(v, depth + 1);\n }\n }\n return ret;\n }\n // Return everything else untouched\n return obj;\n }\n function safeSerialize(obj, depth) {\n if (depth === void 0) { depth = 0; }\n try {\n return serialize(obj, depth);\n }\n catch (e) {\n return \"[ERROR] \".concat(e);\n }\n }\n return safeSerialize(obj);\n}\nexports.sanitize = sanitize;\nfunction logger(client) {\n var log = function (method) {\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (method === 'debug') {\n if (!client.config.debug) {\n return;\n }\n // Log at default level so that you don't need to also enable verbose\n // logging in Chrome.\n method = 'log';\n }\n args.unshift('[Honeybadger]');\n (_a = client.config.logger)[method].apply(_a, args);\n };\n };\n return {\n log: log('log'),\n info: log('info'),\n debug: log('debug'),\n warn: log('warn'),\n error: log('error')\n };\n}\nexports.logger = logger;\n/**\n * Converts any object into a notice object (which at minimum has the same\n * properties as Error, but supports additional Honeybadger properties.)\n */\nfunction makeNotice(thing) {\n var notice;\n if (!thing) {\n notice = {};\n }\n else if (isErrorObject(thing)) {\n var e = thing;\n notice = merge(thing, { name: e.name, message: e.message, stack: e.stack, cause: e.cause, originalError: e });\n }\n else if (typeof thing === 'object') {\n notice = shallowClone(thing);\n }\n else {\n var m = String(thing);\n notice = { message: m };\n }\n return notice;\n}\nexports.makeNotice = makeNotice;\nfunction isErrorObject(thing) {\n return thing instanceof Error\n || Object.prototype.toString.call(thing) === '[object Error]'; // Important for cross-realm objects\n}\nexports.isErrorObject = isErrorObject;\n/**\n * Instrument an existing function inside an object (usually global).\n * @param {!Object} object\n * @param {!String} name\n * @param {!Function} replacement\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction instrument(object, name, replacement) {\n if (!object || !name || !replacement || !(name in object)) {\n return;\n }\n try {\n var original = object[name];\n while (original && original.__hb_original) {\n original = original.__hb_original;\n }\n object[name] = replacement(original);\n object[name].__hb_original = original;\n }\n catch (_e) {\n // Ignores errors where \"original\" is a restricted object (see #1001)\n // Uncaught Error: Permission denied to access property \"__hb_original\"\n // Also ignores:\n // Error: TypeError: Cannot set property onunhandledrejection of [object Object] which has only a getter\n // User-Agent: Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.1 Chrome/79.0.3945.136 Mobile Safari/537.36\n }\n}\nexports.instrument = instrument;\nvar _consoleAlreadyInstrumented = false;\nvar listeners = [];\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction instrumentConsole(_window, handler) {\n if (!_window || !_window.console || !handler) {\n return;\n }\n listeners.push(handler);\n if (_consoleAlreadyInstrumented) {\n return;\n }\n _consoleAlreadyInstrumented = true;\n ['debug', 'info', 'warn', 'error', 'log'].forEach(function (level) {\n instrument(_window.console, level, function hbLogger(original) {\n return function () {\n var args = Array.prototype.slice.call(arguments);\n listeners.forEach(function (listener) {\n try {\n listener(level, args);\n }\n catch (_e) {\n // ignore\n // should never reach here because instrument method already wraps with try/catch block\n }\n });\n if (typeof original === 'function') {\n Function.prototype.apply.call(original, _window.console, arguments);\n }\n };\n });\n });\n}\nexports.instrumentConsole = instrumentConsole;\nfunction endpoint(base, path) {\n var endpoint = base.trim().replace(/\\/$/, '');\n path = path.trim().replace(/(^\\/|\\/$)/g, '');\n return \"\".concat(endpoint, \"/\").concat(path);\n}\nexports.endpoint = endpoint;\nfunction generateStackTrace() {\n try {\n throw new Error('');\n }\n catch (e) {\n if (e.stack) {\n return e.stack;\n }\n }\n var maxStackSize = 10;\n var stack = [];\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize) {\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(RegExp.$1 || '<anonymous>');\n }\n else {\n stack.push('<anonymous>');\n }\n try {\n curr = curr.caller;\n }\n catch (e) {\n break;\n }\n }\n return stack.join('\\n');\n}\nexports.generateStackTrace = generateStackTrace;\nfunction filter(obj, filters) {\n if (!is('Object', obj)) {\n return;\n }\n if (!is('Array', filters)) {\n filters = [];\n }\n var seen = [];\n function filter(obj) {\n var k, newObj;\n if (is('Object', obj) || is('Array', obj)) {\n if (seen.indexOf(obj) !== -1) {\n return '[CIRCULAR DATA STRUCTURE]';\n }\n seen.push(obj);\n }\n if (is('Object', obj)) {\n newObj = {};\n for (k in obj) {\n if (filterMatch(k, filters)) {\n newObj[k] = '[FILTERED]';\n }\n else {\n newObj[k] = filter(obj[k]);\n }\n }\n return newObj;\n }\n if (is('Array', obj)) {\n return obj.map(function (v) {\n return filter(v);\n });\n }\n if (is('Function', obj)) {\n return '[FUNC]';\n }\n return obj;\n }\n return filter(obj);\n}\nexports.filter = filter;\nfunction filterMatch(key, filters) {\n for (var i = 0; i < filters.length; i++) {\n if (key.toLowerCase().indexOf(filters[i].toLowerCase()) !== -1) {\n return true;\n }\n }\n return false;\n}\nfunction is(type, obj) {\n var klass = Object.prototype.toString.call(obj).slice(8, -1);\n return obj !== undefined && obj !== null && klass === type;\n}\nfunction filterUrl(url, filters) {\n if (!filters) {\n return url;\n }\n if (typeof url !== 'string') {\n return url;\n }\n var query = url.split(/\\?/, 2)[1];\n if (!query) {\n return url;\n }\n var result = url;\n query.split(/[&]\\s?/).forEach(function (pair) {\n var _a = pair.split('=', 2), key = _a[0], value = _a[1];\n if (filterMatch(key, filters)) {\n result = result.replace(\"\".concat(key, \"=\").concat(value), \"\".concat(key, \"=[FILTERED]\"));\n }\n });\n return result;\n}\nexports.filterUrl = filterUrl;\nfunction formatCGIData(vars, prefix) {\n if (prefix === void 0) { prefix = ''; }\n var formattedVars = {};\n Object.keys(vars).forEach(function (key) {\n var formattedKey = prefix + key.replace(/\\W/g, '_').toUpperCase();\n formattedVars[formattedKey] = vars[key];\n });\n return formattedVars;\n}\nexports.formatCGIData = formatCGIData;\nfunction clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\nexports.clone = clone;\nvar THRESHOLD_COLUMN_NUMBER = 10000;\nvar THRESHOLD_LINE_LENGTH = 10000;\nvar THRESHOLD_FILE_SIZE = 200000; // 200KB threshold\nfunction getThresholdExceededSnippet(lineNumber) {\n var _a;\n return _a = {}, _a[lineNumber] = 'SOURCE_SIZE_TOO_LARGE', _a;\n}\nfunction getSourceCodeSnippet(fileData, lineNumber, columnNumber, sourceRadius) {\n if (sourceRadius === void 0) { sourceRadius = 2; }\n if (!fileData) {\n return null;\n }\n // If column number is provided and very high, it's likely a bundled/minified file\n if (columnNumber && columnNumber > THRESHOLD_COLUMN_NUMBER) {\n return getThresholdExceededSnippet(lineNumber);\n }\n // If file is very large, it's likely bundled\n if (fileData.length > THRESHOLD_FILE_SIZE) {\n return getThresholdExceededSnippet(lineNumber);\n }\n var lines = fileData.split('\\n');\n // add one empty line because array index starts from 0, but error line number is counted from 1\n lines.unshift('');\n // Check if the target line is extremely long\n var targetLine = lines[lineNumber];\n if (targetLine && targetLine.length > THRESHOLD_LINE_LENGTH) {\n return getThresholdExceededSnippet(lineNumber);\n }\n var start = lineNumber - sourceRadius;\n var end = lineNumber + sourceRadius;\n var result = {};\n for (var i = start; i <= end; i++) {\n var line = lines[i];\n if (typeof line === 'string') {\n result[i] = line;\n }\n }\n return result;\n}\nfunction isBrowserConfig(config) {\n return config.async !== undefined;\n}\nexports.isBrowserConfig = isBrowserConfig;\n/** globalThis has fairly good support. But just in case, lets check its defined.\n * @see {https://caniuse.com/?search=globalThis}\n */\nfunction globalThisOrWindow() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof self !== 'undefined') {\n return self;\n }\n return window;\n}\nexports.globalThisOrWindow = globalThisOrWindow;\nvar _deprecatedMethodCalls = {};\n/**\n * Logs a deprecation warning, every X calls to the method.\n */\nfunction logDeprecatedMethod(logger, oldMethod, newMethod, callCountThreshold) {\n if (callCountThreshold === void 0) { callCountThreshold = 100; }\n var key = \"\".concat(oldMethod, \"-\").concat(newMethod);\n if (typeof _deprecatedMethodCalls[key] === 'undefined') {\n _deprecatedMethodCalls[key] = 0;\n }\n if (_deprecatedMethodCalls[key] % callCountThreshold !== 0) {\n _deprecatedMethodCalls[key]++;\n return;\n }\n var msg = \"Deprecation warning: \".concat(oldMethod, \" has been deprecated; please use \").concat(newMethod, \" instead.\");\n logger.warn(msg);\n _deprecatedMethodCalls[key]++;\n}\nexports.logDeprecatedMethod = logDeprecatedMethod;\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"../util\");\nfunction default_1(_window) {\n if (_window === void 0) { _window = (0, util_1.globalThisOrWindow)(); }\n return {\n shouldReloadOnConfigure: false,\n load: function (client) {\n function sendEventsToInsights() {\n return (0, util_1.resolveInsights)(client.config).console;\n }\n if (!sendEventsToInsights()) {\n return;\n }\n (0, util_1.instrumentConsole)(_window, function (level, args) {\n if (!sendEventsToInsights()) {\n return;\n }\n if (args.length === 0) {\n return;\n }\n var data = {\n severity: level,\n };\n if (typeof args[0] === 'string') {\n data.message = args[0];\n data.args = args.slice(1);\n }\n else {\n data.args = args;\n }\n client.event('log', data);\n });\n }\n };\n}\nexports.default = default_1;\n//# sourceMappingURL=console_events.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GlobalStore = void 0;\nvar util_1 = require(\"./util\");\nvar GlobalStore = /** @class */ (function () {\n function GlobalStore(contents, breadcrumbsLimit) {\n this.contents = contents;\n this.breadcrumbsLimit = breadcrumbsLimit;\n }\n GlobalStore.create = function (contents, breadcrumbsLimit) {\n return new GlobalStore(contents, breadcrumbsLimit);\n };\n GlobalStore.prototype.available = function () {\n return true;\n };\n GlobalStore.prototype.getContents = function (key) {\n var value = key ? this.contents[key] : this.contents;\n return JSON.parse(JSON.stringify(value));\n };\n GlobalStore.prototype.setContext = function (context) {\n this.contents.context = (0, util_1.merge)(this.contents.context, context || {});\n };\n GlobalStore.prototype.setEventContext = function (eventContext) {\n this.contents.eventContext = (0, util_1.merge)(this.contents.eventContext, eventContext || {});\n };\n GlobalStore.prototype.clearEventContext = function () {\n this.contents.eventContext = {};\n };\n GlobalStore.prototype.addBreadcrumb = function (breadcrumb) {\n if (this.contents.breadcrumbs.length == this.breadcrumbsLimit) {\n this.contents.breadcrumbs.shift();\n }\n this.contents.breadcrumbs.push(breadcrumb);\n };\n GlobalStore.prototype.clear = function () {\n this.contents.context = {};\n this.contents.eventContext = {};\n this.contents.breadcrumbs = [];\n };\n GlobalStore.prototype.run = function (callback) {\n return callback();\n };\n return GlobalStore;\n}());\nexports.GlobalStore = GlobalStore;\n//# sourceMappingURL=store.js.map","export class NdJson {\n static parse(data) {\n const lines = data.trim().split('\\n');\n return lines.map(line => JSON.parse(line));\n }\n static stringify(data) {\n return data.map(item => JSON.stringify(item)).join('\\n');\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CONFIG = void 0;\nexports.CONFIG = {\n apiKey: null,\n endpoint: 'https://api.honeybadger.io',\n appEndpoint: 'https://app.honeybadger.io',\n environment: null,\n hostname: null,\n projectRoot: null,\n component: null,\n action: null,\n revision: null,\n reportData: null,\n breadcrumbsEnabled: true,\n // deprecated: `eventsEnabled: true` auto-enables insights.enabled + insights.console\n eventsEnabled: false,\n insights: {\n enabled: false,\n console: false,\n http: false,\n },\n events: {\n dispatchIntervalSeconds: 10,\n bulkThreshold: 500,\n sampleRatePercentage: 100,\n },\n maxBreadcrumbs: 40,\n maxObjectDepth: 8,\n logger: console,\n developmentEnvironments: ['dev', 'development', 'test'],\n debug: false,\n tags: null,\n enableUncaught: true,\n enableUnhandledRejection: true,\n afterUncaught: function () { return true; },\n filters: ['creditcard', 'password'],\n __plugins: [],\n};\n//# sourceMappingURL=defaults.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ThrottledEventsWorker = void 0;\nvar json_nd_1 = require(\"json-nd\");\nvar util_1 = require(\"./util\");\nvar defaults_1 = require(\"./defaults\");\nvar ThrottledEventsWorker = /** @class */ (function () {\n function ThrottledEventsWorker(config, transport) {\n this.config = config;\n this.transport = transport;\n this.queue = [];\n this.cooldownTimer = null;\n this.inFlight = null;\n this.config = __assign(__assign({}, defaults_1.CONFIG), config);\n this.logger = this.originalLogger();\n }\n ThrottledEventsWorker.prototype.configure = function (opts) {\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n };\n ThrottledEventsWorker.prototype.log = function (payload) {\n this.queue.push(payload);\n if (this.inFlight) {\n return;\n }\n if (this.cooldownTimer) {\n if (this.queue.length >= this.bulkThreshold()) {\n clearTimeout(this.cooldownTimer);\n this.cooldownTimer = null;\n this.processQueue();\n }\n return;\n }\n this.processQueue();\n };\n ThrottledEventsWorker.prototype.flushAsync = function () {\n var _this = this;\n var _a;\n this.logger.debug('[Honeybadger] Flushing events');\n if (this.cooldownTimer) {\n clearTimeout(this.cooldownTimer);\n this.cooldownTimer = null;\n }\n var previous = (_a = this.inFlight) !== null && _a !== void 0 ? _a : Promise.resolve();\n var flush = previous.then(function () { return _this.drainAll(); });\n // Mark the flush as in-flight so a concurrent log() doesn't start an\n // overlapping processQueue() drain while we're draining here.\n this.inFlight = flush;\n var clear = function () {\n if (_this.inFlight === flush) {\n _this.inFlight = null;\n }\n };\n flush.then(clear, clear);\n return flush;\n };\n ThrottledEventsWorker.prototype.drainAll = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.queue.length > 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.send()];\n case 1:\n _a.sent();\n return [3 /*break*/, 0];\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n ThrottledEventsWorker.prototype.processQueue = function () {\n var _this = this;\n if (this.queue.length === 0 || this.inFlight) {\n return;\n }\n var inFlight = this.send()\n .catch(function (error) {\n _this.logger.error('[Honeybadger] Error making HTTP request:', error);\n })\n .then(function () {\n // Only reset if we're still the current operation; a flushAsync() may\n // have taken ownership of inFlight while this send was resolving.\n if (_this.inFlight === inFlight) {\n _this.inFlight = null;\n _this.scheduleNextDispatch();\n }\n });\n this.inFlight = inFlight;\n };\n ThrottledEventsWorker.prototype.scheduleNextDispatch = function () {\n var _this = this;\n if (this.queue.length >= this.bulkThreshold()) {\n this.processQueue();\n return;\n }\n this.cooldownTimer = setTimeout(function () {\n _this.cooldownTimer = null;\n _this.processQueue();\n }, this.dispatchIntervalMs());\n };\n ThrottledEventsWorker.prototype.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var eventsData, data;\n return __generator(this, function (_a) {\n if (this.queue.length === 0) {\n return [2 /*return*/];\n }\n eventsData = this.queue.splice(0, this.bulkThreshold());\n data = json_nd_1.NdJson.stringify(eventsData);\n return [2 /*return*/, this.makeHttpRequest(data)];\n });\n });\n };\n ThrottledEventsWorker.prototype.bulkThreshold = function () {\n var _a;\n var v = (_a = this.config.events) === null || _a === void 0 ? void 0 : _a.bulkThreshold;\n return typeof v === 'number' && v > 0 ? v : defaults_1.CONFIG.events.bulkThreshold;\n };\n ThrottledEventsWorker.prototype.dispatchIntervalMs = function () {\n var _a;\n var v = (_a = this.config.events) === null || _a === void 0 ? void 0 : _a.dispatchIntervalSeconds;\n var seconds = typeof v === 'number' && v >= 0 ? v : defaults_1.CONFIG.events.dispatchIntervalSeconds;\n return seconds * 1000;\n };\n ThrottledEventsWorker.prototype.makeHttpRequest = function (data) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.transport\n .send({\n headers: {\n 'X-API-Key': this.config.apiKey,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n endpoint: (0, util_1.endpoint)(this.config.endpoint, '/v1/events'),\n maxObjectDepth: this.config.maxObjectDepth,\n logger: this.logger,\n }, data)\n .then(function (resp) {\n if ([200, 201].includes(resp.statusCode)) {\n _this.logger.debug('[Honeybadger] Events sent successfully');\n }\n else {\n _this.logger.debug(\"[Honeybadger] Events failed[\".concat(resp.statusCode, \"]: \").concat(resp.body));\n }\n })\n .catch(function (err) {\n _this.logger.error(\"[Honeybadger] Error sending events: \".concat(err.message));\n })];\n });\n });\n };\n /**\n * todo: improve this\n *\n * The events plugin overrides the console methods to enable automatic instrumentation\n * of console logs to the Honeybadger API.\n * So if we want to log something in here we need to use the original methods.\n */\n ThrottledEventsWorker.prototype.originalLogger = function () {\n var _this = this;\n var _a, _b, _c, _d;\n return {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n log: (_a = console.log.__hb_original) !== null && _a !== void 0 ? _a : console.log,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n info: (_b = console.info.__hb_original) !== null && _b !== void 0 ? _b : console.info,\n debug: function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this.config.debug) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var func = (_a = console.debug.__hb_original) !== null && _a !== void 0 ? _a : console.debug;\n return func.apply(void 0, args);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n warn: (_c = console.warn.__hb_original) !== null && _c !== void 0 ? _c : console.warn,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error: (_d = console.error.__hb_original) !== null && _d !== void 0 ? _d : console.error,\n };\n };\n return ThrottledEventsWorker;\n}());\nexports.ThrottledEventsWorker = ThrottledEventsWorker;\n//# sourceMappingURL=throttled_events_worker.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Client = void 0;\nvar util_1 = require(\"./util\");\nvar store_1 = require(\"./store\");\nvar throttled_events_worker_1 = require(\"./throttled_events_worker\");\nvar defaults_1 = require(\"./defaults\");\n// Split at commas and spaces\nvar TAG_SEPARATOR = /,|\\s+/;\n// Checks for non-blank characters\nvar NOT_BLANK = /\\S/;\nvar Client = /** @class */ (function () {\n function Client(opts, transport) {\n if (opts === void 0) { opts = {}; }\n this.__pluginsLoaded = false;\n this.__store = null;\n this.__beforeNotifyHandlers = [];\n this.__beforeEventHandlers = [];\n this.__afterNotifyHandlers = [];\n this.__pendingEvents = new Set();\n this.__notifier = {\n name: '@honeybadger-io/core',\n url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',\n version: '__VERSION__'\n };\n this.config = __assign(__assign({}, defaults_1.CONFIG), opts);\n this.__initStore();\n this.__transport = transport;\n this.__eventsWorker = new throttled_events_worker_1.ThrottledEventsWorker(this.config, this.__transport);\n this.logger = (0, util_1.logger)(this);\n this.__applyEventsEnabledShim(opts);\n }\n Client.prototype.getVersion = function () {\n return this.__notifier.version;\n };\n Client.prototype.getNotifier = function () {\n return this.__notifier;\n };\n /**\n * CAREFUL: When adding a new notifier or updating the name of an existing notifier,\n * the Honeybadger rails project may need its mappings updated.\n * See https://github.com/honeybadger-io/honeybadger/blob/master/app/presenters/breadcrumbs_presenter.rb\n * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/parser/java_script.rb\n * https://github.com/honeybadger-io/honeybadger/blob/master/app/models/language.rb\n **/\n Client.prototype.setNotifier = function (notifier) {\n this.__notifier = notifier;\n };\n Client.prototype.configure = function (opts) {\n if (opts === void 0) { opts = {}; }\n for (var k in opts) {\n this.config[k] = opts[k];\n }\n this.__applyEventsEnabledShim(opts);\n this.__eventsWorker.configure(this.config);\n this.loadPlugins();\n return this;\n };\n /**\n * Backwards compatibility: `eventsEnabled: true` used to opt into console events.\n * The deprecated flag auto-enables `insights.enabled` and `insights.console`;\n * explicit user-provided insights values win over the shim.\n */\n Client.prototype.__applyEventsEnabledShim = function (opts) {\n var _a;\n if (opts.eventsEnabled !== true) {\n return;\n }\n this.logger.warn('Deprecation warning: `eventsEnabled` has been deprecated; please use `insights.enabled` and `insights.console` instead.');\n this.config.insights = __assign(__assign(__assign({}, ((_a = this.config.insights) !== null && _a !== void 0 ? _a : {})), { enabled: true, console: true }), opts.insights);\n };\n Client.prototype.loadPlugins = function () {\n var _this = this;\n var pluginsToLoad = this.__pluginsLoaded\n ? this.config.__plugins.filter(function (plugin) { return plugin.shouldReloadOnConfigure; })\n : this.config.__plugins;\n pluginsToLoad.forEach(function (plugin) { return plugin.load(_this); });\n this.__pluginsLoaded = true;\n };\n Client.prototype.__initStore = function () {\n this.__store = new store_1.GlobalStore({ context: {}, eventContext: {}, breadcrumbs: [] }, this.config.maxBreadcrumbs);\n };\n Client.prototype.beforeNotify = function (handler) {\n this.__beforeNotifyHandlers.push(handler);\n return this;\n };\n Client.prototype.beforeEvent = function (handler) {\n this.__beforeEventHandlers.push(handler);\n return this;\n };\n Client.prototype.afterNotify = function (handler) {\n this.__afterNotifyHandlers.push(handler);\n return this;\n };\n Client.prototype.setContext = function (context) {\n if (typeof context === 'object' && context != null) {\n this.__store.setContext(context);\n }\n return this;\n };\n Client.prototype.setEventContext = function (eventContext) {\n if (typeof eventContext === 'object' && eventContext != null) {\n this.__store.setEventContext(eventContext);\n }\n return this;\n };\n Client.prototype.clearEventContext = function () {\n this.__store.clearEventContext();\n return this;\n };\n Client.prototype.resetContext = function (context) {\n this.logger.warn('Deprecation warning: `Honeybadger.resetContext()` has been deprecated; please use `Honeybadger.clear()` instead.');\n this.__store.clear();\n if (typeof context === 'object' && context !== null) {\n this.__store.setContext(context);\n }\n return this;\n };\n Client.prototype.clear = function () {\n this.__store.clear();\n return this;\n };\n Client.prototype.notify = function (noticeable, name, extra) {\n var _this = this;\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n var notice = this.makeNotice(noticeable, name, extra);\n // we need to have the source file data before the beforeNotifyHandlers,\n // in case they modify them\n var sourceCodeData = notice && notice.backtrace ? notice.backtrace.map(function (trace) { return (0, util_1.shallowClone)(trace); }) : null;\n var preConditionsResult = this.__runPreconditions(notice);\n if (preConditionsResult instanceof Error) {\n (0, util_1.runAfterNotifyHandlers)(notice, this.__afterNotifyHandlers, preConditionsResult);\n return false;\n }\n if (preConditionsResult instanceof Promise) {\n preConditionsResult.then(function (result) {\n if (result instanceof Error) {\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, result);\n return false;\n }\n return _this.__send(notice, sourceCodeData);\n });\n return true;\n }\n this.__send(notice, sourceCodeData).catch(function (_err) { });\n return true;\n };\n /**\n * An async version of {@link notify} that resolves only after the notice has been reported to Honeybadger.\n * Implemented using the {@link afterNotify} hook.\n * Rejects if for any reason the report failed to be reported.\n * Useful in serverless environments (AWS Lambda).\n */\n Client.prototype.notifyAsync = function (noticeable, name, extra) {\n var _this = this;\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n return new Promise(function (resolve, reject) {\n var applyAfterNotify = function (partialNotice) {\n var originalAfterNotify = partialNotice.afterNotify;\n partialNotice.afterNotify = function (err) {\n originalAfterNotify === null || originalAfterNotify === void 0 ? void 0 : originalAfterNotify.call(_this, err);\n if (err) {\n return reject(err);\n }\n resolve();\n };\n };\n // We have to respect any afterNotify hooks that come from the arguments\n var objectToOverride;\n if (noticeable.afterNotify) {\n objectToOverride = noticeable;\n }\n else if (name && name.afterNotify) {\n objectToOverride = name;\n }\n else if (extra && extra.afterNotify) {\n objectToOverride = extra;\n }\n else if (name && typeof name === 'object') {\n objectToOverride = name;\n }\n else if (extra) {\n objectToOverride = extra;\n }\n else {\n objectToOverride = name = {};\n }\n applyAfterNotify(objectToOverride);\n _this.notify(noticeable, name, extra);\n });\n };\n Client.prototype.makeNotice = function (noticeable, name, extra) {\n if (name === void 0) { name = undefined; }\n if (extra === void 0) { extra = undefined; }\n var notice = (0, util_1.makeNotice)(noticeable);\n if (name && !(typeof name === 'object')) {\n var n = String(name);\n name = { name: n };\n }\n if (name) {\n notice = (0, util_1.mergeNotice)(notice, name);\n }\n if (typeof extra === 'object' && extra !== null) {\n notice = (0, util_1.mergeNotice)(notice, extra);\n }\n if ((0, util_1.objectIsEmpty)(notice)) {\n return null;\n }\n var context = this.__store.getContents('context');\n var noticeTags = this.__constructTags(notice.tags);\n var contextTags = this.__constructTags(context['tags']);\n var configTags = this.__constructTags(this.config.tags);\n // Turning into a Set will remove duplicates\n var tags = noticeTags.concat(contextTags).concat(configTags);\n var uniqueTags = tags.filter(function (item, index) { return tags.indexOf(item) === index; });\n notice = (0, util_1.merge)(notice, {\n name: notice.name || 'Error',\n context: (0, util_1.merge)(context, notice.context),\n projectRoot: notice.projectRoot || this.config.projectRoot,\n environment: notice.environment || this.config.environment,\n component: notice.component || this.config.component,\n action: notice.action || this.config.action,\n revision: notice.revision || this.config.revision,\n tags: uniqueTags,\n });\n // If we're passed a custom backtrace array, use it\n // Otherwise we make one.\n if (!Array.isArray(notice.backtrace) || !notice.backtrace.length) {\n if (typeof notice.stack !== 'string' || !notice.stack.trim()) {\n notice.stack = (0, util_1.generateStackTrace)();\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, true, this.logger);\n }\n else {\n notice.backtrace = (0, util_1.makeBacktrace)(notice.stack, false, this.logger);\n }\n }\n return notice;\n };\n Client.prototype.addBreadcrumb = function (message, opts) {\n if (!this.config.breadcrumbsEnabled) {\n return;\n }\n opts = opts || {};\n var metadata = (0, util_1.shallowClone)(opts.metadata);\n var category = opts.category || 'custom';\n var timestamp = new Date().toISOString();\n this.__store.addBreadcrumb({\n category: category,\n message: message,\n metadata: metadata,\n timestamp: timestamp\n });\n return this;\n };\n /**\n * @deprecated Use {@link event} instead.\n */\n Client.prototype.logEvent = function (data) {\n (0, util_1.logDeprecatedMethod)(this.logger, 'Honeybadger.logEvent', 'Honeybadger.event');\n this.event('log', data);\n };\n Client.prototype.event = function (type, data) {\n var _this = this;\n var _a;\n if (typeof type === 'object') {\n data = type;\n type = (_a = type['event_type']) !== null && _a !== void 0 ? _a : undefined;\n }\n var eventContext = this.__store.getContents('eventContext') || {};\n var payload = __assign(__assign({ event_type: type, ts: new Date().toISOString() }, eventContext), data);\n // Track in-flight handler chains so flushAsync() can await them before\n // delegating to the events logger; otherwise a caller that awaits flushAsync()\n // immediately after event() may flush before the payload enters the queue.\n var inFlight = (0, util_1.runBeforeEventHandlers)(payload, this.__beforeEventHandlers, this.logger)\n .then(function (shouldSend) {\n var _a, _b;\n if (!shouldSend) {\n _this.logger.debug('skipping event: beforeEvent handler returned false');\n return;\n }\n var sampleRate = (_b = (_a = _this.config.events) === null || _a === void 0 ? void 0 : _a.sampleRatePercentage) !== null && _b !== void 0 ? _b : 100;\n if (!(0, util_1.shouldSampleEvent)(payload, sampleRate)) {\n _this.logger.debug('skipping event: dropped by sampleRatePercentage');\n return;\n }\n delete payload._hb;\n _this.__eventsWorker.log(payload);\n })\n .catch(function (err) {\n // should not happen, because each handler is wrapped with a try/catch\n _this.logger.error('beforeEvent handler chain failed; dropping event', err);\n })\n .finally(function () {\n _this.__pendingEvents.delete(inFlight);\n });\n this.__pendingEvents.add(inFlight);\n };\n /**\n * This method currently flushes the event (Insights) queue.\n * In the future, it should also flush the error queue (assuming an error throttler is implemented).\n */\n Client.prototype.flushAsync = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.__pendingEvents.size > 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, Promise.allSettled(Array.from(this.__pendingEvents))];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, this.__eventsWorker.flushAsync()];\n }\n });\n });\n };\n Client.prototype.__getBreadcrumbs = function () {\n return this.__store.getContents('breadcrumbs').slice();\n };\n Client.prototype.__getContext = function () {\n return this.__store.getContents('context');\n };\n Client.prototype.__developmentMode = function () {\n if (this.config.reportData === true) {\n return false;\n }\n return (this.config.environment && this.config.developmentEnvironments.includes(this.config.environment));\n };\n Client.prototype.__buildPayload = function (notice) {\n var headers = (0, util_1.filter)(notice.headers, this.config.filters) || {};\n var cgiData = (0, util_1.filter)(__assign(__assign({}, notice.cgiData), (0, util_1.formatCGIData)(headers, 'HTTP_')), this.config.filters);\n return {\n notifier: this.__notifier,\n breadcrumbs: {\n enabled: !!this.config.breadcrumbsEnabled,\n trail: notice.__breadcrumbs || []\n },\n error: {\n class: notice.name,\n message: notice.message,\n backtrace: notice.backtrace,\n fingerprint: notice.fingerprint,\n tags: notice.tags,\n causes: (0, util_1.getCauses)(notice, this.logger),\n },\n request: {\n url: (0, util_1.filterUrl)(notice.url, this.config.filters),\n component: notice.component,\n action: notice.action,\n context: notice.context,\n cgi_data: cgiData,\n params: (0, util_1.filter)(notice.params, this.config.filters) || {},\n session: (0, util_1.filter)(notice.session, this.config.filters) || {}\n },\n server: {\n project_root: notice.projectRoot,\n environment_name: notice.environment,\n revision: notice.revision,\n hostname: this.config.hostname,\n time: new Date().toUTCString()\n },\n details: notice.details || {}\n };\n };\n Client.prototype.__constructTags = function (tags) {\n if (!tags) {\n return [];\n }\n return tags.toString().split(TAG_SEPARATOR).filter(function (tag) { return NOT_BLANK.test(tag); });\n };\n Client.prototype.__runPreconditions = function (notice) {\n var _this = this;\n var preConditionError = null;\n if (!notice) {\n this.logger.debug('failed to build error report');\n preConditionError = new Error('failed to build error report');\n }\n if (this.config.reportData === false) {\n this.logger.debug('skipping error report: honeybadger.js is disabled', notice);\n preConditionError = new Error('honeybadger.js is disabled');\n }\n if (this.__developmentMode()) {\n this.logger.log('honeybadger.js is in development mode; the following error report will be sent in production.', notice);\n preConditionError = new Error('honeybadger.js is in development mode');\n }\n if (!this.config.apiKey) {\n this.logger.warn('could not send error report: no API key has been configured', notice);\n preConditionError = new Error('missing API key');\n }\n var beforeNotifyResult = (0, util_1.runBeforeNotifyHandlers)(notice, this.__beforeNotifyHandlers);\n if (!preConditionError && !beforeNotifyResult.result) {\n this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers returned false');\n }\n if (beforeNotifyResult.results.length && beforeNotifyResult.results.some(function (result) { return result instanceof Promise; })) {\n return Promise.allSettled(beforeNotifyResult.results)\n .then(function (results) {\n if (!preConditionError && (results.some(function (result) { return result.status === 'rejected' || result.value === false; }))) {\n _this.logger.debug('skipping error report: one or more beforeNotify handlers returned false', notice);\n preConditionError = new Error('beforeNotify handlers (async) returned false');\n }\n if (preConditionError) {\n return preConditionError;\n }\n });\n }\n return preConditionError;\n };\n Client.prototype.__send = function (notice, originalBacktrace) {\n var _this = this;\n if (this.config.breadcrumbsEnabled) {\n this.addBreadcrumb('Honeybadger Notice', {\n category: 'notice',\n metadata: {\n message: notice.message,\n name: notice.name,\n stack: notice.stack\n }\n });\n notice.__breadcrumbs = this.__store.getContents('breadcrumbs');\n }\n else {\n notice.__breadcrumbs = [];\n }\n return (0, util_1.getSourceForBacktrace)(originalBacktrace, this.__getSourceFileHandler)\n .then(function (sourcePerTrace) { return __awaiter(_this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_a) {\n sourcePerTrace.forEach(function (source, index) {\n notice.backtrace[index].source = source;\n });\n payload = this.__buildPayload(notice);\n return [2 /*return*/, this.__transport\n .send({\n headers: {\n 'X-API-Key': this.config.apiKey,\n 'Content-Type': 'application/json',\n 'Accept': 'text/json, application/json'\n },\n method: 'POST',\n endpoint: (0, util_1.endpoint)(this.config.endpoint, '/v1/notices/js'),\n maxObjectDepth: this.config.maxObjectDepth,\n logger: this.logger,\n }, payload)];\n });\n }); })\n .then(function (res) {\n if (res.statusCode !== 201) {\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, new Error(\"Bad HTTP response: \".concat(res.statusCode)));\n _this.logger.warn(\"Error report failed: unknown response from server. code=\".concat(res.statusCode));\n return false;\n }\n var uuid = JSON.parse(res.body).id;\n (0, util_1.runAfterNotifyHandlers)((0, util_1.merge)(notice, {\n id: uuid\n }), _this.__afterNotifyHandlers);\n var noticeUrl = (0, util_1.endpoint)(_this.config.appEndpoint, \"notice/\".concat(uuid));\n _this.logger.info(\"Error report sent \\u26A1 \".concat(noticeUrl));\n return true;\n })\n .catch(function (err) {\n _this.logger.error('Error report failed: an unknown error occurred.', \"message=\".concat(err.message));\n (0, util_1.runAfterNotifyHandlers)(notice, _this.__afterNotifyHandlers, err);\n return false;\n });\n };\n return Client;\n}());\nexports.Client = Client;\n//# sourceMappingURL=client.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Plugins = exports.Defaults = exports.Util = exports.Types = exports.Client = void 0;\nvar console_events_1 = __importDefault(require(\"./plugins/console_events\"));\nvar client_1 = require(\"./client\");\nObject.defineProperty(exports, \"Client\", { enumerable: true, get: function () { return client_1.Client; } });\n__exportStar(require(\"./store\"), exports);\nexports.Types = __importStar(require(\"./types\"));\nexports.Util = __importStar(require(\"./util\"));\nexports.Defaults = __importStar(require(\"./defaults\"));\nexports.Plugins = {\n consoleEvents: console_events_1.default,\n};\n//# sourceMappingURL=index.js.map","\"use strict\";\n/**\n * Shared helpers for HTTP-event instrumentation.\n *\n * Used by inbound (Express, Fastify, Lambda, Next.js) and — in a later PR —\n * outbound (`http`, `https`, `fetch`) integrations.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildRequestEventPayload = exports.durationMs = exports.startTimer = exports.seedRequestEventContext = exports.getOrCreateCorrelationId = exports.getOrCreateRequestId = void 0;\nvar crypto_1 = require(\"crypto\");\n/**\n * Reads a header value from a Node-style headers bag in a case-insensitive\n * manner. When the value is an array (e.g. `Set-Cookie`), returns the first\n * element. Returns `undefined` when the header is missing or empty.\n */\nfunction readHeader(headers, name) {\n if (!headers)\n return undefined;\n var lower = name.toLowerCase();\n var value = headers[lower];\n if (value === undefined) {\n for (var _i = 0, _a = Object.keys(headers); _i < _a.length; _i++) {\n var key = _a[_i];\n if (key.toLowerCase() === lower) {\n value = headers[key];\n break;\n }\n }\n }\n if (Array.isArray(value))\n value = value[0];\n if (typeof value !== 'string')\n return undefined;\n var trimmed = value.trim();\n return trimmed.length ? trimmed : undefined;\n}\n/**\n * Generates a UUID-like identifier. Prefers Node's `crypto.randomUUID()` when\n * available (Node 14.17+); falls back to a Math.random-based v4-shaped string\n * for older Node versions.\n */\nfunction generateId() {\n if (typeof crypto_1.randomUUID === 'function') {\n try {\n return (0, crypto_1.randomUUID)();\n }\n catch (_e) {\n // fall through to manual generation\n }\n }\n // v4-shaped, not crypto-quality. Acceptable since this is a correlation id,\n // not a security token.\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (ch) {\n var r = (Math.random() * 16) | 0;\n var v = ch === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Returns a unique-per-request id. Reads `x-request-id`, then `request-id`\n * headers; falls back to a generated id when neither is present.\n */\nfunction getOrCreateRequestId(headers) {\n var _a, _b;\n return ((_b = (_a = readHeader(headers, 'x-request-id')) !== null && _a !== void 0 ? _a : readHeader(headers, 'request-id')) !== null && _b !== void 0 ? _b : generateId());\n}\nexports.getOrCreateRequestId = getOrCreateRequestId;\n/**\n * Returns a correlation id that may span multiple requests in a logical trace.\n * Reads `x-correlation-id`, then `x-amzn-trace-id`; falls back to the supplied\n * `requestId` so callers always have both fields populated.\n */\nfunction getOrCreateCorrelationId(headers, requestId) {\n var _a, _b;\n return ((_b = (_a = readHeader(headers, 'x-correlation-id')) !== null && _a !== void 0 ? _a : readHeader(headers, 'x-amzn-trace-id')) !== null && _b !== void 0 ? _b : requestId);\n}\nexports.getOrCreateCorrelationId = getOrCreateCorrelationId;\n/**\n * Convenience helper for framework integrations: read request/correlation ids\n * from the request headers and return both. When no headers contain either\n * value, both ids are generated and `requestId === correlationId`.\n */\nfunction seedRequestEventContext(headers) {\n var requestId = getOrCreateRequestId(headers);\n var correlationId = getOrCreateCorrelationId(headers, requestId);\n return { request_id: requestId, correlation_id: correlationId };\n}\nexports.seedRequestEventContext = seedRequestEventContext;\n/**\n * Starts a high-resolution timer.\n */\nfunction startTimer() {\n return process.hrtime.bigint();\n}\nexports.startTimer = startTimer;\nvar NS_PER_MS = BigInt(1000000);\n/**\n * Returns the integer number of milliseconds elapsed since `start`.\n */\nfunction durationMs(start) {\n var diff = process.hrtime.bigint() - start;\n return Number(diff / NS_PER_MS);\n}\nexports.durationMs = durationMs;\n/**\n * Builds the per-request event payload. `request_id` and `correlation_id` are\n * NOT added here — they live on `eventContext` and are merged onto every event\n * by the client.\n */\nfunction buildRequestEventPayload(input) {\n var payload = {};\n if (input.method !== undefined)\n payload.method = input.method;\n if (input.path !== undefined)\n payload.path = input.path;\n if (input.route !== undefined)\n payload.route = input.route;\n if (input.status !== undefined)\n payload.status = input.status;\n if (input.duration !== undefined)\n payload.duration = input.duration;\n if (input.extra) {\n for (var _i = 0, _a = Object.keys(input.extra); _i < _a.length; _i++) {\n var k = _a[_i];\n if (!Object.prototype.hasOwnProperty.call(payload, k)) {\n payload[k] = input.extra[k];\n }\n }\n }\n return payload;\n}\nexports.buildRequestEventPayload = buildRequestEventPayload;\n//# sourceMappingURL=http_event.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fastifyPlugin = void 0;\nvar core_1 = require(\"@honeybadger-io/core\");\nvar http_event_1 = require(\"./instrumentation/http_event\");\nvar kHbStart = Symbol('honeybadger.start');\n// `fastify-plugin` is an optional peer dependency: only Fastify users need it,\n// so it is resolved lazily when the factory is called (same pattern as the\n// `async_hooks` require in ./async_store.ts).\nfunction requireFastifyPlugin() {\n var _a;\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var fp = require('fastify-plugin');\n return (_a = fp.default) !== null && _a !== void 0 ? _a : fp;\n }\n catch (e) {\n var message = typeof (e === null || e === void 0 ? void 0 : e.message) === 'string' ? e.message : '';\n var isMissing = (e === null || e === void 0 ? void 0 : e.code) === 'MODULE_NOT_FOUND' || (message.includes('Cannot find module') && message.includes('fastify-plugin'));\n if (!isMissing) {\n throw e;\n }\n throw new Error('@honeybadger-io/js: fastifyPlugin requires the `fastify-plugin` package. ' +\n 'Install it in your application: npm install fastify-plugin');\n }\n}\n/**\n * Returns a Fastify plugin bound to the given Honeybadger client.\n *\n * Exposed as a factory (rather than a method on the singleton) so the\n * framework-specific code stays off the client API:\n *\n * const { fastifyPlugin } = require('@honeybadger-io/js/dist/server/fastify')\n * fastify.register(fastifyPlugin(Honeybadger))\n *\n * Requires the `fastify-plugin` package (declared as an optional peer\n * dependency of this package) — the factory throws with install instructions\n * when it cannot be resolved. The returned plugin is wrapped with\n * `fastify-plugin`, so its hooks apply to the calling context rather than\n * being encapsulated.\n *\n * The plugin runs every request inside `client.withRequest(req, ...)`, seeding\n * `request_id` / `correlation_id` on the event context. When\n * `insights.enabled` and `insights.http` are both true it also emits a\n * `request.handled` event per request with method, path, route, status and\n * duration.\n *\n * Supports Fastify 3+.\n */\nfunction fastifyPlugin(client) {\n var fp = requireFastifyPlugin();\n var plugin = function (fastify, _opts, done) {\n fastify.addHook('onRequest', function (req, _reply, hookDone) {\n client.withRequest(req, function () {\n client.setEventContext((0, http_event_1.seedRequestEventContext)(req.headers));\n if (core_1.Util.resolveInsights(client.config).http) {\n req[kHbStart] = (0, http_event_1.startTimer)();\n }\n hookDone();\n });\n });\n fastify.addHook('onResponse', function (req, reply, hookDone) {\n // `withRequest` keys store contents off the request object, so this\n // re-entry shares the contents populated in `onRequest` — the event\n // payload below picks up `request_id` / `correlation_id` (and any\n // context the user set during the route handler).\n client.withRequest(req, function () {\n var _a, _b;\n if (core_1.Util.resolveInsights(client.config).http && req[kHbStart] != null) {\n client.event('request.handled', (0, http_event_1.buildRequestEventPayload)({\n method: req.method,\n path: typeof req.url === 'string' ? req.url.split('?')[0] : req.url,\n route: (_b = (_a = req.routeOptions) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : req.routerPath,\n status: reply.statusCode,\n duration: (0, http_event_1.durationMs)(req[kHbStart]),\n }));\n }\n hookDone();\n });\n });\n done();\n };\n return fp(plugin, { name: '@honeybadger-io/js' });\n}\nexports.fastifyPlugin = fastifyPlugin;\n//# sourceMappingURL=fastify.js.map"],"names":["this","require$$0","util_1","__assign","__awaiter","__generator","require$$1","defaults_1","require$$2","require$$3","require$$4","require$$5","fastifyPlugin_1"],"mappings":"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"}
@@ -575,7 +575,7 @@ var require$$0$1 = /*@__PURE__*/getAugmentedNamespace(stackTraceParser_esm);
575
575
  }
576
576
  else if (isErrorObject(thing)) {
577
577
  var e = thing;
578
- notice = merge(thing, { name: e.name, message: e.message, stack: e.stack, cause: e.cause });
578
+ notice = merge(thing, { name: e.name, message: e.message, stack: e.stack, cause: e.cause, originalError: e });
579
579
  }
580
580
  else if (typeof thing === 'object') {
581
581
  notice = shallowClone(thing);
@@ -955,7 +955,7 @@ var require$$0 = /*@__PURE__*/getAugmentedNamespace(module$1);
955
955
  var defaults = {};
956
956
 
957
957
  Object.defineProperty(defaults, "__esModule", { value: true });
958
- defaults.CONFIG = void 0;
958
+ defaults.BREADCRUMBS_SELECTOR_ATTRIBUTES = defaults.CONFIG = void 0;
959
959
  defaults.CONFIG = {
960
960
  apiKey: null,
961
961
  endpoint: 'https://api.honeybadger.io',
@@ -982,6 +982,8 @@ defaults.CONFIG = {
982
982
  filters: ['creditcard', 'password'],
983
983
  __plugins: [],
984
984
  };
985
+ // Browser-only, so it lives outside CONFIG (which is shared with Node).
986
+ defaults.BREADCRUMBS_SELECTOR_ATTRIBUTES = ['data-hb-name'];
985
987
 
986
988
  var __assign$2 = (commonjsGlobal && commonjsGlobal.__assign) || function () {
987
989
  __assign$2 = Object.assign || function(t) {
@@ -1214,7 +1216,7 @@ var Client = /** @class */ (function () {
1214
1216
  this.__notifier = {
1215
1217
  name: '@honeybadger-io/core',
1216
1218
  url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/core',
1217
- version: '6.12.3'
1219
+ version: '6.15.0'
1218
1220
  };
1219
1221
  this.config = __assign$1(__assign$1({}, defaults_1.CONFIG), opts);
1220
1222
  this.__initStore();
@@ -3277,7 +3279,7 @@ client.CheckInsClient = CheckInsClient;
3277
3279
  var NOTIFIER = {
3278
3280
  name: '@honeybadger-io/js',
3279
3281
  url: 'https://github.com/honeybadger-io/honeybadger-js/tree/master/packages/js',
3280
- version: '6.12.3'
3282
+ version: '6.15.0'
3281
3283
  };
3282
3284
  var userAgent = function () {
3283
3285
  return "Honeybadger JS Server Client ".concat(NOTIFIER.version, ", ").concat(os_1.default.version(), "; ").concat(os_1.default.platform());