@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.
- package/dist/commonjs/v3/apiClient/index.d.ts +106 -8
- package/dist/commonjs/v3/apiClient/index.js +75 -4
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.d.ts +28 -14
- package/dist/commonjs/v3/apiClient/runStream.js +175 -58
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/apiClientManager/index.d.ts +1 -1
- package/dist/commonjs/v3/apiClientManager/index.js +11 -4
- package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
- package/dist/commonjs/v3/apiClientManager/types.d.ts +2 -1
- package/dist/commonjs/v3/errors.d.ts +5 -0
- package/dist/commonjs/v3/errors.js +12 -1
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +1 -0
- package/dist/commonjs/v3/index.js +1 -0
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/realtime-streams-api.d.ts +3 -0
- package/dist/commonjs/v3/realtime-streams-api.js +23 -0
- package/dist/commonjs/v3/realtime-streams-api.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/index.d.ts +10 -0
- package/dist/commonjs/v3/realtimeStreams/index.js +31 -0
- package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/manager.d.ts +14 -0
- package/dist/commonjs/v3/realtimeStreams/manager.js +128 -0
- package/dist/commonjs/v3/realtimeStreams/manager.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.d.ts +5 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.js +17 -0
- package/dist/commonjs/v3/realtimeStreams/noopManager.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.d.ts +23 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js +106 -0
- package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +382 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +179 -0
- package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
- package/dist/commonjs/v3/realtimeStreams/types.d.ts +119 -0
- package/dist/commonjs/v3/realtimeStreams/types.js +3 -0
- package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
- package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
- package/dist/commonjs/v3/runMetadata/manager.d.ts +3 -8
- package/dist/commonjs/v3/runMetadata/manager.js +14 -79
- package/dist/commonjs/v3/runMetadata/manager.js.map +1 -1
- package/dist/commonjs/v3/schemas/api.d.ts +69 -25
- package/dist/commonjs/v3/schemas/api.js +24 -6
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/common.d.ts +5 -0
- package/dist/commonjs/v3/schemas/common.js +1 -0
- package/dist/commonjs/v3/schemas/common.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +50 -0
- package/dist/commonjs/v3/schemas/messages.js +7 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/queues.d.ts +41 -2
- package/dist/commonjs/v3/schemas/queues.js +17 -2
- package/dist/commonjs/v3/schemas/queues.js.map +1 -1
- package/dist/commonjs/v3/schemas/runEngine.d.ts +7 -0
- package/dist/commonjs/v3/schemas/schemas.d.ts +7 -0
- package/dist/commonjs/v3/semanticInternalAttributes.d.ts +1 -0
- package/dist/commonjs/v3/semanticInternalAttributes.js +1 -0
- package/dist/commonjs/v3/semanticInternalAttributes.js.map +1 -1
- package/dist/commonjs/v3/streams/asyncIterableStream.d.ts +2 -0
- package/dist/commonjs/v3/streams/asyncIterableStream.js +47 -0
- package/dist/commonjs/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/commonjs/v3/timeout/api.d.ts +1 -0
- package/dist/commonjs/v3/timeout/api.js +6 -0
- package/dist/commonjs/v3/timeout/api.js.map +1 -1
- package/dist/commonjs/v3/timeout/types.d.ts +1 -0
- package/dist/commonjs/v3/timeout/types.js.map +1 -1
- package/dist/commonjs/v3/timeout/usageTimeoutManager.d.ts +2 -0
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js +10 -1
- package/dist/commonjs/v3/timeout/usageTimeoutManager.js.map +1 -1
- package/dist/commonjs/v3/types/tasks.d.ts +1 -1
- package/dist/commonjs/v3/utils/globals.d.ts +2 -0
- package/dist/commonjs/v3/utils/globals.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/index.d.ts +1 -1
- package/dist/commonjs/v3/waitUntil/index.js +3 -3
- package/dist/commonjs/v3/waitUntil/index.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/manager.d.ts +3 -1
- package/dist/commonjs/v3/waitUntil/manager.js +7 -3
- package/dist/commonjs/v3/waitUntil/manager.js.map +1 -1
- package/dist/commonjs/v3/waitUntil/types.d.ts +2 -2
- package/dist/commonjs/v3/workers/index.d.ts +1 -0
- package/dist/commonjs/v3/workers/index.js +3 -1
- package/dist/commonjs/v3/workers/index.js.map +1 -1
- package/dist/commonjs/v3/workers/taskExecutor.js +4 -16
- package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
- package/dist/commonjs/v3/workers/warmStartClient.d.ts +3 -0
- package/dist/commonjs/v3/workers/warmStartClient.js +67 -28
- package/dist/commonjs/v3/workers/warmStartClient.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +106 -8
- package/dist/esm/v3/apiClient/index.js +76 -6
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.d.ts +28 -14
- package/dist/esm/v3/apiClient/runStream.js +176 -58
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
- package/dist/esm/v3/apiClientManager/index.js +11 -4
- package/dist/esm/v3/apiClientManager/index.js.map +1 -1
- package/dist/esm/v3/apiClientManager/types.d.ts +2 -1
- package/dist/esm/v3/errors.d.ts +5 -0
- package/dist/esm/v3/errors.js +10 -0
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/index.d.ts +1 -0
- package/dist/esm/v3/index.js +1 -0
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/realtime-streams-api.d.ts +3 -0
- package/dist/esm/v3/realtime-streams-api.js +6 -0
- package/dist/esm/v3/realtime-streams-api.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/index.d.ts +10 -0
- package/dist/esm/v3/realtimeStreams/index.js +27 -0
- package/dist/esm/v3/realtimeStreams/index.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/manager.d.ts +14 -0
- package/dist/esm/v3/realtimeStreams/manager.js +124 -0
- package/dist/esm/v3/realtimeStreams/manager.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/noopManager.d.ts +5 -0
- package/dist/esm/v3/realtimeStreams/noopManager.js +13 -0
- package/dist/esm/v3/realtimeStreams/noopManager.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.d.ts +23 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.js +102 -0
- package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +378 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +175 -0
- package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
- package/dist/esm/v3/realtimeStreams/types.d.ts +119 -0
- package/dist/esm/v3/realtimeStreams/types.js +2 -0
- package/dist/esm/v3/realtimeStreams/types.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
- package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -0
- package/dist/esm/v3/runMetadata/manager.d.ts +3 -8
- package/dist/esm/v3/runMetadata/manager.js +14 -79
- package/dist/esm/v3/runMetadata/manager.js.map +1 -1
- package/dist/esm/v3/schemas/api.d.ts +69 -25
- package/dist/esm/v3/schemas/api.js +21 -3
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/common.d.ts +5 -0
- package/dist/esm/v3/schemas/common.js +1 -0
- package/dist/esm/v3/schemas/common.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +50 -0
- package/dist/esm/v3/schemas/messages.js +7 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/queues.d.ts +41 -2
- package/dist/esm/v3/schemas/queues.js +17 -2
- package/dist/esm/v3/schemas/queues.js.map +1 -1
- package/dist/esm/v3/schemas/runEngine.d.ts +7 -0
- package/dist/esm/v3/schemas/schemas.d.ts +7 -0
- package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
- package/dist/esm/v3/semanticInternalAttributes.js +1 -0
- package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
- package/dist/esm/v3/streams/asyncIterableStream.d.ts +2 -0
- package/dist/esm/v3/streams/asyncIterableStream.js +45 -0
- package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
- package/dist/esm/v3/timeout/api.d.ts +1 -0
- package/dist/esm/v3/timeout/api.js +6 -0
- package/dist/esm/v3/timeout/api.js.map +1 -1
- package/dist/esm/v3/timeout/types.d.ts +1 -0
- package/dist/esm/v3/timeout/types.js.map +1 -1
- package/dist/esm/v3/timeout/usageTimeoutManager.d.ts +2 -0
- package/dist/esm/v3/timeout/usageTimeoutManager.js +10 -1
- package/dist/esm/v3/timeout/usageTimeoutManager.js.map +1 -1
- package/dist/esm/v3/types/tasks.d.ts +1 -1
- package/dist/esm/v3/utils/globals.d.ts +2 -0
- package/dist/esm/v3/utils/globals.js.map +1 -1
- package/dist/esm/v3/waitUntil/index.d.ts +1 -1
- package/dist/esm/v3/waitUntil/index.js +3 -3
- package/dist/esm/v3/waitUntil/index.js.map +1 -1
- package/dist/esm/v3/waitUntil/manager.d.ts +3 -1
- package/dist/esm/v3/waitUntil/manager.js +7 -3
- package/dist/esm/v3/waitUntil/manager.js.map +1 -1
- package/dist/esm/v3/waitUntil/types.d.ts +2 -2
- package/dist/esm/v3/workers/index.d.ts +1 -0
- package/dist/esm/v3/workers/index.js +1 -0
- package/dist/esm/v3/workers/index.js.map +1 -1
- package/dist/esm/v3/workers/taskExecutor.js +5 -17
- package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
- package/dist/esm/v3/workers/warmStartClient.d.ts +3 -0
- package/dist/esm/v3/workers/warmStartClient.js +67 -28
- package/dist/esm/v3/workers/warmStartClient.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -1
- package/dist/commonjs/v3/runMetadata/metadataStream.d.ts +0 -28
- package/dist/commonjs/v3/runMetadata/metadataStream.js +0 -155
- package/dist/commonjs/v3/runMetadata/metadataStream.js.map +0 -1
- package/dist/esm/v3/runMetadata/metadataStream.d.ts +0 -28
- package/dist/esm/v3/runMetadata/metadataStream.js +0 -151
- package/dist/esm/v3/runMetadata/metadataStream.js.map +0 -1
|
@@ -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":"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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,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
|
+
}
|