@trigger.dev/core 4.4.1 → 4.4.3

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 (115) 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 +20 -0
  13. package/dist/commonjs/v3/inputStreams/index.js +52 -0
  14. package/dist/commonjs/v3/inputStreams/index.js.map +1 -0
  15. package/dist/commonjs/v3/inputStreams/manager.d.ts +30 -0
  16. package/dist/commonjs/v3/inputStreams/manager.js +299 -0
  17. package/dist/commonjs/v3/inputStreams/manager.js.map +1 -0
  18. package/dist/commonjs/v3/inputStreams/noopManager.d.ts +15 -0
  19. package/dist/commonjs/v3/inputStreams/noopManager.js +27 -0
  20. package/dist/commonjs/v3/inputStreams/noopManager.js.map +1 -0
  21. package/dist/commonjs/v3/inputStreams/types.d.ts +65 -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/isomorphic/friendlyId.d.ts +1 -0
  25. package/dist/commonjs/v3/isomorphic/friendlyId.js +2 -1
  26. package/dist/commonjs/v3/isomorphic/friendlyId.js.map +1 -1
  27. package/dist/commonjs/v3/realtimeStreams/streamInstance.js +3 -0
  28. package/dist/commonjs/v3/realtimeStreams/streamInstance.js.map +1 -1
  29. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.d.ts +3 -2
  30. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js +18 -8
  31. package/dist/commonjs/v3/realtimeStreams/streamsWriterV2.js.map +1 -1
  32. package/dist/commonjs/v3/realtimeStreams/types.d.ts +93 -0
  33. package/dist/commonjs/v3/realtimeStreams/types.js +4 -0
  34. package/dist/commonjs/v3/realtimeStreams/types.js.map +1 -1
  35. package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +7 -7
  36. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +7 -7
  37. package/dist/commonjs/v3/schemas/api.d.ts +71 -5
  38. package/dist/commonjs/v3/schemas/api.js +29 -2
  39. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  40. package/dist/commonjs/v3/schemas/common.d.ts +24 -24
  41. package/dist/commonjs/v3/schemas/common.js +3 -0
  42. package/dist/commonjs/v3/schemas/common.js.map +1 -1
  43. package/dist/commonjs/v3/schemas/messages.d.ts +122 -122
  44. package/dist/commonjs/v3/schemas/webhooks.d.ts +344 -16
  45. package/dist/commonjs/v3/schemas/webhooks.js +20 -0
  46. package/dist/commonjs/v3/schemas/webhooks.js.map +1 -1
  47. package/dist/commonjs/v3/utils/globals.d.ts +2 -0
  48. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  49. package/dist/commonjs/v3/waitpoints/index.d.ts +8 -0
  50. package/dist/commonjs/v3/waitpoints/index.js +27 -0
  51. package/dist/commonjs/v3/waitpoints/index.js.map +1 -0
  52. package/dist/commonjs/v3/workers/index.d.ts +1 -0
  53. package/dist/commonjs/v3/workers/index.js +3 -1
  54. package/dist/commonjs/v3/workers/index.js.map +1 -1
  55. package/dist/commonjs/v3/workers/taskExecutor.js +1 -0
  56. package/dist/commonjs/v3/workers/taskExecutor.js.map +1 -1
  57. package/dist/commonjs/version.js +1 -1
  58. package/dist/esm/v3/apiClient/index.d.ts +10 -1
  59. package/dist/esm/v3/apiClient/index.js +19 -2
  60. package/dist/esm/v3/apiClient/index.js.map +1 -1
  61. package/dist/esm/v3/errors.js +3 -0
  62. package/dist/esm/v3/errors.js.map +1 -1
  63. package/dist/esm/v3/index.d.ts +2 -0
  64. package/dist/esm/v3/index.js +2 -0
  65. package/dist/esm/v3/index.js.map +1 -1
  66. package/dist/esm/v3/input-streams-api.d.ts +3 -0
  67. package/dist/esm/v3/input-streams-api.js +6 -0
  68. package/dist/esm/v3/input-streams-api.js.map +1 -0
  69. package/dist/esm/v3/inputStreams/index.d.ts +20 -0
  70. package/dist/esm/v3/inputStreams/index.js +48 -0
  71. package/dist/esm/v3/inputStreams/index.js.map +1 -0
  72. package/dist/esm/v3/inputStreams/manager.d.ts +30 -0
  73. package/dist/esm/v3/inputStreams/manager.js +295 -0
  74. package/dist/esm/v3/inputStreams/manager.js.map +1 -0
  75. package/dist/esm/v3/inputStreams/noopManager.d.ts +15 -0
  76. package/dist/esm/v3/inputStreams/noopManager.js +23 -0
  77. package/dist/esm/v3/inputStreams/noopManager.js.map +1 -0
  78. package/dist/esm/v3/inputStreams/types.d.ts +65 -0
  79. package/dist/esm/v3/inputStreams/types.js +26 -0
  80. package/dist/esm/v3/inputStreams/types.js.map +1 -0
  81. package/dist/esm/v3/isomorphic/friendlyId.d.ts +1 -0
  82. package/dist/esm/v3/isomorphic/friendlyId.js +1 -0
  83. package/dist/esm/v3/isomorphic/friendlyId.js.map +1 -1
  84. package/dist/esm/v3/realtimeStreams/streamInstance.js +3 -0
  85. package/dist/esm/v3/realtimeStreams/streamInstance.js.map +1 -1
  86. package/dist/esm/v3/realtimeStreams/streamsWriterV2.d.ts +3 -2
  87. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js +18 -8
  88. package/dist/esm/v3/realtimeStreams/streamsWriterV2.js.map +1 -1
  89. package/dist/esm/v3/realtimeStreams/types.d.ts +93 -0
  90. package/dist/esm/v3/realtimeStreams/types.js +1 -1
  91. package/dist/esm/v3/realtimeStreams/types.js.map +1 -1
  92. package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +7 -7
  93. package/dist/esm/v3/runEngineWorker/workload/schemas.d.ts +7 -7
  94. package/dist/esm/v3/schemas/api.d.ts +71 -5
  95. package/dist/esm/v3/schemas/api.js +27 -0
  96. package/dist/esm/v3/schemas/api.js.map +1 -1
  97. package/dist/esm/v3/schemas/common.d.ts +24 -24
  98. package/dist/esm/v3/schemas/common.js +3 -0
  99. package/dist/esm/v3/schemas/common.js.map +1 -1
  100. package/dist/esm/v3/schemas/messages.d.ts +122 -122
  101. package/dist/esm/v3/schemas/webhooks.d.ts +344 -16
  102. package/dist/esm/v3/schemas/webhooks.js +20 -0
  103. package/dist/esm/v3/schemas/webhooks.js.map +1 -1
  104. package/dist/esm/v3/utils/globals.d.ts +2 -0
  105. package/dist/esm/v3/utils/globals.js.map +1 -1
  106. package/dist/esm/v3/waitpoints/index.d.ts +8 -0
  107. package/dist/esm/v3/waitpoints/index.js +22 -0
  108. package/dist/esm/v3/waitpoints/index.js.map +1 -0
  109. package/dist/esm/v3/workers/index.d.ts +1 -0
  110. package/dist/esm/v3/workers/index.js +1 -0
  111. package/dist/esm/v3/workers/index.js.map +1 -1
  112. package/dist/esm/v3/workers/taskExecutor.js +2 -1
  113. package/dist/esm/v3/workers/taskExecutor.js.map +1 -1
  114. package/dist/esm/version.js +1 -1
  115. package/package.json +3 -3
