@trigger.dev/core 3.0.0-beta.5 → 3.0.0-beta.50

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.
Files changed (201) hide show
  1. package/dist/api-Pl9fxB8v.d.mts +13879 -0
  2. package/dist/api-sNoooMbT.d.ts +13879 -0
  3. package/dist/catalog-H7yFiZ60.d.mts +202 -0
  4. package/dist/catalog-h79CG5Wy.d.ts +202 -0
  5. package/dist/common-CLW82lkt.d.mts +1423 -0
  6. package/dist/common-CLW82lkt.d.ts +1423 -0
  7. package/dist/{eventFilterMatches-2kHImluE.d.mts → eventFilter-66NaBAMi.d.mts} +1 -3
  8. package/dist/{eventFilterMatches-2kHImluE.d.ts → eventFilter-66NaBAMi.d.ts} +1 -3
  9. package/dist/eventFilterMatches.d.mts +6 -0
  10. package/dist/eventFilterMatches.d.ts +6 -0
  11. package/dist/eventFilterMatches.js +165 -0
  12. package/dist/eventFilterMatches.js.map +1 -0
  13. package/dist/eventFilterMatches.mjs +163 -0
  14. package/dist/eventFilterMatches.mjs.map +1 -0
  15. package/dist/index.d.mts +14 -16657
  16. package/dist/index.d.ts +14 -16657
  17. package/dist/index.js +8 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +8 -2
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/json-DBPEJQRe.d.mts +16 -0
  22. package/dist/json-DBPEJQRe.d.ts +16 -0
  23. package/dist/manager-KvCabW1a.d.mts +18 -0
  24. package/dist/manager-OBA35PzR.d.ts +18 -0
  25. package/dist/messages-JvHJ83wv.d.mts +19428 -0
  26. package/dist/messages-JvHJ83wv.d.ts +19428 -0
  27. package/dist/replacements.d.mts +22 -0
  28. package/dist/replacements.d.ts +22 -0
  29. package/dist/replacements.js +33 -0
  30. package/dist/replacements.js.map +1 -0
  31. package/dist/replacements.mjs +28 -0
  32. package/dist/replacements.mjs.map +1 -0
  33. package/dist/requestFilter-HNZQEpQb.d.ts +180 -0
  34. package/dist/requestFilter-b5W2_1oP.d.mts +180 -0
  35. package/dist/requestFilterMatches.d.mts +13 -0
  36. package/dist/requestFilterMatches.d.ts +13 -0
  37. package/dist/requestFilterMatches.js +238 -0
  38. package/dist/requestFilterMatches.js.map +1 -0
  39. package/dist/requestFilterMatches.mjs +235 -0
  40. package/dist/requestFilterMatches.mjs.map +1 -0
  41. package/dist/retry.d.mts +10 -0
  42. package/dist/retry.d.ts +10 -0
  43. package/dist/retry.js +100 -0
  44. package/dist/retry.js.map +1 -0
  45. package/dist/retry.mjs +97 -0
  46. package/dist/retry.mjs.map +1 -0
  47. package/dist/schemas/index.d.mts +2611 -0
  48. package/dist/schemas/index.d.ts +2611 -0
  49. package/dist/schemas/index.js +1630 -0
  50. package/dist/schemas/index.js.map +1 -0
  51. package/dist/schemas/index.mjs +1463 -0
  52. package/dist/schemas/index.mjs.map +1 -0
  53. package/dist/schemas-C9ssfehv.d.mts +2568 -0
  54. package/dist/schemas-C9ssfehv.d.ts +2568 -0
  55. package/dist/taskLogger-CzADe4je.d.ts +33 -0
  56. package/dist/taskLogger-r_AFTX45.d.mts +33 -0
  57. package/dist/tracer-N0p2Fuuv.d.mts +23 -0
  58. package/dist/tracer-N0p2Fuuv.d.ts +23 -0
  59. package/dist/types.d.mts +11 -0
  60. package/dist/types.d.ts +11 -0
  61. package/dist/types.js +4 -0
  62. package/dist/types.js.map +1 -0
  63. package/dist/types.mjs +3 -0
  64. package/dist/types.mjs.map +1 -0
  65. package/dist/utils.d.mts +7 -0
  66. package/dist/utils.d.ts +7 -0
  67. package/dist/utils.js +33 -0
  68. package/dist/utils.js.map +1 -0
  69. package/dist/utils.mjs +30 -0
  70. package/dist/utils.mjs.map +1 -0
  71. package/dist/v3/dev/index.d.mts +29 -0
  72. package/dist/v3/dev/index.d.ts +29 -0
  73. package/dist/v3/dev/index.js +93 -0
  74. package/dist/v3/dev/index.js.map +1 -0
  75. package/dist/v3/dev/index.mjs +91 -0
  76. package/dist/v3/dev/index.mjs.map +1 -0
  77. package/dist/v3/errors.d.mts +39 -0
  78. package/dist/v3/errors.d.ts +39 -0
  79. package/dist/v3/errors.js +204 -0
  80. package/dist/v3/errors.js.map +1 -0
  81. package/dist/v3/errors.mjs +195 -0
  82. package/dist/v3/errors.mjs.map +1 -0
  83. package/dist/v3/index.d.mts +436 -20511
  84. package/dist/v3/index.d.ts +436 -20511
  85. package/dist/v3/index.js +2822 -2890
  86. package/dist/v3/index.js.map +1 -1
  87. package/dist/v3/index.mjs +2767 -2863
  88. package/dist/v3/index.mjs.map +1 -1
  89. package/dist/v3/logger-api.d.mts +24 -0
  90. package/dist/v3/logger-api.d.ts +24 -0
  91. package/dist/v3/logger-api.js +118 -0
  92. package/dist/v3/logger-api.js.map +1 -0
  93. package/dist/v3/logger-api.mjs +116 -0
  94. package/dist/v3/logger-api.mjs.map +1 -0
  95. package/dist/v3/otel/index.js +119 -53
  96. package/dist/v3/otel/index.js.map +1 -1
  97. package/dist/v3/otel/index.mjs +119 -53
  98. package/dist/v3/otel/index.mjs.map +1 -1
  99. package/dist/v3/prod/index.d.mts +46 -0
  100. package/dist/v3/prod/index.d.ts +46 -0
  101. package/dist/v3/prod/index.js +180 -0
  102. package/dist/v3/prod/index.js.map +1 -0
  103. package/dist/v3/prod/index.mjs +178 -0
  104. package/dist/v3/prod/index.mjs.map +1 -0
  105. package/dist/v3/schemas/index.d.mts +4741 -0
  106. package/dist/v3/schemas/index.d.ts +4741 -0
  107. package/dist/v3/schemas/index.js +2039 -0
  108. package/dist/v3/schemas/index.js.map +1 -0
  109. package/dist/v3/schemas/index.mjs +1900 -0
  110. package/dist/v3/schemas/index.mjs.map +1 -0
  111. package/dist/v3/semanticInternalAttributes.d.mts +56 -0
  112. package/dist/v3/semanticInternalAttributes.d.ts +56 -0
  113. package/dist/v3/semanticInternalAttributes.js +61 -0
  114. package/dist/v3/semanticInternalAttributes.js.map +1 -0
  115. package/dist/v3/semanticInternalAttributes.mjs +59 -0
  116. package/dist/v3/semanticInternalAttributes.mjs.map +1 -0
  117. package/dist/v3/utils/durations.d.mts +15 -0
  118. package/dist/v3/utils/durations.d.ts +15 -0
  119. package/dist/v3/utils/durations.js +93 -0
  120. package/dist/v3/utils/durations.js.map +1 -0
  121. package/dist/v3/utils/durations.mjs +82 -0
  122. package/dist/v3/utils/durations.mjs.map +1 -0
  123. package/dist/v3/utils/flattenAttributes.d.mts +8 -0
  124. package/dist/v3/utils/flattenAttributes.d.ts +8 -0
  125. package/dist/v3/utils/flattenAttributes.js +131 -0
  126. package/dist/v3/utils/flattenAttributes.js.map +1 -0
  127. package/dist/v3/utils/flattenAttributes.mjs +126 -0
  128. package/dist/v3/utils/flattenAttributes.mjs.map +1 -0
  129. package/dist/v3/utils/ioSerialization.d.mts +21 -0
  130. package/dist/v3/utils/ioSerialization.d.ts +21 -0
  131. package/dist/v3/utils/ioSerialization.js +2367 -0
  132. package/dist/v3/utils/ioSerialization.js.map +1 -0
  133. package/dist/v3/utils/ioSerialization.mjs +2358 -0
  134. package/dist/v3/utils/ioSerialization.mjs.map +1 -0
  135. package/dist/v3/utils/omit.d.mts +3 -0
  136. package/dist/v3/utils/omit.d.ts +3 -0
  137. package/dist/v3/utils/omit.js +20 -0
  138. package/dist/v3/utils/omit.js.map +1 -0
  139. package/dist/v3/utils/omit.mjs +18 -0
  140. package/dist/v3/utils/omit.mjs.map +1 -0
  141. package/dist/v3/utils/retries.d.mts +46 -0
  142. package/dist/v3/utils/retries.d.ts +46 -0
  143. package/dist/v3/utils/retries.js +118 -0
  144. package/dist/v3/utils/retries.js.map +1 -0
  145. package/dist/v3/utils/retries.mjs +113 -0
  146. package/dist/v3/utils/retries.mjs.map +1 -0
  147. package/dist/v3/utils/structuredLogger.d.mts +31 -0
  148. package/dist/v3/utils/structuredLogger.d.ts +31 -0
  149. package/dist/v3/utils/structuredLogger.js +88 -0
  150. package/dist/v3/utils/structuredLogger.js.map +1 -0
  151. package/dist/v3/utils/structuredLogger.mjs +86 -0
  152. package/dist/v3/utils/structuredLogger.mjs.map +1 -0
  153. package/dist/v3/utils/timers.d.mts +6 -0
  154. package/dist/v3/utils/timers.d.ts +6 -0
  155. package/dist/v3/utils/timers.js +31 -0
  156. package/dist/v3/utils/timers.js.map +1 -0
  157. package/dist/v3/utils/timers.mjs +28 -0
  158. package/dist/v3/utils/timers.mjs.map +1 -0
  159. package/dist/v3/workers/index.d.mts +144 -0
  160. package/dist/v3/workers/index.d.ts +144 -0
  161. package/dist/v3/workers/index.js +3683 -0
  162. package/dist/v3/workers/index.js.map +1 -0
  163. package/dist/v3/workers/index.mjs +3664 -0
  164. package/dist/v3/workers/index.mjs.map +1 -0
  165. package/dist/v3/zodIpc.d.mts +32 -0
  166. package/dist/v3/zodIpc.d.ts +32 -0
  167. package/dist/v3/zodIpc.js +268 -0
  168. package/dist/v3/zodIpc.js.map +1 -0
  169. package/dist/v3/zodIpc.mjs +266 -0
  170. package/dist/v3/zodIpc.mjs.map +1 -0
  171. package/dist/v3/zodMessageHandler.d.mts +82 -0
  172. package/dist/v3/zodMessageHandler.d.ts +82 -0
  173. package/dist/v3/zodMessageHandler.js +222 -0
  174. package/dist/v3/zodMessageHandler.js.map +1 -0
  175. package/dist/v3/zodMessageHandler.mjs +217 -0
  176. package/dist/v3/zodMessageHandler.mjs.map +1 -0
  177. package/dist/v3/zodNamespace.d.mts +3663 -0
  178. package/dist/v3/zodNamespace.d.ts +3663 -0
  179. package/dist/v3/zodNamespace.js +397 -0
  180. package/dist/v3/zodNamespace.js.map +1 -0
  181. package/dist/v3/zodNamespace.mjs +395 -0
  182. package/dist/v3/zodNamespace.mjs.map +1 -0
  183. package/dist/v3/zodSocket.d.mts +93 -0
  184. package/dist/v3/zodSocket.d.ts +93 -0
  185. package/dist/v3/zodSocket.js +350 -0
  186. package/dist/v3/zodSocket.js.map +1 -0
  187. package/dist/v3/zodSocket.mjs +346 -0
  188. package/dist/v3/zodSocket.mjs.map +1 -0
  189. package/dist/v3/zodfetch.d.mts +219 -0
  190. package/dist/v3/zodfetch.d.ts +219 -0
  191. package/dist/v3/zodfetch.js +834 -0
  192. package/dist/v3/zodfetch.js.map +1 -0
  193. package/dist/v3/zodfetch.mjs +811 -0
  194. package/dist/v3/zodfetch.mjs.map +1 -0
  195. package/dist/versions.d.mts +11 -0
  196. package/dist/versions.d.ts +11 -0
  197. package/dist/versions.js +31 -0
  198. package/dist/versions.js.map +1 -0
  199. package/dist/versions.mjs +27 -0
  200. package/dist/versions.mjs.map +1 -0
  201. 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"]}
