ai-test-kit 1.0.0 → 1.0.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 (2) hide show
  1. package/dist/ui/index.d.mts +613 -271
  2. package/package.json +1 -1
@@ -7,8 +7,10 @@ import { UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIToolInvocation
7
7
  type PartOf<DATA extends UIDataTypes, TOOLS extends UITools, TYPE extends string> = Extract<UIMessagePart<DATA, TOOLS>, {
8
8
  type: TYPE;
9
9
  }>;
10
+ /** `Omit` that distributes over a union, so a variant split by a discriminant (e.g. `dynamic-tool` by `state`) keeps each member. */
11
+ type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
10
12
  /** The fields of a part variant without the given keys, used as a builder's argument shape. */
11
- type PartArgs<DATA extends UIDataTypes, TOOLS extends UITools, TYPE extends string, OMIT extends string = 'type'> = Omit<PartOf<DATA, TOOLS, TYPE>, OMIT | 'type'>;
13
+ type PartArgs<DATA extends UIDataTypes, TOOLS extends UITools, TYPE extends string, OMIT extends string = 'type'> = DistributiveOmit<PartOf<DATA, TOOLS, TYPE>, OMIT | 'type'>;
12
14
  /**
13
15
  * Builds the {@link UIParts} namespace bound to a message's `DATA` and `TOOLS` types. The runtime is
14
16
  * identical for every binding; the type parameters only sharpen `data` and `tool`. Use the top-level
@@ -23,23 +25,23 @@ declare const createUIParts: <DATA extends UIDataTypes = UIDataTypes, TOOLS exte
23
25
  stepStart: () => PartOf<DATA, TOOLS, "step-start">; /** A `data-${name}` part carrying a typed custom data payload. */
24
26
  data: <NAME extends keyof DATA & string>(name: NAME, data: DATA[NAME], opts?: {
25
27
  id?: string;
26
- }) => UIMessagePart<DATA, TOOLS>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
27
- tool: <NAME extends keyof TOOLS & string>(name: NAME, invocation: UIToolInvocation<TOOLS[NAME]>) => UIMessagePart<DATA, TOOLS>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
28
- dynamicTool: (args: PartArgs<DATA, TOOLS, "dynamic-tool">) => UIMessagePart<DATA, TOOLS>;
28
+ }) => PartOf<DATA, TOOLS, `data-${NAME}`>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
29
+ tool: <NAME extends keyof TOOLS & string>(name: NAME, invocation: UIToolInvocation<TOOLS[NAME]>) => PartOf<DATA, TOOLS, `tool-${NAME}`>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
30
+ dynamicTool: (args: PartArgs<DATA, TOOLS, "dynamic-tool">) => PartOf<DATA, TOOLS, "dynamic-tool">;
29
31
  };
30
32
  /** Builders for `UIMessagePart`s, with loose default types. Use `fromUIMessage` to bind to a message type. */
31
33
  declare const UIParts: {
32
- /** A text part, optionally with streaming `state` and provider metadata. */text: (text: string, opts?: PartArgs<UIDataTypes, UITools, "text", "text"> | undefined) => ai.TextUIPart; /** A reasoning part, optionally with streaming `state` and provider metadata. */
33
- reasoning: (text: string, opts?: PartArgs<UIDataTypes, UITools, "reasoning", "text"> | undefined) => ai.ReasoningUIPart; /** A URL source part. */
34
- sourceUrl: (args: PartArgs<UIDataTypes, UITools, "source-url", "type">) => ai.SourceUrlUIPart; /** A document source part. */
35
- sourceDocument: (args: PartArgs<UIDataTypes, UITools, "source-document", "type">) => ai.SourceDocumentUIPart; /** A file part referencing a file by URL. */
36
- file: (args: PartArgs<UIDataTypes, UITools, "file", "type">) => ai.FileUIPart; /** A step boundary part. */
34
+ /** A text part, optionally with streaming `state` and provider metadata. */text: (text: string, opts?: Omit<ai.TextUIPart, "text" | "type"> | undefined) => ai.TextUIPart; /** A reasoning part, optionally with streaming `state` and provider metadata. */
35
+ reasoning: (text: string, opts?: Omit<ai.ReasoningUIPart, "text" | "type"> | undefined) => ai.ReasoningUIPart; /** A URL source part. */
36
+ sourceUrl: (args: Omit<ai.SourceUrlUIPart, "type">) => ai.SourceUrlUIPart; /** A document source part. */
37
+ sourceDocument: (args: Omit<ai.SourceDocumentUIPart, "type">) => ai.SourceDocumentUIPart; /** A file part referencing a file by URL. */
38
+ file: (args: Omit<ai.FileUIPart, "type">) => ai.FileUIPart; /** A step boundary part. */
37
39
  stepStart: () => ai.StepStartUIPart; /** A `data-${name}` part carrying a typed custom data payload. */
38
40
  data: <NAME extends string>(name: NAME, data: unknown, opts?: {
39
41
  id?: string;
40
- }) => UIMessagePart<UIDataTypes, UITools>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
41
- tool: <NAME extends string>(name: NAME, invocation: UIToolInvocation<ai.UITool>) => UIMessagePart<UIDataTypes, UITools>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
42
- dynamicTool: (args: PartArgs<UIDataTypes, UITools, "dynamic-tool", "type">) => UIMessagePart<UIDataTypes, UITools>;
42
+ }) => PartOf<UIDataTypes, UITools, `data-${NAME}`>; /** A `tool-${name}` invocation part, typed by the tool set. The `state` discriminates the invocation. */
43
+ tool: <NAME extends string>(name: NAME, invocation: UIToolInvocation<ai.UITool>) => PartOf<UIDataTypes, UITools, `tool-${NAME}`>; /** A `dynamic-tool` invocation part for tools whose types are not known at development time. */
44
+ dynamicTool: (args: PartArgs<UIDataTypes, UITools, "dynamic-tool", "type">) => PartOf<UIDataTypes, UITools, "dynamic-tool">;
43
45
  };
44
46
  //#endregion
45
47
  //#region src/ui/chunks.d.ts
@@ -82,7 +84,7 @@ declare const createUIChunks: <METADATA = unknown, DATA extends UIDataTypes = UI
82
84
  data: <NAME extends keyof DATA & string>(name: NAME, data: DATA[NAME], opts?: {
83
85
  id?: string;
84
86
  transient?: boolean;
85
- }) => UIMessageChunk<METADATA, DATA>; /** A `start-step` chunk marking the beginning of a step. */
87
+ }) => ChunkOf<METADATA, DATA, `data-${NAME}`>; /** A `start-step` chunk marking the beginning of a step. */
86
88
  startStep: () => ChunkOf<METADATA, DATA, "start-step">; /** A `finish-step` chunk marking the end of a step. */
87
89
  finishStep: () => ChunkOf<METADATA, DATA, "finish-step">; /** A `start` chunk opening a message stream, optionally carrying id and metadata. */
88
90
  start: (args?: ChunkArgs<METADATA, DATA, "start">) => ChunkOf<METADATA, DATA, "start">; /** A `finish` chunk closing a message stream, optionally carrying finish reason and metadata. */
@@ -234,7 +236,7 @@ declare const UIChunks: {
234
236
  data: <NAME extends string>(name: NAME, data: unknown, opts?: {
235
237
  id?: string;
236
238
  transient?: boolean;
237
- }) => UIMessageChunk<unknown, UIDataTypes>; /** A `start-step` chunk marking the beginning of a step. */
239
+ }) => ChunkOf<unknown, UIDataTypes, `data-${NAME}`>; /** A `start-step` chunk marking the beginning of a step. */
238
240
  startStep: () => {
239
241
  type: "start-step";
240
242
  }; /** A `finish-step` chunk marking the end of a step. */
