@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
@@ -0,0 +1,27 @@
1
+ import { getGlobal, registerGlobal } from "../utils/globals.js";
2
+ import { NoopRealtimeStreamsManager } from "./noopManager.js";
3
+ const API_NAME = "realtime-streams";
4
+ const NOOP_MANAGER = new NoopRealtimeStreamsManager();
5
+ export class RealtimeStreamsAPI {
6
+ static _instance;
7
+ constructor() { }
8
+ static getInstance() {
9
+ if (!this._instance) {
10
+ this._instance = new RealtimeStreamsAPI();
11
+ }
12
+ return this._instance;
13
+ }
14
+ setGlobalManager(manager) {
15
+ return registerGlobal(API_NAME, manager);
16
+ }
17
+ #getManager() {
18
+ return getGlobal(API_NAME) ?? NOOP_MANAGER;
19
+ }
20
+ pipe(key, source, options) {
21
+ return this.#getManager().pipe(key, source, options);
22
+ }
23
+ append(key, part, options) {
24
+ return this.#getManager().append(key, part, options);
25
+ }
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAO9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAEpC,MAAM,YAAY,GAAG,IAAI,0BAA0B,EAAE,CAAC;AAEtD,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAC,SAAS,CAAsB;IAE9C,gBAAuB,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,OAA+B;QAC9C,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;IAC7C,CAAC;IAEM,IAAI,CACT,GAAW,EACX,MAA4C,EAC5C,OAAwC;QAExC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CACX,GAAW,EACX,IAAW,EACX,OAAwC;QAExC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { ApiClient } from "../apiClient/index.js";
2
+ import { RealtimeStreamInstance, RealtimeStreamOperationOptions, RealtimeStreamsManager } from "./types.js";
3
+ export declare class StandardRealtimeStreamsManager implements RealtimeStreamsManager {
4
+ private apiClient;
5
+ private baseUrl;
6
+ private debug;
7
+ constructor(apiClient: ApiClient, baseUrl: string, debug?: boolean);
8
+ private activeStreams;
9
+ reset(): void;
10
+ pipe<T>(key: string, source: AsyncIterable<T> | ReadableStream<T>, options?: RealtimeStreamOperationOptions): RealtimeStreamInstance<T>;
11
+ append<TPart extends BodyInit>(key: string, part: TPart, options?: RealtimeStreamOperationOptions): Promise<void>;
12
+ hasActiveStreams(): boolean;
13
+ waitForAllStreams(timeout?: number): Promise<void>;
14
+ }
@@ -0,0 +1,124 @@
1
+ import { ensureReadableStream } from "../streams/asyncIterableStream.js";
2
+ import { taskContext } from "../task-context-api.js";
3
+ import { StreamInstance } from "./streamInstance.js";
4
+ export class StandardRealtimeStreamsManager {
5
+ apiClient;
6
+ baseUrl;
7
+ debug;
8
+ constructor(apiClient, baseUrl, debug = false) {
9
+ this.apiClient = apiClient;
10
+ this.baseUrl = baseUrl;
11
+ this.debug = debug;
12
+ }
13
+ // Track active streams - using a Set allows multiple streams for the same key to coexist
14
+ activeStreams = new Set();
15
+ reset() {
16
+ this.activeStreams.clear();
17
+ }
18
+ pipe(key, source, options) {
19
+ // Normalize ReadableStream to AsyncIterable
20
+ const readableStreamSource = ensureReadableStream(source);
21
+ const runId = getRunIdForOptions(options);
22
+ if (!runId) {
23
+ throw new Error("Could not determine the target run ID for the realtime stream. Please specify a target run ID using the `target` option.");
24
+ }
25
+ // Create an AbortController for this stream
26
+ const abortController = new AbortController();
27
+ // Chain with user-provided signal if present
28
+ const combinedSignal = options?.signal
29
+ ? AbortSignal.any?.([options.signal, abortController.signal]) ?? abortController.signal
30
+ : abortController.signal;
31
+ const streamInstance = new StreamInstance({
32
+ apiClient: this.apiClient,
33
+ baseUrl: this.baseUrl,
34
+ runId,
35
+ key,
36
+ source: readableStreamSource,
37
+ signal: combinedSignal,
38
+ requestOptions: options?.requestOptions,
39
+ target: options?.target,
40
+ debug: this.debug,
41
+ });
42
+ // Register this stream
43
+ const streamInfo = { wait: () => streamInstance.wait(), abortController };
44
+ this.activeStreams.add(streamInfo);
45
+ // Clean up when stream completes
46
+ streamInstance.wait().finally(() => this.activeStreams.delete(streamInfo));
47
+ return {
48
+ wait: () => streamInstance.wait(),
49
+ stream: streamInstance.stream,
50
+ };
51
+ }
52
+ async append(key, part, options) {
53
+ const runId = getRunIdForOptions(options);
54
+ if (!runId) {
55
+ throw new Error("Could not determine the target run ID for the realtime stream. Please specify a target run ID using the `target` option.");
56
+ }
57
+ const result = await this.apiClient.appendToStream(runId, "self", key, part, options?.requestOptions);
58
+ if (!result.ok) {
59
+ throw new Error(`Failed to append to stream: ${result.message ?? "Unknown error"}`);
60
+ }
61
+ }
62
+ hasActiveStreams() {
63
+ return this.activeStreams.size > 0;
64
+ }
65
+ // Waits for all the streams to finish
66
+ async waitForAllStreams(timeout = 60_000) {
67
+ if (this.activeStreams.size === 0) {
68
+ return;
69
+ }
70
+ const promises = Array.from(this.activeStreams).map((stream) => stream.wait());
71
+ // Create a timeout promise that resolves to a special sentinel value
72
+ const TIMEOUT_SENTINEL = Symbol("timeout");
73
+ const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve(TIMEOUT_SENTINEL), timeout));
74
+ // Race between all streams completing/rejecting and the timeout
75
+ const result = await Promise.race([Promise.all(promises), timeoutPromise]);
76
+ // Check if we timed out
77
+ if (result === TIMEOUT_SENTINEL) {
78
+ // Timeout occurred - abort all active streams
79
+ const abortedCount = this.activeStreams.size;
80
+ for (const streamInfo of this.activeStreams) {
81
+ streamInfo.abortController.abort();
82
+ this.activeStreams.delete(streamInfo);
83
+ }
84
+ throw new Error(`Timeout waiting for streams to finish after ${timeout}ms. Aborted ${abortedCount} active stream(s).`);
85
+ }
86
+ // If we reach here, Promise.all completed (either all resolved or one rejected)
87
+ // Any rejection from Promise.all will have already propagated
88
+ }
89
+ }
90
+ function getRunIdForOptions(options) {
91
+ if (options?.target) {
92
+ if (options.target === "parent") {
93
+ return taskContext.ctx?.run?.parentTaskRunId ?? taskContext.ctx?.run?.id;
94
+ }
95
+ if (options.target === "root") {
96
+ return taskContext.ctx?.run?.rootTaskRunId ?? taskContext.ctx?.run?.id;
97
+ }
98
+ if (options.target === "self") {
99
+ return taskContext.ctx?.run?.id;
100
+ }
101
+ return options.target;
102
+ }
103
+ return taskContext.ctx?.run?.id;
104
+ }
105
+ function parseCreateStreamResponse(version, headers) {
106
+ if (version === "v1") {
107
+ return { version: "v1" };
108
+ }
109
+ const accessToken = headers?.["x-s2-access-token"];
110
+ const basin = headers?.["x-s2-basin"];
111
+ if (!accessToken || !basin) {
112
+ return { version: "v1" };
113
+ }
114
+ const flushIntervalMs = headers?.["x-s2-flush-interval-ms"];
115
+ const maxRetries = headers?.["x-s2-max-retries"];
116
+ return {
117
+ version: "v2",
118
+ accessToken,
119
+ basin,
120
+ flushIntervalMs: flushIntervalMs ? parseInt(flushIntervalMs) : undefined,
121
+ maxRetries: maxRetries ? parseInt(maxRetries) : undefined,
122
+ };
123
+ }
124
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { RealtimeStreamOperationOptions, RealtimeStreamInstance, RealtimeStreamsManager } from "./types.js";
2
+ export declare class NoopRealtimeStreamsManager implements RealtimeStreamsManager {
3
+ pipe<T>(key: string, source: AsyncIterable<T> | ReadableStream<T>, options?: RealtimeStreamOperationOptions): RealtimeStreamInstance<T>;
4
+ append<TPart extends BodyInit>(key: string, part: TPart, options?: RealtimeStreamOperationOptions): Promise<void>;
5
+ }
@@ -0,0 +1,13 @@
1
+ import { createAsyncIterableStreamFromAsyncIterable, } from "../streams/asyncIterableStream.js";
2
+ export class NoopRealtimeStreamsManager {
3
+ pipe(key, source, options) {
4
+ return {
5
+ wait: () => Promise.resolve(),
6
+ get stream() {
7
+ return createAsyncIterableStreamFromAsyncIterable(source);
8
+ },
9
+ };
10
+ }
11
+ async append(key, part, options) { }
12
+ }
13
+ //# sourceMappingURL=noopManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noopManager.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/noopManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0CAA0C,GAC3C,MAAM,mCAAmC,CAAC;AAO3C,MAAM,OAAO,0BAA0B;IAC9B,IAAI,CACT,GAAW,EACX,MAA4C,EAC5C,OAAwC;QAExC,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YAC7B,IAAI,MAAM;gBACR,OAAO,0CAA0C,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,IAAW,EACX,OAAwC,IACxB,CAAC;CACpB"}
@@ -0,0 +1,23 @@
1
+ import { ApiClient } from "../apiClient/index.js";
2
+ import { AsyncIterableStream } from "../streams/asyncIterableStream.js";
3
+ import { AnyZodFetchOptions } from "../zodfetch.js";
4
+ import { StreamsWriter } from "./types.js";
5
+ export type StreamInstanceOptions<T> = {
6
+ apiClient: ApiClient;
7
+ baseUrl: string;
8
+ runId: string;
9
+ key: string;
10
+ source: ReadableStream<T>;
11
+ signal?: AbortSignal;
12
+ requestOptions?: AnyZodFetchOptions;
13
+ target?: "self" | "parent" | "root" | string;
14
+ debug?: boolean;
15
+ };
16
+ export declare class StreamInstance<T> implements StreamsWriter {
17
+ private options;
18
+ private streamPromise;
19
+ constructor(options: StreamInstanceOptions<T>);
20
+ private initializeWriter;
21
+ wait(): Promise<void>;
22
+ get stream(): AsyncIterableStream<T>;
23
+ }
@@ -0,0 +1,102 @@
1
+ import { StreamsWriterV1 } from "./streamsWriterV1.js";
2
+ import { StreamsWriterV2 } from "./streamsWriterV2.js";
3
+ export class StreamInstance {
4
+ options;
5
+ streamPromise;
6
+ constructor(options) {
7
+ this.options = options;
8
+ this.streamPromise = this.initializeWriter();
9
+ }
10
+ async initializeWriter() {
11
+ const { version, headers } = await this.options.apiClient.createStream(this.options.runId, "self", this.options.key, this.options?.requestOptions);
12
+ const parsedResponse = parseCreateStreamResponse(version, headers);
13
+ const streamWriter = parsedResponse.version === "v1"
14
+ ? new StreamsWriterV1({
15
+ key: this.options.key,
16
+ runId: this.options.runId,
17
+ source: this.options.source,
18
+ baseUrl: this.options.baseUrl,
19
+ headers: this.options.apiClient.getHeaders(),
20
+ signal: this.options.signal,
21
+ version,
22
+ target: "self",
23
+ })
24
+ : new StreamsWriterV2({
25
+ basin: parsedResponse.basin,
26
+ stream: parsedResponse.streamName ?? this.options.key,
27
+ accessToken: parsedResponse.accessToken,
28
+ source: this.options.source,
29
+ signal: this.options.signal,
30
+ debug: this.options.debug,
31
+ flushIntervalMs: parsedResponse.flushIntervalMs,
32
+ maxRetries: parsedResponse.maxRetries,
33
+ });
34
+ return streamWriter;
35
+ }
36
+ async wait() {
37
+ return this.streamPromise.then((writer) => writer.wait());
38
+ }
39
+ get stream() {
40
+ const self = this;
41
+ return new ReadableStream({
42
+ async start(controller) {
43
+ const streamWriter = await self.streamPromise;
44
+ const iterator = streamWriter[Symbol.asyncIterator]();
45
+ while (true) {
46
+ if (self.options.signal?.aborted) {
47
+ controller.close();
48
+ break;
49
+ }
50
+ const { done, value } = await iterator.next();
51
+ if (done) {
52
+ controller.close();
53
+ break;
54
+ }
55
+ controller.enqueue(value);
56
+ }
57
+ },
58
+ });
59
+ }
60
+ }
61
+ function parseCreateStreamResponse(version, headers) {
62
+ if (version === "v1") {
63
+ return { version: "v1" };
64
+ }
65
+ const accessToken = headers?.["x-s2-access-token"];
66
+ const basin = headers?.["x-s2-basin"];
67
+ if (!accessToken || !basin) {
68
+ return { version: "v1" };
69
+ }
70
+ const flushIntervalMs = headers?.["x-s2-flush-interval-ms"];
71
+ const maxRetries = headers?.["x-s2-max-retries"];
72
+ const streamName = headers?.["x-s2-stream-name"];
73
+ return {
74
+ version: "v2",
75
+ accessToken,
76
+ basin,
77
+ flushIntervalMs: flushIntervalMs ? parseInt(flushIntervalMs) : undefined,
78
+ maxRetries: maxRetries ? parseInt(maxRetries) : undefined,
79
+ streamName,
80
+ };
81
+ }
82
+ async function* streamToAsyncIterator(stream) {
83
+ const reader = stream.getReader();
84
+ try {
85
+ while (true) {
86
+ const { done, value } = await reader.read();
87
+ if (done)
88
+ return;
89
+ yield value;
90
+ }
91
+ }
92
+ finally {
93
+ safeReleaseLock(reader);
94
+ }
95
+ }
96
+ function safeReleaseLock(reader) {
97
+ try {
98
+ reader.releaseLock();
99
+ }
100
+ catch (error) { }
101
+ }
102
+ //# sourceMappingURL=streamInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamInstance.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/streamInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { StreamsWriter } from "./types.js";
2
+ export type StreamsWriterV1Options<T> = {
3
+ baseUrl: string;
4
+ runId: string;
5
+ key: string;
6
+ source: ReadableStream<T>;
7
+ headers?: Record<string, string>;
8
+ signal?: AbortSignal;
9
+ version?: string;
10
+ target?: "self" | "parent" | "root";
11
+ maxRetries?: number;
12
+ maxBufferSize?: number;
13
+ clientId?: string;
14
+ };
15
+ export declare class StreamsWriterV1<T> implements StreamsWriter {
16
+ private options;
17
+ private controller;
18
+ private serverStream;
19
+ private consumerStream;
20
+ private streamPromise;
21
+ private retryCount;
22
+ private readonly maxRetries;
23
+ private currentChunkIndex;
24
+ private readonly baseDelayMs;
25
+ private readonly maxDelayMs;
26
+ private readonly maxBufferSize;
27
+ private readonly clientId;
28
+ private ringBuffer;
29
+ private bufferStartIndex;
30
+ private highestBufferedIndex;
31
+ private streamReader;
32
+ private bufferReaderTask;
33
+ private streamComplete;
34
+ constructor(options: StreamsWriterV1Options<T>);
35
+ private generateClientId;
36
+ private startBuffering;
37
+ private makeRequest;
38
+ private initializeServerStream;
39
+ wait(): Promise<void>;
40
+ [Symbol.asyncIterator](): AsyncIterableIterator<T>;
41
+ private buildUrl;
42
+ private isRetryableError;
43
+ private isRetryableStatusCode;
44
+ private delay;
45
+ private calculateBackoffDelay;
46
+ private addToRingBuffer;
47
+ private getChunksFromBuffer;
48
+ private queryServerLastChunkIndex;
49
+ }