@trigger.dev/core 4.0.7 → 4.1.1

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 (175) hide show
  1. package/dist/commonjs/v3/apiClient/index.d.ts +24 -4
  2. package/dist/commonjs/v3/apiClient/index.js +48 -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/index.d.ts +1 -0
  12. package/dist/commonjs/v3/index.js +1 -0
  13. package/dist/commonjs/v3/index.js.map +1 -1
  14. package/dist/commonjs/v3/lifecycle-hooks-api.d.ts +1 -1
  15. package/dist/commonjs/v3/lifecycleHooks/index.d.ts +5 -1
  16. package/dist/commonjs/v3/lifecycleHooks/index.js +12 -0
  17. package/dist/commonjs/v3/lifecycleHooks/index.js.map +1 -1
  18. package/dist/commonjs/v3/lifecycleHooks/manager.d.ts +11 -1
  19. package/dist/commonjs/v3/lifecycleHooks/manager.js +36 -0
  20. package/dist/commonjs/v3/lifecycleHooks/manager.js.map +1 -1
  21. package/dist/commonjs/v3/lifecycleHooks/types.d.ts +12 -0
  22. package/dist/commonjs/v3/realtime-streams-api.d.ts +3 -0
  23. package/dist/commonjs/v3/realtime-streams-api.js +23 -0
  24. package/dist/commonjs/v3/realtime-streams-api.js.map +1 -0
  25. package/dist/commonjs/v3/realtimeStreams/index.d.ts +10 -0
  26. package/dist/commonjs/v3/realtimeStreams/index.js +31 -0
  27. package/dist/commonjs/v3/realtimeStreams/index.js.map +1 -0
  28. package/dist/commonjs/v3/realtimeStreams/manager.d.ts +14 -0
  29. package/dist/commonjs/v3/realtimeStreams/manager.js +128 -0
  30. package/dist/commonjs/v3/realtimeStreams/manager.js.map +1 -0
  31. package/dist/commonjs/v3/realtimeStreams/noopManager.d.ts +5 -0
  32. package/dist/commonjs/v3/realtimeStreams/noopManager.js +17 -0
  33. package/dist/commonjs/v3/realtimeStreams/noopManager.js.map +1 -0
  34. package/dist/commonjs/v3/realtimeStreams/streamInstance.d.ts +23 -0
  35. package/dist/commonjs/v3/realtimeStreams/streamInstance.js +106 -0
  36. package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -0
  37. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  38. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js +382 -0
  39. package/dist/commonjs/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  40. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  41. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +179 -0
  42. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  43. package/dist/commonjs/v3/realtimeStreams/types.d.ts +119 -0
  44. package/dist/commonjs/v3/realtimeStreams/types.js +3 -0
  45. package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -0
  46. package/dist/commonjs/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  47. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  48. package/dist/commonjs/v3/runEngineWorker/workload/http.d.ts +1 -0
  49. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  50. package/dist/commonjs/v3/runMetadata/manager.d.ts +3 -8
  51. package/dist/commonjs/v3/runMetadata/manager.js +14 -79
  52. package/dist/commonjs/v3/runMetadata/manager.js.map +1 -1
  53. package/dist/commonjs/v3/schemas/api.d.ts +22 -0
  54. package/dist/commonjs/v3/schemas/api.js +9 -1
  55. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  56. package/dist/commonjs/v3/schemas/common.d.ts +5 -0
  57. package/dist/commonjs/v3/schemas/common.js +1 -0
  58. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  59. package/dist/commonjs/v3/schemas/messages.d.ts +35 -0
  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/types/tasks.d.ts +17 -2
  69. package/dist/commonjs/v3/types/tasks.js.map +1 -1
  70. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  71. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  72. package/dist/commonjs/v3/waitUntil/index.d.ts +1 -1
  73. package/dist/commonjs/v3/waitUntil/index.js +3 -3
  74. package/dist/commonjs/v3/waitUntil/index.js.map +1 -1
  75. package/dist/commonjs/v3/waitUntil/manager.d.ts +3 -1
  76. package/dist/commonjs/v3/waitUntil/manager.js +7 -3
  77. package/dist/commonjs/v3/waitUntil/manager.js.map +1 -1
  78. package/dist/commonjs/v3/waitUntil/types.d.ts +2 -2
  79. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  80. package/dist/commonjs/v3/workers/index.js +3 -1
  81. package/dist/commonjs/v3/workers/index.js.map +1 -1
  82. package/dist/commonjs/v3/workers/taskExecutor.js +50 -25
  83. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  84. package/dist/commonjs/version.js +1 -1
  85. package/dist/esm/v3/apiClient/index.d.ts +24 -4
  86. package/dist/esm/v3/apiClient/index.js +49 -6
  87. package/dist/esm/v3/apiClient/index.js.map +1 -1
  88. package/dist/esm/v3/apiClient/runStream.d.ts +28 -14
  89. package/dist/esm/v3/apiClient/runStream.js +176 -58
  90. package/dist/esm/v3/apiClient/runStream.js.map +1 -1
  91. package/dist/esm/v3/apiClientManager/index.d.ts +1 -1
  92. package/dist/esm/v3/apiClientManager/index.js +11 -4
  93. package/dist/esm/v3/apiClientManager/index.js.map +1 -1
  94. package/dist/esm/v3/apiClientManager/types.d.ts +2 -1
  95. package/dist/esm/v3/index.d.ts +1 -0
  96. package/dist/esm/v3/index.js +1 -0
  97. package/dist/esm/v3/index.js.map +1 -1
  98. package/dist/esm/v3/lifecycle-hooks-api.d.ts +1 -1
  99. package/dist/esm/v3/lifecycleHooks/index.d.ts +5 -1
  100. package/dist/esm/v3/lifecycleHooks/index.js +12 -0
  101. package/dist/esm/v3/lifecycleHooks/index.js.map +1 -1
  102. package/dist/esm/v3/lifecycleHooks/manager.d.ts +11 -1
  103. package/dist/esm/v3/lifecycleHooks/manager.js +36 -0
  104. package/dist/esm/v3/lifecycleHooks/manager.js.map +1 -1
  105. package/dist/esm/v3/lifecycleHooks/types.d.ts +12 -0
  106. package/dist/esm/v3/realtime-streams-api.d.ts +3 -0
  107. package/dist/esm/v3/realtime-streams-api.js +6 -0
  108. package/dist/esm/v3/realtime-streams-api.js.map +1 -0
  109. package/dist/esm/v3/realtimeStreams/index.d.ts +10 -0
  110. package/dist/esm/v3/realtimeStreams/index.js +27 -0
  111. package/dist/esm/v3/realtimeStreams/index.js.map +1 -0
  112. package/dist/esm/v3/realtimeStreams/manager.d.ts +14 -0
  113. package/dist/esm/v3/realtimeStreams/manager.js +124 -0
  114. package/dist/esm/v3/realtimeStreams/manager.js.map +1 -0
  115. package/dist/esm/v3/realtimeStreams/noopManager.d.ts +5 -0
  116. package/dist/esm/v3/realtimeStreams/noopManager.js +13 -0
  117. package/dist/esm/v3/realtimeStreams/noopManager.js.map +1 -0
  118. package/dist/esm/v3/realtimeStreams/streamInstance.d.ts +23 -0
  119. package/dist/esm/v3/realtimeStreams/streamInstance.js +102 -0
  120. package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -0
  121. package/dist/esm/v3/realtimeStreams/streamsWriterV1.d.ts +49 -0
  122. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js +378 -0
  123. package/dist/esm/v3/realtimeStreams/streamsWriterV1.js.map +1 -0
  124. package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +60 -0
  125. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +175 -0
  126. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -0
  127. package/dist/esm/v3/realtimeStreams/types.d.ts +119 -0
  128. package/dist/esm/v3/realtimeStreams/types.js +2 -0
  129. package/dist/esm/v3/realtimeStreams/types.js.map +1 -0
  130. package/dist/esm/v3/runEngineWorker/supervisor/http.d.ts +1 -0
  131. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -0
  132. package/dist/esm/v3/runEngineWorker/workload/http.d.ts +1 -0
  133. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -0
  134. package/dist/esm/v3/runMetadata/manager.d.ts +3 -8
  135. package/dist/esm/v3/runMetadata/manager.js +14 -79
  136. package/dist/esm/v3/runMetadata/manager.js.map +1 -1
  137. package/dist/esm/v3/schemas/api.d.ts +22 -0
  138. package/dist/esm/v3/schemas/api.js +8 -0
  139. package/dist/esm/v3/schemas/api.js.map +1 -1
  140. package/dist/esm/v3/schemas/common.d.ts +5 -0
  141. package/dist/esm/v3/schemas/common.js +1 -0
  142. package/dist/esm/v3/schemas/common.js.map +1 -1
  143. package/dist/esm/v3/schemas/messages.d.ts +35 -0
  144. package/dist/esm/v3/schemas/runEngine.d.ts +7 -0
  145. package/dist/esm/v3/schemas/schemas.d.ts +7 -0
  146. package/dist/esm/v3/semanticInternalAttributes.d.ts +1 -0
  147. package/dist/esm/v3/semanticInternalAttributes.js +1 -0
  148. package/dist/esm/v3/semanticInternalAttributes.js.map +1 -1
  149. package/dist/esm/v3/streams/asyncIterableStream.d.ts +2 -0
  150. package/dist/esm/v3/streams/asyncIterableStream.js +45 -0
  151. package/dist/esm/v3/streams/asyncIterableStream.js.map +1 -1
  152. package/dist/esm/v3/types/tasks.d.ts +17 -2
  153. package/dist/esm/v3/types/tasks.js.map +1 -1
  154. package/dist/esm/v3/utils/globals.d.ts +2 -0
  155. package/dist/esm/v3/utils/globals.js.map +1 -1
  156. package/dist/esm/v3/waitUntil/index.d.ts +1 -1
  157. package/dist/esm/v3/waitUntil/index.js +3 -3
  158. package/dist/esm/v3/waitUntil/index.js.map +1 -1
  159. package/dist/esm/v3/waitUntil/manager.d.ts +3 -1
  160. package/dist/esm/v3/waitUntil/manager.js +7 -3
  161. package/dist/esm/v3/waitUntil/manager.js.map +1 -1
  162. package/dist/esm/v3/waitUntil/types.d.ts +2 -2
  163. package/dist/esm/v3/workers/index.d.ts +1 -0
  164. package/dist/esm/v3/workers/index.js +1 -0
  165. package/dist/esm/v3/workers/index.js.map +1 -1
  166. package/dist/esm/v3/workers/taskExecutor.js +50 -25
  167. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  168. package/dist/esm/version.js +1 -1
  169. package/package.json +2 -1
  170. package/dist/commonjs/v3/runMetadata/metadataStream.d.ts +0 -28
  171. package/dist/commonjs/v3/runMetadata/metadataStream.js +0 -155
  172. package/dist/commonjs/v3/runMetadata/metadataStream.js.map +0 -1
  173. package/dist/esm/v3/runMetadata/metadataStream.d.ts +0 -28
  174. package/dist/esm/v3/runMetadata/metadataStream.js +0 -151
  175. package/dist/esm/v3/runMetadata/metadataStream.js.map +0 -1
