@o3r/telemetry 13.5.0-prerelease.9 → 13.6.0-prerelease.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/telemetry",
3
- "version": "13.5.0-prerelease.9",
3
+ "version": "13.6.0-prerelease.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -17,14 +17,13 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "minimist": "^1.2.6",
20
- "ts-node": "~10.9.2",
21
20
  "tslib": "^2.6.2"
22
21
  },
23
22
  "peerDependencies": {
24
23
  "@angular-devkit/architect": ">=0.2000.0 <0.2100.0-0",
25
24
  "@angular-devkit/core": "^20.0.0",
26
25
  "@angular-devkit/schematics": "^20.0.0",
27
- "@o3r/core": "~13.5.0-prerelease.9",
26
+ "@o3r/core": "~13.6.0-prerelease.1",
28
27
  "rxjs": "^7.8.1"
29
28
  },
30
29
  "peerDependenciesMeta": {
@@ -45,21 +44,21 @@
45
44
  }
46
45
  },
47
46
  "devDependencies": {
48
- "@angular-devkit/architect": "~0.2003.11",
49
- "@angular-devkit/core": "~20.3.11",
50
- "@angular-devkit/schematics": "~20.3.11",
47
+ "@angular-devkit/architect": "0.2003.13",
48
+ "@angular-devkit/core": "~20.3.13",
49
+ "@angular-devkit/schematics": "~20.3.13",
51
50
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
52
51
  "@nx/eslint-plugin": "~21.6.0",
53
52
  "@nx/jest": "~21.6.0",
54
53
  "@nx/js": "~21.6.0",
55
- "@o3r/build-helpers": "~13.5.0-prerelease.9",
56
- "@o3r/eslint-plugin": "~13.5.0-prerelease.9",
57
- "@o3r/test-helpers": "~13.5.0-prerelease.9",
54
+ "@o3r/build-helpers": "~13.6.0-prerelease.1",
55
+ "@o3r/eslint-plugin": "~13.6.0-prerelease.1",
56
+ "@o3r/test-helpers": "~13.6.0-prerelease.1",
58
57
  "@stylistic/eslint-plugin": "~5.6.0",
59
- "@types/jest": "~29.5.2",
58
+ "@types/jest": "~30.0.0",
60
59
  "@types/minimist": "^1.2.2",
61
- "@types/node": "~22.18.0",
62
- "@typescript-eslint/parser": "~8.47.0",
60
+ "@types/node": "~24.10.0",
61
+ "@typescript-eslint/parser": "~8.50.0",
63
62
  "angular-eslint": "~20.6.0",
64
63
  "cpy-cli": "^6.0.0",
65
64
  "eslint": "~9.39.0",
@@ -67,22 +66,21 @@
67
66
  "eslint-import-resolver-typescript": "~4.4.0",
68
67
  "eslint-plugin-import": "~2.32.0",
69
68
  "eslint-plugin-import-newlines": "~1.4.0",
70
- "eslint-plugin-jest": "~29.1.0",
69
+ "eslint-plugin-jest": "~29.10.0",
71
70
  "eslint-plugin-jsdoc": "~54.7.0",
72
71
  "eslint-plugin-prefer-arrow": "~1.2.3",
73
72
  "eslint-plugin-unicorn": "~60.0.0",
74
73
  "eslint-plugin-unused-imports": "~4.3.0",
75
74
  "globals": "^16.0.0",
76
- "jest": "~29.7.0",
75
+ "jest": "~30.2.0",
77
76
  "jest-junit": "~16.0.0",
78
- "jest-util": "~29.7.0",
77
+ "jest-util": "~30.2.0",
79
78
  "jsonc-eslint-parser": "~2.4.0",
80
79
  "nx": "~21.6.0",
81
80
  "rxjs": "^7.8.1",
82
81
  "ts-jest": "~29.4.0",
83
- "ts-node": "~10.9.2",
84
82
  "typescript": "~5.9.2",
85
- "typescript-eslint": "~8.47.0"
83
+ "typescript-eslint": "~8.50.0"
86
84
  },
87
85
  "schematics": "./collection.json",
