@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.
Files changed (213) hide show
  1. package/dist/commonjs/v3/apiClient/index.d.ts +106 -8
  2. package/dist/commonjs/v3/apiClient/index.js +75 -4
  3. package/dist/commonjs/v3/apiClient/index.js.map +1 -1
  4. package/dist/commonjs/v3/apiClient/runStream.d.ts +28 -14
  5. package/dist/commonjs/v3/apiClient/runStream.js +175 -58
  6. package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
  7. package/dist/commonjs/v3/apiClientManager/index.d.ts +1 -1
  8. package/dist/commonjs/v3/apiClientManager/index.js +11 -4
  9. package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
  10. package/dist/commonjs/v3/apiClientManager/types.d.ts +2 -1
  11. package/dist/commonjs/v3/errors.d.ts +5 -0
  12. package/dist/commonjs/v3/errors.js +12 -1
  13. package/dist/commonjs/v3/errors.js.map +1 -1
  14. package/dist/commonjs/v3/index.d.ts +1 -0
  15. package/dist/commonjs/v3/index.js +1 -0
  16. package/dist/commonjs/v3/index.js.map +1 -1
  17. package/dist/commonjs/v3/lifecycle-hooks-api.d.ts +1 -1
  18. package/dist/commonjs/v3/lifecycleHooks/index.d.ts +5 -1
  19. package/dist/commonjs/v3/lifecycleHooks/index.js +12 -0
  20. package/dist/commonjs/v3/lifecycleHooks/index.js.map +1 -1
  21. package/dist/commonjs/v3/lifecycleHooks/manager.d.ts +11 -1
  22. package/dist/commonjs/v3/lifecycleHooks/manager.js +36 -0
  23. package/dist/commonjs/v3/lifecycleHooks/manager.js.map +1 -1
  24. package/dist/commonjs/v3/lifecycleHooks/types.d.ts +12 -0
  25. package/dist/commonjs/v3/realtime-streams-api.d.ts +3 -0
  26. package/dist/commonjs/v3/realtime-streams-api.js +23 -0
  27. package/dist/commonjs/v3/realtime-streams-api.js.map +1 -0
  28. package/dist/commonjs/v3/realtimeStreams/index.d.ts +10 -0
  29. package/dist/commonjs/v3/realtimeStreams/index.js +31 -0
  30. package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -0
  31. package/dist/commonjs/v3/realtimeStreams/manager.d.ts +14 -0
  32. package/dist/commonjs/v3/realtimeStreams/manager.js +128 -0
  33. package/dist/commonjs/v3/realtimeStreams/manager.js.map +1 -0
  34. package/dist/commonjs/v3/realtimeStreams/noopManager.d.ts +5 -0
  35. package/dist/commonjs/v3/realtimeStreams/noopManager.js +17 -0
  36. package/dist/commonjs/v3/realtimeStreams/noopManager.js.map +1 -0
  37. package/dist/commonjs/v3/realtimeStreams/streamInstance.d.ts +23 -0
  38. package/dist/commonjs/v3/realtimeStreams/streamInstance.js +106 -0
  39. package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -0
  40. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  41. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +382 -0
  42. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  43. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  44. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +179 -0
  45. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  46. package/dist/commonjs/v3/realtimeStreams/types.d.ts +119 -0
  47. package/dist/commonjs/v3/realtimeStreams/types.js +3 -0
  48. package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -0
  49. package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  50. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  51. package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
  52. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  53. package/dist/commonjs/v3/runMetadata/manager.d.ts +3 -8
  54. package/dist/commonjs/v3/runMetadata/manager.js +14 -79
  55. package/dist/commonjs/v3/runMetadata/manager.js.map +1 -1
  56. package/dist/commonjs/v3/schemas/api.d.ts +69 -25
  57. package/dist/commonjs/v3/schemas/api.js +24 -6
  58. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  59. package/dist/commonjs/v3/schemas/common.d.ts +5 -0
  60. package/dist/commonjs/v3/schemas/common.js +1 -0
  61. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  62. package/dist/commonjs/v3/schemas/messages.d.ts +50 -0
  63. package/dist/commonjs/v3/schemas/messages.js +7 -0
  64. package/dist/commonjs/v3/schemas/messages.js.map +1 -1
  65. package/dist/commonjs/v3/schemas/queues.d.ts +41 -2
  66. package/dist/commonjs/v3/schemas/queues.js +17 -2
  67. package/dist/commonjs/v3/schemas/queues.js.map +1 -1
  68. package/dist/commonjs/v3/schemas/runEngine.d.ts +7 -0
  69. package/dist/commonjs/v3/schemas/schemas.d.ts +7 -0
  70. package/dist/commonjs/v3/semanticInternalAttributes.d.ts +1 -0
  71. package/dist/commonjs/v3/semanticInternalAttributes.js +1 -0
  72. package/dist/commonjs/v3/semanticInternalAttributes.js.map +1 -1
  73. package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +2 -0
  74. package/dist/commonjs/v3/streams/asyncIterableStream.js +47 -0
  75. package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
  76. package/dist/commonjs/v3/timeout/api.d.ts +1 -0
  77. package/dist/commonjs/v3/timeout/api.js +6 -0
  78. package/dist/commonjs/v3/timeout/api.js.map +1 -1
  79. package/dist/commonjs/v3/timeout/types.d.ts +1 -0
  80. package/dist/commonjs/v3/timeout/types.js.map +1 -1
  81. package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +2 -0
  82. package/dist/commonjs/v3/timeout/usageTimeoutManager.js +10 -1
  83. package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -1
  84. package/dist/commonjs/v3/types/tasks.d.ts +17 -2
  85. package/dist/commonjs/v3/types/tasks.js.map +1 -1
  86. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  87. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  88. package/dist/commonjs/v3/waitUntil/index.d.ts +1 -1
  89. package/dist/commonjs/v3/waitUntil/index.js +3 -3
  90. package/dist/commonjs/v3/waitUntil/index.js.map +1 -1
  91. package/dist/commonjs/v3/waitUntil/manager.d.ts +3 -1
  92. package/dist/commonjs/v3/waitUntil/manager.js +7 -3
  93. package/dist/commonjs/v3/waitUntil/manager.js.map +1 -1
  94. package/dist/commonjs/v3/waitUntil/types.d.ts +2 -2
  95. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  96. package/dist/commonjs/v3/workers/index.js +3 -1
  97. package/dist/commonjs/v3/workers/index.js.map +1 -1
  98. package/dist/commonjs/v3/workers/taskExecutor.js +53 -40
  99. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  100. package/dist/commonjs/v3/workers/warmStartClient.d.ts +3 -0
  101. package/dist/commonjs/v3/workers/warmStartClient.js +67 -28
  102. package/dist/commonjs/v3/workers/warmStartClient.js.map +1 -1
  103. package/dist/commonjs/version.js +1 -1
  104. package/dist/esm/v3/apiClient/index.d.ts +106 -8
  105. package/dist/esm/v3/apiClient/index.js +76 -6
  106. package/dist/esm/v3/apiClient/index.js.map +1 -1
  107. package/dist/esm/v3/apiClient/runStream.d.ts +28 -14
  108. package/dist/esm/v3/apiClient/runStream.js +176 -58
  109. package/dist/esm/v3/apiClient/runStream.js.map +1 -1
  110. package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
  111. package/dist/esm/v3/apiClientManager/index.js +11 -4
  112. package/dist/esm/v3/apiClientManager/index.js.map +1 -1
  113. package/dist/esm/v3/apiClientManager/types.d.ts +2 -1
  114. package/dist/esm/v3/errors.d.ts +5 -0
  115. package/dist/esm/v3/errors.js +10 -0
  116. package/dist/esm/v3/errors.js.map +1 -1
  117. package/dist/esm/v3/index.d.ts +1 -0
  118. package/dist/esm/v3/index.js +1 -0
  119. package/dist/esm/v3/index.js.map +1 -1
  120. package/dist/esm/v3/lifecycle-hooks-api.d.ts +1 -1
  121. package/dist/esm/v3/lifecycleHooks/index.d.ts +5 -1
  122. package/dist/esm/v3/lifecycleHooks/index.js +12 -0
  123. package/dist/esm/v3/lifecycleHooks/index.js.map +1 -1
  124. package/dist/esm/v3/lifecycleHooks/manager.d.ts +11 -1
  125. package/dist/esm/v3/lifecycleHooks/manager.js +36 -0
  126. package/dist/esm/v3/lifecycleHooks/manager.js.map +1 -1
  127. package/dist/esm/v3/lifecycleHooks/types.d.ts +12 -0
  128. package/dist/esm/v3/realtime-streams-api.d.ts +3 -0
  129. package/dist/esm/v3/realtime-streams-api.js +6 -0
  130. package/dist/esm/v3/realtime-streams-api.js.map +1 -0
  131. package/dist/esm/v3/realtimeStreams/index.d.ts +10 -0
  132. package/dist/esm/v3/realtimeStreams/index.js +27 -0
  133. package/dist/esm/v3/realtimeStreams/index.js.map +1 -0
  134. package/dist/esm/v3/realtimeStreams/manager.d.ts +14 -0
  135. package/dist/esm/v3/realtimeStreams/manager.js +124 -0
  136. package/dist/esm/v3/realtimeStreams/manager.js.map +1 -0
  137. package/dist/esm/v3/realtimeStreams/noopManager.d.ts +5 -0
  138. package/dist/esm/v3/realtimeStreams/noopManager.js +13 -0
  139. package/dist/esm/v3/realtimeStreams/noopManager.js.map +1 -0
  140. package/dist/esm/v3/realtimeStreams/streamInstance.d.ts +23 -0
  141. package/dist/esm/v3/realtimeStreams/streamInstance.js +102 -0
  142. package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -0
  143. package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  144. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +378 -0
  145. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  146. package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  147. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +175 -0
  148. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  149. package/dist/esm/v3/realtimeStreams/types.d.ts +119 -0
  150. package/dist/esm/v3/realtimeStreams/types.js +2 -0
  151. package/dist/esm/v3/realtimeStreams/types.js.map +1 -0
  152. package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  153. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  154. package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
  155. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  156. package/dist/esm/v3/runMetadata/manager.d.ts +3 -8
  157. package/dist/esm/v3/runMetadata/manager.js +14 -79
  158. package/dist/esm/v3/runMetadata/manager.js.map +1 -1
  159. package/dist/esm/v3/schemas/api.d.ts +69 -25
  160. package/dist/esm/v3/schemas/api.js +21 -3
  161. package/dist/esm/v3/schemas/api.js.map +1 -1
  162. package/dist/esm/v3/schemas/common.d.ts +5 -0
  163. package/dist/esm/v3/schemas/common.js +1 -0
  164. package/dist/esm/v3/schemas/common.js.map +1 -1
  165. package/dist/esm/v3/schemas/messages.d.ts +50 -0
  166. package/dist/esm/v3/schemas/messages.js +7 -0
  167. package/dist/esm/v3/schemas/messages.js.map +1 -1
  168. package/dist/esm/v3/schemas/queues.d.ts +41 -2
  169. package/dist/esm/v3/schemas/queues.js +17 -2
  170. package/dist/esm/v3/schemas/queues.js.map +1 -1
  171. package/dist/esm/v3/schemas/runEngine.d.ts +7 -0
  172. package/dist/esm/v3/schemas/schemas.d.ts +7 -0
  173. package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
  174. package/dist/esm/v3/semanticInternalAttributes.js +1 -0
  175. package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
  176. package/dist/esm/v3/streams/asyncIterableStream.d.ts +2 -0
  177. package/dist/esm/v3/streams/asyncIterableStream.js +45 -0
  178. package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
  179. package/dist/esm/v3/timeout/api.d.ts +1 -0
  180. package/dist/esm/v3/timeout/api.js +6 -0
  181. package/dist/esm/v3/timeout/api.js.map +1 -1
  182. package/dist/esm/v3/timeout/types.d.ts +1 -0
  183. package/dist/esm/v3/timeout/types.js.map +1 -1
  184. package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +2 -0
  185. package/dist/esm/v3/timeout/usageTimeoutManager.js +10 -1
  186. package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -1
  187. package/dist/esm/v3/types/tasks.d.ts +17 -2
  188. package/dist/esm/v3/types/tasks.js.map +1 -1
  189. package/dist/esm/v3/utils/globals.d.ts +2 -0
  190. package/dist/esm/v3/utils/globals.js.map +1 -1
  191. package/dist/esm/v3/waitUntil/index.d.ts +1 -1
  192. package/dist/esm/v3/waitUntil/index.js +3 -3
  193. package/dist/esm/v3/waitUntil/index.js.map +1 -1
  194. package/dist/esm/v3/waitUntil/manager.d.ts +3 -1
  195. package/dist/esm/v3/waitUntil/manager.js +7 -3
  196. package/dist/esm/v3/waitUntil/manager.js.map +1 -1
  197. package/dist/esm/v3/waitUntil/types.d.ts +2 -2
  198. package/dist/esm/v3/workers/index.d.ts +1 -0
  199. package/dist/esm/v3/workers/index.js +1 -0
  200. package/dist/esm/v3/workers/index.js.map +1 -1
  201. package/dist/esm/v3/workers/taskExecutor.js +54 -41
  202. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  203. package/dist/esm/v3/workers/warmStartClient.d.ts +3 -0
  204. package/dist/esm/v3/workers/warmStartClient.js +67 -28
  205. package/dist/esm/v3/workers/warmStartClient.js.map +1 -1
  206. package/dist/esm/version.js +1 -1
  207. package/package.json +2 -1
  208. package/dist/commonjs/v3/runMetadata/metadataStream.d.ts +0 -28
  209. package/dist/commonjs/v3/runMetadata/metadataStream.js +0 -155
  210. package/dist/commonjs/v3/runMetadata/metadataStream.js.map +0 -1
  211. package/dist/esm/v3/runMetadata/metadataStream.d.ts +0 -28
  212. package/dist/esm/v3/runMetadata/metadataStream.js +0 -151
  213. package/dist/esm/v3/runMetadata/metadataStream.js.map +0 -1
