@trigger.dev/sdk 0.0.0-prerelease-20260908122921 → 0.0.0-prerelease-20260909071038
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.
- package/dist/commonjs/v3/ai-shared.d.ts +15 -0
- package/dist/commonjs/v3/ai-shared.js +35 -1
- package/dist/commonjs/v3/ai-shared.js.map +1 -1
- package/dist/commonjs/v3/ai.d.ts +76 -9
- package/dist/commonjs/v3/ai.js +316 -222
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/chat-client.d.ts +8 -0
- package/dist/commonjs/v3/chat-client.js +199 -109
- package/dist/commonjs/v3/chat-client.js.map +1 -1
- package/dist/commonjs/v3/chat-react.d.ts +54 -0
- package/dist/commonjs/v3/chat-react.js +83 -0
- package/dist/commonjs/v3/chat-react.js.map +1 -1
- package/dist/commonjs/v3/chat.d.ts +11 -0
- package/dist/commonjs/v3/chat.js +36 -27
- package/dist/commonjs/v3/chat.js.map +1 -1
- package/dist/commonjs/v3/chatSnapshotIo.d.ts +2 -0
- package/dist/commonjs/v3/chatSnapshotIo.js +174 -0
- package/dist/commonjs/v3/chatSnapshotIo.js.map +1 -0
- package/dist/commonjs/v3/test/index.d.ts +1 -0
- package/dist/commonjs/v3/test/index.js +3 -1
- package/dist/commonjs/v3/test/index.js.map +1 -1
- package/dist/commonjs/v3/test/mock-chat-agent.d.ts +4 -4
- package/dist/commonjs/v3/test/mock-chat-agent.js +25 -4
- package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -1
- package/dist/commonjs/v3/test/transcript-storage-tests.d.ts +40 -0
- package/dist/commonjs/v3/test/transcript-storage-tests.js +258 -0
- package/dist/commonjs/v3/test/transcript-storage-tests.js.map +1 -0
- package/dist/commonjs/v3/transcriptStorage.d.ts +229 -0
- package/dist/commonjs/v3/transcriptStorage.js +321 -0
- package/dist/commonjs/v3/transcriptStorage.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/ai-shared.d.ts +15 -0
- package/dist/esm/v3/ai-shared.js +33 -0
- package/dist/esm/v3/ai-shared.js.map +1 -1
- package/dist/esm/v3/ai.d.ts +76 -9
- package/dist/esm/v3/ai.js +306 -217
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/chat-client.d.ts +8 -0
- package/dist/esm/v3/chat-client.js +200 -110
- package/dist/esm/v3/chat-client.js.map +1 -1
- package/dist/esm/v3/chat-react.d.ts +54 -0
- package/dist/esm/v3/chat-react.js +81 -0
- package/dist/esm/v3/chat-react.js.map +1 -1
- package/dist/esm/v3/chat.d.ts +11 -0
- package/dist/esm/v3/chat.js +36 -27
- package/dist/esm/v3/chat.js.map +1 -1
- package/dist/esm/v3/chatSnapshotIo.d.ts +2 -0
- package/dist/esm/v3/chatSnapshotIo.js +166 -0
- package/dist/esm/v3/chatSnapshotIo.js.map +1 -0
- package/dist/esm/v3/test/index.d.ts +1 -0
- package/dist/esm/v3/test/index.js +1 -0
- package/dist/esm/v3/test/index.js.map +1 -1
- package/dist/esm/v3/test/mock-chat-agent.d.ts +4 -4
- package/dist/esm/v3/test/mock-chat-agent.js +25 -4
- package/dist/esm/v3/test/mock-chat-agent.js.map +1 -1
- package/dist/esm/v3/test/transcript-storage-tests.d.ts +40 -0
- package/dist/esm/v3/test/transcript-storage-tests.js +255 -0
- package/dist/esm/v3/test/transcript-storage-tests.js.map +1 -0
- package/dist/esm/v3/transcriptStorage.d.ts +229 -0
- package/dist/esm/v3/transcriptStorage.js +309 -0
- package/dist/esm/v3/transcriptStorage.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/docs/ai-chat/actions.mdx +2 -2
- package/docs/ai-chat/background-injection.mdx +2 -0
- package/docs/ai-chat/compaction.mdx +2 -0
- package/docs/ai-chat/frontend.mdx +2 -0
- package/docs/ai-chat/lifecycle-hooks.mdx +6 -2
- package/docs/ai-chat/patterns/database-persistence.mdx +6 -2
- package/docs/ai-chat/patterns/persistence-and-replay.mdx +34 -23
- package/docs/ai-chat/reference.mdx +56 -5
- package/docs/ai-chat/transcript-storage.mdx +233 -0
- package/docs/config/extensions/syncEnvVars.mdx +6 -0
- package/docs/deploy-environment-variables.mdx +23 -2
- package/package.json +2 -2
- package/skills/trigger-authoring-chat-agent/SKILL.md +3 -2
- package/skills/trigger-chat-agent-advanced/SKILL.md +5 -5
|
@@ -181,6 +181,14 @@ export declare class AgentChat<TAgent = unknown> {
|
|
|
181
181
|
private readonly baseURLResolver;
|
|
182
182
|
private readonly fetchOverride;
|
|
183
183
|
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;
|
|
184
192
|
constructor(options: AgentChatOptions<TAgent>);
|
|
185
193
|
/** The conversation ID. */
|
|
186
194
|
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, slimSubmitMessageForWire } from "./ai-shared.js";
|
|
22
|
+
import { chatRunTags, MAX_EOF_RESUBSCRIBES, slimSubmitMessageForWire, waitBeforeEofResubscribe, } 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,6 +164,14 @@ 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;
|
|
167
175
|
constructor(options) {
|
|
168
176
|
this.taskId = options.agent;
|
|
169
177
|
this.chatId = options.id ?? crypto.randomUUID();
|
|
@@ -252,7 +260,7 @@ export class AgentChat {
|
|
|
252
260
|
metadata: this.clientData,
|
|
253
261
|
};
|
|
254
262
|
await this.appendInputChunk(serializeInputChunk({ kind: "message", payload }));
|
|
255
|
-
return this.subscribeToSessionStream(options?.abortSignal);
|
|
263
|
+
return this.subscribeToSessionStream(options?.abortSignal, { resumeAfterEof: true });
|
|
256
264
|
}
|
|
257
265
|
/** Send a steering message during an active stream. */
|
|
258
266
|
async steer(text) {
|
|
@@ -281,6 +289,7 @@ export class AgentChat {
|
|
|
281
289
|
if (!this.state.started)
|
|
282
290
|
return;
|
|
283
291
|
this.state.skipToTurnComplete = true;
|
|
292
|
+
this.stoppedStreamId = this.streamSeq;
|
|
284
293
|
await this.appendInputChunk(serializeInputChunk({ kind: "stop" })).catch(() => { });
|
|
285
294
|
}
|
|
286
295
|
/**
|
|
@@ -353,7 +362,9 @@ export class AgentChat {
|
|
|
353
362
|
catch {
|
|
354
363
|
throw new Error("Failed to send action. The session may have ended.");
|
|
355
364
|
}
|
|
356
|
-
const rawStream = this.subscribeToSessionStream(options?.abortSignal
|
|
365
|
+
const rawStream = this.subscribeToSessionStream(options?.abortSignal, {
|
|
366
|
+
resumeAfterEof: true,
|
|
367
|
+
});
|
|
357
368
|
return new ChatStream(rawStream);
|
|
358
369
|
}
|
|
359
370
|
/** Close the conversation — agent exits its loop gracefully. */
|
|
@@ -500,6 +511,12 @@ export class AgentChat {
|
|
|
500
511
|
}
|
|
501
512
|
subscribeToSessionStream(abortSignal, options) {
|
|
502
513
|
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;
|
|
503
520
|
const accessToken = apiClientManager.accessToken ?? "";
|
|
504
521
|
const onTurnComplete = this.onTurnComplete;
|
|
505
522
|
const chatId = this.chatId;
|
|
@@ -527,135 +544,208 @@ export class AgentChat {
|
|
|
527
544
|
const combinedSignal = abortSignal
|
|
528
545
|
? AbortSignal.any([abortSignal, internalAbort.signal])
|
|
529
546
|
: internalAbort.signal;
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
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 });
|
|
539
559
|
const streamUrl = `${this.resolveBaseURL("out")}/realtime/v1/sessions/${encodeURIComponent(chatId)}/out`;
|
|
540
560
|
return new ReadableStream({
|
|
541
561
|
start: async (controller) => {
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
Authorization: `Bearer ${accessToken}`,
|
|
546
|
-
// Preview-env sessions are branch-scoped (see appendInputChunk).
|
|
547
|
-
...(apiClientManager.branchName
|
|
548
|
-
? { "x-trigger-branch": apiClientManager.branchName }
|
|
549
|
-
: {}),
|
|
550
|
-
...(options?.peekSettled ? { "X-Peek-Settled": "1" } : {}),
|
|
551
|
-
},
|
|
552
|
-
signal: combinedSignal,
|
|
553
|
-
timeoutInSeconds: this.streamTimeoutSeconds,
|
|
554
|
-
lastEventId: state.lastEventId,
|
|
555
|
-
fetchClient: sseFetchClient,
|
|
556
|
-
});
|
|
557
|
-
const sseStream = await subscription.subscribe();
|
|
558
|
-
const reader = sseStream.getReader();
|
|
562
|
+
let eofResubscribes = 0;
|
|
563
|
+
let sawLiveTurn = false;
|
|
564
|
+
const closeController = () => {
|
|
559
565
|
try {
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
const
|
|
588
|
-
if (
|
|
589
|
-
|
|
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
|
+
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;
|
|
590
602
|
}
|
|
591
|
-
|
|
592
|
-
|
|
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
|
+
}
|
|
593
634
|
}
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
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
|
+
}
|
|
597
642
|
continue;
|
|
598
643
|
}
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
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;
|
|
603
657
|
}
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
//
|
|
620
|
-
//
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
try {
|
|
627
|
-
controller.close();
|
|
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;
|
|
667
|
+
continue;
|
|
668
|
+
}
|
|
669
|
+
if (controlValue === TRIGGER_CONTROL_SUBTYPE.PENDING_VERSION) {
|
|
670
|
+
sawLiveTurn = true;
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
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;
|
|
628
680
|
}
|
|
629
|
-
|
|
630
|
-
//
|
|
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;
|
|
631
693
|
}
|
|
632
|
-
|
|
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);
|
|
633
704
|
}
|
|
634
|
-
// Data record — `value.chunk` is the parsed UIMessageChunk
|
|
635
|
-
// (the SSE parser does the JSON envelope unwrap). Drop
|
|
636
|
-
// empty/malformed payloads defensively.
|
|
637
|
-
if (value.chunk == null)
|
|
638
|
-
continue;
|
|
639
|
-
controller.enqueue(value.chunk);
|
|
640
705
|
}
|
|
641
|
-
|
|
642
|
-
|
|
706
|
+
catch (readError) {
|
|
707
|
+
reader.releaseLock();
|
|
708
|
+
throw readError;
|
|
709
|
+
}
|
|
643
710
|
reader.releaseLock();
|
|
644
|
-
|
|
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
|
+
}
|
|
645
732
|
}
|
|
646
733
|
}
|
|
647
734
|
catch (error) {
|
|
648
735
|
if (error instanceof Error && error.name === "AbortError") {
|
|
649
|
-
|
|
650
|
-
controller.close();
|
|
651
|
-
}
|
|
652
|
-
catch {
|
|
653
|
-
// Controller may already be closed
|
|
654
|
-
}
|
|
736
|
+
closeController();
|
|
655
737
|
return;
|
|
656
738
|
}
|
|
657
739
|
controller.error(error);
|
|
658
740
|
}
|
|
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();
|
|
659
749
|
},
|
|
660
750
|
});
|
|
661
751
|
}
|
|
@@ -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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"}
|
|
@@ -16,6 +16,60 @@ export type UseTriggerChatTransportOptions<TTask extends AnyTask = AnyTask> = Om
|
|
|
16
16
|
};
|
|
17
17
|
export type { InferChatUIMessage };
|
|
18
18
|
export type { ChatTransportEvent, ChatTransportSendSource } from "./chat.js";
|
|
19
|
+
/** What a `chat.createLoadTranscriptAction` action returns, as `useLoadTranscript` reads it. */
|
|
20
|
+
export type LoadTranscriptResult<TUIMessage extends UIMessage = UIMessage> = {
|
|
21
|
+
messages: TUIMessage[];
|
|
22
|
+
cursors?: {
|
|
23
|
+
lastOutEventId?: string;
|
|
24
|
+
lastInEventId?: string;
|
|
25
|
+
};
|
|
26
|
+
nextCursor?: string;
|
|
27
|
+
};
|
|
28
|
+
export type UseLoadTranscriptOptions = {
|
|
29
|
+
/**
|
|
30
|
+
* When given, the transport's resume cursor for this chat is seeded from
|
|
31
|
+
* the loaded transcript, so the live subscription opens just past the
|
|
32
|
+
* persisted history instead of replaying it. Only applies once the
|
|
33
|
+
* transport knows the session (from `sessions` or after `start`).
|
|
34
|
+
*/
|
|
35
|
+
transport?: TriggerChatTransport;
|
|
36
|
+
/** Page size passed to the action. */
|
|
37
|
+
limit?: number;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Move the transport's resume cursor for `chatId` to the transcript's
|
|
41
|
+
* `lastOutEventId`, so the live subscription opens just past the persisted
|
|
42
|
+
* history. Applied to the session now if it exists, otherwise held by the
|
|
43
|
+
* transport until the session is created, so a load that resolves before the
|
|
44
|
+
* session exists still moves the cursor. A no-op when the transcript carries
|
|
45
|
+
* no cursor. Returns whether a cursor was provided.
|
|
46
|
+
*/
|
|
47
|
+
export declare function seedTranscriptCursor(transport: Pick<TriggerChatTransport, "seedResumeCursor">, chatId: string, cursors: {
|
|
48
|
+
lastOutEventId?: string;
|
|
49
|
+
} | undefined): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Load a conversation's history through a server action created with
|
|
52
|
+
* `chat.createLoadTranscriptAction`, for rendering before the chat connects.
|
|
53
|
+
*
|
|
54
|
+
* Re-runs when `chatId` changes. Pass `undefined` to load nothing.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* const { messages, isLoading } = useLoadTranscript(chatId, loadTranscript, { transport });
|
|
59
|
+
* if (isLoading) return <Spinner />;
|
|
60
|
+
* return <ChatView chatId={chatId} initialMessages={messages} transport={transport} />;
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function useLoadTranscript<TUIMessage extends UIMessage = UIMessage>(chatId: string | undefined, load: (params: {
|
|
64
|
+
chatId: string;
|
|
65
|
+
limit?: number;
|
|
66
|
+
}) => Promise<LoadTranscriptResult<TUIMessage>>, options?: UseLoadTranscriptOptions): {
|
|
67
|
+
messages: TUIMessage[];
|
|
68
|
+
isLoading: boolean;
|
|
69
|
+
error: Error | undefined;
|
|
70
|
+
/** The id to pass as `before` to the action for the page before this one. */
|
|
71
|
+
nextCursor: string | undefined;
|
|
72
|
+
};
|
|
19
73
|
/**
|
|
20
74
|
* React hook that creates and memoizes a `TriggerChatTransport` instance.
|
|
21
75
|
*
|
|
@@ -24,6 +24,87 @@
|
|
|
24
24
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
25
25
|
import { TriggerChatTransport } from "./chat.js";
|
|
26
26
|
import { PENDING_MESSAGE_INJECTED_TYPE, } from "./ai-shared.js";
|
|
27
|
+
/**
|
|
28
|
+
* Move the transport's resume cursor for `chatId` to the transcript's
|
|
29
|
+
* `lastOutEventId`, so the live subscription opens just past the persisted
|
|
30
|
+
* history. Applied to the session now if it exists, otherwise held by the
|
|
31
|
+
* transport until the session is created, so a load that resolves before the
|
|
32
|
+
* session exists still moves the cursor. A no-op when the transcript carries
|
|
33
|
+
* no cursor. Returns whether a cursor was provided.
|
|
34
|
+
*/
|
|
35
|
+
export function seedTranscriptCursor(transport, chatId, cursors) {
|
|
36
|
+
const lastEventId = cursors?.lastOutEventId;
|
|
37
|
+
if (!lastEventId)
|
|
38
|
+
return false;
|
|
39
|
+
transport.seedResumeCursor(chatId, lastEventId);
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Load a conversation's history through a server action created with
|
|
44
|
+
* `chat.createLoadTranscriptAction`, for rendering before the chat connects.
|
|
45
|
+
*
|
|
46
|
+
* Re-runs when `chatId` changes. Pass `undefined` to load nothing.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* const { messages, isLoading } = useLoadTranscript(chatId, loadTranscript, { transport });
|
|
51
|
+
* if (isLoading) return <Spinner />;
|
|
52
|
+
* return <ChatView chatId={chatId} initialMessages={messages} transport={transport} />;
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export function useLoadTranscript(chatId, load, options) {
|
|
56
|
+
const [state, setState] = useState({
|
|
57
|
+
chatId,
|
|
58
|
+
messages: [],
|
|
59
|
+
isLoading: chatId !== undefined,
|
|
60
|
+
error: undefined,
|
|
61
|
+
nextCursor: undefined,
|
|
62
|
+
});
|
|
63
|
+
const loadRef = useRef(load);
|
|
64
|
+
loadRef.current = load;
|
|
65
|
+
const transportRef = useRef(options?.transport);
|
|
66
|
+
transportRef.current = options?.transport;
|
|
67
|
+
const limit = options?.limit;
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (chatId === undefined) {
|
|
70
|
+
setState({ chatId, messages: [], isLoading: false, error: undefined, nextCursor: undefined });
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
let cancelled = false;
|
|
74
|
+
setState({ chatId, messages: [], isLoading: true, error: undefined, nextCursor: undefined });
|
|
75
|
+
loadRef
|
|
76
|
+
.current({ chatId, ...(limit !== undefined ? { limit } : {}) })
|
|
77
|
+
.then((result) => {
|
|
78
|
+
if (cancelled)
|
|
79
|
+
return;
|
|
80
|
+
if (transportRef.current) {
|
|
81
|
+
seedTranscriptCursor(transportRef.current, chatId, result.cursors);
|
|
82
|
+
}
|
|
83
|
+
setState({
|
|
84
|
+
chatId,
|
|
85
|
+
messages: result.messages,
|
|
86
|
+
isLoading: false,
|
|
87
|
+
error: undefined,
|
|
88
|
+
nextCursor: result.nextCursor,
|
|
89
|
+
});
|
|
90
|
+
})
|
|
91
|
+
.catch((cause) => {
|
|
92
|
+
if (cancelled)
|
|
93
|
+
return;
|
|
94
|
+
const error = cause instanceof Error ? cause : new Error(String(cause));
|
|
95
|
+
setState({ chatId, messages: [], isLoading: false, error, nextCursor: undefined });
|
|
96
|
+
});
|
|
97
|
+
return () => {
|
|
98
|
+
cancelled = true;
|
|
99
|
+
};
|
|
100
|
+
}, [chatId, limit]);
|
|
101
|
+
return {
|
|
102
|
+
messages: state.chatId === chatId ? state.messages : [],
|
|
103
|
+
isLoading: state.chatId === chatId ? state.isLoading : chatId !== undefined,
|
|
104
|
+
error: state.chatId === chatId ? state.error : undefined,
|
|
105
|
+
nextCursor: state.chatId === chatId ? state.nextCursor : undefined,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
27
108
|
/**
|
|
28
109
|
* React hook that creates and memoizes a `TriggerChatTransport` instance.
|
|
29
110
|
*
|