@trigger.dev/sdk 0.0.0-prerelease-20260909071038 → 0.0.0-prerelease-streamfix-20260909094302

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 (142) hide show
  1. package/dist/commonjs/imports/ai-runtime-cjs.cjs.map +1 -1
  2. package/dist/commonjs/imports/ai-runtime.js +0 -2
  3. package/dist/commonjs/v3/ai-shared.d.ts +0 -15
  4. package/dist/commonjs/v3/ai-shared.js +1 -35
  5. package/dist/commonjs/v3/ai-shared.js.map +1 -1
  6. package/dist/commonjs/v3/ai.d.ts +25 -275
  7. package/dist/commonjs/v3/ai.js +308 -1283
  8. package/dist/commonjs/v3/ai.js.map +1 -1
  9. package/dist/commonjs/v3/chat-client.d.ts +2 -11
  10. package/dist/commonjs/v3/chat-client.js +111 -227
  11. package/dist/commonjs/v3/chat-client.js.map +1 -1
  12. package/dist/commonjs/v3/chat-react.d.ts +0 -88
  13. package/dist/commonjs/v3/chat-react.js +1 -130
  14. package/dist/commonjs/v3/chat-react.js.map +1 -1
  15. package/dist/commonjs/v3/chat-server.d.ts +6 -42
  16. package/dist/commonjs/v3/chat-server.js +7 -52
  17. package/dist/commonjs/v3/chat-server.js.map +1 -1
  18. package/dist/commonjs/v3/chat.d.ts +10 -92
  19. package/dist/commonjs/v3/chat.js +73 -328
  20. package/dist/commonjs/v3/chat.js.map +1 -1
  21. package/dist/commonjs/v3/sessions.d.ts +2 -15
  22. package/dist/commonjs/v3/sessions.js +1 -12
  23. package/dist/commonjs/v3/sessions.js.map +1 -1
  24. package/dist/commonjs/v3/shared.js +36 -30
  25. package/dist/commonjs/v3/shared.js.map +1 -1
  26. package/dist/commonjs/v3/test/index.d.ts +0 -1
  27. package/dist/commonjs/v3/test/index.js +1 -3
  28. package/dist/commonjs/v3/test/index.js.map +1 -1
  29. package/dist/commonjs/v3/test/mock-chat-agent.d.ts +4 -47
  30. package/dist/commonjs/v3/test/mock-chat-agent.js +4 -115
  31. package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -1
  32. package/dist/commonjs/v3/test/test-session-handle.js +0 -6
  33. package/dist/commonjs/v3/test/test-session-handle.js.map +1 -1
  34. package/dist/commonjs/version.js +1 -1
  35. package/dist/esm/imports/ai-runtime.d.ts +2 -2
  36. package/dist/esm/imports/ai-runtime.js +2 -2
  37. package/dist/esm/imports/ai-runtime.js.map +1 -1
  38. package/dist/esm/v3/ai-shared.d.ts +0 -15
  39. package/dist/esm/v3/ai-shared.js +0 -33
  40. package/dist/esm/v3/ai-shared.js.map +1 -1
  41. package/dist/esm/v3/ai.d.ts +25 -275
  42. package/dist/esm/v3/ai.js +305 -1275
  43. package/dist/esm/v3/ai.js.map +1 -1
  44. package/dist/esm/v3/chat-client.d.ts +2 -11
  45. package/dist/esm/v3/chat-client.js +112 -228
  46. package/dist/esm/v3/chat-client.js.map +1 -1
  47. package/dist/esm/v3/chat-react.d.ts +0 -88
  48. package/dist/esm/v3/chat-react.js +1 -127
  49. package/dist/esm/v3/chat-react.js.map +1 -1
  50. package/dist/esm/v3/chat-server.d.ts +6 -42
  51. package/dist/esm/v3/chat-server.js +8 -53
  52. package/dist/esm/v3/chat-server.js.map +1 -1
  53. package/dist/esm/v3/chat.d.ts +10 -92
  54. package/dist/esm/v3/chat.js +74 -329
  55. package/dist/esm/v3/chat.js.map +1 -1
  56. package/dist/esm/v3/sessions.d.ts +2 -15
  57. package/dist/esm/v3/sessions.js +1 -11
  58. package/dist/esm/v3/sessions.js.map +1 -1
  59. package/dist/esm/v3/shared.js +23 -17
  60. package/dist/esm/v3/shared.js.map +1 -1
  61. package/dist/esm/v3/test/index.d.ts +0 -1
  62. package/dist/esm/v3/test/index.js +0 -1
  63. package/dist/esm/v3/test/index.js.map +1 -1
  64. package/dist/esm/v3/test/mock-chat-agent.d.ts +4 -47
  65. package/dist/esm/v3/test/mock-chat-agent.js +6 -117
  66. package/dist/esm/v3/test/mock-chat-agent.js.map +1 -1
  67. package/dist/esm/v3/test/test-session-handle.js +0 -6
  68. package/dist/esm/v3/test/test-session-handle.js.map +1 -1
  69. package/dist/esm/version.js +1 -1
  70. package/docs/ai-chat/actions.mdx +23 -55
  71. package/docs/ai-chat/anatomy.mdx +3 -3
  72. package/docs/ai-chat/backend.mdx +48 -125
  73. package/docs/ai-chat/background-injection.mdx +19 -69
  74. package/docs/ai-chat/client-protocol.mdx +4 -5
  75. package/docs/ai-chat/compaction.mdx +7 -13
  76. package/docs/ai-chat/custom-agents.mdx +0 -23
  77. package/docs/ai-chat/fast-starts.mdx +20 -27
  78. package/docs/ai-chat/frontend.mdx +14 -19
  79. package/docs/ai-chat/lifecycle-hooks.mdx +2 -6
  80. package/docs/ai-chat/migrating-from-a-route-handler.mdx +14 -16
  81. package/docs/ai-chat/patterns/database-persistence.mdx +2 -6
  82. package/docs/ai-chat/patterns/persistence-and-replay.mdx +23 -34
  83. package/docs/ai-chat/patterns/skills.mdx +10 -7
  84. package/docs/ai-chat/patterns/version-upgrades.mdx +6 -79
  85. package/docs/ai-chat/pending-messages.mdx +3 -3
  86. package/docs/ai-chat/prompt-caching.mdx +25 -23
  87. package/docs/ai-chat/quick-start.mdx +11 -11
  88. package/docs/ai-chat/reference.mdx +9 -67
  89. package/docs/ai-chat/sessions.mdx +1 -6
  90. package/docs/ai-chat/testing.mdx +1 -2
  91. package/docs/ai-chat/tools.mdx +13 -18
  92. package/docs/ai-chat/upgrade-guide.mdx +2 -2
  93. package/docs/apikeys.mdx +45 -27
  94. package/docs/config/extensions/syncEnvVars.mdx +0 -6
  95. package/docs/deploy-environment-variables.mdx +2 -23
  96. package/docs/deployment/overview.mdx +8 -4
  97. package/docs/deployment/preview-branches.mdx +4 -4
  98. package/docs/deployment/version-skew-protection.mdx +0 -62
  99. package/docs/manual-setup.mdx +7 -7
  100. package/docs/mcp-tools.mdx +0 -9
  101. package/docs/quick-start.mdx +3 -3
  102. package/docs/realtime/auth.mdx +1 -1
  103. package/docs/self-hosting/security.mdx +0 -5
  104. package/docs/tasks/scheduled.mdx +0 -24
  105. package/docs/triggering.mdx +1 -1
  106. package/package.json +4 -4
  107. package/skills/trigger-authoring-chat-agent/SKILL.md +29 -41
  108. package/skills/trigger-chat-agent-advanced/SKILL.md +12 -31
  109. package/dist/commonjs/v3/chatSnapshotIo.d.ts +0 -2
  110. package/dist/commonjs/v3/chatSnapshotIo.js +0 -174
  111. package/dist/commonjs/v3/chatSnapshotIo.js.map +0 -1
  112. package/dist/commonjs/v3/chatVersionSkew.d.ts +0 -12
  113. package/dist/commonjs/v3/chatVersionSkew.js +0 -30
  114. package/dist/commonjs/v3/chatVersionSkew.js.map +0 -1
  115. package/dist/commonjs/v3/externalDeploymentId.d.ts +0 -23
  116. package/dist/commonjs/v3/externalDeploymentId.js +0 -43
  117. package/dist/commonjs/v3/externalDeploymentId.js.map +0 -1
  118. package/dist/commonjs/v3/test/transcript-storage-tests.d.ts +0 -40
  119. package/dist/commonjs/v3/test/transcript-storage-tests.js +0 -258
  120. package/dist/commonjs/v3/test/transcript-storage-tests.js.map +0 -1
  121. package/dist/commonjs/v3/transcriptStorage.d.ts +0 -229
  122. package/dist/commonjs/v3/transcriptStorage.js +0 -321
  123. package/dist/commonjs/v3/transcriptStorage.js.map +0 -1
  124. package/dist/esm/v3/chatSnapshotIo.d.ts +0 -2
  125. package/dist/esm/v3/chatSnapshotIo.js +0 -166
  126. package/dist/esm/v3/chatSnapshotIo.js.map +0 -1
  127. package/dist/esm/v3/chatVersionSkew.d.ts +0 -12
  128. package/dist/esm/v3/chatVersionSkew.js +0 -27
  129. package/dist/esm/v3/chatVersionSkew.js.map +0 -1
  130. package/dist/esm/v3/externalDeploymentId.d.ts +0 -23
  131. package/dist/esm/v3/externalDeploymentId.js +0 -38
  132. package/dist/esm/v3/externalDeploymentId.js.map +0 -1
  133. package/dist/esm/v3/test/transcript-storage-tests.d.ts +0 -40
  134. package/dist/esm/v3/test/transcript-storage-tests.js +0 -255
  135. package/dist/esm/v3/test/transcript-storage-tests.js.map +0 -1
  136. package/dist/esm/v3/transcriptStorage.d.ts +0 -229
  137. package/dist/esm/v3/transcriptStorage.js +0 -309
  138. package/dist/esm/v3/transcriptStorage.js.map +0 -1
  139. package/docs/ai-chat/patterns/native-compaction.mdx +0 -310
  140. package/docs/ai-chat/transcript-storage.mdx +0 -233
  141. package/docs/reports.mdx +0 -157
  142. package/docs/troubleshooting-zod.mdx +0 -158
