@convex-dev/agent 0.1.18-alpha.1 → 0.5.0-alpha.1

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 (71) hide show
  1. package/dist/client/createTool.d.ts +30 -9
  2. package/dist/client/createTool.d.ts.map +1 -1
  3. package/dist/client/createTool.js +24 -9
  4. package/dist/client/createTool.js.map +1 -1
  5. package/dist/client/definePlaygroundAPI.d.ts +174 -199
  6. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  7. package/dist/client/definePlaygroundAPI.js +12 -19
  8. package/dist/client/definePlaygroundAPI.js.map +1 -1
  9. package/dist/client/files.js +4 -4
  10. package/dist/client/files.js.map +1 -1
  11. package/dist/client/index.d.ts +166 -63
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/index.js +75 -45
  14. package/dist/client/index.js.map +1 -1
  15. package/dist/client/search.d.ts +27 -6
  16. package/dist/client/search.d.ts.map +1 -1
  17. package/dist/client/search.js.map +1 -1
  18. package/dist/client/streaming.d.ts +3 -2
  19. package/dist/client/streaming.d.ts.map +1 -1
  20. package/dist/client/streaming.js.map +1 -1
  21. package/dist/client/types.d.ts +27 -41
  22. package/dist/client/types.d.ts.map +1 -1
  23. package/dist/component/_generated/api.d.ts +436 -73
  24. package/dist/component/messages.d.ts +246 -43
  25. package/dist/component/messages.d.ts.map +1 -1
  26. package/dist/component/messages.js +2 -2
  27. package/dist/component/messages.js.map +1 -1
  28. package/dist/component/schema.d.ts +1453 -152
  29. package/dist/component/schema.d.ts.map +1 -1
  30. package/dist/component/schema.js +2 -2
  31. package/dist/component/schema.js.map +1 -1
  32. package/dist/component/streams.d.ts +180 -6
  33. package/dist/component/streams.d.ts.map +1 -1
  34. package/dist/mapping.d.ts +12 -14
  35. package/dist/mapping.d.ts.map +1 -1
  36. package/dist/mapping.js +187 -47
  37. package/dist/mapping.js.map +1 -1
  38. package/dist/react/deltas.d.ts +0 -3
  39. package/dist/react/deltas.d.ts.map +1 -1
  40. package/dist/react/deltas.js +140 -44
  41. package/dist/react/deltas.js.map +1 -1
  42. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  43. package/dist/react/optimisticallySendMessage.js +2 -1
  44. package/dist/react/optimisticallySendMessage.js.map +1 -1
  45. package/dist/react/toUIMessages.d.ts +5 -4
  46. package/dist/react/toUIMessages.d.ts.map +1 -1
  47. package/dist/react/toUIMessages.js +103 -40
  48. package/dist/react/toUIMessages.js.map +1 -1
  49. package/dist/validators.d.ts +1798 -259
  50. package/dist/validators.d.ts.map +1 -1
  51. package/dist/validators.js +79 -15
  52. package/dist/validators.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/client/createTool.ts +68 -37
  55. package/src/client/definePlaygroundAPI.ts +24 -25
  56. package/src/client/files.ts +4 -4
  57. package/src/client/index.test.ts +14 -12
  58. package/src/client/index.ts +134 -94
  59. package/src/client/search.ts +3 -2
  60. package/src/client/streaming.ts +4 -3
  61. package/src/client/types.ts +34 -70
  62. package/src/component/_generated/api.d.ts +436 -73
  63. package/src/component/messages.ts +2 -2
  64. package/src/component/schema.ts +2 -2
  65. package/src/mapping.ts +228 -75
  66. package/src/react/deltas.ts +165 -52
  67. package/src/react/optimisticallySendMessage.ts +4 -1
  68. package/src/react/toUIMessages.test.ts +154 -36
  69. package/src/react/toUIMessages.ts +136 -57
  70. package/src/validators.test.ts +2 -99
  71. package/src/validators.ts +95 -17
package/dist/mapping.js CHANGED
@@ -1,13 +1,11 @@
1
- import { convertToCoreMessages, coreMessageSchema, } from "ai";
2
- import { assert } from "convex-helpers";
1
+ import {} from "ai";
3
2
  import { MAX_FILE_SIZE, storeFile } from "./client/files.js";