@@ -319,163 +321,67 @@ type ToolsOf<UI_MESSAGE> = UI_MESSAGE extends UIMessage<unknown, UIDataTypes, in
319
321
  */
320
322
  declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
321
323
  UIParts: {
322
- text: (text: string, opts?: (Exclude<"text" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
324
+ text: (text: string, opts?: (Omit<ai.TextUIPart, "text" | "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
323
325
  type: "text";
324
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
326
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
325
327
  type: "text";
326
- }>, "text" | "type"> | Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
328
+ }> ? T extends unknown ? Omit<T, "text" | "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
327
329
  type: "text";
328
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
330
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
329
331
  type: "text";
330
- }>, "text" | "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
331
- type: "text";
332
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
333
- type: "text";
334
- }>, "text" | "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
335
- type: "text";
336
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
337
- type: "text";
338
- }>, "text" | "type"> extends infer T extends keyof (ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
339
- type: "text";
340
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
341
- type: "text";
342
- }>) ? { [P in T]: (ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
343
- type: "text";
344
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
345
- type: "text";
346
- }>)[P] } : never) | undefined) => ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
332
+ }> ? T_1 extends unknown ? Omit<T_1, "text" | "type"> : never : never : never)) | undefined) => ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
347
333
  type: "text";
348
334
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
349
335
  type: "text";
350
336
  }>;
351
- reasoning: (text: string, opts?: (Exclude<"text" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
337
+ reasoning: (text: string, opts?: (Omit<ai.ReasoningUIPart, "text" | "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
352
338
  type: "reasoning";
353
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
354
- type: "reasoning";
355
- }>, "text" | "type"> | Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
356
- type: "reasoning";
357
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
358
- type: "reasoning";
359
- }>, "text" | "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
360
- type: "reasoning";
361
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
362
- type: "reasoning";
363
- }>, "text" | "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
364
- type: "reasoning";
365
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
366
- type: "reasoning";
367
- }>, "text" | "type"> extends infer T extends keyof (ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
368
- type: "reasoning";
369
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
339
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
370
340
  type: "reasoning";
371
- }>) ? { [P in T]: (ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
341
+ }> ? T extends unknown ? Omit<T, "text" | "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
372
342
  type: "reasoning";
373
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
343
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
374
344
  type: "reasoning";
375
- }>)[P] } : never) | undefined) => ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
345
+ }> ? T_1 extends unknown ? Omit<T_1, "text" | "type"> : never : never : never)) | undefined) => ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
376
346
  type: "reasoning";
377
347
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
378
348
  type: "reasoning";
379
349
  }>;
380
- sourceUrl: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
381
- type: "source-url";
382
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
383
- type: "source-url";
384
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
385
- type: "source-url";
386
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
387
- type: "source-url";
388
- }>, "type"> | Exclude<"sourceId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
350
+ sourceUrl: (args: Omit<ai.SourceUrlUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
389
351
  type: "source-url";
390
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
352
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
391
353
  type: "source-url";
392
- }>, "type"> | Exclude<"url" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
354
+ }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
393
355
  type: "source-url";
394
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
395
- type: "source-url";
396
- }>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
397
- type: "source-url";
398
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
399
- type: "source-url";
400
- }>, "type"> extends infer T extends keyof (ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
401
- type: "source-url";
402
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
356
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
403
357
  type: "source-url";
404
- }>) ? { [P in T]: (ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
405
- type: "source-url";
406
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
407
- type: "source-url";
408
- }>)[P] } : never) => ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
358
+ }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
409
359
  type: "source-url";
410
360
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
411
361
  type: "source-url";
412
362
  }>;
413
- sourceDocument: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
414
- type: "source-document";
415
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
416
- type: "source-document";
417
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
418
- type: "source-document";
419
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
420
- type: "source-document";
421
- }>, "type"> | Exclude<"sourceId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
422
- type: "source-document";
423
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
424
- type: "source-document";
425
- }>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
363
+ sourceDocument: (args: Omit<ai.SourceDocumentUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
426
364
  type: "source-document";
427
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
365
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
428
366
  type: "source-document";
429
- }>, "type"> | Exclude<"mediaType" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
367
+ }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
430
368
  type: "source-document";
431
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
369
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
432
370
  type: "source-document";
433
- }>, "type"> | Exclude<"filename" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
434
- type: "source-document";
435
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
436
- type: "source-document";
437
- }>, "type"> extends infer T extends keyof (ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
438
- type: "source-document";
439
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
440
- type: "source-document";
441
- }>) ? { [P in T]: (ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
442
- type: "source-document";
443
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
444
- type: "source-document";
445
- }>)[P] } : never) => ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
371
+ }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
446
372
  type: "source-document";
447
373
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
448
374
  type: "source-document";
449
375
  }>;
450
- file: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
451
- type: "file";
452
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
453
- type: "file";
454
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
376
+ file: (args: Omit<ai.FileUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
455
377
  type: "file";
456
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
457
- type: "file";
458
- }>, "type"> | Exclude<"url" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
459
- type: "file";
460
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
461
- type: "file";
462
- }>, "type"> | Exclude<"mediaType" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
463
- type: "file";
464
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
465
- type: "file";
466
- }>, "type"> | Exclude<"filename" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
467
- type: "file";
468
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
469
- type: "file";
470
- }>, "type"> extends infer T extends keyof (ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
471
- type: "file";
472
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
378
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
473
379
  type: "file";
474
- }>) ? { [P in T]: (ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
380
+ }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
475
381
  type: "file";
476
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
382
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
477
383
  type: "file";
478
- }>)[P] } : never) => ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
384
+ }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
479
385
  type: "file";
480
386
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
481
387
  type: "file";
@@ -483,61 +389,315 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
483
389
  stepStart: () => ai.StepStartUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
484
390
  type: "step-start";