@@ -0,0 +1,299 @@
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
+ setRunId(runId, streamsVersion) {
25
+ this.currentRunId = runId;
26
+ this.streamsVersion = streamsVersion;
27
+ }
28
+ on(streamId, handler) {
29
+ this.#requireV2Streams();
30
+ let handlerSet = this.handlers.get(streamId);
31
+ if (!handlerSet) {
32
+ handlerSet = new Set();
33
+ this.handlers.set(streamId, handlerSet);
34
+ }
35
+ handlerSet.add(handler);
36
+ // Lazily connect a tail for this stream
37
+ this.#ensureStreamTailConnected(streamId);
38
+ // Flush any buffered data for this stream
39
+ const buffered = this.buffer.get(streamId);
40
+ if (buffered && buffered.length > 0) {
41
+ for (const data of buffered) {
42
+ this.#invokeHandler(handler, data);
43
+ }
44
+ this.buffer.delete(streamId);
45
+ }
46
+ return {
47
+ off: () => {
48
+ handlerSet?.delete(handler);
49
+ if (handlerSet?.size === 0) {
50
+ this.handlers.delete(streamId);
51
+ }
52
+ },
53
+ };
54
+ }
55
+ once(streamId, options) {
56
+ this.#requireV2Streams();
57
+ // Lazily connect a tail for this stream
58
+ this.#ensureStreamTailConnected(streamId);
59
+ // Check buffer first
60
+ const buffered = this.buffer.get(streamId);
61
+ if (buffered && buffered.length > 0) {
62
+ const data = buffered.shift();
63
+ if (buffered.length === 0) {
64
+ this.buffer.delete(streamId);
65
+ }
66
+ return new types_js_1.InputStreamOncePromise((resolve) => {
67
+ resolve({ ok: true, output: data });
68
+ });
69
+ }
70
+ return new types_js_1.InputStreamOncePromise((resolve, reject) => {
71
+ const waiter = { resolve, reject };
72
+ // Handle abort signal
73
+ if (options?.signal) {
74
+ if (options.signal.aborted) {
75
+ reject(new Error("Aborted"));
76
+ return;
77
+ }
78
+ options.signal.addEventListener("abort", () => {
79
+ if (waiter.timeoutHandle) {
80
+ clearTimeout(waiter.timeoutHandle);
81
+ }
82
+ this.#removeOnceWaiter(streamId, waiter);
83
+ reject(new Error("Aborted"));
84
+ }, { once: true });
85
+ }
86
+ // Handle timeout — resolve with error result instead of rejecting
87
+ if (options?.timeoutMs) {
88
+ waiter.timeoutHandle = setTimeout(() => {
89
+ this.#removeOnceWaiter(streamId, waiter);
90
+ resolve({
91
+ ok: false,
92
+ error: new types_js_1.InputStreamTimeoutError(streamId, options.timeoutMs),
93
+ });
94
+ }, options.timeoutMs);
95
+ }
96
+ let waiters = this.onceWaiters.get(streamId);
97
+ if (!waiters) {
98
+ waiters = [];
99
+ this.onceWaiters.set(streamId, waiters);
100
+ }
101
+ waiters.push(waiter);
102
+ });
103
+ }
104
+ peek(streamId) {
105
+ const buffered = this.buffer.get(streamId);
106
+ if (buffered && buffered.length > 0) {
107
+ return buffered[0];
108
+ }
109
+ return undefined;
110
+ }
111
+ clearHandlers() {
112
+ this.handlers.clear();
113
+ // Abort tails that no longer have any once waiters either
114
+ for (const [streamId, tail] of this.tails) {
115
+ const hasWaiters = this.onceWaiters.has(streamId) && this.onceWaiters.get(streamId).length > 0;
116
+ if (!hasWaiters) {
117
+ tail.abortController.abort();
118
+ this.tails.delete(streamId);
119
+ }
120
+ }
121
+ }
122
+ connectTail(runId, _fromSeq) {
123
+ // No-op: tails are now created per-stream lazily
124
+ }
125
+ disconnect() {
126
+ for (const [, tail] of this.tails) {
127
+ tail.abortController.abort();
128
+ }
129
+ this.tails.clear();
130
+ }
131
+ reset() {
132
+ this.disconnect();
133
+ this.currentRunId = null;
134
+ this.streamsVersion = undefined;
135
+ this.seqNums.clear();
136
+ this.handlers.clear();
137
+ // Reject all pending once waiters
138
+ for (const [, waiters] of this.onceWaiters) {
139
+ for (const waiter of waiters) {
140
+ if (waiter.timeoutHandle) {
141
+ clearTimeout(waiter.timeoutHandle);
142
+ }
143
+ waiter.reject(new Error("Input stream manager reset"));
144
+ }
145
+ }
146
+ this.onceWaiters.clear();
147
+ this.buffer.clear();
148
+ }
149
+ #requireV2Streams() {
150
+ if (this.currentRunId && this.streamsVersion !== "v2") {
151
+ throw new Error("Input streams require v2 realtime streams. Enable them with: { future: { v2RealtimeStreams: true } }");
152
+ }
153
+ }
154
+ #ensureStreamTailConnected(streamId) {
155
+ if (!this.tails.has(streamId) && this.currentRunId) {
156
+ const abortController = new AbortController();
157
+ const promise = this.#runTail(this.currentRunId, streamId, abortController.signal)
158
+ .catch((error) => {
159
+ if (this.debug) {
160
+ console.error(`[InputStreamManager] Tail error for "${streamId}":`, error);
161
+ }
162
+ })
163
+ .finally(() => {
164
+ this.tails.delete(streamId);
165
+ // Auto-reconnect if there are still active handlers or waiters
166
+ const hasHandlers = this.handlers.has(streamId) && this.handlers.get(streamId).size > 0;
167
+ const hasWaiters = this.onceWaiters.has(streamId) && this.onceWaiters.get(streamId).length > 0;
168
+ if (hasHandlers || hasWaiters) {
169
+ this.#ensureStreamTailConnected(streamId);
170
+ }
171
+ });
172
+ this.tails.set(streamId, { abortController, promise });
173
+ }
174
+ }
175
+ async #runTail(runId, streamId, signal) {
176
+ try {
177
+ const lastSeq = this.seqNums.get(streamId);
178
+ const stream = await this.apiClient.fetchStream(runId, `input/${streamId}`, {
179
+ signal,
180
+ baseUrl: this.baseUrl,
181
+ // Max allowed by the SSE endpoint is 600s; the tail will reconnect on close
182
+ timeoutInSeconds: 600,
183
+ // Resume from last seen sequence number to avoid replaying history on reconnect
184
+ lastEventId: lastSeq !== undefined ? String(lastSeq) : undefined,
185
+ onPart: (part) => {
186
+ const seqNum = parseInt(part.id, 10);
187
+ if (Number.isFinite(seqNum)) {
188
+ this.seqNums.set(streamId, seqNum);
189
+ }
190
+ },
191
+ onComplete: () => {
192
+ if (this.debug) {
193
+ console.log(`[InputStreamManager] Tail stream completed for "${streamId}"`);
194
+ }
195
+ },
196
+ onError: (error) => {
197
+ if (this.debug) {
198
+ console.error(`[InputStreamManager] Tail stream error for "${streamId}":`, error);
199
+ }
200
+ },
201
+ });
202
+ for await (const record of stream) {
203
+ if (signal.aborted)
204
+ break;
205
+ // S2 SSE returns record bodies as JSON strings; parse if needed
206
+ let data;
207
+ if (typeof record === "string") {
208
+ try {
209
+ data = JSON.parse(record);
210
+ }
211
+ catch {
212
+ data = record;
213
+ }
214
+ }
215
+ else {
216
+ data = record;
217
+ }
218
+ this.#dispatch(streamId, data);
219
+ }
220
+ }
221
+ catch (error) {
222
+ // AbortError is expected when disconnecting
223
+ if (error instanceof Error && error.name === "AbortError") {
224
+ return;
225
+ }
226
+ throw error;
227
+ }
228
+ }
229
+ #dispatch(streamId, data) {
230
+ // First try to resolve a once waiter
231
+ const waiters = this.onceWaiters.get(streamId);
232
+ if (waiters && waiters.length > 0) {
233
+ const waiter = waiters.shift();
234
+ if (waiters.length === 0) {
235
+ this.onceWaiters.delete(streamId);
236
+ }
237
+ if (waiter.timeoutHandle) {
238
+ clearTimeout(waiter.timeoutHandle);
239
+ }
240
+ waiter.resolve({ ok: true, output: data });
241
+ // Also invoke persistent handlers
242
+ this.#invokeHandlers(streamId, data);
243
+ return;
244
+ }
245
+ // Invoke persistent handlers
246
+ const handlers = this.handlers.get(streamId);
247
+ if (handlers && handlers.size > 0) {
248
+ this.#invokeHandlers(streamId, data);
249
+ return;
250
+ }
251
+ // No handlers, buffer the data
252
+ let buffered = this.buffer.get(streamId);
253
+ if (!buffered) {
254
+ buffered = [];
255
+ this.buffer.set(streamId, buffered);
256
+ }
257
+ buffered.push(data);
258
+ }
259
+ #invokeHandlers(streamId, data) {
260
+ const handlers = this.handlers.get(streamId);
261
+ if (!handlers)
262
+ return;
263
+ for (const handler of handlers) {
264
+ this.#invokeHandler(handler, data);
265
+ }
266
+ }
267
+ #invokeHandler(handler, data) {
268
+ try {
269
+ const result = handler(data);
270
+ // If the handler returns a promise, catch errors silently
271
+ if (result && typeof result === "object" && "catch" in result) {
272
+ result.catch((error) => {
273
+ if (this.debug) {
274
+ console.error("[InputStreamManager] Handler error:", error);
275
+ }
276
+ });
277
+ }
278
+ }
279
+ catch (error) {
280
+ if (this.debug) {
281
+ console.error("[InputStreamManager] Handler error:", error);
282
+ }
283
+ }
284
+ }
285
+ #removeOnceWaiter(streamId, waiter) {
286
+ const waiters = this.onceWaiters.get(streamId);
287
+ if (!waiters)
288
+ return;
289
+ const index = waiters.indexOf(waiter);
290
+ if (index !== -1) {
291
+ waiters.splice(index, 1);
292
+ }
293
+ if (waiters.length === 0) {
294
+ this.onceWaiters.delete(streamId);
295
+ }
296
+ }
297
+ }
298
+ exports.StandardInputStreamManager = StandardInputStreamManager;
299
+ //# 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,15 @@
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
+ clearHandlers(): void;
12
+ reset(): void;
13
+ disconnect(): void;
14
+ connectTail(_runId: string, _fromSeq?: number): void;
15
+ }
@@ -0,0 +1,27 @@
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
+ clearHandlers() { }
22
+ reset() { }
23
+ disconnect() { }
24
+ connectTail(_runId, _fromSeq) { }
25
+ }
26
+ exports.NoopInputStreamManager = NoopInputStreamManager;
27
+ //# 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,KAAU,CAAC;IACxB,KAAK,KAAU,CAAC;IAChB,UAAU,KAAU,CAAC;IACrB,WAAW,CAAC,MAAc,EAAE,QAAiB,IAAS,CAAC;CACxD;AAzBD,wDAyBC"}
@@ -0,0 +1,65 @@
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
+ * Clear all persistent `.on()` handlers and abort tails that have no remaining once waiters.
50
+ * Called automatically when a task run completes.
51
+ */
52
+ clearHandlers(): void;
53
+ /**
54
+ * Reset state between task executions.
55
+ */
56
+ reset(): void;
57
+ /**
58
+ * Disconnect any active tails / connections.
59
+ */
60
+ disconnect(): void;
61
+ /**
62
+ * Connect a tail to receive input stream records for the given run.
63
+ */
64
+ connectTail(runId: string, fromSeq?: number): void;
65
+ }
@@ -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"}
@@ -25,6 +25,7 @@ export declare const WaitpointId: IdUtil;
25
25
  export declare const BatchId: IdUtil;
