@trigger.dev/core 0.0.0-prerelease-20251007140052 → 0.0.0-prerelease-20251113143926

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 (195) 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/realtime-streams-api.d.ts +3 -0
  18. package/dist/commonjs/v3/realtime-streams-api.js +23 -0
  19. package/dist/commonjs/v3/realtime-streams-api.js.map +1 -0
  20. package/dist/commonjs/v3/realtimeStreams/index.d.ts +10 -0
  21. package/dist/commonjs/v3/realtimeStreams/index.js +31 -0
  22. package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -0
  23. package/dist/commonjs/v3/realtimeStreams/manager.d.ts +14 -0
  24. package/dist/commonjs/v3/realtimeStreams/manager.js +128 -0
  25. package/dist/commonjs/v3/realtimeStreams/manager.js.map +1 -0
  26. package/dist/commonjs/v3/realtimeStreams/noopManager.d.ts +5 -0
  27. package/dist/commonjs/v3/realtimeStreams/noopManager.js +17 -0
  28. package/dist/commonjs/v3/realtimeStreams/noopManager.js.map +1 -0
  29. package/dist/commonjs/v3/realtimeStreams/streamInstance.d.ts +23 -0
  30. package/dist/commonjs/v3/realtimeStreams/streamInstance.js +106 -0
  31. package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -0
  32. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  33. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +382 -0
  34. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  35. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  36. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +179 -0
  37. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  38. package/dist/commonjs/v3/realtimeStreams/types.d.ts +119 -0
  39. package/dist/commonjs/v3/realtimeStreams/types.js +3 -0
  40. package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -0
  41. package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  42. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  43. package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
  44. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  45. package/dist/commonjs/v3/runMetadata/manager.d.ts +3 -8
  46. package/dist/commonjs/v3/runMetadata/manager.js +14 -79
  47. package/dist/commonjs/v3/runMetadata/manager.js.map +1 -1
  48. package/dist/commonjs/v3/schemas/api.d.ts +69 -25
  49. package/dist/commonjs/v3/schemas/api.js +24 -6
  50. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  51. package/dist/commonjs/v3/schemas/common.d.ts +5 -0
  52. package/dist/commonjs/v3/schemas/common.js +1 -0
  53. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  54. package/dist/commonjs/v3/schemas/messages.d.ts +50 -0
  55. package/dist/commonjs/v3/schemas/messages.js +7 -0
  56. package/dist/commonjs/v3/schemas/messages.js.map +1 -1
  57. package/dist/commonjs/v3/schemas/queues.d.ts +41 -2
  58. package/dist/commonjs/v3/schemas/queues.js +17 -2
  59. package/dist/commonjs/v3/schemas/queues.js.map +1 -1
  60. package/dist/commonjs/v3/schemas/runEngine.d.ts +7 -0
  61. package/dist/commonjs/v3/schemas/schemas.d.ts +7 -0
  62. package/dist/commonjs/v3/semanticInternalAttributes.d.ts +1 -0
  63. package/dist/commonjs/v3/semanticInternalAttributes.js +1 -0
  64. package/dist/commonjs/v3/semanticInternalAttributes.js.map +1 -1
  65. package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +2 -0
  66. package/dist/commonjs/v3/streams/asyncIterableStream.js +47 -0
  67. package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
  68. package/dist/commonjs/v3/timeout/api.d.ts +1 -0
  69. package/dist/commonjs/v3/timeout/api.js +6 -0
  70. package/dist/commonjs/v3/timeout/api.js.map +1 -1
  71. package/dist/commonjs/v3/timeout/types.d.ts +1 -0
  72. package/dist/commonjs/v3/timeout/types.js.map +1 -1
  73. package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +2 -0
  74. package/dist/commonjs/v3/timeout/usageTimeoutManager.js +10 -1
  75. package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -1
  76. package/dist/commonjs/v3/types/tasks.d.ts +1 -1
  77. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  78. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  79. package/dist/commonjs/v3/waitUntil/index.d.ts +1 -1
  80. package/dist/commonjs/v3/waitUntil/index.js +3 -3
  81. package/dist/commonjs/v3/waitUntil/index.js.map +1 -1
  82. package/dist/commonjs/v3/waitUntil/manager.d.ts +3 -1
  83. package/dist/commonjs/v3/waitUntil/manager.js +7 -3
  84. package/dist/commonjs/v3/waitUntil/manager.js.map +1 -1
  85. package/dist/commonjs/v3/waitUntil/types.d.ts +2 -2
  86. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  87. package/dist/commonjs/v3/workers/index.js +3 -1
  88. package/dist/commonjs/v3/workers/index.js.map +1 -1
  89. package/dist/commonjs/v3/workers/taskExecutor.js +4 -16
  90. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  91. package/dist/commonjs/v3/workers/warmStartClient.d.ts +3 -0
  92. package/dist/commonjs/v3/workers/warmStartClient.js +67 -28
  93. package/dist/commonjs/v3/workers/warmStartClient.js.map +1 -1
  94. package/dist/commonjs/version.js +1 -1
  95. package/dist/esm/v3/apiClient/index.d.ts +106 -8
  96. package/dist/esm/v3/apiClient/index.js +76 -6
  97. package/dist/esm/v3/apiClient/index.js.map +1 -1
  98. package/dist/esm/v3/apiClient/runStream.d.ts +28 -14
  99. package/dist/esm/v3/apiClient/runStream.js +176 -58
  100. package/dist/esm/v3/apiClient/runStream.js.map +1 -1
  101. package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
  102. package/dist/esm/v3/apiClientManager/index.js +11 -4
  103. package/dist/esm/v3/apiClientManager/index.js.map +1 -1
  104. package/dist/esm/v3/apiClientManager/types.d.ts +2 -1
  105. package/dist/esm/v3/errors.d.ts +5 -0
  106. package/dist/esm/v3/errors.js +10 -0
  107. package/dist/esm/v3/errors.js.map +1 -1
  108. package/dist/esm/v3/index.d.ts +1 -0
  109. package/dist/esm/v3/index.js +1 -0
  110. package/dist/esm/v3/index.js.map +1 -1
  111. package/dist/esm/v3/realtime-streams-api.d.ts +3 -0
  112. package/dist/esm/v3/realtime-streams-api.js +6 -0
  113. package/dist/esm/v3/realtime-streams-api.js.map +1 -0
  114. package/dist/esm/v3/realtimeStreams/index.d.ts +10 -0
  115. package/dist/esm/v3/realtimeStreams/index.js +27 -0
  116. package/dist/esm/v3/realtimeStreams/index.js.map +1 -0
  117. package/dist/esm/v3/realtimeStreams/manager.d.ts +14 -0
  118. package/dist/esm/v3/realtimeStreams/manager.js +124 -0
  119. package/dist/esm/v3/realtimeStreams/manager.js.map +1 -0
  120. package/dist/esm/v3/realtimeStreams/noopManager.d.ts +5 -0
  121. package/dist/esm/v3/realtimeStreams/noopManager.js +13 -0
  122. package/dist/esm/v3/realtimeStreams/noopManager.js.map +1 -0
  123. package/dist/esm/v3/realtimeStreams/streamInstance.d.ts +23 -0
  124. package/dist/esm/v3/realtimeStreams/streamInstance.js +102 -0
  125. package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -0
  126. package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  127. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +378 -0
  128. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  129. package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  130. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +175 -0
  131. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  132. package/dist/esm/v3/realtimeStreams/types.d.ts +119 -0
  133. package/dist/esm/v3/realtimeStreams/types.js +2 -0
  134. package/dist/esm/v3/realtimeStreams/types.js.map +1 -0
  135. package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  136. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  137. package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
  138. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  139. package/dist/esm/v3/runMetadata/manager.d.ts +3 -8
  140. package/dist/esm/v3/runMetadata/manager.js +14 -79
  141. package/dist/esm/v3/runMetadata/manager.js.map +1 -1
  142. package/dist/esm/v3/schemas/api.d.ts +69 -25
  143. package/dist/esm/v3/schemas/api.js +21 -3
  144. package/dist/esm/v3/schemas/api.js.map +1 -1
  145. package/dist/esm/v3/schemas/common.d.ts +5 -0
  146. package/dist/esm/v3/schemas/common.js +1 -0
  147. package/dist/esm/v3/schemas/common.js.map +1 -1
  148. package/dist/esm/v3/schemas/messages.d.ts +50 -0
  149. package/dist/esm/v3/schemas/messages.js +7 -0
  150. package/dist/esm/v3/schemas/messages.js.map +1 -1
  151. package/dist/esm/v3/schemas/queues.d.ts +41 -2
  152. package/dist/esm/v3/schemas/queues.js +17 -2
  153. package/dist/esm/v3/schemas/queues.js.map +1 -1
  154. package/dist/esm/v3/schemas/runEngine.d.ts +7 -0
  155. package/dist/esm/v3/schemas/schemas.d.ts +7 -0
  156. package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
  157. package/dist/esm/v3/semanticInternalAttributes.js +1 -0
  158. package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
  159. package/dist/esm/v3/streams/asyncIterableStream.d.ts +2 -0
  160. package/dist/esm/v3/streams/asyncIterableStream.js +45 -0
  161. package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
  162. package/dist/esm/v3/timeout/api.d.ts +1 -0
  163. package/dist/esm/v3/timeout/api.js +6 -0
  164. package/dist/esm/v3/timeout/api.js.map +1 -1
  165. package/dist/esm/v3/timeout/types.d.ts +1 -0
  166. package/dist/esm/v3/timeout/types.js.map +1 -1
  167. package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +2 -0
  168. package/dist/esm/v3/timeout/usageTimeoutManager.js +10 -1
  169. package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -1
  170. package/dist/esm/v3/types/tasks.d.ts +1 -1
  171. package/dist/esm/v3/utils/globals.d.ts +2 -0
  172. package/dist/esm/v3/utils/globals.js.map +1 -1
  173. package/dist/esm/v3/waitUntil/index.d.ts +1 -1
  174. package/dist/esm/v3/waitUntil/index.js +3 -3
  175. package/dist/esm/v3/waitUntil/index.js.map +1 -1
  176. package/dist/esm/v3/waitUntil/manager.d.ts +3 -1
  177. package/dist/esm/v3/waitUntil/manager.js +7 -3
  178. package/dist/esm/v3/waitUntil/manager.js.map +1 -1
  179. package/dist/esm/v3/waitUntil/types.d.ts +2 -2
  180. package/dist/esm/v3/workers/index.d.ts +1 -0
  181. package/dist/esm/v3/workers/index.js +1 -0
  182. package/dist/esm/v3/workers/index.js.map +1 -1
  183. package/dist/esm/v3/workers/taskExecutor.js +5 -17
  184. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  185. package/dist/esm/v3/workers/warmStartClient.d.ts +3 -0
  186. package/dist/esm/v3/workers/warmStartClient.js +67 -28
  187. package/dist/esm/v3/workers/warmStartClient.js.map +1 -1
  188. package/dist/esm/version.js +1 -1
  189. package/package.json +2 -1
  190. package/dist/commonjs/v3/runMetadata/metadataStream.d.ts +0 -28
  191. package/dist/commonjs/v3/runMetadata/metadataStream.js +0 -155
  192. package/dist/commonjs/v3/runMetadata/metadataStream.js.map +0 -1
  193. package/dist/esm/v3/runMetadata/metadataStream.d.ts +0 -28
  194. package/dist/esm/v3/runMetadata/metadataStream.js +0 -151
  195. package/dist/esm/v3/runMetadata/metadataStream.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.realtimeStreams = void 0;