485
391
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
486
- type: "step-start";
392
+ type: "step-start";
393
+ }>;
394
+ data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
395
+ id?: string;
396
+ }) => Extract<ai.TextUIPart, {
397
+ type: `data-${NAME}`;
398
+ }> | Extract<ai.ReasoningUIPart, {
399
+ type: `data-${NAME}`;
400
+ }> | Extract<{
401
+ type: "dynamic-tool";
402
+ toolName: string;
403
+ toolCallId: string;
404
+ title?: string;
405
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
406
+ providerExecuted?: boolean;
407
+ } & {
408
+ state: "input-streaming";
409
+ input?: unknown;
410
+ output?: never;
411
+ errorText?: never;
412
+ callProviderMetadata?: ai.ProviderMetadata;
413
+ approval?: never;
414
+ }, {
415
+ type: `data-${NAME}`;
416
+ }> | Extract<{
417
+ type: "dynamic-tool";
418
+ toolName: string;
419
+ toolCallId: string;
420
+ title?: string;
421
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
422
+ providerExecuted?: boolean;
423
+ } & {
424
+ state: "input-available";
425
+ input: unknown;
426
+ output?: never;
427
+ errorText?: never;
428
+ callProviderMetadata?: ai.ProviderMetadata;
429
+ approval?: never;
430
+ }, {
431
+ type: `data-${NAME}`;
432
+ }> | Extract<{
433
+ type: "dynamic-tool";
434
+ toolName: string;
435
+ toolCallId: string;
436
+ title?: string;
437
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
438
+ providerExecuted?: boolean;
439
+ } & {
440
+ state: "approval-requested";
441
+ input: unknown;
442
+ output?: never;
443
+ errorText?: never;
444
+ callProviderMetadata?: ai.ProviderMetadata;
445
+ approval: {
446
+ id: string;
447
+ approved?: never;
448
+ reason?: never;
449
+ };
450
+ }, {
451
+ type: `data-${NAME}`;
452
+ }> | Extract<{
453
+ type: "dynamic-tool";
454
+ toolName: string;
455
+ toolCallId: string;
456
+ title?: string;
457
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
458
+ providerExecuted?: boolean;
459
+ } & {
460
+ state: "approval-responded";
461
+ input: unknown;
462
+ output?: never;
463
+ errorText?: never;
464
+ callProviderMetadata?: ai.ProviderMetadata;
465
+ approval: {
466
+ id: string;
467
+ approved: boolean;
468
+ reason?: string;
469
+ };
470
+ }, {
471
+ type: `data-${NAME}`;
472
+ }> | Extract<{
473
+ type: "dynamic-tool";
474
+ toolName: string;
475
+ toolCallId: string;
476
+ title?: string;
477
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
478
+ providerExecuted?: boolean;
479
+ } & {
480
+ state: "output-available";
481
+ input: unknown;
482
+ output: unknown;
483
+ errorText?: never;
484
+ callProviderMetadata?: ai.ProviderMetadata;
485
+ resultProviderMetadata?: ai.ProviderMetadata;
486
+ preliminary?: boolean;
487
+ approval?: {
488
+ id: string;
489
+ approved: true;
490
+ reason?: string;
491
+ };
492
+ }, {
493
+ type: `data-${NAME}`;
494
+ }> | Extract<{
495
+ type: "dynamic-tool";
496
+ toolName: string;
497
+ toolCallId: string;
498
+ title?: string;
499
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
500
+ providerExecuted?: boolean;
501
+ } & {
502
+ state: "output-error";
503
+ input: unknown;
504
+ output?: never;
505
+ errorText: string;
506
+ callProviderMetadata?: ai.ProviderMetadata;
507
+ resultProviderMetadata?: ai.ProviderMetadata;
508
+ approval?: {
509
+ id: string;
510
+ approved: true;
511
+ reason?: string;
512
+ };
513
+ }, {
514
+ type: `data-${NAME}`;
515
+ }> | Extract<{
516
+ type: "dynamic-tool";
517
+ toolName: string;
518
+ toolCallId: string;
519
+ title?: string;
520
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
521
+ providerExecuted?: boolean;
522
+ } & {
523
+ state: "output-denied";
524
+ input: unknown;
525
+ output?: never;
526
+ errorText?: never;
527
+ callProviderMetadata?: ai.ProviderMetadata;
528
+ approval: {
529
+ id: string;
530
+ approved: false;
531
+ reason?: string;
532
+ };
533
+ }, {
534
+ type: `data-${NAME}`;
535
+ }> | Extract<ai.SourceUrlUIPart, {
536
+ type: `data-${NAME}`;
537
+ }> | Extract<ai.SourceDocumentUIPart, {
538
+ type: `data-${NAME}`;
539
+ }> | Extract<ai.FileUIPart, {
540
+ type: `data-${NAME}`;
541
+ }> | Extract<ai.StepStartUIPart, {
542
+ type: `data-${NAME}`;
543
+ }> | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
544
+ type: `data-${NAME}`;
545
+ }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
546
+ type: `data-${NAME}`;
547
+ }>;
548
+ tool: <NAME extends keyof ToolsOf<UI_MESSAGE> & string>(name: NAME, invocation: ai.UIToolInvocation<ToolsOf<UI_MESSAGE>[NAME]>) => Extract<ai.TextUIPart, {
549
+ type: `tool-${NAME}`;
550
+ }> | Extract<ai.ReasoningUIPart, {
551
+ type: `tool-${NAME}`;
552
+ }> | Extract<{
553
+ type: "dynamic-tool";
554
+ toolName: string;
555
+ toolCallId: string;
556
+ title?: string;
557
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
558
+ providerExecuted?: boolean;
559
+ } & {
560
+ state: "input-streaming";
561
+ input?: unknown;
562
+ output?: never;
563
+ errorText?: never;
564
+ callProviderMetadata?: ai.ProviderMetadata;
565
+ approval?: never;
566
+ }, {
567
+ type: `tool-${NAME}`;
568
+ }> | Extract<{
569
+ type: "dynamic-tool";
570
+ toolName: string;
571
+ toolCallId: string;
572
+ title?: string;
573
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
574
+ providerExecuted?: boolean;
575
+ } & {
576
+ state: "input-available";
577
+ input: unknown;
578
+ output?: never;
579
+ errorText?: never;
580
+ callProviderMetadata?: ai.ProviderMetadata;
581
+ approval?: never;
582
+ }, {
583
+ type: `tool-${NAME}`;
584
+ }> | Extract<{
585
+ type: "dynamic-tool";
586
+ toolName: string;
587
+ toolCallId: string;
588
+ title?: string;
589
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
590
+ providerExecuted?: boolean;
591
+ } & {
592
+ state: "approval-requested";
593
+ input: unknown;
594
+ output?: never;
595
+ errorText?: never;
596
+ callProviderMetadata?: ai.ProviderMetadata;
597
+ approval: {
598
+ id: string;
599
+ approved?: never;
600
+ reason?: never;
601
+ };
602
+ }, {
603
+ type: `tool-${NAME}`;
604
+ }> | Extract<{
605
+ type: "dynamic-tool";
606
+ toolName: string;
607
+ toolCallId: string;
608
+ title?: string;
609
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
610
+ providerExecuted?: boolean;
611
+ } & {
612
+ state: "approval-responded";
613
+ input: unknown;
614
+ output?: never;
615
+ errorText?: never;
616
+ callProviderMetadata?: ai.ProviderMetadata;
617
+ approval: {
618
+ id: string;
619
+ approved: boolean;
620
+ reason?: string;
621
+ };
622
+ }, {
623
+ type: `tool-${NAME}`;
624
+ }> | Extract<{
625
+ type: "dynamic-tool";
626
+ toolName: string;
627
+ toolCallId: string;
628
+ title?: string;
629
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
630
+ providerExecuted?: boolean;
631
+ } & {
632
+ state: "output-available";
633
+ input: unknown;
634
+ output: unknown;
635
+ errorText?: never;
636
+ callProviderMetadata?: ai.ProviderMetadata;
637
+ resultProviderMetadata?: ai.ProviderMetadata;
638
+ preliminary?: boolean;
639
+ approval?: {
640
+ id: string;
641
+ approved: true;
642
+ reason?: string;
643
+ };
644
+ }, {
645
+ type: `tool-${NAME}`;
646
+ }> | Extract<{
647
+ type: "dynamic-tool";
648
+ toolName: string;
649
+ toolCallId: string;
650
+ title?: string;
651
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
652
+ providerExecuted?: boolean;
653
+ } & {
654
+ state: "output-error";
655
+ input: unknown;
656
+ output?: never;
657
+ errorText: string;
658
+ callProviderMetadata?: ai.ProviderMetadata;
659
+ resultProviderMetadata?: ai.ProviderMetadata;
660
+ approval?: {
661
+ id: string;
662
+ approved: true;
663
+ reason?: string;
664
+ };
665
+ }, {
666
+ type: `tool-${NAME}`;
667
+ }> | Extract<{
668
+ type: "dynamic-tool";
669
+ toolName: string;
670
+ toolCallId: string;
671
+ title?: string;
672
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
673
+ providerExecuted?: boolean;
674
+ } & {
675
+ state: "output-denied";
676
+ input: unknown;
677
+ output?: never;
678
+ errorText?: never;
679
+ callProviderMetadata?: ai.ProviderMetadata;
680
+ approval: {
681
+ id: string;
682
+ approved: false;
683
+ reason?: string;
684
+ };
685
+ }, {
686
+ type: `tool-${NAME}`;
687
+ }> | Extract<ai.SourceUrlUIPart, {
688
+ type: `tool-${NAME}`;
689
+ }> | Extract<ai.SourceDocumentUIPart, {
690
+ type: `tool-${NAME}`;
691
+ }> | Extract<ai.FileUIPart, {
692
+ type: `tool-${NAME}`;
693
+ }> | Extract<ai.StepStartUIPart, {
694
+ type: `tool-${NAME}`;
695
+ }> | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
696
+ type: `tool-${NAME}`;
697
+ }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
698
+ type: `tool-${NAME}`;
487
699
  }>;
