@trigger.dev/core 0.0.0-prerelease-20250213143202 → 0.0.0-python-preview-20250226140121

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 (151) hide show
  1. package/dist/commonjs/schemas/api.d.ts +1999 -1999
  2. package/dist/commonjs/schemas/events.d.ts +8 -8
  3. package/dist/commonjs/schemas/fetch.d.ts +54 -54
  4. package/dist/commonjs/schemas/integrations.d.ts +4 -4
  5. package/dist/commonjs/schemas/notifications.d.ts +80 -80
  6. package/dist/commonjs/schemas/properties.d.ts +4 -4
  7. package/dist/commonjs/schemas/request.d.ts +4 -4
  8. package/dist/commonjs/schemas/requestFilter.d.ts +2 -2
  9. package/dist/commonjs/schemas/runs.d.ts +39 -39
  10. package/dist/commonjs/schemas/schedules.d.ts +12 -12
  11. package/dist/commonjs/schemas/statuses.d.ts +24 -24
  12. package/dist/commonjs/schemas/tasks.d.ts +50 -50
  13. package/dist/commonjs/schemas/triggers.d.ts +36 -36
  14. package/dist/commonjs/v3/apiClient/index.d.ts +51 -51
  15. package/dist/commonjs/v3/apiClientManager/index.d.ts +1 -1
  16. package/dist/commonjs/v3/apps/provider.d.ts +1 -0
  17. package/dist/commonjs/v3/apps/provider.js +1 -0
  18. package/dist/commonjs/v3/apps/provider.js.map +1 -1
  19. package/dist/commonjs/v3/errors.d.ts +1 -0
  20. package/dist/commonjs/v3/errors.js +31 -0
  21. package/dist/commonjs/v3/errors.js.map +1 -1
  22. package/dist/commonjs/v3/index.d.ts +1 -0
  23. package/dist/commonjs/v3/index.js +1 -0
  24. package/dist/commonjs/v3/index.js.map +1 -1
  25. package/dist/commonjs/v3/links.d.ts +3 -0
  26. package/dist/commonjs/v3/links.js +3 -0
  27. package/dist/commonjs/v3/links.js.map +1 -1
  28. package/dist/commonjs/v3/run-timeline-metrics-api.d.ts +2 -0
  29. package/dist/commonjs/v3/run-timeline-metrics-api.js +8 -0
  30. package/dist/commonjs/v3/run-timeline-metrics-api.js.map +1 -0
  31. package/dist/commonjs/v3/runTimelineMetrics/index.d.ts +23 -0
  32. package/dist/commonjs/v3/runTimelineMetrics/index.js +160 -0
  33. package/dist/commonjs/v3/runTimelineMetrics/index.js.map +1 -0
  34. package/dist/commonjs/v3/runTimelineMetrics/runTimelineMetricsManager.d.ts +13 -0
  35. package/dist/commonjs/v3/runTimelineMetrics/runTimelineMetricsManager.js +52 -0
  36. package/dist/commonjs/v3/runTimelineMetrics/runTimelineMetricsManager.js.map +1 -0
  37. package/dist/commonjs/v3/runTimelineMetrics/types.d.ts +11 -0
  38. package/dist/commonjs/v3/runTimelineMetrics/types.js +3 -0
  39. package/dist/commonjs/v3/runTimelineMetrics/types.js.map +1 -0
  40. package/dist/commonjs/v3/schemas/api.d.ts +293 -293
  41. package/dist/commonjs/v3/schemas/build.d.ts +196 -196
  42. package/dist/commonjs/v3/schemas/common.d.ts +24 -24
  43. package/dist/commonjs/v3/schemas/common.js +1 -0
  44. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  45. package/dist/commonjs/v3/schemas/fetch.d.ts +13 -13
  46. package/dist/commonjs/v3/schemas/messages.d.ts +6605 -4119
  47. package/dist/commonjs/v3/schemas/messages.js +22 -0
  48. package/dist/commonjs/v3/schemas/messages.js.map +1 -1
  49. package/dist/commonjs/v3/schemas/openTelemetry.d.ts +20 -20
  50. package/dist/commonjs/v3/schemas/resources.d.ts +52 -52
  51. package/dist/commonjs/v3/schemas/schemas.d.ts +485 -352
  52. package/dist/commonjs/v3/schemas/schemas.js +17 -1
  53. package/dist/commonjs/v3/schemas/schemas.js.map +1 -1
  54. package/dist/commonjs/v3/schemas/webhooks.d.ts +238 -238
  55. package/dist/commonjs/v3/semanticInternalAttributes.d.ts +1 -0
  56. package/dist/commonjs/v3/semanticInternalAttributes.js +1 -0
  57. package/dist/commonjs/v3/semanticInternalAttributes.js.map +1 -1
  58. package/dist/commonjs/v3/taskContext/index.js +1 -1
  59. package/dist/commonjs/v3/taskContext/index.js.map +1 -1
  60. package/dist/commonjs/v3/tracer.d.ts +10 -2
  61. package/dist/commonjs/v3/tracer.js +13 -4
  62. package/dist/commonjs/v3/tracer.js.map +1 -1
  63. package/dist/commonjs/v3/utils/flattenAttributes.js.map +1 -1
  64. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  65. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  66. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  67. package/dist/commonjs/v3/workers/index.js +3 -1
  68. package/dist/commonjs/v3/workers/index.js.map +1 -1
  69. package/dist/commonjs/v3/workers/taskExecutor.js +19 -9
  70. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  71. package/dist/commonjs/v3/zodMessageHandler.d.ts +2 -2
  72. package/dist/commonjs/v3/zodSocket.d.ts +2 -2
  73. package/dist/commonjs/v3/zodSocket.js +3 -2
  74. package/dist/commonjs/v3/zodSocket.js.map +1 -1
  75. package/dist/commonjs/version.js +1 -1
  76. package/dist/esm/schemas/api.d.ts +2001 -2001
  77. package/dist/esm/schemas/events.d.ts +8 -8
  78. package/dist/esm/schemas/fetch.d.ts +54 -54
  79. package/dist/esm/schemas/integrations.d.ts +4 -4
  80. package/dist/esm/schemas/notifications.d.ts +80 -80
  81. package/dist/esm/schemas/properties.d.ts +4 -4
  82. package/dist/esm/schemas/request.d.ts +4 -4
  83. package/dist/esm/schemas/requestFilter.d.ts +2 -2
  84. package/dist/esm/schemas/runs.d.ts +39 -39
  85. package/dist/esm/schemas/schedules.d.ts +12 -12
  86. package/dist/esm/schemas/statuses.d.ts +24 -24
  87. package/dist/esm/schemas/tasks.d.ts +50 -50
  88. package/dist/esm/schemas/triggers.d.ts +36 -36
  89. package/dist/esm/v3/apiClient/index.d.ts +51 -51
  90. package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
  91. package/dist/esm/v3/apps/provider.d.ts +1 -0
  92. package/dist/esm/v3/apps/provider.js +1 -0
  93. package/dist/esm/v3/apps/provider.js.map +1 -1
  94. package/dist/esm/v3/errors.d.ts +1 -0
  95. package/dist/esm/v3/errors.js +30 -0
  96. package/dist/esm/v3/errors.js.map +1 -1
  97. package/dist/esm/v3/index.d.ts +1 -0
  98. package/dist/esm/v3/index.js +1 -0
  99. package/dist/esm/v3/index.js.map +1 -1
  100. package/dist/esm/v3/links.d.ts +3 -0
  101. package/dist/esm/v3/links.js +3 -0
  102. package/dist/esm/v3/links.js.map +1 -1
  103. package/dist/esm/v3/run-timeline-metrics-api.d.ts +2 -0
  104. package/dist/esm/v3/run-timeline-metrics-api.js +5 -0
  105. package/dist/esm/v3/run-timeline-metrics-api.js.map +1 -0
  106. package/dist/esm/v3/runTimelineMetrics/index.d.ts +23 -0
  107. package/dist/esm/v3/runTimelineMetrics/index.js +156 -0
  108. package/dist/esm/v3/runTimelineMetrics/index.js.map +1 -0
  109. package/dist/esm/v3/runTimelineMetrics/runTimelineMetricsManager.d.ts +13 -0
  110. package/dist/esm/v3/runTimelineMetrics/runTimelineMetricsManager.js +47 -0
  111. package/dist/esm/v3/runTimelineMetrics/runTimelineMetricsManager.js.map +1 -0
  112. package/dist/esm/v3/runTimelineMetrics/types.d.ts +11 -0
  113. package/dist/esm/v3/runTimelineMetrics/types.js +2 -0
  114. package/dist/esm/v3/runTimelineMetrics/types.js.map +1 -0
  115. package/dist/esm/v3/schemas/api.d.ts +293 -293
  116. package/dist/esm/v3/schemas/build.d.ts +196 -196
  117. package/dist/esm/v3/schemas/common.d.ts +24 -24
  118. package/dist/esm/v3/schemas/common.js +1 -0
  119. package/dist/esm/v3/schemas/common.js.map +1 -1
  120. package/dist/esm/v3/schemas/fetch.d.ts +13 -13
  121. package/dist/esm/v3/schemas/messages.d.ts +6605 -4119
  122. package/dist/esm/v3/schemas/messages.js +23 -1
  123. package/dist/esm/v3/schemas/messages.js.map +1 -1
  124. package/dist/esm/v3/schemas/openTelemetry.d.ts +20 -20
  125. package/dist/esm/v3/schemas/resources.d.ts +52 -52
  126. package/dist/esm/v3/schemas/schemas.d.ts +485 -352
  127. package/dist/esm/v3/schemas/schemas.js +16 -0
  128. package/dist/esm/v3/schemas/schemas.js.map +1 -1
  129. package/dist/esm/v3/schemas/webhooks.d.ts +238 -238
  130. package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
  131. package/dist/esm/v3/semanticInternalAttributes.js +1 -0
  132. package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
  133. package/dist/esm/v3/taskContext/index.js +1 -1
  134. package/dist/esm/v3/taskContext/index.js.map +1 -1
  135. package/dist/esm/v3/tracer.d.ts +10 -2
  136. package/dist/esm/v3/tracer.js +13 -4
  137. package/dist/esm/v3/tracer.js.map +1 -1
  138. package/dist/esm/v3/utils/flattenAttributes.js.map +1 -1
  139. package/dist/esm/v3/utils/globals.d.ts +2 -0
  140. package/dist/esm/v3/utils/globals.js.map +1 -1
  141. package/dist/esm/v3/workers/index.d.ts +1 -0
  142. package/dist/esm/v3/workers/index.js +1 -0
  143. package/dist/esm/v3/workers/index.js.map +1 -1
  144. package/dist/esm/v3/workers/taskExecutor.js +20 -10
  145. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  146. package/dist/esm/v3/zodMessageHandler.d.ts +2 -2
  147. package/dist/esm/v3/zodSocket.d.ts +2 -2
  148. package/dist/esm/v3/zodSocket.js +3 -2
  149. package/dist/esm/v3/zodSocket.js.map +1 -1
  150. package/dist/esm/version.js +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ import { Attributes } from "@opentelemetry/api";
