@trigger.dev/core 4.5.12 → 4.5.14

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 (158) hide show
  1. package/dist/commonjs/v3/apiClient/index.d.ts +18 -4
  2. package/dist/commonjs/v3/apiClient/index.js +37 -2
  3. package/dist/commonjs/v3/apiClient/index.js.map +1 -1
  4. package/dist/commonjs/v3/apiClient/refreshAccessToken.d.ts +9 -0
  5. package/dist/commonjs/v3/apiClient/refreshAccessToken.js +22 -0
  6. package/dist/commonjs/v3/apiClient/refreshAccessToken.js.map +1 -0
  7. package/dist/commonjs/v3/apiClient/refreshAccessToken.test.d.ts +1 -0
  8. package/dist/commonjs/v3/apiClient/refreshAccessToken.test.js +55 -0
  9. package/dist/commonjs/v3/apiClient/refreshAccessToken.test.js.map +1 -0
  10. package/dist/commonjs/v3/apiClient/runStream.d.ts +40 -0
  11. package/dist/commonjs/v3/apiClient/runStream.js +59 -8
  12. package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
  13. package/dist/commonjs/v3/apiClient/runStream.test.js +280 -0
  14. package/dist/commonjs/v3/apiClient/runStream.test.js.map +1 -1
  15. package/dist/commonjs/v3/apiClientManager/index.js +3 -2
  16. package/dist/commonjs/v3/apiClientManager/index.js.map +1 -1
  17. package/dist/commonjs/v3/apiClientManager/types.d.ts +6 -0
  18. package/dist/commonjs/v3/index.d.ts +1 -0
  19. package/dist/commonjs/v3/index.js +1 -0
  20. package/dist/commonjs/v3/index.js.map +1 -1
  21. package/dist/commonjs/v3/isomorphic/friendlyId.d.ts +64 -1
  22. package/dist/commonjs/v3/isomorphic/friendlyId.js +179 -12
  23. package/dist/commonjs/v3/isomorphic/friendlyId.js.map +1 -1
  24. package/dist/commonjs/v3/isomorphic/friendlyId.test.js +283 -1
  25. package/dist/commonjs/v3/isomorphic/friendlyId.test.js.map +1 -1
  26. package/dist/commonjs/v3/isomorphic/index.d.ts +1 -0
  27. package/dist/commonjs/v3/isomorphic/index.js +1 -0
  28. package/dist/commonjs/v3/isomorphic/index.js.map +1 -1
  29. package/dist/commonjs/v3/isomorphic/runOpsResidency.d.ts +21 -7
  30. package/dist/commonjs/v3/isomorphic/runOpsResidency.js +23 -7
  31. package/dist/commonjs/v3/isomorphic/runOpsResidency.js.map +1 -1
  32. package/dist/commonjs/v3/isomorphic/runOpsResidency.test.js +85 -2
  33. package/dist/commonjs/v3/isomorphic/runOpsResidency.test.js.map +1 -1
  34. package/dist/commonjs/v3/isomorphic/waitpointMint.d.ts +9 -0
  35. package/dist/commonjs/v3/isomorphic/waitpointMint.js +22 -0
  36. package/dist/commonjs/v3/isomorphic/waitpointMint.js.map +1 -0
  37. package/dist/commonjs/v3/isomorphic/waitpointMint.test.d.ts +1 -0
  38. package/dist/commonjs/v3/isomorphic/waitpointMint.test.js +97 -0
  39. package/dist/commonjs/v3/isomorphic/waitpointMint.test.js.map +1 -0
  40. package/dist/commonjs/v3/realtimeStreams/types.d.ts +10 -0
  41. package/dist/commonjs/v3/runEngineWorker/workload/schemas.d.ts +54 -54
  42. package/dist/commonjs/v3/schemas/api.d.ts +45 -3
  43. package/dist/commonjs/v3/schemas/api.js +18 -5
  44. package/dist/commonjs/v3/schemas/api.js.map +1 -1
  45. package/dist/commonjs/v3/session-streams-api.d.ts +1 -0
  46. package/dist/commonjs/v3/session-streams-api.js +1 -0
  47. package/dist/commonjs/v3/session-streams-api.js.map +1 -1
  48. package/dist/commonjs/v3/sessionStreams/index.d.ts +9 -1
  49. package/dist/commonjs/v3/sessionStreams/index.js +38 -0
  50. package/dist/commonjs/v3/sessionStreams/index.js.map +1 -1
  51. package/dist/commonjs/v3/sessionStreams/manager.d.ts +27 -2
  52. package/dist/commonjs/v3/sessionStreams/manager.js +202 -108
  53. package/dist/commonjs/v3/sessionStreams/manager.js.map +1 -1
  54. package/dist/commonjs/v3/sessionStreams/manager.test.js +253 -0
  55. package/dist/commonjs/v3/sessionStreams/manager.test.js.map +1 -1
  56. package/dist/commonjs/v3/sessionStreams/noopManager.d.ts +9 -1
  57. package/dist/commonjs/v3/sessionStreams/noopManager.js +18 -0
  58. package/dist/commonjs/v3/sessionStreams/noopManager.js.map +1 -1
  59. package/dist/commonjs/v3/sessionStreams/router.d.ts +241 -0
  60. package/dist/commonjs/v3/sessionStreams/router.js +402 -0
  61. package/dist/commonjs/v3/sessionStreams/router.js.map +1 -0
  62. package/dist/commonjs/v3/sessionStreams/router.test.d.ts +1 -0
  63. package/dist/commonjs/v3/sessionStreams/router.test.js +463 -0
  64. package/dist/commonjs/v3/sessionStreams/router.test.js.map +1 -0
  65. package/dist/commonjs/v3/sessionStreams/types.d.ts +42 -6
  66. package/dist/commonjs/v3/sessionStreams/wireProtocol.d.ts +11 -0
  67. package/dist/commonjs/v3/sessionStreams/wireProtocol.js +12 -1
  68. package/dist/commonjs/v3/sessionStreams/wireProtocol.js.map +1 -1
  69. package/dist/commonjs/v3/test/mock-task-context.d.ts +4 -1
  70. package/dist/commonjs/v3/test/mock-task-context.js +2 -2
  71. package/dist/commonjs/v3/test/mock-task-context.js.map +1 -1
  72. package/dist/commonjs/v3/test/session-waitpoint-backend.js +17 -3
  73. package/dist/commonjs/v3/test/session-waitpoint-backend.js.map +1 -1
  74. package/dist/commonjs/v3/test/test-session-stream-manager.d.ts +13 -2
  75. package/dist/commonjs/v3/test/test-session-stream-manager.js +173 -67
  76. package/dist/commonjs/v3/test/test-session-stream-manager.js.map +1 -1
  77. package/dist/commonjs/v3/utils/globals.js +5 -1
  78. package/dist/commonjs/v3/utils/globals.js.map +1 -1
  79. package/dist/commonjs/version.js +1 -1
  80. package/dist/esm/v3/apiClient/index.d.ts +18 -4
  81. package/dist/esm/v3/apiClient/index.js +37 -3
  82. package/dist/esm/v3/apiClient/index.js.map +1 -1
  83. package/dist/esm/v3/apiClient/refreshAccessToken.d.ts +9 -0
  84. package/dist/esm/v3/apiClient/refreshAccessToken.js +19 -0
  85. package/dist/esm/v3/apiClient/refreshAccessToken.js.map +1 -0
  86. package/dist/esm/v3/apiClient/refreshAccessToken.test.d.ts +1 -0
  87. package/dist/esm/v3/apiClient/refreshAccessToken.test.js +53 -0
  88. package/dist/esm/v3/apiClient/refreshAccessToken.test.js.map +1 -0
  89. package/dist/esm/v3/apiClient/runStream.d.ts +40 -0
  90. package/dist/esm/v3/apiClient/runStream.js +58 -7
  91. package/dist/esm/v3/apiClient/runStream.js.map +1 -1
  92. package/dist/esm/v3/apiClient/runStream.test.js +281 -1
  93. package/dist/esm/v3/apiClient/runStream.test.js.map +1 -1
  94. package/dist/esm/v3/apiClientManager/index.js +3 -2
  95. package/dist/esm/v3/apiClientManager/index.js.map +1 -1
  96. package/dist/esm/v3/apiClientManager/types.d.ts +6 -0
  97. package/dist/esm/v3/index.d.ts +1 -0
  98. package/dist/esm/v3/index.js +1 -0
  99. package/dist/esm/v3/index.js.map +1 -1
  100. package/dist/esm/v3/isomorphic/friendlyId.d.ts +64 -1
  101. package/dist/esm/v3/isomorphic/friendlyId.js +170 -11
  102. package/dist/esm/v3/isomorphic/friendlyId.js.map +1 -1
  103. package/dist/esm/v3/isomorphic/friendlyId.test.js +284 -2
  104. package/dist/esm/v3/isomorphic/friendlyId.test.js.map +1 -1
  105. package/dist/esm/v3/isomorphic/index.d.ts +1 -0
  106. package/dist/esm/v3/isomorphic/index.js +1 -0
  107. package/dist/esm/v3/isomorphic/index.js.map +1 -1
  108. package/dist/esm/v3/isomorphic/runOpsResidency.d.ts +21 -7
  109. package/dist/esm/v3/isomorphic/runOpsResidency.js +23 -8
  110. package/dist/esm/v3/isomorphic/runOpsResidency.js.map +1 -1
  111. package/dist/esm/v3/isomorphic/runOpsResidency.test.js +87 -4
  112. package/dist/esm/v3/isomorphic/runOpsResidency.test.js.map +1 -1
  113. package/dist/esm/v3/isomorphic/waitpointMint.d.ts +9 -0
  114. package/dist/esm/v3/isomorphic/waitpointMint.js +18 -0
  115. package/dist/esm/v3/isomorphic/waitpointMint.js.map +1 -0
  116. package/dist/esm/v3/isomorphic/waitpointMint.test.d.ts +1 -0
  117. package/dist/esm/v3/isomorphic/waitpointMint.test.js +95 -0
  118. package/dist/esm/v3/isomorphic/waitpointMint.test.js.map +1 -0
  119. package/dist/esm/v3/realtimeStreams/types.d.ts +10 -0
  120. package/dist/esm/v3/schemas/api.d.ts +45 -3
  121. package/dist/esm/v3/schemas/api.js +15 -2
  122. package/dist/esm/v3/schemas/api.js.map +1 -1
  123. package/dist/esm/v3/session-streams-api.d.ts +1 -0
  124. package/dist/esm/v3/session-streams-api.js +1 -0
  125. package/dist/esm/v3/session-streams-api.js.map +1 -1
  126. package/dist/esm/v3/sessionStreams/index.d.ts +9 -1
  127. package/dist/esm/v3/sessionStreams/index.js +38 -0
  128. package/dist/esm/v3/sessionStreams/index.js.map +1 -1
  129. package/dist/esm/v3/sessionStreams/manager.d.ts +27 -2
  130. package/dist/esm/v3/sessionStreams/manager.js +202 -108
  131. package/dist/esm/v3/sessionStreams/manager.js.map +1 -1
  132. package/dist/esm/v3/sessionStreams/manager.test.js +253 -0
  133. package/dist/esm/v3/sessionStreams/manager.test.js.map +1 -1
  134. package/dist/esm/v3/sessionStreams/noopManager.d.ts +9 -1
  135. package/dist/esm/v3/sessionStreams/noopManager.js +18 -0
  136. package/dist/esm/v3/sessionStreams/noopManager.js.map +1 -1
  137. package/dist/esm/v3/sessionStreams/router.d.ts +241 -0
  138. package/dist/esm/v3/sessionStreams/router.js +398 -0
  139. package/dist/esm/v3/sessionStreams/router.js.map +1 -0
  140. package/dist/esm/v3/sessionStreams/router.test.d.ts +1 -0
  141. package/dist/esm/v3/sessionStreams/router.test.js +461 -0
  142. package/dist/esm/v3/sessionStreams/router.test.js.map +1 -0
  143. package/dist/esm/v3/sessionStreams/types.d.ts +42 -6
  144. package/dist/esm/v3/sessionStreams/wireProtocol.d.ts +11 -0
  145. package/dist/esm/v3/sessionStreams/wireProtocol.js +11 -0
  146. package/dist/esm/v3/sessionStreams/wireProtocol.js.map +1 -1
  147. package/dist/esm/v3/test/mock-task-context.d.ts +4 -1
  148. package/dist/esm/v3/test/mock-task-context.js +2 -2
  149. package/dist/esm/v3/test/mock-task-context.js.map +1 -1
  150. package/dist/esm/v3/test/session-waitpoint-backend.js +17 -3
  151. package/dist/esm/v3/test/session-waitpoint-backend.js.map +1 -1
  152. package/dist/esm/v3/test/test-session-stream-manager.d.ts +13 -2
  153. package/dist/esm/v3/test/test-session-stream-manager.js +173 -67
  154. package/dist/esm/v3/test/test-session-stream-manager.js.map +1 -1
  155. package/dist/esm/v3/utils/globals.js +5 -1
  156. package/dist/esm/v3/utils/globals.js.map +1 -1
  157. package/dist/esm/version.js +1 -1
  158. package/package.json +1 -1