488
- data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
489
- id?: string;
490
- }) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
491
- tool: <NAME extends keyof ToolsOf<UI_MESSAGE> & string>(name: NAME, invocation: ai.UIToolInvocation<ToolsOf<UI_MESSAGE>[NAME]>) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
492
- dynamicTool: (args: Exclude<"type" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
493
- type: "dynamic-tool";
494
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
495
- type: "dynamic-tool";
496
- }>, "type"> | Exclude<"state" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
497
- type: "dynamic-tool";
498
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
499
- type: "dynamic-tool";
500
- }>, "type"> | Exclude<"title" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
501
- type: "dynamic-tool";
502
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
503
- type: "dynamic-tool";
504
- }>, "type"> | Exclude<"toolName" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
505
- type: "dynamic-tool";
506
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
507
- type: "dynamic-tool";
508
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
509
- type: "dynamic-tool";
510
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
511
- type: "dynamic-tool";
512
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
513
- type: "dynamic-tool";
514
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
515
- type: "dynamic-tool";
516
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
517
- type: "dynamic-tool";
518
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
519
- type: "dynamic-tool";
520
- }>, "type"> | Exclude<"input" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
521
- type: "dynamic-tool";
522
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
523
- type: "dynamic-tool";
524
- }>, "type"> | Exclude<"output" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
525
- type: "dynamic-tool";
526
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
527
- type: "dynamic-tool";
528
- }>, "type"> | Exclude<"errorText" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
529
- type: "dynamic-tool";
530
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
531
- type: "dynamic-tool";
532
- }>, "type"> | Exclude<"callProviderMetadata" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
533
- type: "dynamic-tool";
534
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
535
- type: "dynamic-tool";
536
- }>, "type"> | Exclude<"approval" & keyof Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
537
- type: "dynamic-tool";
538
- }> & keyof Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
539
- type: "dynamic-tool";
540
- }>, "type"> extends infer T extends keyof (({
700
+ dynamicTool: (args: Omit<{
541
701
  type: "dynamic-tool";
542
702
  toolName: string;
543
703
  toolCallId: string;
@@ -551,7 +711,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
551
711
  errorText?: never;
552
712
  callProviderMetadata?: ai.ProviderMetadata;
553
713
  approval?: never;
554
- }) | ({
714
+ }, "type"> | Omit<{
555
715
  type: "dynamic-tool";
556
716
  toolName: string;
557
717
  toolCallId: string;
@@ -565,7 +725,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
565
725
  errorText?: never;
566
726
  callProviderMetadata?: ai.ProviderMetadata;
567
727
  approval?: never;
568
- }) | ({
728
+ }, "type"> | Omit<{
569
729
  type: "dynamic-tool";
570
730
  toolName: string;
571
731
  toolCallId: string;
@@ -583,7 +743,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
583
743
  approved?: never;
584
744
  reason?: never;
585
745
  };
586
- }) | ({
746
+ }, "type"> | Omit<{
587
747
  type: "dynamic-tool";
588
748
  toolName: string;
589
749
  toolCallId: string;
@@ -601,7 +761,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
601
761
  approved: boolean;
602
762
  reason?: string;
603
763
  };
604
- }) | ({
764
+ }, "type"> | Omit<{
605
765
  type: "dynamic-tool";
606
766
  toolName: string;
607
767
  toolCallId: string;
@@ -621,7 +781,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
621
781
  approved: true;
622
782
  reason?: string;
623
783
  };
624
- }) | ({
784
+ }, "type"> | Omit<{
625
785
  type: "dynamic-tool";
626
786
  toolName: string;
627
787
  toolCallId: string;
@@ -640,7 +800,7 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
640
800
  approved: true;
641
801
  reason?: string;
642
802
  };
643
- }) | ({
803
+ }, "type"> | Omit<{
644
804
  type: "dynamic-tool";
645
805
  toolName: string;
646
806
  toolCallId: string;
@@ -658,11 +818,15 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
658
818
  approved: false;
659
819
  reason?: string;
660
820
  };
661
- }) | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
821
+ }, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
662
822
  type: "dynamic-tool";
663
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
823
+ }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
824
+ type: "dynamic-tool";
825
+ }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
826
+ type: "dynamic-tool";
827
+ }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
664
828
  type: "dynamic-tool";
665
- }>) ? { [P in T]: (({
829
+ }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ({
666
830
  type: "dynamic-tool";
667
831
  toolName: string;
668
832
  toolCallId: string;
@@ -787,17 +951,17 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
787
951
  type: "dynamic-tool";
788
952
  }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
789
953
  type: "dynamic-tool";
790
- }>)[P] } : never) => ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
954
+ }>;
791
955
  };
792
956
  UIChunks: {
793
- textStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
957
+ textStart: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
794
958
  type: `data-${NAME}`;
795
959
  id?: string;
796
960
  data: DataOf<UI_MESSAGE>[NAME];
797
961
  transient?: boolean;
798
962
  } }[keyof DataOf<UI_MESSAGE> & string], {
799
963
  type: "text-start";
800
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
964
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
801
965
  type: `data-${NAME}`;
802
966
  id?: string;
803
967
  data: DataOf<UI_MESSAGE>[NAME];
@@ -845,14 +1009,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
845
1009
  } }[keyof DataOf<UI_MESSAGE> & string], {
846
1010
  type: "text-start";
847
1011
  }>;
848
- textDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1012
+ textDelta: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
849
1013
  type: `data-${NAME}`;
850
1014
  id?: string;
851
1015
  data: DataOf<UI_MESSAGE>[NAME];
852
1016
  transient?: boolean;
853
1017
  } }[keyof DataOf<UI_MESSAGE> & string], {
854
1018
  type: "text-delta";
855
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1019
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
856
1020
  type: `data-${NAME}`;
857
1021
  id?: string;
858
1022
  data: DataOf<UI_MESSAGE>[NAME];
@@ -910,14 +1074,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
910
1074
  } }[keyof DataOf<UI_MESSAGE> & string], {
911
1075
  type: "text-delta";
912
1076
  }>;
913
- textEnd: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1077
+ textEnd: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
914
1078
  type: `data-${NAME}`;
915
1079
  id?: string;
916
1080
  data: DataOf<UI_MESSAGE>[NAME];
917
1081
  transient?: boolean;