88
86
  "ng-update": {
@@ -0,0 +1,40 @@
1
+ import { type GenAICapabilityCall, type GenAIMetricsEvent, type SendDataFn } from '../sender';
2
+ /** Simple Logger interface */
3
+ interface Logger {
4
+ /** Error message to display */
5
+ error?: (message: string) => void;
6
+ /** Error message to display */
7
+ warn?: (message: string) => void;
8
+ /** Information message to display */
9
+ info?: (message: string) => void;
10
+ /** Debug message message to display */
11
+ debug?: (message: string) => void;
12
+ }
13
+ /** Custom options for the wrapper */
14
+ interface WrapperOptions {
15
+ /** Logger */
16
+ logger?: Logger;
17
+ /** Function to send the data to the server */
18
+ sendData?: SendDataFn;
19
+ /** Path to the workspace */
20
+ workspacePath?: string;
21
+ }
22
+ /**
23
+ * Wrapper for genAI callback function with metrics
24
+ * @param fn
25
+ * @param name
26
+ * @param kind
27
+ * @param options
28
+ */
29
+ export declare function createGenAICallbackWithMetrics<T extends (...args: any[]) => any>(fn: T, name: string, kind: GenAICapabilityCall, options?: WrapperOptions): (...args: Parameters<T>) => Promise<ReturnType<T>>;
30
+ /**
31
+ * Sends event metrics for GenAI features if the user has authorized telemetry collection.
32
+ * This function should be called when initializing GenAI-related features to track usage statistics.
33
+ * @param name
34
+ * @param event
35
+ * @param options
36
+ * @param error
37
+ */
38
+ export declare function sendGenAIEventMetricsIfAuthorized(name: string, event: Exclude<GenAIMetricsEvent, GenAICapabilityCall>, options?: WrapperOptions, error?: any): Promise<void>;
39
+ export {};
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gen-ai/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAEnB,8BAA8B;AAC9B,UAAU,MAAM;IACd,+BAA+B;IAC/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,uCAAuC;IACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qCAAqC;AACrC,UAAU,cAAc;IACtB,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyBD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,IAC1I,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA6B9D;AAED;;;;;;;GAOG;AACH,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,GAAG,iBAclK"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGenAICallbackWithMetrics = createGenAICallbackWithMetrics;
4
+ exports.sendGenAIEventMetricsIfAuthorized = sendGenAIEventMetricsIfAuthorized;
5
+ const tslib_1 = require("tslib");
6
+ const node_fs_1 = require("node:fs");
7
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
8
+ const environment_1 = require("../environment");
9
+ const sender_1 = require("../sender");
10
+ function sendMetricsIfAuthorized(data, logger, sendData, workspacePath = process.cwd(), error) {
11
+ logger.debug?.(JSON.stringify(data, null, 2));
12
+ const packageJsonPath = node_path_1.default.join(workspacePath, 'package.json');
13
+ const packageJson = (0, node_fs_1.existsSync)(packageJsonPath) ? JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, 'utf8')) : {};
14
+ const shouldSendData = !!(((process.env.O3R_METRICS || '').length > 0 ? process.env.O3R_METRICS !== 'false' : undefined)
15
+ ?? packageJson.config?.o3r?.telemetry);
16
+ if (shouldSendData) {
17
+ if (typeof process.env.O3R_METRICS === 'undefined') {
18
+ logger.info?.('Telemetry is globally activated for the project (`config.o3r.telemetry` in package.json). '
19
+ + 'If you personally don\'t want to send telemetry, you can deactivate it by setting `O3R_METRICS` to false in your environment variables, ');
20
+ }
21
+ void sendData(data, logger).catch((e) => {
22
+ // Do not throw error if we don't manage to collect data
23
+ const err = (e instanceof Error ? e : new Error(error));
24
+ logger.error?.(err.stack || err.toString());
25
+ });
26
+ }
27
+ }
28
+ /**
29
+ * Wrapper for genAI callback function with metrics
30
+ * @param fn
31
+ * @param name
32
+ * @param kind
33
+ * @param options
34
+ */
35
+ function createGenAICallbackWithMetrics(fn, name, kind, options) {
36
+ return async (...args) => {
37
+ const logger = options?.logger ?? console;
38
+ const sendData = options?.sendData ?? sender_1.sendData;
39
+ const startTime = Math.floor(performance.now());
40
+ let error;
41
+ try {
42
+ const result = await fn(...args);
43
+ return result;
44
+ }
45
+ catch (e) {
46
+ const err = e instanceof Error ? e : new Error(e.toString());
47
+ error = err.stack || err.toString();
48
+ throw err;
49
+ }
50
+ finally {
51
+ const endTime = Math.floor(performance.now());
52
+ const duration = endTime - startTime;
53
+ logger.info?.(`${name} run in ${duration}ms`);
54
+ const environment = await (0, environment_1.getEnvironmentInfo)();
55
+ const data = {
56
+ environment,
57
+ duration,
58
+ genAI: {
59
+ name,
60
+ kind
61
+ },
62
+ error
63
+ };
64
+ sendMetricsIfAuthorized(data, logger, sendData, options?.workspacePath, error);
65
+ }
66
+ };
67
+ }
68
+ /**
69
+ * Sends event metrics for GenAI features if the user has authorized telemetry collection.
70
+ * This function should be called when initializing GenAI-related features to track usage statistics.
71
+ * @param name
72
+ * @param event
73
+ * @param options
74
+ * @param error
75
+ */
76
+ async function sendGenAIEventMetricsIfAuthorized(name, event, options, error) {
77
+ const logger = options?.logger ?? console;
78
+ const sendData = options?.sendData ?? sender_1.sendData;
79
+ const environment = await (0, environment_1.getEnvironmentInfo)();
80
+ const data = {
81
+ environment,
82
+ duration: 0,
83
+ genAI: {
84
+ name,
85
+ kind: event
86
+ },
87
+ error
88
+ };
89
+ sendMetricsIfAuthorized(data, logger, sendData, options?.workspacePath, error);
90
+ }
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gen-ai/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './builders/index';
2
2
  export * from './cli/index';