@@ -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 (!obj) {
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
- result[`${newPrefix}.[${i}]`] = value[i];
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
- var _SafeAsyncLocalStorage = class _SafeAsyncLocalStorage {
134
- constructor() {
135
- this.storage = new async_hooks.AsyncLocalStorage();
136
- }
137
- runWith(context, fn) {
138
- return this.storage.run(context, fn);
139
- }
140
- getStore() {
141
- return this.storage.getStore();
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(_SafeAsyncLocalStorage, "SafeAsyncLocalStorage");
145
- var SafeAsyncLocalStorage = _SafeAsyncLocalStorage;
179
+ }
180
+ __name(unregisterGlobal, "unregisterGlobal");
146
181
 
147
- // src/v3/tasks/taskContextManager.ts
148
- var _getStore, getStore_fn;
149
- var _TaskContextManager = class _TaskContextManager {
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, _getStore);
152
- __publicField(this, "_storage", new SafeAsyncLocalStorage());
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, _getStore, getStore_fn).call(this) !== void 0;
196
+ return __privateMethod(this, _getTaskContext, getTaskContext_fn).call(this) !== void 0;
156
197
  }
157
198
  get ctx() {
158
- const store = __privateMethod(this, _getStore, getStore_fn).call(this);
159
- return store?.ctx;
199
+ return __privateMethod(this, _getTaskContext, getTaskContext_fn).call(this)?.ctx;
160
200
  }