918
1082
  } }[keyof DataOf<UI_MESSAGE> & string], {
919
1083
  type: "text-end";
920
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1084
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
921
1085
  type: `data-${NAME}`;
922
1086
  id?: string;
923
1087
  data: DataOf<UI_MESSAGE>[NAME];
@@ -965,14 +1129,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
965
1129
  } }[keyof DataOf<UI_MESSAGE> & string], {
966
1130
  type: "text-end";
967
1131
  }>;
968
- reasoningStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1132
+ reasoningStart: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
969
1133
  type: `data-${NAME}`;
970
1134
  id?: string;
971
1135
  data: DataOf<UI_MESSAGE>[NAME];
972
1136
  transient?: boolean;
973
1137
  } }[keyof DataOf<UI_MESSAGE> & string], {
974
1138
  type: "reasoning-start";
975
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1139
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
976
1140
  type: `data-${NAME}`;
977
1141
  id?: string;
978
1142
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1020,14 +1184,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1020
1184
  } }[keyof DataOf<UI_MESSAGE> & string], {
1021
1185
  type: "reasoning-start";
1022
1186
  }>;
1023
- reasoningDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1187
+ reasoningDelta: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1024
1188
  type: `data-${NAME}`;
1025
1189
  id?: string;
1026
1190
  data: DataOf<UI_MESSAGE>[NAME];
1027
1191
  transient?: boolean;
1028
1192
  } }[keyof DataOf<UI_MESSAGE> & string], {
1029
1193
  type: "reasoning-delta";
1030
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1194
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1031
1195
  type: `data-${NAME}`;
1032
1196
  id?: string;
1033
1197
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1085,14 +1249,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1085
1249
  } }[keyof DataOf<UI_MESSAGE> & string], {
1086
1250
  type: "reasoning-delta";
1087
1251
  }>;
1088
- reasoningEnd: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1252
+ reasoningEnd: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1089
1253
  type: `data-${NAME}`;
1090
1254
  id?: string;
1091
1255
  data: DataOf<UI_MESSAGE>[NAME];
1092
1256
  transient?: boolean;
1093
1257
  } }[keyof DataOf<UI_MESSAGE> & string], {
1094
1258
  type: "reasoning-end";
1095
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1259
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1096
1260
  type: `data-${NAME}`;
1097
1261
  id?: string;
1098
1262
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1151,56 +1315,56 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1151
1315
  } }[keyof DataOf<UI_MESSAGE> & string], {
1152
1316
  type: "error";
1153
1317
  }>;
1154
- toolInputStart: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1318
+ toolInputStart: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1155
1319
  type: `data-${NAME}`;
1156
1320
  id?: string;
1157
1321
  data: DataOf<UI_MESSAGE>[NAME];
1158
1322
  transient?: boolean;
1159
1323
  } }[keyof DataOf<UI_MESSAGE> & string], {
1160
1324
  type: "tool-input-start";
1161
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1325
+ }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1162
1326
  type: `data-${NAME}`;
1163
1327
  id?: string;
1164
1328
  data: DataOf<UI_MESSAGE>[NAME];
1165
1329
  transient?: boolean;
1166
1330
  } }[keyof DataOf<UI_MESSAGE> & string], {
1167
1331
  type: "tool-input-start";
1168
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1332
+ }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1169
1333
  type: `data-${NAME}`;
1170
1334
  id?: string;
1171
1335
  data: DataOf<UI_MESSAGE>[NAME];
1172
1336
  transient?: boolean;
1173
1337
  } }[keyof DataOf<UI_MESSAGE> & string], {
1174
1338
  type: "tool-input-start";
1175
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1339
+ }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1176
1340
  type: `data-${NAME}`;
1177
1341
  id?: string;
1178
1342
  data: DataOf<UI_MESSAGE>[NAME];
1179
1343
  transient?: boolean;
1180
1344
  } }[keyof DataOf<UI_MESSAGE> & string], {
1181
1345
  type: "tool-input-start";
1182
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1346
+ }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1183
1347
  type: `data-${NAME}`;
1184
1348
  id?: string;
1185
1349
  data: DataOf<UI_MESSAGE>[NAME];
1186
1350
  transient?: boolean;
1187
1351
  } }[keyof DataOf<UI_MESSAGE> & string], {
1188
1352
  type: "tool-input-start";
1189
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1353
+ }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1190
1354
  type: `data-${NAME}`;
1191
1355
  id?: string;
1192
1356
  data: DataOf<UI_MESSAGE>[NAME];
1193
1357
  transient?: boolean;
1194
1358
  } }[keyof DataOf<UI_MESSAGE> & string], {
1195
1359
  type: "tool-input-start";
1196
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1360
+ }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1197
1361
  type: `data-${NAME}`;
1198
1362
  id?: string;
1199
1363
  data: DataOf<UI_MESSAGE>[NAME];
1200
1364
  transient?: boolean;
1201
1365
  } }[keyof DataOf<UI_MESSAGE> & string], {
1202
1366
  type: "tool-input-start";
1203
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1367
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1204
1368
  type: `data-${NAME}`;
1205
1369
  id?: string;
1206
1370
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1256,14 +1420,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1256
1420
  } }[keyof DataOf<UI_MESSAGE> & string], {
1257
1421
  type: "tool-input-start";
1258
1422
  }>;
1259
- toolInputDelta: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1423
+ toolInputDelta: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1260
1424
  type: `data-${NAME}`;
1261
1425
  id?: string;
1262
1426
  data: DataOf<UI_MESSAGE>[NAME];
1263
1427
  transient?: boolean;
1264
1428
  } }[keyof DataOf<UI_MESSAGE> & string], {
1265
1429
  type: "tool-input-delta";
1266
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1430
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1267
1431
  type: `data-${NAME}`;
1268
1432
  id?: string;
1269
1433
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1311,63 +1475,63 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1311
1475
  } }[keyof DataOf<UI_MESSAGE> & string], {
1312
1476
  type: "tool-input-delta";
1313
1477
  }>;
1314
- toolInputAvailable: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1478
+ toolInputAvailable: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1315
1479
  type: `data-${NAME}`;
1316
1480
  id?: string;
1317
1481
  data: DataOf<UI_MESSAGE>[NAME];
1318
1482
  transient?: boolean;
1319
1483
  } }[keyof DataOf<UI_MESSAGE> & string], {
1320
1484
  type: "tool-input-available";
1321
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1485
+ }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1322
1486
  type: `data-${NAME}`;
1323
1487
  id?: string;
1324
1488
  data: DataOf<UI_MESSAGE>[NAME];
1325
1489
  transient?: boolean;
1326
1490
  } }[keyof DataOf<UI_MESSAGE> & string], {
1327
1491
  type: "tool-input-available";
1328
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1492
+ }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1329
1493
  type: `data-${NAME}`;
1330
1494
  id?: string;
1331
1495
  data: DataOf<UI_MESSAGE>[NAME];
1332
1496
  transient?: boolean;
1333
1497
  } }[keyof DataOf<UI_MESSAGE> & string], {
1334
1498
  type: "tool-input-available";
1335
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1499
+ }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1336
1500
  type: `data-${NAME}`;
1337
1501
  id?: string;
1338
1502
  data: DataOf<UI_MESSAGE>[NAME];
1339
1503
  transient?: boolean;
1340
1504
  } }[keyof DataOf<UI_MESSAGE> & string], {
1341
1505
  type: "tool-input-available";
1342
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1506
+ }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1343
1507
  type: `data-${NAME}`;
1344
1508
  id?: string;
1345
1509
  data: DataOf<UI_MESSAGE>[NAME];
1346
1510
  transient?: boolean;