@@ -4,6 +4,8 @@ exports.createAsyncIterableStream = createAsyncIterableStream;
4
4
  exports.createAsyncIterableReadable = createAsyncIterableReadable;
5
5
  exports.createAsyncIterableStreamFromAsyncIterable = createAsyncIterableStreamFromAsyncIterable;
6
6
  exports.createAsyncIterableStreamFromAsyncGenerator = createAsyncIterableStreamFromAsyncGenerator;
7
+ exports.ensureAsyncIterable = ensureAsyncIterable;
8
+ exports.ensureReadableStream = ensureReadableStream;
7
9
  function createAsyncIterableStream(source, transformer) {
8
10
  const transformedStream = source.pipeThrough(new TransformStream(transformer));
9
11
  transformedStream[Symbol.asyncIterator] = () => {
@@ -78,4 +80,49 @@ function createAsyncIterableStreamFromAsyncIterable(asyncIterable, transformer,
78
80
  function createAsyncIterableStreamFromAsyncGenerator(asyncGenerator, transformer, signal) {
79
81
  return createAsyncIterableStreamFromAsyncIterable(asyncGenerator, transformer, signal);
80
82
  }
83
+ function ensureAsyncIterable(input) {
84
+ // If it's already an AsyncIterable, return it as-is
85
+ if (Symbol.asyncIterator in input) {
86
+ return input;
87
+ }
88
+ // Convert ReadableStream to AsyncIterable
89
+ const readableStream = input;
90
+ return {
91
+ async *[Symbol.asyncIterator]() {
92
+ const reader = readableStream.getReader();
93
+ try {
94
+ while (true) {
95
+ const { done, value } = await reader.read();
96
+ if (done) {
97
+ break;
98
+ }
99
+ if (value !== undefined) {
100
+ yield value;
101
+ }
102
+ }
103
+ }
104
+ finally {
105
+ reader.releaseLock();
106
+ }
107
+ },
108
+ };
109
+ }
110
+ function ensureReadableStream(input) {
111
+ if ("getReader" in input) {
112
+ return input;
113
+ }
114
+ return new ReadableStream({
115
+ async start(controller) {
116
+ const iterator = input[Symbol.asyncIterator]();
117
+ while (true) {
118
+ const { done, value } = await iterator.next();
119
+ if (done) {
120
+ break;
121
+ }
122
+ controller.enqueue(value);
123
+ }
124
+ controller.close();
125
+ },
126
+ });
127
+ }
81
128
  //# 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
  }
@@ -35,6 +35,12 @@ class TimeoutAPI {
35
35
  this.#getManager().reset();
36
36
  this.disable();
37
37
  }
38
+ registerListener(listener) {
39
+ const manager = this.#getManager();
40
+ if (manager.registerListener) {
41
+ manager.registerListener(listener);
42
+ }
43
+ }
38
44
  #getManager() {
39
45
  return (0, globals_js_1.getGlobal)(API_NAME) ?? NOOP_TIMEOUT_MANAGER;
40
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/v3/timeout/api.ts"],"names":[],"mappings":";;;AAAA,oDAAkF;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,MAAa,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,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,IAAA,6BAAgB,EAAC,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,IAAA,sBAAS,EAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;CACF;AArCD,gCAqCC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/v3/timeout/api.ts"],"names":[],"mappings":";;;AAAA,oDAAkF;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,MAAa,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,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,IAAA,6BAAgB,EAAC,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,IAAA,sBAAS,EAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC;IACrD,CAAC;CACF;AA5CD,gCA4CC"}
@@ -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":";;;AAMA,MAAa,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;AARD,gEAQC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/timeout/types.ts"],"names":[],"mappings":";;;AAOA,MAAa,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;AARD,gEAQC"}
@@ -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;
@@ -7,10 +7,14 @@ class UsageTimeoutManager {
7
7
  _abortController;
8
8
  _abortSignal;
9
9
  _intervalId;
10
+ _listener;
10
11
  constructor(usageManager) {
11
12
  this.usageManager = usageManager;
12
13
  this._abortController = new AbortController();
13
14
  }
15
+ registerListener(listener) {
16
+ this._listener = listener;
17
+ }
14
18
  get signal() {
15
19
  return this._abortSignal;
16
20
  }
@@ -36,7 +40,12 @@ class UsageTimeoutManager {
36
40
  if (sample) {
37
41
  if (sample.cpuTime > timeoutInSeconds * 1000) {
38
42
  clearInterval(this._intervalId);
39
- this._abortController.abort(new types_js_1.TaskRunExceededMaxDuration(timeoutInSeconds, sample.cpuTime / 1000));
43
+ const elapsedTimeInSeconds = sample.cpuTime / 1000;
44
+ // Call the listener if registered
45
+ if (this._listener) {
46
+ void this._listener(timeoutInSeconds, elapsedTimeInSeconds);
47
+ }
48
+ this._abortController.abort(new types_js_1.TaskRunExceededMaxDuration(timeoutInSeconds, elapsedTimeInSeconds));
40
49
  }
41
50
  }
42
51
  }, 1000);
@@ -1 +1 @@
1
- {"version":3,"file":"usageTimeoutManager.js","sourceRoot":"","sources":["../../../../src/v3/timeout/usageTimeoutManager.ts"],"names":[],"mappings":";;;AACA,yCAAwE;AAExE,MAAa,mBAAmB;IAKD;IAJrB,gBAAgB,CAAkB;IAClC,YAAY,CAA0B;IACtC,WAAW,CAA6B;IAEhD,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;IAChD,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,IAAI,CAAC,gBAAgB,CAAC,KAAK,CACzB,IAAI,qCAA0B,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CACxE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAlDD,kDAkDC"}
1
+ {"version":3,"file":"usageTimeoutManager.js","sourceRoot":"","sources":["../../../../src/v3/timeout/usageTimeoutManager.ts"],"names":[],"mappings":";;;AACA,yCAAwE;AAExE,MAAa,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,qCAA0B,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;AAnED,kDAmEC"}
@@ -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":";;;AAoCA,MAAa,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;AAnBD,gDAmBC;AAED,MAAa,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;AA1BD,wCA0BC"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/v3/types/tasks.ts"],"names":[],"mappings":";;;AAqCA,MAAa,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;AAnBD,gDAmBC;AAED,MAAa,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;AA1BD,wCA0BC"}
@@ -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":";;AAoBA,wCAgBC;AAED,8BAIC;AAED,4CAMC;AApCD,+CAA4C;AAE5C,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,GAAG,yBAAkC,CAAC;AAEnD,SAAgB,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,SAAgB,SAAS,CACvB,IAAU;IAEV,OAAO,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,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"}
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../../../src/v3/utils/globals.ts"],"names":[],"mappings":";;AAqBA,wCAgBC;AAED,8BAIC;AAED,4CAMC;AApCD,+CAA4C;AAE5C,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEpE,MAAM,OAAO,GAAG,yBAAkC,CAAC;AAEnD,SAAgB,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,SAAgB,SAAS,CACvB,IAAU;IAEV,OAAO,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,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(timeout: number): Promise<void>;
9
+ blockUntilSettled(): Promise<void>;
10
10
  requiresResolving(): boolean;