161
201
  get worker() {
162
- const store = __privateMethod(this, _getStore, getStore_fn).call(this);
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
- runWith(context, fn) {
209
- return this._storage.runWith(context, fn);
252
+ disable() {
253
+ unregisterGlobal(API_NAME);
254
+ }
255
+ setGlobalTaskContext(taskContext2) {
256
+ return registerGlobal(API_NAME, taskContext2);
210
257
  }
211
258
  };
212
- _getStore = new WeakSet();
213
- getStore_fn = /* @__PURE__ */ __name(function() {
214
- return this._storage.getStore();
215
- }, "#getStore");
216
- __name(_TaskContextManager, "TaskContextManager");
217
- var TaskContextManager = _TaskContextManager;
218
- var taskContextManager = new TaskContextManager();
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 (taskContextManager.ctx) {
276
+ if (taskContext.ctx) {
226
277
  span.setAttributes(flattenAttributes({
227
- [SemanticInternalAttributes.ATTEMPT_ID]: taskContextManager.ctx.attempt.id,
228
- [SemanticInternalAttributes.ATTEMPT_NUMBER]: taskContextManager.ctx.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 (taskContextManager.ctx) {
305
+ if (taskContext.ctx) {
255
306
  logRecord.setAttributes(flattenAttributes({
256
- [SemanticInternalAttributes.ATTEMPT_ID]: taskContextManager.ctx.attempt.id,
257
- [SemanticInternalAttributes.ATTEMPT_NUMBER]: taskContextManager.ctx.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.50";
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 ?? 500,
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 ?? 1e3
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 this._traceProvider.forceFlush();
368
- await this._logProvider.forceFlush();
422
+ await Promise.all([
423
+ this._traceProvider.forceFlush(),
424
+ this._logProvider.forceFlush()
425
+ ]);
369
426
  }
370
427
  async shutdown() {
371
- await this._traceProvider.shutdown();
372
- await this._logProvider.shutdown();
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(new Error(error));
472
+ span.recordException(error.replace(/\0/g, ""));
414
473
  } else {
415
- span.recordException(new Error(JSON.stringify(error)));
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;