1347
1511
  } }[keyof DataOf<UI_MESSAGE> & string], {
1348
1512
  type: "tool-input-available";
1349
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1513
+ }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1350
1514
  type: `data-${NAME}`;
1351
1515
  id?: string;
1352
1516
  data: DataOf<UI_MESSAGE>[NAME];
1353
1517
  transient?: boolean;
1354
1518
  } }[keyof DataOf<UI_MESSAGE> & string], {
1355
1519
  type: "tool-input-available";
1356
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1520
+ }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1357
1521
  type: `data-${NAME}`;
1358
1522
  id?: string;
1359
1523
  data: DataOf<UI_MESSAGE>[NAME];
1360
1524
  transient?: boolean;
1361
1525
  } }[keyof DataOf<UI_MESSAGE> & string], {
1362
1526
  type: "tool-input-available";
1363
- }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1527
+ }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1364
1528
  type: `data-${NAME}`;
1365
1529
  id?: string;
1366
1530
  data: DataOf<UI_MESSAGE>[NAME];
1367
1531
  transient?: boolean;
1368
1532
  } }[keyof DataOf<UI_MESSAGE> & string], {
1369
1533
  type: "tool-input-available";
1370
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1534
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1371
1535
  type: `data-${NAME}`;
1372
1536
  id?: string;
1373
1537
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1426,70 +1590,70 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1426
1590
  } }[keyof DataOf<UI_MESSAGE> & string], {
1427
1591
  type: "tool-input-available";
1428
1592
  }>;
1429
- toolInputError: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1593
+ toolInputError: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1430
1594
  type: `data-${NAME}`;
1431
1595
  id?: string;
1432
1596
  data: DataOf<UI_MESSAGE>[NAME];
1433
1597
  transient?: boolean;
1434
1598
  } }[keyof DataOf<UI_MESSAGE> & string], {
1435
1599
  type: "tool-input-error";
1436
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1600
+ }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1437
1601
  type: `data-${NAME}`;
1438
1602
  id?: string;
1439
1603
  data: DataOf<UI_MESSAGE>[NAME];
1440
1604
  transient?: boolean;
1441
1605
  } }[keyof DataOf<UI_MESSAGE> & string], {
1442
1606
  type: "tool-input-error";
1443
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1607
+ }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1444
1608
  type: `data-${NAME}`;
1445
1609
  id?: string;
1446
1610
  data: DataOf<UI_MESSAGE>[NAME];
1447
1611
  transient?: boolean;
1448
1612
  } }[keyof DataOf<UI_MESSAGE> & string], {
1449
1613
  type: "tool-input-error";
1450
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1614
+ }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1451
1615
  type: `data-${NAME}`;
1452
1616
  id?: string;
1453
1617
  data: DataOf<UI_MESSAGE>[NAME];
1454
1618
  transient?: boolean;
1455
1619
  } }[keyof DataOf<UI_MESSAGE> & string], {
1456
1620
  type: "tool-input-error";
1457
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1621
+ }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1458
1622
  type: `data-${NAME}`;
1459
1623
  id?: string;
1460
1624
  data: DataOf<UI_MESSAGE>[NAME];
1461
1625
  transient?: boolean;
1462
1626
  } }[keyof DataOf<UI_MESSAGE> & string], {
1463
1627
  type: "tool-input-error";
1464
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1628
+ }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1465
1629
  type: `data-${NAME}`;
1466
1630
  id?: string;
1467
1631
  data: DataOf<UI_MESSAGE>[NAME];
1468
1632
  transient?: boolean;
1469
1633
  } }[keyof DataOf<UI_MESSAGE> & string], {
1470
1634
  type: "tool-input-error";
1471
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1635
+ }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1472
1636
  type: `data-${NAME}`;
1473
1637
  id?: string;
1474
1638
  data: DataOf<UI_MESSAGE>[NAME];
1475
1639
  transient?: boolean;
1476
1640
  } }[keyof DataOf<UI_MESSAGE> & string], {
1477
1641
  type: "tool-input-error";
1478
- }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1642
+ }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1479
1643
  type: `data-${NAME}`;
1480
1644
  id?: string;
1481
1645
  data: DataOf<UI_MESSAGE>[NAME];
1482
1646
  transient?: boolean;
1483
1647
  } }[keyof DataOf<UI_MESSAGE> & string], {
1484
1648
  type: "tool-input-error";
1485
- }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1649
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1486
1650
  type: `data-${NAME}`;
1487
1651
  id?: string;
1488
1652
  data: DataOf<UI_MESSAGE>[NAME];
1489
1653
  transient?: boolean;
1490
1654
  } }[keyof DataOf<UI_MESSAGE> & string], {
1491
1655
  type: "tool-input-error";
1492
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1656
+ }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1493
1657
  type: `data-${NAME}`;
1494
1658
  id?: string;
1495
1659
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1551,14 +1715,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1551
1715
  } }[keyof DataOf<UI_MESSAGE> & string], {
1552
1716
  type: "tool-input-error";
1553
1717
  }>;
1554
- toolApprovalRequest: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1718
+ toolApprovalRequest: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1555
1719
  type: `data-${NAME}`;
1556
1720
  id?: string;
1557
1721
  data: DataOf<UI_MESSAGE>[NAME];
1558
1722
  transient?: boolean;
1559
1723
  } }[keyof DataOf<UI_MESSAGE> & string], {
1560
1724
  type: "tool-approval-request";
1561
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1725
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1562
1726
  type: `data-${NAME}`;
1563
1727
  id?: string;
1564
1728
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1606,21 +1770,21 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1606
1770
  } }[keyof DataOf<UI_MESSAGE> & string], {
1607
1771
  type: "tool-approval-request";
1608
1772
  }>;
1609
- toolOutputAvailable: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1773
+ toolOutputAvailable: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1610
1774
  type: `data-${NAME}`;
1611
1775
  id?: string;
1612
1776
  data: DataOf<UI_MESSAGE>[NAME];
1613
1777
  transient?: boolean;
1614
1778
  } }[keyof DataOf<UI_MESSAGE> & string], {
1615
1779
  type: "tool-output-available";
1616
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1780
+ }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1617
1781
  type: `data-${NAME}`;
1618
1782
  id?: string;
1619
1783
  data: DataOf<UI_MESSAGE>[NAME];
1620
1784
  transient?: boolean;
1621
1785
  } }[keyof DataOf<UI_MESSAGE> & string], {
1622
1786
  type: "tool-output-available";
1623
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1787
+ }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1624
1788
  type: `data-${NAME}`;
1625
1789
  id?: string;
1626
1790
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1634,28 +1798,28 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1634
1798
  transient?: boolean;
1635
1799
  } }[keyof DataOf<UI_MESSAGE> & string], {
1636
1800
  type: "tool-output-available";
1637
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1801
+ }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1638
1802
  type: `data-${NAME}`;
1639
1803
  id?: string;
1640
1804
  data: DataOf<UI_MESSAGE>[NAME];
1641
1805
  transient?: boolean;
1642
1806
  } }[keyof DataOf<UI_MESSAGE> & string], {
1643
1807
  type: "tool-output-available";
1644
- }>, "type"> | Exclude<"output" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1808
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1645
1809
  type: `data-${NAME}`;
1646
1810
  id?: string;
1647
1811
  data: DataOf<UI_MESSAGE>[NAME];
1648
1812
  transient?: boolean;
1649
1813
  } }[keyof DataOf<UI_MESSAGE> & string], {
1650
1814
  type: "tool-output-available";
1651
- }>, "type"> | Exclude<"preliminary" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1815
+ }>, "type"> | Exclude<"output" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1652
1816
  type: `data-${NAME}`;
