ai 6.0.0-beta.72 → 6.0.0-beta.74

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.74
4
+
5
+ ### Patch Changes
6
+
7
+ - 293a6b7: Added a title to the tools
8
+ - Updated dependencies [293a6b7]
9
+ - @ai-sdk/provider-utils@4.0.0-beta.21
10
+ - @ai-sdk/gateway@2.0.0-beta.38
11
+
12
+ ## 6.0.0-beta.73
13
+
14
+ ### Patch Changes
15
+
16
+ - 754df61: fix(ai): correct type field in arrayOutputStrategy from 'enum' to 'array'
17
+
3
18
  ## 6.0.0-beta.72
4
19
 
5
20
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -306,12 +306,14 @@ type StaticToolCall<TOOLS extends ToolSet> = ValueOf<{
306
306
  dynamic?: false | undefined;
307
307
  invalid?: false | undefined;
308
308
  error?: never;
309
+ title?: string;
309
310
  };
310
311
  }>;
311
312
  type DynamicToolCall = BaseToolCall & {
312
313
  toolName: string;
313
314
  input: unknown;
314
315
  dynamic: true;
316
+ title?: string;
315
317
  /**
316
318
  * True if this is caused by an unparsable tool call or
317
319
  * a tool that does not exist.
@@ -367,6 +369,7 @@ type StaticToolError<TOOLS extends ToolSet> = ValueOf<{
367
369
  error: unknown;
368
370
  providerExecuted?: boolean;
369
371
  dynamic?: false | undefined;
372
+ title?: string;
370
373
  };
371
374
  }>;
372
375
  type DynamicToolError = {
@@ -377,6 +380,7 @@ type DynamicToolError = {
377
380
  error: unknown;
378
381
  providerExecuted?: boolean;
379
382
  dynamic: true;
383
+ title?: string;
380
384
  };
381
385
  type TypedToolError<TOOLS extends ToolSet> = StaticToolError<TOOLS> | DynamicToolError;
382
386
 
@@ -390,6 +394,7 @@ type StaticToolResult<TOOLS extends ToolSet> = ValueOf<{
390
394
  providerExecuted?: boolean;
391
395
  dynamic?: false | undefined;
392
396
  preliminary?: boolean;
397
+ title?: string;
393
398
  };
394
399
  }>;
395
400
  type DynamicToolResult = {
@@ -401,6 +406,7 @@ type DynamicToolResult = {
401
406
  providerExecuted?: boolean;
402
407
  dynamic: true;
403
408
  preliminary?: boolean;
409
+ title?: string;
404
410
  };
405
411
  type TypedToolResult<TOOLS extends ToolSet> = StaticToolResult<TOOLS> | DynamicToolResult;
406
412
 
@@ -1648,6 +1654,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
1648
1654
  * ID of the tool call.
1649
1655
  */
1650
1656
  toolCallId: string;
1657
+ title?: string;
1651
1658
  /**
1652
1659
  * Whether the tool call was executed by the provider.
1653
1660
  */
@@ -1738,6 +1745,7 @@ type DynamicToolUIPart = {
1738
1745
  * ID of the tool call.
1739
1746
  */
1740
1747
  toolCallId: string;
1748
+ title?: string;
1741
1749
  /**
1742
1750
  * Whether the tool call was executed by the provider.
1743
1751
  */
@@ -1863,6 +1871,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1863
1871
  toolName: string;
1864
1872
  providerExecuted?: boolean | undefined;
1865
1873
  dynamic?: boolean | undefined;
1874
+ title?: string | undefined;
1866
1875
  } | {
1867
1876
  type: "tool-input-delta";
1868
1877
  toolCallId: string;
@@ -1875,6 +1884,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1875
1884
  providerExecuted?: boolean | undefined;
1876
1885
  providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
1877
1886
  dynamic?: boolean | undefined;
1887
+ title?: string | undefined;
1878
1888
  } | {
1879
1889
  type: "tool-input-error";
1880
1890
  toolCallId: string;
@@ -1884,6 +1894,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1884
1894
  providerExecuted?: boolean | undefined;
1885
1895
  providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
1886
1896
  dynamic?: boolean | undefined;
1897
+ title?: string | undefined;
1887
1898
  } | {
1888
1899
  type: "tool-approval-request";
1889
1900
  approvalId: string;
@@ -2002,6 +2013,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2002
2013
  providerExecuted?: boolean;
2003
2014
  providerMetadata?: ProviderMetadata;
2004
2015
  dynamic?: boolean;
2016
+ title?: string;
2005
2017
  } | {
2006
2018
  type: 'tool-input-error';
2007
2019
  toolCallId: string;
@@ -2011,6 +2023,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2011
2023
  providerMetadata?: ProviderMetadata;
2012
2024
  dynamic?: boolean;
2013
2025
  errorText: string;
2026
+ title?: string;
2014
2027
  } | {
2015
2028
  type: 'tool-approval-request';
2016
2029
  approvalId: string;
@@ -2037,6 +2050,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2037
2050
  toolName: string;
2038
2051
  providerExecuted?: boolean;
2039
2052
  dynamic?: boolean;
2053
+ title?: string;
2040
2054
  } | {
2041
2055
  type: 'tool-input-delta';
2042
2056
  toolCallId: string;
@@ -2404,6 +2418,7 @@ type TextStreamPart<TOOLS extends ToolSet> = {
2404
2418
  providerMetadata?: ProviderMetadata;
2405
2419
  providerExecuted?: boolean;
2406
2420
  dynamic?: boolean;
2421
+ title?: string;
2407
2422
  } | {
2408
2423
  type: 'tool-input-end';
2409
2424
  id: string;
@@ -3573,6 +3588,7 @@ type SingleRequestTextStreamPart<TOOLS extends ToolSet> = {
3573
3588
  toolName: string;
3574
3589
  providerMetadata?: ProviderMetadata;
3575
3590
  dynamic?: boolean;
3591
+ title?: string;
3576
3592
  } | {
3577
3593
  type: 'tool-input-delta';
3578
3594
  id: string;
package/dist/index.d.ts CHANGED
@@ -306,12 +306,14 @@ type StaticToolCall<TOOLS extends ToolSet> = ValueOf<{
306
306
  dynamic?: false | undefined;
307
307
  invalid?: false | undefined;
308
308
  error?: never;
309
+ title?: string;
309
310
  };
310
311
  }>;
311
312
  type DynamicToolCall = BaseToolCall & {
312
313
  toolName: string;
313
314
  input: unknown;
314
315
  dynamic: true;
316
+ title?: string;
315
317
  /**
316
318
  * True if this is caused by an unparsable tool call or
317
319
  * a tool that does not exist.
@@ -367,6 +369,7 @@ type StaticToolError<TOOLS extends ToolSet> = ValueOf<{
367
369
  error: unknown;
368
370
  providerExecuted?: boolean;
369
371
  dynamic?: false | undefined;
372
+ title?: string;
370
373
  };
371
374
  }>;
372
375
  type DynamicToolError = {
@@ -377,6 +380,7 @@ type DynamicToolError = {
377
380
  error: unknown;
378
381
  providerExecuted?: boolean;
379
382
  dynamic: true;
383
+ title?: string;
380
384
  };
381
385
  type TypedToolError<TOOLS extends ToolSet> = StaticToolError<TOOLS> | DynamicToolError;
382
386
 
@@ -390,6 +394,7 @@ type StaticToolResult<TOOLS extends ToolSet> = ValueOf<{
390
394
  providerExecuted?: boolean;
391
395
  dynamic?: false | undefined;
392
396
  preliminary?: boolean;
397
+ title?: string;
393
398
  };
394
399
  }>;
395
400
  type DynamicToolResult = {
@@ -401,6 +406,7 @@ type DynamicToolResult = {
401
406
  providerExecuted?: boolean;
402
407
  dynamic: true;
403
408
  preliminary?: boolean;
409
+ title?: string;
404
410
  };
405
411
  type TypedToolResult<TOOLS extends ToolSet> = StaticToolResult<TOOLS> | DynamicToolResult;
406
412
 
@@ -1648,6 +1654,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
1648
1654
  * ID of the tool call.
1649
1655
  */
1650
1656
  toolCallId: string;
1657
+ title?: string;
1651
1658
  /**
1652
1659
  * Whether the tool call was executed by the provider.
1653
1660
  */
@@ -1738,6 +1745,7 @@ type DynamicToolUIPart = {
1738
1745
  * ID of the tool call.
1739
1746
  */
1740
1747
  toolCallId: string;
1748
+ title?: string;
1741
1749
  /**
1742
1750
  * Whether the tool call was executed by the provider.
1743
1751
  */
@@ -1863,6 +1871,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1863
1871
  toolName: string;
1864
1872
  providerExecuted?: boolean | undefined;
1865
1873
  dynamic?: boolean | undefined;
1874
+ title?: string | undefined;
1866
1875
  } | {
1867
1876
  type: "tool-input-delta";
1868
1877
  toolCallId: string;
@@ -1875,6 +1884,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1875
1884
  providerExecuted?: boolean | undefined;
1876
1885
  providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
1877
1886
  dynamic?: boolean | undefined;
1887
+ title?: string | undefined;
1878
1888
  } | {
1879
1889
  type: "tool-input-error";
1880
1890
  toolCallId: string;
@@ -1884,6 +1894,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
1884
1894
  providerExecuted?: boolean | undefined;
1885
1895
  providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
1886
1896
  dynamic?: boolean | undefined;
1897
+ title?: string | undefined;
1887
1898
  } | {
1888
1899
  type: "tool-approval-request";
1889
1900
  approvalId: string;
@@ -2002,6 +2013,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2002
2013
  providerExecuted?: boolean;
2003
2014
  providerMetadata?: ProviderMetadata;
2004
2015
  dynamic?: boolean;
2016
+ title?: string;
2005
2017
  } | {
2006
2018
  type: 'tool-input-error';
2007
2019
  toolCallId: string;
@@ -2011,6 +2023,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2011
2023
  providerMetadata?: ProviderMetadata;
2012
2024
  dynamic?: boolean;
2013
2025
  errorText: string;
2026
+ title?: string;
2014
2027
  } | {
2015
2028
  type: 'tool-approval-request';
2016
2029
  approvalId: string;
@@ -2037,6 +2050,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
2037
2050
  toolName: string;
2038
2051
  providerExecuted?: boolean;
2039
2052
  dynamic?: boolean;
2053
+ title?: string;
2040
2054
  } | {
2041
2055
  type: 'tool-input-delta';
2042
2056
  toolCallId: string;
@@ -2404,6 +2418,7 @@ type TextStreamPart<TOOLS extends ToolSet> = {
2404
2418
  providerMetadata?: ProviderMetadata;
2405
2419
  providerExecuted?: boolean;
2406
2420
  dynamic?: boolean;
2421
+ title?: string;
2407
2422
  } | {
2408
2423
  type: 'tool-input-end';
2409
2424
  id: string;
@@ -3573,6 +3588,7 @@ type SingleRequestTextStreamPart<TOOLS extends ToolSet> = {
3573
3588
  toolName: string;
3574
3589
  providerMetadata?: ProviderMetadata;
3575
3590
  dynamic?: boolean;
3591
+ title?: string;
3576
3592
  } | {
3577
3593
  type: 'tool-input-delta';
3578
3594
  id: string;
package/dist/index.js CHANGED
@@ -849,7 +849,7 @@ function detectMediaType({
849
849
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
850
850
 
851
851
  // src/version.ts
852
- var VERSION = true ? "6.0.0-beta.72" : "0.0.0-test";
852
+ var VERSION = true ? "6.0.0-beta.74" : "0.0.0-test";
853
853
 
854
854
  // src/util/download/download.ts
855
855
  var download = async ({ url }) => {
@@ -2315,6 +2315,7 @@ async function parseToolCall({
2315
2315
  system,
2316
2316
  messages
2317
2317
  }) {
2318
+ var _a16;
2318
2319
  try {
2319
2320
  if (tools == null) {
2320
2321
  if (toolCall.providerExecuted && toolCall.dynamic) {
@@ -2362,7 +2363,8 @@ async function parseToolCall({
2362
2363
  input,
2363
2364
  dynamic: true,
2364
2365
  invalid: true,
2365
- error
2366
+ error,
2367
+ title: (_a16 = tools == null ? void 0 : tools[toolCall.toolName]) == null ? void 0 : _a16.title
2366
2368
  };
2367
2369
  }
2368
2370
  }
@@ -2416,14 +2418,16 @@ async function doParseToolCall({
2416
2418
  input: parseResult.value,
2417
2419
  providerExecuted: toolCall.providerExecuted,
2418
2420
  providerMetadata: toolCall.providerMetadata,
2419
- dynamic: true
2421
+ dynamic: true,
2422
+ title: tool2.title
2420
2423
  } : {
2421
2424
  type: "tool-call",
2422
2425
  toolCallId: toolCall.toolCallId,
2423
2426
  toolName,
2424
2427
  input: parseResult.value,
2425
2428
  providerExecuted: toolCall.providerExecuted,
2426
- providerMetadata: toolCall.providerMetadata
2429
+ providerMetadata: toolCall.providerMetadata,
2430
+ title: tool2.title
2427
2431
  };
2428
2432
  }
2429
2433
 
@@ -3390,7 +3394,8 @@ var uiMessageChunkSchema = (0, import_provider_utils12.lazySchema)(
3390
3394
  toolCallId: import_v47.z.string(),
3391
3395
  toolName: import_v47.z.string(),
3392
3396
  providerExecuted: import_v47.z.boolean().optional(),
3393
- dynamic: import_v47.z.boolean().optional()
3397
+ dynamic: import_v47.z.boolean().optional(),
3398
+ title: import_v47.z.string().optional()
3394
3399
  }),
3395
3400
  import_v47.z.strictObject({
3396
3401
  type: import_v47.z.literal("tool-input-delta"),
@@ -3404,7 +3409,8 @@ var uiMessageChunkSchema = (0, import_provider_utils12.lazySchema)(
3404
3409
  input: import_v47.z.unknown(),
3405
3410
  providerExecuted: import_v47.z.boolean().optional(),
3406
3411
  providerMetadata: providerMetadataSchema.optional(),
3407
- dynamic: import_v47.z.boolean().optional()
3412
+ dynamic: import_v47.z.boolean().optional(),
3413
+ title: import_v47.z.string().optional()
3408
3414
  }),
3409
3415
  import_v47.z.strictObject({
3410
3416
  type: import_v47.z.literal("tool-input-error"),
@@ -3414,7 +3420,8 @@ var uiMessageChunkSchema = (0, import_provider_utils12.lazySchema)(
3414
3420
  providerExecuted: import_v47.z.boolean().optional(),
3415
3421
  providerMetadata: providerMetadataSchema.optional(),
3416
3422
  dynamic: import_v47.z.boolean().optional(),
3417
- errorText: import_v47.z.string()
3423
+ errorText: import_v47.z.string(),
3424
+ title: import_v47.z.string().optional()
3418
3425
  }),
3419
3426
  import_v47.z.strictObject({
3420
3427
  type: import_v47.z.literal("tool-approval-request"),
@@ -3973,6 +3980,9 @@ function processUIMessageStream({
3973
3980
  anyPart.errorText = anyOptions.errorText;
3974
3981
  anyPart.rawInput = anyOptions.rawInput;
3975
3982
  anyPart.preliminary = anyOptions.preliminary;
3983
+ if (options.title !== void 0) {
3984
+ anyPart.title = options.title;
3985
+ }
3976
3986
  anyPart.providerExecuted = (_a17 = anyOptions.providerExecuted) != null ? _a17 : part.providerExecuted;
3977
3987
  if (anyOptions.providerMetadata != null && part.state === "input-available") {
3978
3988
  part.callProviderMetadata = anyOptions.providerMetadata;
@@ -3982,6 +3992,7 @@ function processUIMessageStream({
3982
3992
  type: `tool-${options.toolName}`,
3983
3993
  toolCallId: options.toolCallId,
3984
3994
  state: options.state,
3995
+ title: options.title,
3985
3996
  input: anyOptions.input,
3986
3997
  output: anyOptions.output,
3987
3998
  rawInput: anyOptions.rawInput,
@@ -4007,6 +4018,9 @@ function processUIMessageStream({
4007
4018
  anyPart.errorText = anyOptions.errorText;
4008
4019
  anyPart.rawInput = (_a17 = anyOptions.rawInput) != null ? _a17 : anyPart.rawInput;
4009
4020
  anyPart.preliminary = anyOptions.preliminary;
4021
+ if (options.title !== void 0) {
4022
+ anyPart.title = options.title;
4023
+ }
4010
4024
  anyPart.providerExecuted = (_b2 = anyOptions.providerExecuted) != null ? _b2 : part.providerExecuted;
4011
4025
  if (anyOptions.providerMetadata != null && part.state === "input-available") {
4012
4026
  part.callProviderMetadata = anyOptions.providerMetadata;
@@ -4022,6 +4036,7 @@ function processUIMessageStream({
4022
4036
  errorText: anyOptions.errorText,
4023
4037
  preliminary: anyOptions.preliminary,
4024
4038
  providerExecuted: anyOptions.providerExecuted,
4039
+ title: options.title,
4025
4040
  ...anyOptions.providerMetadata != null ? { callProviderMetadata: anyOptions.providerMetadata } : {}
4026
4041
  });
4027
4042
  }
@@ -4131,7 +4146,8 @@ function processUIMessageStream({
4131
4146
  text: "",
4132
4147
  toolName: chunk.toolName,
4133
4148
  index: toolInvocations.length,
4134
- dynamic: chunk.dynamic
4149
+ dynamic: chunk.dynamic,
4150
+ title: chunk.title
4135
4151
  };
4136
4152
  if (chunk.dynamic) {
4137
4153
  updateDynamicToolPart({
@@ -4139,7 +4155,8 @@ function processUIMessageStream({
4139
4155
  toolName: chunk.toolName,
4140
4156
  state: "input-streaming",
4141
4157
  input: void 0,
4142
- providerExecuted: chunk.providerExecuted
4158
+ providerExecuted: chunk.providerExecuted,
4159
+ title: chunk.title
4143
4160
  });
4144
4161
  } else {
4145
4162
  updateToolPart({
@@ -4147,7 +4164,8 @@ function processUIMessageStream({
4147
4164
  toolName: chunk.toolName,
4148
4165
  state: "input-streaming",
4149
4166
  input: void 0,
4150
- providerExecuted: chunk.providerExecuted
4167
+ providerExecuted: chunk.providerExecuted,
4168
+ title: chunk.title
4151
4169
  });
4152
4170
  }
4153
4171
  write();
@@ -4164,14 +4182,16 @@ function processUIMessageStream({
4164
4182
  toolCallId: chunk.toolCallId,
4165
4183
  toolName: partialToolCall.toolName,
4166
4184
  state: "input-streaming",
4167
- input: partialArgs
4185
+ input: partialArgs,
4186
+ title: partialToolCall.title
4168
4187
  });
4169
4188
  } else {
4170
4189
  updateToolPart({
4171
4190
  toolCallId: chunk.toolCallId,
4172
4191
  toolName: partialToolCall.toolName,
4173
4192
  state: "input-streaming",
4174
- input: partialArgs
4193
+ input: partialArgs,
4194
+ title: partialToolCall.title
4175
4195
  });
4176
4196
  }
4177
4197
  write();
@@ -4185,7 +4205,8 @@ function processUIMessageStream({
4185
4205
  state: "input-available",
4186
4206
  input: chunk.input,
4187
4207
  providerExecuted: chunk.providerExecuted,
4188
- providerMetadata: chunk.providerMetadata
4208
+ providerMetadata: chunk.providerMetadata,
4209
+ title: chunk.title
4189
4210
  });
4190
4211
  } else {
4191
4212
  updateToolPart({
@@ -4194,7 +4215,8 @@ function processUIMessageStream({
4194
4215
  state: "input-available",
4195
4216
  input: chunk.input,
4196
4217
  providerExecuted: chunk.providerExecuted,
4197
- providerMetadata: chunk.providerMetadata
4218
+ providerMetadata: chunk.providerMetadata,
4219
+ title: chunk.title
4198
4220
  });
4199
4221
  }
4200
4222
  write();
@@ -4254,7 +4276,8 @@ function processUIMessageStream({
4254
4276
  input: toolInvocation.input,
4255
4277
  output: chunk.output,
4256
4278
  preliminary: chunk.preliminary,
4257
- providerExecuted: chunk.providerExecuted
4279
+ providerExecuted: chunk.providerExecuted,
4280
+ title: toolInvocation.title
4258
4281
  });
4259
4282
  } else {
4260
4283
  updateToolPart({
@@ -4264,7 +4287,8 @@ function processUIMessageStream({
4264
4287
  input: toolInvocation.input,
4265
4288
  output: chunk.output,
4266
4289
  providerExecuted: chunk.providerExecuted,
4267
- preliminary: chunk.preliminary
4290
+ preliminary: chunk.preliminary,
4291
+ title: toolInvocation.title
4268
4292
  });
4269
4293
  }
4270
4294
  write();
@@ -4279,7 +4303,8 @@ function processUIMessageStream({
4279
4303
  state: "output-error",
4280
4304
  input: toolInvocation.input,
4281
4305
  errorText: chunk.errorText,
4282
- providerExecuted: chunk.providerExecuted
4306
+ providerExecuted: chunk.providerExecuted,
4307
+ title: toolInvocation.title
4283
4308
  });
4284
4309
  } else {
4285
4310
  updateToolPart({
@@ -4289,7 +4314,8 @@ function processUIMessageStream({
4289
4314
  input: toolInvocation.input,
4290
4315
  rawInput: toolInvocation.rawInput,
4291
4316
  errorText: chunk.errorText,
4292
- providerExecuted: chunk.providerExecuted
4317
+ providerExecuted: chunk.providerExecuted,
4318
+ title: toolInvocation.title
4293
4319
  });
4294
4320
  }
4295
4321
  write();
@@ -4779,7 +4805,8 @@ function runToolsTransformation({
4779
4805
  toolName: toolCall.toolName,
4780
4806
  input: toolCall.input,
4781
4807
  error: (0, import_provider_utils15.getErrorMessage)(toolCall.error),
4782
- dynamic: true
4808
+ dynamic: true,
4809
+ title: toolCall.title
4783
4810
  });
4784
4811
  break;
4785
4812
  }
@@ -5692,7 +5719,8 @@ var DefaultStreamTextResult = class {
5692
5719
  }
5693
5720
  controller.enqueue({
5694
5721
  ...chunk,
5695
- dynamic: (_e2 = chunk.dynamic) != null ? _e2 : (tool2 == null ? void 0 : tool2.type) === "dynamic"
5722
+ dynamic: (_e2 = chunk.dynamic) != null ? _e2 : (tool2 == null ? void 0 : tool2.type) === "dynamic",
5723
+ title: tool2 == null ? void 0 : tool2.title
5696
5724
  });
5697
5725
  break;
5698
5726
  }
@@ -6102,7 +6130,8 @@ var DefaultStreamTextResult = class {
6102
6130
  toolCallId: part.id,
6103
6131
  toolName: part.toolName,
6104
6132
  ...part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {},
6105
- ...dynamic != null ? { dynamic } : {}
6133
+ ...dynamic != null ? { dynamic } : {},
6134
+ ...part.title != null ? { title: part.title } : {}
6106
6135
  });
6107
6136
  break;
6108
6137
  }
@@ -6125,7 +6154,8 @@ var DefaultStreamTextResult = class {
6125
6154
  ...part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {},
6126
6155
  ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6127
6156
  ...dynamic != null ? { dynamic } : {},
6128
- errorText: onError(part.error)
6157
+ errorText: onError(part.error),
6158
+ ...part.title != null ? { title: part.title } : {}
6129
6159
  });
6130
6160
  } else {
6131
6161
  controller.enqueue({
@@ -6135,7 +6165,8 @@ var DefaultStreamTextResult = class {
6135
6165
  input: part.input,
6136
6166
  ...part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {},
6137
6167
  ...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
6138
- ...dynamic != null ? { dynamic } : {}
6168
+ ...dynamic != null ? { dynamic } : {},
6169
+ ...part.title != null ? { title: part.title } : {}
6139
6170
  });
6140
6171
  }
6141
6172
  break;
@@ -7697,7 +7728,7 @@ var objectOutputStrategy = (schema) => ({
7697
7728
  });
7698
7729
  var arrayOutputStrategy = (schema) => {
7699
7730
  return {
7700
- type: "enum",
7731
+ type: "array",
7701
7732
  // wrap in object that contains array of elements, since most LLMs will not
7702
7733
  // be able to generate an array directly:
7703
7734
  // possible future optimization: use arrays directly when model supports grammar-guided generation