18
+ // Split module-level variable definition into separate files to allow
19
+ // tree-shaking on each api instance.
20
+ const index_js_1 = require("./realtimeStreams/index.js");
21
+ exports.realtimeStreams = index_js_1.RealtimeStreamsAPI.getInstance();
22
+ __exportStar(require("./realtimeStreams/types.js"), exports);
23
+ //# sourceMappingURL=realtime-streams-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-streams-api.js","sourceRoot":"","sources":["../../../src/v3/realtime-streams-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sEAAsE;AACtE,qCAAqC;AACrC,yDAAgE;AAEnD,QAAA,eAAe,GAAG,6BAAkB,CAAC,WAAW,EAAE,CAAC;AAEhE,6DAA2C"}
@@ -0,0 +1,10 @@
1
+ import { RealtimeStreamOperationOptions, RealtimeStreamInstance, RealtimeStreamsManager } from "./types.js";
2
+ export declare class RealtimeStreamsAPI implements RealtimeStreamsManager {
3
+ #private;
4
+ private static _instance?;
5
+ private constructor();
6
+ static getInstance(): RealtimeStreamsAPI;
7
+ setGlobalManager(manager: RealtimeStreamsManager): boolean;
8
+ pipe<T>(key: string, source: AsyncIterable<T> | ReadableStream<T>, options?: RealtimeStreamOperationOptions): RealtimeStreamInstance<T>;
9
+ append<TPart extends BodyInit>(key: string, part: TPart, options?: RealtimeStreamOperationOptions): Promise<void>;
10
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealtimeStreamsAPI = void 0;
4
+ const globals_js_1 = require("../utils/globals.js");
5
+ const noopManager_js_1 = require("./noopManager.js");
6
+ const API_NAME = "realtime-streams";
7
+ const NOOP_MANAGER = new noopManager_js_1.NoopRealtimeStreamsManager();
8
+ class RealtimeStreamsAPI {
9
+ static _instance;
10
+ constructor() { }
11
+ static getInstance() {
12
+ if (!this._instance) {
13
+ this._instance = new RealtimeStreamsAPI();
14
+ }
15
+ return this._instance;
16
+ }
17
+ setGlobalManager(manager) {
18
+ return (0, globals_js_1.registerGlobal)(API_NAME, manager);
19
+ }
20
+ #getManager() {
21
+ return (0, globals_js_1.getGlobal)(API_NAME) ?? NOOP_MANAGER;
22
+ }
23
+ pipe(key, source, options) {
24
+ return this.#getManager().pipe(key, source, options);
25
+ }
26
+ append(key, part, options) {
27
+ return this.#getManager().append(key, part, options);
28
+ }
29
+ }
30
+ exports.RealtimeStreamsAPI = RealtimeStreamsAPI;
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/index.ts"],"names":[],"mappings":";;;AAAA,oDAAgE;AAChE,qDAA8D;AAO9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAEpC,MAAM,YAAY,GAAG,IAAI,2CAA0B,EAAE,CAAC;AAEtD,MAAa,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,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW;QACT,OAAO,IAAA,sBAAS,EAAC,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;AApCD,gDAoCC"}
@@ -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,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardRealtimeStreamsManager = void 0;
4
+ const asyncIterableStream_js_1 = require("../streams/asyncIterableStream.js");
5
+ const task_context_api_js_1 = require("../task-context-api.js");
6
+ const streamInstance_js_1 = require("./streamInstance.js");
7
+ class StandardRealtimeStreamsManager {
8
+ apiClient;
9
+ baseUrl;
10
+ debug;
11
+ constructor(apiClient, baseUrl, debug = false) {
12
+ this.apiClient = apiClient;
13
+ this.baseUrl = baseUrl;
14
+ this.debug = debug;
15
+ }
16
+ // Track active streams - using a Set allows multiple streams for the same key to coexist
17
+ activeStreams = new Set();
18
+ reset() {
19
+ this.activeStreams.clear();
20
+ }
21
+ pipe(key, source, options) {
22
+ // Normalize ReadableStream to AsyncIterable
23
+ const readableStreamSource = (0, asyncIterableStream_js_1.ensureReadableStream)(source);
24
+ const runId = getRunIdForOptions(options);
25
+ if (!runId) {
26
+ throw new Error("Could not determine the target run ID for the realtime stream. Please specify a target run ID using the `target` option.");
27
+ }
28
+ // Create an AbortController for this stream
29
+ const abortController = new AbortController();
30
+ // Chain with user-provided signal if present
31
+ const combinedSignal = options?.signal
32
+ ? AbortSignal.any?.([options.signal, abortController.signal]) ?? abortController.signal
33
+ : abortController.signal;
34
+ const streamInstance = new streamInstance_js_1.StreamInstance({
35
+ apiClient: this.apiClient,
36
+ baseUrl: this.baseUrl,
37
+ runId,
38
+ key,
39
+ source: readableStreamSource,
40
+ signal: combinedSignal,
41
+ requestOptions: options?.requestOptions,
42
+ target: options?.target,
43
+ debug: this.debug,
44
+ });
45
+ // Register this stream
46
+ const streamInfo = { wait: () => streamInstance.wait(), abortController };
47
+ this.activeStreams.add(streamInfo);
48
+ // Clean up when stream completes
49
+ streamInstance.wait().finally(() => this.activeStreams.delete(streamInfo));
50
+ return {
51
+ wait: () => streamInstance.wait(),
52
+ stream: streamInstance.stream,
53
+ };
54
+ }
55
+ async append(key, part, options) {
56
+ const runId = getRunIdForOptions(options);
57
+ if (!runId) {
58
+ throw new Error("Could not determine the target run ID for the realtime stream. Please specify a target run ID using the `target` option.");
59
+ }
60
+ const result = await this.apiClient.appendToStream(runId, "self", key, part, options?.requestOptions);
61
+ if (!result.ok) {
62
+ throw new Error(`Failed to append to stream: ${result.message ?? "Unknown error"}`);
63
+ }
64
+ }
65
+ hasActiveStreams() {
66
+ return this.activeStreams.size > 0;
67
+ }
68
+ // Waits for all the streams to finish
69
+ async waitForAllStreams(timeout = 60_000) {
70
+ if (this.activeStreams.size === 0) {
71
+ return;
72
+ }
73
+ const promises = Array.from(this.activeStreams).map((stream) => stream.wait());
74
+ // Create a timeout promise that resolves to a special sentinel value
75
+ const TIMEOUT_SENTINEL = Symbol("timeout");
76
+ const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve(TIMEOUT_SENTINEL), timeout));
77
+ // Race between all streams completing/rejecting and the timeout
78
+ const result = await Promise.race([Promise.all(promises), timeoutPromise]);
79
+ // Check if we timed out
80
+ if (result === TIMEOUT_SENTINEL) {
81
+ // Timeout occurred - abort all active streams
82
+ const abortedCount = this.activeStreams.size;
83
+ for (const streamInfo of this.activeStreams) {
84
+ streamInfo.abortController.abort();
85
+ this.activeStreams.delete(streamInfo);
86
+ }
87
+ throw new Error(`Timeout waiting for streams to finish after ${timeout}ms. Aborted ${abortedCount} active stream(s).`);
88
+ }
89
+ // If we reach here, Promise.all completed (either all resolved or one rejected)
90
+ // Any rejection from Promise.all will have already propagated
91
+ }
92
+ }
93
+ exports.StandardRealtimeStreamsManager = StandardRealtimeStreamsManager;
94
+ function getRunIdForOptions(options) {
95
+ if (options?.target) {
96
+ if (options.target === "parent") {
97
+ return task_context_api_js_1.taskContext.ctx?.run?.parentTaskRunId ?? task_context_api_js_1.taskContext.ctx?.run?.id;
98
+ }
99
+ if (options.target === "root") {
100
+ return task_context_api_js_1.taskContext.ctx?.run?.rootTaskRunId ?? task_context_api_js_1.taskContext.ctx?.run?.id;
101
+ }
102
+ if (options.target === "self") {
103
+ return task_context_api_js_1.taskContext.ctx?.run?.id;
104
+ }
105
+ return options.target;
106
+ }
107
+ return task_context_api_js_1.taskContext.ctx?.run?.id;
108
+ }
109
+ function parseCreateStreamResponse(version, headers) {
110
+ if (version === "v1") {
111
+ return { version: "v1" };
112
+ }
113
+ const accessToken = headers?.["x-s2-access-token"];
114
+ const basin = headers?.["x-s2-basin"];
115
+ if (!accessToken || !basin) {
116
+ return { version: "v1" };
117
+ }
118
+ const flushIntervalMs = headers?.["x-s2-flush-interval-ms"];
119
+ const maxRetries = headers?.["x-s2-max-retries"];
120
+ return {
121
+ version: "v2",
122
+ accessToken,
123
+ basin,
124
+ flushIntervalMs: flushIntervalMs ? parseInt(flushIntervalMs) : undefined,
125
+ maxRetries: maxRetries ? parseInt(maxRetries) : undefined,
126
+ };
127
+ }
128
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/manager.ts"],"names":[],"mappings":";;;AACA,8EAA8F;AAC9F,gEAAqD;AACrD,2DAAqD;AAOrD,MAAa,8BAA8B;IAE/B;IACA;IACA;IAHV,YACU,SAAoB,EACpB,OAAe,EACf,QAAiB,KAAK;QAFtB,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAQ;QACf,UAAK,GAAL,KAAK,CAAiB;IAC7B,CAAC;IACJ,yFAAyF;IACjF,aAAa,GAAG,IAAI,GAAG,EAG3B,CAAC;IAEL,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,IAAI,CACT,GAAW,EACX,MAA4C,EAC5C,OAAwC;QAExC,4CAA4C;QAC5C,MAAM,oBAAoB,GAAG,IAAA,6CAAoB,EAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,6CAA6C;QAC7C,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM;YACpC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM;YACvF,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE3B,MAAM,cAAc,GAAG,IAAI,kCAAc,CAAC;YACxC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK;YACL,GAAG;YACH,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,cAAc;YACtB,cAAc,EAAE,OAAO,EAAE,cAAc;YACvC,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC;QAC1E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEnC,iCAAiC;QACjC,cAAc,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAE3E,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,cAAc,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,IAAW,EACX,OAAwC;QAExC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,0HAA0H,CAC3H,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAChD,KAAK,EACL,MAAM,EACN,GAAG,EACH,IAAI,EACJ,OAAO,EAAE,cAAc,CACxB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,sCAAsC;IAC/B,KAAK,CAAC,iBAAiB,CAAC,UAAkB,MAAM;QACrD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,EAAE,CACtE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CACrD,CAAC;QAEF,gEAAgE;QAChE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAE3E,wBAAwB;QACxB,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAChC,8CAA8C;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC7C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5C,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,eAAe,YAAY,oBAAoB,CACtG,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,8DAA8D;IAChE,CAAC;CACF;AAhID,wEAgIC;AAED,SAAS,kBAAkB,CAAC,OAAwC;IAClE,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,IAAI,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,IAAI,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,OAAO,iCAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;AAClC,CAAC;AAcD,SAAS,yBAAyB,CAChC,OAAe,EACf,OAA2C;IAE3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IAEtC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAEjD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,WAAW;QACX,KAAK;QACL,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1D,CAAC;AACJ,CAAC"}
@@ -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,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoopRealtimeStreamsManager = void 0;
4
+ const asyncIterableStream_js_1 = require("../streams/asyncIterableStream.js");
5
+ class NoopRealtimeStreamsManager {
6
+ pipe(key, source, options) {
7
+ return {
8
+ wait: () => Promise.resolve(),
9
+ get stream() {
10
+ return (0, asyncIterableStream_js_1.createAsyncIterableStreamFromAsyncIterable)(source);
11
+ },
12
+ };
13
+ }
14
+ async append(key, part, options) { }
15
+ }
16
+ exports.NoopRealtimeStreamsManager = NoopRealtimeStreamsManager;
17
+ //# sourceMappingURL=noopManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noopManager.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/noopManager.ts"],"names":[],"mappings":";;;AAAA,8EAG2C;AAO3C,MAAa,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,IAAA,mEAA0C,EAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,IAAW,EACX,OAAwC,IACxB,CAAC;CACpB;AAnBD,gEAmBC"}
@@ -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,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamInstance = void 0;
4
+ const streamsWriterV1_js_1 = require("./streamsWriterV1.js");
5
+ const streamsWriterV2_js_1 = require("./streamsWriterV2.js");
6
+ class StreamInstance {
7
+ options;
8
+ streamPromise;
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.streamPromise = this.initializeWriter();
12
+ }
13
+ async initializeWriter() {
14
+ const { version, headers } = await this.options.apiClient.createStream(this.options.runId, "self", this.options.key, this.options?.requestOptions);
15
+ const parsedResponse = parseCreateStreamResponse(version, headers);
16
+ const streamWriter = parsedResponse.version === "v1"
17
+ ? new streamsWriterV1_js_1.StreamsWriterV1({
18
+ key: this.options.key,
19
+ runId: this.options.runId,
20
+ source: this.options.source,
21
+ baseUrl: this.options.baseUrl,
22
+ headers: this.options.apiClient.getHeaders(),
23
+ signal: this.options.signal,
24
+ version,
25
+ target: "self",
26
+ })
27
+ : new streamsWriterV2_js_1.StreamsWriterV2({
28
+ basin: parsedResponse.basin,
29
+ stream: parsedResponse.streamName ?? this.options.key,
30
+ accessToken: parsedResponse.accessToken,
31
+ source: this.options.source,
32
+ signal: this.options.signal,
33
+ debug: this.options.debug,
34
+ flushIntervalMs: parsedResponse.flushIntervalMs,
35
+ maxRetries: parsedResponse.maxRetries,
36
+ });
37
+ return streamWriter;
38
+ }
39
+ async wait() {
40
+ return this.streamPromise.then((writer) => writer.wait());
41
+ }
42
+ get stream() {
43
+ const self = this;
44
+ return new ReadableStream({
45
+ async start(controller) {
46
+ const streamWriter = await self.streamPromise;
47
+ const iterator = streamWriter[Symbol.asyncIterator]();
48
+ while (true) {
49
+ if (self.options.signal?.aborted) {
50
+ controller.close();
51
+ break;
52
+ }
53
+ const { done, value } = await iterator.next();
54
+ if (done) {
55
+ controller.close();
56
+ break;
57
+ }
58
+ controller.enqueue(value);
59
+ }
60
+ },
61
+ });
62
+ }
63
+ }
64
+ exports.StreamInstance = StreamInstance;
65
+ function parseCreateStreamResponse(version, headers) {
66
+ if (version === "v1") {
67
+ return { version: "v1" };
68
+ }
69
+ const accessToken = headers?.["x-s2-access-token"];
70
+ const basin = headers?.["x-s2-basin"];
71
+ if (!accessToken || !basin) {
72
+ return { version: "v1" };
73
+ }
74
+ const flushIntervalMs = headers?.["x-s2-flush-interval-ms"];
75
+ const maxRetries = headers?.["x-s2-max-retries"];
76
+ const streamName = headers?.["x-s2-stream-name"];
77
+ return {
78
+ version: "v2",
79
+ accessToken,
80
+ basin,
81
+ flushIntervalMs: flushIntervalMs ? parseInt(flushIntervalMs) : undefined,
82
+ maxRetries: maxRetries ? parseInt(maxRetries) : undefined,
83
+ streamName,
84
+ };
85
+ }
86
+ async function* streamToAsyncIterator(stream) {
87
+ const reader = stream.getReader();
88
+ try {
89
+ while (true) {
90
+ const { done, value } = await reader.read();
91
+ if (done)
92
+ return;
93
+ yield value;
94
+ }
95
+ }
96
+ finally {
97
+ safeReleaseLock(reader);
98
+ }
99
+ }
100
+ function safeReleaseLock(reader) {
101
+ try {
102
+ reader.releaseLock();
103
+ }
104
+ catch (error) { }
105
+ }
106
+ //# 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
+ }