@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
@@ -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":"AAMA,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"}
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
- this._abortController.abort(new TaskRunExceededMaxDuration(timeoutInSeconds, sample.cpuTime / 1000));
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;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,0BAA0B,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"}
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":"AAoCA,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"}
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":"AAcA,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"}
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(timeout: number): Promise<void>;
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(timeout) {
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(timeout) {
34
- return this.#getManager().blockUntilSettled(timeout);
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,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,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,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"}
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(timeout: number): Promise<void>;
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(timeout) {
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(), timeout)),
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;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"}
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(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";
@@ -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 { InternalError, isCompleteTaskWithOutput, isInternalError, parseError, sanitizeError, TaskPayloadParsedError, } from "../errors.js";
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
- // Race between the run function and the abort promise
220
- return await Promise.race([runFn(payload, { ctx, init, signal }), abortPromise]);
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onSuccess()", async (span) => {
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onSuccess()", async (span) => {
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onFailure()", async (span) => {
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onFailure()", async (span) => {
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(60_000);
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onComplete()", async (span) => {
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
- const [hookError] = await tryCatch(this._tracer.startActiveSpan("onComplete()", async (span) => {
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
  }