@trigger.dev/sdk 4.7.0 → 4.7.2

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 (38) hide show
  1. package/dist/commonjs/imports/ai-runtime-cjs.cjs.map +1 -1
  2. package/dist/commonjs/imports/ai-runtime.js +2 -0
  3. package/dist/commonjs/v3/ai.js +19 -33
  4. package/dist/commonjs/v3/ai.js.map +1 -1
  5. package/dist/commonjs/v3/managedChatResponse.js +3 -15
  6. package/dist/commonjs/v3/managedChatResponse.js.map +1 -1
  7. package/dist/commonjs/v3/test/mock-chat-agent.js +4 -15
  8. package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -1
  9. package/dist/commonjs/v3/toolResultOrder.d.ts +15 -0
  10. package/dist/commonjs/v3/toolResultOrder.js +58 -0
  11. package/dist/commonjs/v3/toolResultOrder.js.map +1 -0
  12. package/dist/commonjs/v3/uiMessageChunks.d.ts +1 -0
  13. package/dist/commonjs/v3/uiMessageChunks.js +119 -0
  14. package/dist/commonjs/v3/uiMessageChunks.js.map +1 -0
  15. package/dist/commonjs/version.js +1 -1
  16. package/dist/esm/imports/ai-runtime.d.ts +2 -2
  17. package/dist/esm/imports/ai-runtime.js +2 -2
  18. package/dist/esm/imports/ai-runtime.js.map +1 -1
  19. package/dist/esm/v3/ai.js +20 -34
  20. package/dist/esm/v3/ai.js.map +1 -1
  21. package/dist/esm/v3/managedChatResponse.js +4 -16
  22. package/dist/esm/v3/managedChatResponse.js.map +1 -1
  23. package/dist/esm/v3/test/mock-chat-agent.js +4 -15
  24. package/dist/esm/v3/test/mock-chat-agent.js.map +1 -1
  25. package/dist/esm/v3/toolResultOrder.d.ts +15 -0
  26. package/dist/esm/v3/toolResultOrder.js +55 -0
  27. package/dist/esm/v3/toolResultOrder.js.map +1 -0
  28. package/dist/esm/v3/uiMessageChunks.d.ts +1 -0
  29. package/dist/esm/v3/uiMessageChunks.js +116 -0
  30. package/dist/esm/v3/uiMessageChunks.js.map +1 -0
  31. package/dist/esm/version.js +1 -1
  32. package/docs/config/config-file.mdx +2 -0
  33. package/docs/deployment/preview-branches.mdx +2 -2
  34. package/docs/github-actions.mdx +24 -14
  35. package/docs/manual-setup.mdx +1 -1
  36. package/docs/self-hosting/env/webapp.mdx +2 -0
  37. package/docs/self-hosting/kubernetes.mdx +14 -3
  38. package/package.json +2 -2
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManagedChatResponse = void 0;
4
4
  exports.createOrderedChatWriter = createOrderedChatWriter;
5
5
  const ai_runtime_js_1 = require("../imports/ai-runtime.js");
6
+ const uiMessageChunks_js_1 = require("./uiMessageChunks.js");
6
7
  /** One ordered output channel for a turn's managed model and data chunks. */