3
+ import { omit } from "convex-helpers";
4
4
  export async function serializeMessage(ctx, component, messageWithId) {
5
- const { id: _, experimental_providerMetadata, ...message } = messageWithId;
5
+ const message = "id" in messageWithId ? omit(messageWithId, ["id"]) : messageWithId;
6
6
  const { content, fileIds } = await serializeContent(ctx, component, message.content);
7
7
  return {
8
8
  message: {
9
- // for backwards compatibility
10
- providerOptions: experimental_providerMetadata,
11
9
  ...message,
12
10
  content,
13
11
  },
@@ -20,6 +18,41 @@ export function deserializeMessage(message) {
20
18
  content: deserializeContent(message.content),
21
19
  };
22
20
  }
21
+ export function serializeUsage(usage) {
22
+ return {
23
+ promptTokens: usage.inputTokens ?? 0,
24
+ completionTokens: usage.outputTokens ?? 0,
25
+ totalTokens: usage.totalTokens ?? 0,
26
+ reasoningTokens: usage.reasoningTokens,
27
+ };
28
+ }
29
+ export function deserializeUsage(usage) {
30
+ return {
31
+ inputTokens: usage.promptTokens,
32
+ outputTokens: usage.completionTokens,
33
+ totalTokens: usage.totalTokens,
34
+ reasoningTokens: usage.reasoningTokens,
35
+ cachedInputTokens: usage.cachedInputTokens,
36
+ };
37
+ }
38
+ export function serializeWarnings(warnings) {
39
+ if (!warnings) {
40
+ return undefined;
41
+ }
42
+ return warnings.map((warning) => {
43
+ if (warning.type !== "unsupported-setting") {
44
+ return warning;
45
+ }
46
+ return {
47
+ ...warning,
48
+ setting: warning.setting.toString(),
49
+ };
50
+ });
51
+ }
52
+ export function deserializeWarnings(warnings) {
53
+ // We don't need to do anythign here for now
54
+ return warnings;
55
+ }
23
56
  export async function serializeNewMessagesInStep(ctx, component, step, metadata) {
24
57
  // If there are tool results, there's another message with the tool results
25
58
  // ref: https://github.com/vercel/ai/blob/main/packages/ai/core/generate-text/to-response-messages.ts
@@ -27,12 +60,13 @@ export async function serializeNewMessagesInStep(ctx, component, step, metadata)
27
60
  model: metadata.model,
28
61
  provider: metadata.provider,
29
62
  providerMetadata: step.providerMetadata,
30
- reasoning: step.reasoning,
31
- reasoningDetails: step.reasoningDetails,
32
- usage: step.usage,
33
- warnings: step.warnings,
63
+ reasoning: step.reasoningText,
64
+ reasoningDetails: step.reasoning,
65
+ usage: serializeUsage(step.usage),
66
+ warnings: serializeWarnings(step.warnings),
34
67
  finishReason: step.finishReason,
35
- sources: step.stepType === "tool-result" ? undefined : step.sources,
68
+ // Only store the sources on one message
69
+ sources: step.toolResults.length === 0 ? step.sources : undefined,
36
70
  };
37
71
  const toolFields = {
38
72
  sources: step.sources,
@@ -69,8 +103,8 @@ export async function serializeObjectResult(ctx, component, result, metadata) {
69
103
  providerMetadata: result.providerMetadata,
70
104
  finishReason: result.finishReason,
71
105
  text,
72
- usage: result.usage,
73
- warnings: result.warnings,
106
+ usage: serializeUsage(result.usage),
107
+ warnings: serializeWarnings(result.warnings),
74
108
  fileIds,
75
109
  },
76
110
  ],
@@ -81,32 +115,90 @@ export async function serializeContent(ctx, component, content) {
81
115
  return { content };
82
116
  }
83
117
  const fileIds = [];
84
- const serialized = await Promise.all(content.map(async ({ experimental_providerMetadata, ...rest }) => {
85
- const part = { providerOptions: experimental_providerMetadata, ...rest };
118
+ function getMimeType(part) {
119
+ if ("mediaType" in part) {
120
+ return part.mediaType;
121
+ }
122
+ if ("mimeType" in part) {
123
+ return part.mimeType;
124
+ }
125
+ return undefined;
126
+ }
127
+ const serialized = await Promise.all(content.map(async (part) => {
86
128
  switch (part.type) {
129
+ case "text": {
130
+ return {
131
+ type: part.type,
132
+ text: part.text,
133
+ providerOptions: part.providerOptions,
134
+ };
135
+ }
87
136
  case "image": {
88
137
  let image = serializeDataOrUrl(part.image);
89
138
  if (image instanceof ArrayBuffer &&
90
139
  image.byteLength > MAX_FILE_SIZE) {
91
140
  const { file } = await storeFile(ctx, component, new Blob([image], {
92
- type: part.mimeType || guessMimeType(image),
141
+ type: getMimeType(part) || guessMimeType(image),
93
142
  }));
94
143
  image = file.url;
95
144
  fileIds.push(file.fileId);
96
145
  }
97
- return { ...part, image };
146
+ return {
147
+ type: part.type,
148
+ mimeType: getMimeType(part),
149
+ providerOptions: part.providerOptions,
150
+ image,
151
+ };
98
152
  }
99
153
  case "file": {
100
154
  let data = serializeDataOrUrl(part.data);
101
155
  if (data instanceof ArrayBuffer && data.byteLength > MAX_FILE_SIZE) {
102
- const { file } = await storeFile(ctx, component, new Blob([data], { type: part.mimeType }));
156
+ const { file } = await storeFile(ctx, component, new Blob([data], { type: getMimeType(part) }));
103
157
  data = file.url;
104
158
  fileIds.push(file.fileId);
105
159
  }
106
- return { ...part, data };
160
+ return {
161
+ type: part.type,
162
+ data,
163
+ filename: part.filename,
164
+ mimeType: getMimeType(part),
165
+ providerOptions: part.providerOptions,
166
+ };
167
+ }
168
+ case "tool-call": {
169
+ const args = "input" in part ? part.input : part.args;
170
+ return {
171
+ type: part.type,
172
+ args: args ?? null,
173
+ toolCallId: part.toolCallId,
174
+ toolName: part.toolName,
175
+ providerOptions: part.providerOptions,
176
+ providerExecuted: part.providerExecuted,
177
+ };
107
178
  }
108
179
  case "tool-result": {
109
- return { ...part, result: part.result ?? null };
180
+ const result = "output" in part ? part.output : part.result;
181
+ return {
182
+ type: part.type,
183
+ result: result ?? null,
184
+ toolCallId: part.toolCallId,
185
+ toolName: part.toolName,
186
+ providerOptions: part.providerOptions,
187
+ };
188
+ }
189
+ case "reasoning": {
190
+ return {
191
+ type: part.type,
192
+ text: part.text,
193
+ providerOptions: part.providerOptions,
194
+ };
195
+ }
196
+ case "redacted-reasoning": {
197
+ return {
198
+ type: part.type,
199
+ data: part.data,
200
+ providerOptions: part.providerOptions,
201
+ };
110
202
  }
111
203
  default:
112
204
  return part;
@@ -123,10 +215,58 @@ export function deserializeContent(content) {
123
215
  }
124
216
  return content.map((part) => {
125
217
  switch (part.type) {
218
+ case "text":
219
+ return {
220
+ type: part.type,
221
+ text: part.text,
222
+ providerOptions: part.providerOptions,
223
+ };
126
224
  case "image":
127
- return { ...part, image: deserializeUrl(part.image) };
225
+ return {
226
+ type: part.type,
227
+ image: deserializeUrl(part.image),
228
+ mediaType: part.mimeType,
229
+ providerOptions: part.providerOptions,
230
+ };
128
231
  case "file":
129
- return { ...part, data: deserializeUrl(part.data) };
232
+ return {
233
+ type: part.type,
234
+ data: deserializeUrl(part.data),
235
+ filename: part.filename,
236
+ mediaType: part.mimeType,
237
+ providerOptions: part.providerOptions,
238
+ };
239
+ case "tool-call":
240
+ return {
241
+ type: part.type,
242
+ input: part.args ?? null,
243
+ providerExecuted: part.providerExecuted,
244
+ toolCallId: part.toolCallId,
245
+ toolName: part.toolName,
246
+ providerOptions: part.providerOptions,
247
+ };
248
+ case "tool-result":
249
+ return {
250
+ type: part.type,
251
+ output: part.result ?? null,
252
+ toolCallId: part.toolCallId,
253
+ toolName: part.toolName,
254
+ providerOptions: part.providerOptions,
255
+ };
256
+ case "reasoning":
257
+ return {
258
+ type: part.type,
259
+ text: part.text,
260
+ providerMetadata: part.providerOptions,
261
+ state: part.state,
262
+ };
263
+ case "redacted-reasoning":
264
+ // TODO: should we just drop this?
265
+ return {
266
+ type: "reasoning",
267
+ text: part.data,
268
+ providerMetadata: part.providerOptions,
269
+ };
130
270
  default:
131
271
  return part;
132
272
  }
@@ -233,37 +373,37 @@ export function deserializeUrl(urlOrString) {
233
373
  return urlOrString;
234
374
  }
235
375
  export function toUIFilePart(part) {
236
- const dataOrUrl = serializeDataOrUrl(part.type === "image" ? part.image : part.data);
376
+ const dataOrUrl = part.type === "image" ? part.image : part.data;
377
+ const url = dataOrUrl instanceof ArrayBuffer
378
+ ? encodeBase64(dataOrUrl)
379
+ : dataOrUrl.toString();
237
380
  return {
238
381
  type: "file",
239
- data: dataOrUrl instanceof ArrayBuffer ? encodeBase64(dataOrUrl) : dataOrUrl,
240
- mimeType: part.mimeType ?? guessMimeType(dataOrUrl),
382
+ mediaType: part.mediaType,
383
+ filename: part.type === "file" ? part.filename : undefined,
384
+ url,
385
+ providerMetadata: part.providerOptions,
241
386
  };
242
387
  }
243
388
  function encodeBase64(data) {
244
389
  return Buffer.from(data).toString("base64");
245
390
  }
246
- export function promptOrMessagesToCoreMessages(args) {
247
- const messages = [];
248
- assert(args.prompt || args.messages || args.promptMessageId, "messages or prompt or promptMessageId is required");
249
- if (args.messages) {
250
- if (args.messages.some((m) => typeof m === "object" &&
251
- m !== null &&
252
- (m.role === "data" || // UI-only role
253
- "toolInvocations" in m || // UI-specific field
254
- "parts" in m || // UI-specific field
255
- "experimental_attachments" in m))) {
256
- messages.push(...convertToCoreMessages(args.messages));
257
- }
258
- else {
259
- messages.push(...coreMessageSchema.array().parse(args.messages));
260
- }
261
- }
262
- // If they specify both a promptMessageId and a prompt, we will replace the
263
- // promptMessageId message with the prompt later.
264
- if (args.prompt && !args.promptMessageId) {
265
- messages.push({ role: "user", content: args.prompt });
266
- }
267
- return messages;
268
- }
391
+ // Currently unused
392
+ // export function toModelMessages(args: {
393
+ // messages?: ModelMessage[] | AIMessageWithoutId[];
394
+ // }): ModelMessage[] {
395
+ // const messages: ModelMessage[] = [];
396
+ // if (args.messages) {
397
+ // if (
398
+ // args.messages.every(
399
+ // (m) => typeof m === "object" && m !== null && "parts" in m,
400
+ // )
401
+ // ) {
402
+ // messages.push(...convertToModelMessages(args.messages));
403
+ // } else {
404
+ // messages.push(...modelMessageSchema.array().parse(args.messages));
405
+ // }
406
+ // }
407
+ // return messages;
408
+ // }
269
409
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAYlB,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAoB7D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAA+B,EAC/B,SAAyB,EACzB,aAA4C;IAE5C,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,6BAA6B,EAAE,GAAG,OAAO,EAAE,GAAG,aAAa,CAAC;IAC3E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CACjD,GAAG,EACH,SAAS,EACT,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,OAAO;QACL,OAAO,EAAE;YACP,8BAA8B;YAC9B,eAAe,EAAE,6BAA6B;YAC9C,GAAG,OAAO;YACV,OAAO;SACa;QACtB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;KAC9B,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAc,EACd,SAAyB,EACzB,IAAuB,EACvB,QAA6C;IAE7C,2EAA2E;IAC3E,qGAAqG;IACrG,MAAM,eAAe,GAAG;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,OAAO,EAAE,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;KACpE,CAAC;IACF,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;IACF,MAAM,QAAQ,GAA0B,MAAM,OAAO,CAAC,GAAG,CACvD,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAgC,EAAE;QAC1D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CACjD,GAAG,EACH,SAAS,EACT,aAAa,CACd,CAAC;QACF,OAAO;YACL,OAAO;YACP,0EAA0E;YAC1E,gDAAgD;YAChD,kBAAkB;YAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAc,EACd,SAAyB,EACzB,MAAqC,EACrC,QAA6C;IAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE;QAClE,IAAI,EAAE,WAAoB;QAC1B,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,OAAO;gBACP,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACtB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO;aACR;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAA+B,EAC/B,SAAyB,EACzB,OAAgB;IAEhB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,6BAA6B,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,EAAE,eAAe,EAAE,6BAA6B,EAAE,GAAG,IAAI,EAAE,CAAC;QACzE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,IACE,KAAK,YAAY,WAAW;oBAC5B,KAAK,CAAC,UAAU,GAAG,aAAa,EAChC,CAAC;oBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAC9B,GAAG,EACH,SAAS,EACT,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE;wBAChB,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC;qBAC5C,CAAC,CACH,CAAC;oBACF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;oBACnE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAS,CAC9B,GAAG,EACH,SAAS,EACT,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAC1C,CAAC;oBACF,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAClD,CAAC;YACD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO;QACL,OAAO,EAAE,UAA+B;QACxC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA0B;IAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM;gBACT,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAY,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAyB;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QAC1C,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC;QAAE,OAAO,0BAA0B,CAAC;IAE1D,4DAA4D;IAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5E,kDAAkD;IAClD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtE,wBAAwB;IACxB,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC,CAAC,qBAAqB;IACrE,IACE,UAAU,CAAC,UAAU,CAAC;QACtB,UAAU,CAAC,UAAU,CAAC;QACtB,UAAU,CAAC,UAAU,CAAC;QACtB,UAAU,CAAC,UAAU,CAAC;QAEtB,OAAO,YAAY,CAAC,CAAC,OAAO;IAC9B,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC,CAAC,MAAM;IACtD,IAAI,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC,CAAC,MAAM;IAClD,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU;QAC5D,OAAO,YAAY,CAAC,CAAC,sBAAsB;IAC7C,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,OAAO;IACxD,gCAAgC;IAChC,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,OAAO;IAC3D,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,OAAO;IAE3D,sBAAsB;IACtB,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,YAAY;IAC3D,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,iBAAiB;IAC5F,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,kBAAkB;IACnE,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU;QAC5D,OAAO,WAAW,CAAC,CAAC,MAAM;IAC5B,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC,CAAC,aAAa;IAE7D,+BAA+B;IAC/B,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,iBAAiB,CAAC,CAAC,MAAM;IAC5D,IACE,UAAU,CAAC,UAAU,CAAC;QACtB,UAAU,CAAC,UAAU,CAAC;QACtB,UAAU,CAAC,UAAU,CAAC;QAEtB,OAAO,iBAAiB,CAAC,CAAC,kCAAkC;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,8BAA8B,CAAC,CAAC,MAAM;IACzE,IAAI,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,mBAAmB,CAAC,CAAC,eAAe;IACvE,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,kBAAkB,CAAC,CAAC,OAAO;IAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,qBAAqB,CAAC,CAAC,QAAQ;IAChE,IAAI,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC,CAAC,MAAM;IAE9D,qDAAqD;IACrD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA4B;IAE5B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,SAAS,YAAY,WAAW,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,CAAC,yBAAyB;IAC7C,CAAC;IACD,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAC3B,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAC7B,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,WAAiC;IAEjC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,IACE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;YACjC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAClC,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA0B;IACrD,MAAM,SAAS,GAAG,kBAAkB,CAClC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC/C,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EACF,SAAS,YAAY,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QACxE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAI9C;IACC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,CACJ,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,EACpD,mDAAmD,CACpD,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,KAAK,QAAQ;YACrB,CAAC,KAAK,IAAI;YACV,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,eAAe;gBACnC,iBAAiB,IAAI,CAAC,IAAI,oBAAoB;gBAC9C,OAAO,IAAI,CAAC,IAAI,oBAAoB;gBACpC,0BAA0B,IAAI,CAAC,CAAC,CACrC,EACD,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAuB,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,iDAAiD;IACjD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import type { MessageDoc } from "../client/index.js";
2
2
  import type { StreamDelta, StreamMessage, TextStreamPart } from "../validators.js";
3
- import type { UIMessage } from "./toUIMessages.js";
4
- import { toUIMessages } from "./toUIMessages.js";
5
- export { toUIMessages, type UIMessage };
6
3
  export declare function mergeDeltas(threadId: string, streamMessages: StreamMessage[], existingStreams: Array<{
7
4
  streamId: string;
8
5
  cursor: number;
@@ -1 +1 @@
1
- {"version":3,"file":"deltas.d.ts","sourceRoot":"","sources":["../../src/react/deltas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,CAAC;AAExC,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAAE,EAC/B,eAAe,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC,EACF,SAAS,EAAE,WAAW,EAAE,GACvB;IACD,UAAU,EAAE;IACZ,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IACnE,OAAO;CACR,CAmCA;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAC5D,SAAS,EACb,MAAM,EAAE,WAAW,EAAE,GACpB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,CAoKzE;AAsCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAqFZ"}
1
+ {"version":3,"file":"deltas.d.ts","sourceRoot":"","sources":["../../src/react/deltas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,cAAc,EAMf,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAAE,EAC/B,eAAe,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC,EACF,SAAS,EAAE,WAAW,EAAE,GACvB;IACD,UAAU,EAAE;IACZ,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IACnE,OAAO;CACR,CAmCA;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAC5D,SAAS,EACb,MAAM,EAAE,WAAW,EAAE,GACpB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,CA0MzE;AAoED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAiIZ"}
@@ -1,5 +1,3 @@
1
- import { toUIMessages } from "./toUIMessages.js";
2
- export { toUIMessages };
3
1
  export function mergeDeltas(threadId, streamMessages, existingStreams, allDeltas) {
4
2
  const newStreams = [];
5
3
  // Seed the existing chunks
@@ -95,28 +93,33 @@ export function applyDeltasToStreamMessage(threadId, streamMessage, existing, de
95
93
  continue;
96
94
  }
97
95
  switch (part.type) {
98
- case "text-delta":
99
- currentMessage.text = (currentMessage.text ?? "") + part.textDelta;
96
+ case "text-delta": {
97
+ const text = "text" in part ? part.text : part.textDelta;
98
+ currentMessage.text = (currentMessage.text ?? "") + text;
100
99
  if (lastContent?.type === "text") {
101
- lastContent.text = (lastContent.text ?? "") + part.textDelta;
100
+ lastContent.text = (lastContent.text ?? "") + text;
102
101
  }
103
102
  else {
104
- contentToAdd = {
105
- type: "text",
106
- text: part.textDelta,
107
- };
103
+ contentToAdd = { type: "text", text };
108
104
  }
109
105
  break;
110
- case "tool-call-streaming-start":
106
+ }
107
+ case "tool-input-start":
108
+ case "tool-call-streaming-start": {
109
+ const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
111
110
  currentMessage.tool = true;
112
111
  contentToAdd = {
113
112
  type: "tool-call",
114
- toolCallId: part.toolCallId,
113
+ toolCallId,
115
114
  toolName: part.toolName,
116
115
  args: "",
116
+ providerExecuted: "providerExecuted" in part ? part.providerExecuted : undefined,
117
+ providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
117
118
  };
118
119
  break;
120
+ }
119
121
  case "tool-call-delta":
122
+ case "tool-input-delta":
120
123
  {
121
124
  currentMessage.tool = true;
122
125
  if (lastContent?.type !== "tool-call") {
@@ -125,13 +128,19 @@ export function applyDeltasToStreamMessage(threadId, streamMessage, existing, de
125
128
  if (typeof lastContent.args !== "string") {
126
129
  throw new Error("Expected args to be a string");
127
130
  }
128
- lastContent.args = (lastContent.args ?? "") + part.argsTextDelta;
131
+ const delta = "argsTextDelta" in part ? part.argsTextDelta : part.delta;
132
+ lastContent.args = (lastContent.args ?? "") + delta;
129
133
  }
130
134
  break;
131
- case "tool-call":
135
+ case "tool-call": {
132
136
  currentMessage.tool = true;
133
- contentToAdd = part;
137
+ contentToAdd = toolCallContent(part);
138
+ break;
139
+ }
140
+ case "tool-result": {
141
+ contentToAdd = toolResultContent(part);
134
142
  break;
143
+ }
135
144
  case "reasoning":
136
145
  currentMessage.reasoning =
137
146
  (currentMessage.reasoning ?? "") + part.textDelta;
@@ -145,14 +154,37 @@ export function applyDeltasToStreamMessage(threadId, streamMessage, existing, de
145
154
  };
146
155
  }
147
156
  break;
157
+ case "reasoning-delta": {
158
+ currentMessage.reasoning = (currentMessage.reasoning ?? "") + part.text;
159
+ if (lastContent?.type === "reasoning") {
160
+ lastContent.text = (lastContent.text ?? "") + part.text;
161
+ }
162
+ else {
163
+ contentToAdd = {
164
+ type: "reasoning",
165
+ text: part.text,
166
+ providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
167
+ state: "streaming",
168
+ };
169
+ }
170
+ break;
171
+ }
148
172
  case "source":
149
173
  if (!currentMessage.sources) {
150
174
  currentMessage.sources = [];
151
175
  }
152
- currentMessage.sources.push(part.source);
176
+ if ("source" in part) {
177
+ currentMessage.sources.push({
178
+ type: "source",
179
+ ...part.source,
180
+ });
181
+ }
182
+ else {
183
+ currentMessage.sources.push(part);
184
+ }
153
185
  break;
154
- case "tool-result":
155
- contentToAdd = part;
186
+ case "raw":
187
+ contentToAdd = part.rawValue;
156
188
  break;
157
189
  default:
158
190
  console.warn(`Received unexpected part: ${JSON.stringify(part)}`);
@@ -172,6 +204,28 @@ export function applyDeltasToStreamMessage(threadId, streamMessage, existing, de
172
204
  }
173
205
  return [newStream, true];
174
206
  }
207
+ function toolCallContent(part) {
208
+ const args = "args" in part ? part.args : part.input;
209
+ return {
210
+ type: "tool-call",
211
+ toolCallId: part.toolCallId,
212
+ toolName: part.toolName,
213
+ args,
214
+ providerExecuted: part.providerExecuted,
215
+ };
216
+ }
217
+ function toolResultContent(part) {
218
+ const result = "output" in part ? part.output : "result" in part ? part.result : undefined;
219
+ const args = "input" in part ? part.input : "args" in part ? part.args : undefined;
220
+ return {
221
+ type: "tool-result",
222
+ toolCallId: part.toolCallId,
223
+ toolName: part.toolName,
224
+ result,
225
+ args,
226
+ providerExecuted: part.providerExecuted,
227
+ };
228
+ }
175
229
  function cloneMessageAndContent(message) {
176
230
  return (message &&
177
231
  {
@@ -199,6 +253,7 @@ function statusFromStreamStatus(status) {
199
253
  return "pending";
200
254
  }
201
255
  }
256
+ // TODO: share more code with applyDeltasToStreamMessage
202
257
  export function createStreamingMessage(threadId, message, part, index) {
203
258
  const { streamId, ...rest } = message;
204
259
  const metadata = {
@@ -210,16 +265,20 @@ export function createStreamingMessage(threadId, message, part, index) {
210
265
  tool: false,
211
266
  };
212
267
  switch (part.type) {
213
- case "text-delta":
268
+ case "text-delta": {
269
+ const text = "text" in part ? part.text : part.textDelta;
214
270
  return {
215
271
  ...metadata,
216
272
  message: {
217
273
  role: "assistant",
218
- content: [{ type: "text", text: part.textDelta }],
274
+ content: [{ type: "text", text }],
219
275
  },
220
- text: part.textDelta,
276
+ text,
221
277
  };
222
- case "tool-call-streaming-start":
278
+ }
279
+ case "tool-input-start":
280
+ case "tool-call-streaming-start": {
281
+ const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
223
282
  return {
224
283
  ...metadata,
225
284
  tool: true,
@@ -229,58 +288,95 @@ export function createStreamingMessage(threadId, message, part, index) {
229
288
  {
230
289
  type: "tool-call",
231
290
  toolName: part.toolName,
232
- toolCallId: part.toolCallId,
291
+ toolCallId,
233
292
  args: "", // when it's a string, it's a partial call
293
+ providerExecuted: "providerExecuted" in part ? part.providerExecuted : undefined,
294
+ providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
234
295
  },
235
296
  ],
236
297
  },
237
298
  };
238
- case "reasoning":
299
+ }
300
+ case "tool-input-delta":
301
+ case "tool-call-delta": {
302
+ console.warn("Received tool call delta part first??");
303
+ const delta = "argsTextDelta" in part ? part.argsTextDelta : part.delta;
304
+ const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
305
+ const toolName = "toolName" in part ? part.toolName : part.type.slice("tool-".length);
239
306
  return {
240
307
  ...metadata,
308
+ tool: true,
241
309
  message: {
242
310
  role: "assistant",
243
- content: [{ type: "reasoning", text: part.textDelta }],
311
+ content: [
312
+ {
313
+ type: "tool-call",
314
+ toolCallId,
315
+ toolName,
316
+ args: delta,
317
+ },
318
+ ],
244
319
  },
245
- reasoning: part.textDelta,
246
320
  };
247
- case "source":
248
- console.warn("Received source part first??");
321
+ }
322
+ case "tool-call": {
249
323
  return {
250
324
  ...metadata,
251
325
  tool: true,
252
- message: { role: "tool", content: [] },
253
- sources: [part.source],
326
+ message: {
327
+ role: "assistant",
328
+ content: [toolCallContent(part)],
329
+ },
254
330
  };
255
- case "tool-call":
331
+ }
332
+ case "tool-result":
256
333
  return {
257
334
  ...metadata,
258
335
  tool: true,
259
- message: { role: "assistant", content: [part] },
336
+ message: {
337
+ role: "tool",
338
+ content: [toolResultContent(part)],
339
+ },
260
340
  };
261
- case "tool-call-delta":
262
- console.warn("Received tool call delta part first??");
341
+ case "reasoning":
263
342
  return {
264
343
  ...metadata,
265
- tool: true,
266
344
  message: {
267
345
  role: "assistant",
268
- content: [
269
- {
270
- type: "tool-call",
271
- toolCallId: part.toolCallId,
272
- toolName: part.toolName,
273
- args: part.argsTextDelta,
274
- },
275
- ],
346
+ content: [{ type: "reasoning", text: part.textDelta }],
276
347
  },
348
+ reasoning: part.textDelta,
277
349
  };
278
- case "tool-result":
350
+ case "reasoning-delta": {
351
+ return {
352
+ ...metadata,
353
+ message: {
354
+ role: "assistant",
355
+ content: [{ type: "reasoning", text: part.text }],
356
+ },
357
+ reasoning: part.text,
358
+ };
359
+ }
360
+ case "source":
361
+ console.warn("Received source part first??");
279
362
  return {
280
363
  ...metadata,
281
364
  tool: true,
282
- message: { role: "tool", content: [part] },
365
+ message: { role: "tool", content: [] },
366
+ sources: [
367
+ "source" in part
368
+ ? {
369
+ ...part.source,
370
+ type: "source",
371
+ }
372
+ : part,
373
+ ],
283
374
  };
375
+ // case "raw":
376
+ // return {
377
+ // ...metadata,
378
+ // message: { role: "assistant", content: [part.rawValue] },
379
+ // };
284
380
  default:
285
381
  throw new Error(`Unexpected part type: ${JSON.stringify(part)}`);
286
382
  }