@trigger.dev/core 0.0.0-prerelease-20251007140052 → 0.0.0-prerelease-20251113152046
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/commonjs/v3/apiClient/index.d.ts +106 -8
- package/dist/commonjs/v3/apiClient/index.js +75 -4
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.d.ts +28 -14
- package/dist/commonjs/v3/apiClient/runStream.js +175 -58
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/apiClientManager/index.d.ts +1 -1
- package/dist/commonjs/v3/apiClientManager/index.js +11 -4
- package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
- package/dist/commonjs/v3/apiClientManager/types.d.ts +2 -1
- package/dist/commonjs/v3/errors.d.ts +5 -0
- package/dist/commonjs/v3/errors.js +12 -1
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +1 -0
- package/dist/commonjs/v3/index.js +1 -0
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/lifecycle-hooks-api.d.ts +1 -1
- package/dist/commonjs/v3/lifecycleHooks/index.d.ts +5 -1
- package/dist/commonjs/v3/lifecycleHooks/index.js +12 -0
- package/dist/commonjs/v3/lifecycleHooks/index.js.map +1 -1
- package/dist/commonjs/v3/lifecycleHooks/manager.d.ts +11 -1
- package/dist/commonjs/v3/lifecycleHooks/manager.js +36 -0
- package/dist/commonjs/v3/lifecycleHooks/manager.js.map +1 -1
- package/dist/commonjs/v3/lifecycleHooks/types.d.ts +12 -0
- package/dist/commonjs/v3/realtime-streams-api.d.ts +3 -0
- package/dist/commonjs/v3/realtime-streams-api.js +23 -0
- package/dist/commonjs/v3/realtime-streams-api.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/index.d.ts +10 -0
- package/dist/commonjs/v3/realtimeStreams/index.js +31 -0
- package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/manager.d.ts +14 -0
- package/dist/commonjs/v3/realtimeStreams/manager.js +128 -0
- package/dist/commonjs/v3/realtimeStreams/manager.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.d.ts +5 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.js +17 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.d.ts +23 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js +106 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +382 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +179 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/types.d.ts +119 -0
- package/dist/commonjs/v3/realtimeStreams/types.js +3 -0
- package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
- package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
- package/dist/commonjs/v3/runMetadata/manager.d.ts +3 -8
- package/dist/commonjs/v3/runMetadata/manager.js +14 -79
- package/dist/commonjs/v3/runMetadata/manager.js.map +1 -1
- package/dist/commonjs/v3/schemas/api.d.ts +69 -25
- package/dist/commonjs/v3/schemas/api.js +24 -6
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/common.d.ts +5 -0
- package/dist/commonjs/v3/schemas/common.js +1 -0
- package/dist/commonjs/v3/schemas/common.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +50 -0
- package/dist/commonjs/v3/schemas/messages.js +7 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/queues.d.ts +41 -2
- package/dist/commonjs/v3/schemas/queues.js +17 -2
- package/dist/commonjs/v3/schemas/queues.js.map +1 -1
- package/dist/commonjs/v3/schemas/runEngine.d.ts +7 -0
- package/dist/commonjs/v3/schemas/schemas.d.ts +7 -0
- package/dist/commonjs/v3/semanticInternalAttributes.d.ts +1 -0
- package/dist/commonjs/v3/semanticInternalAttributes.js +1 -0
- package/dist/commonjs/v3/semanticInternalAttributes.js.map +1 -1
- package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +2 -0
- package/dist/commonjs/v3/streams/asyncIterableStream.js +47 -0
- package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/commonjs/v3/timeout/api.d.ts +1 -0
- package/dist/commonjs/v3/timeout/api.js +6 -0
- package/dist/commonjs/v3/timeout/api.js.map +1 -1
- package/dist/commonjs/v3/timeout/types.d.ts +1 -0
- package/dist/commonjs/v3/timeout/types.js.map +1 -1
- package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +2 -0
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js +10 -1
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -1
- package/dist/commonjs/v3/types/tasks.d.ts +17 -2
- package/dist/commonjs/v3/types/tasks.js.map +1 -1
- package/dist/commonjs/v3/utils/globals.d.ts +2 -0
- package/dist/commonjs/v3/utils/globals.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/index.d.ts +1 -1
- package/dist/commonjs/v3/waitUntil/index.js +3 -3
- package/dist/commonjs/v3/waitUntil/index.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/manager.d.ts +3 -1
- package/dist/commonjs/v3/waitUntil/manager.js +7 -3
- package/dist/commonjs/v3/waitUntil/manager.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/types.d.ts +2 -2
- package/dist/commonjs/v3/workers/index.d.ts +1 -0
- package/dist/commonjs/v3/workers/index.js +3 -1
- package/dist/commonjs/v3/workers/index.js.map +1 -1
- package/dist/commonjs/v3/workers/taskExecutor.js +53 -40
- package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
- package/dist/commonjs/v3/workers/warmStartClient.d.ts +3 -0
- package/dist/commonjs/v3/workers/warmStartClient.js +67 -28
- package/dist/commonjs/v3/workers/warmStartClient.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +106 -8
- package/dist/esm/v3/apiClient/index.js +76 -6
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.d.ts +28 -14
- package/dist/esm/v3/apiClient/runStream.js +176 -58
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
- package/dist/esm/v3/apiClientManager/index.js +11 -4
- package/dist/esm/v3/apiClientManager/index.js.map +1 -1
- package/dist/esm/v3/apiClientManager/types.d.ts +2 -1
- package/dist/esm/v3/errors.d.ts +5 -0
- package/dist/esm/v3/errors.js +10 -0
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/index.d.ts +1 -0
- package/dist/esm/v3/index.js +1 -0
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/lifecycle-hooks-api.d.ts +1 -1
- package/dist/esm/v3/lifecycleHooks/index.d.ts +5 -1
- package/dist/esm/v3/lifecycleHooks/index.js +12 -0
- package/dist/esm/v3/lifecycleHooks/index.js.map +1 -1
- package/dist/esm/v3/lifecycleHooks/manager.d.ts +11 -1
- package/dist/esm/v3/lifecycleHooks/manager.js +36 -0
- package/dist/esm/v3/lifecycleHooks/manager.js.map +1 -1
- package/dist/esm/v3/lifecycleHooks/types.d.ts +12 -0
- package/dist/esm/v3/realtime-streams-api.d.ts +3 -0
- package/dist/esm/v3/realtime-streams-api.js +6 -0
- package/dist/esm/v3/realtime-streams-api.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/index.d.ts +10 -0
- package/dist/esm/v3/realtimeStreams/index.js +27 -0
- package/dist/esm/v3/realtimeStreams/index.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/manager.d.ts +14 -0
- package/dist/esm/v3/realtimeStreams/manager.js +124 -0
- package/dist/esm/v3/realtimeStreams/manager.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/noopManager.d.ts +5 -0
- package/dist/esm/v3/realtimeStreams/noopManager.js +13 -0
- package/dist/esm/v3/realtimeStreams/noopManager.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.d.ts +23 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.js +102 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +378 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +175 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/types.d.ts +119 -0
- package/dist/esm/v3/realtimeStreams/types.js +2 -0
- package/dist/esm/v3/realtimeStreams/types.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
- package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -0
- package/dist/esm/v3/runMetadata/manager.d.ts +3 -8
- package/dist/esm/v3/runMetadata/manager.js +14 -79
- package/dist/esm/v3/runMetadata/manager.js.map +1 -1
- package/dist/esm/v3/schemas/api.d.ts +69 -25
- package/dist/esm/v3/schemas/api.js +21 -3
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/common.d.ts +5 -0
- package/dist/esm/v3/schemas/common.js +1 -0
- package/dist/esm/v3/schemas/common.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +50 -0
- package/dist/esm/v3/schemas/messages.js +7 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/queues.d.ts +41 -2
- package/dist/esm/v3/schemas/queues.js +17 -2
- package/dist/esm/v3/schemas/queues.js.map +1 -1
- package/dist/esm/v3/schemas/runEngine.d.ts +7 -0
- package/dist/esm/v3/schemas/schemas.d.ts +7 -0
- package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
- package/dist/esm/v3/semanticInternalAttributes.js +1 -0
- package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
- package/dist/esm/v3/streams/asyncIterableStream.d.ts +2 -0
- package/dist/esm/v3/streams/asyncIterableStream.js +45 -0
- package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/esm/v3/timeout/api.d.ts +1 -0
- package/dist/esm/v3/timeout/api.js +6 -0
- package/dist/esm/v3/timeout/api.js.map +1 -1
- package/dist/esm/v3/timeout/types.d.ts +1 -0
- package/dist/esm/v3/timeout/types.js.map +1 -1
- package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +2 -0
- package/dist/esm/v3/timeout/usageTimeoutManager.js +10 -1
- package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -1
- package/dist/esm/v3/types/tasks.d.ts +17 -2
- package/dist/esm/v3/types/tasks.js.map +1 -1
- package/dist/esm/v3/utils/globals.d.ts +2 -0
- package/dist/esm/v3/utils/globals.js.map +1 -1
- package/dist/esm/v3/waitUntil/index.d.ts +1 -1
- package/dist/esm/v3/waitUntil/index.js +3 -3
- package/dist/esm/v3/waitUntil/index.js.map +1 -1
- package/dist/esm/v3/waitUntil/manager.d.ts +3 -1
- package/dist/esm/v3/waitUntil/manager.js +7 -3
- package/dist/esm/v3/waitUntil/manager.js.map +1 -1
- package/dist/esm/v3/waitUntil/types.d.ts +2 -2
- package/dist/esm/v3/workers/index.d.ts +1 -0
- package/dist/esm/v3/workers/index.js +1 -0
- package/dist/esm/v3/workers/index.js.map +1 -1
- package/dist/esm/v3/workers/taskExecutor.js +54 -41
- package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
- package/dist/esm/v3/workers/warmStartClient.d.ts +3 -0
- package/dist/esm/v3/workers/warmStartClient.js +67 -28
- package/dist/esm/v3/workers/warmStartClient.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -1
- package/dist/commonjs/v3/runMetadata/metadataStream.d.ts +0 -28
- package/dist/commonjs/v3/runMetadata/metadataStream.js +0 -155
- package/dist/commonjs/v3/runMetadata/metadataStream.js.map +0 -1
- package/dist/esm/v3/runMetadata/metadataStream.d.ts +0 -28
- package/dist/esm/v3/runMetadata/metadataStream.js +0 -151
- package/dist/esm/v3/runMetadata/metadataStream.js.map +0 -1
|
@@ -72,4 +72,49 @@ export function createAsyncIterableStreamFromAsyncIterable(asyncIterable, transf
|
|
|
72
72
|
export function createAsyncIterableStreamFromAsyncGenerator(asyncGenerator, transformer, signal) {
|
|
73
73
|
return createAsyncIterableStreamFromAsyncIterable(asyncGenerator, transformer, signal);
|
|
74
74
|
}
|
|
75
|
+
export function ensureAsyncIterable(input) {
|
|
76
|
+
// If it's already an AsyncIterable, return it as-is
|
|
77
|
+
if (Symbol.asyncIterator in input) {
|
|
78
|
+
return input;
|
|
79
|
+
}
|
|
80
|
+
// Convert ReadableStream to AsyncIterable
|
|
81
|
+
const readableStream = input;
|
|
82
|
+
return {
|
|
83
|
+
async *[Symbol.asyncIterator]() {
|
|
84
|
+
const reader = readableStream.getReader();
|
|
85
|
+
try {
|
|
86
|
+
while (true) {
|
|
87
|
+
const { done, value } = await reader.read();
|
|
88
|
+
if (done) {
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
if (value !== undefined) {
|
|
92
|
+
yield value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
reader.releaseLock();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export function ensureReadableStream(input) {
|
|
103
|
+
if ("getReader" in input) {
|
|
104
|
+
return input;
|
|
105
|
+
}
|
|
106
|
+
return new ReadableStream({
|
|
107
|
+
async start(controller) {
|
|
108
|
+
const iterator = input[Symbol.asyncIterator]();
|
|
109
|
+
while (true) {
|
|
110
|
+
const { done, value } = await iterator.next();
|
|
111
|
+
if (done) {
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
controller.enqueue(value);
|
|
115
|
+
}
|
|
116
|
+
controller.close();
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}
|
|
75
120
|
//# sourceMappingURL=asyncIterableStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncIterableStream.js","sourceRoot":"","sources":["../../../../src/v3/streams/asyncIterableStream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asyncIterableStream.js","sourceRoot":"","sources":["../../../../src/v3/streams/asyncIterableStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,5 @@ export declare class TimeoutAPI implements TimeoutManager {
|
|
|
9
9
|
setGlobalManager(manager: TimeoutManager): boolean;
|
|
10
10
|
disable(): void;
|
|
11
11
|
reset(): void;
|
|
12
|
+
registerListener(listener: (timeoutInSeconds: number, elapsedTimeInSeconds: number) => void | Promise<void>): void;
|
|
12
13
|
}
|
|
@@ -32,6 +32,12 @@ export class TimeoutAPI {
|
|
|
32
32
|
this.#getManager().reset();
|
|
33
33
|
this.disable();
|
|
34
34
|
}
|
|
35
|
+
registerListener(listener) {
|
|
36
|
+
const manager = this.#getManager();
|
|
37
|
+
if (manager.registerListener) {
|
|
38
|
+
manager.registerListener(listener);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
35
41
|
#getManager() {
|
|
36
42
|
return getGlobal(API_NAME) ?? NOOP_TIMEOUT_MANAGER;
|
|
37
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/v3/timeout/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,kBAAkB;IACtB,iBAAiB,CAAC,gBAAyB;QACzC,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,KAAI,CAAC;CACX;AAED,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEtD,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,SAAS,CAAc;IAEtC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;IACnC,CAAC;IAEM,iBAAiB,CAAC,gBAAyB;QAChD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAEM,gBAAgB,CAAC,OAAuB;QAC7C,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/v3/timeout/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGlF,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,kBAAkB;IACtB,iBAAiB,CAAC,gBAAyB;QACzC,OAAO,IAAI,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,KAAI,CAAC;CACX;AAED,MAAM,oBAAoB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEtD,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,SAAS,CAAc;IAEtC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;IACnC,CAAC;IAEM,iBAAiB,CAAC,gBAAyB;QAChD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAEM,gBAAgB,CAAC,OAAuB;QAC7C,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEM,gBAAgB,CAAC,QAA0F;QAChH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -2,6 +2,7 @@ export interface TimeoutManager {
|
|
|
2
2
|
abortAfterTimeout: (timeoutInSeconds?: number) => AbortController;
|
|
3
3
|
signal?: AbortSignal;
|
|
4
4
|
reset: () => void;
|
|
5
|
+
registerListener?: (listener: (timeoutInSeconds: number, elapsedTimeInSeconds: number) => void | Promise<void>) => void;
|
|
5
6
|
}
|
|
6
7
|
export declare class TaskRunExceededMaxDuration extends Error {
|
|
7
8
|
readonly timeoutInSeconds: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/timeout/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/timeout/types.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAEjC;IACA;IAFlB,YACkB,gBAAwB,EACxB,cAAsB;QAEtC,KAAK,CAAC,+BAA+B,gBAAgB,UAAU,CAAC,CAAC;QAHjD,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,mBAAc,GAAd,cAAc,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -5,7 +5,9 @@ export declare class UsageTimeoutManager implements TimeoutManager {
|
|
|
5
5
|
private _abortController;
|
|
6
6
|
private _abortSignal;
|
|
7
7
|
private _intervalId;
|
|
8
|
+
private _listener?;
|
|
8
9
|
constructor(usageManager: UsageManager);
|
|
10
|
+
registerListener(listener: (timeoutInSeconds: number, elapsedTimeInSeconds: number) => void | Promise<void>): void;
|
|
9
11
|
get signal(): AbortSignal | undefined;
|
|
10
12
|
reset(): void;
|
|
11
13
|
abortAfterTimeout(timeoutInSeconds?: number): AbortController;
|
|
@@ -4,10 +4,14 @@ export class UsageTimeoutManager {
|
|
|
4
4
|
_abortController;
|
|
5
5
|
_abortSignal;
|
|
6
6
|
_intervalId;
|
|
7
|
+
_listener;
|
|
7
8
|
constructor(usageManager) {
|
|
8
9
|
this.usageManager = usageManager;
|
|
9
10
|
this._abortController = new AbortController();
|
|
10
11
|
}
|
|
12
|
+
registerListener(listener) {
|
|
13
|
+
this._listener = listener;
|
|
14
|
+
}
|
|
11
15
|
get signal() {
|
|
12
16
|
return this._abortSignal;
|
|
13
17
|
}
|
|
@@ -33,7 +37,12 @@ export class UsageTimeoutManager {
|
|
|
33
37
|
if (sample) {
|
|
34
38
|
if (sample.cpuTime > timeoutInSeconds * 1000) {
|
|
35
39
|
clearInterval(this._intervalId);
|
|
36
|
-
|
|
40
|
+
const elapsedTimeInSeconds = sample.cpuTime / 1000;
|
|
41
|
+
// Call the listener if registered
|
|
42
|
+
if (this._listener) {
|
|
43
|
+
void this._listener(timeoutInSeconds, elapsedTimeInSeconds);
|
|
44
|
+
}
|
|
45
|
+
this._abortController.abort(new TaskRunExceededMaxDuration(timeoutInSeconds, elapsedTimeInSeconds));
|
|
37
46
|
}
|
|
38
47
|
}
|
|
39
48
|
}, 1000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageTimeoutManager.js","sourceRoot":"","sources":["../../../../src/v3/timeout/usageTimeoutManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,YAAY,CAAC;AAExE,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"usageTimeoutManager.js","sourceRoot":"","sources":["../../../../src/v3/timeout/usageTimeoutManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAkB,MAAM,YAAY,CAAC;AAExE,MAAM,OAAO,mBAAmB;IASD;IARrB,gBAAgB,CAAkB;IAClC,YAAY,CAA0B;IACtC,WAAW,CAA6B;IACxC,SAAS,CAGS;IAE1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAChD,CAAC;IAED,gBAAgB,CACd,QAA0F;QAE1F,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,gBAAyB;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,yGAAyG;QACzG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,OAAO,GAAG,gBAAgB,GAAG,IAAI,EAAE,CAAC;oBAC7C,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAEhC,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBAEnD,kCAAkC;oBAClC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,KAAK,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;oBAC9D,CAAC;oBAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CACzB,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CACvE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SerializableJson } from "../../schemas/json.js";
|
|
2
2
|
import { TriggerApiRequestOptions } from "../apiClient/index.js";
|
|
3
|
-
import { AnyOnCatchErrorHookFunction, OnCatchErrorHookFunction, OnCleanupHookFunction, OnCompleteHookFunction, OnFailureHookFunction, OnInitHookFunction, OnMiddlewareHookFunction, OnResumeHookFunction, OnStartHookFunction, OnSuccessHookFunction, OnWaitHookFunction, OnCancelHookFunction } from "../lifecycleHooks/types.js";
|
|
3
|
+
import { AnyOnCatchErrorHookFunction, OnCatchErrorHookFunction, OnCleanupHookFunction, OnCompleteHookFunction, OnFailureHookFunction, OnInitHookFunction, OnMiddlewareHookFunction, OnResumeHookFunction, OnStartHookFunction, OnSuccessHookFunction, OnWaitHookFunction, OnCancelHookFunction, OnStartAttemptHookFunction } from "../lifecycleHooks/types.js";
|
|
4
4
|
import { RunTags } from "../schemas/api.js";
|
|
5
5
|
import { MachineCpu, MachineMemory, MachinePresetName, RetryOptions, TaskMetadata, TaskRunContext } from "../schemas/index.js";
|
|
6
6
|
import { IdempotencyKey } from "./idempotencyKeys.js";
|
|
@@ -49,6 +49,12 @@ export type StartFnParams = Prettify<{
|
|
|
49
49
|
/** Abort signal that is aborted when a task run exceeds it's maxDuration or if the task run is cancelled. Can be used to automatically cancel downstream requests */
|
|
50
50
|
signal: AbortSignal;
|
|
51
51
|
}>;
|
|
52
|
+
export type StartAttemptFnParams = Prettify<{
|
|
53
|
+
ctx: Context;
|
|
54
|
+
init?: InitOutput;
|
|
55
|
+
/** Abort signal that is aborted when a task run exceeds it's maxDuration or if the task run is cancelled. Can be used to automatically cancel downstream requests */
|
|
56
|
+
signal: AbortSignal;
|
|
57
|
+
}>;
|
|
52
58
|
export type CancelFnParams = Prettify<{
|
|
53
59
|
ctx: Context;
|
|
54
60
|
/** Abort signal that is aborted when a task run exceeds it's maxDuration or if the task run is cancelled. Can be used to automatically cancel downstream requests */
|
|
@@ -229,8 +235,16 @@ type CommonTaskOptions<TIdentifier extends string, TPayload = void, TOutput = un
|
|
|
229
235
|
middleware?: OnMiddlewareHookFunction<TPayload>;
|
|
230
236
|
/**
|
|
231
237
|
* onStart is called the first time a task is executed in a run (not before every retry)
|
|
238
|
+
*
|
|
239
|
+
* @deprecated Use onStartAttempt instead
|
|
232
240
|
*/
|
|
233
241
|
onStart?: OnStartHookFunction<TPayload, TInitOutput>;
|
|
242
|
+
/**
|
|
243
|
+
* onStartAttempt is called before each attempt of a task is executed.
|
|
244
|
+
*
|
|
245
|
+
* You can detect the first attempt by checking `ctx.attempt.number === 1`.
|
|
246
|
+
*/
|
|
247
|
+
onStartAttempt?: OnStartAttemptHookFunction<TPayload>;
|
|
234
248
|
/**
|
|
235
249
|
* onSuccess is called after the run function has successfully completed.
|
|
236
250
|
*/
|
|
@@ -387,7 +401,7 @@ export interface Task<TIdentifier extends string, TInput = void, TOutput = any>
|
|
|
387
401
|
* }
|
|
388
402
|
* ```
|
|
389
403
|
*/
|
|
390
|
-
triggerAndWait: (payload: TInput, options?: TriggerAndWaitOptions) => TaskRunPromise<TIdentifier, TOutput>;
|
|
404
|
+
triggerAndWait: (payload: TInput, options?: TriggerAndWaitOptions, requestOptions?: TriggerApiRequestOptions) => TaskRunPromise<TIdentifier, TOutput>;
|
|
391
405
|
/**
|
|
392
406
|
* Batch trigger multiple task runs with the given payloads, and wait for the results. Returns the results of the task runs.
|
|
393
407
|
* @param items
|
|
@@ -642,6 +656,7 @@ export type TaskMetadataWithFunctions = TaskMetadata & {
|
|
|
642
656
|
onSuccess?: (payload: any, output: any, params: SuccessFnParams<any>) => Promise<void>;
|
|
643
657
|
onFailure?: (payload: any, error: unknown, params: FailureFnParams<any>) => Promise<void>;
|
|
644
658
|
onStart?: (payload: any, params: StartFnParams) => Promise<void>;
|
|
659
|
+
onStartAttempt?: (payload: any, params: StartAttemptFnParams) => Promise<void>;
|
|
645
660
|
parsePayload?: AnySchemaParseFn;
|
|
646
661
|
};
|
|
647
662
|
schema?: TaskSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/v3/types/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/v3/types/tasks.ts"],"names":[],"mappings":"AAqCA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3B,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAW;IAEhC,YAAY,MAAc,EAAE,KAAa,EAAE,YAAqB;QAC9D,IAAI,YAAY,YAAY,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,YAAY,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,cAAoD,SAAQ,OAExE;IAUoB;IATnB,YACE,QAOS,EACQ,MAAmB;QAEpC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAa;IAGtC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -3,6 +3,7 @@ import { Clock } from "../clock/clock.js";
|
|
|
3
3
|
import { HeartbeatsManager } from "../heartbeats/types.js";
|
|
4
4
|
import { LifecycleHooksManager } from "../lifecycleHooks/types.js";
|
|
5
5
|
import { LocalsManager } from "../locals/types.js";
|
|
6
|
+
import { RealtimeStreamsManager } from "../realtimeStreams/types.js";
|
|
6
7
|
import { ResourceCatalog } from "../resource-catalog/catalog.js";
|
|
7
8
|
import { RunMetadataManager } from "../runMetadata/types.js";
|
|
8
9
|
import type { RuntimeManager } from "../runtime/manager.js";
|
|
@@ -31,5 +32,6 @@ type TriggerDotDevGlobalAPI = {
|
|
|
31
32
|
["locals"]?: LocalsManager;
|
|
32
33
|
["trace-context"]?: TraceContextManager;
|
|
33
34
|
["heartbeats"]?: HeartbeatsManager;
|
|
35
|
+
["realtime-streams"]?: RealtimeStreamsManager;
|
|
34
36
|
};
|
|
35
37
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/v3/utils/globals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/v3/utils/globals.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,GAAG,WAAkC,CAAC;AAEnD,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,QAAsC,EACtC,aAAa,GAAG,KAAK;IAErB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9F,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,yDAAyD,IAAI,EAAE,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAU;IAEV,OAAO,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAkC;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEhD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -6,6 +6,6 @@ export declare class WaitUntilAPI implements WaitUntilManager {
|
|
|
6
6
|
static getInstance(): WaitUntilAPI;
|
|
7
7
|
setGlobalManager(manager: WaitUntilManager): boolean;
|
|
8
8
|
register(promise: MaybeDeferredPromise): void;
|
|
9
|
-
blockUntilSettled(
|
|
9
|
+
blockUntilSettled(): Promise<void>;
|
|
10
10
|
requiresResolving(): boolean;
|
|
11
11
|
}
|
|
@@ -4,7 +4,7 @@ class NoopManager {
|
|
|
4
4
|
register(promise) {
|
|
5
5
|
// noop
|
|
6
6
|
}
|
|
7
|
-
blockUntilSettled(
|
|
7
|
+
blockUntilSettled() {
|
|
8
8
|
return Promise.resolve();
|
|
9
9
|
}
|
|
10
10
|
requiresResolving() {
|
|
@@ -30,8 +30,8 @@ export class WaitUntilAPI {
|
|
|
30
30
|
register(promise) {
|
|
31
31
|
return this.#getManager().register(promise);
|
|
32
32
|
}
|
|
33
|
-
blockUntilSettled(
|
|
34
|
-
return this.#getManager().blockUntilSettled(
|
|
33
|
+
blockUntilSettled() {
|
|
34
|
+
return this.#getManager().blockUntilSettled();
|
|
35
35
|
}
|
|
36
36
|
requiresResolving() {
|
|
37
37
|
return this.#getManager().requiresResolving();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,MAAM,WAAW;IACf,QAAQ,CAAC,OAA6B;QACpC,OAAO;IACT,CAAC;IAED,iBAAiB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGhE,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,MAAM,WAAW;IACf,QAAQ,CAAC,OAA6B;QACpC,OAAO;IACT,CAAC;IAED,iBAAiB;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,iBAAiB;QACf,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;AAEvC,MAAM,OAAO,YAAY;IACf,MAAM,CAAC,SAAS,CAAgB;IAExC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,OAAyB;QACxC,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,OAA6B;QACpC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { MaybeDeferredPromise, WaitUntilManager } from "./types.js";
|
|
2
2
|
export declare class StandardWaitUntilManager implements WaitUntilManager {
|
|
3
|
+
private timeoutInMs;
|
|
3
4
|
private maybeDeferredPromises;
|
|
5
|
+
constructor(timeoutInMs?: number);
|
|
4
6
|
reset(): void;
|
|
5
7
|
register(promise: MaybeDeferredPromise): void;
|
|
6
|
-
blockUntilSettled(
|
|
8
|
+
blockUntilSettled(): Promise<void>;
|
|
7
9
|
requiresResolving(): boolean;
|
|
8
10
|
private get promisesRequringResolving();
|
|
9
11
|
}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
export class StandardWaitUntilManager {
|
|
2
|
+
timeoutInMs;
|
|
2
3
|
maybeDeferredPromises = new Set();
|
|
4
|
+
constructor(timeoutInMs = 60_000) {
|
|
5
|
+
this.timeoutInMs = timeoutInMs;
|
|
6
|
+
}
|
|
3
7
|
reset() {
|
|
4
8
|
this.maybeDeferredPromises.clear();
|
|
5
9
|
}
|
|
6
10
|
register(promise) {
|
|
7
11
|
this.maybeDeferredPromises.add(promise);
|
|
8
12
|
}
|
|
9
|
-
async blockUntilSettled(
|
|
13
|
+
async blockUntilSettled() {
|
|
10
14
|
if (this.promisesRequringResolving.length === 0) {
|
|
11
15
|
return;
|
|
12
16
|
}
|
|
13
|
-
const promises = this.promisesRequringResolving.map((p) => typeof p.promise === "function" ? p.promise() : p.promise);
|
|
17
|
+
const promises = this.promisesRequringResolving.map((p) => typeof p.promise === "function" ? p.promise(this.timeoutInMs) : p.promise);
|
|
14
18
|
await Promise.race([
|
|
15
19
|
Promise.allSettled(promises),
|
|
16
|
-
new Promise((resolve, _) => setTimeout(() => resolve(),
|
|
20
|
+
new Promise((resolve, _) => setTimeout(() => resolve(), this.timeoutInMs)),
|
|
17
21
|
]);
|
|
18
22
|
this.maybeDeferredPromises.clear();
|
|
19
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,wBAAwB;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/manager.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,wBAAwB;IAGf;IAFZ,qBAAqB,GAA8B,IAAI,GAAG,EAAE,CAAC;IAErE,YAAoB,cAAsB,MAAM;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAEpD,KAAK;QACH,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,QAAQ,CAAC,OAA6B;QACpC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1E,CAAC;QAEF,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACjF,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,IAAY,yBAAyB;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrF,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export type MaybeDeferredPromise = {
|
|
2
2
|
requiresResolving(): boolean;
|
|
3
|
-
promise: Promise<any> | (() => Promise<any>);
|
|
3
|
+
promise: Promise<any> | ((timeoutInMs: number) => Promise<any>);
|
|
4
4
|
};
|
|
5
5
|
export interface WaitUntilManager {
|
|
6
6
|
register(promise: MaybeDeferredPromise): void;
|
|
7
|
-
blockUntilSettled(
|
|
7
|
+
blockUntilSettled(): Promise<void>;
|
|
8
8
|
requiresResolving(): boolean;
|
|
9
9
|
}
|
|
@@ -22,3 +22,4 @@ export { StandardLocalsManager } from "../locals/manager.js";
|
|
|
22
22
|
export { populateEnv } from "./populateEnv.js";
|
|
23
23
|
export { StandardTraceContextManager } from "../traceContext/manager.js";
|
|
24
24
|
export { StandardHeartbeatsManager } from "../heartbeats/manager.js";
|
|
25
|
+
export { StandardRealtimeStreamsManager } from "../realtimeStreams/manager.js";
|
|
@@ -21,4 +21,5 @@ export { StandardLocalsManager } from "../locals/manager.js";
|
|
|
21
21
|
export { populateEnv } from "./populateEnv.js";
|
|
22
22
|
export { StandardTraceContextManager } from "../traceContext/manager.js";
|
|
23
23
|
export { StandardHeartbeatsManager } from "../heartbeats/manager.js";
|
|
24
|
+
export { StandardRealtimeStreamsManager } from "../realtimeStreams/manager.js";
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,UAAU,EAEV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAgC,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,UAAU,EAEV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAgC,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,eAAe,EAA+B,MAAM,+BAA+B,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { context, SpanKind } from "@opentelemetry/api";
|
|
2
2
|
import { promiseWithResolvers } from "../../utils.js";
|
|
3
|
-
import {
|
|
3
|
+
import { isCompleteTaskWithOutput, isInternalError, parseError, sanitizeError, TaskPayloadParsedError, } from "../errors.js";
|
|
4
4
|
import { accessoryAttributes, attemptKey, flattenAttributes, lifecycleHooks, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, runMetadata, traceContext, waitUntil, } from "../index.js";
|
|
5
5
|
import { recordSpanException } from "../otel/index.js";
|
|
6
6
|
import { runTimelineMetrics } from "../run-timeline-metrics-api.js";
|
|
@@ -72,6 +72,7 @@ export class TaskExecutor {
|
|
|
72
72
|
if (execution.attempt.number === 1) {
|
|
73
73
|
await this.#callOnStartFunctions(payload, ctx, initOutput, signal);
|
|
74
74
|
}
|
|
75
|
+
await this.#callOnStartAttemptFunctions(payload, ctx, signal);
|
|
75
76
|
try {
|
|
76
77
|
return await this.#callRun(payload, ctx, initOutput, signal);
|
|
77
78
|
}
|
|
@@ -201,23 +202,11 @@ export class TaskExecutor {
|
|
|
201
202
|
if (!runFn) {
|
|
202
203
|
throw new Error("Task does not have a run function");
|
|
203
204
|
}
|
|
204
|
-
// Create a promise that rejects when the signal aborts
|
|
205
|
-
const abortPromise = new Promise((_, reject) => {
|
|
206
|
-
signal.addEventListener("abort", () => {
|
|
207
|
-
if (typeof signal.reason === "string" && signal.reason.includes("cancel")) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
const maxDuration = ctx.run.maxDuration;
|
|
211
|
-
reject(new InternalError({
|
|
212
|
-
code: TaskRunErrorCodes.MAX_DURATION_EXCEEDED,
|
|
213
|
-
message: `Run exceeded maximum compute time (maxDuration) of ${maxDuration} seconds`,
|
|
214
|
-
}));
|
|
215
|
-
});
|
|
216
|
-
});
|
|
217
205
|
return runTimelineMetrics.measureMetric("trigger.dev/execution", "run", async () => {
|
|
218
206
|
return await this._tracer.startActiveSpan("run()", async (span) => {
|
|
219
|
-
//
|
|
220
|
-
|
|
207
|
+
// maxDuration is now enforced by killing the process, not by Promise.race
|
|
208
|
+
// The signal is still passed to runFn for cancellation and other abort conditions
|
|
209
|
+
return await runFn(payload, { ctx, init, signal });
|
|
221
210
|
}, {
|
|
222
211
|
attributes: { [SemanticInternalAttributes.STYLE_ICON]: "task-fn-run" },
|
|
223
212
|
});
|
|
@@ -435,7 +424,7 @@ export class TaskExecutor {
|
|
|
435
424
|
}
|
|
436
425
|
return await runTimelineMetrics.measureMetric("trigger.dev/execution", "success", async () => {
|
|
437
426
|
for (const hook of globalSuccessHooks) {
|
|
438
|
-
|
|
427
|
+
await tryCatch(this._tracer.startActiveSpan("onSuccess()", async (span) => {
|
|
439
428
|
await hook.fn({
|
|
440
429
|
payload,
|
|
441
430
|
output,
|
|
@@ -451,12 +440,9 @@ export class TaskExecutor {
|
|
|
451
440
|
...this.#lifecycleHookAccessoryAttributes(hook.name),
|
|
452
441
|
},
|
|
453
442
|
}));
|
|
454
|
-
if (hookError) {
|
|
455
|
-
throw hookError;
|
|
456
|
-
}
|
|
457
443
|
}
|
|
458
444
|
if (taskSuccessHook) {
|
|
459
|
-
|
|
445
|
+
await tryCatch(this._tracer.startActiveSpan("onSuccess()", async (span) => {
|
|
460
446
|
await taskSuccessHook({
|
|
461
447
|
payload,
|
|
462
448
|
output,
|
|
@@ -472,9 +458,6 @@ export class TaskExecutor {
|
|
|
472
458
|
...this.#lifecycleHookAccessoryAttributes("task"),
|
|
473
459
|
},
|
|
474
460
|
}));
|
|
475
|
-
if (hookError) {
|
|
476
|
-
throw hookError;
|
|
477
|
-
}
|
|
478
461
|
}
|
|
479
462
|
});
|
|
480
463
|
}
|
|
@@ -486,7 +469,7 @@ export class TaskExecutor {
|
|
|
486
469
|
}
|
|
487
470
|
return await runTimelineMetrics.measureMetric("trigger.dev/execution", "failure", async () => {
|
|
488
471
|
for (const hook of globalFailureHooks) {
|
|
489
|
-
|
|
472
|
+
await tryCatch(this._tracer.startActiveSpan("onFailure()", async (span) => {
|
|
490
473
|
await hook.fn({
|
|
491
474
|
payload,
|
|
492
475
|
error,
|
|
@@ -502,12 +485,9 @@ export class TaskExecutor {
|
|
|
502
485
|
...this.#lifecycleHookAccessoryAttributes(hook.name),
|
|
503
486
|
},
|
|
504
487
|
}));
|
|
505
|
-
if (hookError) {
|
|
506
|
-
throw hookError;
|
|
507
|
-
}
|
|
508
488
|
}
|
|
509
489
|
if (taskFailureHook) {
|
|
510
|
-
|
|
490
|
+
await tryCatch(this._tracer.startActiveSpan("onFailure()", async (span) => {
|
|
511
491
|
await taskFailureHook({
|
|
512
492
|
payload,
|
|
513
493
|
error,
|
|
@@ -523,9 +503,6 @@ export class TaskExecutor {
|
|
|
523
503
|
...this.#lifecycleHookAccessoryAttributes("task"),
|
|
524
504
|
},
|
|
525
505
|
}));
|
|
526
|
-
if (hookError) {
|
|
527
|
-
throw hookError;
|
|
528
|
-
}
|
|
529
506
|
}
|
|
530
507
|
});
|
|
531
508
|
}
|
|
@@ -582,6 +559,48 @@ export class TaskExecutor {
|
|
|
582
559
|
}
|
|
583
560
|
});
|
|
584
561
|
}
|
|
562
|
+
async #callOnStartAttemptFunctions(payload, ctx, signal) {
|
|
563
|
+
const globalStartHooks = lifecycleHooks.getGlobalStartAttemptHooks();
|
|
564
|
+
const taskStartHook = lifecycleHooks.getTaskStartAttemptHook(this.task.id);
|
|
565
|
+
if (globalStartHooks.length === 0 && !taskStartHook) {
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
return await runTimelineMetrics.measureMetric("trigger.dev/execution", "startAttempt", async () => {
|
|
569
|
+
for (const hook of globalStartHooks) {
|
|
570
|
+
const [hookError] = await tryCatch(this._tracer.startActiveSpan("onStartAttempt()", async (span) => {
|
|
571
|
+
await hook.fn({ payload, ctx, signal, task: this.task.id });
|
|
572
|
+
}, {
|
|
573
|
+
attributes: {
|
|
574
|
+
[SemanticInternalAttributes.STYLE_ICON]: "task-hook-onStartAttempt",
|
|
575
|
+
[SemanticInternalAttributes.COLLAPSED]: true,
|
|
576
|
+
...this.#lifecycleHookAccessoryAttributes(hook.name),
|
|
577
|
+
},
|
|
578
|
+
}));
|
|
579
|
+
if (hookError) {
|
|
580
|
+
throw hookError;
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
if (taskStartHook) {
|
|
584
|
+
const [hookError] = await tryCatch(this._tracer.startActiveSpan("onStartAttempt()", async (span) => {
|
|
585
|
+
await taskStartHook({
|
|
586
|
+
payload,
|
|
587
|
+
ctx,
|
|
588
|
+
signal,
|
|
589
|
+
task: this.task.id,
|
|
590
|
+
});
|
|
591
|
+
}, {
|
|
592
|
+
attributes: {
|
|
593
|
+
[SemanticInternalAttributes.STYLE_ICON]: "task-hook-onStartAttempt",
|
|
594
|
+
[SemanticInternalAttributes.COLLAPSED]: true,
|
|
595
|
+
...this.#lifecycleHookAccessoryAttributes("task"),
|
|
596
|
+
},
|
|
597
|
+
}));
|
|
598
|
+
if (hookError) {
|
|
599
|
+
throw hookError;
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
}
|
|
585
604
|
async #cleanupAndWaitUntil(payload, ctx, initOutput, signal) {
|
|
586
605
|
await this.#callCleanupFunctions(payload, ctx, initOutput, signal);
|
|
587
606
|
await this.#blockForWaitUntil();
|
|
@@ -640,7 +659,7 @@ export class TaskExecutor {
|
|
|
640
659
|
return;
|
|
641
660
|
}
|
|
642
661
|
return this._tracer.startActiveSpan("waitUntil", async (span) => {
|
|
643
|
-
return await waitUntil.blockUntilSettled(
|
|
662
|
+
return await waitUntil.blockUntilSettled();
|
|
644
663
|
}, {
|
|
645
664
|
attributes: {
|
|
646
665
|
[SemanticInternalAttributes.STYLE_ICON]: "tabler-clock",
|
|
@@ -794,7 +813,7 @@ export class TaskExecutor {
|
|
|
794
813
|
}
|
|
795
814
|
return await runTimelineMetrics.measureMetric("trigger.dev/execution", "complete", async () => {
|
|
796
815
|
for (const hook of globalCompleteHooks) {
|
|
797
|
-
|
|
816
|
+
await tryCatch(this._tracer.startActiveSpan("onComplete()", async (span) => {
|
|
798
817
|
await hook.fn({
|
|
799
818
|
payload,
|
|
800
819
|
result,
|
|
@@ -810,12 +829,9 @@ export class TaskExecutor {
|
|
|
810
829
|
...this.#lifecycleHookAccessoryAttributes(hook.name),
|
|
811
830
|
},
|
|
812
831
|
}));
|
|
813
|
-
if (hookError) {
|
|
814
|
-
throw hookError;
|
|
815
|
-
}
|
|
816
832
|
}
|
|
817
833
|
if (taskCompleteHook) {
|
|
818
|
-
|
|
834
|
+
await tryCatch(this._tracer.startActiveSpan("onComplete()", async (span) => {
|
|
819
835
|
await taskCompleteHook({
|
|
820
836
|
payload,
|
|
821
837
|
result,
|
|
@@ -831,9 +847,6 @@ export class TaskExecutor {
|
|
|
831
847
|
...this.#lifecycleHookAccessoryAttributes("task"),
|
|
832
848
|
},
|
|
833
849
|
}));
|
|
834
|
-
if (hookError) {
|
|
835
|
-
throw hookError;
|
|
836
|
-
}
|
|
837
850
|
}
|
|
838
851
|
});
|
|
839
852
|
}
|