@mecanizou/telemetry-hub 1.4.2 → 1.5.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [1.5.0](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.4.2...v1.5.0) (2026-03-19)
2
+
3
+
4
+ ### Features
5
+
6
+ * Implemented logic on telemetry middleware to allow functions to use mecaniError as a parameter to determine which message should be launched ([c506b58](https://github.com/mecanizou-eco/telemetry-hub/commit/c506b589134789f93d68091659d8e9a4a93a6983))
7
+
8
+ ## [Unreleased]
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **sst/middy/middleware:** corrige `origin is not defined` no hook `onError` quando `checkMecaniError` é true ao repassar `origin` para `buildErrorContext` na trilha de `MecaniError`.
14
+
1
15
  ## [1.4.2](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.4.1...v1.4.2) (2026-03-17)
2
16
 
3
17
 
@@ -1,5 +1,6 @@
1
1
  import middy from '@middy/core';
2
2
  interface MiddyMiddlewareOptions {
3
+ checkMecaniError: boolean;
3
4
  }
4
5
  export declare const middyTelemetryMiddleware: (options?: MiddyMiddlewareOptions) => middy.MiddlewareObj;
5
6
  export {};
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.middyTelemetryMiddleware = void 0;
13
13
  const api_1 = require("@opentelemetry/api");
14
+ const mecanizou_errors_1 = require("mecanizou-errors");
14
15
  const node_perf_hooks_1 = require("node:perf_hooks");
15
16
  const telemetry_1 = require("../telemetry");
16
17
  const extraction_1 = require("../extraction");
@@ -107,7 +108,7 @@ const middyTelemetryMiddleware = (options) => ({
107
108
  }
108
109
  }),
109
110
  onError: (request) => __awaiter(void 0, void 0, void 0, function* () {
110
- var _a, _b, _c, _d, _e, _f, _g;
111
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
111
112
  try {
112
113
  const otelData = request.context.otel;
113
114
  if (!otelData)
@@ -117,12 +118,12 @@ const middyTelemetryMiddleware = (options) => ({
117
118
  if (error) {
118
119
  spanResult.setError(error);
119
120
  }
120
- const functionName = ((_a = spanResult.span.attributes) === null || _a === void 0 ? void 0 : _a['function']['name']) || 'unknown';
121
- const requestId = ((_b = spanResult.span.attributes) === null || _b === void 0 ? void 0 : _b['requestId']) || 'unknown';
122
- const routeKey = ((_c = spanResult.span.attributes) === null || _c === void 0 ? void 0 : _c['http']['routeKey']) || 'unknown';
121
+ const functionName = ((_b = (_a = spanResult.span.attributes) === null || _a === void 0 ? void 0 : _a['function']) === null || _b === void 0 ? void 0 : _b['name']) || 'unknown';
122
+ const requestId = ((_c = spanResult.span.attributes) === null || _c === void 0 ? void 0 : _c['requestId']) || 'unknown';
123
+ const routeKey = ((_e = (_d = spanResult.span.attributes) === null || _d === void 0 ? void 0 : _d['http']) === null || _e === void 0 ? void 0 : _e['routeKey']) || 'unknown';
123
124
  failureCounter.add(1, {
124
125
  origin,
125
- error_type: ((_d = error === null || error === void 0 ? void 0 : error.constructor) === null || _d === void 0 ? void 0 : _d.name) || 'UnknownError',
126
+ error_type: ((_f = error === null || error === void 0 ? void 0 : error.constructor) === null || _f === void 0 ? void 0 : _f.name) || 'UnknownError',
126
127
  functionName: functionName,
127
128
  requestId: requestId,
128
129
  routeKey: routeKey,
@@ -143,24 +144,38 @@ const middyTelemetryMiddleware = (options) => ({
143
144
  scopeAttributes: spanResult.span.attributes,
144
145
  forceNewInstance: true,
145
146
  });
146
- yield standardLogger.logError({
147
- message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
148
- error: error || undefined,
149
- environment,
150
- execution: {
151
- awsRequestId: (_f = (_e = spanResult.span.attributes) === null || _e === void 0 ? void 0 : _e['function']) === null || _f === void 0 ? void 0 : _f['aws_request_id'],
152
- origin,
153
- routeKey: routeKey,
154
- requestId: requestId,
155
- },
156
- performance: {
147
+ if (!(options === null || options === void 0 ? void 0 : options.checkMecaniError)) {
148
+ yield standardLogger.logError({
149
+ message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
150
+ error: error || undefined,
151
+ environment,
152
+ execution: {
153
+ awsRequestId: (_h = (_g = spanResult.span.attributes) === null || _g === void 0 ? void 0 : _g['function']) === null || _h === void 0 ? void 0 : _h['aws_request_id'],
154
+ origin,
155
+ routeKey: routeKey,
156
+ requestId: requestId,
157
+ },
158
+ performance: {
159
+ durationMs,
160
+ success: false,
161
+ },
162
+ context: {
163
+ errorType: (_j = error === null || error === void 0 ? void 0 : error.constructor) === null || _j === void 0 ? void 0 : _j.name,
164
+ },
165
+ });
166
+ }
167
+ else if (error) {
168
+ yield launchMecaniErrorLogMessage({
169
+ error,
170
+ standardLogger,
171
+ environment,
172
+ spanResult,
157
173
  durationMs,
158
- success: false,
159
- },
160
- context: {
161
- errorType: (_g = error === null || error === void 0 ? void 0 : error.constructor) === null || _g === void 0 ? void 0 : _g.name,
162
- },
163
- });
174
+ requestId,
175
+ routeKey,
176
+ origin
177
+ });
178
+ }
164
179
  spanResult.end();
165
180
  yield (0, telemetry_1.forceFlush)();
166
181
  }
@@ -170,4 +185,64 @@ const middyTelemetryMiddleware = (options) => ({
170
185
  }),
171
186
  });
172
187
  exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQscURBQThDO0FBQzlDLDRDQUFnRjtBQUNoRiw4Q0FBeUQ7QUFJbEQsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLDZCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBQSxxQ0FBd0IsRUFBQyxPQUFPLENBQVEsQ0FBQztZQUc1RCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixHQUFFLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsaUNBQ3RDLFVBQVUsS0FDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsRUFBRTtvQkFDVCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7b0JBQ3JDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7aUJBQ2hDLElBQ0QsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbEQsMkJBQTJCLEVBQzNCO2dCQUNFLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxlQUFTLENBQUMs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Q1YsTUFBQSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxVQUFVLENBQUMsMENBQUcsZ0JBQWdCLENBQUM7b0JBQzlELE1BQU07b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFNBQVMsRUFBRSxTQUFTO2lCQUNyQjtnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsVUFBVTtvQkFDVixPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsMENBQUUsSUFBSTtpQkFDcEM7YUFDRixDQUFDLENBQUM7WUFHSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFBLHNCQUFVLEdBQUUsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNkRBQTZELEVBQzdELEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQztBQWhPVSxRQUFBLHdCQUF3Qiw0QkFnT2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1pZGR5IGZyb20gJ0BtaWRkeS9jb3JlJztcbmltcG9ydCB7IG1ldHJpY3MsIFZhbHVlVHlwZSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ25vZGU6cGVyZl9ob29rcyc7XG5pbXBvcnQgeyBmb3JjZUZsdXNoLCBnZXRTdGFuZGFyZExvZ2dlciwgZ2V0U3RhbmRhcmRUcmFjZXIgfSBmcm9tICcuLi90ZWxlbWV0cnknO1xuaW1wb3J0IHsgZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vZXh0cmFjdGlvbic7XG5cbmludGVyZmFjZSBNaWRkeU1pZGRsZXdhcmVPcHRpb25zIHt9XG5cbmV4cG9ydCBjb25zdCBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgPSAoXG4gIG9wdGlvbnM/OiBNaWRkeU1pZGRsZXdhcmVPcHRpb25zXG4pOiBtaWRkeS5NaWRkbGV3YXJlT2JqID0+ICh7XG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuXG4gICAgICAvLyBVc2FyIFN0YW5kYXJkVHJhY2VyIHBhcmEgY3JpYXIgc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xuICAgICAgY29uc3Qgc3RhbmRhcmRUcmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHN0YW5kYXJkVHJhY2VyLnN0YXJ0U3Bhbih7XG4gICAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgIHNwYW5OYW1lOiBhdHRyaWJ1dGVzLmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGF3c1JlcXVlc3RJZDogYXR0cmlidXRlcy5pbnZvY2F0aW9uSWQsXG4gICAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgICByb3V0ZUtleTogYXR0cmlidXRlcy5yb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1ldGVyID0gbWV0cmljcy5nZXRNZXRlcihhdHRyaWJ1dGVzLm9yaWdpbik7XG5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXG4gICAgICAgICdsYW1iZGFfZXhlY3V0aW9uX2R1cmF0aW9uJyxcbiAgICAgICAge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGVtcG8gdG90YWwgZGUgZXhlY3XDp8OjbyBkbyBMYW1iZGEgZW0gbXMnLFxuICAgICAgICAgIHVuaXQ6ICdtcycsXG4gICAgICAgICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGUuRE9VQkxFLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY29uc3Qgc3VjY2Vzc0NvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9zdWNjZXNzZnVsJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIG9wZXJhw6fDtWVzIGJlbS1zdWNlZGlkYXMnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX2ZhaWxlZCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBjb20gZmFsaGEnLFxuICAgICAgfSk7XG5cbiAgICAgIChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsID0ge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBtZXRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lOiBhdHRyaWJ1dGVzLnNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogYXR0cmlidXRlcy5zdGFnZSxcbiAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgcm91dGVLZXk6IGF0dHJpYnV0ZXMucm91dGVLZXksXG4gICAgICAgIHJlcXVlc3RJZDogYXR0cmlidXRlcy5yZXF1ZXN0SWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnW1RlbGVtZXRyeV0gRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgfSxcblxuICBhZnRlcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBzdWNjZXNzQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9ID0gb3RlbERhdGE7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuICAgICAgY29uc3Qgb3JpZ2luID0gYXR0cmlidXRlcy5vcmlnaW4gfHwgJ3Vua25vd24nO1xuXG4gICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIHN1Y2Vzc28gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXG4gICAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnbmFtZSddO1xuICAgICAgY29uc3Qgcm91dGVLZXkgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydodHRwJ10/Llsncm91dGVLZXknXTtcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2V4ZWN1dGlvbiddPy5bJ3JlcXVlc3RJZCddO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIHN1Y2Vzc29cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoe1xuICAgICAgICBzY29wZUF0dHJpYnV0ZXM6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzLFxuICAgICAgICBmb3JjZU5ld0luc3RhbmNlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oe1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdbVGVsZW1ldHJ5XSBFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYWZ0ZXIgaG9vazonLFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgb25FcnJvcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9yaWdpbixcbiAgICAgIH0gPSBvdGVsRGF0YTtcbiAgICAgIGNvbnN0IGVycm9yID0gcmVxdWVzdC5lcnJvcjtcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHNwYW5SZXN1bHQuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddWyduYW1lJ10gfHwgJ3Vua25vd24nO1xuICAgICAgY29uc3QgcmVxdWVzdElkID0gc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsncmVxdWVzdElkJ10gfHwgJ3Vua25vd24nO1xuICAgICAgY29uc3Qgcm91dGVLZXkgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydodHRwJ11bJ3JvdXRlS2V5J10gfHwgJ3Vua25vd24nO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIGZhaWx1cmVDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZXJyb3JfdHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lIHx8ICdVbmtub3duRXJyb3InLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudE5hbWU6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBMb2cgZXN0cnV0dXJhZG8gZGUgZXJyb1xuICAgICAgY29uc3Qgc3RhbmRhcmRMb2dnZXIgPSBnZXRTdGFuZGFyZExvZ2dlcih7XG4gICAgICAgIHNjb3BlQXR0cmlidXRlczogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXMsXG4gICAgICAgIGZvcmNlTmV3SW5zdGFuY2U6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3Ioe1xuICAgICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6XG4gICAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ2F3c19yZXF1ZXN0X2lkJ10sXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdbVGVsZW1ldHJ5XSBFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgb25FcnJvciBob29rOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
188
+ const buildErrorContext = ({ message, error, environment, spanResult, durationMs, requestId, routeKey, errorEnum, origin, }) => {
189
+ var _a, _b, _c;
190
+ return ({
191
+ message,
192
+ error: error || undefined,
193
+ environment,
194
+ execution: {
195
+ awsRequestId: (_b = (_a = spanResult.span.attributes) === null || _a === void 0 ? void 0 : _a['function']) === null || _b === void 0 ? void 0 : _b['aws_request_id'],
196
+ origin,
197
+ routeKey,
198
+ requestId,
199
+ },
200
+ performance: {
201
+ durationMs,
202
+ success: false,
203
+ },
204
+ context: {
205
+ errorType: (_c = error === null || error === void 0 ? void 0 : error.constructor) === null || _c === void 0 ? void 0 : _c.name,
206
+ errorEnum,
207
+ },
208
+ });
209
+ };
210
+ const isMecaniError = (error) => {
211
+ const isWarning = (error === null || error === void 0 ? void 0 : error.name) === 'Warning';
212
+ const isException = (error === null || error === void 0 ? void 0 : error.name) === 'Exception';
213
+ return isWarning || isException || (0, mecanizou_errors_1.isMecaniError)(error);
214
+ };
215
+ const getErrorMessageAndEnum = (error) => {
216
+ if (isMecaniError(error)) {
217
+ const mecaniError = error;
218
+ return {
219
+ message: mecaniError.errorDetails,
220
+ errorEnum: mecaniError.errorEnum,
221
+ };
222
+ }
223
+ return {
224
+ message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
225
+ errorEnum: 'UNDEFINED_ERROR',
226
+ };
227
+ };
228
+ const launchMecaniErrorLogMessage = (_a) => __awaiter(void 0, [_a], void 0, function* ({ error, standardLogger, environment, spanResult, durationMs, requestId, routeKey, origin }) {
229
+ const { message, errorEnum } = getErrorMessageAndEnum(error);
230
+ const context = buildErrorContext({
231
+ message,
232
+ error,
233
+ environment,
234
+ spanResult,
235
+ durationMs,
236
+ requestId,
237
+ routeKey,
238
+ errorEnum,
239
+ origin,
240
+ });
241
+ if ((error === null || error === void 0 ? void 0 : error.name) === 'Warning') {
242
+ return yield standardLogger.logWarn(context);
243
+ }
244
+ else {
245
+ return yield standardLogger.logError(context);
246
+ }
247
+ });
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQsdURBQXlGO0FBQ3pGLHFEQUE4QztBQUM5Qyw0Q0FBZ0Y7QUFDaEYsOENBQXlEO0FBT2xELE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsT0FBZ0MsRUFDWCxFQUFFLENBQUMsQ0FBQztJQUN6QixNQUFNLEVBQUUsQ0FBTyxPQUFPLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUM7WUFDSCxNQUFNLFNBQVMsR0FBRyw2QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRXBDLE1BQU0sVUFBVSxHQUFHLElBQUEscUNBQXdCLEVBQUMsT0FBTyxDQUFRLENBQUM7WUFHNUQsTUFBTSxjQUFjLEdBQUcsSUFBQSw2QkFBaUIsR0FBRSxDQUFDO1lBQzNDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLGlDQUN0QyxVQUFVLEtBQ2IsUUFBUSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUM3QixTQUFTLEVBQUU7b0JBQ1QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUFZO29CQUNyQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07b0JBQ3pCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDN0IsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO2lCQUNoQyxJQUNELENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxhQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVsRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQ2xELDJCQUEyQixFQUMzQjtnQkFDRSxXQUFXLEVBQUUseUNBQXlDO2dCQUN0RCxJQUFJLEVBQUUsSUFBSTtnQkFDVixTQUFTLEVB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LE9BQU8sRUFBRSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLEtBQUksd0JBQXdCO1FBQ25ELFNBQVMsRUFBRSxpQkFBaUI7S0FDN0IsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sMkJBQTJCLEdBQUcsS0FrQmhCLEVBQUUsNENBbEJxQixFQUN6QyxLQUFLLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQVVMO0lBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU3RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxPQUFPO1FBQ1AsS0FBSztRQUNMLFdBQVc7UUFDWCxVQUFVO1FBQ1YsVUFBVTtRQUNWLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULE1BQU07S0FDUCxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksTUFBSyxTQUFTLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFDSCxDQUFDLENBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgaXNNZWNhbmlFcnJvciBhcyBtZWNhbmlFcnJvclZlcmlmaWNhdGlvbiwgTWVjYW5pRXJyb3IgfSBmcm9tICdtZWNhbml6b3UtZXJyb3JzJztcbmltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSAnbm9kZTpwZXJmX2hvb2tzJztcbmltcG9ydCB7IGZvcmNlRmx1c2gsIGdldFN0YW5kYXJkTG9nZ2VyLCBnZXRTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL3RlbGVtZXRyeSc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi9leHRyYWN0aW9uJztcbmltcG9ydCB7IFN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZFNwYW5SZXN1bHQgfSBmcm9tICcuLi8uLi9jb3JlJztcblxuaW50ZXJmYWNlIE1pZGR5TWlkZGxld2FyZU9wdGlvbnMge1xuICBjaGVja01lY2FuaUVycm9yOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgPSAoXG4gIG9wdGlvbnM/OiBNaWRkeU1pZGRsZXdhcmVPcHRpb25zXG4pOiBtaWRkeS5NaWRkbGV3YXJlT2JqID0+ICh7XG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuXG4gICAgICAvLyBVc2FyIFN0YW5kYXJkVHJhY2VyIHBhcmEgY3JpYXIgc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xuICAgICAgY29uc3Qgc3RhbmRhcmRUcmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHN0YW5kYXJkVHJhY2VyLnN0YXJ0U3Bhbih7XG4gICAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgIHNwYW5OYW1lOiBhdHRyaWJ1dGVzLmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGF3c1JlcXVlc3RJZDogYXR0cmlidXRlcy5pbnZvY2F0aW9uSWQsXG4gICAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgICByb3V0ZUtleTogYXR0cmlidXRlcy5yb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1ldGVyID0gbWV0cmljcy5nZXRNZXRlcihhdHRyaWJ1dGVzLm9yaWdpbik7XG5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXG4gICAgICAgICdsYW1iZGFfZXhlY3V0aW9uX2R1cmF0aW9uJyxcbiAgICAgICAge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGVtcG8gdG90YWwgZGUgZXhlY3XDp8OjbyBkbyBMYW1iZGEgZW0gbXMnLFxuICAgICAgICAgIHVuaXQ6ICdtcycsXG4gICAgICAgICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGUuRE9VQkxFLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY29uc3Qgc3VjY2Vzc0NvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9zdWNjZXNzZnVsJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIG9wZXJhw6fDtWVzIGJlbS1zdWNlZGlkYXMnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX2ZhaWxlZCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBjb20gZmFsaGEnLFxuICAgICAgfSk7XG5cbiAgICAgIChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsID0ge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBtZXRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lOiBhdHRyaWJ1dGVzLnNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogYXR0cmlidXRlcy5zdGFnZSxcbiAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgcm91dGVLZXk6IGF0dHJpYnV0ZXMucm91dGVLZXksXG4gICAgICAgIHJlcXVlc3RJZDogYXR0cmlidXRlcy5yZXF1ZXN0SWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnW1RlbGVtZXRyeV0gRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgfSxcblxuICBhZnRlcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBzdWNjZXNzQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9ID0gb3RlbERhdGE7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuICAgICAgY29uc3Qgb3JpZ2luID0gYXR0cmlidXRlcy5vcmlnaW4gfHwgJ3Vua25vd24nO1xuXG4gICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIHN1Y2Vzc28gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXG4gICAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnbmFtZSddO1xuICAgICAgY29uc3Qgcm91dGVLZXkgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydodHRwJ10/Llsncm91dGVLZXknXTtcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2V4ZWN1dGlvbiddPy5bJ3JlcXVlc3RJZCddO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIHN1Y2Vzc29cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoe1xuICAgICAgICBzY29wZUF0dHJpYnV0ZXM6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzLFxuICAgICAgICBmb3JjZU5ld0luc3RhbmNlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oe1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdbVGVsZW1ldHJ5XSBFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYWZ0ZXIgaG9vazonLFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgb25FcnJvcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9yaWdpbixcbiAgICAgIH0gPSBvdGVsRGF0YTtcbiAgICAgIGNvbnN0IGVycm9yID0gcmVxdWVzdC5lcnJvcjtcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHNwYW5SZXN1bHQuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ25hbWUnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydyZXF1ZXN0SWQnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByb3V0ZUtleSA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2h0dHAnXT8uWydyb3V0ZUtleSddIHx8ICd1bmtub3duJztcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBmYWlsdXJlQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGVycm9yX3R5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCAnVW5rbm93bkVycm9yJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIGVycm9cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoe1xuICAgICAgICBzY29wZUF0dHJpYnV0ZXM6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzLFxuICAgICAgICBmb3JjZU5ld0luc3RhbmNlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghb3B0aW9ucz8uY2hlY2tNZWNhbmlFcnJvcikge1xuICAgICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcih7XG4gICAgICAgICAgbWVzc2FnZTogZXJyb3I/Lm1lc3NhZ2UgfHwgJ1Vua25vd24gZXJyb3Igb2NjdXJyZWQnLFxuICAgICAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgICBhd3NSZXF1ZXN0SWQ6XG4gICAgICAgICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnYXdzX3JlcXVlc3RfaWQnXSxcbiAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGVycm9yVHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChlcnJvcikge1xuICAgICAgICBhd2FpdCBsYXVuY2hNZWNhbmlFcnJvckxvZ01lc3NhZ2UoeyBcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgICBzdGFuZGFyZExvZ2dlcixcbiAgICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgcmVxdWVzdElkLFxuICAgICAgICAgIHJvdXRlS2V5LFxuICAgICAgICAgIG9yaWdpblxuICAgICAgICB9KVxuICAgICAgfVxuXG5cbiAgICAgIC8vIEZpbmFsaXphciBzcGFuXG4gICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgYXdhaXQgZm9yY2VGbHVzaCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnW1RlbGVtZXRyeV0gRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIG9uRXJyb3IgaG9vazonLFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gIH0sXG59KTtcblxuY29uc3QgYnVpbGRFcnJvckNvbnRleHQgPSAoeyBcbiAgbWVzc2FnZSxcbiAgZXJyb3IsXG4gIGVudmlyb25tZW50LFxuICBzcGFuUmVzdWx0LFxuICBkdXJhdGlvbk1zLFxuICByZXF1ZXN0SWQsXG4gIHJvdXRlS2V5LFxuICBlcnJvckVudW0sXG4gIG9yaWdpbixcbn06IHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBlcnJvcjogRXJyb3I7XG4gIGVycm9yRW51bTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBzcGFuUmVzdWx0OiBhbnk7XG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgcm91dGVLZXk6IGFueTtcbiAgcmVxdWVzdElkOiBhbnk7XG4gIG9yaWdpbjogc3RyaW5nO1xufSkgPT4gKHtcbiAgbWVzc2FnZSxcbiAgZXJyb3I6IGVycm9yIHx8IHVuZGVmaW5lZCxcbiAgZW52aXJvbm1lbnQsXG4gIGV4ZWN1dGlvbjoge1xuICAgIGF3c1JlcXVlc3RJZDpcbiAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnYXdzX3JlcXVlc3RfaWQnXSxcbiAgICBvcmlnaW4sXG4gICAgcm91dGVLZXksXG4gICAgcmVxdWVzdElkLFxuICB9LFxuICBwZXJmb3JtYW5jZToge1xuICAgIGR1cmF0aW9uTXMsXG4gICAgc3VjY2VzczogZmFsc2UsXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICBlcnJvclR5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSxcbiAgICBlcnJvckVudW0sXG4gIH0sXG59KTtcblxuY29uc3QgaXNNZWNhbmlFcnJvciA9IChlcnJvcjogRXJyb3IpOiBib29sZWFuID0+IHtcbiAgY29uc3QgaXNXYXJuaW5nID0gZXJyb3I/Lm5hbWUgPT09ICdXYXJuaW5nJ1xuICBjb25zdCBpc0V4Y2VwdGlvbiA9IGVycm9yPy5uYW1lID09PSAnRXhjZXB0aW9uJ1xuXG4gIHJldHVybiBpc1dhcm5pbmcgfHwgaXNFeGNlcHRpb24gfHwgbWVjYW5pRXJyb3JWZXJpZmljYXRpb24oZXJyb3IpXG59XG5cbmNvbnN0IGdldEVycm9yTWVzc2FnZUFuZEVudW0gPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGlmIChpc01lY2FuaUVycm9yKGVycm9yKSkge1xuICAgIGNvbnN0IG1lY2FuaUVycm9yID0gZXJyb3IgYXMgTWVjYW5pRXJyb3I7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZTogbWVjYW5pRXJyb3IuZXJyb3JEZXRhaWxzLFxuICAgICAgZXJyb3JFbnVtOiBtZWNhbmlFcnJvci5lcnJvckVudW0sXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgZXJyb3JFbnVtOiAnVU5ERUZJTkVEX0VSUk9SJyxcbiAgfVxufVxuXG5jb25zdCBsYXVuY2hNZWNhbmlFcnJvckxvZ01lc3NhZ2UgPSBhc3luYyAoeyBcbiAgZXJyb3IsXG4gIHN0YW5kYXJkTG9nZ2VyLFxuICBlbnZpcm9ubWVudCxcbiAgc3BhblJlc3VsdCxcbiAgZHVyYXRpb25NcyxcbiAgcmVxdWVzdElkLFxuICByb3V0ZUtleSxcbiAgb3JpZ2luXG59OiB7XG4gIHN0YW5kYXJkTG9nZ2VyOiBTdGFuZGFyZExvZ2dlclxuICBlcnJvcjogRXJyb3I7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIHNwYW5SZXN1bHQ6IGFueTtcbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICByb3V0ZUtleTogYW55O1xuICByZXF1ZXN0SWQ6IGFueTtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgXG4gIGNvbnN0IHsgbWVzc2FnZSwgZXJyb3JFbnVtIH0gPSBnZXRFcnJvck1lc3NhZ2VBbmRFbnVtKGVycm9yKTtcblxuICBjb25zdCBjb250ZXh0ID0gYnVpbGRFcnJvckNvbnRleHQoe1xuICAgIG1lc3NhZ2UsXG4gICAgZXJyb3IsXG4gICAgZW52aXJvbm1lbnQsXG4gICAgc3BhblJlc3VsdCxcbiAgICBkdXJhdGlvbk1zLFxuICAgIHJlcXVlc3RJZCxcbiAgICByb3V0ZUtleSxcbiAgICBlcnJvckVudW0sXG4gICAgb3JpZ2luLFxuICB9KTtcblxuICBpZiAoZXJyb3I/Lm5hbWUgPT09ICdXYXJuaW5nJykge1xuICAgIHJldHVybiBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dXYXJuKGNvbnRleHQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihjb250ZXh0KTtcbiAgfVxufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mecanizou/telemetry-hub",
3
- "version": "1.4.2",
3
+ "version": "1.5.0",
4
4
  "description": "Mecanizou telemetry lib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,6 +26,7 @@
26
26
  "eslint-plugin-prettier": "^5.5.4",
27
27
  "lint-staged": "^13.3.0",
28
28
  "prettier": "^3.6.2",
29
+ "mecanizou-errors": "^1.1.0",
29
30
  "semantic-release": "^25.0.2",
30
31
  "typescript": "^5.9.3",
31
32
  "vitest": "^4.0.13"