ai-test-kit 1.0.1 → 1.1.0

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.
@@ -1,6 +1,6 @@
1
1
  import * as _ai_sdk_provider0 from "@ai-sdk/provider";
2
2
  import * as ai from "ai";
3
- import { UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIToolInvocation, UITools } from "ai";
3
+ import { InferUIMessageChunk, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIToolInvocation, UITools } from "ai";
4
4
 
5
5
  //#region src/ui/parts.d.ts
6
6
  /** A single part variant selected from the union by its `type` tag. */
@@ -320,2325 +320,42 @@ type ToolsOf<UI_MESSAGE> = UI_MESSAGE extends UIMessage<unknown, UIDataTypes, in
320
320
  * UIMessages.assistant([UIParts.text('hi')]);
321
321
  */
322
322
  declare const fromUIMessage: <UI_MESSAGE extends UIMessage>() => {
323
- UIParts: {
324
- text: (text: string, opts?: (Omit<ai.TextUIPart, "text" | "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
325
- type: "text";
326
- }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
327
- type: "text";
328
- }> ? T extends unknown ? Omit<T, "text" | "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
329
- type: "text";
330
- }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
331
- type: "text";
332
- }> ? T_1 extends unknown ? Omit<T_1, "text" | "type"> : never : never : never)) | undefined) => ai.TextUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
333
- type: "text";
334
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
335
- type: "text";
336
- }>;
337
- reasoning: (text: string, opts?: (Omit<ai.ReasoningUIPart, "text" | "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
338
- type: "reasoning";
339
- }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
340
- type: "reasoning";
341
- }> ? T extends unknown ? Omit<T, "text" | "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
342
- type: "reasoning";
343
- }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
344
- type: "reasoning";
345
- }> ? T_1 extends unknown ? Omit<T_1, "text" | "type"> : never : never : never)) | undefined) => ai.ReasoningUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
346
- type: "reasoning";
347
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
348
- type: "reasoning";
349
- }>;
350
- sourceUrl: (args: Omit<ai.SourceUrlUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
351
- type: "source-url";
352
- }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
353
- type: "source-url";
354
- }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
355
- type: "source-url";
356
- }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
357
- type: "source-url";
358
- }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.SourceUrlUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
359
- type: "source-url";
360
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
361
- type: "source-url";
362
- }>;
363
- sourceDocument: (args: Omit<ai.SourceDocumentUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
364
- type: "source-document";
365
- }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
366
- type: "source-document";
367
- }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
368
- type: "source-document";
369
- }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
370
- type: "source-document";
371
- }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.SourceDocumentUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
372
- type: "source-document";
373
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
374
- type: "source-document";
375
- }>;
376
- file: (args: Omit<ai.FileUIPart, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
377
- type: "file";
378
- }> extends infer T ? T extends Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
379
- type: "file";
380
- }> ? T extends unknown ? Omit<T, "type"> : never : never : never) | (Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
381
- type: "file";
382
- }> extends infer T_1 ? T_1 extends Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
383
- type: "file";
384
- }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ai.FileUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
385
- type: "file";
386
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
387
- type: "file";
388
- }>;
389
- stepStart: () => ai.StepStartUIPart | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
390
- type: "step-start";
391
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
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}`;
699
- }>;
700
- dynamicTool: (args: Omit<{
701
- type: "dynamic-tool";
702
- toolName: string;
703
- toolCallId: string;
704
- title?: string;
705
- toolMetadata?: _ai_sdk_provider0.JSONObject;
706
- providerExecuted?: boolean;
707
- } & {
708
- state: "input-streaming";
709
- input?: unknown;
710
- output?: never;
711
- errorText?: never;
712
- callProviderMetadata?: ai.ProviderMetadata;
713
- approval?: never;
714
- }, "type"> | Omit<{
715
- type: "dynamic-tool";
716
- toolName: string;
717
- toolCallId: string;
718
- title?: string;
719
- toolMetadata?: _ai_sdk_provider0.JSONObject;
720
- providerExecuted?: boolean;
721
- } & {
722
- state: "input-available";
723
- input: unknown;
724
- output?: never;
725
- errorText?: never;
726
- callProviderMetadata?: ai.ProviderMetadata;
727
- approval?: never;
728
- }, "type"> | Omit<{
729
- type: "dynamic-tool";
730
- toolName: string;
731
- toolCallId: string;
732
- title?: string;
733
- toolMetadata?: _ai_sdk_provider0.JSONObject;
734
- providerExecuted?: boolean;
735
- } & {
736
- state: "approval-requested";
737
- input: unknown;
738
- output?: never;
739
- errorText?: never;
740
- callProviderMetadata?: ai.ProviderMetadata;
741
- approval: {
742
- id: string;
743
- approved?: never;
744
- reason?: never;
745
- };
746
- }, "type"> | Omit<{
747
- type: "dynamic-tool";
748
- toolName: string;
749
- toolCallId: string;
750
- title?: string;
751
- toolMetadata?: _ai_sdk_provider0.JSONObject;
752
- providerExecuted?: boolean;
753
- } & {
754
- state: "approval-responded";
755
- input: unknown;
756
- output?: never;
757
- errorText?: never;
758
- callProviderMetadata?: ai.ProviderMetadata;
759
- approval: {
760
- id: string;
761
- approved: boolean;
762
- reason?: string;
763
- };
764
- }, "type"> | Omit<{
765
- type: "dynamic-tool";
766
- toolName: string;
767
- toolCallId: string;
768
- title?: string;
769
- toolMetadata?: _ai_sdk_provider0.JSONObject;
770
- providerExecuted?: boolean;
771
- } & {
772
- state: "output-available";
773
- input: unknown;
774
- output: unknown;
775
- errorText?: never;
776
- callProviderMetadata?: ai.ProviderMetadata;
777
- resultProviderMetadata?: ai.ProviderMetadata;
778
- preliminary?: boolean;
779
- approval?: {
780
- id: string;
781
- approved: true;
782
- reason?: string;
783
- };
784
- }, "type"> | Omit<{
785
- type: "dynamic-tool";
786
- toolName: string;
787
- toolCallId: string;
788
- title?: string;
789
- toolMetadata?: _ai_sdk_provider0.JSONObject;
790
- providerExecuted?: boolean;
791
- } & {
792
- state: "output-error";
793
- input: unknown;
794
- output?: never;
795
- errorText: string;
796
- callProviderMetadata?: ai.ProviderMetadata;
797
- resultProviderMetadata?: ai.ProviderMetadata;
798
- approval?: {
799
- id: string;
800
- approved: true;
801
- reason?: string;
802
- };
803
- }, "type"> | Omit<{
804
- type: "dynamic-tool";
805
- toolName: string;
806
- toolCallId: string;
807
- title?: string;
808
- toolMetadata?: _ai_sdk_provider0.JSONObject;
809
- providerExecuted?: boolean;
810
- } & {
811
- state: "output-denied";
812
- input: unknown;
813
- output?: never;
814
- errorText?: never;
815
- callProviderMetadata?: ai.ProviderMetadata;
816
- approval: {
817
- id: string;
818
- approved: false;
819
- reason?: string;
820
- };
821
- }, "type"> | (Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
822
- type: "dynamic-tool";
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>>, {
828
- type: "dynamic-tool";
829
- }> ? T_1 extends unknown ? Omit<T_1, "type"> : never : never : never)) => ({
830
- type: "dynamic-tool";
831
- toolName: string;
832
- toolCallId: string;
833
- title?: string;
834
- toolMetadata?: _ai_sdk_provider0.JSONObject;
835
- providerExecuted?: boolean;
836
- } & {
837
- state: "input-streaming";
838
- input?: unknown;
839
- output?: never;
840
- errorText?: never;
841
- callProviderMetadata?: ai.ProviderMetadata;
842
- approval?: never;
843
- }) | ({
844
- type: "dynamic-tool";
845
- toolName: string;
846
- toolCallId: string;
847
- title?: string;
848
- toolMetadata?: _ai_sdk_provider0.JSONObject;
849
- providerExecuted?: boolean;
850
- } & {
851
- state: "input-available";
852
- input: unknown;
853
- output?: never;
854
- errorText?: never;
855
- callProviderMetadata?: ai.ProviderMetadata;
856
- approval?: never;
857
- }) | ({
858
- type: "dynamic-tool";
859
- toolName: string;
860
- toolCallId: string;
861
- title?: string;
862
- toolMetadata?: _ai_sdk_provider0.JSONObject;
863
- providerExecuted?: boolean;
864
- } & {
865
- state: "approval-requested";
866
- input: unknown;
867
- output?: never;
868
- errorText?: never;
869
- callProviderMetadata?: ai.ProviderMetadata;
870
- approval: {
871
- id: string;
872
- approved?: never;
873
- reason?: never;
874
- };
875
- }) | ({
876
- type: "dynamic-tool";
877
- toolName: string;
878
- toolCallId: string;
879
- title?: string;
880
- toolMetadata?: _ai_sdk_provider0.JSONObject;
881
- providerExecuted?: boolean;
882
- } & {
883
- state: "approval-responded";
884
- input: unknown;
885
- output?: never;
886
- errorText?: never;
887
- callProviderMetadata?: ai.ProviderMetadata;
888
- approval: {
889
- id: string;
890
- approved: boolean;
891
- reason?: string;
892
- };
893
- }) | ({
894
- type: "dynamic-tool";
895
- toolName: string;
896
- toolCallId: string;
897
- title?: string;
898
- toolMetadata?: _ai_sdk_provider0.JSONObject;
899
- providerExecuted?: boolean;
900
- } & {
901
- state: "output-available";
902
- input: unknown;
903
- output: unknown;
904
- errorText?: never;
905
- callProviderMetadata?: ai.ProviderMetadata;
906
- resultProviderMetadata?: ai.ProviderMetadata;
907
- preliminary?: boolean;
908
- approval?: {
909
- id: string;
910
- approved: true;
911
- reason?: string;
912
- };
913
- }) | ({
914
- type: "dynamic-tool";
915
- toolName: string;
916
- toolCallId: string;
917
- title?: string;
918
- toolMetadata?: _ai_sdk_provider0.JSONObject;
919
- providerExecuted?: boolean;
920
- } & {
921
- state: "output-error";
922
- input: unknown;
923
- output?: never;
924
- errorText: string;
925
- callProviderMetadata?: ai.ProviderMetadata;
926
- resultProviderMetadata?: ai.ProviderMetadata;
927
- approval?: {
928
- id: string;
929
- approved: true;
930
- reason?: string;
931
- };
932
- }) | ({
933
- type: "dynamic-tool";
934
- toolName: string;
935
- toolCallId: string;
936
- title?: string;
937
- toolMetadata?: _ai_sdk_provider0.JSONObject;
938
- providerExecuted?: boolean;
939
- } & {
940
- state: "output-denied";
941
- input: unknown;
942
- output?: never;
943
- errorText?: never;
944
- callProviderMetadata?: ai.ProviderMetadata;
945
- approval: {
946
- id: string;
947
- approved: false;
948
- reason?: string;
949
- };
950
- }) | Extract<ai.ToolUIPart<ToolsOf<UI_MESSAGE>>, {
951
- type: "dynamic-tool";
952
- }> | Extract<ai.DataUIPart<DataOf<UI_MESSAGE>>, {
953
- type: "dynamic-tool";
954
- }>;
955
- };
956
- UIChunks: {
957
- textStart: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
958
- type: `data-${NAME}`;
959
- id?: string;
960
- data: DataOf<UI_MESSAGE>[NAME];
961
- transient?: boolean;
962
- } }[keyof DataOf<UI_MESSAGE> & string], {
963
- type: "text-start";
964
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
965
- type: `data-${NAME}`;
966
- id?: string;
967
- data: DataOf<UI_MESSAGE>[NAME];
968
- transient?: boolean;
969
- } }[keyof DataOf<UI_MESSAGE> & string], {
970
- type: "text-start";
971
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
972
- type: `data-${NAME}`;
973
- id?: string;
974
- data: DataOf<UI_MESSAGE>[NAME];
975
- transient?: boolean;
976
- } }[keyof DataOf<UI_MESSAGE> & string], {
977
- type: "text-start";
978
- }>, "type"> extends infer T extends keyof ({
979
- type: "text-start";
980
- id: string;
981
- providerMetadata?: ai.ProviderMetadata;
982
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
983
- type: `data-${NAME}`;
984
- id?: string;
985
- data: DataOf<UI_MESSAGE>[NAME];
986
- transient?: boolean;
987
- } }[keyof DataOf<UI_MESSAGE> & string], {
988
- type: "text-start";
989
- }>) ? { [P in T]: ({
990
- type: "text-start";
991
- id: string;
992
- providerMetadata?: ai.ProviderMetadata;
993
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
994
- type: `data-${NAME}`;
995
- id?: string;
996
- data: DataOf<UI_MESSAGE>[NAME];
997
- transient?: boolean;
998
- } }[keyof DataOf<UI_MESSAGE> & string], {
999
- type: "text-start";
1000
- }>)[P] } : never) => {
1001
- type: "text-start";
1002
- id: string;
1003
- providerMetadata?: ai.ProviderMetadata;
1004
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1005
- type: `data-${NAME}`;
1006
- id?: string;
1007
- data: DataOf<UI_MESSAGE>[NAME];
1008
- transient?: boolean;
1009
- } }[keyof DataOf<UI_MESSAGE> & string], {
1010
- type: "text-start";
1011
- }>;
1012
- textDelta: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1013
- type: `data-${NAME}`;
1014
- id?: string;
1015
- data: DataOf<UI_MESSAGE>[NAME];
1016
- transient?: boolean;
1017
- } }[keyof DataOf<UI_MESSAGE> & string], {
1018
- type: "text-delta";
1019
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1020
- type: `data-${NAME}`;
1021
- id?: string;
1022
- data: DataOf<UI_MESSAGE>[NAME];
1023
- transient?: boolean;
1024
- } }[keyof DataOf<UI_MESSAGE> & string], {
1025
- type: "text-delta";
1026
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1027
- type: `data-${NAME}`;
1028
- id?: string;
1029
- data: DataOf<UI_MESSAGE>[NAME];
1030
- transient?: boolean;
1031
- } }[keyof DataOf<UI_MESSAGE> & string], {
1032
- type: "text-delta";
1033
- }>, "type"> | Exclude<"delta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1034
- type: `data-${NAME}`;
1035
- id?: string;
1036
- data: DataOf<UI_MESSAGE>[NAME];
1037
- transient?: boolean;
1038
- } }[keyof DataOf<UI_MESSAGE> & string], {
1039
- type: "text-delta";
1040
- }>, "type"> extends infer T extends keyof ({
1041
- type: "text-delta";
1042
- delta: string;
1043
- id: string;
1044
- providerMetadata?: ai.ProviderMetadata;
1045
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1046
- type: `data-${NAME}`;
1047
- id?: string;
1048
- data: DataOf<UI_MESSAGE>[NAME];
1049
- transient?: boolean;
1050
- } }[keyof DataOf<UI_MESSAGE> & string], {
1051
- type: "text-delta";
1052
- }>) ? { [P in T]: ({
1053
- type: "text-delta";
1054
- delta: string;
1055
- id: string;
1056
- providerMetadata?: ai.ProviderMetadata;
1057
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1058
- type: `data-${NAME}`;
1059
- id?: string;
1060
- data: DataOf<UI_MESSAGE>[NAME];
1061
- transient?: boolean;
1062
- } }[keyof DataOf<UI_MESSAGE> & string], {
1063
- type: "text-delta";
1064
- }>)[P] } : never) => {
1065
- type: "text-delta";
1066
- delta: string;
1067
- id: string;
1068
- providerMetadata?: ai.ProviderMetadata;
1069
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1070
- type: `data-${NAME}`;
1071
- id?: string;
1072
- data: DataOf<UI_MESSAGE>[NAME];
1073
- transient?: boolean;
1074
- } }[keyof DataOf<UI_MESSAGE> & string], {
1075
- type: "text-delta";
1076
- }>;
1077
- textEnd: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1078
- type: `data-${NAME}`;
1079
- id?: string;
1080
- data: DataOf<UI_MESSAGE>[NAME];
1081
- transient?: boolean;
1082
- } }[keyof DataOf<UI_MESSAGE> & string], {
1083
- type: "text-end";
1084
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1085
- type: `data-${NAME}`;
1086
- id?: string;
1087
- data: DataOf<UI_MESSAGE>[NAME];
1088
- transient?: boolean;
1089
- } }[keyof DataOf<UI_MESSAGE> & string], {
1090
- type: "text-end";
1091
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1092
- type: `data-${NAME}`;
1093
- id?: string;
1094
- data: DataOf<UI_MESSAGE>[NAME];
1095
- transient?: boolean;
1096
- } }[keyof DataOf<UI_MESSAGE> & string], {
1097
- type: "text-end";
1098
- }>, "type"> extends infer T extends keyof ({
1099
- type: "text-end";
1100
- id: string;
1101
- providerMetadata?: ai.ProviderMetadata;
1102
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1103
- type: `data-${NAME}`;
1104
- id?: string;
1105
- data: DataOf<UI_MESSAGE>[NAME];
1106
- transient?: boolean;
1107
- } }[keyof DataOf<UI_MESSAGE> & string], {
1108
- type: "text-end";
1109
- }>) ? { [P in T]: ({
1110
- type: "text-end";
1111
- id: string;
1112
- providerMetadata?: ai.ProviderMetadata;
1113
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1114
- type: `data-${NAME}`;
1115
- id?: string;
1116
- data: DataOf<UI_MESSAGE>[NAME];
1117
- transient?: boolean;
1118
- } }[keyof DataOf<UI_MESSAGE> & string], {
1119
- type: "text-end";
1120
- }>)[P] } : never) => {
1121
- type: "text-end";
1122
- id: string;
1123
- providerMetadata?: ai.ProviderMetadata;
1124
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1125
- type: `data-${NAME}`;
1126
- id?: string;
1127
- data: DataOf<UI_MESSAGE>[NAME];
1128
- transient?: boolean;
1129
- } }[keyof DataOf<UI_MESSAGE> & string], {
1130
- type: "text-end";
1131
- }>;
1132
- reasoningStart: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1133
- type: `data-${NAME}`;
1134
- id?: string;
1135
- data: DataOf<UI_MESSAGE>[NAME];
1136
- transient?: boolean;
1137
- } }[keyof DataOf<UI_MESSAGE> & string], {
1138
- type: "reasoning-start";
1139
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1140
- type: `data-${NAME}`;
1141
- id?: string;
1142
- data: DataOf<UI_MESSAGE>[NAME];
1143
- transient?: boolean;
1144
- } }[keyof DataOf<UI_MESSAGE> & string], {
1145
- type: "reasoning-start";
1146
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1147
- type: `data-${NAME}`;
1148
- id?: string;
1149
- data: DataOf<UI_MESSAGE>[NAME];
1150
- transient?: boolean;
1151
- } }[keyof DataOf<UI_MESSAGE> & string], {
1152
- type: "reasoning-start";
1153
- }>, "type"> extends infer T extends keyof ({
1154
- type: "reasoning-start";
1155
- id: string;
1156
- providerMetadata?: ai.ProviderMetadata;
1157
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1158
- type: `data-${NAME}`;
1159
- id?: string;
1160
- data: DataOf<UI_MESSAGE>[NAME];
1161
- transient?: boolean;
1162
- } }[keyof DataOf<UI_MESSAGE> & string], {
1163
- type: "reasoning-start";
1164
- }>) ? { [P in T]: ({
1165
- type: "reasoning-start";
1166
- id: string;
1167
- providerMetadata?: ai.ProviderMetadata;
1168
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1169
- type: `data-${NAME}`;
1170
- id?: string;
1171
- data: DataOf<UI_MESSAGE>[NAME];
1172
- transient?: boolean;
1173
- } }[keyof DataOf<UI_MESSAGE> & string], {
1174
- type: "reasoning-start";
1175
- }>)[P] } : never) => {
1176
- type: "reasoning-start";
1177
- id: string;
1178
- providerMetadata?: ai.ProviderMetadata;
1179
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1180
- type: `data-${NAME}`;
1181
- id?: string;
1182
- data: DataOf<UI_MESSAGE>[NAME];
1183
- transient?: boolean;
1184
- } }[keyof DataOf<UI_MESSAGE> & string], {
1185
- type: "reasoning-start";
1186
- }>;
1187
- reasoningDelta: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1188
- type: `data-${NAME}`;
1189
- id?: string;
1190
- data: DataOf<UI_MESSAGE>[NAME];
1191
- transient?: boolean;
1192
- } }[keyof DataOf<UI_MESSAGE> & string], {
1193
- type: "reasoning-delta";
1194
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1195
- type: `data-${NAME}`;
1196
- id?: string;
1197
- data: DataOf<UI_MESSAGE>[NAME];
1198
- transient?: boolean;
1199
- } }[keyof DataOf<UI_MESSAGE> & string], {
1200
- type: "reasoning-delta";
1201
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1202
- type: `data-${NAME}`;
1203
- id?: string;
1204
- data: DataOf<UI_MESSAGE>[NAME];
1205
- transient?: boolean;
1206
- } }[keyof DataOf<UI_MESSAGE> & string], {
1207
- type: "reasoning-delta";
1208
- }>, "type"> | Exclude<"delta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1209
- type: `data-${NAME}`;
1210
- id?: string;
1211
- data: DataOf<UI_MESSAGE>[NAME];
1212
- transient?: boolean;
1213
- } }[keyof DataOf<UI_MESSAGE> & string], {
1214
- type: "reasoning-delta";
1215
- }>, "type"> extends infer T extends keyof ({
1216
- type: "reasoning-delta";
1217
- id: string;
1218
- delta: string;
1219
- providerMetadata?: ai.ProviderMetadata;
1220
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1221
- type: `data-${NAME}`;
1222
- id?: string;
1223
- data: DataOf<UI_MESSAGE>[NAME];
1224
- transient?: boolean;
1225
- } }[keyof DataOf<UI_MESSAGE> & string], {
1226
- type: "reasoning-delta";
1227
- }>) ? { [P in T]: ({
1228
- type: "reasoning-delta";
1229
- id: string;
1230
- delta: string;
1231
- providerMetadata?: ai.ProviderMetadata;
1232
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1233
- type: `data-${NAME}`;
1234
- id?: string;
1235
- data: DataOf<UI_MESSAGE>[NAME];
1236
- transient?: boolean;
1237
- } }[keyof DataOf<UI_MESSAGE> & string], {
1238
- type: "reasoning-delta";
1239
- }>)[P] } : never) => {
1240
- type: "reasoning-delta";
1241
- id: string;
1242
- delta: string;
1243
- providerMetadata?: ai.ProviderMetadata;
1244
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1245
- type: `data-${NAME}`;
1246
- id?: string;
1247
- data: DataOf<UI_MESSAGE>[NAME];
1248
- transient?: boolean;
1249
- } }[keyof DataOf<UI_MESSAGE> & string], {
1250
- type: "reasoning-delta";
1251
- }>;
1252
- reasoningEnd: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1253
- type: `data-${NAME}`;
1254
- id?: string;
1255
- data: DataOf<UI_MESSAGE>[NAME];
1256
- transient?: boolean;
1257
- } }[keyof DataOf<UI_MESSAGE> & string], {
1258
- type: "reasoning-end";
1259
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1260
- type: `data-${NAME}`;
1261
- id?: string;
1262
- data: DataOf<UI_MESSAGE>[NAME];
1263
- transient?: boolean;
1264
- } }[keyof DataOf<UI_MESSAGE> & string], {
1265
- type: "reasoning-end";
1266
- }>, "type"> | Exclude<"id" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1267
- type: `data-${NAME}`;
1268
- id?: string;
1269
- data: DataOf<UI_MESSAGE>[NAME];
1270
- transient?: boolean;
1271
- } }[keyof DataOf<UI_MESSAGE> & string], {
1272
- type: "reasoning-end";
1273
- }>, "type"> extends infer T extends keyof ({
1274
- type: "reasoning-end";
1275
- id: string;
1276
- providerMetadata?: ai.ProviderMetadata;
1277
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1278
- type: `data-${NAME}`;
1279
- id?: string;
1280
- data: DataOf<UI_MESSAGE>[NAME];
1281
- transient?: boolean;
1282
- } }[keyof DataOf<UI_MESSAGE> & string], {
1283
- type: "reasoning-end";
1284
- }>) ? { [P in T]: ({
1285
- type: "reasoning-end";
1286
- id: string;
1287
- providerMetadata?: ai.ProviderMetadata;
1288
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1289
- type: `data-${NAME}`;
1290
- id?: string;
1291
- data: DataOf<UI_MESSAGE>[NAME];
1292
- transient?: boolean;
1293
- } }[keyof DataOf<UI_MESSAGE> & string], {
1294
- type: "reasoning-end";
1295
- }>)[P] } : never) => {
1296
- type: "reasoning-end";
1297
- id: string;
1298
- providerMetadata?: ai.ProviderMetadata;
1299
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1300
- type: `data-${NAME}`;
1301
- id?: string;
1302
- data: DataOf<UI_MESSAGE>[NAME];
1303
- transient?: boolean;
1304
- } }[keyof DataOf<UI_MESSAGE> & string], {
1305
- type: "reasoning-end";
1306
- }>;
1307
- error: (errorText: string) => {
1308
- type: "error";
1309
- errorText: string;
1310
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1311
- type: `data-${NAME}`;
1312
- id?: string;
1313
- data: DataOf<UI_MESSAGE>[NAME];
1314
- transient?: boolean;
1315
- } }[keyof DataOf<UI_MESSAGE> & string], {
1316
- type: "error";
1317
- }>;
1318
- toolInputStart: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1319
- type: `data-${NAME}`;
1320
- id?: string;
1321
- data: DataOf<UI_MESSAGE>[NAME];
1322
- transient?: boolean;
1323
- } }[keyof DataOf<UI_MESSAGE> & string], {
1324
- type: "tool-input-start";
1325
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1326
- type: `data-${NAME}`;
1327
- id?: string;
1328
- data: DataOf<UI_MESSAGE>[NAME];
1329
- transient?: boolean;
1330
- } }[keyof DataOf<UI_MESSAGE> & string], {
1331
- type: "tool-input-start";
1332
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1333
- type: `data-${NAME}`;
1334
- id?: string;
1335
- data: DataOf<UI_MESSAGE>[NAME];
1336
- transient?: boolean;
1337
- } }[keyof DataOf<UI_MESSAGE> & string], {
1338
- type: "tool-input-start";
1339
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1340
- type: `data-${NAME}`;
1341
- id?: string;
1342
- data: DataOf<UI_MESSAGE>[NAME];
1343
- transient?: boolean;
1344
- } }[keyof DataOf<UI_MESSAGE> & string], {
1345
- type: "tool-input-start";
1346
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1347
- type: `data-${NAME}`;
1348
- id?: string;
1349
- data: DataOf<UI_MESSAGE>[NAME];
1350
- transient?: boolean;
1351
- } }[keyof DataOf<UI_MESSAGE> & string], {
1352
- type: "tool-input-start";
1353
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1354
- type: `data-${NAME}`;
1355
- id?: string;
1356
- data: DataOf<UI_MESSAGE>[NAME];
1357
- transient?: boolean;
1358
- } }[keyof DataOf<UI_MESSAGE> & string], {
1359
- type: "tool-input-start";
1360
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1361
- type: `data-${NAME}`;
1362
- id?: string;
1363
- data: DataOf<UI_MESSAGE>[NAME];
1364
- transient?: boolean;
1365
- } }[keyof DataOf<UI_MESSAGE> & string], {
1366
- type: "tool-input-start";
1367
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1368
- type: `data-${NAME}`;
1369
- id?: string;
1370
- data: DataOf<UI_MESSAGE>[NAME];
1371
- transient?: boolean;
1372
- } }[keyof DataOf<UI_MESSAGE> & string], {
1373
- type: "tool-input-start";
1374
- }>, "type"> extends infer T extends keyof ({
1375
- type: "tool-input-start";
1376
- toolCallId: string;
1377
- toolName: string;
1378
- providerExecuted?: boolean;
1379
- providerMetadata?: ai.ProviderMetadata;
1380
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1381
- dynamic?: boolean;
1382
- title?: string;
1383
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1384
- type: `data-${NAME}`;
1385
- id?: string;
1386
- data: DataOf<UI_MESSAGE>[NAME];
1387
- transient?: boolean;
1388
- } }[keyof DataOf<UI_MESSAGE> & string], {
1389
- type: "tool-input-start";
1390
- }>) ? { [P in T]: ({
1391
- type: "tool-input-start";
1392
- toolCallId: string;
1393
- toolName: string;
1394
- providerExecuted?: boolean;
1395
- providerMetadata?: ai.ProviderMetadata;
1396
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1397
- dynamic?: boolean;
1398
- title?: string;
1399
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1400
- type: `data-${NAME}`;
1401
- id?: string;
1402
- data: DataOf<UI_MESSAGE>[NAME];
1403
- transient?: boolean;
1404
- } }[keyof DataOf<UI_MESSAGE> & string], {
1405
- type: "tool-input-start";
1406
- }>)[P] } : never) => {
1407
- type: "tool-input-start";
1408
- toolCallId: string;
1409
- toolName: string;
1410
- providerExecuted?: boolean;
1411
- providerMetadata?: ai.ProviderMetadata;
1412
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1413
- dynamic?: boolean;
1414
- title?: string;
1415
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1416
- type: `data-${NAME}`;
1417
- id?: string;
1418
- data: DataOf<UI_MESSAGE>[NAME];
1419
- transient?: boolean;
1420
- } }[keyof DataOf<UI_MESSAGE> & string], {
1421
- type: "tool-input-start";
1422
- }>;
1423
- toolInputDelta: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1424
- type: `data-${NAME}`;
1425
- id?: string;
1426
- data: DataOf<UI_MESSAGE>[NAME];
1427
- transient?: boolean;
1428
- } }[keyof DataOf<UI_MESSAGE> & string], {
1429
- type: "tool-input-delta";
1430
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1431
- type: `data-${NAME}`;
1432
- id?: string;
1433
- data: DataOf<UI_MESSAGE>[NAME];
1434
- transient?: boolean;
1435
- } }[keyof DataOf<UI_MESSAGE> & string], {
1436
- type: "tool-input-delta";
1437
- }>, "type"> | Exclude<"inputTextDelta" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1438
- type: `data-${NAME}`;
1439
- id?: string;
1440
- data: DataOf<UI_MESSAGE>[NAME];
1441
- transient?: boolean;
1442
- } }[keyof DataOf<UI_MESSAGE> & string], {
1443
- type: "tool-input-delta";
1444
- }>, "type"> extends infer T extends keyof ({
1445
- type: "tool-input-delta";
1446
- toolCallId: string;
1447
- inputTextDelta: string;
1448
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1449
- type: `data-${NAME}`;
1450
- id?: string;
1451
- data: DataOf<UI_MESSAGE>[NAME];
1452
- transient?: boolean;
1453
- } }[keyof DataOf<UI_MESSAGE> & string], {
1454
- type: "tool-input-delta";
1455
- }>) ? { [P in T]: ({
1456
- type: "tool-input-delta";
1457
- toolCallId: string;
1458
- inputTextDelta: string;
1459
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1460
- type: `data-${NAME}`;
1461
- id?: string;
1462
- data: DataOf<UI_MESSAGE>[NAME];
1463
- transient?: boolean;
1464
- } }[keyof DataOf<UI_MESSAGE> & string], {
1465
- type: "tool-input-delta";
1466
- }>)[P] } : never) => {
1467
- type: "tool-input-delta";
1468
- toolCallId: string;
1469
- inputTextDelta: string;
1470
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1471
- type: `data-${NAME}`;
1472
- id?: string;
1473
- data: DataOf<UI_MESSAGE>[NAME];
1474
- transient?: boolean;
1475
- } }[keyof DataOf<UI_MESSAGE> & string], {
1476
- type: "tool-input-delta";
1477
- }>;
1478
- toolInputAvailable: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1479
- type: `data-${NAME}`;
1480
- id?: string;
1481
- data: DataOf<UI_MESSAGE>[NAME];
1482
- transient?: boolean;
1483
- } }[keyof DataOf<UI_MESSAGE> & string], {
1484
- type: "tool-input-available";
1485
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1486
- type: `data-${NAME}`;
1487
- id?: string;
1488
- data: DataOf<UI_MESSAGE>[NAME];
1489
- transient?: boolean;
1490
- } }[keyof DataOf<UI_MESSAGE> & string], {
1491
- type: "tool-input-available";
1492
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1493
- type: `data-${NAME}`;
1494
- id?: string;
1495
- data: DataOf<UI_MESSAGE>[NAME];
1496
- transient?: boolean;
1497
- } }[keyof DataOf<UI_MESSAGE> & string], {
1498
- type: "tool-input-available";
1499
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1500
- type: `data-${NAME}`;
1501
- id?: string;
1502
- data: DataOf<UI_MESSAGE>[NAME];
1503
- transient?: boolean;
1504
- } }[keyof DataOf<UI_MESSAGE> & string], {
1505
- type: "tool-input-available";
1506
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1507
- type: `data-${NAME}`;
1508
- id?: string;
1509
- data: DataOf<UI_MESSAGE>[NAME];
1510
- transient?: boolean;
1511
- } }[keyof DataOf<UI_MESSAGE> & string], {
1512
- type: "tool-input-available";
1513
- }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1514
- type: `data-${NAME}`;
1515
- id?: string;
1516
- data: DataOf<UI_MESSAGE>[NAME];
1517
- transient?: boolean;
1518
- } }[keyof DataOf<UI_MESSAGE> & string], {
1519
- type: "tool-input-available";
1520
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1521
- type: `data-${NAME}`;
1522
- id?: string;
1523
- data: DataOf<UI_MESSAGE>[NAME];
1524
- transient?: boolean;
1525
- } }[keyof DataOf<UI_MESSAGE> & string], {
1526
- type: "tool-input-available";
1527
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1528
- type: `data-${NAME}`;
1529
- id?: string;
1530
- data: DataOf<UI_MESSAGE>[NAME];
1531
- transient?: boolean;
1532
- } }[keyof DataOf<UI_MESSAGE> & string], {
1533
- type: "tool-input-available";
1534
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1535
- type: `data-${NAME}`;
1536
- id?: string;
1537
- data: DataOf<UI_MESSAGE>[NAME];
1538
- transient?: boolean;
1539
- } }[keyof DataOf<UI_MESSAGE> & string], {
1540
- type: "tool-input-available";
1541
- }>, "type"> extends infer T extends keyof ({
1542
- type: "tool-input-available";
1543
- toolCallId: string;
1544
- toolName: string;
1545
- input: unknown;
1546
- providerExecuted?: boolean;
1547
- providerMetadata?: ai.ProviderMetadata;
1548
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1549
- dynamic?: boolean;
1550
- title?: string;
1551
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1552
- type: `data-${NAME}`;
1553
- id?: string;
1554
- data: DataOf<UI_MESSAGE>[NAME];
1555
- transient?: boolean;
1556
- } }[keyof DataOf<UI_MESSAGE> & string], {
1557
- type: "tool-input-available";
1558
- }>) ? { [P in T]: ({
1559
- type: "tool-input-available";
1560
- toolCallId: string;
1561
- toolName: string;
1562
- input: unknown;
1563
- providerExecuted?: boolean;
1564
- providerMetadata?: ai.ProviderMetadata;
1565
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1566
- dynamic?: boolean;
1567
- title?: string;
1568
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1569
- type: `data-${NAME}`;
1570
- id?: string;
1571
- data: DataOf<UI_MESSAGE>[NAME];
1572
- transient?: boolean;
1573
- } }[keyof DataOf<UI_MESSAGE> & string], {
1574
- type: "tool-input-available";
1575
- }>)[P] } : never) => {
1576
- type: "tool-input-available";
1577
- toolCallId: string;
1578
- toolName: string;
1579
- input: unknown;
1580
- providerExecuted?: boolean;
1581
- providerMetadata?: ai.ProviderMetadata;
1582
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1583
- dynamic?: boolean;
1584
- title?: string;
1585
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1586
- type: `data-${NAME}`;
1587
- id?: string;
1588
- data: DataOf<UI_MESSAGE>[NAME];
1589
- transient?: boolean;
1590
- } }[keyof DataOf<UI_MESSAGE> & string], {
1591
- type: "tool-input-available";
1592
- }>;
1593
- toolInputError: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1594
- type: `data-${NAME}`;
1595
- id?: string;
1596
- data: DataOf<UI_MESSAGE>[NAME];
1597
- transient?: boolean;
1598
- } }[keyof DataOf<UI_MESSAGE> & string], {
1599
- type: "tool-input-error";
1600
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1601
- type: `data-${NAME}`;
1602
- id?: string;
1603
- data: DataOf<UI_MESSAGE>[NAME];
1604
- transient?: boolean;
1605
- } }[keyof DataOf<UI_MESSAGE> & string], {
1606
- type: "tool-input-error";
1607
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1608
- type: `data-${NAME}`;
1609
- id?: string;
1610
- data: DataOf<UI_MESSAGE>[NAME];
1611
- transient?: boolean;
1612
- } }[keyof DataOf<UI_MESSAGE> & string], {
1613
- type: "tool-input-error";
1614
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1615
- type: `data-${NAME}`;
1616
- id?: string;
1617
- data: DataOf<UI_MESSAGE>[NAME];
1618
- transient?: boolean;
1619
- } }[keyof DataOf<UI_MESSAGE> & string], {
1620
- type: "tool-input-error";
1621
- }>, "type"> | Exclude<"toolName" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1622
- type: `data-${NAME}`;
1623
- id?: string;
1624
- data: DataOf<UI_MESSAGE>[NAME];
1625
- transient?: boolean;
1626
- } }[keyof DataOf<UI_MESSAGE> & string], {
1627
- type: "tool-input-error";
1628
- }>, "type"> | Exclude<"input" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1629
- type: `data-${NAME}`;
1630
- id?: string;
1631
- data: DataOf<UI_MESSAGE>[NAME];
1632
- transient?: boolean;
1633
- } }[keyof DataOf<UI_MESSAGE> & string], {
1634
- type: "tool-input-error";
1635
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1636
- type: `data-${NAME}`;
1637
- id?: string;
1638
- data: DataOf<UI_MESSAGE>[NAME];
1639
- transient?: boolean;
1640
- } }[keyof DataOf<UI_MESSAGE> & string], {
1641
- type: "tool-input-error";
1642
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1643
- type: `data-${NAME}`;
1644
- id?: string;
1645
- data: DataOf<UI_MESSAGE>[NAME];
1646
- transient?: boolean;
1647
- } }[keyof DataOf<UI_MESSAGE> & string], {
1648
- type: "tool-input-error";
1649
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1650
- type: `data-${NAME}`;
1651
- id?: string;
1652
- data: DataOf<UI_MESSAGE>[NAME];
1653
- transient?: boolean;
1654
- } }[keyof DataOf<UI_MESSAGE> & string], {
1655
- type: "tool-input-error";
1656
- }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1657
- type: `data-${NAME}`;
1658
- id?: string;
1659
- data: DataOf<UI_MESSAGE>[NAME];
1660
- transient?: boolean;
1661
- } }[keyof DataOf<UI_MESSAGE> & string], {
1662
- type: "tool-input-error";
1663
- }>, "type"> extends infer T extends keyof ({
1664
- type: "tool-input-error";
1665
- toolCallId: string;
1666
- toolName: string;
1667
- input: unknown;
1668
- providerExecuted?: boolean;
1669
- providerMetadata?: ai.ProviderMetadata;
1670
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1671
- dynamic?: boolean;
1672
- errorText: string;
1673
- title?: string;
1674
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1675
- type: `data-${NAME}`;
1676
- id?: string;
1677
- data: DataOf<UI_MESSAGE>[NAME];
1678
- transient?: boolean;
1679
- } }[keyof DataOf<UI_MESSAGE> & string], {
1680
- type: "tool-input-error";
1681
- }>) ? { [P in T]: ({
1682
- type: "tool-input-error";
1683
- toolCallId: string;
1684
- toolName: string;
1685
- input: unknown;
1686
- providerExecuted?: boolean;
1687
- providerMetadata?: ai.ProviderMetadata;
1688
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1689
- dynamic?: boolean;
1690
- errorText: string;
1691
- title?: string;
1692
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1693
- type: `data-${NAME}`;
1694
- id?: string;
1695
- data: DataOf<UI_MESSAGE>[NAME];
1696
- transient?: boolean;
1697
- } }[keyof DataOf<UI_MESSAGE> & string], {
1698
- type: "tool-input-error";
1699
- }>)[P] } : never) => {
1700
- type: "tool-input-error";
1701
- toolCallId: string;
1702
- toolName: string;
1703
- input: unknown;
1704
- providerExecuted?: boolean;
1705
- providerMetadata?: ai.ProviderMetadata;
1706
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1707
- dynamic?: boolean;
1708
- errorText: string;
1709
- title?: string;
1710
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1711
- type: `data-${NAME}`;
1712
- id?: string;
1713
- data: DataOf<UI_MESSAGE>[NAME];
1714
- transient?: boolean;
1715
- } }[keyof DataOf<UI_MESSAGE> & string], {
1716
- type: "tool-input-error";
1717
- }>;
1718
- toolApprovalRequest: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1719
- type: `data-${NAME}`;
1720
- id?: string;
1721
- data: DataOf<UI_MESSAGE>[NAME];
1722
- transient?: boolean;
1723
- } }[keyof DataOf<UI_MESSAGE> & string], {
1724
- type: "tool-approval-request";
1725
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1726
- type: `data-${NAME}`;
1727
- id?: string;
1728
- data: DataOf<UI_MESSAGE>[NAME];
1729
- transient?: boolean;
1730
- } }[keyof DataOf<UI_MESSAGE> & string], {
1731
- type: "tool-approval-request";
1732
- }>, "type"> | Exclude<"approvalId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1733
- type: `data-${NAME}`;
1734
- id?: string;
1735
- data: DataOf<UI_MESSAGE>[NAME];
1736
- transient?: boolean;
1737
- } }[keyof DataOf<UI_MESSAGE> & string], {
1738
- type: "tool-approval-request";
1739
- }>, "type"> extends infer T extends keyof ({
1740
- type: "tool-approval-request";
1741
- approvalId: string;
1742
- toolCallId: string;
1743
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1744
- type: `data-${NAME}`;
1745
- id?: string;
1746
- data: DataOf<UI_MESSAGE>[NAME];
1747
- transient?: boolean;
1748
- } }[keyof DataOf<UI_MESSAGE> & string], {
1749
- type: "tool-approval-request";
1750
- }>) ? { [P in T]: ({
1751
- type: "tool-approval-request";
1752
- approvalId: string;
1753
- toolCallId: string;
1754
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1755
- type: `data-${NAME}`;
1756
- id?: string;
1757
- data: DataOf<UI_MESSAGE>[NAME];
1758
- transient?: boolean;
1759
- } }[keyof DataOf<UI_MESSAGE> & string], {
1760
- type: "tool-approval-request";
1761
- }>)[P] } : never) => {
1762
- type: "tool-approval-request";
1763
- approvalId: string;
1764
- toolCallId: string;
1765
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1766
- type: `data-${NAME}`;
1767
- id?: string;
1768
- data: DataOf<UI_MESSAGE>[NAME];
1769
- transient?: boolean;
1770
- } }[keyof DataOf<UI_MESSAGE> & string], {
1771
- type: "tool-approval-request";
1772
- }>;
1773
- toolOutputAvailable: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1774
- type: `data-${NAME}`;
1775
- id?: string;
1776
- data: DataOf<UI_MESSAGE>[NAME];
1777
- transient?: boolean;
1778
- } }[keyof DataOf<UI_MESSAGE> & string], {
1779
- type: "tool-output-available";
1780
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1781
- type: `data-${NAME}`;
1782
- id?: string;
1783
- data: DataOf<UI_MESSAGE>[NAME];
1784
- transient?: boolean;
1785
- } }[keyof DataOf<UI_MESSAGE> & string], {
1786
- type: "tool-output-available";
1787
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1788
- type: `data-${NAME}`;
1789
- id?: string;
1790
- data: DataOf<UI_MESSAGE>[NAME];
1791
- transient?: boolean;
1792
- } }[keyof DataOf<UI_MESSAGE> & string], {
1793
- type: "tool-output-available";
1794
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1795
- type: `data-${NAME}`;
1796
- id?: string;
1797
- data: DataOf<UI_MESSAGE>[NAME];
1798
- transient?: boolean;
1799
- } }[keyof DataOf<UI_MESSAGE> & string], {
1800
- type: "tool-output-available";
1801
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1802
- type: `data-${NAME}`;
1803
- id?: string;
1804
- data: DataOf<UI_MESSAGE>[NAME];
1805
- transient?: boolean;
1806
- } }[keyof DataOf<UI_MESSAGE> & string], {
1807
- type: "tool-output-available";
1808
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1809
- type: `data-${NAME}`;
1810
- id?: string;
1811
- data: DataOf<UI_MESSAGE>[NAME];
1812
- transient?: boolean;
1813
- } }[keyof DataOf<UI_MESSAGE> & string], {
1814
- type: "tool-output-available";
1815
- }>, "type"> | Exclude<"output" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1816
- type: `data-${NAME}`;
1817
- id?: string;
1818
- data: DataOf<UI_MESSAGE>[NAME];
1819
- transient?: boolean;
1820
- } }[keyof DataOf<UI_MESSAGE> & string], {
1821
- type: "tool-output-available";
1822
- }>, "type"> | Exclude<"preliminary" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1823
- type: `data-${NAME}`;
1824
- id?: string;
1825
- data: DataOf<UI_MESSAGE>[NAME];
1826
- transient?: boolean;
1827
- } }[keyof DataOf<UI_MESSAGE> & string], {
1828
- type: "tool-output-available";
1829
- }>, "type"> extends infer T extends keyof ({
1830
- type: "tool-output-available";
1831
- toolCallId: string;
1832
- output: unknown;
1833
- providerExecuted?: boolean;
1834
- providerMetadata?: ai.ProviderMetadata;
1835
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1836
- dynamic?: boolean;
1837
- preliminary?: boolean;
1838
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1839
- type: `data-${NAME}`;
1840
- id?: string;
1841
- data: DataOf<UI_MESSAGE>[NAME];
1842
- transient?: boolean;
1843
- } }[keyof DataOf<UI_MESSAGE> & string], {
1844
- type: "tool-output-available";
1845
- }>) ? { [P in T]: ({
1846
- type: "tool-output-available";
1847
- toolCallId: string;
1848
- output: unknown;
1849
- providerExecuted?: boolean;
1850
- providerMetadata?: ai.ProviderMetadata;
1851
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1852
- dynamic?: boolean;
1853
- preliminary?: boolean;
1854
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1855
- type: `data-${NAME}`;
1856
- id?: string;
1857
- data: DataOf<UI_MESSAGE>[NAME];
1858
- transient?: boolean;
1859
- } }[keyof DataOf<UI_MESSAGE> & string], {
1860
- type: "tool-output-available";
1861
- }>)[P] } : never) => {
1862
- type: "tool-output-available";
1863
- toolCallId: string;
1864
- output: unknown;
1865
- providerExecuted?: boolean;
1866
- providerMetadata?: ai.ProviderMetadata;
1867
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1868
- dynamic?: boolean;
1869
- preliminary?: boolean;
1870
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1871
- type: `data-${NAME}`;
1872
- id?: string;
1873
- data: DataOf<UI_MESSAGE>[NAME];
1874
- transient?: boolean;
1875
- } }[keyof DataOf<UI_MESSAGE> & string], {
1876
- type: "tool-output-available";
1877
- }>;
1878
- toolOutputError: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1879
- type: `data-${NAME}`;
1880
- id?: string;
1881
- data: DataOf<UI_MESSAGE>[NAME];
1882
- transient?: boolean;
1883
- } }[keyof DataOf<UI_MESSAGE> & string], {
1884
- type: "tool-output-error";
1885
- }>, "type"> | Exclude<"providerExecuted" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1886
- type: `data-${NAME}`;
1887
- id?: string;
1888
- data: DataOf<UI_MESSAGE>[NAME];
1889
- transient?: boolean;
1890
- } }[keyof DataOf<UI_MESSAGE> & string], {
1891
- type: "tool-output-error";
1892
- }>, "type"> | Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1893
- type: `data-${NAME}`;
1894
- id?: string;
1895
- data: DataOf<UI_MESSAGE>[NAME];
1896
- transient?: boolean;
1897
- } }[keyof DataOf<UI_MESSAGE> & string], {
1898
- type: "tool-output-error";
1899
- }>, "type"> | Exclude<"toolMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1900
- type: `data-${NAME}`;
1901
- id?: string;
1902
- data: DataOf<UI_MESSAGE>[NAME];
1903
- transient?: boolean;
1904
- } }[keyof DataOf<UI_MESSAGE> & string], {
1905
- type: "tool-output-error";
1906
- }>, "type"> | Exclude<"dynamic" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1907
- type: `data-${NAME}`;
1908
- id?: string;
1909
- data: DataOf<UI_MESSAGE>[NAME];
1910
- transient?: boolean;
1911
- } }[keyof DataOf<UI_MESSAGE> & string], {
1912
- type: "tool-output-error";
1913
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1914
- type: `data-${NAME}`;
1915
- id?: string;
1916
- data: DataOf<UI_MESSAGE>[NAME];
1917
- transient?: boolean;
1918
- } }[keyof DataOf<UI_MESSAGE> & string], {
1919
- type: "tool-output-error";
1920
- }>, "type"> | Exclude<"errorText" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1921
- type: `data-${NAME}`;
1922
- id?: string;
1923
- data: DataOf<UI_MESSAGE>[NAME];
1924
- transient?: boolean;
1925
- } }[keyof DataOf<UI_MESSAGE> & string], {
1926
- type: "tool-output-error";
1927
- }>, "type"> extends infer T extends keyof ({
1928
- type: "tool-output-error";
1929
- toolCallId: string;
1930
- errorText: string;
1931
- providerExecuted?: boolean;
1932
- providerMetadata?: ai.ProviderMetadata;
1933
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1934
- dynamic?: boolean;
1935
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1936
- type: `data-${NAME}`;
1937
- id?: string;
1938
- data: DataOf<UI_MESSAGE>[NAME];
1939
- transient?: boolean;
1940
- } }[keyof DataOf<UI_MESSAGE> & string], {
1941
- type: "tool-output-error";
1942
- }>) ? { [P in T]: ({
1943
- type: "tool-output-error";
1944
- toolCallId: string;
1945
- errorText: string;
1946
- providerExecuted?: boolean;
1947
- providerMetadata?: ai.ProviderMetadata;
1948
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1949
- dynamic?: boolean;
1950
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1951
- type: `data-${NAME}`;
1952
- id?: string;
1953
- data: DataOf<UI_MESSAGE>[NAME];
1954
- transient?: boolean;
1955
- } }[keyof DataOf<UI_MESSAGE> & string], {
1956
- type: "tool-output-error";
1957
- }>)[P] } : never) => {
1958
- type: "tool-output-error";
1959
- toolCallId: string;
1960
- errorText: string;
1961
- providerExecuted?: boolean;
1962
- providerMetadata?: ai.ProviderMetadata;
1963
- toolMetadata?: _ai_sdk_provider0.JSONObject;
1964
- dynamic?: boolean;
1965
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1966
- type: `data-${NAME}`;
1967
- id?: string;
1968
- data: DataOf<UI_MESSAGE>[NAME];
1969
- transient?: boolean;
1970
- } }[keyof DataOf<UI_MESSAGE> & string], {
1971
- type: "tool-output-error";
1972
- }>;
1973
- toolOutputDenied: (args: Exclude<"toolCallId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1974
- type: `data-${NAME}`;
1975
- id?: string;
1976
- data: DataOf<UI_MESSAGE>[NAME];
1977
- transient?: boolean;
1978
- } }[keyof DataOf<UI_MESSAGE> & string], {
1979
- type: "tool-output-denied";
1980
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1981
- type: `data-${NAME}`;
1982
- id?: string;
1983
- data: DataOf<UI_MESSAGE>[NAME];
1984
- transient?: boolean;
1985
- } }[keyof DataOf<UI_MESSAGE> & string], {
1986
- type: "tool-output-denied";
1987
- }>, "type"> extends infer T extends keyof ({
1988
- type: "tool-output-denied";
1989
- toolCallId: string;
1990
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
1991
- type: `data-${NAME}`;
1992
- id?: string;
1993
- data: DataOf<UI_MESSAGE>[NAME];
1994
- transient?: boolean;
1995
- } }[keyof DataOf<UI_MESSAGE> & string], {
1996
- type: "tool-output-denied";
1997
- }>) ? { [P in T]: ({
1998
- type: "tool-output-denied";
1999
- toolCallId: string;
2000
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2001
- type: `data-${NAME}`;
2002
- id?: string;
2003
- data: DataOf<UI_MESSAGE>[NAME];
2004
- transient?: boolean;
2005
- } }[keyof DataOf<UI_MESSAGE> & string], {
2006
- type: "tool-output-denied";
2007
- }>)[P] } : never) => {
2008
- type: "tool-output-denied";
2009
- toolCallId: string;
2010
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2011
- type: `data-${NAME}`;
2012
- id?: string;
2013
- data: DataOf<UI_MESSAGE>[NAME];
2014
- transient?: boolean;
2015
- } }[keyof DataOf<UI_MESSAGE> & string], {
2016
- type: "tool-output-denied";
2017
- }>;
2018
- sourceUrl: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2019
- type: `data-${NAME}`;
2020
- id?: string;
2021
- data: DataOf<UI_MESSAGE>[NAME];
2022
- transient?: boolean;
2023
- } }[keyof DataOf<UI_MESSAGE> & string], {
2024
- type: "source-url";
2025
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2026
- type: `data-${NAME}`;
2027
- id?: string;
2028
- data: DataOf<UI_MESSAGE>[NAME];
2029
- transient?: boolean;
2030
- } }[keyof DataOf<UI_MESSAGE> & string], {
2031
- type: "source-url";
2032
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2033
- type: `data-${NAME}`;
2034
- id?: string;
2035
- data: DataOf<UI_MESSAGE>[NAME];
2036
- transient?: boolean;
2037
- } }[keyof DataOf<UI_MESSAGE> & string], {
2038
- type: "source-url";
2039
- }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2040
- type: `data-${NAME}`;
2041
- id?: string;
2042
- data: DataOf<UI_MESSAGE>[NAME];
2043
- transient?: boolean;
2044
- } }[keyof DataOf<UI_MESSAGE> & string], {
2045
- type: "source-url";
2046
- }>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2047
- type: `data-${NAME}`;
2048
- id?: string;
2049
- data: DataOf<UI_MESSAGE>[NAME];
2050
- transient?: boolean;
2051
- } }[keyof DataOf<UI_MESSAGE> & string], {
2052
- type: "source-url";
2053
- }>, "type"> extends infer T extends keyof ({
2054
- type: "source-url";
2055
- sourceId: string;
2056
- url: string;
2057
- title?: string;
2058
- providerMetadata?: ai.ProviderMetadata;
2059
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2060
- type: `data-${NAME}`;
2061
- id?: string;
2062
- data: DataOf<UI_MESSAGE>[NAME];
2063
- transient?: boolean;
2064
- } }[keyof DataOf<UI_MESSAGE> & string], {
2065
- type: "source-url";
2066
- }>) ? { [P in T]: ({
2067
- type: "source-url";
2068
- sourceId: string;
2069
- url: string;
2070
- title?: string;
2071
- providerMetadata?: ai.ProviderMetadata;
2072
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2073
- type: `data-${NAME}`;
2074
- id?: string;
2075
- data: DataOf<UI_MESSAGE>[NAME];
2076
- transient?: boolean;
2077
- } }[keyof DataOf<UI_MESSAGE> & string], {
2078
- type: "source-url";
2079
- }>)[P] } : never) => {
2080
- type: "source-url";
2081
- sourceId: string;
2082
- url: string;
2083
- title?: string;
2084
- providerMetadata?: ai.ProviderMetadata;
2085
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2086
- type: `data-${NAME}`;
2087
- id?: string;
2088
- data: DataOf<UI_MESSAGE>[NAME];
2089
- transient?: boolean;
2090
- } }[keyof DataOf<UI_MESSAGE> & string], {
2091
- type: "source-url";
2092
- }>;
2093
- sourceDocument: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2094
- type: `data-${NAME}`;
2095
- id?: string;
2096
- data: DataOf<UI_MESSAGE>[NAME];
2097
- transient?: boolean;
2098
- } }[keyof DataOf<UI_MESSAGE> & string], {
2099
- type: "source-document";
2100
- }>, "type"> | Exclude<"title" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2101
- type: `data-${NAME}`;
2102
- id?: string;
2103
- data: DataOf<UI_MESSAGE>[NAME];
2104
- transient?: boolean;
2105
- } }[keyof DataOf<UI_MESSAGE> & string], {
2106
- type: "source-document";
2107
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2108
- type: `data-${NAME}`;
2109
- id?: string;
2110
- data: DataOf<UI_MESSAGE>[NAME];
2111
- transient?: boolean;
2112
- } }[keyof DataOf<UI_MESSAGE> & string], {
2113
- type: "source-document";
2114
- }>, "type"> | Exclude<"sourceId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2115
- type: `data-${NAME}`;
2116
- id?: string;
2117
- data: DataOf<UI_MESSAGE>[NAME];
2118
- transient?: boolean;
2119
- } }[keyof DataOf<UI_MESSAGE> & string], {
2120
- type: "source-document";
2121
- }>, "type"> | Exclude<"mediaType" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2122
- type: `data-${NAME}`;
2123
- id?: string;
2124
- data: DataOf<UI_MESSAGE>[NAME];
2125
- transient?: boolean;
2126
- } }[keyof DataOf<UI_MESSAGE> & string], {
2127
- type: "source-document";
2128
- }>, "type"> | Exclude<"filename" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2129
- type: `data-${NAME}`;
2130
- id?: string;
2131
- data: DataOf<UI_MESSAGE>[NAME];
2132
- transient?: boolean;
2133
- } }[keyof DataOf<UI_MESSAGE> & string], {
2134
- type: "source-document";
2135
- }>, "type"> extends infer T extends keyof ({
2136
- type: "source-document";
2137
- sourceId: string;
2138
- mediaType: string;
2139
- title: string;
2140
- filename?: string;
2141
- providerMetadata?: ai.ProviderMetadata;
2142
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2143
- type: `data-${NAME}`;
2144
- id?: string;
2145
- data: DataOf<UI_MESSAGE>[NAME];
2146
- transient?: boolean;
2147
- } }[keyof DataOf<UI_MESSAGE> & string], {
2148
- type: "source-document";
2149
- }>) ? { [P in T]: ({
2150
- type: "source-document";
2151
- sourceId: string;
2152
- mediaType: string;
2153
- title: string;
2154
- filename?: string;
2155
- providerMetadata?: ai.ProviderMetadata;
2156
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2157
- type: `data-${NAME}`;
2158
- id?: string;
2159
- data: DataOf<UI_MESSAGE>[NAME];
2160
- transient?: boolean;
2161
- } }[keyof DataOf<UI_MESSAGE> & string], {
2162
- type: "source-document";
2163
- }>)[P] } : never) => {
2164
- type: "source-document";
2165
- sourceId: string;
2166
- mediaType: string;
2167
- title: string;
2168
- filename?: string;
2169
- providerMetadata?: ai.ProviderMetadata;
2170
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2171
- type: `data-${NAME}`;
2172
- id?: string;
2173
- data: DataOf<UI_MESSAGE>[NAME];
2174
- transient?: boolean;
2175
- } }[keyof DataOf<UI_MESSAGE> & string], {
2176
- type: "source-document";
2177
- }>;
2178
- file: (args: Exclude<"providerMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2179
- type: `data-${NAME}`;
2180
- id?: string;
2181
- data: DataOf<UI_MESSAGE>[NAME];
2182
- transient?: boolean;
2183
- } }[keyof DataOf<UI_MESSAGE> & string], {
2184
- type: "file";
2185
- }>, "type"> | Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2186
- type: `data-${NAME}`;
2187
- id?: string;
2188
- data: DataOf<UI_MESSAGE>[NAME];
2189
- transient?: boolean;
2190
- } }[keyof DataOf<UI_MESSAGE> & string], {
2191
- type: "file";
2192
- }>, "type"> | Exclude<"url" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2193
- type: `data-${NAME}`;
2194
- id?: string;
2195
- data: DataOf<UI_MESSAGE>[NAME];
2196
- transient?: boolean;
2197
- } }[keyof DataOf<UI_MESSAGE> & string], {
2198
- type: "file";
2199
- }>, "type"> | Exclude<"mediaType" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2200
- type: `data-${NAME}`;
2201
- id?: string;
2202
- data: DataOf<UI_MESSAGE>[NAME];
2203
- transient?: boolean;
2204
- } }[keyof DataOf<UI_MESSAGE> & string], {
2205
- type: "file";
2206
- }>, "type"> extends infer T extends keyof ({
2207
- type: "file";
2208
- url: string;
2209
- mediaType: string;
2210
- providerMetadata?: ai.ProviderMetadata;
2211
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2212
- type: `data-${NAME}`;
2213
- id?: string;
2214
- data: DataOf<UI_MESSAGE>[NAME];
2215
- transient?: boolean;
2216
- } }[keyof DataOf<UI_MESSAGE> & string], {
2217
- type: "file";
2218
- }>) ? { [P in T]: ({
2219
- type: "file";
2220
- url: string;
2221
- mediaType: string;
2222
- providerMetadata?: ai.ProviderMetadata;
2223
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2224
- type: `data-${NAME}`;
2225
- id?: string;
2226
- data: DataOf<UI_MESSAGE>[NAME];
2227
- transient?: boolean;
2228
- } }[keyof DataOf<UI_MESSAGE> & string], {
2229
- type: "file";
2230
- }>)[P] } : never) => {
2231
- type: "file";
2232
- url: string;
2233
- mediaType: string;
2234
- providerMetadata?: ai.ProviderMetadata;
2235
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2236
- type: `data-${NAME}`;
2237
- id?: string;
2238
- data: DataOf<UI_MESSAGE>[NAME];
2239
- transient?: boolean;
2240
- } }[keyof DataOf<UI_MESSAGE> & string], {
2241
- type: "file";
2242
- }>;
2243
- data: <NAME extends keyof DataOf<UI_MESSAGE> & string>(name: NAME, data: DataOf<UI_MESSAGE>[NAME], opts?: {
2244
- id?: string;
2245
- transient?: boolean;
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
- }>;
2425
- startStep: () => {
2426
- type: "start-step";
2427
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2428
- type: `data-${NAME}`;
2429
- id?: string;
2430
- data: DataOf<UI_MESSAGE>[NAME];
2431
- transient?: boolean;
2432
- } }[keyof DataOf<UI_MESSAGE> & string], {
2433
- type: "start-step";
2434
- }>;
2435
- finishStep: () => {
2436
- type: "finish-step";
2437
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2438
- type: `data-${NAME}`;
2439
- id?: string;
2440
- data: DataOf<UI_MESSAGE>[NAME];
2441
- transient?: boolean;
2442
- } }[keyof DataOf<UI_MESSAGE> & string], {
2443
- type: "finish-step";
2444
- }>;
2445
- start: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2446
- type: `data-${NAME}`;
2447
- id?: string;
2448
- data: DataOf<UI_MESSAGE>[NAME];
2449
- transient?: boolean;
2450
- } }[keyof DataOf<UI_MESSAGE> & string], {
2451
- type: "start";
2452
- }>, "type"> | Exclude<"messageId" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2453
- type: `data-${NAME}`;
2454
- id?: string;
2455
- data: DataOf<UI_MESSAGE>[NAME];
2456
- transient?: boolean;
2457
- } }[keyof DataOf<UI_MESSAGE> & string], {
2458
- type: "start";
2459
- }>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2460
- type: `data-${NAME}`;
2461
- id?: string;
2462
- data: DataOf<UI_MESSAGE>[NAME];
2463
- transient?: boolean;
2464
- } }[keyof DataOf<UI_MESSAGE> & string], {
2465
- type: "start";
2466
- }>, "type"> extends infer T extends keyof ({
2467
- type: "start";
2468
- messageId?: string;
2469
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2470
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2471
- type: `data-${NAME}`;
2472
- id?: string;
2473
- data: DataOf<UI_MESSAGE>[NAME];
2474
- transient?: boolean;
2475
- } }[keyof DataOf<UI_MESSAGE> & string], {
2476
- type: "start";
2477
- }>) ? { [P in T]: ({
2478
- type: "start";
2479
- messageId?: string;
2480
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2481
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2482
- type: `data-${NAME}`;
2483
- id?: string;
2484
- data: DataOf<UI_MESSAGE>[NAME];
2485
- transient?: boolean;
2486
- } }[keyof DataOf<UI_MESSAGE> & string], {
2487
- type: "start";
2488
- }>)[P] } : never) | undefined) => {
2489
- type: "start";
2490
- messageId?: string;
2491
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2492
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2493
- type: `data-${NAME}`;
2494
- id?: string;
2495
- data: DataOf<UI_MESSAGE>[NAME];
2496
- transient?: boolean;
2497
- } }[keyof DataOf<UI_MESSAGE> & string], {
2498
- type: "start";
2499
- }>;
2500
- finish: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2501
- type: `data-${NAME}`;
2502
- id?: string;
2503
- data: DataOf<UI_MESSAGE>[NAME];
2504
- transient?: boolean;
2505
- } }[keyof DataOf<UI_MESSAGE> & string], {
2506
- type: "finish";
2507
- }>, "type"> | Exclude<"finishReason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2508
- type: `data-${NAME}`;
2509
- id?: string;
2510
- data: DataOf<UI_MESSAGE>[NAME];
2511
- transient?: boolean;
2512
- } }[keyof DataOf<UI_MESSAGE> & string], {
2513
- type: "finish";
2514
- }>, "type"> | Exclude<"messageMetadata" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2515
- type: `data-${NAME}`;
2516
- id?: string;
2517
- data: DataOf<UI_MESSAGE>[NAME];
2518
- transient?: boolean;
2519
- } }[keyof DataOf<UI_MESSAGE> & string], {
2520
- type: "finish";
2521
- }>, "type"> extends infer T extends keyof ({
2522
- type: "finish";
2523
- finishReason?: ai.FinishReason;
2524
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2525
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2526
- type: `data-${NAME}`;
2527
- id?: string;
2528
- data: DataOf<UI_MESSAGE>[NAME];
2529
- transient?: boolean;
2530
- } }[keyof DataOf<UI_MESSAGE> & string], {
2531
- type: "finish";
2532
- }>) ? { [P in T]: ({
2533
- type: "finish";
2534
- finishReason?: ai.FinishReason;
2535
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2536
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2537
- type: `data-${NAME}`;
2538
- id?: string;
2539
- data: DataOf<UI_MESSAGE>[NAME];
2540
- transient?: boolean;
2541
- } }[keyof DataOf<UI_MESSAGE> & string], {
2542
- type: "finish";
2543
- }>)[P] } : never) | undefined) => {
2544
- type: "finish";
2545
- finishReason?: ai.FinishReason;
2546
- messageMetadata?: MetadataOf<UI_MESSAGE> | undefined;
2547
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2548
- type: `data-${NAME}`;
2549
- id?: string;
2550
- data: DataOf<UI_MESSAGE>[NAME];
2551
- transient?: boolean;
2552
- } }[keyof DataOf<UI_MESSAGE> & string], {
2553
- type: "finish";
2554
- }>;
2555
- abort: (args?: (Exclude<"type" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2556
- type: `data-${NAME}`;
2557
- id?: string;
2558
- data: DataOf<UI_MESSAGE>[NAME];
2559
- transient?: boolean;
2560
- } }[keyof DataOf<UI_MESSAGE> & string], {
2561
- type: "abort";
2562
- }>, "type"> | Exclude<"reason" & keyof Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2563
- type: `data-${NAME}`;
2564
- id?: string;
2565
- data: DataOf<UI_MESSAGE>[NAME];
2566
- transient?: boolean;
2567
- } }[keyof DataOf<UI_MESSAGE> & string], {
2568
- type: "abort";
2569
- }>, "type"> extends infer T extends keyof ({
2570
- type: "abort";
2571
- reason?: string;
2572
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2573
- type: `data-${NAME}`;
2574
- id?: string;
2575
- data: DataOf<UI_MESSAGE>[NAME];
2576
- transient?: boolean;
2577
- } }[keyof DataOf<UI_MESSAGE> & string], {
2578
- type: "abort";
2579
- }>) ? { [P in T]: ({
2580
- type: "abort";
2581
- reason?: string;
2582
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2583
- type: `data-${NAME}`;
2584
- id?: string;
2585
- data: DataOf<UI_MESSAGE>[NAME];
2586
- transient?: boolean;
2587
- } }[keyof DataOf<UI_MESSAGE> & string], {
2588
- type: "abort";
2589
- }>)[P] } : never) | undefined) => {
2590
- type: "abort";
2591
- reason?: string;
2592
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2593
- type: `data-${NAME}`;
2594
- id?: string;
2595
- data: DataOf<UI_MESSAGE>[NAME];
2596
- transient?: boolean;
2597
- } }[keyof DataOf<UI_MESSAGE> & string], {
2598
- type: "abort";
2599
- }>;
2600
- messageMetadata: (messageMetadata: MetadataOf<UI_MESSAGE>) => {
2601
- type: "message-metadata";
2602
- messageMetadata: MetadataOf<UI_MESSAGE>;
2603
- } | Extract<{ [NAME in keyof DataOf<UI_MESSAGE> & string]: {
2604
- type: `data-${NAME}`;
2605
- id?: string;
2606
- data: DataOf<UI_MESSAGE>[NAME];
2607
- transient?: boolean;
2608
- } }[keyof DataOf<UI_MESSAGE> & string], {
2609
- type: "message-metadata";
2610
- }>;
2611
- text: (text: string, {
2612
- id,
2613
- length,
2614
- separator
2615
- }?: UIChunkBlockOptions) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
2616
- reasoning: (text: string, {
2617
- id,
2618
- length,
2619
- separator
2620
- }?: UIChunkBlockOptions) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
2621
- toolInput: (args: {
2622
- toolCallId: string;
2623
- toolName: string;
2624
- input: unknown;
2625
- length?: number;
2626
- }) => ai.UIMessageChunk<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>[];
2627
- };
2628
- UIMessages: {
2629
- user: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
2630
- id?: string;
2631
- metadata?: MetadataOf<UI_MESSAGE> | undefined;
2632
- }) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
2633
- assistant: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
2634
- id?: string;
2635
- metadata?: MetadataOf<UI_MESSAGE> | undefined;
2636
- }) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
2637
- system: (content: string | ai.UIMessagePart<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>[], opts?: {
2638
- id?: string;
2639
- metadata?: MetadataOf<UI_MESSAGE> | undefined;
2640
- }) => UIMessage<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>;
2641
- };
323
+ UIParts: ReturnType<typeof createUIParts<DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>>;
324
+ UIChunks: ReturnType<typeof createUIChunks<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>>>;
325
+ UIMessages: ReturnType<typeof createUIMessages<MetadataOf<UI_MESSAGE>, DataOf<UI_MESSAGE>, ToolsOf<UI_MESSAGE>>>;
2642
326
  };
2643
327
  //#endregion
2644
- export { type UIChunkBlockOptions, UIChunks, UIMessages, UIParts, createUIChunks, createUIMessages, createUIParts, fromUIMessage };
328
+ //#region src/ui/types.d.ts
329
+ /**
330
+ * The union of a message's parts. The part-level counterpart to the AI SDK's `InferUIMessageChunk`
331
+ * (which the SDK exports for chunks but not for parts). Narrow it with {@link UIMessagePartOf} or
332
+ * index {@link UIMessageParts}.
333
+ */
334
+ type InferUIMessagePart<UI_MESSAGE extends UIMessage> = UI_MESSAGE['parts'][number];
335
+ /**
336
+ * A single part variant of a message, selected by its `type`. `TYPE` accepts an exact type, a union of
337
+ * types, or a `tool-${string}` / `data-${string}` template; a non-matching type resolves to `never`.
338
+ */
339
+ type UIMessagePartOf<UI_MESSAGE extends UIMessage, TYPE extends InferUIMessagePart<UI_MESSAGE>['type'] | (string & {})> = Extract<InferUIMessagePart<UI_MESSAGE>, {
340
+ type: TYPE;
341
+ }>;
342
+ /**
343
+ * A single chunk variant of a message, selected by its `type`. `TYPE` accepts an exact type, a union of
344
+ * types, or a template; a non-matching type resolves to `never`.
345
+ */
346
+ type UIMessageChunkOf<UI_MESSAGE extends UIMessage, TYPE extends InferUIMessageChunk<UI_MESSAGE>['type'] | (string & {})> = Extract<InferUIMessageChunk<UI_MESSAGE>, {
347
+ type: TYPE;
348
+ }>;
349
+ /**
350
+ * A message's part types bundled into a record keyed by each part's `type`, so a single variant is one
351
+ * indexed access: `UIMessageParts<MyUIMessage>['text']`. A union key yields a union of parts, and the
352
+ * dynamic `tool-${name}` / `data-${name}` parts appear under their concrete names.
353
+ */
354
+ type UIMessageParts<UI_MESSAGE extends UIMessage> = { [PART in InferUIMessagePart<UI_MESSAGE> as PART['type']]: PART };
355
+ /**
356
+ * A message's chunk types bundled into a record keyed by each chunk's `type`, so a single variant is one
357
+ * indexed access: `UIMessageChunks<MyUIMessage>['text-start']`. A union key yields a union of chunks.
358
+ */
359
+ type UIMessageChunks<UI_MESSAGE extends UIMessage> = { [CHUNK in InferUIMessageChunk<UI_MESSAGE> as CHUNK['type']]: CHUNK };
360
+ //#endregion
361
+ export { type InferUIMessagePart, type UIChunkBlockOptions, UIChunks, type UIMessageChunkOf, type UIMessageChunks, type UIMessagePartOf, type UIMessageParts, UIMessages, UIParts, createUIChunks, createUIMessages, createUIParts, fromUIMessage };