@@ -5,6 +5,13 @@ import type { SerializedError } from "../schemas/common.js";
5
5
  import type { AsyncIterableStream } from "../streams/asyncIterableStream.js";
6
6
  import type { AnyRunTypes, AnyTask, InferRunTypes } from "../types/tasks.js";
7
7
  import type { ApiClient } from "./index.js";
8
+ /**
9
+ * Request header carrying the start position for a fresh realtime-stream
10
+ * subscription. Value `"latest"` asks the server to start at the current tail
11
+ * (only records appended after connect). Only sent when there is no
12
+ * `Last-Event-ID`. Read by the realtime streams route on the server.
13
+ */
14
+ export declare const STREAM_START_HEADER = "X-Trigger-Stream-Start";
8
15
  export type RunShape<TRunTypes extends AnyRunTypes> = TRunTypes extends AnyRunTypes ? {
9
16
  id: string;
10
17
  taskIdentifier: TRunTypes["taskIdentifier"];
@@ -44,6 +51,7 @@ export type RealtimeRunSkipColumns = Array<"startedAt" | "delayUntil" | "queuedA
44
51
  export type RunStreamCallback<TRunTypes extends AnyRunTypes> = (run: RunShape<TRunTypes>) => void | Promise<void>;
45
52
  export type RunShapeStreamOptions = {
46
53
  headers?: Record<string, string>;
54
+ resolveHeaders?: () => Promise<Record<string, string>>;
47
55
  fetchClient?: typeof fetch;
48
56
  closeOnComplete?: boolean;
49
57
  signal?: AbortSignal;
@@ -71,11 +79,25 @@ export type CreateStreamSubscriptionOptions = {
71
79
  onError?: (error: Error) => void;
72
80
  timeoutInSeconds?: number;
73
81
  lastEventId?: string;
82
+ /**
83
+ * Where a fresh subscription (no `lastEventId`) starts reading from.
84
+ *
85
+ * - `"beginning"` (default): replay the full stream history, then live-tail.
86
+ * - `"latest"`: skip history and start at the current tail — the subscriber
87
+ * sees only records appended after it connects (a last-value / live view).
88
+ *
89
+ * Ignored once `lastEventId` is set: a reconnect always resumes from the last
90
+ * seen record, so `"latest"` only governs the very first connect.
91
+ */
92
+ from?: "beginning" | "latest";
74
93
  };
75
94
  export interface StreamSubscriptionFactory {
76
95
  createSubscription(runId: string, streamKey: string, options?: CreateStreamSubscriptionOptions): StreamSubscription;
77
96
  }
78
97
  export type SSEStreamPart<TChunk = unknown> = {
98
+ /** Stable logical record id from the S2 data envelope (`X-Part-Id` on append). */
99
+ recordId?: string;
100
+ /** S2 sequence number in decimal-string form. */
79
101
  id: string;
80
102
  chunk: TChunk;
81
103
  timestamp: number;
@@ -93,6 +115,7 @@ export declare class SSEStreamSubscription implements StreamSubscription {
93
115
  private url;
94
116
  private options;
95
117
  private lastEventId;
118
+ private from;
96
119
  private retryCount;
97
120
  private maxRetries;
98
121
  private retryDelayMs;
@@ -105,6 +128,12 @@ export declare class SSEStreamSubscription implements StreamSubscription {
105
128
  private internalAbort;
106
129
  private cancelledByConsumer;
107
130
  private completeNotified;
131
+ /** Headers for the next attempt. Replaced by `resolveHeaders` after an auth failure. */
132
+ private currentHeaders;
133
+ /** A refresh has already been tried on this connection; a second auth failure is terminal. */
134
+ private authRefreshed;
135
+ /** Headers were just refreshed for the auth error now unwinding; retry once instead of failing. */
136
+ private retryAfterAuthRefresh;
108
137
  /**
109
138
  * True when the most recent response carried `X-Session-Settled: true` —
110
139
  * the server has no more records coming, so a clean end of the body is
@@ -118,6 +147,7 @@ export declare class SSEStreamSubscription implements StreamSubscription {
118
147
  onError?: (error: Error) => void;
119
148
  timeoutInSeconds?: number;
120
149
  lastEventId?: string;
150
+ from?: "beginning" | "latest";
121
151
  maxRetries?: number;
122
152
  retryDelayMs?: number;
123
153
  maxRetryDelayMs?: number;
@@ -126,6 +156,7 @@ export declare class SSEStreamSubscription implements StreamSubscription {
126
156
  stallTimeoutMs?: number;
127
157
  nonRetryableStatuses?: readonly number[];
128
158
  fetchClient?: typeof fetch;
159
+ resolveHeaders?: () => Promise<Record<string, string>>;
129
160
  });
130
161
  /**
131
162
  * Wake an in-flight retry backoff and reconnect immediately.
@@ -155,6 +186,14 @@ export declare class SSEStreamSubscription implements StreamSubscription {
155
186
  */
156
187
  subscribe(): Promise<ReadableStream<SSEStreamPart>>;
157
188
  private connectStream;
189
+ /**
190
+ * Re-resolve the headers after a 401/403 so the retry carries a fresh token.
191
+ * At most once per live connection: if the refreshed token is rejected too,
192
+ * the auth error stays terminal. A refresher that can't mint leaves the
193
+ * rejected token in place so the auth error stays terminal too. Returns true
194
+ * when a retry should follow.
195
+ */
196
+ private refreshHeadersForAuthError;
158
197
  private retryConnection;
159
198
  }
160
199
  export declare class SSEStreamSubscriptionFactory implements StreamSubscriptionFactory {
@@ -163,6 +202,7 @@ export declare class SSEStreamSubscriptionFactory implements StreamSubscriptionF
163
202
  constructor(baseUrl: string, options: {
164
203
  headers?: Record<string, string>;
165
204
  signal?: AbortSignal;
205
+ resolveHeaders?: () => Promise<Record<string, string>>;
166
206
  });
167
207
  createSubscription(runId: string, streamKey: string, options?: CreateStreamSubscriptionOptions): StreamSubscription;
168
208
  }
@@ -6,10 +6,18 @@ import { getEnvVar } from "../utils/getEnv.js";
6
6
  import { conditionallyImportAndParsePacket, parsePacket } from "../utils/ioSerialization.js";
7
7
  import { ApiError, isTriggerRealtimeAuthError } from "./errors.js";
8
8
  import { zodShapeStream } from "./stream.js";
9
+ /**
10
+ * Request header carrying the start position for a fresh realtime-stream
11
+ * subscription. Value `"latest"` asks the server to start at the current tail
12
+ * (only records appended after connect). Only sent when there is no
13
+ * `Last-Event-ID`. Read by the realtime streams route on the server.
14
+ */
15
+ export const STREAM_START_HEADER = "X-Trigger-Stream-Start";
9
16
  export function runShapeStream(url, options) {
10
17
  const abortController = new AbortController();
11
18
  const streamFactory = new SSEStreamSubscriptionFactory(getEnvVar("TRIGGER_STREAM_URL", getEnvVar("TRIGGER_API_URL")) ?? "https://api.trigger.dev", {
12
19
  headers: options?.headers,
20
+ resolveHeaders: options?.resolveHeaders,
13
21
  signal: abortController.signal,
14
22
  });
15
23
  // If the user supplied AbortSignal is aborted, we should abort the internal controller
@@ -39,6 +47,7 @@ export class SSEStreamSubscription {
39
47
  url;
40
48
  options;
41
49
  lastEventId;
50
+ from;
42
51
  retryCount = 0;
43
52
  maxRetries;
44
53
  retryDelayMs;
@@ -51,6 +60,12 @@ export class SSEStreamSubscription {
51
60
  internalAbort = null;
52
61
  cancelledByConsumer = false;
53
62
  completeNotified = false;
63
+ /** Headers for the next attempt. Replaced by `resolveHeaders` after an auth failure. */
64
+ currentHeaders;
65
+ /** A refresh has already been tried on this connection; a second auth failure is terminal. */
66
+ authRefreshed = false;
67
+ /** Headers were just refreshed for the auth error now unwinding; retry once instead of failing. */
68
+ retryAfterAuthRefresh = false;
54
69
  /**
55
70
  * True when the most recent response carried `X-Session-Settled: true` —
56
71
  * the server has no more records coming, so a clean end of the body is
@@ -60,7 +75,9 @@ export class SSEStreamSubscription {
60
75
  constructor(url, options) {
61
76
  this.url = url;
62
77
  this.options = options;
78
+ this.currentHeaders = options.headers;
63
79
  this.lastEventId = options.lastEventId;
80
+ this.from = options.from ?? "beginning";
64
81
  this.maxRetries = options.maxRetries ?? Infinity;
65
82
  this.retryDelayMs = options.retryDelayMs ?? 100;
66
83
  this.maxRetryDelayMs = options.maxRetryDelayMs ?? 5000;
@@ -177,10 +194,12 @@ export class SSEStreamSubscription {
177
194
  try {
178
195
  const headers = {
179
196
  Accept: "text/event-stream",
180
- ...this.options.headers,
197
+ ...this.currentHeaders,
181
198
  };
182
199
  if (this.lastEventId)
183
200
  headers["Last-Event-ID"] = this.lastEventId;
201
+ else if (this.from === "latest")
202
+ headers[STREAM_START_HEADER] = "latest";
184
203
  if (this.options.timeoutInSeconds) {
185
204
  headers["Timeout-Seconds"] = this.options.timeoutInSeconds.toString();
186
205
  }
@@ -192,11 +211,14 @@ export class SSEStreamSubscription {
192
211
  clearTimeout(fetchTimer);
193
212
  if (!response.ok) {
194
213
  const error = ApiError.generate(response.status, {}, "Could not subscribe to stream", Object.fromEntries(response.headers));
195
- this.options.onError?.(error);
196
214
  if (this.nonRetryableStatuses.has(response.status)) {
215
+ this.options.onError?.(error);
197
216
  controller.error(error);
198
217
  return;
199
218
  }
219
+ if (!(await this.refreshHeadersForAuthError(response.status))) {
220
+ this.options.onError?.(error);
221
+ }
200
222
  throw error;
201
223
  }
202
224
  if (!response.body) {
@@ -274,6 +296,7 @@ export class SSEStreamSubscription {
274
296
  chunkController.enqueue({
275
297
  type: "part",
276
298
  part: {
299
+ recordId: parsedBody?.id,
277
300
  id: record.seq_num.toString(),
278
301
  chunk: parsedBody?.data,
279
302
  timestamp: record.timestamp,
@@ -303,6 +326,7 @@ export class SSEStreamSubscription {
303
326
  return;
304
327
  }
305
328
  armStall(); // any chunk (including server keepalives) resets the silence timer
329
+ this.authRefreshed = false;
306
330
  controller.enqueue(value);
307
331
  }
308
332
  }
@@ -319,11 +343,16 @@ export class SSEStreamSubscription {
319
343
  return;
320
344
  }
321
345
  if (isTriggerRealtimeAuthError(error)) {
322
- // `onError` was already invoked in the `!response.ok` branch above
323
- // (where the auth ApiError was originally constructed and thrown).
324
- // Auth errors are non-retryable: terminate the stream cleanly.
325
- controller.error(error);
326
- return;
346
+ if (this.retryAfterAuthRefresh) {
347
+ this.retryAfterAuthRefresh = false;
348
+ }
349
+ else {
350
+ // `onError` was already invoked in the `!response.ok` branch above
351
+ // (where the auth ApiError was originally constructed and thrown).
352
+ // Auth errors are non-retryable: terminate the stream cleanly.
353
+ controller.error(error);
354
+ return;
355
+ }
327
356
  }
328
357
  cleanupAttempt();
329
358
  await this.retryConnection(controller, error);
@@ -332,6 +361,28 @@ export class SSEStreamSubscription {
332
361
  cleanupAttempt();
333
362
  }
334
363
  }
364
+ /**
365
+ * Re-resolve the headers after a 401/403 so the retry carries a fresh token.
366
+ * At most once per live connection: if the refreshed token is rejected too,
367
+ * the auth error stays terminal. A refresher that can't mint leaves the
368
+ * rejected token in place so the auth error stays terminal too. Returns true
369
+ * when a retry should follow.
370
+ */
371
+ async refreshHeadersForAuthError(status) {
372
+ if (status !== 401 && status !== 403)
373
+ return false;
374
+ if (!this.options.resolveHeaders || this.authRefreshed)
375
+ return false;
376
+ this.authRefreshed = true;
377
+ try {
378
+ this.currentHeaders = await this.options.resolveHeaders();
379
+ }
380
+ catch {
381
+ return false;
382
+ }
383
+ this.retryAfterAuthRefresh = true;
384
+ return true;
385
+ }
335
386
  async retryConnection(controller, error) {
336
387
  if (this.options.signal?.aborted || this.cancelledByConsumer) {
337
388
  this.notifyComplete();
@@ -1 +1 @@
1
- {"version":3,"file":"runStream.js","sourceRoot":"","sources":["../../../../src/v3/apiClient/runStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runStream.js","sourceRoot":"","sources":["../../../../src/v3/apiClient/runStream.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { SSEStreamSubscription } from "./runStream.js";
2
+ import { SSEStreamSubscription, STREAM_START_HEADER } from "./runStream.js";
3
3
  vi.setConfig({ testTimeout: 10_000 });
4
4
  describe("SSEStreamSubscription retry behavior", () => {
5
5
  const originalFetch = globalThis.fetch;
@@ -37,6 +37,31 @@ describe("SSEStreamSubscription retry behavior", () => {
37
37
  headers: { "Content-Type": "text/event-stream", "X-Stream-Version": "v1" },
38
38
  });
39
39
  }
40
+ /** An accepted connection that dies before delivering a single record. */
41
+ function makeDroppedResponse() {
42
+ const body = new ReadableStream({
43
+ start(controller) {
44
+ controller.error(new Error("connection dropped"));
45
+ },
46
+ });
47
+ return new Response(body, {
48
+ status: 200,
49
+ headers: { "Content-Type": "text/event-stream", "X-Stream-Version": "v1" },
50
+ });
51
+ }
52
+ /** One delivered record, then the connection dies. */
53
+ function makeChunkThenDropResponse() {
54
+ const body = new ReadableStream({
55
+ start(controller) {
56
+ controller.enqueue(new TextEncoder().encode(`id: 1\ndata: {"hello":1}\n\n`));
57
+ setTimeout(() => controller.error(new Error("connection dropped")), 20);
58
+ },
59
+ });
60
+ return new Response(body, {
61
+ status: 200,
62
+ headers: { "Content-Type": "text/event-stream", "X-Stream-Version": "v1" },
63
+ });
64
+ }
40
65
  // Drain a ReadableStream<SSEStreamPart> until it closes or errors.
41
66
  // Returns received chunks plus terminal state.
42
67
  async function drain(stream) {
@@ -368,6 +393,177 @@ describe("SSEStreamSubscription retry behavior", () => {
368
393
  expect(attempts).toBe(1);
369
394
  expect(result.error).toBeDefined();
370
395
  });
396
+ it("fails the stream on a 401 when no resolveHeaders is supplied", async () => {
397
+ let attempts = 0;
398
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
399
+ attempts++;
400
+ return new Response("unauthorized", { status: 401 });
401
+ });
402
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
403
+ headers: { Authorization: "Bearer expired" },
404
+ retryDelayMs: 1,
405
+ maxRetryDelayMs: 5,
406
+ });
407
+ const result = await sub.subscribe().then(drain);
408
+ expect(attempts).toBe(1);
409
+ expect(result.error).toBeDefined();
410
+ });
411
+ it("retries a 401 once with the headers from resolveHeaders", async () => {
412
+ const seenTokens = [];
413
+ globalThis.fetch = vi.fn().mockImplementation(async (_url, init) => {
414
+ const token = new Headers(init.headers).get("Authorization");
415
+ seenTokens.push(token);
416
+ if (token !== "Bearer fresh")
417
+ return new Response("unauthorized", { status: 401 });
418
+ return makeSSEResponse();
419
+ });
420
+ let refreshes = 0;
421
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
422
+ headers: { Authorization: "Bearer expired" },
423
+ retryDelayMs: 1,
424
+ maxRetryDelayMs: 5,
425
+ resolveHeaders: async () => {
426
+ refreshes++;
427
+ return { Authorization: "Bearer fresh" };
428
+ },
429
+ });
430
+ const result = await sub.subscribe().then(drain);
431
+ expect(seenTokens).toEqual(["Bearer expired", "Bearer fresh"]);
432
+ expect(refreshes).toBe(1);
433
+ expect(result.error).toBeUndefined();
434
+ expect(result.chunks).toHaveLength(1);
435
+ });
436
+ it("fails the stream when the refreshed headers are rejected too", async () => {
437
+ let attempts = 0;
438
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
439
+ attempts++;
440
+ return new Response("unauthorized", { status: 401 });
441
+ });
442
+ let refreshes = 0;
443
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
444
+ headers: { Authorization: "Bearer expired" },
445
+ retryDelayMs: 1,
446
+ maxRetryDelayMs: 5,
447
+ resolveHeaders: async () => {
448
+ refreshes++;
449
+ return { Authorization: "Bearer also-expired" };
450
+ },
451
+ });
452
+ const result = await sub.subscribe().then(drain);
453
+ expect(attempts).toBe(2);
454
+ expect(refreshes).toBe(1);
455
+ expect(result.error).toBeDefined();
456
+ });
457
+ it("retries a 403 once with the headers from resolveHeaders", async () => {
458
+ const seenTokens = [];
459
+ globalThis.fetch = vi.fn().mockImplementation(async (_url, init) => {
460
+ const token = new Headers(init.headers).get("Authorization");
461
+ seenTokens.push(token);
462
+ if (token !== "Bearer fresh")
463
+ return new Response("forbidden", { status: 403 });
464
+ return makeSSEResponse();
465
+ });
466
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
467
+ headers: { Authorization: "Bearer expired" },
468
+ retryDelayMs: 1,
469
+ maxRetryDelayMs: 5,
470
+ resolveHeaders: async () => ({ Authorization: "Bearer fresh" }),
471
+ });
472
+ const result = await sub.subscribe().then(drain);
473
+ expect(seenTokens).toEqual(["Bearer expired", "Bearer fresh"]);
474
+ expect(result.error).toBeUndefined();
475
+ expect(result.chunks).toHaveLength(1);
476
+ });
477
+ it("does not report a 401 that the refresh recovered from", async () => {
478
+ let attempts = 0;
479
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
480
+ attempts++;
481
+ if (attempts === 1)
482
+ return new Response("unauthorized", { status: 401 });
483
+ return makeSSEResponse();
484
+ });
485
+ const errors = [];
486
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
487
+ headers: { Authorization: "Bearer expired" },
488
+ retryDelayMs: 1,
489
+ maxRetryDelayMs: 5,
490
+ onError: (e) => errors.push(e),
491
+ resolveHeaders: async () => ({ Authorization: "Bearer fresh" }),
492
+ });
493
+ const result = await sub.subscribe().then(drain);
494
+ expect(errors).toHaveLength(0);
495
+ expect(result.error).toBeUndefined();
496
+ });
497
+ it("terminates on a 401 when the refresher itself throws", async () => {
498
+ let attempts = 0;
499
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
500
+ attempts++;
501
+ return new Response("unauthorized", { status: 401 });
502
+ });
503
+ const errors = [];
504
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
505
+ headers: { Authorization: "Bearer expired" },
506
+ retryDelayMs: 1,
507
+ maxRetryDelayMs: 5,
508
+ onError: (e) => errors.push(e),
509
+ resolveHeaders: async () => {
510
+ throw new Error("mint failed");
511
+ },
512
+ });
513
+ const result = await sub.subscribe().then(drain);
514
+ expect(attempts).toBe(1);
515
+ expect(errors).toHaveLength(1);
516
+ expect(result.error).toBeDefined();
517
+ });
518
+ it("does not re-mint for a connection that is accepted but delivers nothing", async () => {
519
+ let attempts = 0;
520
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
521
+ attempts++;
522
+ if (attempts === 2)
523
+ return makeDroppedResponse();
524
+ return new Response("unauthorized", { status: 401 });
525
+ });
526
+ let refreshes = 0;
527
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
528
+ headers: { Authorization: "Bearer expired" },
529
+ retryDelayMs: 1,
530
+ maxRetryDelayMs: 5,
531
+ resolveHeaders: async () => {
532
+ refreshes++;
533
+ return { Authorization: `Bearer fresh-${refreshes}` };
534
+ },
535
+ });
536
+ const result = await sub.subscribe().then(drain);
537
+ expect(refreshes).toBe(1);
538
+ expect(attempts).toBe(3);
539
+ expect(result.error).toBeDefined();
540
+ });
541
+ it("allows another refresh once a connection has delivered a record", async () => {
542
+ let attempts = 0;
543
+ globalThis.fetch = vi.fn().mockImplementation(async () => {
544
+ attempts++;
545
+ if (attempts === 2)
546
+ return makeChunkThenDropResponse();
547
+ if (attempts === 4)
548
+ return makeSSEResponse();
549
+ return new Response("unauthorized", { status: 401 });
550
+ });
551
+ let refreshes = 0;
552
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
553
+ headers: { Authorization: "Bearer expired" },
554
+ retryDelayMs: 1,
555
+ maxRetryDelayMs: 5,
556
+ resolveHeaders: async () => {
557
+ refreshes++;
558
+ return { Authorization: `Bearer fresh-${refreshes}` };
559
+ },
560
+ });
561
+ const result = await sub.subscribe().then(drain);
562
+ expect(refreshes).toBe(2);
563
+ expect(attempts).toBe(4);
564
+ expect(result.error).toBeUndefined();
565
+ expect(result.chunks).toHaveLength(2);
566
+ });
371
567
  it("retries on 503 (caller-tunable nonRetryableStatuses)", async () => {
372
568
  let attempts = 0;
373
569
  globalThis.fetch = vi.fn().mockImplementation(async () => {
@@ -460,6 +656,7 @@ describe("SSEStreamSubscription v2 batch parsing — record kinds", () => {
460
656
  const sub = new SSEStreamSubscription("http://x", { maxRetries: 0 });
461
657
  const parts = await sub.subscribe().then(drain);
462
658
  expect(parts).toHaveLength(1);
659
+ expect(parts[0].recordId).toBe("p1");
463
660
  expect(parts[0].id).toBe("5");
464
661
  expect(parts[0].chunk).toEqual({ type: "text-delta", delta: "hi" });
465
662
  expect(parts[0].headers).toEqual([]);
@@ -540,4 +737,87 @@ describe("SSEStreamSubscription v2 batch parsing — record kinds", () => {
540
737
  expect(parts[1].chunk.delta).toBe("x");
541
738
  });
542
739
  });
740
+ describe("SSEStreamSubscription start position (from)", () => {
741
+ const originalFetch = globalThis.fetch;
742
+ afterEach(() => {
743
+ globalThis.fetch = originalFetch;
744
+ vi.restoreAllMocks();
745
+ });
746
+ async function drainReader(reader) {
747
+ let next = await reader.read();
748
+ while (!next.done) {
749
+ next = await reader.read();
750
+ }
751
+ }
752
+ function makeClosedSSEResponse(id) {
753
+ const body = new ReadableStream({
754
+ start(controller) {
755
+ controller.enqueue(new TextEncoder().encode(`id: ${id}\ndata: {"hello":1}\n\n`));
756
+ controller.close();
757
+ },
758
+ });
759
+ return new Response(body, {
760
+ status: 200,
761
+ headers: { "Content-Type": "text/event-stream", "X-Stream-Version": "v1" },
762
+ });
763
+ }
764
+ it('from: "latest" sends the start header and no Last-Event-ID on first connect', async () => {
765
+ const seenHeaders = [];
766
+ globalThis.fetch = vi.fn().mockImplementation(async (_url, init) => {
767
+ seenHeaders.push(init?.headers ?? {});
768
+ return makeClosedSSEResponse("42");
769
+ });
770
+ const sub = new SSEStreamSubscription("http://example.test/sse", { from: "latest" });
771
+ await drainReader((await sub.subscribe()).getReader());
772
+ expect(seenHeaders[0][STREAM_START_HEADER]).toBe("latest");
773
+ expect(seenHeaders[0]["Last-Event-ID"]).toBeUndefined();
774
+ });
775
+ it('from: "latest" drops the start header and resumes with Last-Event-ID after a record', async () => {
776
+ let attempts = 0;
777
+ const seenHeaders = [];
778
+ globalThis.fetch = vi.fn().mockImplementation(async (_url, init) => {
779
+ attempts++;
780
+ seenHeaders.push(init?.headers ?? {});
781
+ if (attempts === 1) {
782
+ const body = new ReadableStream({
783
+ start(controller) {
784
+ controller.enqueue(new TextEncoder().encode(`id: 7\ndata: {"first":true}\n\n`));
785
+ init?.signal?.addEventListener("abort", () => controller.error(new Error("aborted")));
786
+ },
787
+ });
788
+ return new Response(body, {
789
+ status: 200,
790
+ headers: { "Content-Type": "text/event-stream", "X-Stream-Version": "v1" },
791
+ });
792
+ }
793
+ return makeClosedSSEResponse("8");
794
+ });
795
+ const sub = new SSEStreamSubscription("http://example.test/sse", {
796
+ from: "latest",
797
+ retryDelayMs: 1,
798
+ maxRetryDelayMs: 5,
799
+ fetchTimeoutMs: 60_000,
800
+ });
801
+ const reader = (await sub.subscribe()).getReader();
802
+ const first = await reader.read();
803
+ expect(first.done).toBe(false);
804
+ sub.forceReconnect();
805
+ await drainReader(reader);
806
+ expect(attempts).toBe(2);
807
+ expect(seenHeaders[0][STREAM_START_HEADER]).toBe("latest");
808
+ expect(seenHeaders[0]["Last-Event-ID"]).toBeUndefined();
809
+ expect(seenHeaders[1][STREAM_START_HEADER]).toBeUndefined();
810
+ expect(seenHeaders[1]["Last-Event-ID"]).toBe("7");
811
+ });
812
+ it("default (no from) never sends the start header", async () => {
813
+ const seenHeaders = [];
814
+ globalThis.fetch = vi.fn().mockImplementation(async (_url, init) => {
815
+ seenHeaders.push(init?.headers ?? {});
816
+ return makeClosedSSEResponse("1");
817
+ });
818
+ const sub = new SSEStreamSubscription("http://example.test/sse", {});
819
+ await drainReader((await sub.subscribe()).getReader());
820
+ expect(seenHeaders[0][STREAM_START_HEADER]).toBeUndefined();
821
+ });
822
+ });
543
823
  //# sourceMappingURL=runStream.test.js.map