@trigger.dev/core 3.0.0-beta.5 → 3.0.0-beta.51
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/dist/api-Pl9fxB8v.d.mts +13879 -0
- package/dist/api-sNoooMbT.d.ts +13879 -0
- package/dist/catalog-H7yFiZ60.d.mts +202 -0
- package/dist/catalog-h79CG5Wy.d.ts +202 -0
- package/dist/common-CLW82lkt.d.mts +1423 -0
- package/dist/common-CLW82lkt.d.ts +1423 -0
- package/dist/{eventFilterMatches-2kHImluE.d.mts → eventFilter-66NaBAMi.d.mts} +1 -3
- package/dist/{eventFilterMatches-2kHImluE.d.ts → eventFilter-66NaBAMi.d.ts} +1 -3
- package/dist/eventFilterMatches.d.mts +6 -0
- package/dist/eventFilterMatches.d.ts +6 -0
- package/dist/eventFilterMatches.js +165 -0
- package/dist/eventFilterMatches.js.map +1 -0
- package/dist/eventFilterMatches.mjs +163 -0
- package/dist/eventFilterMatches.mjs.map +1 -0
- package/dist/index.d.mts +14 -16657
- package/dist/index.d.ts +14 -16657
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -2
- package/dist/index.mjs.map +1 -1
- package/dist/json-DBPEJQRe.d.mts +16 -0
- package/dist/json-DBPEJQRe.d.ts +16 -0
- package/dist/manager-KvCabW1a.d.mts +18 -0
- package/dist/manager-OBA35PzR.d.ts +18 -0
- package/dist/messages-JvHJ83wv.d.mts +19428 -0
- package/dist/messages-JvHJ83wv.d.ts +19428 -0
- package/dist/replacements.d.mts +22 -0
- package/dist/replacements.d.ts +22 -0
- package/dist/replacements.js +33 -0
- package/dist/replacements.js.map +1 -0
- package/dist/replacements.mjs +28 -0
- package/dist/replacements.mjs.map +1 -0
- package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
- package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
- package/dist/requestFilterMatches.d.mts +13 -0
- package/dist/requestFilterMatches.d.ts +13 -0
- package/dist/requestFilterMatches.js +238 -0
- package/dist/requestFilterMatches.js.map +1 -0
- package/dist/requestFilterMatches.mjs +235 -0
- package/dist/requestFilterMatches.mjs.map +1 -0
- package/dist/retry.d.mts +10 -0
- package/dist/retry.d.ts +10 -0
- package/dist/retry.js +100 -0
- package/dist/retry.js.map +1 -0
- package/dist/retry.mjs +97 -0
- package/dist/retry.mjs.map +1 -0
- package/dist/schemas/index.d.mts +2611 -0
- package/dist/schemas/index.d.ts +2611 -0
- package/dist/schemas/index.js +1630 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +1463 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/schemas-C9ssfehv.d.mts +2568 -0
- package/dist/schemas-C9ssfehv.d.ts +2568 -0
- package/dist/taskLogger-CzADe4je.d.ts +33 -0
- package/dist/taskLogger-r_AFTX45.d.mts +33 -0
- package/dist/tracer-N0p2Fuuv.d.mts +23 -0
- package/dist/tracer-N0p2Fuuv.d.ts +23 -0
- package/dist/types.d.mts +11 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +3 -0
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +7 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +33 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +30 -0
- package/dist/utils.mjs.map +1 -0
- package/dist/v3/dev/index.d.mts +29 -0
- package/dist/v3/dev/index.d.ts +29 -0
- package/dist/v3/dev/index.js +93 -0
- package/dist/v3/dev/index.js.map +1 -0
- package/dist/v3/dev/index.mjs +91 -0
- package/dist/v3/dev/index.mjs.map +1 -0
- package/dist/v3/errors.d.mts +39 -0
- package/dist/v3/errors.d.ts +39 -0
- package/dist/v3/errors.js +204 -0
- package/dist/v3/errors.js.map +1 -0
- package/dist/v3/errors.mjs +195 -0
- package/dist/v3/errors.mjs.map +1 -0
- package/dist/v3/index.d.mts +445 -20508
- package/dist/v3/index.d.ts +445 -20508
- package/dist/v3/index.js +2843 -2884
- package/dist/v3/index.js.map +1 -1
- package/dist/v3/index.mjs +2785 -2856
- package/dist/v3/index.mjs.map +1 -1
- package/dist/v3/logger-api.d.mts +24 -0
- package/dist/v3/logger-api.d.ts +24 -0
- package/dist/v3/logger-api.js +118 -0
- package/dist/v3/logger-api.js.map +1 -0
- package/dist/v3/logger-api.mjs +116 -0
- package/dist/v3/logger-api.mjs.map +1 -0
- package/dist/v3/otel/index.js +119 -53
- package/dist/v3/otel/index.js.map +1 -1
- package/dist/v3/otel/index.mjs +119 -53
- package/dist/v3/otel/index.mjs.map +1 -1
- package/dist/v3/prod/index.d.mts +46 -0
- package/dist/v3/prod/index.d.ts +46 -0
- package/dist/v3/prod/index.js +180 -0
- package/dist/v3/prod/index.js.map +1 -0
- package/dist/v3/prod/index.mjs +178 -0
- package/dist/v3/prod/index.mjs.map +1 -0
- package/dist/v3/schemas/index.d.mts +4807 -0
- package/dist/v3/schemas/index.d.ts +4807 -0
- package/dist/v3/schemas/index.js +2054 -0
- package/dist/v3/schemas/index.js.map +1 -0
- package/dist/v3/schemas/index.mjs +1913 -0
- package/dist/v3/schemas/index.mjs.map +1 -0
- package/dist/v3/semanticInternalAttributes.d.mts +56 -0
- package/dist/v3/semanticInternalAttributes.d.ts +56 -0
- package/dist/v3/semanticInternalAttributes.js +61 -0
- package/dist/v3/semanticInternalAttributes.js.map +1 -0
- package/dist/v3/semanticInternalAttributes.mjs +59 -0
- package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
- package/dist/v3/utils/durations.d.mts +15 -0
- package/dist/v3/utils/durations.d.ts +15 -0
- package/dist/v3/utils/durations.js +93 -0
- package/dist/v3/utils/durations.js.map +1 -0
- package/dist/v3/utils/durations.mjs +82 -0
- package/dist/v3/utils/durations.mjs.map +1 -0
- package/dist/v3/utils/flattenAttributes.d.mts +8 -0
- package/dist/v3/utils/flattenAttributes.d.ts +8 -0
- package/dist/v3/utils/flattenAttributes.js +131 -0
- package/dist/v3/utils/flattenAttributes.js.map +1 -0
- package/dist/v3/utils/flattenAttributes.mjs +126 -0
- package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
- package/dist/v3/utils/ioSerialization.d.mts +21 -0
- package/dist/v3/utils/ioSerialization.d.ts +21 -0
- package/dist/v3/utils/ioSerialization.js +2392 -0
- package/dist/v3/utils/ioSerialization.js.map +1 -0
- package/dist/v3/utils/ioSerialization.mjs +2383 -0
- package/dist/v3/utils/ioSerialization.mjs.map +1 -0
- package/dist/v3/utils/omit.d.mts +3 -0
- package/dist/v3/utils/omit.d.ts +3 -0
- package/dist/v3/utils/omit.js +20 -0
- package/dist/v3/utils/omit.js.map +1 -0
- package/dist/v3/utils/omit.mjs +18 -0
- package/dist/v3/utils/omit.mjs.map +1 -0
- package/dist/v3/utils/retries.d.mts +46 -0
- package/dist/v3/utils/retries.d.ts +46 -0
- package/dist/v3/utils/retries.js +118 -0
- package/dist/v3/utils/retries.js.map +1 -0
- package/dist/v3/utils/retries.mjs +113 -0
- package/dist/v3/utils/retries.mjs.map +1 -0
- package/dist/v3/utils/structuredLogger.d.mts +31 -0
- package/dist/v3/utils/structuredLogger.d.ts +31 -0
- package/dist/v3/utils/structuredLogger.js +88 -0
- package/dist/v3/utils/structuredLogger.js.map +1 -0
- package/dist/v3/utils/structuredLogger.mjs +86 -0
- package/dist/v3/utils/structuredLogger.mjs.map +1 -0
- package/dist/v3/utils/timers.d.mts +6 -0
- package/dist/v3/utils/timers.d.ts +6 -0
- package/dist/v3/utils/timers.js +31 -0
- package/dist/v3/utils/timers.js.map +1 -0
- package/dist/v3/utils/timers.mjs +28 -0
- package/dist/v3/utils/timers.mjs.map +1 -0
- package/dist/v3/workers/index.d.mts +144 -0
- package/dist/v3/workers/index.d.ts +144 -0
- package/dist/v3/workers/index.js +3708 -0
- package/dist/v3/workers/index.js.map +1 -0
- package/dist/v3/workers/index.mjs +3689 -0
- package/dist/v3/workers/index.mjs.map +1 -0
- package/dist/v3/zodIpc.d.mts +32 -0
- package/dist/v3/zodIpc.d.ts +32 -0
- package/dist/v3/zodIpc.js +268 -0
- package/dist/v3/zodIpc.js.map +1 -0
- package/dist/v3/zodIpc.mjs +266 -0
- package/dist/v3/zodIpc.mjs.map +1 -0
- package/dist/v3/zodMessageHandler.d.mts +82 -0
- package/dist/v3/zodMessageHandler.d.ts +82 -0
- package/dist/v3/zodMessageHandler.js +222 -0
- package/dist/v3/zodMessageHandler.js.map +1 -0
- package/dist/v3/zodMessageHandler.mjs +217 -0
- package/dist/v3/zodMessageHandler.mjs.map +1 -0
- package/dist/v3/zodNamespace.d.mts +3663 -0
- package/dist/v3/zodNamespace.d.ts +3663 -0
- package/dist/v3/zodNamespace.js +397 -0
- package/dist/v3/zodNamespace.js.map +1 -0
- package/dist/v3/zodNamespace.mjs +395 -0
- package/dist/v3/zodNamespace.mjs.map +1 -0
- package/dist/v3/zodSocket.d.mts +93 -0
- package/dist/v3/zodSocket.d.ts +93 -0
- package/dist/v3/zodSocket.js +350 -0
- package/dist/v3/zodSocket.js.map +1 -0
- package/dist/v3/zodSocket.mjs +346 -0
- package/dist/v3/zodSocket.mjs.map +1 -0
- package/dist/v3/zodfetch.d.mts +219 -0
- package/dist/v3/zodfetch.d.ts +219 -0
- package/dist/v3/zodfetch.js +834 -0
- package/dist/v3/zodfetch.js.map +1 -0
- package/dist/v3/zodfetch.mjs +811 -0
- package/dist/v3/zodfetch.mjs.map +1 -0
- package/dist/versions.d.mts +11 -0
- package/dist/versions.d.ts +11 -0
- package/dist/versions.js +31 -0
- package/dist/versions.js.map +1 -0
- package/dist/versions.mjs +27 -0
- package/dist/versions.mjs.map +1 -0
- package/package.json +223 -5
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { T as TaskLogger } from '../taskLogger-r_AFTX45.mjs';
|
|
2
|
+
import { Span } from '@opentelemetry/api';
|
|
3
|
+
import '@opentelemetry/api-logs';
|
|
4
|
+
import '../tracer-N0p2Fuuv.mjs';
|
|
5
|
+
|
|
6
|
+
declare class LoggerAPI implements TaskLogger {
|
|
7
|
+
#private;
|
|
8
|
+
private static _instance?;
|
|
9
|
+
private constructor();
|
|
10
|
+
static getInstance(): LoggerAPI;
|
|
11
|
+
disable(): void;
|
|
12
|
+
setGlobalTaskLogger(taskLogger: TaskLogger): boolean;
|
|
13
|
+
debug(message: string, metadata?: Record<string, unknown>): void;
|
|
14
|
+
log(message: string, metadata?: Record<string, unknown>): void;
|
|
15
|
+
info(message: string, metadata?: Record<string, unknown>): void;
|
|
16
|
+
warn(message: string, metadata?: Record<string, unknown>): void;
|
|
17
|
+
error(message: string, metadata?: Record<string, unknown>): void;
|
|
18
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Entrypoint for logger API */
|
|
22
|
+
declare const logger: LoggerAPI;
|
|
23
|
+
|
|
24
|
+
export { logger };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { T as TaskLogger } from '../taskLogger-CzADe4je.js';
|
|
2
|
+
import { Span } from '@opentelemetry/api';
|
|
3
|
+
import '@opentelemetry/api-logs';
|
|
4
|
+
import '../tracer-N0p2Fuuv.js';
|
|
5
|
+
|
|
6
|
+
declare class LoggerAPI implements TaskLogger {
|
|
7
|
+
#private;
|
|
8
|
+
private static _instance?;
|
|
9
|
+
private constructor();
|
|
10
|
+
static getInstance(): LoggerAPI;
|
|
11
|
+
disable(): void;
|
|
12
|
+
setGlobalTaskLogger(taskLogger: TaskLogger): boolean;
|
|
13
|
+
debug(message: string, metadata?: Record<string, unknown>): void;
|
|
14
|
+
log(message: string, metadata?: Record<string, unknown>): void;
|
|
15
|
+
info(message: string, metadata?: Record<string, unknown>): void;
|
|
16
|
+
warn(message: string, metadata?: Record<string, unknown>): void;
|
|
17
|
+
error(message: string, metadata?: Record<string, unknown>): void;
|
|
18
|
+
trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Entrypoint for logger API */
|
|
22
|
+
declare const logger: LoggerAPI;
|
|
23
|
+
|
|
24
|
+
export { logger };
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('@opentelemetry/api-logs');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __accessCheck = (obj, member, msg) => {
|
|
8
|
+
if (!member.has(obj))
|
|
9
|
+
throw TypeError("Cannot " + msg);
|
|
10
|
+
};
|
|
11
|
+
var __privateAdd = (obj, member, value) => {
|
|
12
|
+
if (member.has(obj))
|
|
13
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
14
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
15
|
+
};
|
|
16
|
+
var __privateMethod = (obj, member, method) => {
|
|
17
|
+
__accessCheck(obj, member, "access private method");
|
|
18
|
+
return method;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// src/v3/utils/platform.ts
|
|
22
|
+
var _globalThis = typeof globalThis === "object" ? globalThis : global;
|
|
23
|
+
|
|
24
|
+
// src/v3/utils/globals.ts
|
|
25
|
+
var GLOBAL_TRIGGER_DOT_DEV_KEY = Symbol.for(`dev.trigger.ts.api`);
|
|
26
|
+
var _global = _globalThis;
|
|
27
|
+
function registerGlobal(type, instance, allowOverride = false) {
|
|
28
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] ?? {};
|
|
29
|
+
if (!allowOverride && api[type]) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
api[type] = instance;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
__name(registerGlobal, "registerGlobal");
|
|
36
|
+
function getGlobal(type) {
|
|
37
|
+
return _global[GLOBAL_TRIGGER_DOT_DEV_KEY]?.[type];
|
|
38
|
+
}
|
|
39
|
+
__name(getGlobal, "getGlobal");
|
|
40
|
+
function unregisterGlobal(type) {
|
|
41
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY];
|
|
42
|
+
if (api) {
|
|
43
|
+
delete api[type];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
__name(unregisterGlobal, "unregisterGlobal");
|
|
47
|
+
|
|
48
|
+
// src/v3/logger/taskLogger.ts
|
|
49
|
+
var _NoopTaskLogger = class _NoopTaskLogger {
|
|
50
|
+
debug() {
|
|
51
|
+
}
|
|
52
|
+
log() {
|
|
53
|
+
}
|
|
54
|
+
info() {
|
|
55
|
+
}
|
|
56
|
+
warn() {
|
|
57
|
+
}
|
|
58
|
+
error() {
|
|
59
|
+
}
|
|
60
|
+
trace(name, fn) {
|
|
61
|
+
return fn({});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
__name(_NoopTaskLogger, "NoopTaskLogger");
|
|
65
|
+
var NoopTaskLogger = _NoopTaskLogger;
|
|
66
|
+
|
|
67
|
+
// src/v3/logger/index.ts
|
|
68
|
+
var API_NAME = "logger";
|
|
69
|
+
var NOOP_TASK_LOGGER = new NoopTaskLogger();
|
|
70
|
+
var _getTaskLogger, getTaskLogger_fn;
|
|
71
|
+
var _LoggerAPI = class _LoggerAPI {
|
|
72
|
+
constructor() {
|
|
73
|
+
__privateAdd(this, _getTaskLogger);
|
|
74
|
+
}
|
|
75
|
+
static getInstance() {
|
|
76
|
+
if (!this._instance) {
|
|
77
|
+
this._instance = new _LoggerAPI();
|
|
78
|
+
}
|
|
79
|
+
return this._instance;
|
|
80
|
+
}
|
|
81
|
+
disable() {
|
|
82
|
+
unregisterGlobal(API_NAME);
|
|
83
|
+
}
|
|
84
|
+
setGlobalTaskLogger(taskLogger) {
|
|
85
|
+
return registerGlobal(API_NAME, taskLogger);
|
|
86
|
+
}
|
|
87
|
+
debug(message, metadata) {
|
|
88
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).debug(message, metadata);
|
|
89
|
+
}
|
|
90
|
+
log(message, metadata) {
|
|
91
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).log(message, metadata);
|
|
92
|
+
}
|
|
93
|
+
info(message, metadata) {
|
|
94
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).info(message, metadata);
|
|
95
|
+
}
|
|
96
|
+
warn(message, metadata) {
|
|
97
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).warn(message, metadata);
|
|
98
|
+
}
|
|
99
|
+
error(message, metadata) {
|
|
100
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).error(message, metadata);
|
|
101
|
+
}
|
|
102
|
+
trace(name, fn) {
|
|
103
|
+
return __privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).trace(name, fn);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
_getTaskLogger = new WeakSet();
|
|
107
|
+
getTaskLogger_fn = /* @__PURE__ */ __name(function() {
|
|
108
|
+
return getGlobal(API_NAME) ?? NOOP_TASK_LOGGER;
|
|
109
|
+
}, "#getTaskLogger");
|
|
110
|
+
__name(_LoggerAPI, "LoggerAPI");
|
|
111
|
+
var LoggerAPI = _LoggerAPI;
|
|
112
|
+
|
|
113
|
+
// src/v3/logger-api.ts
|
|
114
|
+
var logger = LoggerAPI.getInstance();
|
|
115
|
+
|
|
116
|
+
exports.logger = logger;
|
|
117
|
+
//# sourceMappingURL=out.js.map
|
|
118
|
+
//# sourceMappingURL=logger-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/v3/logger/taskLogger.ts","../../src/v3/utils/platform.ts","../../src/v3/utils/globals.ts","../../src/v3/logger/index.ts","../../src/v3/logger-api.ts"],"names":["SeverityNumber","_globalThis","globalThis","global","GLOBAL_TRIGGER_DOT_DEV_KEY","Symbol","for","_global","registerGlobal","type","instance","allowOverride","api","err","Error","getGlobal","unregisterGlobal","NoopTaskLogger","debug","log","info","warn","error","trace","name","fn","API_NAME","NOOP_TASK_LOGGER","LoggerAPI","getInstance","_instance","disable","setGlobalTaskLogger","taskLogger","message","metadata","logger"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAiBA,sBAAsB;;;ACDhC,IAAMC,cAAc,OAAOC,eAAe,WAAWA,aAAaC;;;ACQzE,IAAMC,6BAA6BC,OAAOC,IAAI,oBAAoB;AAElE,IAAMC,UAAUN;AAET,SAASO,eACdC,MACAC,UACAC,gBAAgB,OACP;AACT,QAAMC,MAAOL,QAAQH,0BAAAA,IAA8BG,QAAQH,0BAAAA,KAA+B,CAAC;AAE3F,MAAI,CAACO,iBAAiBC,IAAIH,IAAAA,GAAO;AAE/B,UAAMI,MAAM,IAAIC,MAAM,yDAAyDL,IAAAA,EAAM;AACrF,WAAO;EACT;AAEAG,MAAIH,IAAAA,IAAQC;AAEZ,SAAO;AACT;AAhBgBF;AAkBT,SAASO,UACdN,MAC0C;AAC1C,SAAOF,QAAQH,0BAAAA,IAA8BK,IAAAA;AAC/C;AAJgBM;AAMT,SAASC,iBAAiBP,MAAoC;AACnE,QAAMG,MAAML,QAAQH,0BAAAA;AAEpB,MAAIQ,KAAK;AACP,WAAOA,IAAIH,IAAAA;EACb;AACF;AANgBO;;;AF6DT,IAAMC,kBAAN,MAAMA,gBAAAA;EACXC,QAAQ;EAAC;EACTC,MAAM;EAAC;EACPC,OAAO;EAAC;EACRC,OAAO;EAAC;EACRC,QAAQ;EAAC;EACTC,MAASC,MAAcC,IAA4C;AACjE,WAAOA,GAAG,CAAC,CAAA;EACb;AACF;AATaR;AAAN,IAAMA,iBAAN;;;AG7FP,IAAMS,WAAW;AAEjB,IAAMC,mBAAmB,IAAIV,eAAAA;AAN7B;AAQO,IAAMW,aAAN,MAAMA,WAAAA;EAGX,cAAsB;AA0CtB;EA1CuB;EAEvB,OAAcC,cAAyB;AACrC,QAAI,CAAC,KAAKC,WAAW;AACnB,WAAKA,YAAY,IAAIF,WAAAA;IACvB;AAEA,WAAO,KAAKE;EACd;EAEOC,UAAU;AACff,qBAAiBU,QAAAA;EACnB;EAEOM,oBAAoBC,YAAiC;AAC1D,WAAOzB,eAAekB,UAAUO,UAAAA;EAClC;EAEOf,MAAMgB,SAAiBC,UAAoC;AAChE,0BAAK,kCAAL,WAAsBjB,MAAMgB,SAASC,QAAAA;EACvC;EAEOhB,IAAIe,SAAiBC,UAAoC;AAC9D,0BAAK,kCAAL,WAAsBhB,IAAIe,SAASC,QAAAA;EACrC;EAEOf,KAAKc,SAAiBC,UAAoC;AAC/D,0BAAK,kCAAL,WAAsBf,KAAKc,SAASC,QAAAA;EACtC;EAEOd,KAAKa,SAAiBC,UAAoC;AAC/D,0BAAK,kCAAL,WAAsBd,KAAKa,SAASC,QAAAA;EACtC;EAEOb,MAAMY,SAAiBC,UAAoC;AAChE,0BAAK,kCAAL,WAAsBb,MAAMY,SAASC,QAAAA;EACvC;EAEOZ,MAASC,MAAcC,IAA4C;AACxE,WAAO,sBAAK,kCAAL,WAAsBF,MAAMC,MAAMC,EAAAA;EAC3C;AAKF;AAHE;mBAAc,kCAAe;AAC3B,SAAOV,UAAUW,QAAAA,KAAaC;AAChC,GAFc;AA7CHC;AAAN,IAAMA,YAAN;;;ACJA,IAAMQ,SAASR,UAAUC,YAAW","sourcesContent":["import { Attributes, Span, SpanOptions } from \"@opentelemetry/api\";\nimport { Logger, SeverityNumber } from \"@opentelemetry/api-logs\";\nimport { iconStringForSeverity } from \"../icons\";\nimport { SemanticInternalAttributes } from \"../semanticInternalAttributes\";\nimport { TriggerTracer } from \"../tracer\";\nimport { flattenAttributes } from \"../utils/flattenAttributes\";\nimport { ClockTime } from \"../clock/clock\";\nimport { clock } from \"../clock-api\";\n\nexport type LogLevel = \"none\" | \"error\" | \"warn\" | \"info\" | \"debug\" | \"log\";\n\nexport const logLevels: Array<LogLevel> = [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\nexport type TaskLoggerConfig = {\n logger: Logger;\n tracer: TriggerTracer;\n level: LogLevel;\n};\n\nexport interface TaskLogger {\n debug(message: string, properties?: Record<string, unknown>): void;\n log(message: string, properties?: Record<string, unknown>): void;\n info(message: string, properties?: Record<string, unknown>): void;\n warn(message: string, properties?: Record<string, unknown>): void;\n error(message: string, properties?: Record<string, unknown>): void;\n trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;\n}\n\nexport class OtelTaskLogger implements TaskLogger {\n private readonly _level: number;\n\n constructor(private readonly _config: TaskLoggerConfig) {\n this._level = logLevels.indexOf(_config.level);\n }\n\n debug(message: string, properties?: Record<string, unknown>) {\n if (this._level < 4) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"debug\", SeverityNumber.DEBUG, properties);\n }\n\n log(message: string, properties?: Record<string, unknown>) {\n if (this._level < 3) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"log\", SeverityNumber.INFO, properties);\n }\n\n info(message: string, properties?: Record<string, unknown>) {\n if (this._level < 3) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"info\", SeverityNumber.INFO, properties);\n }\n\n warn(message: string, properties?: Record<string, unknown>) {\n if (this._level < 2) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"warn\", SeverityNumber.WARN, properties);\n }\n\n error(message: string, properties?: Record<string, unknown>) {\n if (this._level < 1) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"error\", SeverityNumber.ERROR, properties);\n }\n\n #emitLog(\n message: string,\n timestamp: ClockTime,\n severityText: string,\n severityNumber: SeverityNumber,\n properties?: Record<string, unknown>\n ) {\n let attributes: Attributes = { ...flattenAttributes(safeJsonProcess(properties)) };\n\n const icon = iconStringForSeverity(severityNumber);\n if (icon !== undefined) {\n attributes[SemanticInternalAttributes.STYLE_ICON] = icon;\n }\n\n this._config.logger.emit({\n severityNumber,\n severityText,\n body: message,\n attributes,\n timestamp,\n });\n }\n\n trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T> {\n return this._config.tracer.startActiveSpan(name, fn, options);\n }\n\n #getTimestampInHrTime(): ClockTime {\n return clock.preciseNow();\n }\n}\n\nexport class NoopTaskLogger implements TaskLogger {\n debug() {}\n log() {}\n info() {}\n warn() {}\n error() {}\n trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T> {\n return fn({} as Span);\n }\n}\n\nfunction safeJsonProcess(value?: Record<string, unknown>): Record<string, unknown> | undefined {\n try {\n return JSON.parse(JSON.stringify(value, jsonErrorReplacer));\n } catch {\n return value;\n }\n}\n\nfunction jsonErrorReplacer(key: string, value: unknown) {\n if (value instanceof Error) {\n return {\n name: value.name,\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value;\n}\n","export const _globalThis = typeof globalThis === \"object\" ? globalThis : global;\n","import { ApiClientConfiguration } from \"../apiClientManager/types\";\nimport { Clock } from \"../clock/clock\";\nimport type { RuntimeManager } from \"../runtime/manager\";\nimport { TaskCatalog } from \"../task-catalog/catalog\";\nimport { TaskContext } from \"../taskContext/types\";\nimport { UsageManager } from \"../usage/types\";\nimport { _globalThis } from \"./platform\";\n\nconst GLOBAL_TRIGGER_DOT_DEV_KEY = Symbol.for(`dev.trigger.ts.api`);\n\nconst _global = _globalThis as TriggerDotDevGlobal;\n\nexport function registerGlobal<Type extends keyof TriggerDotDevGlobalAPI>(\n type: Type,\n instance: TriggerDotDevGlobalAPI[Type],\n allowOverride = false\n): boolean {\n const api = (_global[GLOBAL_TRIGGER_DOT_DEV_KEY] = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] ?? {});\n\n if (!allowOverride && api[type]) {\n // already registered an API of this type\n const err = new Error(`trigger.dev: Attempted duplicate registration of API: ${type}`);\n return false;\n }\n\n api[type] = instance;\n\n return true;\n}\n\nexport function getGlobal<Type extends keyof TriggerDotDevGlobalAPI>(\n type: Type\n): TriggerDotDevGlobalAPI[Type] | undefined {\n return _global[GLOBAL_TRIGGER_DOT_DEV_KEY]?.[type];\n}\n\nexport function unregisterGlobal(type: keyof TriggerDotDevGlobalAPI) {\n const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY];\n\n if (api) {\n delete api[type];\n }\n}\n\ntype TriggerDotDevGlobal = {\n [GLOBAL_TRIGGER_DOT_DEV_KEY]?: TriggerDotDevGlobalAPI;\n};\n\ntype TriggerDotDevGlobalAPI = {\n runtime?: RuntimeManager;\n logger?: any;\n clock?: Clock;\n usage?: UsageManager;\n [\"task-catalog\"]?: TaskCatalog;\n [\"task-context\"]?: TaskContext;\n [\"api-client\"]?: ApiClientConfiguration;\n};\n","import { NoopTaskLogger, TaskLogger } from \"./taskLogger\";\nimport { getGlobal, registerGlobal, unregisterGlobal } from \"../utils/globals\";\nimport { Span } from \"@opentelemetry/api\";\n\nconst API_NAME = \"logger\";\n\nconst NOOP_TASK_LOGGER = new NoopTaskLogger();\n\nexport class LoggerAPI implements TaskLogger {\n private static _instance?: LoggerAPI;\n\n private constructor() {}\n\n public static getInstance(): LoggerAPI {\n if (!this._instance) {\n this._instance = new LoggerAPI();\n }\n\n return this._instance;\n }\n\n public disable() {\n unregisterGlobal(API_NAME);\n }\n\n public setGlobalTaskLogger(taskLogger: TaskLogger): boolean {\n return registerGlobal(API_NAME, taskLogger);\n }\n\n public debug(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().debug(message, metadata);\n }\n\n public log(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().log(message, metadata);\n }\n\n public info(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().info(message, metadata);\n }\n\n public warn(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().warn(message, metadata);\n }\n\n public error(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().error(message, metadata);\n }\n\n public trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T> {\n return this.#getTaskLogger().trace(name, fn);\n }\n\n #getTaskLogger(): TaskLogger {\n return getGlobal(API_NAME) ?? NOOP_TASK_LOGGER;\n }\n}\n","// Split module-level variable definition into separate files to allow\n// tree-shaking on each api instance.\nimport { LoggerAPI } from \"./logger\";\n/** Entrypoint for logger API */\nexport const logger = LoggerAPI.getInstance();\n"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import '@opentelemetry/api-logs';
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
var __accessCheck = (obj, member, msg) => {
|
|
6
|
+
if (!member.has(obj))
|
|
7
|
+
throw TypeError("Cannot " + msg);
|
|
8
|
+
};
|
|
9
|
+
var __privateAdd = (obj, member, value) => {
|
|
10
|
+
if (member.has(obj))
|
|
11
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
12
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
13
|
+
};
|
|
14
|
+
var __privateMethod = (obj, member, method) => {
|
|
15
|
+
__accessCheck(obj, member, "access private method");
|
|
16
|
+
return method;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// src/v3/utils/platform.ts
|
|
20
|
+
var _globalThis = typeof globalThis === "object" ? globalThis : global;
|
|
21
|
+
|
|
22
|
+
// src/v3/utils/globals.ts
|
|
23
|
+
var GLOBAL_TRIGGER_DOT_DEV_KEY = Symbol.for(`dev.trigger.ts.api`);
|
|
24
|
+
var _global = _globalThis;
|
|
25
|
+
function registerGlobal(type, instance, allowOverride = false) {
|
|
26
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] ?? {};
|
|
27
|
+
if (!allowOverride && api[type]) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
api[type] = instance;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
__name(registerGlobal, "registerGlobal");
|
|
34
|
+
function getGlobal(type) {
|
|
35
|
+
return _global[GLOBAL_TRIGGER_DOT_DEV_KEY]?.[type];
|
|
36
|
+
}
|
|
37
|
+
__name(getGlobal, "getGlobal");
|
|
38
|
+
function unregisterGlobal(type) {
|
|
39
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY];
|
|
40
|
+
if (api) {
|
|
41
|
+
delete api[type];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
__name(unregisterGlobal, "unregisterGlobal");
|
|
45
|
+
|
|
46
|
+
// src/v3/logger/taskLogger.ts
|
|
47
|
+
var _NoopTaskLogger = class _NoopTaskLogger {
|
|
48
|
+
debug() {
|
|
49
|
+
}
|
|
50
|
+
log() {
|
|
51
|
+
}
|
|
52
|
+
info() {
|
|
53
|
+
}
|
|
54
|
+
warn() {
|
|
55
|
+
}
|
|
56
|
+
error() {
|
|
57
|
+
}
|
|
58
|
+
trace(name, fn) {
|
|
59
|
+
return fn({});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
__name(_NoopTaskLogger, "NoopTaskLogger");
|
|
63
|
+
var NoopTaskLogger = _NoopTaskLogger;
|
|
64
|
+
|
|
65
|
+
// src/v3/logger/index.ts
|
|
66
|
+
var API_NAME = "logger";
|
|
67
|
+
var NOOP_TASK_LOGGER = new NoopTaskLogger();
|
|
68
|
+
var _getTaskLogger, getTaskLogger_fn;
|
|
69
|
+
var _LoggerAPI = class _LoggerAPI {
|
|
70
|
+
constructor() {
|
|
71
|
+
__privateAdd(this, _getTaskLogger);
|
|
72
|
+
}
|
|
73
|
+
static getInstance() {
|
|
74
|
+
if (!this._instance) {
|
|
75
|
+
this._instance = new _LoggerAPI();
|
|
76
|
+
}
|
|
77
|
+
return this._instance;
|
|
78
|
+
}
|
|
79
|
+
disable() {
|
|
80
|
+
unregisterGlobal(API_NAME);
|
|
81
|
+
}
|
|
82
|
+
setGlobalTaskLogger(taskLogger) {
|
|
83
|
+
return registerGlobal(API_NAME, taskLogger);
|
|
84
|
+
}
|
|
85
|
+
debug(message, metadata) {
|
|
86
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).debug(message, metadata);
|
|
87
|
+
}
|
|
88
|
+
log(message, metadata) {
|
|
89
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).log(message, metadata);
|
|
90
|
+
}
|
|
91
|
+
info(message, metadata) {
|
|
92
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).info(message, metadata);
|
|
93
|
+
}
|
|
94
|
+
warn(message, metadata) {
|
|
95
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).warn(message, metadata);
|
|
96
|
+
}
|
|
97
|
+
error(message, metadata) {
|
|
98
|
+
__privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).error(message, metadata);
|
|
99
|
+
}
|
|
100
|
+
trace(name, fn) {
|
|
101
|
+
return __privateMethod(this, _getTaskLogger, getTaskLogger_fn).call(this).trace(name, fn);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
_getTaskLogger = new WeakSet();
|
|
105
|
+
getTaskLogger_fn = /* @__PURE__ */ __name(function() {
|
|
106
|
+
return getGlobal(API_NAME) ?? NOOP_TASK_LOGGER;
|
|
107
|
+
}, "#getTaskLogger");
|
|
108
|
+
__name(_LoggerAPI, "LoggerAPI");
|
|
109
|
+
var LoggerAPI = _LoggerAPI;
|
|
110
|
+
|
|
111
|
+
// src/v3/logger-api.ts
|
|
112
|
+
var logger = LoggerAPI.getInstance();
|
|
113
|
+
|
|
114
|
+
export { logger };
|
|
115
|
+
//# sourceMappingURL=out.js.map
|
|
116
|
+
//# sourceMappingURL=logger-api.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/v3/logger/taskLogger.ts","../../src/v3/utils/platform.ts","../../src/v3/utils/globals.ts","../../src/v3/logger/index.ts","../../src/v3/logger-api.ts"],"names":["SeverityNumber","_globalThis","globalThis","global","GLOBAL_TRIGGER_DOT_DEV_KEY","Symbol","for","_global","registerGlobal","type","instance","allowOverride","api","err","Error","getGlobal","unregisterGlobal","NoopTaskLogger","debug","log","info","warn","error","trace","name","fn","API_NAME","NOOP_TASK_LOGGER","LoggerAPI","getInstance","_instance","disable","setGlobalTaskLogger","taskLogger","message","metadata","logger"],"mappings":";;;;;;;;;;;;;;;;;AACA,SAAiBA,sBAAsB;;;ACDhC,IAAMC,cAAc,OAAOC,eAAe,WAAWA,aAAaC;;;ACQzE,IAAMC,6BAA6BC,OAAOC,IAAI,oBAAoB;AAElE,IAAMC,UAAUN;AAET,SAASO,eACdC,MACAC,UACAC,gBAAgB,OACP;AACT,QAAMC,MAAOL,QAAQH,0BAAAA,IAA8BG,QAAQH,0BAAAA,KAA+B,CAAC;AAE3F,MAAI,CAACO,iBAAiBC,IAAIH,IAAAA,GAAO;AAE/B,UAAMI,MAAM,IAAIC,MAAM,yDAAyDL,IAAAA,EAAM;AACrF,WAAO;EACT;AAEAG,MAAIH,IAAAA,IAAQC;AAEZ,SAAO;AACT;AAhBgBF;AAkBT,SAASO,UACdN,MAC0C;AAC1C,SAAOF,QAAQH,0BAAAA,IAA8BK,IAAAA;AAC/C;AAJgBM;AAMT,SAASC,iBAAiBP,MAAoC;AACnE,QAAMG,MAAML,QAAQH,0BAAAA;AAEpB,MAAIQ,KAAK;AACP,WAAOA,IAAIH,IAAAA;EACb;AACF;AANgBO;;;AF6DT,IAAMC,kBAAN,MAAMA,gBAAAA;EACXC,QAAQ;EAAC;EACTC,MAAM;EAAC;EACPC,OAAO;EAAC;EACRC,OAAO;EAAC;EACRC,QAAQ;EAAC;EACTC,MAASC,MAAcC,IAA4C;AACjE,WAAOA,GAAG,CAAC,CAAA;EACb;AACF;AATaR;AAAN,IAAMA,iBAAN;;;AG7FP,IAAMS,WAAW;AAEjB,IAAMC,mBAAmB,IAAIV,eAAAA;AAN7B;AAQO,IAAMW,aAAN,MAAMA,WAAAA;EAGX,cAAsB;AA0CtB;EA1CuB;EAEvB,OAAcC,cAAyB;AACrC,QAAI,CAAC,KAAKC,WAAW;AACnB,WAAKA,YAAY,IAAIF,WAAAA;IACvB;AAEA,WAAO,KAAKE;EACd;EAEOC,UAAU;AACff,qBAAiBU,QAAAA;EACnB;EAEOM,oBAAoBC,YAAiC;AAC1D,WAAOzB,eAAekB,UAAUO,UAAAA;EAClC;EAEOf,MAAMgB,SAAiBC,UAAoC;AAChE,0BAAK,kCAAL,WAAsBjB,MAAMgB,SAASC,QAAAA;EACvC;EAEOhB,IAAIe,SAAiBC,UAAoC;AAC9D,0BAAK,kCAAL,WAAsBhB,IAAIe,SAASC,QAAAA;EACrC;EAEOf,KAAKc,SAAiBC,UAAoC;AAC/D,0BAAK,kCAAL,WAAsBf,KAAKc,SAASC,QAAAA;EACtC;EAEOd,KAAKa,SAAiBC,UAAoC;AAC/D,0BAAK,kCAAL,WAAsBd,KAAKa,SAASC,QAAAA;EACtC;EAEOb,MAAMY,SAAiBC,UAAoC;AAChE,0BAAK,kCAAL,WAAsBb,MAAMY,SAASC,QAAAA;EACvC;EAEOZ,MAASC,MAAcC,IAA4C;AACxE,WAAO,sBAAK,kCAAL,WAAsBF,MAAMC,MAAMC,EAAAA;EAC3C;AAKF;AAHE;mBAAc,kCAAe;AAC3B,SAAOV,UAAUW,QAAAA,KAAaC;AAChC,GAFc;AA7CHC;AAAN,IAAMA,YAAN;;;ACJA,IAAMQ,SAASR,UAAUC,YAAW","sourcesContent":["import { Attributes, Span, SpanOptions } from \"@opentelemetry/api\";\nimport { Logger, SeverityNumber } from \"@opentelemetry/api-logs\";\nimport { iconStringForSeverity } from \"../icons\";\nimport { SemanticInternalAttributes } from \"../semanticInternalAttributes\";\nimport { TriggerTracer } from \"../tracer\";\nimport { flattenAttributes } from \"../utils/flattenAttributes\";\nimport { ClockTime } from \"../clock/clock\";\nimport { clock } from \"../clock-api\";\n\nexport type LogLevel = \"none\" | \"error\" | \"warn\" | \"info\" | \"debug\" | \"log\";\n\nexport const logLevels: Array<LogLevel> = [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\nexport type TaskLoggerConfig = {\n logger: Logger;\n tracer: TriggerTracer;\n level: LogLevel;\n};\n\nexport interface TaskLogger {\n debug(message: string, properties?: Record<string, unknown>): void;\n log(message: string, properties?: Record<string, unknown>): void;\n info(message: string, properties?: Record<string, unknown>): void;\n warn(message: string, properties?: Record<string, unknown>): void;\n error(message: string, properties?: Record<string, unknown>): void;\n trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T>;\n}\n\nexport class OtelTaskLogger implements TaskLogger {\n private readonly _level: number;\n\n constructor(private readonly _config: TaskLoggerConfig) {\n this._level = logLevels.indexOf(_config.level);\n }\n\n debug(message: string, properties?: Record<string, unknown>) {\n if (this._level < 4) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"debug\", SeverityNumber.DEBUG, properties);\n }\n\n log(message: string, properties?: Record<string, unknown>) {\n if (this._level < 3) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"log\", SeverityNumber.INFO, properties);\n }\n\n info(message: string, properties?: Record<string, unknown>) {\n if (this._level < 3) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"info\", SeverityNumber.INFO, properties);\n }\n\n warn(message: string, properties?: Record<string, unknown>) {\n if (this._level < 2) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"warn\", SeverityNumber.WARN, properties);\n }\n\n error(message: string, properties?: Record<string, unknown>) {\n if (this._level < 1) return; // [\"none\", \"error\", \"warn\", \"info\", \"debug\"];\n\n this.#emitLog(message, this.#getTimestampInHrTime(), \"error\", SeverityNumber.ERROR, properties);\n }\n\n #emitLog(\n message: string,\n timestamp: ClockTime,\n severityText: string,\n severityNumber: SeverityNumber,\n properties?: Record<string, unknown>\n ) {\n let attributes: Attributes = { ...flattenAttributes(safeJsonProcess(properties)) };\n\n const icon = iconStringForSeverity(severityNumber);\n if (icon !== undefined) {\n attributes[SemanticInternalAttributes.STYLE_ICON] = icon;\n }\n\n this._config.logger.emit({\n severityNumber,\n severityText,\n body: message,\n attributes,\n timestamp,\n });\n }\n\n trace<T>(name: string, fn: (span: Span) => Promise<T>, options?: SpanOptions): Promise<T> {\n return this._config.tracer.startActiveSpan(name, fn, options);\n }\n\n #getTimestampInHrTime(): ClockTime {\n return clock.preciseNow();\n }\n}\n\nexport class NoopTaskLogger implements TaskLogger {\n debug() {}\n log() {}\n info() {}\n warn() {}\n error() {}\n trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T> {\n return fn({} as Span);\n }\n}\n\nfunction safeJsonProcess(value?: Record<string, unknown>): Record<string, unknown> | undefined {\n try {\n return JSON.parse(JSON.stringify(value, jsonErrorReplacer));\n } catch {\n return value;\n }\n}\n\nfunction jsonErrorReplacer(key: string, value: unknown) {\n if (value instanceof Error) {\n return {\n name: value.name,\n message: value.message,\n stack: value.stack,\n };\n }\n\n return value;\n}\n","export const _globalThis = typeof globalThis === \"object\" ? globalThis : global;\n","import { ApiClientConfiguration } from \"../apiClientManager/types\";\nimport { Clock } from \"../clock/clock\";\nimport type { RuntimeManager } from \"../runtime/manager\";\nimport { TaskCatalog } from \"../task-catalog/catalog\";\nimport { TaskContext } from \"../taskContext/types\";\nimport { UsageManager } from \"../usage/types\";\nimport { _globalThis } from \"./platform\";\n\nconst GLOBAL_TRIGGER_DOT_DEV_KEY = Symbol.for(`dev.trigger.ts.api`);\n\nconst _global = _globalThis as TriggerDotDevGlobal;\n\nexport function registerGlobal<Type extends keyof TriggerDotDevGlobalAPI>(\n type: Type,\n instance: TriggerDotDevGlobalAPI[Type],\n allowOverride = false\n): boolean {\n const api = (_global[GLOBAL_TRIGGER_DOT_DEV_KEY] = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] ?? {});\n\n if (!allowOverride && api[type]) {\n // already registered an API of this type\n const err = new Error(`trigger.dev: Attempted duplicate registration of API: ${type}`);\n return false;\n }\n\n api[type] = instance;\n\n return true;\n}\n\nexport function getGlobal<Type extends keyof TriggerDotDevGlobalAPI>(\n type: Type\n): TriggerDotDevGlobalAPI[Type] | undefined {\n return _global[GLOBAL_TRIGGER_DOT_DEV_KEY]?.[type];\n}\n\nexport function unregisterGlobal(type: keyof TriggerDotDevGlobalAPI) {\n const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY];\n\n if (api) {\n delete api[type];\n }\n}\n\ntype TriggerDotDevGlobal = {\n [GLOBAL_TRIGGER_DOT_DEV_KEY]?: TriggerDotDevGlobalAPI;\n};\n\ntype TriggerDotDevGlobalAPI = {\n runtime?: RuntimeManager;\n logger?: any;\n clock?: Clock;\n usage?: UsageManager;\n [\"task-catalog\"]?: TaskCatalog;\n [\"task-context\"]?: TaskContext;\n [\"api-client\"]?: ApiClientConfiguration;\n};\n","import { NoopTaskLogger, TaskLogger } from \"./taskLogger\";\nimport { getGlobal, registerGlobal, unregisterGlobal } from \"../utils/globals\";\nimport { Span } from \"@opentelemetry/api\";\n\nconst API_NAME = \"logger\";\n\nconst NOOP_TASK_LOGGER = new NoopTaskLogger();\n\nexport class LoggerAPI implements TaskLogger {\n private static _instance?: LoggerAPI;\n\n private constructor() {}\n\n public static getInstance(): LoggerAPI {\n if (!this._instance) {\n this._instance = new LoggerAPI();\n }\n\n return this._instance;\n }\n\n public disable() {\n unregisterGlobal(API_NAME);\n }\n\n public setGlobalTaskLogger(taskLogger: TaskLogger): boolean {\n return registerGlobal(API_NAME, taskLogger);\n }\n\n public debug(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().debug(message, metadata);\n }\n\n public log(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().log(message, metadata);\n }\n\n public info(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().info(message, metadata);\n }\n\n public warn(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().warn(message, metadata);\n }\n\n public error(message: string, metadata?: Record<string, unknown>) {\n this.#getTaskLogger().error(message, metadata);\n }\n\n public trace<T>(name: string, fn: (span: Span) => Promise<T>): Promise<T> {\n return this.#getTaskLogger().trace(name, fn);\n }\n\n #getTaskLogger(): TaskLogger {\n return getGlobal(API_NAME) ?? NOOP_TASK_LOGGER;\n }\n}\n","// Split module-level variable definition into separate files to allow\n// tree-shaking on each api instance.\nimport { LoggerAPI } from \"./logger\";\n/** Entrypoint for logger API */\nexport const logger = LoggerAPI.getInstance();\n"]}
|
package/dist/v3/otel/index.js
CHANGED
|
@@ -9,7 +9,6 @@ var resources = require('@opentelemetry/resources');
|
|
|
9
9
|
var sdkLogs = require('@opentelemetry/sdk-logs');
|
|
10
10
|
var sdkTraceNode = require('@opentelemetry/sdk-trace-node');
|
|
11
11
|
var semanticConventions = require('@opentelemetry/semantic-conventions');
|
|
12
|
-
var async_hooks = require('async_hooks');
|
|
13
12
|
|
|
14
13
|
var __defProp = Object.defineProperty;
|
|
15
14
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -63,6 +62,10 @@ var SemanticInternalAttributes = {
|
|
|
63
62
|
TASK_EXPORT_NAME: "ctx.task.exportName",
|
|
64
63
|
QUEUE_NAME: "ctx.queue.name",
|
|
65
64
|
QUEUE_ID: "ctx.queue.id",
|
|
65
|
+
MACHINE_PRESET_NAME: "ctx.machine.name",
|
|
66
|
+
MACHINE_PRESET_CPU: "ctx.machine.cpu",
|
|
67
|
+
MACHINE_PRESET_MEMORY: "ctx.machine.memory",
|
|
68
|
+
MACHINE_PRESET_CENTS_PER_MS: "ctx.machine.centsPerMs",
|
|
66
69
|
SPAN_PARTIAL: "$span.partial",
|
|
67
70
|
SPAN_ID: "$span.span_id",
|
|
68
71
|
OUTPUT: "$output",
|
|
@@ -84,13 +87,25 @@ var SemanticInternalAttributes = {
|
|
|
84
87
|
SDK_LANGUAGE: "sdk.language",
|
|
85
88
|
RETRY_AT: "retry.at",
|
|
86
89
|
RETRY_DELAY: "retry.delay",
|
|
87
|
-
RETRY_COUNT: "retry.count"
|
|
90
|
+
RETRY_COUNT: "retry.count",
|
|
91
|
+
LINK_TITLE: "$link.title",
|
|
92
|
+
IDEMPOTENCY_KEY: "ctx.run.idempotencyKey",
|
|
93
|
+
USAGE_DURATION_MS: "$usage.durationMs",
|
|
94
|
+
USAGE_COST_IN_CENTS: "$usage.costInCents",
|
|
95
|
+
RATE_LIMIT_LIMIT: "response.rateLimit.limit",
|
|
96
|
+
RATE_LIMIT_REMAINING: "response.rateLimit.remaining",
|
|
97
|
+
RATE_LIMIT_RESET: "response.rateLimit.reset"
|
|
88
98
|
};
|
|
89
99
|
|
|
90
100
|
// src/v3/utils/flattenAttributes.ts
|
|
101
|
+
var NULL_SENTINEL = "$@null((";
|
|
91
102
|
function flattenAttributes(obj, prefix) {
|
|
92
103
|
const result = {};
|
|
93
|
-
if (
|
|
104
|
+
if (obj === void 0) {
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
if (obj === null) {
|
|
108
|
+
result[prefix || ""] = NULL_SENTINEL;
|
|
94
109
|
return result;
|
|
95
110
|
}
|
|
96
111
|
if (typeof obj === "string") {
|
|
@@ -106,13 +121,17 @@ function flattenAttributes(obj, prefix) {
|
|
|
106
121
|
return result;
|
|
107
122
|
}
|
|
108
123
|
for (const [key, value] of Object.entries(obj)) {
|
|
109
|
-
const newPrefix = `${prefix ? `${prefix}.` : ""}${key}`;
|
|
124
|
+
const newPrefix = `${prefix ? `${prefix}.` : ""}${Array.isArray(obj) ? `[${key}]` : key}`;
|
|
110
125
|
if (Array.isArray(value)) {
|
|
111
126
|
for (let i = 0; i < value.length; i++) {
|
|
112
127
|
if (typeof value[i] === "object" && value[i] !== null) {
|
|
113
128
|
Object.assign(result, flattenAttributes(value[i], `${newPrefix}.[${i}]`));
|
|
114
129
|
} else {
|
|
115
|
-
|
|
130
|
+
if (value[i] === null) {
|
|
131
|
+
result[`${newPrefix}.[${i}]`] = NULL_SENTINEL;
|
|
132
|
+
} else {
|
|
133
|
+
result[`${newPrefix}.[${i}]`] = value[i];
|
|
134
|
+
}
|
|
116
135
|
}
|
|
117
136
|
}
|
|
118
137
|
} else if (isRecord(value)) {
|
|
@@ -120,6 +139,8 @@ function flattenAttributes(obj, prefix) {
|
|
|
120
139
|
} else {
|
|
121
140
|
if (typeof value === "number" || typeof value === "string" || typeof value === "boolean") {
|
|
122
141
|
result[newPrefix] = value;
|
|
142
|
+
} else if (value === null) {
|
|
143
|
+
result[newPrefix] = NULL_SENTINEL;
|
|
123
144
|
}
|
|
124
145
|
}
|
|
125
146
|
}
|
|
@@ -130,37 +151,55 @@ function isRecord(value) {
|
|
|
130
151
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
131
152
|
}
|
|
132
153
|
__name(isRecord, "isRecord");
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
154
|
+
|
|
155
|
+
// src/v3/utils/platform.ts
|
|
156
|
+
var _globalThis = typeof globalThis === "object" ? globalThis : global;
|
|
157
|
+
|
|
158
|
+
// src/v3/utils/globals.ts
|
|
159
|
+
var GLOBAL_TRIGGER_DOT_DEV_KEY = Symbol.for(`dev.trigger.ts.api`);
|
|
160
|
+
var _global = _globalThis;
|
|
161
|
+
function registerGlobal(type, instance, allowOverride = false) {
|
|
162
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] = _global[GLOBAL_TRIGGER_DOT_DEV_KEY] ?? {};
|
|
163
|
+
if (!allowOverride && api[type]) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
api[type] = instance;
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
__name(registerGlobal, "registerGlobal");
|
|
170
|
+
function getGlobal(type) {
|
|
171
|
+
return _global[GLOBAL_TRIGGER_DOT_DEV_KEY]?.[type];
|
|
172
|
+
}
|
|
173
|
+
__name(getGlobal, "getGlobal");
|
|
174
|
+
function unregisterGlobal(type) {
|
|
175
|
+
const api = _global[GLOBAL_TRIGGER_DOT_DEV_KEY];
|
|
176
|
+
if (api) {
|
|
177
|
+
delete api[type];
|
|
142
178
|
}
|
|
143
|
-
}
|
|
144
|
-
__name(
|
|
145
|
-
var SafeAsyncLocalStorage = _SafeAsyncLocalStorage;
|
|
179
|
+
}
|
|
180
|
+
__name(unregisterGlobal, "unregisterGlobal");
|
|
146
181
|
|
|
147
|
-
// src/v3/
|
|
148
|
-
var
|
|
149
|
-
var
|
|
182
|
+
// src/v3/taskContext/index.ts
|
|
183
|
+
var API_NAME = "task-context";
|
|
184
|
+
var _getTaskContext, getTaskContext_fn;
|
|
185
|
+
var _TaskContextAPI = class _TaskContextAPI {
|
|
150
186
|
constructor() {
|
|
151
|
-
__privateAdd(this,
|
|
152
|
-
|
|
187
|
+
__privateAdd(this, _getTaskContext);
|
|
188
|
+
}
|
|
189
|
+
static getInstance() {
|
|
190
|
+
if (!this._instance) {
|
|
191
|
+
this._instance = new _TaskContextAPI();
|
|
192
|
+
}
|
|
193
|
+
return this._instance;
|
|
153
194
|
}
|
|
154
195
|
get isInsideTask() {
|
|
155
|
-
return __privateMethod(this,
|
|
196
|
+
return __privateMethod(this, _getTaskContext, getTaskContext_fn).call(this) !== void 0;
|
|
156
197
|
}
|
|
157
198
|
get ctx() {
|
|
158
|
-
|
|
159
|
-
return store?.ctx;
|
|
199
|
+
return __privateMethod(this, _getTaskContext, getTaskContext_fn).call(this)?.ctx;
|
|
160
200
|
}
|
|
161
201
|
get worker() {
|
|
162
|
-
|
|
163
|
-
return store?.worker;
|
|
202
|
+
return __privateMethod(this, _getTaskContext, getTaskContext_fn).call(this)?.worker;
|
|
164
203
|
}
|
|
165
204
|
get attributes() {
|
|
166
205
|
if (this.ctx) {
|
|
@@ -200,32 +239,44 @@ var _TaskContextManager = class _TaskContextManager {
|
|
|
200
239
|
[SemanticInternalAttributes.RUN_IS_TEST]: this.ctx.run.isTest,
|
|
201
240
|
[SemanticInternalAttributes.ORGANIZATION_SLUG]: this.ctx.organization.slug,
|
|
202
241
|
[SemanticInternalAttributes.ORGANIZATION_NAME]: this.ctx.organization.name,
|
|
203
|
-
[SemanticInternalAttributes.BATCH_ID]: this.ctx.batch?.id
|
|
242
|
+
[SemanticInternalAttributes.BATCH_ID]: this.ctx.batch?.id,
|
|
243
|
+
[SemanticInternalAttributes.IDEMPOTENCY_KEY]: this.ctx.run.idempotencyKey,
|
|
244
|
+
[SemanticInternalAttributes.MACHINE_PRESET_NAME]: this.ctx.machine?.name,
|
|
245
|
+
[SemanticInternalAttributes.MACHINE_PRESET_CPU]: this.ctx.machine?.cpu,
|
|
246
|
+
[SemanticInternalAttributes.MACHINE_PRESET_MEMORY]: this.ctx.machine?.memory,
|
|
247
|
+
[SemanticInternalAttributes.MACHINE_PRESET_CENTS_PER_MS]: this.ctx.machine?.centsPerMs
|
|
204
248
|
};
|
|
205
249
|
}
|
|
206
250
|
return {};
|
|
207
251
|
}
|
|
208
|
-
|
|
209
|
-
|
|
252
|
+
disable() {
|
|
253
|
+
unregisterGlobal(API_NAME);
|
|
254
|
+
}
|
|
255
|
+
setGlobalTaskContext(taskContext2) {
|
|
256
|
+
return registerGlobal(API_NAME, taskContext2);
|
|
210
257
|
}
|
|
211
258
|
};
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return
|
|
215
|
-
}, "#
|
|
216
|
-
__name(
|
|
217
|
-
var
|
|
218
|
-
|
|
259
|
+
_getTaskContext = new WeakSet();
|
|
260
|
+
getTaskContext_fn = /* @__PURE__ */ __name(function() {
|
|
261
|
+
return getGlobal(API_NAME);
|
|
262
|
+
}, "#getTaskContext");
|
|
263
|
+
__name(_TaskContextAPI, "TaskContextAPI");
|
|
264
|
+
var TaskContextAPI = _TaskContextAPI;
|
|
265
|
+
|
|
266
|
+
// src/v3/task-context-api.ts
|
|
267
|
+
var taskContext = TaskContextAPI.getInstance();
|
|
268
|
+
|
|
269
|
+
// src/v3/taskContext/otelProcessors.ts
|
|
219
270
|
var _TaskContextSpanProcessor = class _TaskContextSpanProcessor {
|
|
220
271
|
constructor(innerProcessor) {
|
|
221
272
|
this._innerProcessor = innerProcessor;
|
|
222
273
|
}
|
|
223
274
|
// Called when a span starts
|
|
224
275
|
onStart(span, parentContext) {
|
|
225
|
-
if (
|
|
276
|
+
if (taskContext.ctx) {
|
|
226
277
|
span.setAttributes(flattenAttributes({
|
|
227
|
-
[SemanticInternalAttributes.ATTEMPT_ID]:
|
|
228
|
-
[SemanticInternalAttributes.ATTEMPT_NUMBER]:
|
|
278
|
+
[SemanticInternalAttributes.ATTEMPT_ID]: taskContext.ctx.attempt.id,
|
|
279
|
+
[SemanticInternalAttributes.ATTEMPT_NUMBER]: taskContext.ctx.attempt.number
|
|
229
280
|
}, SemanticInternalAttributes.METADATA));
|
|
230
281
|
}
|
|
231
282
|
this._innerProcessor.onStart(span, parentContext);
|
|
@@ -251,10 +302,10 @@ var _TaskContextLogProcessor = class _TaskContextLogProcessor {
|
|
|
251
302
|
return this._innerProcessor.forceFlush();
|
|
252
303
|
}
|
|
253
304
|
onEmit(logRecord, context) {
|
|
254
|
-
if (
|
|
305
|
+
if (taskContext.ctx) {
|
|
255
306
|
logRecord.setAttributes(flattenAttributes({
|
|
256
|
-
[SemanticInternalAttributes.ATTEMPT_ID]:
|
|
257
|
-
[SemanticInternalAttributes.ATTEMPT_NUMBER]:
|
|
307
|
+
[SemanticInternalAttributes.ATTEMPT_ID]: taskContext.ctx.attempt.id,
|
|
308
|
+
[SemanticInternalAttributes.ATTEMPT_NUMBER]: taskContext.ctx.attempt.number
|
|
258
309
|
}, SemanticInternalAttributes.METADATA));
|
|
259
310
|
}
|
|
260
311
|
this._innerProcessor.onEmit(logRecord, context);
|
|
@@ -274,6 +325,9 @@ function getEnvVar(name) {
|
|
|
274
325
|
}
|
|
275
326
|
__name(getEnvVar, "getEnvVar");
|
|
276
327
|
|
|
328
|
+
// package.json
|
|
329
|
+
var version = "3.0.0-beta.51";
|
|
330
|
+
|
|
277
331
|
// src/v3/otel/tracingSDK.ts
|
|
278
332
|
var _a;
|
|
279
333
|
var AsyncResourceDetector = (_a = class {
|
|
@@ -311,10 +365,11 @@ var _TracingSDK = class _TracingSDK {
|
|
|
311
365
|
]
|
|
312
366
|
}).merge(new resources.Resource({
|
|
313
367
|
[semanticConventions.SemanticResourceAttributes.CLOUD_PROVIDER]: "trigger.dev",
|
|
314
|
-
[SemanticInternalAttributes.TRIGGER]: true
|
|
368
|
+
[SemanticInternalAttributes.TRIGGER]: true,
|
|
369
|
+
[SemanticInternalAttributes.CLI_VERSION]: version
|
|
315
370
|
})).merge(config.resource ?? new resources.Resource({})).merge(new resources.Resource(envResourceAttributes));
|
|
316
371
|
const traceProvider = new sdkTraceNode.NodeTracerProvider({
|
|
317
|
-
forceFlushTimeoutMillis: config.forceFlushTimeoutMillis
|
|
372
|
+
forceFlushTimeoutMillis: config.forceFlushTimeoutMillis,
|
|
318
373
|
resource: commonResources,
|
|
319
374
|
spanLimits: {
|
|
320
375
|
attributeCountLimit: OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT,
|
|
@@ -327,7 +382,7 @@ var _TracingSDK = class _TracingSDK {
|
|
|
327
382
|
});
|
|
328
383
|
const spanExporter = new exporterTraceOtlpHttp.OTLPTraceExporter({
|
|
329
384
|
url: `${config.url}/v1/traces`,
|
|
330
|
-
timeoutMillis: config.forceFlushTimeoutMillis
|
|
385
|
+
timeoutMillis: config.forceFlushTimeoutMillis
|
|
331
386
|
});
|
|
332
387
|
traceProvider.addSpanProcessor(new TaskContextSpanProcessor(getEnvVar("OTEL_BATCH_PROCESSING_ENABLED") === "1" ? new sdkTraceNode.BatchSpanProcessor(spanExporter, {
|
|
333
388
|
maxExportBatchSize: parseInt(getEnvVar("OTEL_SPAN_MAX_EXPORT_BATCH_SIZE") ?? "64"),
|
|
@@ -364,12 +419,16 @@ var _TracingSDK = class _TracingSDK {
|
|
|
364
419
|
this.getTracer = traceProvider.getTracer.bind(traceProvider);
|
|
365
420
|
}
|
|
366
421
|
async flush() {
|
|
367
|
-
await
|
|
368
|
-
|
|
422
|
+
await Promise.all([
|
|
423
|
+
this._traceProvider.forceFlush(),
|
|
424
|
+
this._logProvider.forceFlush()
|
|
425
|
+
]);
|
|
369
426
|
}
|
|
370
427
|
async shutdown() {
|
|
371
|
-
await
|
|
372
|
-
|
|
428
|
+
await Promise.all([
|
|
429
|
+
this._traceProvider.shutdown(),
|
|
430
|
+
this._logProvider.shutdown()
|
|
431
|
+
]);
|
|
373
432
|
}
|
|
374
433
|
};
|
|
375
434
|
__name(_TracingSDK, "TracingSDK");
|
|
@@ -408,17 +467,24 @@ __name(setLogLevel, "setLogLevel");
|
|
|
408
467
|
// src/v3/otel/index.ts
|
|
409
468
|
function recordSpanException(span, error) {
|
|
410
469
|
if (error instanceof Error) {
|
|
411
|
-
span.recordException(error);
|
|
470
|
+
span.recordException(sanitizeSpanError(error));
|
|
412
471
|
} else if (typeof error === "string") {
|
|
413
|
-
span.recordException(
|
|
472
|
+
span.recordException(error.replace(/\0/g, ""));
|
|
414
473
|
} else {
|
|
415
|
-
span.recordException(
|
|
474
|
+
span.recordException(JSON.stringify(error).replace(/\0/g, ""));
|
|
416
475
|
}
|
|
417
476
|
span.setStatus({
|
|
418
477
|
code: api.SpanStatusCode.ERROR
|
|
419
478
|
});
|
|
420
479
|
}
|
|
421
480
|
__name(recordSpanException, "recordSpanException");
|
|
481
|
+
function sanitizeSpanError(error) {
|
|
482
|
+
const sanitizedError = new Error(error.message.replace(/\0/g, ""));
|
|
483
|
+
sanitizedError.name = error.name.replace(/\0/g, "");
|
|
484
|
+
sanitizedError.stack = error.stack?.replace(/\0/g, "");
|
|
485
|
+
return sanitizedError;
|
|
486
|
+
}
|
|
487
|
+
__name(sanitizeSpanError, "sanitizeSpanError");
|
|
422
488
|
|
|
423
489
|
exports.TracingSDK = TracingSDK;
|
|
424
490
|
exports.recordSpanException = recordSpanException;
|