11
11
  }
@@ -7,7 +7,7 @@ class NoopManager {
7
7
  register(promise) {
8
8
  // noop
9
9
  }
10
- blockUntilSettled(timeout) {
10
+ blockUntilSettled() {
11
11
  return Promise.resolve();
12
12
  }
13
13
  requiresResolving() {
@@ -33,8 +33,8 @@ class WaitUntilAPI {
33
33
  register(promise) {
34
34
  return this.#getManager().register(promise);
35
35
  }
36
- blockUntilSettled(timeout) {
37
- return this.#getManager().blockUntilSettled(timeout);
36
+ blockUntilSettled() {
37
+ return this.#getManager().blockUntilSettled();
38
38
  }
39
39
  requiresResolving() {
40
40
  return this.#getManager().requiresResolving();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/index.ts"],"names":[],"mappings":";;;AAAA,oDAAgE;AAGhE,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,MAAM,WAAW;IACf,QAAQ,CAAC,OAA6B;QACpC,OAAO;IACT,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,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,MAAa,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,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,IAAA,sBAAS,EAAC,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,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;CACF;AAhCD,oCAgCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/index.ts"],"names":[],"mappings":";;;AAAA,oDAAgE;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,MAAa,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,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,IAAA,sBAAS,EAAC,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;AAhCD,oCAgCC"}
@@ -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(timeout: number): Promise<void>;
8
+ blockUntilSettled(): Promise<void>;
7
9
  requiresResolving(): boolean;
8
10
  private get promisesRequringResolving();
9
11
  }
@@ -2,21 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StandardWaitUntilManager = void 0;
4
4
  class StandardWaitUntilManager {
5
+ timeoutInMs;
5
6
  maybeDeferredPromises = new Set();
7
+ constructor(timeoutInMs = 60_000) {
8
+ this.timeoutInMs = timeoutInMs;
9
+ }
6
10
  reset() {
7
11
  this.maybeDeferredPromises.clear();
8
12
  }
9
13
  register(promise) {
10
14
  this.maybeDeferredPromises.add(promise);
11
15
  }
12
- async blockUntilSettled(timeout) {
16
+ async blockUntilSettled() {
13
17
  if (this.promisesRequringResolving.length === 0) {
14
18
  return;
15
19
  }
16
- const promises = this.promisesRequringResolving.map((p) => typeof p.promise === "function" ? p.promise() : p.promise);
20
+ const promises = this.promisesRequringResolving.map((p) => typeof p.promise === "function" ? p.promise(this.timeoutInMs) : p.promise);
17
21
  await Promise.race([
18
22
  Promise.allSettled(promises),
19
- new Promise((resolve, _) => setTimeout(() => resolve(), timeout)),
23
+ new Promise((resolve, _) => setTimeout(() => resolve(), this.timeoutInMs)),
20
24
  ]);
21
25
  this.maybeDeferredPromises.clear();
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,wBAAwB;IAC3B,qBAAqB,GAA8B,IAAI,GAAG,EAAE,CAAC;IAErE,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,CAAC,OAAe;QACrC,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,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1D,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,OAAO,CAAC,CAAC;SACxE,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;AAnCD,4DAmCC"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/waitUntil/manager.ts"],"names":[],"mappings":";;;AAEA,MAAa,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;AArCD,4DAqCC"}
@@ -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(timeout: number): Promise<void>;
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";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.StandardHeartbeatsManager = exports.StandardTraceContextManager = exports.populateEnv = exports.StandardLocalsManager = exports.StandardLifecycleHooksManager = exports.WarmStartClient = exports.StandardRunTimelineMetricsManager = exports.SharedRuntimeManager = exports.StandardWaitUntilManager = exports.StandardMetadataManager = exports.UsageTimeoutManager = exports.ProdUsageManager = exports.DevUsageManager = exports.TaskContextLogProcessor = exports.TaskContextSpanProcessor = exports.StandardResourceCatalog = exports.carrierFromContext = exports.recordSpanException = exports.TracingSDK = exports.ConsoleInterceptor = exports.logLevels = exports.OtelTaskLogger = exports.getNumberEnvVar = exports.getEnvVar = exports.DurableClock = exports.TaskExecutor = void 0;
17
+ exports.StandardRealtimeStreamsManager = exports.StandardHeartbeatsManager = exports.StandardTraceContextManager = exports.populateEnv = exports.StandardLocalsManager = exports.StandardLifecycleHooksManager = exports.WarmStartClient = exports.StandardRunTimelineMetricsManager = exports.SharedRuntimeManager = exports.StandardWaitUntilManager = exports.StandardMetadataManager = exports.UsageTimeoutManager = exports.ProdUsageManager = exports.DevUsageManager = exports.TaskContextLogProcessor = exports.TaskContextSpanProcessor = exports.StandardResourceCatalog = exports.carrierFromContext = exports.recordSpanException = exports.TracingSDK = exports.ConsoleInterceptor = exports.logLevels = exports.OtelTaskLogger = exports.getNumberEnvVar = exports.getEnvVar = exports.DurableClock = exports.TaskExecutor = void 0;
18
18
  var taskExecutor_js_1 = require("./taskExecutor.js");
19
19
  Object.defineProperty(exports, "TaskExecutor", { enumerable: true, get: function () { return taskExecutor_js_1.TaskExecutor; } });
20
20
  var preciseWallClock_js_1 = require("../clock/preciseWallClock.js");
@@ -64,4 +64,6 @@ var manager_js_5 = require("../traceContext/manager.js");
64
64
  Object.defineProperty(exports, "StandardTraceContextManager", { enumerable: true, get: function () { return manager_js_5.StandardTraceContextManager; } });
65
65
  var manager_js_6 = require("../heartbeats/manager.js");
66
66
  Object.defineProperty(exports, "StandardHeartbeatsManager", { enumerable: true, get: function () { return manager_js_6.StandardHeartbeatsManager; } });
67
+ var manager_js_7 = require("../realtimeStreams/manager.js");
68
+ Object.defineProperty(exports, "StandardRealtimeStreamsManager", { enumerable: true, get: function () { return manager_js_7.StandardRealtimeStreamsManager; } });
67
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA2E;AAAlE,+GAAA,YAAY,OAAA;AAErB,oEAAgF;AAAvE,mHAAA,gBAAgB,OAAgB;AACzC,gDAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AACnC,yDAAoE;AAA3D,+GAAA,cAAc,OAAA;AAAE,0GAAA,SAAS,OAAA;AAClC,kEAA8D;AAArD,2HAAA,kBAAkB,OAAA;AAC3B,6CAK0B;AAJxB,sGAAA,UAAU,OAAA;AAEV,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAEpB,6FAAyF;AAAhF,qIAAA,uBAAuB,OAAA;AAChC,sEAG0C;AAFxC,6HAAA,wBAAwB,OAAA;AACxB,4HAAA,uBAAuB,OAAA;AAEzB,kDAAgC;AAChC,kEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,oEAA8F;AAArF,uHAAA,gBAAgB,OAAA;AACzB,4EAAwE;AAA/D,6HAAA,mBAAmB,OAAA;AAC5B,wDAAoE;AAA3D,qHAAA,uBAAuB,OAAA;AAChC,sDAAmE;AAA1D,sHAAA,wBAAwB,OAAA;AACjC,8EAA0E;AAAjE,+HAAA,oBAAoB,OAAA;AAC7B,8DAA4C;AAC5C,mGAAuG;AAA9F,iJAAA,iCAAiC,OAAA;AAC1C,oEAA6F;AAApF,qHAAA,eAAe,OAAA;AACxB,2DAA6E;AAApE,2HAAA,6BAA6B,OAAA;AACtC,mDAA6D;AAApD,mHAAA,qBAAqB,OAAA;AAC9B,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,yDAAyE;AAAhE,yHAAA,2BAA2B,OAAA;AACpC,uDAAqE;AAA5D,uHAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/workers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA2E;AAAlE,+GAAA,YAAY,OAAA;AAErB,oEAAgF;AAAvE,mHAAA,gBAAgB,OAAgB;AACzC,gDAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AACnC,yDAAoE;AAA3D,+GAAA,cAAc,OAAA;AAAE,0GAAA,SAAS,OAAA;AAClC,kEAA8D;AAArD,2HAAA,kBAAkB,OAAA;AAC3B,6CAK0B;AAJxB,sGAAA,UAAU,OAAA;AAEV,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAEpB,6FAAyF;AAAhF,qIAAA,uBAAuB,OAAA;AAChC,sEAG0C;AAFxC,6HAAA,wBAAwB,OAAA;AACxB,4HAAA,uBAAuB,OAAA;AAEzB,kDAAgC;AAChC,kEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,oEAA8F;AAArF,uHAAA,gBAAgB,OAAA;AACzB,4EAAwE;AAA/D,6HAAA,mBAAmB,OAAA;AAC5B,wDAAoE;AAA3D,qHAAA,uBAAuB,OAAA;AAChC,sDAAmE;AAA1D,sHAAA,wBAAwB,OAAA;AACjC,8EAA0E;AAAjE,+HAAA,oBAAoB,OAAA;AAC7B,8DAA4C;AAC5C,mGAAuG;AAA9F,iJAAA,iCAAiC,OAAA;AAC1C,oEAA6F;AAApF,qHAAA,eAAe,OAAA;AACxB,2DAA6E;AAApE,2HAAA,6BAA6B,OAAA;AACtC,mDAA6D;AAApD,mHAAA,qBAAqB,OAAA;AAC9B,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AACpB,yDAAyE;AAAhE,yHAAA,2BAA2B,OAAA;AACpC,uDAAqE;AAA5D,uHAAA,yBAAyB,OAAA;AAClC,4DAA+E;AAAtE,4HAAA,8BAA8B,OAAA"}
@@ -75,6 +75,7 @@ class TaskExecutor {
75
75
  if (execution.attempt.number === 1) {
76
76
  await this.#callOnStartFunctions(payload, ctx, initOutput, signal);
77
77
  }
78
+ await this.#callOnStartAttemptFunctions(payload, ctx, signal);
78
79
  try {
79
80
  return await this.#callRun(payload, ctx, initOutput, signal);
80
81
  }
@@ -204,23 +205,11 @@ class TaskExecutor {
204
205
  if (!runFn) {
205
206
  throw new Error("Task does not have a run function");
206
207
  }
207
- // Create a promise that rejects when the signal aborts
208
- const abortPromise = new Promise((_, reject) => {
209
- signal.addEventListener("abort", () => {
210
- if (typeof signal.reason === "string" && signal.reason.includes("cancel")) {
211
- return;
212
- }
213
- const maxDuration = ctx.run.maxDuration;
214
- reject(new errors_js_1.InternalError({
215
- code: index_js_3.TaskRunErrorCodes.MAX_DURATION_EXCEEDED,
216
- message: `Run exceeded maximum compute time (maxDuration) of ${maxDuration} seconds`,
217
- }));
218
- });
219
- });
220
208
  return run_timeline_metrics_api_js_1.runTimelineMetrics.measureMetric("trigger.dev/execution", "run", async () => {
221
209
  return await this._tracer.startActiveSpan("run()", async (span) => {
222
- // Race between the run function and the abort promise
223
- return await Promise.race([runFn(payload, { ctx, init, signal }), abortPromise]);
210
+ // maxDuration is now enforced by killing the process, not by Promise.race
211
+ // The signal is still passed to runFn for cancellation and other abort conditions
212
+ return await runFn(payload, { ctx, init, signal });
224
213
  }, {
225
214
  attributes: { [semanticInternalAttributes_js_1.SemanticInternalAttributes.STYLE_ICON]: "task-fn-run" },
226
215
  });
@@ -438,7 +427,7 @@ class TaskExecutor {
438
427
  }
439
428
  return await run_timeline_metrics_api_js_1.runTimelineMetrics.measureMetric("trigger.dev/execution", "success", async () => {
440
429
  for (const hook of globalSuccessHooks) {
441
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onSuccess()", async (span) => {
430
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onSuccess()", async (span) => {
442
431
  await hook.fn({
443
432
  payload,
444
433
  output,
@@ -454,12 +443,9 @@ class TaskExecutor {
454
443
  ...this.#lifecycleHookAccessoryAttributes(hook.name),
455
444
  },
456
445
  }));
457
- if (hookError) {
458
- throw hookError;
459
- }
460
446
  }
461
447
  if (taskSuccessHook) {
462
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onSuccess()", async (span) => {
448
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onSuccess()", async (span) => {
463
449
  await taskSuccessHook({
464
450
  payload,
465
451
  output,
@@ -475,9 +461,6 @@ class TaskExecutor {
475
461
  ...this.#lifecycleHookAccessoryAttributes("task"),
476
462
  },
477
463
  }));
478
- if (hookError) {
479
- throw hookError;
480
- }
481
464
  }
482
465
  });
483
466
  }
@@ -489,7 +472,7 @@ class TaskExecutor {
489
472
  }
490
473
  return await run_timeline_metrics_api_js_1.runTimelineMetrics.measureMetric("trigger.dev/execution", "failure", async () => {
491
474
  for (const hook of globalFailureHooks) {
492
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onFailure()", async (span) => {
475
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onFailure()", async (span) => {
493
476
  await hook.fn({
494
477
  payload,
495
478
  error,
@@ -505,12 +488,9 @@ class TaskExecutor {
505
488
  ...this.#lifecycleHookAccessoryAttributes(hook.name),
506
489
  },
507
490
  }));
508
- if (hookError) {
509
- throw hookError;
510
- }
511
491
  }
512
492
  if (taskFailureHook) {
513
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onFailure()", async (span) => {
493
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onFailure()", async (span) => {
514
494
  await taskFailureHook({
515
495
  payload,
516
496
  error,
@@ -526,9 +506,6 @@ class TaskExecutor {
526
506
  ...this.#lifecycleHookAccessoryAttributes("task"),
527
507
  },
528
508
  }));
529
- if (hookError) {
530
- throw hookError;
531
- }
532
509
  }
533
510
  });
534
511
  }
@@ -585,6 +562,48 @@ class TaskExecutor {
585
562
  }
586
563
  });
587
564
  }
565
+ async #callOnStartAttemptFunctions(payload, ctx, signal) {
566
+ const globalStartHooks = index_js_1.lifecycleHooks.getGlobalStartAttemptHooks();
567
+ const taskStartHook = index_js_1.lifecycleHooks.getTaskStartAttemptHook(this.task.id);
568
+ if (globalStartHooks.length === 0 && !taskStartHook) {
569
+ return;
570
+ }
571
+ return await run_timeline_metrics_api_js_1.runTimelineMetrics.measureMetric("trigger.dev/execution", "startAttempt", async () => {
572
+ for (const hook of globalStartHooks) {
573
+ const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onStartAttempt()", async (span) => {
574
+ await hook.fn({ payload, ctx, signal, task: this.task.id });
575
+ }, {
576
+ attributes: {
577
+ [semanticInternalAttributes_js_1.SemanticInternalAttributes.STYLE_ICON]: "task-hook-onStartAttempt",
578
+ [semanticInternalAttributes_js_1.SemanticInternalAttributes.COLLAPSED]: true,
579
+ ...this.#lifecycleHookAccessoryAttributes(hook.name),
580
+ },
581
+ }));
582
+ if (hookError) {
583
+ throw hookError;
584
+ }
585
+ }
586
+ if (taskStartHook) {
587
+ const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onStartAttempt()", async (span) => {
588
+ await taskStartHook({
589
+ payload,
590
+ ctx,
591
+ signal,
592
+ task: this.task.id,
593
+ });
594
+ }, {
595
+ attributes: {
596
+ [semanticInternalAttributes_js_1.SemanticInternalAttributes.STYLE_ICON]: "task-hook-onStartAttempt",
597
+ [semanticInternalAttributes_js_1.SemanticInternalAttributes.COLLAPSED]: true,
598
+ ...this.#lifecycleHookAccessoryAttributes("task"),
599
+ },
600
+ }));
601
+ if (hookError) {
602
+ throw hookError;
603
+ }
604
+ }
605
+ });
606
+ }
588
607
  async #cleanupAndWaitUntil(payload, ctx, initOutput, signal) {