2
+ import { TriggerTracerSpanEvent } from "../tracer.js";
3
+ import { RunTimelineMetric, RunTimelineMetricsManager } from "./types.js";
4
+ export declare class RunTimelineMetricsAPI implements RunTimelineMetricsManager {
5
+ #private;
6
+ private static _instance?;
7
+ private constructor();
8
+ static getInstance(): RunTimelineMetricsAPI;
9
+ registerMetric(metric: RunTimelineMetric): void;
10
+ getMetrics(): RunTimelineMetric[];
11
+ /**
12
+ * Measures the execution time of an async function and registers it as a metric
13
+ * @param metricName The name of the metric
14
+ * @param eventName The event name
15
+ * @param attributesOrCallback Optional attributes or the callback function
16
+ * @param callbackFn The async function to measure (if attributes were provided)
17
+ * @returns The result of the callback function
18
+ */
19
+ measureMetric<T>(metricName: string, eventName: string, attributesOrCallback: Attributes | (() => Promise<T>), callbackFn?: () => Promise<T>): Promise<T>;
20
+ convertMetricsToSpanEvents(): TriggerTracerSpanEvent[];
21
+ convertMetricsToSpanAttributes(): Attributes;
22
+ setGlobalManager(manager: RunTimelineMetricsManager): boolean;
23
+ }
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RunTimelineMetricsAPI = void 0;
4
+ const globals_js_1 = require("../utils/globals.js");
5
+ const runTimelineMetricsManager_js_1 = require("./runTimelineMetricsManager.js");
6
+ const flattenAttributes_js_1 = require("../utils/flattenAttributes.js");
7
+ const semanticInternalAttributes_js_1 = require("../semanticInternalAttributes.js");
8
+ const API_NAME = "run-timeline-metrics";
9
+ const NOOP_MANAGER = new runTimelineMetricsManager_js_1.NoopRunTimelineMetricsManager();
10
+ class RunTimelineMetricsAPI {
11
+ static _instance;
12
+ constructor() { }
13
+ static getInstance() {
14
+ if (!this._instance) {
15
+ this._instance = new RunTimelineMetricsAPI();
16
+ }
17
+ return this._instance;
18
+ }
19
+ registerMetric(metric) {
20
+ this.#getManager().registerMetric(metric);
21
+ }
22
+ getMetrics() {
23
+ return this.#getManager().getMetrics();
24
+ }
25
+ /**
26
+ * Measures the execution time of an async function and registers it as a metric
27
+ * @param metricName The name of the metric
28
+ * @param eventName The event name
29
+ * @param attributesOrCallback Optional attributes or the callback function
30
+ * @param callbackFn The async function to measure (if attributes were provided)
31
+ * @returns The result of the callback function
32
+ */
33
+ async measureMetric(metricName, eventName, attributesOrCallback, callbackFn) {
34
+ // Handle overloaded function signature
35
+ let attributes = {};
36
+ let callback;
37
+ if (typeof attributesOrCallback === "function") {
38
+ callback = attributesOrCallback;
39
+ }
40
+ else {
41
+ attributes = attributesOrCallback || {};
42
+ if (!callbackFn) {
43
+ throw new Error("Callback function is required when attributes are provided");
44
+ }
45
+ callback = callbackFn;
46
+ }
47
+ // Record start time
48
+ const startTime = Date.now();
49
+ try {
50
+ // Execute the callback
51
+ const result = await callback();
52
+ // Calculate duration
53
+ const duration = Date.now() - startTime;
54
+ // Register the metric
55
+ this.registerMetric({
56
+ name: metricName,
57
+ event: eventName,
58
+ attributes: {
59
+ ...attributes,
60
+ duration,
61
+ },
62
+ timestamp: startTime,
63
+ });
64
+ return result;
65
+ }
66
+ catch (error) {
67
+ // Register the metric even if there's an error, but mark it as failed
68
+ const duration = Date.now() - startTime;
69
+ this.registerMetric({
70
+ name: metricName,
71
+ event: eventName,
72
+ attributes: {
73
+ ...attributes,
74
+ duration,
75
+ error: error instanceof Error ? error.message : String(error),
76
+ status: "failed",
77
+ },
78
+ timestamp: startTime,
79
+ });
80
+ // Re-throw the error
81
+ throw error;
82
+ }
83
+ }
84
+ convertMetricsToSpanEvents() {
85
+ const metrics = this.getMetrics();
86
+ const spanEvents = metrics.map((metric) => {
87
+ return {
88
+ name: metric.name,
89
+ startTime: metric.timestamp,
90
+ attributes: {
91
+ ...metric.attributes,
92
+ event: metric.event,
93
+ },
94
+ };
95
+ });
96
+ return spanEvents;
97
+ }
98
+ convertMetricsToSpanAttributes() {
99
+ const metrics = this.getMetrics();
100
+ if (metrics.length === 0) {
101
+ return {};
102
+ }
103
+ // Group metrics by name
104
+ const metricsByName = metrics.reduce((acc, metric) => {
105
+ if (!acc[metric.name]) {
106
+ acc[metric.name] = [];
107
+ }
108
+ acc[metric.name].push(metric);
109
+ return acc;
110
+ }, {});
111
+ // Process each metric type
112
+ const reducedMetrics = metrics.reduce((acc, metric) => {
113
+ acc[metric.event] = {
114
+ name: metric.name,
115
+ timestamp: metric.timestamp,
116
+ event: metric.event,
117
+ ...(0, flattenAttributes_js_1.flattenAttributes)(metric.attributes, "attributes"),
118
+ };
119
+ return acc;
120
+ }, {});
121
+ const metricEventRollups = {};
122
+ // Calculate duration for each metric type
123
+ // Calculate duration for each metric type
124
+ for (const [metricName, metricEvents] of Object.entries(metricsByName)) {
125
+ // Skip if there are no events for this metric
126
+ if (metricEvents.length === 0)
127
+ continue;
128
+ // Sort events by timestamp
129
+ const sortedEvents = [...metricEvents].sort((a, b) => a.timestamp - b.timestamp);
130
+ // Get first event timestamp (we know it exists because we checked length above)
131
+ const firstTimestamp = sortedEvents[0].timestamp;
132
+ // Get last event (we know it exists because we checked length above)
133
+ const lastEvent = sortedEvents[sortedEvents.length - 1];
134
+ // Calculate total duration: from first event to (last event + its duration)
135
+ // Use optional chaining and nullish coalescing for safety
136
+ const lastEventDuration = lastEvent.attributes?.duration ?? 0;
137
+ const lastEventEndTime = lastEvent.timestamp + lastEventDuration;
138
+ // Store the total duration for this metric type
139
+ const duration = lastEventEndTime - firstTimestamp;
140
+ const timestamp = firstTimestamp;
141
+ metricEventRollups[metricName] = {
142
+ name: metricName,
143
+ duration,
144
+ timestamp,
145
+ };
146
+ }
147
+ return {
148
+ ...(0, flattenAttributes_js_1.flattenAttributes)(reducedMetrics, semanticInternalAttributes_js_1.SemanticInternalAttributes.METRIC_EVENTS),
149
+ ...(0, flattenAttributes_js_1.flattenAttributes)(metricEventRollups, semanticInternalAttributes_js_1.SemanticInternalAttributes.METRIC_EVENTS),
150
+ };
151
+ }
152
+ setGlobalManager(manager) {
153
+ return (0, globals_js_1.registerGlobal)(API_NAME, manager);
154
+ }
155
+ #getManager() {
156
+ return (0, globals_js_1.getGlobal)(API_NAME) ?? NOOP_MANAGER;
157
+ }
158
+ }
159
+ exports.RunTimelineMetricsAPI = RunTimelineMetricsAPI;
160
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/runTimelineMetrics/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { TaskRunExecutionMetrics } from "../schemas/schemas.js";
2
+ import { RunTimelineMetric, RunTimelineMetricsManager } from "./types.js";
3
+ export declare class StandardRunTimelineMetricsManager implements RunTimelineMetricsManager {
4
+ private _metrics;
5
+ registerMetric(metric: RunTimelineMetric): void;
6
+ getMetrics(): RunTimelineMetric[];
7
+ registerMetricsFromExecution(metrics?: TaskRunExecutionMetrics): void;
8
+ seedMetricsFromEnvironment(): void;
9
+ }
10
+ export declare class NoopRunTimelineMetricsManager implements RunTimelineMetricsManager {
11
+ registerMetric(metric: RunTimelineMetric): void;
12
+ getMetrics(): RunTimelineMetric[];
13
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoopRunTimelineMetricsManager = exports.StandardRunTimelineMetricsManager = void 0;
4
+ const getEnv_js_1 = require("../utils/getEnv.js");
5
+ class StandardRunTimelineMetricsManager {
6
+ _metrics = [];
7
+ registerMetric(metric) {
8
+ this._metrics.push(metric);
9
+ }
10
+ getMetrics() {
11
+ return this._metrics;
12
+ }
13
+ registerMetricsFromExecution(metrics) {
14
+ if (metrics) {
15
+ metrics.forEach((metric) => {
16
+ this.registerMetric({
17
+ name: `trigger.dev/${metric.name}`,
18
+ event: metric.event,
19
+ timestamp: metric.timestamp,
20
+ attributes: {
21
+ duration: metric.duration,
22
+ },
23
+ });
24
+ });
25
+ }
26
+ }
27
+ seedMetricsFromEnvironment() {
28
+ const forkStartTime = (0, getEnv_js_1.getEnvVar)("TRIGGER_PROCESS_FORK_START_TIME");
29
+ if (typeof forkStartTime === "string") {
30
+ const forkStartTimeMs = parseInt(forkStartTime, 10);
31
+ this.registerMetric({
32
+ name: "trigger.dev/start",
33
+ event: "fork",
34
+ attributes: {
35
+ duration: Date.now() - forkStartTimeMs,
36
+ },
37
+ timestamp: forkStartTimeMs,
38
+ });
39
+ }
40
+ }
41
+ }
42
+ exports.StandardRunTimelineMetricsManager = StandardRunTimelineMetricsManager;
43
+ class NoopRunTimelineMetricsManager {
44
+ registerMetric(metric) {
45
+ // Do nothing
46
+ }
47
+ getMetrics() {
48
+ return [];
49
+ }
50
+ }
51
+ exports.NoopRunTimelineMetricsManager = NoopRunTimelineMetricsManager;
52
+ //# sourceMappingURL=runTimelineMetricsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runTimelineMetricsManager.js","sourceRoot":"","sources":["../../../../src/v3/runTimelineMetrics/runTimelineMetricsManager.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAG/C,MAAa,iCAAiC;IACpC,QAAQ,GAAwB,EAAE,CAAC;IAE3C,cAAc,CAAC,MAAyB;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,4BAA4B,CAAC,OAAiC;QAC5D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,eAAe,MAAM,CAAC,IAAI,EAAE;oBAClC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,UAAU,EAAE;wBACV,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B;QACxB,MAAM,aAAa,GAAG,IAAA,qBAAS,EAAC,iCAAiC,CAAC,CAAC;QAEnE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAEpD,IAAI,CAAC,cAAc,CAAC;gBAClB,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;iBACvC;gBACD,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA1CD,8EA0CC;AAED,MAAa,6BAA6B;IACxC,cAAc,CAAC,MAAyB;QACtC,aAAa;IACf,CAAC;IAED,UAAU;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AARD,sEAQC"}
@@ -0,0 +1,11 @@
1
+ import { Attributes } from "@opentelemetry/api";
2
+ export type RunTimelineMetric = {
3
+ name: string;
4
+ event: string;
5
+ timestamp: number;
6
+ attributes?: Attributes;
7
+ };
8
+ export interface RunTimelineMetricsManager {
9
+ registerMetric(metric: RunTimelineMetric): void;
10
+ getMetrics(): RunTimelineMetric[];
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/runTimelineMetrics/types.ts"],"names":[],"mappings":""}