1653
1817
  id?: string;
1654
1818
  data: DataOf<UI_MESSAGE>[NAME];
1655
1819
  transient?: boolean;
1656
1820
  } }[keyof DataOf<UI_MESSAGE> & string], {
1657
1821
  type: "tool-output-available";
1658
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1822
+ }>, "type"> | Exclude<"preliminary" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1659
1823
  type: `data-${NAME}`;
1660
1824
  id?: string;
1661
1825
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1711,21 +1875,21 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1711
1875
  } }[keyof DataOf<UI_MESSAGE> & string], {
1712
1876
  type: "tool-output-available";
1713
1877
  }>;
1714
- toolOutputError: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1878
+ toolOutputError: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1715
1879
  type: `data-${NAME}`;
1716
1880
  id?: string;
1717
1881
  data: DataOf<UI_MESSAGE>[NAME];
1718
1882
  transient?: boolean;
1719
1883
  } }[keyof DataOf<UI_MESSAGE> & string], {
1720
1884
  type: "tool-output-error";
1721
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1885
+ }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1722
1886
  type: `data-${NAME}`;
1723
1887
  id?: string;
1724
1888
  data: DataOf<UI_MESSAGE>[NAME];
1725
1889
  transient?: boolean;
1726
1890
  } }[keyof DataOf<UI_MESSAGE> & string], {
1727
1891
  type: "tool-output-error";
1728
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1892
+ }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1729
1893
  type: `data-${NAME}`;
1730
1894
  id?: string;
1731
1895
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1739,21 +1903,21 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1739
1903
  transient?: boolean;
1740
1904
  } }[keyof DataOf<UI_MESSAGE> & string], {
1741
1905
  type: "tool-output-error";
1742
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1906
+ }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1743
1907
  type: `data-${NAME}`;
1744
1908
  id?: string;
1745
1909
  data: DataOf<UI_MESSAGE>[NAME];
1746
1910
  transient?: boolean;
1747
1911
  } }[keyof DataOf<UI_MESSAGE> & string], {
1748
1912
  type: "tool-output-error";
1749
- }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1913
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1750
1914
  type: `data-${NAME}`;
1751
1915
  id?: string;
1752
1916
  data: DataOf<UI_MESSAGE>[NAME];
1753
1917
  transient?: boolean;
1754
1918
  } }[keyof DataOf<UI_MESSAGE> & string], {
1755
1919
  type: "tool-output-error";
1756
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1920
+ }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1757
1921
  type: `data-${NAME}`;
1758
1922
  id?: string;
1759
1923
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1806,14 +1970,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1806
1970
  } }[keyof DataOf<UI_MESSAGE> & string], {
1807
1971
  type: "tool-output-error";
1808
1972
  }>;
1809
- toolOutputDenied: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1973
+ toolOutputDenied: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1810
1974
  type: `data-${NAME}`;
1811
1975
  id?: string;
1812
1976
  data: DataOf<UI_MESSAGE>[NAME];
1813
1977
  transient?: boolean;
1814
1978
  } }[keyof DataOf<UI_MESSAGE> & string], {
1815
1979
  type: "tool-output-denied";
1816
- }>, "type"> | Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1980
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1817
1981
  type: `data-${NAME}`;
1818
1982
  id?: string;
1819
1983
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1851,35 +2015,35 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1851
2015
  } }[keyof DataOf<UI_MESSAGE> & string], {
1852
2016
  type: "tool-output-denied";
1853
2017
  }>;
1854
- sourceUrl: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2018
+ sourceUrl: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1855
2019
  type: `data-${NAME}`;
1856
2020
  id?: string;
1857
2021
  data: DataOf<UI_MESSAGE>[NAME];
1858
2022
  transient?: boolean;
1859
2023
  } }[keyof DataOf<UI_MESSAGE> & string], {
1860
2024
  type: "source-url";
1861
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2025
+ }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1862
2026
  type: `data-${NAME}`;
1863
2027
  id?: string;
1864
2028
  data: DataOf<UI_MESSAGE>[NAME];
1865
2029
  transient?: boolean;
1866
2030
  } }[keyof DataOf<UI_MESSAGE> & string], {
1867
2031
  type: "source-url";
1868
- }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2032
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1869
2033
  type: `data-${NAME}`;
1870
2034
  id?: string;
1871
2035
  data: DataOf<UI_MESSAGE>[NAME];
1872
2036
  transient?: boolean;
1873
2037
  } }[keyof DataOf<UI_MESSAGE> & string], {
1874
2038
  type: "source-url";
1875
- }>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2039
+ }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1876
2040
  type: `data-${NAME}`;
1877
2041
  id?: string;
1878
2042
  data: DataOf<UI_MESSAGE>[NAME];
1879
2043
  transient?: boolean;
1880
2044
  } }[keyof DataOf<UI_MESSAGE> & string], {
1881
2045
  type: "source-url";
1882
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2046
+ }>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1883
2047
  type: `data-${NAME}`;
1884
2048
  id?: string;
1885
2049
  data: DataOf<UI_MESSAGE>[NAME];
@@ -1926,28 +2090,28 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
1926
2090
  } }[keyof DataOf<UI_MESSAGE> & string], {
1927
2091
  type: "source-url";
1928
2092
  }>;
1929
- sourceDocument: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2093
+ sourceDocument: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1930
2094
  type: `data-${NAME}`;
1931
2095
  id?: string;
1932
2096
  data: DataOf<UI_MESSAGE>[NAME];
1933
2097
  transient?: boolean;
1934
2098
  } }[keyof DataOf<UI_MESSAGE> & string], {
1935
2099
  type: "source-document";
1936
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2100
+ }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1937
2101
  type: `data-${NAME}`;
1938
2102
  id?: string;
1939
2103
  data: DataOf<UI_MESSAGE>[NAME];
1940
2104
  transient?: boolean;
1941
2105
  } }[keyof DataOf<UI_MESSAGE> & string], {
1942
2106
  type: "source-document";
1943
- }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2107
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1944
2108
  type: `data-${NAME}`;
1945
2109
  id?: string;
1946
2110
  data: DataOf<UI_MESSAGE>[NAME];
1947
2111
  transient?: boolean;
1948
2112
  } }[keyof DataOf<UI_MESSAGE> & string], {
1949
2113
  type: "source-document";
1950
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2114
+ }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1951
2115
  type: `data-${NAME}`;
1952
2116
  id?: string;
1953
2117
  data: DataOf<UI_MESSAGE>[NAME];
@@ -2011,14 +2175,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
2011
2175
  } }[keyof DataOf<UI_MESSAGE> & string], {
2012
2176
  type: "source-document";
2013
2177
  }>;
2014
- file: (args: Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2178
+ file: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2015
2179
  type: `data-${NAME}`;
2016
2180
  id?: string;
2017
2181
  data: DataOf<UI_MESSAGE>[NAME];
2018
2182
  transient?: boolean;
2019
2183
  } }[keyof DataOf<UI_MESSAGE> & string], {
2020
2184
  type: "file";
2021
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2185
+ }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2022
2186
  type: `data-${NAME}`;
2023
2187
  id?: string;
2024
2188
  data: DataOf<UI_MESSAGE>[NAME];
@@ -2079,7 +2243,185 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
2079
2243
  data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
2080
2244
  id?: string;
2081
2245
  transient?: boolean;
