@trigger.dev/core 0.0.0-prerelease-20260220162801 → 0.0.0-prerelease-20260304181730

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 (109) hide show
  1. package/dist/commonjs/v3/apiClient/index.d.ts +10 -1
  2. package/dist/commonjs/v3/apiClient/index.js +18 -1
  3. package/dist/commonjs/v3/apiClient/index.js.map +1 -1
  4. package/dist/commonjs/v3/errors.js +3 -0
  5. package/dist/commonjs/v3/errors.js.map +1 -1
  6. package/dist/commonjs/v3/index.d.ts +2 -0
  7. package/dist/commonjs/v3/index.js +2 -0
  8. package/dist/commonjs/v3/index.js.map +1 -1
  9. package/dist/commonjs/v3/input-streams-api.d.ts +3 -0
  10. package/dist/commonjs/v3/input-streams-api.js +23 -0
  11. package/dist/commonjs/v3/input-streams-api.js.map +1 -0
  12. package/dist/commonjs/v3/inputStreams/index.d.ts +23 -0
  13. package/dist/commonjs/v3/inputStreams/index.js +61 -0
  14. package/dist/commonjs/v3/inputStreams/index.js.map +1 -0
  15. package/dist/commonjs/v3/inputStreams/manager.d.ts +33 -0
  16. package/dist/commonjs/v3/inputStreams/manager.js +325 -0
  17. package/dist/commonjs/v3/inputStreams/manager.js.map +1 -0
  18. package/dist/commonjs/v3/inputStreams/noopManager.d.ts +18 -0
  19. package/dist/commonjs/v3/inputStreams/noopManager.js +30 -0
  20. package/dist/commonjs/v3/inputStreams/noopManager.js.map +1 -0
  21. package/dist/commonjs/v3/inputStreams/types.d.ts +84 -0
  22. package/dist/commonjs/v3/inputStreams/types.js +31 -0
  23. package/dist/commonjs/v3/inputStreams/types.js.map +1 -0
  24. package/dist/commonjs/v3/realtimeStreams/streamInstance.js +3 -0
  25. package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -1
  26. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +3 -2
  27. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +18 -8
  28. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -1
  29. package/dist/commonjs/v3/realtimeStreams/types.d.ts +101 -0
  30. package/dist/commonjs/v3/realtimeStreams/types.js +4 -0
  31. package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -1
  32. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -7
  33. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -7
  34. package/dist/commonjs/v3/schemas/api.d.ts +52 -5
  35. package/dist/commonjs/v3/schemas/api.js +21 -1
  36. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  37. package/dist/commonjs/v3/schemas/common.d.ts +24 -24
  38. package/dist/commonjs/v3/schemas/common.js +3 -0
  39. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  40. package/dist/commonjs/v3/schemas/messages.d.ts +116 -116
  41. package/dist/commonjs/v3/schemas/webhooks.d.ts +344 -16
  42. package/dist/commonjs/v3/schemas/webhooks.js +20 -0
  43. package/dist/commonjs/v3/schemas/webhooks.js.map +1 -1
  44. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  45. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  46. package/dist/commonjs/v3/waitpoints/index.d.ts +8 -0
  47. package/dist/commonjs/v3/waitpoints/index.js +27 -0
  48. package/dist/commonjs/v3/waitpoints/index.js.map +1 -0
  49. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  50. package/dist/commonjs/v3/workers/index.js +3 -1
  51. package/dist/commonjs/v3/workers/index.js.map +1 -1
  52. package/dist/commonjs/v3/workers/taskExecutor.js +1 -0
  53. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  54. package/dist/commonjs/version.js +1 -1
  55. package/dist/esm/v3/apiClient/index.d.ts +10 -1
  56. package/dist/esm/v3/apiClient/index.js +19 -2
  57. package/dist/esm/v3/apiClient/index.js.map +1 -1
  58. package/dist/esm/v3/errors.js +3 -0
  59. package/dist/esm/v3/errors.js.map +1 -1
  60. package/dist/esm/v3/index.d.ts +2 -0
  61. package/dist/esm/v3/index.js +2 -0
  62. package/dist/esm/v3/index.js.map +1 -1
  63. package/dist/esm/v3/input-streams-api.d.ts +3 -0
  64. package/dist/esm/v3/input-streams-api.js +6 -0
  65. package/dist/esm/v3/input-streams-api.js.map +1 -0
  66. package/dist/esm/v3/inputStreams/index.d.ts +23 -0
  67. package/dist/esm/v3/inputStreams/index.js +57 -0
  68. package/dist/esm/v3/inputStreams/index.js.map +1 -0
  69. package/dist/esm/v3/inputStreams/manager.d.ts +33 -0
  70. package/dist/esm/v3/inputStreams/manager.js +321 -0
  71. package/dist/esm/v3/inputStreams/manager.js.map +1 -0
  72. package/dist/esm/v3/inputStreams/noopManager.d.ts +18 -0
  73. package/dist/esm/v3/inputStreams/noopManager.js +26 -0
  74. package/dist/esm/v3/inputStreams/noopManager.js.map +1 -0
  75. package/dist/esm/v3/inputStreams/types.d.ts +84 -0
  76. package/dist/esm/v3/inputStreams/types.js +26 -0
  77. package/dist/esm/v3/inputStreams/types.js.map +1 -0
  78. package/dist/esm/v3/realtimeStreams/streamInstance.js +3 -0
  79. package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -1
  80. package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +3 -2
  81. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +18 -8
  82. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -1
  83. package/dist/esm/v3/realtimeStreams/types.d.ts +101 -0
  84. package/dist/esm/v3/realtimeStreams/types.js +1 -1
  85. package/dist/esm/v3/realtimeStreams/types.js.map +1 -1
  86. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -7
  87. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -7
  88. package/dist/esm/v3/schemas/api.d.ts +52 -5
  89. package/dist/esm/v3/schemas/api.js +20 -0
  90. package/dist/esm/v3/schemas/api.js.map +1 -1
  91. package/dist/esm/v3/schemas/common.d.ts +24 -24
  92. package/dist/esm/v3/schemas/common.js +3 -0
  93. package/dist/esm/v3/schemas/common.js.map +1 -1
  94. package/dist/esm/v3/schemas/messages.d.ts +116 -116
  95. package/dist/esm/v3/schemas/webhooks.d.ts +344 -16
  96. package/dist/esm/v3/schemas/webhooks.js +20 -0
  97. package/dist/esm/v3/schemas/webhooks.js.map +1 -1
  98. package/dist/esm/v3/utils/globals.d.ts +2 -0
  99. package/dist/esm/v3/utils/globals.js.map +1 -1
  100. package/dist/esm/v3/waitpoints/index.d.ts +8 -0
  101. package/dist/esm/v3/waitpoints/index.js +22 -0
  102. package/dist/esm/v3/waitpoints/index.js.map +1 -0
  103. package/dist/esm/v3/workers/index.d.ts +1 -0
  104. package/dist/esm/v3/workers/index.js +1 -0
  105. package/dist/esm/v3/workers/index.js.map +1 -1
  106. package/dist/esm/v3/workers/taskExecutor.js +2 -1
  107. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  108. package/dist/esm/version.js +1 -1
  109. package/package.json +3 -3
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardInputStreamManager = void 0;
4
+ const types_js_1 = require("./types.js");
5
+ class StandardInputStreamManager {
6
+ apiClient;
7
+ baseUrl;
8
+ debug;
9
+ handlers = new Map();
10
+ onceWaiters = new Map();
11
+ buffer = new Map();
12
+ tails = new Map();
13
+ seqNums = new Map();
14
+ currentRunId = null;
15
+ streamsVersion;
16
+ constructor(apiClient, baseUrl, debug = false) {
17
+ this.apiClient = apiClient;
18
+ this.baseUrl = baseUrl;
19
+ this.debug = debug;
20
+ }
21
+ lastSeqNum(streamId) {
22
+ return this.seqNums.get(streamId);
23
+ }
24
+ setLastSeqNum(streamId, seqNum) {
25
+ const current = this.seqNums.get(streamId);
26
+ // Only advance forward, never backward
27
+ if (current === undefined || seqNum > current) {
28
+ this.seqNums.set(streamId, seqNum);
29
+ }
30
+ }
31
+ shiftBuffer(streamId) {
32
+ const buffered = this.buffer.get(streamId);
33
+ if (buffered && buffered.length > 0) {
34
+ buffered.shift();
35
+ if (buffered.length === 0) {
36
+ this.buffer.delete(streamId);
37
+ }
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ setRunId(runId, streamsVersion) {
43
+ this.currentRunId = runId;
44
+ this.streamsVersion = streamsVersion;
45
+ }
46
+ on(streamId, handler) {
47
+ this.#requireV2Streams();
48
+ let handlerSet = this.handlers.get(streamId);
49
+ if (!handlerSet) {
50
+ handlerSet = new Set();
51
+ this.handlers.set(streamId, handlerSet);
52
+ }
53
+ handlerSet.add(handler);
54
+ // Lazily connect a tail for this stream
55
+ this.#ensureStreamTailConnected(streamId);
56
+ // Flush any buffered data for this stream
57
+ const buffered = this.buffer.get(streamId);
58
+ if (buffered && buffered.length > 0) {
59
+ for (const data of buffered) {
60
+ this.#invokeHandler(handler, data);
61
+ }
62
+ this.buffer.delete(streamId);
63
+ }
64
+ return {
65
+ off: () => {
66
+ handlerSet?.delete(handler);
67
+ if (handlerSet?.size === 0) {
68
+ this.handlers.delete(streamId);
69
+ }
70
+ },
71
+ };
72
+ }
73
+ once(streamId, options) {
74
+ this.#requireV2Streams();
75
+ // Lazily connect a tail for this stream
76
+ this.#ensureStreamTailConnected(streamId);
77
+ // Check buffer first
78
+ const buffered = this.buffer.get(streamId);
79
+ if (buffered && buffered.length > 0) {
80
+ const data = buffered.shift();
81
+ if (buffered.length === 0) {
82
+ this.buffer.delete(streamId);
83
+ }
84
+ return new types_js_1.InputStreamOncePromise((resolve) => {
85
+ resolve({ ok: true, output: data });
86
+ });
87
+ }
88
+ return new types_js_1.InputStreamOncePromise((resolve, reject) => {
89
+ const waiter = { resolve, reject };
90
+ // Handle abort signal
91
+ if (options?.signal) {
92
+ if (options.signal.aborted) {
93
+ reject(new Error("Aborted"));
94
+ return;
95
+ }
96
+ options.signal.addEventListener("abort", () => {
97
+ if (waiter.timeoutHandle) {
98
+ clearTimeout(waiter.timeoutHandle);
99
+ }
100
+ this.#removeOnceWaiter(streamId, waiter);
101
+ reject(new Error("Aborted"));
102
+ }, { once: true });
103
+ }
104
+ // Handle timeout — resolve with error result instead of rejecting
105
+ if (options?.timeoutMs) {
106
+ waiter.timeoutHandle = setTimeout(() => {
107
+ this.#removeOnceWaiter(streamId, waiter);
108
+ resolve({
109
+ ok: false,
110
+ error: new types_js_1.InputStreamTimeoutError(streamId, options.timeoutMs),
111
+ });
112
+ }, options.timeoutMs);
113
+ }
114
+ let waiters = this.onceWaiters.get(streamId);
115
+ if (!waiters) {
116
+ waiters = [];
117
+ this.onceWaiters.set(streamId, waiters);
118
+ }
119
+ waiters.push(waiter);
120
+ });
121
+ }
122
+ peek(streamId) {
123
+ const buffered = this.buffer.get(streamId);
124
+ if (buffered && buffered.length > 0) {
125
+ return buffered[0];
126
+ }
127
+ return undefined;
128
+ }
129
+ clearHandlers() {
130
+ this.handlers.clear();
131
+ // Abort tails that no longer have any once waiters either
132
+ for (const [streamId, tail] of this.tails) {
133
+ const hasWaiters = this.onceWaiters.has(streamId) && this.onceWaiters.get(streamId).length > 0;
134
+ if (!hasWaiters) {
135
+ tail.abortController.abort();
136
+ this.tails.delete(streamId);
137
+ }
138
+ }
139
+ }
140
+ disconnectStream(streamId) {
141
+ const tail = this.tails.get(streamId);
142
+ if (tail) {
143
+ tail.abortController.abort();
144
+ this.tails.delete(streamId);
145
+ }
146
+ this.buffer.delete(streamId);
147
+ }
148
+ connectTail(runId, _fromSeq) {
149
+ // No-op: tails are now created per-stream lazily
150
+ }
151
+ disconnect() {
152
+ for (const [, tail] of this.tails) {
153
+ tail.abortController.abort();
154
+ }
155
+ this.tails.clear();
156
+ }
157
+ reset() {
158
+ this.disconnect();
159
+ this.currentRunId = null;
160
+ this.streamsVersion = undefined;
161
+ this.seqNums.clear();
162
+ this.handlers.clear();
163
+ // Reject all pending once waiters
164
+ for (const [, waiters] of this.onceWaiters) {
165
+ for (const waiter of waiters) {
166
+ if (waiter.timeoutHandle) {
167
+ clearTimeout(waiter.timeoutHandle);
168
+ }
169
+ waiter.reject(new Error("Input stream manager reset"));
170
+ }
171
+ }
172
+ this.onceWaiters.clear();
173
+ this.buffer.clear();
174
+ }
175
+ #requireV2Streams() {
176
+ if (this.currentRunId && this.streamsVersion !== "v2") {
177
+ throw new Error("Input streams require v2 realtime streams. Enable them with: { future: { v2RealtimeStreams: true } }");
178
+ }
179
+ }
180
+ #ensureStreamTailConnected(streamId) {
181
+ if (!this.tails.has(streamId) && this.currentRunId) {
182
+ const abortController = new AbortController();
183
+ const promise = this.#runTail(this.currentRunId, streamId, abortController.signal)
184
+ .catch((error) => {
185
+ if (this.debug) {
186
+ console.error(`[InputStreamManager] Tail error for "${streamId}":`, error);
187
+ }
188
+ })
189
+ .finally(() => {
190
+ this.tails.delete(streamId);
191
+ // Auto-reconnect if there are still active handlers or waiters
192
+ const hasHandlers = this.handlers.has(streamId) && this.handlers.get(streamId).size > 0;
193
+ const hasWaiters = this.onceWaiters.has(streamId) && this.onceWaiters.get(streamId).length > 0;
194
+ if (hasHandlers || hasWaiters) {
195
+ this.#ensureStreamTailConnected(streamId);
196
+ }
197
+ });
198
+ this.tails.set(streamId, { abortController, promise });
199
+ }
200
+ }
201
+ async #runTail(runId, streamId, signal) {
202
+ try {
203
+ const lastSeq = this.seqNums.get(streamId);
204
+ const stream = await this.apiClient.fetchStream(runId, `input/${streamId}`, {
205
+ signal,
206
+ baseUrl: this.baseUrl,
207
+ // Max allowed by the SSE endpoint is 600s; the tail will reconnect on close
208
+ timeoutInSeconds: 600,
209
+ // Resume from last seen sequence number to avoid replaying history on reconnect
210
+ lastEventId: lastSeq !== undefined ? String(lastSeq) : undefined,
211
+ onPart: (part) => {
212
+ const seqNum = parseInt(part.id, 10);
213
+ if (Number.isFinite(seqNum)) {
214
+ this.seqNums.set(streamId, seqNum);
215
+ }
216
+ },
217
+ onComplete: () => {
218
+ if (this.debug) {
219
+ console.log(`[InputStreamManager] Tail stream completed for "${streamId}"`);
220
+ }
221
+ },
222
+ onError: (error) => {
223
+ if (this.debug) {
224
+ console.error(`[InputStreamManager] Tail stream error for "${streamId}":`, error);
225
+ }
226
+ },
227
+ });
228
+ for await (const record of stream) {
229
+ if (signal.aborted)
230
+ break;
231
+ // S2 SSE returns record bodies as JSON strings; parse if needed
232
+ let data;
233
+ if (typeof record === "string") {
234
+ try {
235
+ data = JSON.parse(record);
236
+ }
237
+ catch {
238
+ data = record;
239
+ }
240
+ }
241
+ else {
242
+ data = record;
243
+ }
244
+ this.#dispatch(streamId, data);
245
+ }
246
+ }
247
+ catch (error) {
248
+ // AbortError is expected when disconnecting
249
+ if (error instanceof Error && error.name === "AbortError") {
250
+ return;
251
+ }
252
+ throw error;
253
+ }
254
+ }
255
+ #dispatch(streamId, data) {
256
+ // First try to resolve a once waiter
257
+ const waiters = this.onceWaiters.get(streamId);
258
+ if (waiters && waiters.length > 0) {
259
+ const waiter = waiters.shift();
260
+ if (waiters.length === 0) {
261
+ this.onceWaiters.delete(streamId);
262
+ }
263
+ if (waiter.timeoutHandle) {
264
+ clearTimeout(waiter.timeoutHandle);
265
+ }
266
+ waiter.resolve({ ok: true, output: data });
267
+ // Also invoke persistent handlers
268
+ this.#invokeHandlers(streamId, data);
269
+ return;
270
+ }
271
+ // Invoke persistent handlers
272
+ const handlers = this.handlers.get(streamId);
273
+ if (handlers && handlers.size > 0) {
274
+ this.#invokeHandlers(streamId, data);
275
+ return;
276
+ }
277
+ // No handlers, buffer the data
278
+ let buffered = this.buffer.get(streamId);
279
+ if (!buffered) {
280
+ buffered = [];
281
+ this.buffer.set(streamId, buffered);
282
+ }
283
+ buffered.push(data);
284
+ }
285
+ #invokeHandlers(streamId, data) {
286
+ const handlers = this.handlers.get(streamId);
287
+ if (!handlers)
288
+ return;
289
+ for (const handler of handlers) {
290
+ this.#invokeHandler(handler, data);
291
+ }
292
+ }
293
+ #invokeHandler(handler, data) {
294
+ try {
295
+ const result = handler(data);
296
+ // If the handler returns a promise, catch errors silently
297
+ if (result && typeof result === "object" && "catch" in result) {
298
+ result.catch((error) => {
299
+ if (this.debug) {
300
+ console.error("[InputStreamManager] Handler error:", error);
301
+ }
302
+ });
303
+ }
304
+ }
305
+ catch (error) {
306
+ if (this.debug) {
307
+ console.error("[InputStreamManager] Handler error:", error);
308
+ }
309
+ }
310
+ }
311
+ #removeOnceWaiter(streamId, waiter) {
312
+ const waiters = this.onceWaiters.get(streamId);
313
+ if (!waiters)
314
+ return;
315
+ const index = waiters.indexOf(waiter);
316
+ if (index !== -1) {
317
+ waiters.splice(index, 1);
318
+ }
319
+ if (waiters.length === 0) {
320
+ this.onceWaiters.delete(streamId);
321
+ }
322
+ }
323
+ }
324
+ exports.StandardInputStreamManager = StandardInputStreamManager;
325
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/v3/inputStreams/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { InputStreamManager, InputStreamOncePromise } from "./types.js";
2
+ import { InputStreamOnceOptions } from "../realtimeStreams/types.js";
3
+ export declare class NoopInputStreamManager implements InputStreamManager {
4
+ setRunId(_runId: string, _streamsVersion?: string): void;
5
+ on(_streamId: string, _handler: (data: unknown) => void | Promise<void>): {
6
+ off: () => void;
7
+ };
8
+ once(_streamId: string, _options?: InputStreamOnceOptions): InputStreamOncePromise<unknown>;
9
+ peek(_streamId: string): unknown | undefined;
10
+ lastSeqNum(_streamId: string): number | undefined;
11
+ setLastSeqNum(_streamId: string, _seqNum: number): void;
12
+ shiftBuffer(_streamId: string): boolean;
13
+ disconnectStream(_streamId: string): void;
14
+ clearHandlers(): void;
15
+ reset(): void;
16
+ disconnect(): void;
17
+ connectTail(_runId: string, _fromSeq?: number): void;
18
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoopInputStreamManager = void 0;
4
+ const types_js_1 = require("./types.js");
5
+ class NoopInputStreamManager {
6
+ setRunId(_runId, _streamsVersion) { }
7
+ on(_streamId, _handler) {
8
+ return { off: () => { } };
9
+ }
10
+ once(_streamId, _options) {
11
+ return new types_js_1.InputStreamOncePromise(() => {
12
+ // Never resolves in noop mode
13
+ });
14
+ }
15
+ peek(_streamId) {
16
+ return undefined;
17
+ }
18
+ lastSeqNum(_streamId) {
19
+ return undefined;
20
+ }
21
+ setLastSeqNum(_streamId, _seqNum) { }
22
+ shiftBuffer(_streamId) { return false; }
23
+ disconnectStream(_streamId) { }
24
+ clearHandlers() { }
25
+ reset() { }
26
+ disconnect() { }
27
+ connectTail(_runId, _fromSeq) { }
28
+ }
29
+ exports.NoopInputStreamManager = NoopInputStreamManager;
30
+ //# sourceMappingURL=noopManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noopManager.js","sourceRoot":"","sources":["../../../../src/v3/inputStreams/noopManager.ts"],"names":[],"mappings":";;;AAAA,yCAAwE;AAGxE,MAAa,sBAAsB;IACjC,QAAQ,CAAC,MAAc,EAAE,eAAwB,IAAS,CAAC;IAE3D,EAAE,CAAC,SAAiB,EAAE,QAAiD;QACrE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,QAAiC;QACvD,OAAO,IAAI,iCAAsB,CAAC,GAAG,EAAE;YACrC,8BAA8B;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,SAAiB,EAAE,OAAe,IAAS,CAAC;IAE1D,WAAW,CAAC,SAAiB,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAEzD,gBAAgB,CAAC,SAAiB,IAAS,CAAC;IAE5C,aAAa,KAAU,CAAC;IACxB,KAAK,KAAU,CAAC;IAChB,UAAU,KAAU,CAAC;IACrB,WAAW,CAAC,MAAc,EAAE,QAAiB,IAAS,CAAC;CACxD;AA/BD,wDA+BC"}
@@ -0,0 +1,84 @@
1
+ import { InputStreamOnceOptions } from "../realtimeStreams/types.js";
2
+ export declare class InputStreamTimeoutError extends Error {
3
+ readonly streamId: string;
4
+ readonly timeoutMs: number;
5
+ constructor(streamId: string, timeoutMs: number);
6
+ }
7
+ export type InputStreamOnceResult<TData> = {
8
+ ok: true;
9
+ output: TData;
10
+ } | {
11
+ ok: false;
12
+ error: InputStreamTimeoutError;
13
+ };
14
+ export declare class InputStreamOncePromise<TData> extends Promise<InputStreamOnceResult<TData>> {
15
+ constructor(executor: (resolve: (value: InputStreamOnceResult<TData> | PromiseLike<InputStreamOnceResult<TData>>) => void, reject: (reason?: any) => void) => void);
16
+ unwrap(): Promise<TData>;
17
+ }
18
+ export interface InputStreamManager {
19
+ /**
20
+ * Set the current run ID and streams version. The tail connection will be
21
+ * established lazily when `on()` or `once()` is first called, but only
22
+ * for v2 (S2-backed) realtime streams.
23
+ */
24
+ setRunId(runId: string, streamsVersion?: string): void;
25
+ /**
26
+ * Register a handler that fires every time data arrives on the given input stream.
27
+ * Handlers are automatically cleaned up when the task run completes.
28
+ * Returns `{ off }` for early unsubscription if needed.
29
+ */
30
+ on(streamId: string, handler: (data: unknown) => void | Promise<void>): {
31
+ off: () => void;
32
+ };
33
+ /**
34
+ * Wait for the next piece of data on the given input stream.
35
+ * Returns a result object `{ ok, output }` or `{ ok, error }`.
36
+ * Chain `.unwrap()` to get the data directly or throw on timeout.
37
+ */
38
+ once(streamId: string, options?: InputStreamOnceOptions): InputStreamOncePromise<unknown>;
39
+ /**
40
+ * Non-blocking peek at the most recent data on the given input stream.
41
+ */
42
+ peek(streamId: string): unknown | undefined;
43
+ /**
44
+ * The last S2 sequence number seen for the given input stream.
45
+ * Used by `.wait()` to tell the server where to check for existing data.
46
+ */
47
+ lastSeqNum(streamId: string): number | undefined;
48
+ /**
49
+ * Advance the last-seen S2 sequence number for the given input stream.
50
+ * Used after `.wait()` resumes to prevent the SSE tail from replaying
51
+ * the record that was consumed via the waitpoint path.
52
+ */
53
+ setLastSeqNum(streamId: string, seqNum: number): void;
54
+ /**
55
+ * Remove and discard the first buffered item for the given input stream.
56
+ * Used after `.wait()` resumes to remove the duplicate that the SSE tail
57
+ * buffered while the waitpoint was being completed via a separate path.
58
+ * Returns true if an item was removed, false if the buffer was empty.
59
+ */
60
+ shiftBuffer(streamId: string): boolean;
61
+ /**
62
+ * Disconnect the SSE tail and clear the buffer for a specific input stream.
63
+ * Used before suspending via `.wait()` so the tail doesn't buffer duplicates
64
+ * of data that will be delivered through the waitpoint path.
65
+ */
66
+ disconnectStream(streamId: string): void;
67
+ /**
68
+ * Clear all persistent `.on()` handlers and abort tails that have no remaining once waiters.
69
+ * Called automatically when a task run completes.
70
+ */
71
+ clearHandlers(): void;
72
+ /**
73
+ * Reset state between task executions.
74
+ */
75
+ reset(): void;
76
+ /**
77
+ * Disconnect any active tails / connections.
78
+ */
79
+ disconnect(): void;
80
+ /**
81
+ * Connect a tail to receive input stream records for the given run.
82
+ */
83
+ connectTail(runId: string, fromSeq?: number): void;
84
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InputStreamOncePromise = exports.InputStreamTimeoutError = void 0;
4
+ class InputStreamTimeoutError extends Error {
5
+ streamId;
6
+ timeoutMs;
7
+ constructor(streamId, timeoutMs) {
8
+ super(`Timeout waiting for input stream "${streamId}" after ${timeoutMs}ms`);
9
+ this.streamId = streamId;
10
+ this.timeoutMs = timeoutMs;
11
+ this.name = "InputStreamTimeoutError";
12
+ }
13
+ }
14
+ exports.InputStreamTimeoutError = InputStreamTimeoutError;
15
+ class InputStreamOncePromise extends Promise {
16
+ constructor(executor) {
17
+ super(executor);
18
+ }
19
+ unwrap() {
20
+ return this.then((result) => {
21
+ if (result.ok) {
22
+ return result.output;
23
+ }
24
+ else {
25
+ throw result.error;
26
+ }
27
+ });
28
+ }
29
+ }
30
+ exports.InputStreamOncePromise = InputStreamOncePromise;
31
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/v3/inputStreams/types.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAwB,SAAQ,KAAK;IAE9B;IACA;IAFlB,YACkB,QAAgB,EAChB,SAAiB;QAEjC,KAAK,CAAC,qCAAqC,QAAQ,WAAW,SAAS,IAAI,CAAC,CAAC;QAH7D,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AARD,0DAQC;AAMD,MAAa,sBAA8B,SAAQ,OAAqC;IACtF,YACE,QAKS;QAET,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,KAAK,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArBD,wDAqBC"}
@@ -28,6 +28,7 @@ class StreamInstance {
28
28
  basin: parsedResponse.basin,
29
29
  stream: parsedResponse.streamName ?? this.options.key,
30
30
  accessToken: parsedResponse.accessToken,
31
+ endpoint: parsedResponse.endpoint,
31
32
  source: this.options.source,
32
33
  signal: this.options.signal,
33
34
  debug: this.options.debug,
@@ -71,6 +72,7 @@ function parseCreateStreamResponse(version, headers) {
71
72
  if (!accessToken || !basin) {
72
73
  return { version: "v1" };
73
74
  }
75
+ const endpoint = headers?.["x-s2-endpoint"];
74
76
  const flushIntervalMs = headers?.["x-s2-flush-interval-ms"];
75
77
  const maxRetries = headers?.["x-s2-max-retries"];
76
78
  const streamName = headers?.["x-s2-stream-name"];
@@ -78,6 +80,7 @@ function parseCreateStreamResponse(version, headers) {
78
80
  version: "v2",
79
81
  accessToken,
80
82
  basin,
83
+ endpoint,
81
84
  flushIntervalMs: flushIntervalMs ? parseInt(flushIntervalMs) : undefined,
82
85
  maxRetries: maxRetries ? parseInt(maxRetries) : undefined,
83
86
  streamName,
@@ -1 +1 @@
1
- {"version":3,"file":"streamInstance.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/streamInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamInstance.js","sourceRoot":"","sources":["../../../../src/v3/realtimeStreams/streamInstance.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,13 @@ export type StreamsWriterV2Options<T = any> = {
3
3
  basin: string;
4
4
  stream: string;
5
5
  accessToken: string;
6
+ endpoint?: string;
6
7
  source: ReadableStream<T>;
7
8
  signal?: AbortSignal;
8
9
  flushIntervalMs?: number;
9
10
  maxRetries?: number;
10
11
  debug?: boolean;
11
- maxQueuedBytes?: number;
12
+ maxInflightBytes?: number;
12
13
  };
13
14
  /**
14
15
  * StreamsWriterV2 writes metadata stream data directly to S2 (https://s2.dev).
@@ -47,7 +48,7 @@ export declare class StreamsWriterV2<T = any> implements StreamsWriter {
47
48
  private streamPromise;
48
49
  private readonly flushIntervalMs;
49
50
  private readonly debug;
50
- private readonly maxQueuedBytes;
51
+ private readonly maxInflightBytes;
51
52
  private aborted;
52
53
  private sessionWritable;
53
54
  constructor(options: StreamsWriterV2Options<T>);
@@ -40,16 +40,26 @@ class StreamsWriterV2 {
40
40
  streamPromise;
41
41
  flushIntervalMs;
42
42
  debug;
43
- maxQueuedBytes;
43
+ maxInflightBytes;
44
44
  aborted = false;
45
45
  sessionWritable = null;
46
46
  constructor(options) {
47
47
  this.options = options;
48
48
  this.debug = options.debug ?? false;
49
- this.s2Client = new streamstore_1.S2({ accessToken: options.accessToken });
49
+ this.s2Client = new streamstore_1.S2({
50
+ accessToken: options.accessToken,
51
+ ...(options.endpoint
52
+ ? {
53
+ endpoints: {
54
+ account: options.endpoint,
55
+ basin: options.endpoint,
56
+ },
57
+ }
58
+ : {}),
59
+ });
50
60
  this.flushIntervalMs = options.flushIntervalMs ?? 200;
51
- this.maxQueuedBytes = options.maxQueuedBytes ?? 1024 * 1024 * 10; // 10MB default
52
- this.log(`[S2MetadataStream] Initializing: basin=${options.basin}, stream=${options.stream}, flushIntervalMs=${this.flushIntervalMs}, maxQueuedBytes=${this.maxQueuedBytes}`);
61
+ this.maxInflightBytes = options.maxInflightBytes ?? 1024 * 1024 * 10; // 10MB default
62
+ this.log(`[S2MetadataStream] Initializing: basin=${options.basin}, stream=${options.stream}, flushIntervalMs=${this.flushIntervalMs}, maxInflightBytes=${this.maxInflightBytes}`);
53
63
  // Check if already aborted
54
64
  if (options.signal?.aborted) {
55
65
  this.aborted = true;
@@ -100,7 +110,7 @@ class StreamsWriterV2 {
100
110
  const basin = this.s2Client.basin(this.options.basin);
101
111
  const stream = basin.stream(this.options.stream);
102
112
  const session = await stream.appendSession({
103
- maxQueuedBytes: this.maxQueuedBytes,
113
+ maxInflightBytes: this.maxInflightBytes,
104
114
  });
105
115
  this.sessionWritable = session.writable;
106
116
  this.log(`[S2MetadataStream] Starting stream pipeline`);
@@ -113,7 +123,7 @@ class StreamsWriterV2 {
113
123
  return;
114
124
  }
115
125
  // Convert each chunk to JSON string and wrap in AppendRecord
116
- controller.enqueue(streamstore_1.AppendRecord.make(JSON.stringify({ data: chunk, id: (0, nanoid_1.nanoid)(7) })));
126
+ controller.enqueue(streamstore_1.AppendRecord.string({ body: JSON.stringify({ data: chunk, id: (0, nanoid_1.nanoid)(7) }) }));
117
127
  },
118
128
  }))
119
129
  .pipeThrough(new streamstore_1.BatchTransform({
@@ -124,8 +134,8 @@ class StreamsWriterV2 {
124
134
  // Get final position to verify completion
125
135
  const lastAcked = session.lastAckedPosition();
126
136
  if (lastAcked?.end) {
127
- const recordsWritten = lastAcked.end.seq_num;
128
- this.log(`[S2MetadataStream] Written ${recordsWritten} records, ending at seq_num=${lastAcked.end.seq_num}`);
137
+ const recordsWritten = lastAcked.end.seqNum;
138
+ this.log(`[S2MetadataStream] Written ${recordsWritten} records, ending at seqNum=${lastAcked.end.seqNum}`);
129
139
  }
130
140
  }
131
141
  catch (error) {