@o3r/telemetry 14.0.0-next.7 → 14.0.0-next.9
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 +10 -10
- package/src/gen-ai/index.d.ts +40 -0
- package/src/gen-ai/index.d.ts.map +1 -0
- package/src/gen-ai/index.js +91 -0
- package/src/gen-ai/index.js.map +1 -0
- package/src/public_api.d.ts +1 -0
- package/src/public_api.d.ts.map +1 -1
- package/src/public_api.js +1 -0
- package/src/public_api.js.map +1 -1
- package/src/sender/index.d.ts +40 -2
- package/src/sender/index.d.ts.map +1 -1
- package/src/sender/index.js +1 -1
- package/src/sender/index.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/telemetry",
|
|
3
|
-
"version": "14.0.0-next.
|
|
3
|
+
"version": "14.0.0-next.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@angular-devkit/architect": ">=0.2000.0 <0.2100.0-0",
|
|
24
24
|
"@angular-devkit/core": "^20.0.0",
|
|
25
25
|
"@angular-devkit/schematics": "^20.0.0",
|
|
26
|
-
"@o3r/core": "~14.0.0-next.
|
|
26
|
+
"@o3r/core": "~14.0.0-next.9",
|
|
27
27
|
"rxjs": "^7.8.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependenciesMeta": {
|
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
"@nx/eslint-plugin": "~21.6.0",
|
|
52
52
|
"@nx/jest": "~21.6.0",
|
|
53
53
|
"@nx/js": "~21.6.0",
|
|
54
|
-
"@o3r/build-helpers": "~14.0.0-next.
|
|
55
|
-
"@o3r/eslint-plugin": "~14.0.0-next.
|
|
56
|
-
"@o3r/test-helpers": "~14.0.0-next.
|
|
54
|
+
"@o3r/build-helpers": "~14.0.0-next.9",
|
|
55
|
+
"@o3r/eslint-plugin": "~14.0.0-next.9",
|
|
56
|
+
"@o3r/test-helpers": "~14.0.0-next.9",
|
|
57
57
|
"@stylistic/eslint-plugin": "~5.6.0",
|
|
58
58
|
"@types/jest": "~30.0.0",
|
|
59
59
|
"@types/minimist": "^1.2.2",
|
|
60
60
|
"@types/node": "~24.10.0",
|
|
61
|
-
"@typescript-eslint/parser": "~8.
|
|
61
|
+
"@typescript-eslint/parser": "~8.51.0",
|
|
62
62
|
"angular-eslint": "~20.6.0",
|
|
63
63
|
"cpy-cli": "^6.0.0",
|
|
64
64
|
"eslint": "~9.39.0",
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"eslint-import-resolver-typescript": "~4.4.0",
|
|
67
67
|
"eslint-plugin-import": "~2.32.0",
|
|
68
68
|
"eslint-plugin-import-newlines": "~1.4.0",
|
|
69
|
-
"eslint-plugin-jest": "~29.
|
|
70
|
-
"eslint-plugin-jsdoc": "~
|
|
69
|
+
"eslint-plugin-jest": "~29.11.0",
|
|
70
|
+
"eslint-plugin-jsdoc": "~61.5.0",
|
|
71
71
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
72
|
-
"eslint-plugin-unicorn": "~
|
|
72
|
+
"eslint-plugin-unicorn": "~62.0.0",
|
|
73
73
|
"eslint-plugin-unused-imports": "~4.3.0",
|
|
74
74
|
"globals": "^16.0.0",
|
|
75
75
|
"jest": "~30.2.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"rxjs": "^7.8.1",
|
|
81
81
|
"ts-jest": "~29.4.0",
|
|
82
82
|
"typescript": "~5.9.2",
|
|
83
|
-
"typescript-eslint": "~8.
|
|
83
|
+
"typescript-eslint": "~8.51.0"
|
|
84
84
|
},
|
|
85
85
|
"schematics": "./collection.json",
|
|
86
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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"}
|
package/src/public_api.d.ts
CHANGED
package/src/public_api.d.ts.map
CHANGED
|
@@ -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
|
package/src/public_api.js.map
CHANGED
|
@@ -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"}
|
package/src/sender/index.d.ts
CHANGED
|
@@ -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
|
|
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,uDAAuD;QACvD,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;
|
|
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,uDAAuD;QACvD,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"}
|
package/src/sender/index.js
CHANGED
|
@@ -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();
|
package/src/sender/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sender/index.ts"],"names":[],"mappings":";;;
|
|
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"}
|