2082
- }) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>;
2246
+ }) => Extract<{
2247
+ type: "text-start";
2248
+ id: string;
2249
+ providerMetadata?: ai.ProviderMetadata;
2250
+ }, {
2251
+ type: `data-${NAME}`;
2252
+ }> | Extract<{
2253
+ type: "text-delta";
2254
+ delta: string;
2255
+ id: string;
2256
+ providerMetadata?: ai.ProviderMetadata;
2257
+ }, {
2258
+ type: `data-${NAME}`;
2259
+ }> | Extract<{
2260
+ type: "text-end";
2261
+ id: string;
2262
+ providerMetadata?: ai.ProviderMetadata;
2263
+ }, {
2264
+ type: `data-${NAME}`;
2265
+ }> | Extract<{
2266
+ type: "reasoning-start";
2267
+ id: string;
2268
+ providerMetadata?: ai.ProviderMetadata;
2269
+ }, {
2270
+ type: `data-${NAME}`;
2271
+ }> | Extract<{
2272
+ type: "reasoning-delta";
2273
+ id: string;
2274
+ delta: string;
2275
+ providerMetadata?: ai.ProviderMetadata;
2276
+ }, {
2277
+ type: `data-${NAME}`;
2278
+ }> | Extract<{
2279
+ type: "reasoning-end";
2280
+ id: string;
2281
+ providerMetadata?: ai.ProviderMetadata;
2282
+ }, {
2283
+ type: `data-${NAME}`;
2284
+ }> | Extract<{
2285
+ type: "error";
2286
+ errorText: string;
2287
+ }, {
2288
+ type: `data-${NAME}`;
2289
+ }> | Extract<{
2290
+ type: "tool-input-available";
2291
+ toolCallId: string;
2292
+ toolName: string;
2293
+ input: unknown;
2294
+ providerExecuted?: boolean;
2295
+ providerMetadata?: ai.ProviderMetadata;
2296
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
2297
+ dynamic?: boolean;
2298
+ title?: string;
2299
+ }, {
2300
+ type: `data-${NAME}`;
2301
+ }> | Extract<{
2302
+ type: "tool-input-error";
2303
+ toolCallId: string;
2304
+ toolName: string;
2305
+ input: unknown;
2306
+ providerExecuted?: boolean;
2307
+ providerMetadata?: ai.ProviderMetadata;
2308
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
2309
+ dynamic?: boolean;
2310
+ errorText: string;
2311
+ title?: string;
2312
+ }, {
2313
+ type: `data-${NAME}`;
2314
+ }> | Extract<{
2315
+ type: "tool-approval-request";
2316
+ approvalId: string;
2317
+ toolCallId: string;
2318
+ }, {
2319
+ type: `data-${NAME}`;
2320
+ }> | Extract<{
2321
+ type: "tool-output-available";
2322
+ toolCallId: string;
2323
+ output: unknown;
2324
+ providerExecuted?: boolean;
2325
+ providerMetadata?: ai.ProviderMetadata;
2326
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
2327
+ dynamic?: boolean;
2328
+ preliminary?: boolean;
2329
+ }, {
2330
+ type: `data-${NAME}`;
2331
+ }> | Extract<{
2332
+ type: "tool-output-error";
2333
+ toolCallId: string;
2334
+ errorText: string;
2335
+ providerExecuted?: boolean;
2336
+ providerMetadata?: ai.ProviderMetadata;
2337
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
2338
+ dynamic?: boolean;
2339
+ }, {
2340
+ type: `data-${NAME}`;
2341
+ }> | Extract<{
2342
+ type: "tool-output-denied";
2343
+ toolCallId: string;
2344
+ }, {
2345
+ type: `data-${NAME}`;
2346
+ }> | Extract<{
2347
+ type: "tool-input-start";
2348
+ toolCallId: string;
2349
+ toolName: string;
2350
+ providerExecuted?: boolean;
2351
+ providerMetadata?: ai.ProviderMetadata;
2352
+ toolMetadata?: _ai_sdk_provider0.JSONObject;
2353
+ dynamic?: boolean;
2354
+ title?: string;
2355
+ }, {
2356
+ type: `data-${NAME}`;
2357
+ }> | Extract<{
2358
+ type: "tool-input-delta";
2359
+ toolCallId: string;
2360
+ inputTextDelta: string;
2361
+ }, {
2362
+ type: `data-${NAME}`;
2363
+ }> | Extract<{
2364
+ type: "source-url";
2365
+ sourceId: string;
2366
+ url: string;
2367
+ title?: string;
2368
+ providerMetadata?: ai.ProviderMetadata;
2369
+ }, {
2370
+ type: `data-${NAME}`;
2371
+ }> | Extract<{
2372
+ type: "source-document";
2373
+ sourceId: string;
2374
+ mediaType: string;
2375
+ title: string;
2376
+ filename?: string;
2377
+ providerMetadata?: ai.ProviderMetadata;
2378
+ }, {
2379
+ type: `data-${NAME}`;
2380
+ }> | Extract<{
2381
+ type: "file";
2382
+ url: string;
2383
+ mediaType: string;
2384
+ providerMetadata?: ai.ProviderMetadata;
2385
+ }, {
2386
+ type: `data-${NAME}`;
2387
+ }> | Extract<{
2388
+ type: "start-step";
2389
+ }, {
2390
+ type: `data-${NAME}`;
2391
+ }> | Extract<{
2392
+ type: "finish-step";
2393
+ }, {
2394
+ type: `data-${NAME}`;
2395
+ }> | Extract<{
2396
+ type: "abort";
2397
+ reason?: string;
2398
+ }, {
2399
+ type: `data-${NAME}`;
2400
+ }> | Extract<{ [NAME_1 in keyof DataOf<UI_MESSAGE> & string]: {
2401
+ type: `data-${NAME_1}`;
2402
+ id?: string;
2403
+ data: DataOf<UI_MESSAGE>[NAME_1];
2404
+ transient?: boolean;
2405
+ } }[keyof DataOf<UI_MESSAGE> & string], {
2406
+ type: `data-${NAME}`;
2407
+ }> | Extract<{
2408
+ type: "start";
2409
+ messageId?: string;
2410
+ messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2411
+ }, {
2412
+ type: `data-${NAME}`;
2413
+ }> | Extract<{
2414
+ type: "finish";
2415
+ finishReason?: ai.FinishReason;
2416
+ messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2417
+ }, {
2418
+ type: `data-${NAME}`;
2419
+ }> | Extract<{
2420
+ type: "message-metadata";
2421
+ messageMetadata: MetadataOf<UI_MESSAGE>;
2422
+ }, {
2423
+ type: `data-${NAME}`;
2424
+ }>;
2083
2425
  startStep: () => {
2084
2426
  type: "start-step";
2085
2427
  } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
@@ -2162,14 +2504,14 @@ declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
2162
2504
  transient?: boolean;
2163
2505
  } }[keyof DataOf<UI_MESSAGE> & string], {
2164
2506
  type: "finish";
2165
- }>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2507
+ }>, "type"> | Exclude<"finishReason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2166
2508
  type: `data-${NAME}`;
2167
2509
  id?: string;
2168
2510
  data: DataOf<UI_MESSAGE>[NAME];
2169
2511
  transient?: boolean;
2170
2512
  } }[keyof DataOf<UI_MESSAGE> & string], {
2171
2513
  type: "finish";
2172
- }>, "type"> | Exclude<"finishReason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2514
+ }>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2173
2515
  type: `data-${NAME}`;
2174
2516
  id?: string;
2175
2517
  data: DataOf<UI_MESSAGE>[NAME];