@@ -1,28 +0,0 @@
1
- export type MetadataOptions<T> = {
2
- baseUrl: string;
3
- runId: string;
4
- key: string;
5
- source: AsyncIterable<T>;
6
- headers?: Record<string, string>;
7
- signal?: AbortSignal;
8
- version?: "v1" | "v2";
9
- target?: "self" | "parent" | "root";
10
- maxRetries?: number;
11
- };
12
- export declare class MetadataStream<T> {
13
- private options;
14
- private controller;
15
- private serverStream;
16
- private consumerStream;
17
- private streamPromise;
18
- private retryCount;
19
- private readonly maxRetries;
20
- private currentChunkIndex;
21
- constructor(options: MetadataOptions<T>);
22
- private createTeeStreams;
23
- private makeRequest;
24
- private initializeServerStream;
25
- wait(): Promise<void>;
26
- [Symbol.asyncIterator](): AsyncIterableIterator<T>;
27
- private buildUrl;
28
- }
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetadataStream = void 0;
4
- const node_https_1 = require("node:https");
5
- const node_http_1 = require("node:http");
6
- const node_url_1 = require("node:url");
7
- class MetadataStream {
8
- options;
9
- controller = new AbortController();
10
- serverStream;
11
- consumerStream;
12
- streamPromise;
13
- retryCount = 0;
14
- maxRetries;
15
- currentChunkIndex = 0;
16
- constructor(options) {
17
- this.options = options;
18
- const [serverStream, consumerStream] = this.createTeeStreams();
19
- this.serverStream = serverStream;
20
- this.consumerStream = consumerStream;
21
- this.maxRetries = options.maxRetries ?? 10;
22
- this.streamPromise = this.initializeServerStream();
23
- }
24
- createTeeStreams() {
25
- const readableSource = new ReadableStream({
26
- start: async (controller) => {
27
- try {
28
- for await (const value of this.options.source) {
29
- controller.enqueue(value);
30
- }
31
- controller.close();
32
- }
33
- catch (error) {
34
- controller.error(error);
35
- }
36
- },
37
- });
38
- return readableSource.tee();
39
- }
40
- async makeRequest(startFromChunk = 0) {
41
- const reader = this.serverStream.getReader();
42
- return new Promise((resolve, reject) => {
43
- const url = new node_url_1.URL(this.buildUrl());
44
- const timeout = 15 * 60 * 1000; // 15 minutes
45
- const requestFn = url.protocol === "https:" ? node_https_1.request : node_http_1.request;
46
- const req = requestFn({
47
- method: "POST",
48
- hostname: url.hostname,
49
- port: url.port || (url.protocol === "https:" ? 443 : 80),
50
- path: url.pathname + url.search,
51
- headers: {
52
- ...this.options.headers,
53
- "Content-Type": "application/json",
54
- "X-Resume-From-Chunk": startFromChunk.toString(),
55
- },
56
- timeout,
57
- });
58
- req.on("error", (error) => {
59
- safeReleaseLock(reader);
60
- reject(error);
61
- });
62
- req.on("timeout", () => {
63
- safeReleaseLock(reader);
64
- req.destroy(new Error("Request timed out"));
65
- });
66
- req.on("response", (res) => {
67
- if (res.statusCode === 408) {
68
- safeReleaseLock(reader);
69
- if (this.retryCount < this.maxRetries) {
70
- this.retryCount++;
71
- resolve(this.makeRequest(this.currentChunkIndex));
72
- return;
73
- }
74
- reject(new Error(`Max retries (${this.maxRetries}) exceeded after timeout`));
75
- return;
76
- }
77
- if (res.statusCode && (res.statusCode < 200 || res.statusCode >= 300)) {
78
- const error = new Error(`HTTP error! status: ${res.statusCode}`);
79
- reject(error);
80
- return;
81
- }
82
- res.on("end", () => {
83
- resolve();
84
- });
85
- res.resume();
86
- });
87
- if (this.options.signal) {
88
- this.options.signal.addEventListener("abort", () => {
89
- req.destroy(new Error("Request aborted"));
90
- });
91
- }
92
- const processStream = async () => {
93
- try {
94
- while (true) {
95
- const { done, value } = await reader.read();
96
- if (done) {
97
- req.end();
98
- break;
99
- }
100
- const stringified = JSON.stringify(value) + "\n";
101
- req.write(stringified);
102
- this.currentChunkIndex++;
103
- }
104
- }
105
- catch (error) {
106
- reject(error);
107
- }
108
- };
109
- processStream().catch((error) => {
110
- reject(error);
111
- });
112
- });
113
- }
114
- async initializeServerStream() {
115
- await this.makeRequest(0);
116
- }
117
- async wait() {
118
- return this.streamPromise;
119
- }
120
- [Symbol.asyncIterator]() {
121
- return streamToAsyncIterator(this.consumerStream);
122
- }
123
- buildUrl() {
124
- switch (this.options.version ?? "v1") {
125
- case "v1": {
126
- return `${this.options.baseUrl}/realtime/v1/streams/${this.options.runId}/${this.options.target ?? "self"}/${this.options.key}`;
127
- }
128
- case "v2": {
129
- return `${this.options.baseUrl}/realtime/v2/streams/${this.options.runId}/${this.options.key}`;
130
- }
131
- }
132
- }
133
- }
134
- exports.MetadataStream = MetadataStream;
135
- async function* streamToAsyncIterator(stream) {
136
- const reader = stream.getReader();
137
- try {
138
- while (true) {
139
- const { done, value } = await reader.read();
140
- if (done)
141
- return;
142
- yield value;
143
- }
144
- }
145
- finally {
146
- safeReleaseLock(reader);
147
- }
148
- }
149
- function safeReleaseLock(reader) {
150
- try {
151
- reader.releaseLock();
152
- }
153
- catch (error) { }
154
- }
155
- //# sourceMappingURL=metadataStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadataStream.js","sourceRoot":"","sources":["../../../../src/v3/runMetadata/metadataStream.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- export type MetadataOptions<T> = {
2
- baseUrl: string;
3
- runId: string;
4
- key: string;
5
- source: AsyncIterable<T>;
6
- headers?: Record<string, string>;
7
- signal?: AbortSignal;
8
- version?: "v1" | "v2";
9
- target?: "self" | "parent" | "root";
10
- maxRetries?: number;
11
- };
12
- export declare class MetadataStream<T> {
13
- private options;
14
- private controller;
15
- private serverStream;
16
- private consumerStream;
17
- private streamPromise;
18
- private retryCount;
19
- private readonly maxRetries;
20
- private currentChunkIndex;
21
- constructor(options: MetadataOptions<T>);
22
- private createTeeStreams;
23
- private makeRequest;
24
- private initializeServerStream;
25
- wait(): Promise<void>;
26
- [Symbol.asyncIterator](): AsyncIterableIterator<T>;
27
- private buildUrl;
28
- }
@@ -1,151 +0,0 @@
1
- import { request as httpsRequest } from "node:https";
2
- import { request as httpRequest } from "node:http";
3
- import { URL } from "node:url";
4
- export class MetadataStream {
5
- options;
6
- controller = new AbortController();
7
- serverStream;
8
- consumerStream;
9
- streamPromise;
10
- retryCount = 0;
11
- maxRetries;
12
- currentChunkIndex = 0;
13
- constructor(options) {
14
- this.options = options;
15
- const [serverStream, consumerStream] = this.createTeeStreams();
16
- this.serverStream = serverStream;
17
- this.consumerStream = consumerStream;
18
- this.maxRetries = options.maxRetries ?? 10;
19
- this.streamPromise = this.initializeServerStream();
20
- }
21
- createTeeStreams() {
22
- const readableSource = new ReadableStream({
23
- start: async (controller) => {
24
- try {
25
- for await (const value of this.options.source) {
26
- controller.enqueue(value);
27
- }
28
- controller.close();
29
- }
30
- catch (error) {
31
- controller.error(error);
32
- }
33
- },
34
- });
35
- return readableSource.tee();
36
- }
37
- async makeRequest(startFromChunk = 0) {
38
- const reader = this.serverStream.getReader();
39
- return new Promise((resolve, reject) => {
40
- const url = new URL(this.buildUrl());
41
- const timeout = 15 * 60 * 1000; // 15 minutes
42
- const requestFn = url.protocol === "https:" ? httpsRequest : httpRequest;
43
- const req = requestFn({
44
- method: "POST",
45
- hostname: url.hostname,
46
- port: url.port || (url.protocol === "https:" ? 443 : 80),
47
- path: url.pathname + url.search,
48
- headers: {
49
- ...this.options.headers,
50
- "Content-Type": "application/json",
51
- "X-Resume-From-Chunk": startFromChunk.toString(),
52
- },
53
- timeout,
54
- });
55
- req.on("error", (error) => {
56
- safeReleaseLock(reader);
57
- reject(error);
58
- });
59
- req.on("timeout", () => {
60
- safeReleaseLock(reader);
61
- req.destroy(new Error("Request timed out"));
62
- });
63
- req.on("response", (res) => {
64
- if (res.statusCode === 408) {
65
- safeReleaseLock(reader);
66
- if (this.retryCount < this.maxRetries) {
67
- this.retryCount++;
68
- resolve(this.makeRequest(this.currentChunkIndex));
69
- return;
70
- }
71
- reject(new Error(`Max retries (${this.maxRetries}) exceeded after timeout`));
72
- return;
73
- }
74
- if (res.statusCode && (res.statusCode < 200 || res.statusCode >= 300)) {
75
- const error = new Error(`HTTP error! status: ${res.statusCode}`);
76
- reject(error);
77
- return;
78
- }
79
- res.on("end", () => {
80
- resolve();
81
- });
82
- res.resume();
83
- });
84
- if (this.options.signal) {
85
- this.options.signal.addEventListener("abort", () => {
86
- req.destroy(new Error("Request aborted"));
87
- });
88
- }
89
- const processStream = async () => {
90
- try {
91
- while (true) {
92
- const { done, value } = await reader.read();
93
- if (done) {
94
- req.end();
95
- break;
96
- }
97
- const stringified = JSON.stringify(value) + "\n";
98
- req.write(stringified);
99
- this.currentChunkIndex++;
100
- }
101
- }
102
- catch (error) {
103
- reject(error);
104
- }
105
- };
106
- processStream().catch((error) => {
107
- reject(error);
108
- });
109
- });
110
- }
111
- async initializeServerStream() {
112
- await this.makeRequest(0);
113
- }
114
- async wait() {
115
- return this.streamPromise;
116
- }
117
- [Symbol.asyncIterator]() {
118
- return streamToAsyncIterator(this.consumerStream);
119
- }
120
- buildUrl() {
121
- switch (this.options.version ?? "v1") {
122
- case "v1": {
123
- return `${this.options.baseUrl}/realtime/v1/streams/${this.options.runId}/${this.options.target ?? "self"}/${this.options.key}`;
124
- }
125
- case "v2": {
126
- return `${this.options.baseUrl}/realtime/v2/streams/${this.options.runId}/${this.options.key}`;
127
- }
128
- }
129
- }
130
- }
131
- async function* streamToAsyncIterator(stream) {
132
- const reader = stream.getReader();
133
- try {
134
- while (true) {
135
- const { done, value } = await reader.read();
136
- if (done)
137
- return;
138
- yield value;
139
- }
140
- }
141
- finally {
142
- safeReleaseLock(reader);
143
- }
144
- }
145
- function safeReleaseLock(reader) {
146
- try {
147
- reader.releaseLock();
148
- }
149
- catch (error) { }
150
- }
151
- //# sourceMappingURL=metadataStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadataStream.js","sourceRoot":"","sources":["../../../../src/v3/runMetadata/metadataStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAc/B,MAAM,OAAO,cAAc;IASL;IARZ,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,YAAY,CAAoB;IAChC,cAAc,CAAoB;IAClC,aAAa,CAAgB;IAC7B,UAAU,GAAG,CAAC,CAAC;IACN,UAAU,CAAS;IAC5B,iBAAiB,GAAG,CAAC,CAAC;IAE9B,YAAoB,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;QAC7C,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACrD,CAAC;IAEO,gBAAgB;QACtB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAI;YAC3C,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC1B,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC9C,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,iBAAyB,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAE7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;YAE7C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;YACzE,MAAM,GAAG,GAAG,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;gBAC/B,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;oBACvB,cAAc,EAAE,kBAAkB;oBAClC,qBAAqB,EAAE,cAAc,CAAC,QAAQ,EAAE;iBACjD;gBACD,OAAO;aACR,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACrB,eAAe,CAAC,MAAM,CAAC,CAAC;gBAExB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC3B,eAAe,CAAC,MAAM,CAAC,CAAC;oBAExB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;wBACtC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAElB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAClD,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,UAAU,0BAA0B,CAAC,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBAED,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC;oBACtE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBAE5C,IAAI,IAAI,EAAE,CAAC;4BACT,GAAG,CAAC,GAAG,EAAE,CAAC;4BACV,MAAM;wBACR,CAAC;wBAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;wBACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;wBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC;YAEF,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,OAAO,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAEO,QAAQ;QACd,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,wBAAwB,IAAI,CAAC,OAAO,CAAC,KAAK,IACtE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MACzB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,wBAAwB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjG,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAAI,MAAyB;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,OAAO;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAwC;IAC/D,IAAI,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;AACpB,CAAC"}