26
26
  export declare const BulkActionId: IdUtil;
27
27
  export declare const AttemptId: IdUtil;
28
+ export declare const ErrorId: IdUtil;
28
29
  export declare class IdGenerator {
29
30
  private alphabet;
30
31
  private length;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.IdGenerator = exports.AttemptId = exports.BulkActionId = exports.BatchId = exports.WaitpointId = exports.SnapshotId = exports.RunId = exports.QueueId = exports.CheckpointId = exports.BackgroundWorkerId = exports.IdUtil = void 0;
6
+ exports.IdGenerator = exports.ErrorId = exports.AttemptId = exports.BulkActionId = exports.BatchId = exports.WaitpointId = exports.SnapshotId = exports.RunId = exports.QueueId = exports.CheckpointId = exports.BackgroundWorkerId = exports.IdUtil = void 0;
7
7
  exports.generateFriendlyId = generateFriendlyId;
8
8
  exports.generateInternalId = generateInternalId;
9
9
  exports.toFriendlyId = toFriendlyId;
@@ -87,6 +87,7 @@ exports.WaitpointId = new IdUtil("waitpoint");
87
87
  exports.BatchId = new IdUtil("batch");
88
88
  exports.BulkActionId = new IdUtil("bulk");
89
89
  exports.AttemptId = new IdUtil("attempt");
90
+ exports.ErrorId = new IdUtil("error");
90
91
  class IdGenerator {
91
92
  alphabet;
92
93
  length;
@@ -1 +1 @@
1
- {"version":3,"file":"friendlyId.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendlyId.js","sourceRoot":"","sources":["../../../../src/v3/isomorphic/friendlyId.ts"],"names":[],"mappings":"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"}
@@ -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) {