589
608
  await this.#callCleanupFunctions(payload, ctx, initOutput, signal);
590
609
  await this.#blockForWaitUntil();
@@ -643,7 +662,7 @@ class TaskExecutor {
643
662
  return;
644
663
  }
645
664
  return this._tracer.startActiveSpan("waitUntil", async (span) => {
646
- return await index_js_1.waitUntil.blockUntilSettled(60_000);
665
+ return await index_js_1.waitUntil.blockUntilSettled();
647
666
  }, {
648
667
  attributes: {
649
668
  [semanticInternalAttributes_js_1.SemanticInternalAttributes.STYLE_ICON]: "tabler-clock",
@@ -797,7 +816,7 @@ class TaskExecutor {
797
816
  }
798
817
  return await run_timeline_metrics_api_js_1.runTimelineMetrics.measureMetric("trigger.dev/execution", "complete", async () => {
799
818
  for (const hook of globalCompleteHooks) {
800
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onComplete()", async (span) => {
819
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onComplete()", async (span) => {
801
820
  await hook.fn({
802
821
  payload,
803
822
  result,
@@ -813,12 +832,9 @@ class TaskExecutor {
813
832
  ...this.#lifecycleHookAccessoryAttributes(hook.name),
814
833
  },
815
834
  }));
816
- if (hookError) {
817
- throw hookError;
818
- }
819
835
  }
820
836
  if (taskCompleteHook) {
821
- const [hookError] = await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onComplete()", async (span) => {
837
+ await (0, tryCatch_js_1.tryCatch)(this._tracer.startActiveSpan("onComplete()", async (span) => {
822
838
  await taskCompleteHook({
823
839
  payload,
824
840
  result,
@@ -834,9 +850,6 @@ class TaskExecutor {
834
850
  ...this.#lifecycleHookAccessoryAttributes("task"),
835
851
  },
836
852
  }));
837
- if (hookError) {
838
- throw hookError;
839
- }
840
853
  }
841
854
  });
842
855
  }