7
8
  class ManagedChatResponse {
8
9
  publish;
@@ -148,22 +149,9 @@ class ManagedChatResponse {
148
149
  if (!this.chunks.length)
149
150
  return options?.message;
150
151
  const chunks = this.chunks.slice(options?.from ?? 0);
151
- let message = options?.message;
152
152
  const original = options?.message ?? this.original;
153
- const stream = new ReadableStream({
154
- start(controller) {
155
- for (const chunk of chunks)
156
- controller.enqueue(chunk);
157
- controller.close();
158
- },
159
- });
160
- for await (const update of (0, ai_runtime_js_1.readUIMessageStream)({
161
- stream,
162
- ...(original ? { message: structuredClone(original) } : {}),
163
- // An error chunk must leave previously streamed content recoverable.
164
- terminateOnError: false,
165
- }))
166
- message = update;
153
+ const message = (await (0, uiMessageChunks_js_1.reduceUIMessageChunks)(chunks, original ? { message: original } : undefined)) ??
154
+ options?.message;
167
155
  return message ? { ...message, id: message.id || this.fallbackId } : undefined;
168
156
  }
169
157
  async close() {
@@ -1 +1 @@
1
- {"version":3,"file":"managedChatResponse.js","sourceRoot":"","sources":["../../../src/v3/managedChatResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managedChatResponse.js","sourceRoot":"","sources":["../../../src/v3/managedChatResponse.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const test_1 = require("@trigger.dev/core/v3/test");
6
6
  const sessions_js_1 = require("../sessions.js");
7
7
  const ai_js_1 = require("../ai.js");
8
8
  const test_session_handle_js_1 = require("./test-session-handle.js");
9
+ const uiMessageChunks_js_1 = require("../uiMessageChunks.js");
9
10
  const CONTROL_CHUNK_TYPES = new Set(["trigger:turn-complete", "trigger:upgrade-required"]);
10
11
  function isControlChunk(chunk) {
11
12
  if (typeof chunk !== "object" || chunk === null)
@@ -504,8 +505,8 @@ function mockChatAgent(agent, options = {}) {
504
505
  /**
505
506
  * Reduce a synthetic UIMessageChunk[] sequence into the UIMessage[] that
506
507
  * the runtime's `replaySessionOutTail` would produce. Splits chunks at
507
- * `start` boundaries and feeds each segment through AI SDK's
508
- * `readUIMessageStream`. The trailing un-finished segment goes through
508
+ * `start` boundaries and reduces each segment with
509
+ * `reduceUIMessageChunks`. The trailing un-finished segment goes through
509
510
  * `cleanupAbortedParts`. Mirrors the production reducer used in
510
511
  * `ai.ts:replaySessionOutTail`.
511
512
  */
@@ -513,10 +514,7 @@ async function reduceChunksToMessages(chunks) {
513
514
  if (chunks.length === 0)
514
515
  return [];
515
516
  const aiModule = (await import("ai"));
516
- const readUIMessageStream = aiModule.readUIMessageStream;
517
517
  const cleanupAbortedParts = aiModule.cleanupAbortedParts;
518
- if (!readUIMessageStream)
519
- return [];
520
518
  const segments = [];
521
519
  let current;
522
520
  for (const chunk of chunks) {
@@ -539,18 +537,9 @@ async function reduceChunksToMessages(chunks) {
539
537
  for (let i = 0; i < segments.length; i++) {
540
538
  const seg = segments[i];
541
539
  const isTrailing = i === segments.length - 1 && !seg.closed;
542
- const segmentStream = new ReadableStream({
543
- start(controller) {
544
- for (const c of seg.chunks)
545
- controller.enqueue(c);
546
- controller.close();
547
- },
548
- });
549
540
  let last;
550
541
  try {
551
- for await (const snapshot of readUIMessageStream({ stream: segmentStream })) {
552
- last = snapshot;
553
- }
542
+ last = await (0, uiMessageChunks_js_1.reduceUIMessageChunks)(seg.chunks);
554
543
  }
555
544
  catch {
556
545
  // Skip malformed segment — tests can assert by inspecting what makes it through.
@@ -1 +1 @@
1
- {"version":3,"file":"mock-chat-agent.js","sourceRoot":"","sources":["../../../../src/v3/test/mock-chat-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-chat-agent.js","sourceRoot":"","sources":["../../../../src/v3/test/mock-chat-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ModelMessage } from "ai";
2
+ /**
3
+ * Put each tool message's results in the order of the calls they answer.
4
+ *
5
+ * Within a turn the AI SDK sends parallel tool results in the order the tools
6
+ * finished, while the next turn's history, converted from the stored UI messages,
7
+ * lists them in call order. A model that binds its thinking to the exact history
8
+ * it was produced after (Claude Sonnet 5.5, Opus 5.5, Fable 5.1) then sees the
9
+ * earlier turn change under it, and the thinking that followed no longer
10
+ * validates. Sending call order from the first step keeps both the same.
11
+ *
12
+ * Results only trade places among their own slots; other parts stay put. Returns
13
+ * the same array when nothing moved.
14
+ */
15
+ export declare function withToolResultsInCallOrder(messages: ModelMessage[]): ModelMessage[];
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withToolResultsInCallOrder = withToolResultsInCallOrder;
4
+ function callOrderOf(message) {
5
+ const order = new Map();
6
+ if (!Array.isArray(message.content))
7
+ return order;
8
+ for (const part of message.content) {
9
+ if (part.type === "tool-call" && typeof part.toolCallId === "string") {
10
+ order.set(part.toolCallId, order.size);
11
+ }
12
+ }
13
+ return order;
14
+ }
15
+ /**
16
+ * Put each tool message's results in the order of the calls they answer.
17
+ *
18
+ * Within a turn the AI SDK sends parallel tool results in the order the tools
19
+ * finished, while the next turn's history, converted from the stored UI messages,
20
+ * lists them in call order. A model that binds its thinking to the exact history
21
+ * it was produced after (Claude Sonnet 5.5, Opus 5.5, Fable 5.1) then sees the
22
+ * earlier turn change under it, and the thinking that followed no longer
23
+ * validates. Sending call order from the first step keeps both the same.
24
+ *
25
+ * Results only trade places among their own slots; other parts stay put. Returns
26
+ * the same array when nothing moved.
27
+ */
28
+ function withToolResultsInCallOrder(messages) {
29
+ let callOrder = new Map();
30
+ let changed = false;
31
+ const ordered = messages.map((message) => {
32
+ if (message.role === "assistant") {
33
+ callOrder = callOrderOf(message);
34
+ return message;
35
+ }
36
+ if (message.role !== "tool" || !Array.isArray(message.content))
37
+ return message;
38
+ const content = message.content;
39
+ const slots = content.flatMap((part, index) => (part.type === "tool-result" ? [index] : []));
40
+ if (slots.length < 2)
41
+ return message;
42
+ const rank = (part) => callOrder.get(part.toolCallId ?? "") ?? Number.MAX_SAFE_INTEGER;
43
+ const results = slots
44
+ .map((slot, index) => ({ part: content[slot], index }))
45
+ .sort((a, b) => rank(a.part) - rank(b.part) || a.index - b.index)
46
+ .map(({ part }) => part);
47
+ if (results.every((part, index) => part === content[slots[index]]))
48
+ return message;
49
+ const next = [...content];
50
+ slots.forEach((slot, index) => {
51
+ next[slot] = results[index];
52
+ });
53
+ changed = true;
54
+ return { ...message, content: next };
55
+ });
56
+ return changed ? ordered : messages;
57
+ }
58
+ //# sourceMappingURL=toolResultOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolResultOrder.js","sourceRoot":"","sources":["../../../src/v3/toolResultOrder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reduceUIMessageChunks = reduceUIMessageChunks;
4
+ const ai_runtime_js_1 = require("../imports/ai-runtime.js");
5
+ /** How long a reduction runs before handing the event loop back to timers and heartbeats. */
6
+ const YIELD_EVERY_MS = 10;
7
+ /**
8
+ * Reduce recorded `UIMessageChunk`s to the final `UIMessage` they build, with
9
+ * the AI SDK's own reducer.
10
+ *
11
+ * `readUIMessageStream` emits a `structuredClone` of the whole message after
12
+ * almost every chunk, so draining it just to keep the last snapshot is
13
+ * quadratic in the length of the message. A long unfinished turn could block
14
+ * the event loop for minutes. `createUIMessageStream`'s `onFinish` runs the
15
+ * same reducer over one mutable state and only hands back the end result,
16
+ * which is cloned once so it shares nothing with the recorded chunks.
17
+ *
18
+ * Chunks are written one at a time, each after the previous one comes out of
19
+ * the stream. Dequeuing from a long web stream queue is linear in its length
20
+ * on Node, so writing a whole turn up front would make the reduction quadratic
21
+ * even without any cloning. This relies on the AI SDK passing every chunk
22
+ * through, which its UI message streams do. Chunks are also copied before they
23
+ * are written, because the AI SDK writes a missing `messageId` onto `start`
24
+ * chunks and stores data chunks as message parts.
25
+ *
26
+ * Matches the last snapshot `readUIMessageStream` would emit, except that
27
+ * `step-start` parts pushed after the last snapshot are kept (they are part of
28
+ * the reducer's final state, which is also what `onFinish` returns on the live
29
+ * path). Returns `undefined` when no chunk would have emitted a snapshot.
30
+ *
31
+ * A malformed chunk (e.g. a delta for a part that never started) errors the
32
+ * stream, while `readUIMessageStream` keeps everything reduced before it.
33
+ * Because only one chunk is in flight, the failing chunk is known exactly, and
34
+ * the chunks before it are reduced again on the same linear path.
35
+ *
36
+ * @param options.message - The assistant message the chunks continue. Not mutated.
37
+ * @internal
38
+ */
39
+ async function reduceUIMessageChunks(chunks, options) {
40
+ let end = chunks.length;
41
+ while (emitsAnySnapshot(chunks, end)) {
42
+ const result = await reducePrefix(chunks, end, options?.message);
43
+ if ("message" in result)
44
+ return result.message && structuredClone(result.message);
45
+ if (result.failedAt >= end)
46
+ return undefined;
47
+ end = result.failedAt;
48
+ }
49
+ return undefined;
50
+ }
51
+ async function reducePrefix(chunks, end, original) {
52
+ let message;
53
+ let read = 0;
54
+ let done = false;
55
+ let resume;
56
+ const stream = (0, ai_runtime_js_1.createUIMessageStream)({
57
+ generateId: () => "",
58
+ ...(original ? { originalMessages: [original] } : {}),
59
+ async execute({ writer }) {
60
+ for (let written = 0; written < end && !done; written++) {
61
+ writer.write({ ...chunks[written] });
62
+ if (read <= written) {
63
+ await new Promise((resolve) => {
64
+ resume = resolve;
65
+ });
66
+ }
67
+ }
68
+ },
69
+ onFinish({ responseMessage }) {
70
+ message = responseMessage;
71
+ },
72
+ });
73
+ const reader = stream.getReader();
74
+ let sliceStart = performance.now();
75
+ try {
76
+ while (!(await reader.read()).done) {
77
+ read++;
78
+ resume?.();
79
+ resume = undefined;
80
+ if (performance.now() - sliceStart >= YIELD_EVERY_MS) {
81
+ await new Promise((resolve) => setImmediate(resolve));
82
+ sliceStart = performance.now();
83
+ }
84
+ }
85
+ }
86
+ catch {
87
+ return { failedAt: read };
88
+ }
89
+ finally {
90
+ done = true;
91
+ resume?.();
92
+ reader.releaseLock();
93
+ }
94
+ return { message };
95
+ }
96
+ function emitsAnySnapshot(chunks, end) {
97
+ for (let index = 0; index < end; index++)
98
+ if (emitsSnapshot(chunks[index]))
99
+ return true;
100
+ return false;
101
+ }
102
+ /** Whether `readUIMessageStream` emits a snapshot after this chunk. */
103
+ function emitsSnapshot(chunk) {
104
+ switch (chunk.type) {
105
+ case "start":
106
+ return chunk.messageId != null || chunk.messageMetadata != null;
107
+ case "finish":
108
+ case "message-metadata":
109
+ return chunk.messageMetadata != null;
110
+ case "start-step":
111
+ case "finish-step":
112
+ case "error":
113
+ case "abort":
114
+ return false;
115
+ default:
116
+ return !(chunk.type.startsWith("data-") && "transient" in chunk && chunk.transient === true);
117
+ }
118
+ }
119
+ //# sourceMappingURL=uiMessageChunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiMessageChunks.js","sourceRoot":"","sources":["../../../src/v3/uiMessageChunks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "4.7.0";
4
+ exports.VERSION = "4.7.2";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- import { convertToModelMessages, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema } from "ai";
2
- export { convertToModelMessages, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, };
1
+ import { convertToModelMessages, createUIMessageStream, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema } from "ai";
2
+ export { convertToModelMessages, createUIMessageStream, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, };
@@ -10,7 +10,7 @@
10
10
  // VALUES only — type-only imports from `ai` erase and don't trip TS1479, so
11
11
  // they stay as direct `import type { … } from "ai"` at their use sites.
12
12
  // @ts-ignore
13
- import { convertToModelMessages, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, } from "ai";
13
+ import { convertToModelMessages, createUIMessageStream, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, } from "ai";
14
14
  // @ts-ignore
15
- export { convertToModelMessages, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, };
15
+ export { convertToModelMessages, createUIMessageStream, dynamicTool, generateId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, stepCountIs, streamText, tool, zodSchema, };
16
16
  //# sourceMappingURL=ai-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-runtime.js","sourceRoot":"","sources":["../../../src/imports/ai-runtime.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AAExE,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,GACV,MAAM,IAAI,CAAC;AAEZ,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,GACV,CAAC"}
1
+ {"version":3,"file":"ai-runtime.js","sourceRoot":"","sources":["../../../src/imports/ai-runtime.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AAExE,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,GACV,MAAM,IAAI,CAAC;AAEZ,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,IAAI,EACJ,SAAS,GACV,CAAC"}
package/dist/esm/v3/ai.js CHANGED
@@ -4,10 +4,12 @@ import { accessoryAttributes, apiClientManager, controlSubtype, generateJWT, get
4
4
  import { trace } from "@opentelemetry/api";
5
5
  import { traceSessionIdle } from "./sessionTracing.js";
6
6
  import { waitForChatRouteAfterIdle } from "./chatRouteWait.js";
7
- import { tool as aiTool, convertToModelMessages, dynamicTool, generateId as generateMessageId, getToolName, isToolUIPart, jsonSchema, readUIMessageStream, streamText as aiStreamText, zodSchema, } from "../imports/ai-runtime.js";
7
+ import { tool as aiTool, convertToModelMessages, dynamicTool, generateId as generateMessageId, getToolName, isToolUIPart, jsonSchema, streamText as aiStreamText, zodSchema, } from "../imports/ai-runtime.js";
8
8
  import { createTranscriptShadow, defaultStorage, diffTranscript, fingerprintMessage, parseTranscriptRuntimeState, restoreModelLane, } from "./transcriptStorage.js";
9
9
  import { responseAfterCompaction } from "./compactionResponse.js";
10
+ import { withToolResultsInCallOrder } from "./toolResultOrder.js";
10
11
  import { ManagedChatResponse, createOrderedChatWriter } from "./managedChatResponse.js";
12
+ import { reduceUIMessageChunks } from "./uiMessageChunks.js";
11
13
  import { convertSteeredMessages, retainStepMessages, steeringMarkers, } from "./steeringContext.js";
12
14
  let transcriptStorageOverride;
13
15
  /**
@@ -196,9 +198,9 @@ export function __setReplaySessionOutTailImplForTests(impl) {
196
198
  * 2. Filter out the agent's control chunks (`type: "trigger:*"`) — they
197
199
  * ride on the same stream as the user-visible UIMessageChunks.
198
200
  * 3. Split chunks at `start`/`finish` boundaries so each segment is a
199
- * single message, then feed each segment through the AI SDK's
200
- * `readUIMessageStream` reducer (the same one `useChat` uses on the
201
- * browser side) and grab the final emitted snapshot.
201
+ * single message, then reduce each segment with the AI SDK's reducer
202
+ * (the same one `useChat` uses on the browser side) via
203
+ * {@link reduceUIMessageChunks}, which builds only the final state.
202
204
  * 4. The trailing message — if it never received a `finish` chunk —
203
205
  * goes through `cleanupAbortedParts` so partial in-flight parts
204
206
  * don't leak into the next turn's accumulator. Drop it entirely
@@ -249,8 +251,8 @@ async function replaySessionOutTail(sessionId, options) {
249
251
  }
250
252
  if (!current) {
251
253
  // Chunk arrived before any `start`. Synthesize a segment so the reducer
252
- // has something to work with — `readUIMessageStream` tolerates a missing
253
- // `start` because we pass `message: undefined`.
254
+ // has something to work with. The reducer tolerates a missing `start`
255
+ // and leaves the message ID empty.
254
256
  current = { chunks: [], closed: false };
255
257
  segments.push(current);
256
258
  }
@@ -266,18 +268,9 @@ async function replaySessionOutTail(sessionId, options) {
266
268
  for (let i = 0; i < segments.length; i++) {
267
269
  const seg = segments[i];
268
270
  const isTrailing = i === segments.length - 1 && !seg.closed;
269
- const segmentStream = new ReadableStream({
270
- start(controller) {
271
- for (const c of seg.chunks)
272
- controller.enqueue(c);
273
- controller.close();
274
- },
275
- });
276
271
  let last;
277
272
  try {
278
- for await (const snapshot of readUIMessageStream({ stream: segmentStream })) {
279
- last = snapshot;
280
- }
273
+ last = await reduceUIMessageChunks(seg.chunks);
281
274
  }
282
275
  catch (error) {
283
276
  // Reducer error — the segment is malformed. Skip it and keep going so a
@@ -310,15 +303,15 @@ async function replaySessionOutTail(sessionId, options) {
310
303
  }
311
304
  /**
312
305
  * Test-only entry point that bypasses `__setReplaySessionOutTailImplForTests`
313
- * and reaches the real `apiClient.subscribeToSessionStream` + chunk-segment
314
- * splitter + `readUIMessageStream` reducer. Pairs with the snapshot
306
+ * and reaches the real `apiClient.readSessionStreamRecords` + chunk-segment
307
+ * splitter + {@link reduceUIMessageChunks} reducer. Pairs with the snapshot
315
308
  * production-path wrappers above. Lets `replay-session-out.test.ts` drive
316
309
  * synthetic chunk sequences through the real reducer to lock down chunk-
317
310
  * stream → `UIMessage[]` correctness — if the AI SDK's chunk semantics
318
311
  * shift in a future version, the test catches it before customers do.
319
312
  *
320
- * Tests should mock `apiClient.subscribeToSessionStream` (e.g. via
321
- * `vi.spyOn(apiClient, ...)`) to feed a `ReadableStream<UIMessageChunk>`.
313
+ * Tests should stub `apiClient.readSessionStreamRecords` to return the
314
+ * recorded chunks as session stream records.
322
315
  *
323
316
  * Not part of the public API.
324
317
  * @internal
@@ -3540,7 +3533,11 @@ function toStreamTextOptions(options, retain = true) {
3540
3533
  });
3541
3534
  locals.set(chatPendingBackgroundKey, pendingBackground);
3542
3535
  }
3543
- return resultMessages ? { messages: resultMessages } : undefined;
3536
+ // 4. Parallel tool results in call order, the order the next turn's history
3537
+ // will list them in. See `withToolResultsInCallOrder`.
3538
+ const base = resultMessages ?? messages;
3539
+ const ordered = withToolResultsInCallOrder(base);
3540
+ return resultMessages || ordered !== base ? { messages: ordered } : undefined;
3544
3541
  };
3545
3542
  }
3546
3543
  if (retain && typeof result.prepareStep === "function") {
@@ -7582,7 +7579,7 @@ function tapUIMessageChunks(source, buffer) {
7582
7579
  * Reconstruct a partial assistant `UIMessage` from the raw chunks that
7583
7580
  * streamed before a failure — the fallback for {@link pipeChatAndCapture}
7584
7581
  * when a transport error abandons the stream before `onFinish` runs. Uses the
7585
- * same `readUIMessageStream` reducer as the boot-time replay path. Returns
7582
+ * same {@link reduceUIMessageChunks} reducer as the boot-time replay path. Returns
7586
7583
  * `undefined` if there's nothing to assemble or the reducer throws.
7587
7584
  */
7588
7585
  async function assemblePartialFromChunks(chunks) {
@@ -7593,18 +7590,7 @@ async function assemblePartialFromChunks(chunks) {
7593
7590
  if (relevant.length === 0)
7594
7591
  return undefined;
7595
7592
  try {
7596
- const stream = new ReadableStream({
7597
- start(controller) {
7598
- for (const chunk of relevant)
7599
- controller.enqueue(chunk);
7600
- controller.close();
7601
- },
7602
- });
7603
- let last;
7604
- for await (const message of readUIMessageStream({ stream })) {
7605
- last = message;
7606
- }
7607
- return last;
7593
+ return await reduceUIMessageChunks(relevant);
7608
7594
  }
7609
7595
  catch {
7610
7596
  return undefined;