@@ -15,10 +15,9 @@
15
15
  * await chat.close();
16
16
  * ```
17
17
  */
18
- import type { Task } from "@trigger.dev/core/v3";
18
+ import type { SessionTriggerConfig, Task } from "@trigger.dev/core/v3";
19
19
  import type { ModelMessage, UIMessage, UIMessageChunk } from "ai";
20
20
  import type { ChatTaskWirePayload } from "./ai-shared.js";
21
- import { type SessionTriggerConfigInput } from "./sessions.js";
22
21
  /** Extract the client data (metadata) type from a chat agent task. */
23
22
  export type InferChatClientData<T> = T extends Task<any, ChatTaskWirePayload<any, infer TMetadata>, any> ? unknown extends TMetadata ? Record<string, unknown> : TMetadata : Record<string, unknown>;
24
23
  /** Extract the UIMessage type from a chat agent task. */
@@ -78,7 +77,7 @@ export type AgentChatOptions<TAgent = unknown> = {
78
77
  * Default trigger config used when starting a new session for this
79
78
  * chat. Folded into `sessions.start({...triggerConfig})` body.
80
79
  */
81
- triggerConfig?: SessionTriggerConfigInput;
80
+ triggerConfig?: SessionTriggerConfig;
82
81
  /**
83
82
  * Override the Trigger.dev API base URL for the chat's `.in/append` and
84
83
  * `.out` SSE endpoints. String form applies to both; pass a function to
@@ -181,14 +180,6 @@ export declare class AgentChat<TAgent = unknown> {
181
180
  private readonly baseURLResolver;
182
181
  private readonly fetchOverride;
183
182
  private state;
184
- /**
185
- * Which subscription armed `skipToTurnComplete`, so only that stream ends at
186
- * the gated boundary. A later stream reads the same boundary as stale history
187
- * and keeps reading to its own turn. Deliberately not in `state`: a stop does
188
- * not outlive the process that issued it.
189
- */
190
- private streamSeq;
191
- private stoppedStreamId;
192
183
  constructor(options: AgentChatOptions<TAgent>);
193
184
  /** The conversation ID. */
194
185
  get id(): string;
@@ -19,7 +19,7 @@
19
19
  // build can `require` ESM-only `ai@7` (see ../imports/ai-runtime.ts).
20
20
  import { readUIMessageStream } from "../imports/ai-runtime.js";
21
21
  import { apiClientManager, controlSubtype, SSEStreamSubscription, TRIGGER_CONTROL_SUBTYPE, } from "@trigger.dev/core/v3";
22
- import { chatRunTags, MAX_EOF_RESUBSCRIBES, slimSubmitMessageForWire, waitBeforeEofResubscribe, } from "./ai-shared.js";
22
+ import { chatRunTags, slimSubmitMessageForWire } from "./ai-shared.js";
23
23
  import { sessions } from "./sessions.js";
24
24
  /**
25
25
  * A single turn's response stream from an agent.
@@ -164,14 +164,6 @@ export class AgentChat {
164
164
  baseURLResolver;
165
165
  fetchOverride;
166
166
  state;
167
- /**
168
- * Which subscription armed `skipToTurnComplete`, so only that stream ends at
169
- * the gated boundary. A later stream reads the same boundary as stale history
170
- * and keeps reading to its own turn. Deliberately not in `state`: a stop does
171
- * not outlive the process that issued it.
172
- */
173
- streamSeq = 0;
174
- stoppedStreamId;
175
167
  constructor(options) {
176
168
  this.taskId = options.agent;
177
169
  this.chatId = options.id ?? crypto.randomUUID();
@@ -193,7 +185,6 @@ export class AgentChat {
193
185
  this.state = {
194
186
  lastEventId: options.session?.lastEventId,
195
187
  started: hydrated,
196
- pinRefreshed: !hydrated,
197
188
  };
198
189
  }
199
190
  /** The conversation ID. */
@@ -260,7 +251,7 @@ export class AgentChat {
260
251
  metadata: this.clientData,
261
252
  };
262
253
  await this.appendInputChunk(serializeInputChunk({ kind: "message", payload }));
263
- return this.subscribeToSessionStream(options?.abortSignal, { resumeAfterEof: true });
254
+ return this.subscribeToSessionStream(options?.abortSignal);
264
255
  }
265
256
  /** Send a steering message during an active stream. */
266
257
  async steer(text) {
@@ -289,7 +280,6 @@ export class AgentChat {
289
280
  if (!this.state.started)
290
281
  return;
291
282
  this.state.skipToTurnComplete = true;
292
- this.stoppedStreamId = this.streamSeq;
293
283
  await this.appendInputChunk(serializeInputChunk({ kind: "stop" })).catch(() => { });
294
284
  }
295
285
  /**
@@ -362,9 +352,7 @@ export class AgentChat {
362
352
  catch {
363
353
  throw new Error("Failed to send action. The session may have ended.");
364
354
  }
365
- const rawStream = this.subscribeToSessionStream(options?.abortSignal, {
366
- resumeAfterEof: true,
367
- });
355
+ const rawStream = this.subscribeToSessionStream(options?.abortSignal);
368
356
  return new ChatStream(rawStream);
369
357
  }
370
358
  /** Close the conversation — agent exits its loop gracefully. */
@@ -451,7 +439,7 @@ export class AgentChat {
451
439
  * same session.
452
440
  */
453
441
  async ensureStarted(options) {
454
- if (this.state.started && this.state.pinRefreshed)
442
+ if (this.state.started)
455
443
  return;
456
444
  const idleTimeoutInSeconds = options?.idleTimeoutInSeconds ?? this.triggerConfigDefault?.idleTimeoutInSeconds;
457
445
  const triggerConfig = {
@@ -473,20 +461,6 @@ export class AgentChat {
473
461
  ...(this.triggerConfigDefault?.maxAttempts !== undefined
474
462
  ? { maxAttempts: this.triggerConfigDefault.maxAttempts }
475
463
  : {}),
476
- ...(this.triggerConfigDefault?.maxDuration !== undefined
477
- ? { maxDuration: this.triggerConfigDefault.maxDuration }
478
- : {}),
479
- ...(this.triggerConfigDefault?.region ? { region: this.triggerConfigDefault.region } : {}),
480
- ...(this.triggerConfigDefault?.lockToVersion
481
- ? { lockToVersion: this.triggerConfigDefault.lockToVersion }
482
- : {}),
483
- ...(this.triggerConfigDefault?.ttl !== undefined
484
- ? { ttl: this.triggerConfigDefault.ttl }
485
- : {}),
486
- // Not truthiness: `null` opts out and must reach the resolver in `sessions.start`.
487
- ...(this.triggerConfigDefault?.externalDeploymentId !== undefined
488
- ? { externalDeploymentId: this.triggerConfigDefault.externalDeploymentId }
489
- : {}),
490
464
  ...(idleTimeoutInSeconds !== undefined ? { idleTimeoutInSeconds } : {}),
491
465
  };
492
466
  const created = await sessions.start({
@@ -495,28 +469,14 @@ export class AgentChat {
495
469
  taskIdentifier: this.taskId,
496
470
  triggerConfig,
497
471
  });
498
- const wasInitialStart = !this.state.started;
499
472
  this.state.started = true;
500
- this.state.pinRefreshed = true;
501
- // `onTriggered` is documented as the initial start, so a restored session
502
- // refreshing its config does not fire it: the caller handed us that
503
- // session, and a hook that writes a row would write it again on every
504
- // request that rehydrates the conversation.
505
- if (wasInitialStart) {
506
- await this.onTriggered?.({
507
- runId: created.runId,
508
- chatId: this.chatId,
509
- });
510
- }
473
+ await this.onTriggered?.({
474
+ runId: created.runId,
475
+ chatId: this.chatId,
476
+ });
511
477
  }
512
478
  subscribeToSessionStream(abortSignal, options) {
513
479
  const state = this.state;
514
- const streamId = ++this.streamSeq;
515
- // A stop was outstanding when I subscribed and it isn't mine: my window
516
- // replays the stopped turn's tail, so I drop records up to and including
517
- // its boundary. Captured per subscription — the stopped stream is still
518
- // live and may consume the shared seed before I reach that record.
519
- let skipStaleBoundary = state.skipToTurnComplete === true && this.stoppedStreamId !== streamId;
520
480
  const accessToken = apiClientManager.accessToken ?? "";
521
481
  const onTurnComplete = this.onTurnComplete;
522
482
  const chatId = this.chatId;
@@ -544,208 +504,132 @@ export class AgentChat {
544
504
  const combinedSignal = abortSignal
545
505
  ? AbortSignal.any([abortSignal, internalAbort.signal])
546
506
  : internalAbort.signal;
547
- // Detached once the stream ends (see the `finally` below): a caller reusing
548
- // one signal across turns would otherwise stack listeners, and a late abort
549
- // would post a stop that gates the next turn.
550
- const onExternalAbort = () => {
551
- if (options?.sendStopOnAbort !== false) {
552
- state.skipToTurnComplete = true;
553
- this.stoppedStreamId = streamId;
554
- this.appendInputChunk(serializeInputChunk({ kind: "stop" })).catch(() => { });
555
- }
556
- internalAbort.abort();
557
- };
558
- abortSignal?.addEventListener("abort", onExternalAbort, { once: true });
507
+ if (abortSignal) {
508
+ abortSignal.addEventListener("abort", () => {
509
+ if (options?.sendStopOnAbort !== false) {
510
+ state.skipToTurnComplete = true;
511
+ this.appendInputChunk(serializeInputChunk({ kind: "stop" })).catch(() => { });
512
+ }
513
+ internalAbort.abort();
514
+ }, { once: true });
515
+ }
559
516
  const streamUrl = `${this.resolveBaseURL("out")}/realtime/v1/sessions/${encodeURIComponent(chatId)}/out`;
560
517
  return new ReadableStream({
561
518
  start: async (controller) => {
562
- let eofResubscribes = 0;
563
- let sawLiveTurn = false;
564
- const closeController = () => {
565
- try {
566
- controller.close();
567
- }
568
- catch {
569
- // Controller may already be closed
570
- }
571
- };
572
- const openSubscription = () => new SSEStreamSubscription(streamUrl, {
573
- headers: {
574
- Authorization: `Bearer ${accessToken}`,
575
- // Preview-env sessions are branch-scoped (see appendInputChunk).
576
- ...(apiClientManager.branchName
577
- ? { "x-trigger-branch": apiClientManager.branchName }
578
- : {}),
579
- ...(options?.peekSettled ? { "X-Peek-Settled": "1" } : {}),
580
- },
581
- signal: combinedSignal,
582
- timeoutInSeconds: this.streamTimeoutSeconds,
583
- lastEventId: state.lastEventId,
584
- fetchClient: sseFetchClient,
585
- });
586
519
  try {
587
- while (true) {
588
- const subscription = openSubscription();
589
- const sseStream = await subscription.subscribe();
590
- const reader = sseStream.getReader();
591
- try {
592
- while (true) {
593
- const next = await reader.read();
594
- if (next.done) {
595
- break;
596
- }
597
- if (combinedSignal.aborted) {
598
- internalAbort.abort();
599
- await reader.cancel();
600
- closeController();
601
- return;
602
- }
603
- const value = next.value;
604
- if (value.id)
605
- state.lastEventId = value.id;
606
- // Any record re-earns the resubscribe budget: a clean EOF is
607
- // the normal end of every long-poll window, so a long turn
608
- // spanning many windows must not exhaust it.
609
- eofResubscribes = 0;
610
- // Trigger control records (turn-complete, upgrade-required)
611
- // route by header — see `client-protocol.mdx`. Their bodies
612
- // are empty; everything substantive is on `value.headers`.
613
- //
614
- // Cross-version bridge: an old agent SDK still writing
615
- // turn-complete / upgrade-required as `chunk.type` data
616
- // records would otherwise stall this loop. Fall back to
617
- // the legacy chunk-type form when no header is present
618
- // so the deploy-skew window between an `AgentChat`
619
- // consumer and a not-yet-redeployed agent doesn't hang.
620
- let controlValue = controlSubtype(value.headers);
621
- if (!controlValue && value.chunk && typeof value.chunk === "object") {
622
- const chunk = value.chunk;
623
- if (chunk.type === "trigger:turn-complete") {
624
- controlValue = TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE;
625
- }
626
- else if (chunk.type === "trigger:upgrade-required") {
627
- controlValue = TRIGGER_CONTROL_SUBTYPE.UPGRADE_REQUIRED;
628
- }
629
- else if (typeof chunk.type === "string" && chunk.type.startsWith("trigger:")) {
630
- // Future / unknown `trigger:*` legacy control type —
631
- // drop so it doesn't leak as a UIMessageChunk.
632
- continue;
633
- }
634
- }
635
- // Stale tail of a turn someone else stopped: swallow it and
636
- // keep reading to my own turn.
637
- if (skipStaleBoundary) {
638
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE) {
639
- skipStaleBoundary = false;
640
- state.skipToTurnComplete = false;
641
- }
642
- continue;
520
+ const subscription = new SSEStreamSubscription(streamUrl, {
521
+ headers: {
522
+ Authorization: `Bearer ${accessToken}`,
523
+ // Preview-env sessions are branch-scoped (see appendInputChunk).
524
+ ...(apiClientManager.branchName
525
+ ? { "x-trigger-branch": apiClientManager.branchName }
526
+ : {}),
527
+ ...(options?.peekSettled ? { "X-Peek-Settled": "1" } : {}),
528
+ },
529
+ signal: combinedSignal,
530
+ timeoutInSeconds: this.streamTimeoutSeconds,
531
+ lastEventId: state.lastEventId,
532
+ fetchClient: sseFetchClient,
533
+ });
534
+ const sseStream = await subscription.subscribe();
535
+ const reader = sseStream.getReader();
536
+ try {
537
+ while (true) {
538
+ const next = await reader.read();
539
+ if (next.done) {
540
+ controller.close();
541
+ return;
542
+ }
543
+ if (combinedSignal.aborted) {
544
+ internalAbort.abort();
545
+ await reader.cancel();
546
+ controller.close();
547
+ return;
548
+ }
549
+ const value = next.value;
550
+ if (value.id)
551
+ state.lastEventId = value.id;
552
+ // Trigger control records (turn-complete, upgrade-required)
553
+ // route by header — see `client-protocol.mdx`. Their bodies
554
+ // are empty; everything substantive is on `value.headers`.
555
+ //
556
+ // Cross-version bridge: an old agent SDK still writing
557
+ // turn-complete / upgrade-required as `chunk.type` data
558
+ // records would otherwise stall this loop. Fall back to
559
+ // the legacy chunk-type form when no header is present
560
+ // so the deploy-skew window between an `AgentChat`
561
+ // consumer and a not-yet-redeployed agent doesn't hang.
562
+ let controlValue = controlSubtype(value.headers);
563
+ if (!controlValue && value.chunk && typeof value.chunk === "object") {
564
+ const chunk = value.chunk;
565
+ if (chunk.type === "trigger:turn-complete") {
566
+ controlValue = TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE;
643
567
  }
644
- // I am the stopped stream, so this turn is over at its
645
- // boundary: close rather than resume into windows it will
646
- // never fill. Keyed on the id alone, so it holds however far
647
- // the follow-up subscription has got.
648
- if (this.stoppedStreamId === streamId) {
649
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE) {
650
- state.skipToTurnComplete = false;
651
- this.stoppedStreamId = undefined;
652
- internalAbort.abort();
653
- closeController();
654
- return;
655
- }
656
- continue;
568
+ else if (chunk.type === "trigger:upgrade-required") {
569
+ controlValue = TRIGGER_CONTROL_SUBTYPE.UPGRADE_REQUIRED;
657
570
  }
658
- // Both handover markers mean the turn carries on in a
659
- // successor run, so they count as a live turn: its chunks
660
- // may only arrive in a later window.
661
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.UPGRADE_REQUIRED) {
662
- // Server has already triggered the new run via
663
- // `end-and-continue`; v2's chunks arrive on the same
664
- // S2 stream. Filter the marker for cleanliness and
665
- // keep reading.
666
- sawLiveTurn = true;
571
+ else if (typeof chunk.type === "string" && chunk.type.startsWith("trigger:")) {
572
+ // Future / unknown `trigger:*` legacy control type —
573
+ // drop so it doesn't leak as a UIMessageChunk.
667
574
  continue;
668
575
  }
669
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.PENDING_VERSION) {
670
- sawLiveTurn = true;
671
- continue;
576
+ }
577
+ if (state.skipToTurnComplete) {
578
+ if (controlValue === TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE) {
579
+ state.skipToTurnComplete = false;
672
580
  }
673
- // A standalone session-closed record is written after
674
- // turn-complete, so only a reconnect ever reads it. The
675
- // conversation is over: end the stream, no stop, no error.
676
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.SESSION_CLOSED) {
677
- internalAbort.abort();
678
- closeController();
679
- return;
581
+ continue;
582
+ }
583
+ if (controlValue === TRIGGER_CONTROL_SUBTYPE.UPGRADE_REQUIRED) {
584
+ // Server has already triggered the new run via
585
+ // `end-and-continue`; v2's chunks arrive on the same
586
+ // S2 stream. Filter the marker for cleanliness and
587
+ // keep reading.
588
+ continue;
589
+ }
590
+ if (controlValue === TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE) {
591
+ // Customer's callback may be async (e.g. persisting
592
+ // lastEventId to a DB). Wrap so a rejected Promise
593
+ // doesn't surface as an unhandled rejection — that
594
+ // would crash Node under `--unhandled-rejections=throw`.
595
+ Promise.resolve(onTurnComplete?.({
596
+ chatId,
597
+ lastEventId: state.lastEventId,
598
+ })).catch(() => { });
599
+ internalAbort.abort();
600
+ try {
601
+ controller.close();
680
602
  }
681
- if (controlValue === TRIGGER_CONTROL_SUBTYPE.TURN_COMPLETE) {
682
- // Customer's callback may be async (e.g. persisting
683
- // lastEventId to a DB). Wrap so a rejected Promise
684
- // doesn't surface as an unhandled rejection — that
685
- // would crash Node under `--unhandled-rejections=throw`.
686
- Promise.resolve(onTurnComplete?.({
687
- chatId,
688
- lastEventId: state.lastEventId,
689
- })).catch(() => { });
690
- internalAbort.abort();
691
- closeController();
692
- return;
603
+ catch {
604
+ // Controller may already be closed
693
605
  }
694
- // Data record — `value.chunk` is the parsed UIMessageChunk
695
- // (the SSE parser does the JSON envelope unwrap). Drop
696
- // empty/malformed payloads defensively.
697
- if (value.chunk == null)
698
- continue;
699
- // Parts and the handover markers above are the only evidence of
700
- // a live turn. Unknown control records stay neutral: they are no
701
- // reason for a reconnect to pin another long-poll window.
702
- sawLiveTurn = true;
703
- controller.enqueue(value.chunk);
606
+ return;
704
607
  }
608
+ // Data record — `value.chunk` is the parsed UIMessageChunk
609
+ // (the SSE parser does the JSON envelope unwrap). Drop
610
+ // empty/malformed payloads defensively.
611
+ if (value.chunk == null)
612
+ continue;
613
+ controller.enqueue(value.chunk);
705
614
  }
706
- catch (readError) {
707
- reader.releaseLock();
708
- throw readError;
709
- }
615
+ }
616
+ catch (readError) {
710
617
  reader.releaseLock();
711
- // The body ended without a turn-complete. A turn is in flight
712
- // either by construction (the send paths) or because records have
713
- // already flowed on this stream — so unless the server says the
714
- // session settled we lost the window mid-turn, and resubscribing
715
- // from the last event id beats truncating the turn. A `reconnect()`
716
- // that never saw a record can't tell a live turn from a dead
717
- // session, so it closes rather than pin another long-poll window.
718
- const turnInFlight = options?.resumeAfterEof || sawLiveTurn;
719
- if (!turnInFlight || subscription.sessionSettled || combinedSignal.aborted) {
720
- closeController();
721
- return;
722
- }
723
- if (eofResubscribes >= MAX_EOF_RESUBSCRIBES) {
724
- throw new Error("Chat stream ended before the turn completed (reconnect budget exhausted).");
725
- }
726
- eofResubscribes++;
727
- await waitBeforeEofResubscribe(eofResubscribes, combinedSignal);
728
- if (combinedSignal.aborted) {
729
- closeController();
730
- return;
731
- }
618
+ throw readError;
732
619
  }
733
620
  }
734
621
  catch (error) {
735
622
  if (error instanceof Error && error.name === "AbortError") {
736
- closeController();
623
+ try {
624
+ controller.close();
625
+ }
626
+ catch {
627
+ // Controller may already be closed
628
+ }
737
629
  return;
738
630
  }
739
631
  controller.error(error);
740
632
  }
741
- finally {
742
- abortSignal?.removeEventListener("abort", onExternalAbort);
743
- }
744
- },
745
- // A consumer that stops reading must also stop the resubscribe loop —
746
- // otherwise it keeps reopening a subscription nobody is draining.
747
- cancel: () => {
748
- internalAbort.abort();
749
633
  },
750
634
  });
751
635
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat-client.js","sourceRoot":"","sources":["../../../src/v3/chat-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-client.js","sourceRoot":"","sources":["../../../src/v3/chat-client.ts"],"names":[],"mappings":"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"}