3
3
  export * from './environment/index';
4
+ export * from './gen-ai/index';
4
5
  export * from './schematics/index';
5
6
  export * from './sender/index';
6
7
  //# sourceMappingURL=public_api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../src/public_api.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
package/src/public_api.js CHANGED
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./builders/index"), exports);
5
5
  tslib_1.__exportStar(require("./cli/index"), exports);
6
6
  tslib_1.__exportStar(require("./environment/index"), exports);
7
+ tslib_1.__exportStar(require("./gen-ai/index"), exports);
7
8
  tslib_1.__exportStar(require("./schematics/index"), exports);
8
9
  tslib_1.__exportStar(require("./sender/index"), exports);
9
10
  //# sourceMappingURL=public_api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../../src/public_api.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,sDAA4B;AAC5B,8DAAoC;AACpC,6DAAmC;AACnC,yDAA+B"}
1
+ {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../../src/public_api.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,sDAA4B;AAC5B,8DAAoC;AACpC,yDAA+B;AAC/B,6DAAmC;AACnC,yDAA+B"}
@@ -1,4 +1,7 @@
1
1
  import { EnvironmentMetricData } from '../environment';
2
+ /**
3
+ * Base metric data
4
+ */
2
5
  export interface BaseMetricData {
3
6
  /** Environment information */
4
7
  environment: EnvironmentMetricData;
@@ -7,6 +10,9 @@ export interface BaseMetricData {
7
10
  /** Error message */
8
11
  error?: string;
9
12
  }
13
+ /**
14
+ * Builder metric data
15
+ */
10
16
  export interface BuilderMetricData extends BaseMetricData {
11
17
  /** Builder information */
12
18
  builder: {
@@ -25,6 +31,9 @@ export interface BuilderMetricData extends BaseMetricData {
25
31
  };
26
32
  };
27
33
  }
34
+ /**
35
+ * Schematic metric data
36
+ */
28
37
  export interface SchematicMetricData extends BaseMetricData {
29
38
  /** Schematic information */
30
39
  schematic: {
@@ -36,6 +45,9 @@ export interface SchematicMetricData extends BaseMetricData {
36
45
  interactive: boolean;
37
46
  };
38
47
  }
48
+ /**
49
+ * CLI metric data
50
+ */
39
51
  export interface CliMetricData extends BaseMetricData {
40
52
  /** CLI information */
41
53
  cli: {
@@ -45,6 +57,31 @@ export interface CliMetricData extends BaseMetricData {
45
57
  options?: any;
46
58
  };
47
59
  }
60
+ type GenAICapability = 'prompt' | 'tool' | 'resource';
61
+ /**
62
+ * GenAI event types for calls
63
+ */
64
+ export type GenAICapabilityCall = `${GenAICapability}Call`;
65
+ type GenAICapabilityRegistration = `${GenAICapability}Registration`;
66
+ /**
67
+ * GenAI event types
68
+ */
69
+ export type GenAIMetricsEvent = 'registrationStart' | 'registrationEnd' | GenAICapabilityRegistration | GenAICapabilityCall;
70
+ /**
71
+ * Gen AI metric data
72
+ */
73
+ export interface GenAIMetricData extends BaseMetricData {
74
+ /** GenAI information */
75
+ genAI: {
76
+ /** Name of the tool / prompt / resource / server */
77
+ name: string;
78
+ /** Event type */
79
+ kind: GenAIMetricsEvent;
80
+ };
81
+ }
82
+ /**
83
+ * VSCode metric data
84
+ */
48
85
  export interface VSCodeMetricData extends Omit<BaseMetricData, 'duration'> {
49
86
  /** Name of the event */
50
87
  eventName: string;
@@ -54,14 +91,14 @@ export interface VSCodeMetricData extends Omit<BaseMetricData, 'duration'> {
54
91
  /**
55
92
  * Different kinds of metrics
56
93
  */
57
- export type MetricData = BuilderMetricData | SchematicMetricData | CliMetricData | VSCodeMetricData;
94
+ export type MetricData = BuilderMetricData | SchematicMetricData | CliMetricData | GenAIMetricData | VSCodeMetricData;
58
95
  /**
59
96
  * Function sending metrics to the server
60
97
  * @param data Metrics to report
61
98
  * @param logger Optional logger to provide to the function
62
99
  */
63
100
  export type SendDataFn = (data: MetricData, logger?: {
64
- error: (msg: string) => void;
101
+ error?: (msg: string) => void;
65
102
  }) => Promise<void>;
66
103
  /**
67
104
  * Send metric to a Amadeus Log Server
@@ -69,4 +106,5 @@ export type SendDataFn = (data: MetricData, logger?: {
69
106
  * @param logger Optional logger to provide to the function
70
107
  */
71
108
  export declare const sendData: SendDataFn;
109
+ export {};
72
110
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sender/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,WAAW,EAAE,qBAAqB,CAAC;IACnC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,0BAA0B;IAC1B,OAAO,EAAE;QACP,mBAAmB;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,sBAAsB;QACtB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,yBAAyB;QACzB,MAAM,CAAC,EAAE;YACP,kBAAkB;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,0BAA0B;YAC1B,WAAW,EAAE,MAAM,CAAC;YACpB,gCAAgC;YAChC,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,4BAA4B;IAC5B,SAAS,EAAE;QACT,qDAAqD;QACrD,IAAI,EAAE,MAAM,CAAC;QACb,wBAAwB;QACxB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,uCAAuC;QACvC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,sBAAsB;IACtB,GAAG,EAAE;QACH,sBAAsB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IACxE,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEpG;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAExG;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,UA0BtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sender/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,WAAW,EAAE,qBAAqB,CAAC;IACnC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,0BAA0B;IAC1B,OAAO,EAAE;QACP,mBAAmB;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,sBAAsB;QACtB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,yBAAyB;QACzB,MAAM,CAAC,EAAE;YACP,kBAAkB;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,0BAA0B;YAC1B,WAAW,EAAE,MAAM,CAAC;YACpB,gCAAgC;YAChC,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,4BAA4B;IAC5B,SAAS,EAAE;QACT,qDAAqD;QACrD,IAAI,EAAE,MAAM,CAAC;QACb,wBAAwB;QACxB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,uCAAuC;QACvC,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,sBAAsB;IACtB,GAAG,EAAE;QACH,sBAAsB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;CACH;AAED,KAAK,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,GAAG,eAAe,MAAM,CAAC;AAE3D,KAAK,2BAA2B,GAAG,GAAG,eAAe,cAAc,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,2BAA2B,GAAG,mBAAmB,CAAC;AAE5H;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,wBAAwB;IACxB,KAAK,EAAE;QACL,oDAAoD;QACpD,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB;QACjB,IAAI,EAAE,iBAAiB,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IACxE,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEtH;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzG;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,UA0BtB,CAAC"}
@@ -27,7 +27,7 @@ const sendData = (data, logger) => {
27
27
  body
28
28
  }).catch((e) => {
29
29
  const err = (e instanceof Error ? e : new Error(e));
30
- logger?.error(err.stack || err.toString());
30
+ logger?.error?.(err.stack || err.toString());
31
31
  });
32
32
  }, 1).unref();
33
33
  return Promise.resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sender/index.ts"],"names":[],"mappings":";;;AAyEA;;;;GAIG;AACI,MAAM,QAAQ,GAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;IACnD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,CAAC;oBACT,eAAe,EAAE,OAAO;oBACxB,OAAO;iBACR,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,KAAK,CAAC,yDAAyD,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sender/index.ts"],"names":[],"mappings":";;;AAmHA;;;;GAIG;AACI,MAAM,QAAQ,GAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;IACnD,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACpB,QAAQ,EAAE,CAAC;oBACT,eAAe,EAAE,OAAO;oBACxB,OAAO;iBACR,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,KAAK,CAAC,yDAAyD,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB"}