@convex-dev/agent 0.0.11 → 0.0.12

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.
@@ -507,1059 +507,265 @@ export declare class Agent<AgentTools extends ToolSet> {
507
507
  /**
508
508
  * Create an action out of this agent so you can call it from workflows or other actions
509
509
  * without a wrapping function.
510
- * Note: currently this is not well typed. The return type of the action is always `any`.
511
510
  * @param spec Configuration for the agent acting as an action, including
512
511
  * {@link ContextOptions} and maxSteps.
513
512
  */
514
- asAction(spec?: {
513
+ asTextAction(spec?: {
515
514
  contextOptions?: ContextOptions;
516
515
  maxSteps?: number;
517
516
  }): import("convex/server").RegisteredAction<"internal", {
518
517
  userId?: string | undefined;
519
518
  threadId?: string | undefined;
520
519
  parentMessageId?: string | undefined;
521
- maxRetries?: number | undefined;
522
- createThread?: {
523
- userId?: string | undefined;
524
- title?: string | undefined;
525
- summary?: string | undefined;
526
- parentThreadIds?: string[] | undefined;
527
- } | undefined;
528
- contextOptions?: {
529
- includeToolCalls?: boolean | undefined;
530
- recentMessages?: number | undefined;
531
- searchOptions?: {
532
- messageRange?: {
533
- before: number;
534
- after: number;
535
- } | undefined;
536
- textSearch?: boolean | undefined;
537
- vectorSearch?: boolean | undefined;
538
- limit: number;
539
- } | undefined;
540
- searchOtherThreads?: boolean | undefined;
541
- } | undefined;
542
- storageOptions?: {
543
- saveAllInputMessages?: boolean | undefined;
544
- saveAllOutputMessages?: boolean | undefined;
545
- } | undefined;
546
- generateText?: {
547
- messages?: ({
548
- providerOptions?: Record<string, any> | undefined;
549
- experimental_providerMetadata?: Record<string, any> | undefined;
550
- role: "user";
551
- content: string | ({
552
- providerOptions?: Record<string, any> | undefined;
553
- experimental_providerMetadata?: Record<string, any> | undefined;
554
- type: "text";
555
- text: string;
556
- } | {
557
- providerOptions?: Record<string, any> | undefined;
558
- experimental_providerMetadata?: Record<string, any> | undefined;
559
- mimeType?: string | undefined;
560
- type: "image";
561
- image: string | ArrayBuffer;
562
- } | {
563
- providerOptions?: Record<string, any> | undefined;
564
- experimental_providerMetadata?: Record<string, any> | undefined;
565
- type: "file";
566
- mimeType: string;
567
- data: string | ArrayBuffer;
568
- })[];
569
- } | {
570
- providerOptions?: Record<string, any> | undefined;
571
- experimental_providerMetadata?: Record<string, any> | undefined;
572
- role: "assistant";
573
- content: string | ({
574
- providerOptions?: Record<string, any> | undefined;
575
- experimental_providerMetadata?: Record<string, any> | undefined;
576
- type: "text";
577
- text: string;
578
- } | {
579
- providerOptions?: Record<string, any> | undefined;
580
- experimental_providerMetadata?: Record<string, any> | undefined;
581
- type: "file";
582
- mimeType: string;
583
- data: string | ArrayBuffer;
584
- } | {
585
- providerOptions?: Record<string, any> | undefined;
586
- experimental_providerMetadata?: Record<string, any> | undefined;
587
- type: "reasoning";
588
- text: string;
589
- } | {
590
- providerOptions?: Record<string, any> | undefined;
591
- experimental_providerMetadata?: Record<string, any> | undefined;
592
- type: "redacted-reasoning";
593
- data: string;
594
- } | {
595
- providerOptions?: Record<string, any> | undefined;
596
- experimental_providerMetadata?: Record<string, any> | undefined;
597
- type: "tool-call";
598
- toolCallId: string;
599
- toolName: string;
600
- args: any;
601
- })[];
602
- } | {
603
- providerOptions?: Record<string, any> | undefined;
604
- experimental_providerMetadata?: Record<string, any> | undefined;
605
- role: "tool";
606
- content: {
607
- providerOptions?: Record<string, any> | undefined;
608
- experimental_providerMetadata?: Record<string, any> | undefined;
609
- args?: any;
610
- experimental_content?: ({
611
- type: "text";
612
- text: string;
613
- } | {
614
- mimeType?: string | undefined;
615
- type: "image";
616
- data: string;
617
- })[] | undefined;
618
- isError?: boolean | undefined;
619
- type: "tool-result";
620
- toolCallId: string;
621
- toolName: string;
622
- result: any;
623
- }[];
624
- } | {
625
- providerOptions?: Record<string, any> | undefined;
626
- experimental_providerMetadata?: Record<string, any> | undefined;
627
- role: "system";
628
- content: string;
629
- })[] | undefined;
520
+ messages?: ({
630
521
  providerOptions?: Record<string, any> | undefined;
631
522
  experimental_providerMetadata?: Record<string, any> | undefined;
632
- system?: string | undefined;
633
- headers?: Record<string, string> | undefined;
634
- maxTokens?: number | undefined;
635
- temperature?: number | undefined;
636
- topP?: number | undefined;
637
- topK?: number | undefined;
638
- presencePenalty?: number | undefined;
639
- frequencyPenalty?: number | undefined;
640
- seed?: number | undefined;
641
- maxRetries?: number | undefined;
642
- toolChoice?: "required" | "auto" | "none" | {
643
- type: "tool";
644
- toolName: string;
645
- } | undefined;
646
- maxSteps?: number | undefined;
647
- experimental_continueSteps?: boolean | undefined;
648
- prompt?: string | undefined;
649
- } | undefined;
650
- streamText?: {
651
- messages?: ({
523
+ role: "user";
524
+ content: string | ({
652
525
  providerOptions?: Record<string, any> | undefined;
653
526
  experimental_providerMetadata?: Record<string, any> | undefined;
654
- role: "user";
655
- content: string | ({
656
- providerOptions?: Record<string, any> | undefined;
657
- experimental_providerMetadata?: Record<string, any> | undefined;
658
- type: "text";
659
- text: string;
660
- } | {
661
- providerOptions?: Record<string, any> | undefined;
662
- experimental_providerMetadata?: Record<string, any> | undefined;
663
- mimeType?: string | undefined;
664
- type: "image";
665
- image: string | ArrayBuffer;
666
- } | {
667
- providerOptions?: Record<string, any> | undefined;
668
- experimental_providerMetadata?: Record<string, any> | undefined;
669
- type: "file";
670
- mimeType: string;
671
- data: string | ArrayBuffer;
672
- })[];
527
+ type: "text";
528
+ text: string;
673
529
  } | {
674
530
  providerOptions?: Record<string, any> | undefined;
675
531
  experimental_providerMetadata?: Record<string, any> | undefined;
676
- role: "assistant";
677
- content: string | ({
678
- providerOptions?: Record<string, any> | undefined;
679
- experimental_providerMetadata?: Record<string, any> | undefined;
680
- type: "text";
681
- text: string;
682
- } | {
683
- providerOptions?: Record<string, any> | undefined;
684
- experimental_providerMetadata?: Record<string, any> | undefined;
685
- type: "file";
686
- mimeType: string;
687
- data: string | ArrayBuffer;
688
- } | {
689
- providerOptions?: Record<string, any> | undefined;
690
- experimental_providerMetadata?: Record<string, any> | undefined;
691
- type: "reasoning";
692
- text: string;
693
- } | {
694
- providerOptions?: Record<string, any> | undefined;
695
- experimental_providerMetadata?: Record<string, any> | undefined;
696
- type: "redacted-reasoning";
697
- data: string;
698
- } | {
699
- providerOptions?: Record<string, any> | undefined;
700
- experimental_providerMetadata?: Record<string, any> | undefined;
701
- type: "tool-call";
702
- toolCallId: string;
703
- toolName: string;
704
- args: any;
705
- })[];
532
+ mimeType?: string | undefined;
533
+ type: "image";
534
+ image: string | ArrayBuffer;
706
535
  } | {
707
536
  providerOptions?: Record<string, any> | undefined;
708
537
  experimental_providerMetadata?: Record<string, any> | undefined;
709
- role: "tool";
710
- content: {
711
- providerOptions?: Record<string, any> | undefined;
712
- experimental_providerMetadata?: Record<string, any> | undefined;
713
- args?: any;
714
- experimental_content?: ({
715
- type: "text";
716
- text: string;
717
- } | {
718
- mimeType?: string | undefined;
719
- type: "image";
720
- data: string;
721
- })[] | undefined;
722
- isError?: boolean | undefined;
723
- type: "tool-result";
724
- toolCallId: string;
725
- toolName: string;
726
- result: any;
727
- }[];
728
- } | {
729
- providerOptions?: Record<string, any> | undefined;
730
- experimental_providerMetadata?: Record<string, any> | undefined;
731
- role: "system";
732
- content: string;
733
- })[] | undefined;
538
+ type: "file";
539
+ mimeType: string;
540
+ data: string | ArrayBuffer;
541
+ })[];
542
+ } | {
734
543
  providerOptions?: Record<string, any> | undefined;
735
544
  experimental_providerMetadata?: Record<string, any> | undefined;
736
- system?: string | undefined;
737
- headers?: Record<string, string> | undefined;
738
- maxTokens?: number | undefined;
739
- temperature?: number | undefined;
740
- topP?: number | undefined;
741
- topK?: number | undefined;
742
- presencePenalty?: number | undefined;
743
- frequencyPenalty?: number | undefined;
744
- seed?: number | undefined;
745
- maxRetries?: number | undefined;
746
- toolChoice?: "required" | "auto" | "none" | {
747
- type: "tool";
748
- toolName: string;
749
- } | undefined;
750
- maxSteps?: number | undefined;
751
- experimental_continueSteps?: boolean | undefined;
752
- prompt?: string | undefined;
753
- } | undefined;
754
- generateObject?: {
755
- messages?: ({
756
- providerOptions?: Record<string, any> | undefined;
757
- experimental_providerMetadata?: Record<string, any> | undefined;
758
- role: "user";
759
- content: string | ({
760
- providerOptions?: Record<string, any> | undefined;
761
- experimental_providerMetadata?: Record<string, any> | undefined;
762
- type: "text";
763
- text: string;
764
- } | {
765
- providerOptions?: Record<string, any> | undefined;
766
- experimental_providerMetadata?: Record<string, any> | undefined;
767
- mimeType?: string | undefined;
768
- type: "image";
769
- image: string | ArrayBuffer;
770
- } | {
771
- providerOptions?: Record<string, any> | undefined;
772
- experimental_providerMetadata?: Record<string, any> | undefined;
773
- type: "file";
774
- mimeType: string;
775
- data: string | ArrayBuffer;
776
- })[];
777
- } | {
545
+ role: "assistant";
546
+ content: string | ({
778
547
  providerOptions?: Record<string, any> | undefined;
779
548
  experimental_providerMetadata?: Record<string, any> | undefined;
780
- role: "assistant";
781
- content: string | ({
782
- providerOptions?: Record<string, any> | undefined;
783
- experimental_providerMetadata?: Record<string, any> | undefined;
784
- type: "text";
785
- text: string;
786
- } | {
787
- providerOptions?: Record<string, any> | undefined;
788
- experimental_providerMetadata?: Record<string, any> | undefined;
789
- type: "file";
790
- mimeType: string;
791
- data: string | ArrayBuffer;
792
- } | {
793
- providerOptions?: Record<string, any> | undefined;
794
- experimental_providerMetadata?: Record<string, any> | undefined;
795
- type: "reasoning";
796
- text: string;
797
- } | {
798
- providerOptions?: Record<string, any> | undefined;
799
- experimental_providerMetadata?: Record<string, any> | undefined;
800
- type: "redacted-reasoning";
801
- data: string;
802
- } | {
803
- providerOptions?: Record<string, any> | undefined;
804
- experimental_providerMetadata?: Record<string, any> | undefined;
805
- type: "tool-call";
806
- toolCallId: string;
807
- toolName: string;
808
- args: any;
809
- })[];
549
+ type: "text";
550
+ text: string;
810
551
  } | {
811
552
  providerOptions?: Record<string, any> | undefined;
812
553
  experimental_providerMetadata?: Record<string, any> | undefined;
813
- role: "tool";
814
- content: {
815
- providerOptions?: Record<string, any> | undefined;
816
- experimental_providerMetadata?: Record<string, any> | undefined;
817
- args?: any;
818
- experimental_content?: ({
819
- type: "text";
820
- text: string;
821
- } | {
822
- mimeType?: string | undefined;
823
- type: "image";
824
- data: string;
825
- })[] | undefined;
826
- isError?: boolean | undefined;
827
- type: "tool-result";
828
- toolCallId: string;
829
- toolName: string;
830
- result: any;
831
- }[];
554
+ type: "file";
555
+ mimeType: string;
556
+ data: string | ArrayBuffer;
832
557
  } | {
833
558
  providerOptions?: Record<string, any> | undefined;
834
559
  experimental_providerMetadata?: Record<string, any> | undefined;
835
- role: "system";
836
- content: string;
837
- })[] | undefined;
838
- providerOptions?: Record<string, any> | undefined;
839
- experimental_providerMetadata?: Record<string, any> | undefined;
840
- system?: string | undefined;
841
- headers?: Record<string, string> | undefined;
842
- maxTokens?: number | undefined;
843
- temperature?: number | undefined;
844
- topP?: number | undefined;
845
- topK?: number | undefined;
846
- presencePenalty?: number | undefined;
847
- frequencyPenalty?: number | undefined;
848
- seed?: number | undefined;
849
- maxRetries?: number | undefined;
850
- prompt?: string | undefined;
851
- output?: "object" | undefined;
852
- schemaName?: string | undefined;
853
- schemaDescription?: string | undefined;
854
- mode?: "tool" | "auto" | "json" | undefined;
855
- schema: any;
856
- } | {
857
- messages?: ({
858
- providerOptions?: Record<string, any> | undefined;
859
- experimental_providerMetadata?: Record<string, any> | undefined;
860
- role: "user";
861
- content: string | ({
862
- providerOptions?: Record<string, any> | undefined;
863
- experimental_providerMetadata?: Record<string, any> | undefined;
864
- type: "text";
865
- text: string;
866
- } | {
867
- providerOptions?: Record<string, any> | undefined;
868
- experimental_providerMetadata?: Record<string, any> | undefined;
869
- mimeType?: string | undefined;
870
- type: "image";
871
- image: string | ArrayBuffer;
872
- } | {
873
- providerOptions?: Record<string, any> | undefined;
874
- experimental_providerMetadata?: Record<string, any> | undefined;
875
- type: "file";
876
- mimeType: string;
877
- data: string | ArrayBuffer;
878
- })[];
560
+ type: "reasoning";
561
+ text: string;
879
562
  } | {
880
563
  providerOptions?: Record<string, any> | undefined;
881
564
  experimental_providerMetadata?: Record<string, any> | undefined;
882
- role: "assistant";
883
- content: string | ({
884
- providerOptions?: Record<string, any> | undefined;
885
- experimental_providerMetadata?: Record<string, any> | undefined;
886
- type: "text";
887
- text: string;
888
- } | {
889
- providerOptions?: Record<string, any> | undefined;
890
- experimental_providerMetadata?: Record<string, any> | undefined;
891
- type: "file";
892
- mimeType: string;
893
- data: string | ArrayBuffer;
894
- } | {
895
- providerOptions?: Record<string, any> | undefined;
896
- experimental_providerMetadata?: Record<string, any> | undefined;
897
- type: "reasoning";
898
- text: string;
899
- } | {
900
- providerOptions?: Record<string, any> | undefined;
901
- experimental_providerMetadata?: Record<string, any> | undefined;
902
- type: "redacted-reasoning";
903
- data: string;
904
- } | {
905
- providerOptions?: Record<string, any> | undefined;
906
- experimental_providerMetadata?: Record<string, any> | undefined;
907
- type: "tool-call";
908
- toolCallId: string;
909
- toolName: string;
910
- args: any;
911
- })[];
565
+ type: "redacted-reasoning";
566
+ data: string;
912
567
  } | {
913
568
  providerOptions?: Record<string, any> | undefined;
914
569
  experimental_providerMetadata?: Record<string, any> | undefined;
915
- role: "tool";
916
- content: {
917
- providerOptions?: Record<string, any> | undefined;
918
- experimental_providerMetadata?: Record<string, any> | undefined;
919
- args?: any;
920
- experimental_content?: ({
921
- type: "text";
922
- text: string;
923
- } | {
924
- mimeType?: string | undefined;
925
- type: "image";
926
- data: string;
927
- })[] | undefined;
928
- isError?: boolean | undefined;
929
- type: "tool-result";
930
- toolCallId: string;
931
- toolName: string;
932
- result: any;
933
- }[];
934
- } | {
935
- providerOptions?: Record<string, any> | undefined;
936
- experimental_providerMetadata?: Record<string, any> | undefined;
937
- role: "system";
938
- content: string;
939
- })[] | undefined;
940
- providerOptions?: Record<string, any> | undefined;
941
- experimental_providerMetadata?: Record<string, any> | undefined;
942
- system?: string | undefined;
943
- headers?: Record<string, string> | undefined;
944
- maxTokens?: number | undefined;
945
- temperature?: number | undefined;
946
- topP?: number | undefined;
947
- topK?: number | undefined;
948
- presencePenalty?: number | undefined;
949
- frequencyPenalty?: number | undefined;
950
- seed?: number | undefined;
951
- maxRetries?: number | undefined;
952
- prompt?: string | undefined;
953
- output?: "array" | undefined;
954
- schemaName?: string | undefined;
955
- schemaDescription?: string | undefined;
956
- mode?: "tool" | "auto" | "json" | undefined;
957
- schema: any;
570
+ type: "tool-call";
571
+ toolCallId: string;
572
+ toolName: string;
573
+ args: any;
574
+ })[];
958
575
  } | {
959
- messages?: ({
960
- providerOptions?: Record<string, any> | undefined;
961
- experimental_providerMetadata?: Record<string, any> | undefined;
962
- role: "user";
963
- content: string | ({
964
- providerOptions?: Record<string, any> | undefined;
965
- experimental_providerMetadata?: Record<string, any> | undefined;
966
- type: "text";
967
- text: string;
968
- } | {
969
- providerOptions?: Record<string, any> | undefined;
970
- experimental_providerMetadata?: Record<string, any> | undefined;
971
- mimeType?: string | undefined;
972
- type: "image";
973
- image: string | ArrayBuffer;
974
- } | {
975
- providerOptions?: Record<string, any> | undefined;
976
- experimental_providerMetadata?: Record<string, any> | undefined;
977
- type: "file";
978
- mimeType: string;
979
- data: string | ArrayBuffer;
980
- })[];
981
- } | {
982
- providerOptions?: Record<string, any> | undefined;
983
- experimental_providerMetadata?: Record<string, any> | undefined;
984
- role: "assistant";
985
- content: string | ({
986
- providerOptions?: Record<string, any> | undefined;
987
- experimental_providerMetadata?: Record<string, any> | undefined;
988
- type: "text";
989
- text: string;
990
- } | {
991
- providerOptions?: Record<string, any> | undefined;
992
- experimental_providerMetadata?: Record<string, any> | undefined;
993
- type: "file";
994
- mimeType: string;
995
- data: string | ArrayBuffer;
996
- } | {
997
- providerOptions?: Record<string, any> | undefined;
998
- experimental_providerMetadata?: Record<string, any> | undefined;
999
- type: "reasoning";
1000
- text: string;
1001
- } | {
1002
- providerOptions?: Record<string, any> | undefined;
1003
- experimental_providerMetadata?: Record<string, any> | undefined;
1004
- type: "redacted-reasoning";
1005
- data: string;
1006
- } | {
1007
- providerOptions?: Record<string, any> | undefined;
1008
- experimental_providerMetadata?: Record<string, any> | undefined;
1009
- type: "tool-call";
1010
- toolCallId: string;
1011
- toolName: string;
1012
- args: any;
1013
- })[];
1014
- } | {
1015
- providerOptions?: Record<string, any> | undefined;
1016
- experimental_providerMetadata?: Record<string, any> | undefined;
1017
- role: "tool";
1018
- content: {
1019
- providerOptions?: Record<string, any> | undefined;
1020
- experimental_providerMetadata?: Record<string, any> | undefined;
1021
- args?: any;
1022
- experimental_content?: ({
1023
- type: "text";
1024
- text: string;
1025
- } | {
1026
- mimeType?: string | undefined;
1027
- type: "image";
1028
- data: string;
1029
- })[] | undefined;
1030
- isError?: boolean | undefined;
1031
- type: "tool-result";
1032
- toolCallId: string;
1033
- toolName: string;
1034
- result: any;
1035
- }[];
1036
- } | {
1037
- providerOptions?: Record<string, any> | undefined;
1038
- experimental_providerMetadata?: Record<string, any> | undefined;
1039
- role: "system";
1040
- content: string;
1041
- })[] | undefined;
1042
576
  providerOptions?: Record<string, any> | undefined;
1043
577
  experimental_providerMetadata?: Record<string, any> | undefined;
1044
- system?: string | undefined;
1045
- headers?: Record<string, string> | undefined;
1046
- maxTokens?: number | undefined;
1047
- temperature?: number | undefined;
1048
- topP?: number | undefined;
1049
- topK?: number | undefined;
1050
- presencePenalty?: number | undefined;
1051
- frequencyPenalty?: number | undefined;
1052
- seed?: number | undefined;
1053
- maxRetries?: number | undefined;
1054
- prompt?: string | undefined;
1055
- output?: "enum" | undefined;
1056
- mode?: "tool" | "auto" | "json" | undefined;
1057
- enum: string[];
1058
- } | {
1059
- messages?: ({
578
+ role: "tool";
579
+ content: {
1060
580
  providerOptions?: Record<string, any> | undefined;
1061
581
  experimental_providerMetadata?: Record<string, any> | undefined;
1062
- role: "user";
1063
- content: string | ({
1064
- providerOptions?: Record<string, any> | undefined;
1065
- experimental_providerMetadata?: Record<string, any> | undefined;
582
+ args?: any;
583
+ experimental_content?: ({
1066
584
  type: "text";
1067
585
  text: string;
1068
586
  } | {
1069
- providerOptions?: Record<string, any> | undefined;
1070
- experimental_providerMetadata?: Record<string, any> | undefined;
1071
587
  mimeType?: string | undefined;
1072
588
  type: "image";
1073
- image: string | ArrayBuffer;
1074
- } | {
1075
- providerOptions?: Record<string, any> | undefined;
1076
- experimental_providerMetadata?: Record<string, any> | undefined;
1077
- type: "file";
1078
- mimeType: string;
1079
- data: string | ArrayBuffer;
1080
- })[];
1081
- } | {
1082
- providerOptions?: Record<string, any> | undefined;
1083
- experimental_providerMetadata?: Record<string, any> | undefined;
1084
- role: "assistant";
1085
- content: string | ({
1086
- providerOptions?: Record<string, any> | undefined;
1087
- experimental_providerMetadata?: Record<string, any> | undefined;
1088
- type: "text";
1089
- text: string;
1090
- } | {
1091
- providerOptions?: Record<string, any> | undefined;
1092
- experimental_providerMetadata?: Record<string, any> | undefined;
1093
- type: "file";
1094
- mimeType: string;
1095
- data: string | ArrayBuffer;
1096
- } | {
1097
- providerOptions?: Record<string, any> | undefined;
1098
- experimental_providerMetadata?: Record<string, any> | undefined;
1099
- type: "reasoning";
1100
- text: string;
1101
- } | {
1102
- providerOptions?: Record<string, any> | undefined;
1103
- experimental_providerMetadata?: Record<string, any> | undefined;
1104
- type: "redacted-reasoning";
1105
589
  data: string;
1106
- } | {
1107
- providerOptions?: Record<string, any> | undefined;
1108
- experimental_providerMetadata?: Record<string, any> | undefined;
1109
- type: "tool-call";
1110
- toolCallId: string;
1111
- toolName: string;
1112
- args: any;
1113
- })[];
1114
- } | {
1115
- providerOptions?: Record<string, any> | undefined;
1116
- experimental_providerMetadata?: Record<string, any> | undefined;
1117
- role: "tool";
1118
- content: {
1119
- providerOptions?: Record<string, any> | undefined;
1120
- experimental_providerMetadata?: Record<string, any> | undefined;
1121
- args?: any;
1122
- experimental_content?: ({
1123
- type: "text";
1124
- text: string;
1125
- } | {
1126
- mimeType?: string | undefined;
1127
- type: "image";
1128
- data: string;
1129
- })[] | undefined;
1130
- isError?: boolean | undefined;
1131
- type: "tool-result";
1132
- toolCallId: string;
1133
- toolName: string;
1134
- result: any;
1135
- }[];
1136
- } | {
1137
- providerOptions?: Record<string, any> | undefined;
1138
- experimental_providerMetadata?: Record<string, any> | undefined;
1139
- role: "system";
1140
- content: string;
1141
- })[] | undefined;
590
+ })[] | undefined;
591
+ isError?: boolean | undefined;
592
+ type: "tool-result";
593
+ toolCallId: string;
594
+ toolName: string;
595
+ result: any;
596
+ }[];
597
+ } | {
1142
598
  providerOptions?: Record<string, any> | undefined;
1143
599
  experimental_providerMetadata?: Record<string, any> | undefined;
1144
- system?: string | undefined;
1145
- headers?: Record<string, string> | undefined;
1146
- maxTokens?: number | undefined;
1147
- temperature?: number | undefined;
1148
- topP?: number | undefined;
1149
- topK?: number | undefined;
1150
- presencePenalty?: number | undefined;
1151
- frequencyPenalty?: number | undefined;
1152
- seed?: number | undefined;
1153
- maxRetries?: number | undefined;
1154
- prompt?: string | undefined;
1155
- mode?: "json" | undefined;
1156
- output: "no-schema";
600
+ role: "system";
601
+ content: string;
602
+ })[] | undefined;
603
+ providerOptions?: Record<string, any> | undefined;
604
+ experimental_providerMetadata?: Record<string, any> | undefined;
605
+ system?: string | undefined;
606
+ headers?: Record<string, string> | undefined;
607
+ maxTokens?: number | undefined;
608
+ temperature?: number | undefined;
609
+ topP?: number | undefined;
610
+ topK?: number | undefined;
611
+ presencePenalty?: number | undefined;
612
+ frequencyPenalty?: number | undefined;
613
+ seed?: number | undefined;
614
+ maxRetries?: number | undefined;
615
+ toolChoice?: "required" | "auto" | "none" | {
616
+ type: "tool";
617
+ toolName: string;
1157
618
  } | undefined;
1158
- streamObject?: {
1159
- messages?: ({
1160
- providerOptions?: Record<string, any> | undefined;
1161
- experimental_providerMetadata?: Record<string, any> | undefined;
1162
- role: "user";
1163
- content: string | ({
1164
- providerOptions?: Record<string, any> | undefined;
1165
- experimental_providerMetadata?: Record<string, any> | undefined;
1166
- type: "text";
1167
- text: string;
1168
- } | {
1169
- providerOptions?: Record<string, any> | undefined;
1170
- experimental_providerMetadata?: Record<string, any> | undefined;
1171
- mimeType?: string | undefined;
1172
- type: "image";
1173
- image: string | ArrayBuffer;
1174
- } | {
1175
- providerOptions?: Record<string, any> | undefined;
1176
- experimental_providerMetadata?: Record<string, any> | undefined;
1177
- type: "file";
1178
- mimeType: string;
1179
- data: string | ArrayBuffer;
1180
- })[];
1181
- } | {
619
+ maxSteps?: number | undefined;
620
+ experimental_continueSteps?: boolean | undefined;
621
+ prompt?: string | undefined;
622
+ contextOptions?: {
623
+ includeToolCalls?: boolean | undefined;
624
+ recentMessages?: number | undefined;
625
+ searchOptions?: {
626
+ messageRange?: {
627
+ before: number;
628
+ after: number;
629
+ } | undefined;
630
+ textSearch?: boolean | undefined;
631
+ vectorSearch?: boolean | undefined;
632
+ limit: number;
633
+ } | undefined;
634
+ searchOtherThreads?: boolean | undefined;
635
+ } | undefined;
636
+ storageOptions?: {
637
+ saveAllInputMessages?: boolean | undefined;
638
+ saveAllOutputMessages?: boolean | undefined;
639
+ } | undefined;
640
+ }, Promise<string>>;
641
+ /**
642
+ * Create an action that generates an object out of this agent so you can call
643
+ * it from workflows or other actions without a wrapping function.
644
+ * @param spec Configuration for the agent acting as an action, including
645
+ * the normal parameters to {@link generateObject}, plus {@link ContextOptions}
646
+ * and maxSteps.
647
+ */
648
+ asObjectAction<T>(spec: OurObjectArgs<T> & {
649
+ maxSteps?: number;
650
+ }): import("convex/server").RegisteredAction<"internal", {
651
+ userId?: string | undefined;
652
+ threadId?: string | undefined;
653
+ parentMessageId?: string | undefined;
654
+ messages?: ({
655
+ providerOptions?: Record<string, any> | undefined;
656
+ experimental_providerMetadata?: Record<string, any> | undefined;
657
+ role: "user";
658
+ content: string | ({
1182
659
  providerOptions?: Record<string, any> | undefined;
1183
660
  experimental_providerMetadata?: Record<string, any> | undefined;
1184
- role: "assistant";
1185
- content: string | ({
1186
- providerOptions?: Record<string, any> | undefined;
1187
- experimental_providerMetadata?: Record<string, any> | undefined;
1188
- type: "text";
1189
- text: string;
1190
- } | {
1191
- providerOptions?: Record<string, any> | undefined;
1192
- experimental_providerMetadata?: Record<string, any> | undefined;
1193
- type: "file";
1194
- mimeType: string;
1195
- data: string | ArrayBuffer;
1196
- } | {
1197
- providerOptions?: Record<string, any> | undefined;
1198
- experimental_providerMetadata?: Record<string, any> | undefined;
1199
- type: "reasoning";
1200
- text: string;
1201
- } | {
1202
- providerOptions?: Record<string, any> | undefined;
1203
- experimental_providerMetadata?: Record<string, any> | undefined;
1204
- type: "redacted-reasoning";
1205
- data: string;
1206
- } | {
1207
- providerOptions?: Record<string, any> | undefined;
1208
- experimental_providerMetadata?: Record<string, any> | undefined;
1209
- type: "tool-call";
1210
- toolCallId: string;
1211
- toolName: string;
1212
- args: any;
1213
- })[];
661
+ type: "text";
662
+ text: string;
1214
663
  } | {
1215
664
  providerOptions?: Record<string, any> | undefined;
1216
665
  experimental_providerMetadata?: Record<string, any> | undefined;
1217
- role: "tool";
1218
- content: {
1219
- providerOptions?: Record<string, any> | undefined;
1220
- experimental_providerMetadata?: Record<string, any> | undefined;
1221
- args?: any;
1222
- experimental_content?: ({
1223
- type: "text";
1224
- text: string;
1225
- } | {
1226
- mimeType?: string | undefined;
1227
- type: "image";
1228
- data: string;
1229
- })[] | undefined;
1230
- isError?: boolean | undefined;
1231
- type: "tool-result";
1232
- toolCallId: string;
1233
- toolName: string;
1234
- result: any;
1235
- }[];
666
+ mimeType?: string | undefined;
667
+ type: "image";
668
+ image: string | ArrayBuffer;
1236
669
  } | {
1237
670
  providerOptions?: Record<string, any> | undefined;
1238
671
  experimental_providerMetadata?: Record<string, any> | undefined;
1239
- role: "system";
1240
- content: string;
1241
- })[] | undefined;
672
+ type: "file";
673
+ mimeType: string;
674
+ data: string | ArrayBuffer;
675
+ })[];
676
+ } | {
1242
677
  providerOptions?: Record<string, any> | undefined;
1243
678
  experimental_providerMetadata?: Record<string, any> | undefined;
1244
- system?: string | undefined;
1245
- headers?: Record<string, string> | undefined;
1246
- maxTokens?: number | undefined;
1247
- temperature?: number | undefined;
1248
- topP?: number | undefined;
1249
- topK?: number | undefined;
1250
- presencePenalty?: number | undefined;
1251
- frequencyPenalty?: number | undefined;
1252
- seed?: number | undefined;
1253
- maxRetries?: number | undefined;
1254
- prompt?: string | undefined;
1255
- output?: "object" | undefined;
1256
- schemaName?: string | undefined;
1257
- schemaDescription?: string | undefined;
1258
- mode?: "tool" | "auto" | "json" | undefined;
1259
- schema: any;
1260
- } | {
1261
- messages?: ({
679
+ role: "assistant";
680
+ content: string | ({
1262
681
  providerOptions?: Record<string, any> | undefined;
1263
682
  experimental_providerMetadata?: Record<string, any> | undefined;
1264
- role: "user";
1265
- content: string | ({
1266
- providerOptions?: Record<string, any> | undefined;
1267
- experimental_providerMetadata?: Record<string, any> | undefined;
1268
- type: "text";
1269
- text: string;
1270
- } | {
1271
- providerOptions?: Record<string, any> | undefined;
1272
- experimental_providerMetadata?: Record<string, any> | undefined;
1273
- mimeType?: string | undefined;
1274
- type: "image";
1275
- image: string | ArrayBuffer;
1276
- } | {
1277
- providerOptions?: Record<string, any> | undefined;
1278
- experimental_providerMetadata?: Record<string, any> | undefined;
1279
- type: "file";
1280
- mimeType: string;
1281
- data: string | ArrayBuffer;
1282
- })[];
683
+ type: "text";
684
+ text: string;
1283
685
  } | {
1284
686
  providerOptions?: Record<string, any> | undefined;
1285
687
  experimental_providerMetadata?: Record<string, any> | undefined;
1286
- role: "assistant";
1287
- content: string | ({
1288
- providerOptions?: Record<string, any> | undefined;
1289
- experimental_providerMetadata?: Record<string, any> | undefined;
1290
- type: "text";
1291
- text: string;
1292
- } | {
1293
- providerOptions?: Record<string, any> | undefined;
1294
- experimental_providerMetadata?: Record<string, any> | undefined;
1295
- type: "file";
1296
- mimeType: string;
1297
- data: string | ArrayBuffer;
1298
- } | {
1299
- providerOptions?: Record<string, any> | undefined;
1300
- experimental_providerMetadata?: Record<string, any> | undefined;
1301
- type: "reasoning";
1302
- text: string;
1303
- } | {
1304
- providerOptions?: Record<string, any> | undefined;
1305
- experimental_providerMetadata?: Record<string, any> | undefined;
1306
- type: "redacted-reasoning";
1307
- data: string;
1308
- } | {
1309
- providerOptions?: Record<string, any> | undefined;
1310
- experimental_providerMetadata?: Record<string, any> | undefined;
1311
- type: "tool-call";
1312
- toolCallId: string;
1313
- toolName: string;
1314
- args: any;
1315
- })[];
688
+ type: "file";
689
+ mimeType: string;
690
+ data: string | ArrayBuffer;
1316
691
  } | {
1317
692
  providerOptions?: Record<string, any> | undefined;
1318
693
  experimental_providerMetadata?: Record<string, any> | undefined;
1319
- role: "tool";
1320
- content: {
1321
- providerOptions?: Record<string, any> | undefined;
1322
- experimental_providerMetadata?: Record<string, any> | undefined;
1323
- args?: any;
1324
- experimental_content?: ({
1325
- type: "text";
1326
- text: string;
1327
- } | {
1328
- mimeType?: string | undefined;
1329
- type: "image";
1330
- data: string;
1331
- })[] | undefined;
1332
- isError?: boolean | undefined;
1333
- type: "tool-result";
1334
- toolCallId: string;
1335
- toolName: string;
1336
- result: any;
1337
- }[];
694
+ type: "reasoning";
695
+ text: string;
1338
696
  } | {
1339
697
  providerOptions?: Record<string, any> | undefined;
1340
698
  experimental_providerMetadata?: Record<string, any> | undefined;
1341
- role: "system";
1342
- content: string;
1343
- })[] | undefined;
1344
- providerOptions?: Record<string, any> | undefined;
1345
- experimental_providerMetadata?: Record<string, any> | undefined;
1346
- system?: string | undefined;
1347
- headers?: Record<string, string> | undefined;
1348
- maxTokens?: number | undefined;
1349
- temperature?: number | undefined;
1350
- topP?: number | undefined;
1351
- topK?: number | undefined;
1352
- presencePenalty?: number | undefined;
1353
- frequencyPenalty?: number | undefined;
1354
- seed?: number | undefined;
1355
- maxRetries?: number | undefined;
1356
- prompt?: string | undefined;
1357
- output?: "array" | undefined;
1358
- schemaName?: string | undefined;
1359
- schemaDescription?: string | undefined;
1360
- mode?: "tool" | "auto" | "json" | undefined;
1361
- schema: any;
1362
- } | {
1363
- messages?: ({
1364
- providerOptions?: Record<string, any> | undefined;
1365
- experimental_providerMetadata?: Record<string, any> | undefined;
1366
- role: "user";
1367
- content: string | ({
1368
- providerOptions?: Record<string, any> | undefined;
1369
- experimental_providerMetadata?: Record<string, any> | undefined;
1370
- type: "text";
1371
- text: string;
1372
- } | {
1373
- providerOptions?: Record<string, any> | undefined;
1374
- experimental_providerMetadata?: Record<string, any> | undefined;
1375
- mimeType?: string | undefined;
1376
- type: "image";
1377
- image: string | ArrayBuffer;
1378
- } | {
1379
- providerOptions?: Record<string, any> | undefined;
1380
- experimental_providerMetadata?: Record<string, any> | undefined;
1381
- type: "file";
1382
- mimeType: string;
1383
- data: string | ArrayBuffer;
1384
- })[];
699
+ type: "redacted-reasoning";
700
+ data: string;
1385
701
  } | {
1386
702
  providerOptions?: Record<string, any> | undefined;
1387
703
  experimental_providerMetadata?: Record<string, any> | undefined;
1388
- role: "assistant";
1389
- content: string | ({
1390
- providerOptions?: Record<string, any> | undefined;
1391
- experimental_providerMetadata?: Record<string, any> | undefined;
1392
- type: "text";
1393
- text: string;
1394
- } | {
1395
- providerOptions?: Record<string, any> | undefined;
1396
- experimental_providerMetadata?: Record<string, any> | undefined;
1397
- type: "file";
1398
- mimeType: string;
1399
- data: string | ArrayBuffer;
1400
- } | {
1401
- providerOptions?: Record<string, any> | undefined;
1402
- experimental_providerMetadata?: Record<string, any> | undefined;
1403
- type: "reasoning";
1404
- text: string;
1405
- } | {
1406
- providerOptions?: Record<string, any> | undefined;
1407
- experimental_providerMetadata?: Record<string, any> | undefined;
1408
- type: "redacted-reasoning";
1409
- data: string;
1410
- } | {
1411
- providerOptions?: Record<string, any> | undefined;
1412
- experimental_providerMetadata?: Record<string, any> | undefined;
1413
- type: "tool-call";
1414
- toolCallId: string;
1415
- toolName: string;
1416
- args: any;
1417
- })[];
1418
- } | {
1419
- providerOptions?: Record<string, any> | undefined;
1420
- experimental_providerMetadata?: Record<string, any> | undefined;
1421
- role: "tool";
1422
- content: {
1423
- providerOptions?: Record<string, any> | undefined;
1424
- experimental_providerMetadata?: Record<string, any> | undefined;
1425
- args?: any;
1426
- experimental_content?: ({
1427
- type: "text";
1428
- text: string;
1429
- } | {
1430
- mimeType?: string | undefined;
1431
- type: "image";
1432
- data: string;
1433
- })[] | undefined;
1434
- isError?: boolean | undefined;
1435
- type: "tool-result";
1436
- toolCallId: string;
1437
- toolName: string;
1438
- result: any;
1439
- }[];
1440
- } | {
1441
- providerOptions?: Record<string, any> | undefined;
1442
- experimental_providerMetadata?: Record<string, any> | undefined;
1443
- role: "system";
1444
- content: string;
1445
- })[] | undefined;
704
+ type: "tool-call";
705
+ toolCallId: string;
706
+ toolName: string;
707
+ args: any;
708
+ })[];
709
+ } | {
1446
710
  providerOptions?: Record<string, any> | undefined;
1447
711
  experimental_providerMetadata?: Record<string, any> | undefined;
1448
- system?: string | undefined;
1449
- headers?: Record<string, string> | undefined;
1450
- maxTokens?: number | undefined;
1451
- temperature?: number | undefined;
1452
- topP?: number | undefined;
1453
- topK?: number | undefined;
1454
- presencePenalty?: number | undefined;
1455
- frequencyPenalty?: number | undefined;
1456
- seed?: number | undefined;
1457
- maxRetries?: number | undefined;
1458
- prompt?: string | undefined;
1459
- output?: "enum" | undefined;
1460
- mode?: "tool" | "auto" | "json" | undefined;
1461
- enum: string[];
1462
- } | {
1463
- messages?: ({
712
+ role: "tool";
713
+ content: {
1464
714
  providerOptions?: Record<string, any> | undefined;
1465
715
  experimental_providerMetadata?: Record<string, any> | undefined;
1466
- role: "user";
1467
- content: string | ({
1468
- providerOptions?: Record<string, any> | undefined;
1469
- experimental_providerMetadata?: Record<string, any> | undefined;
716
+ args?: any;
717
+ experimental_content?: ({
1470
718
  type: "text";
1471
719
  text: string;
1472
720
  } | {
1473
- providerOptions?: Record<string, any> | undefined;
1474
- experimental_providerMetadata?: Record<string, any> | undefined;
1475
721
  mimeType?: string | undefined;
1476
722
  type: "image";
1477
- image: string | ArrayBuffer;
1478
- } | {
1479
- providerOptions?: Record<string, any> | undefined;
1480
- experimental_providerMetadata?: Record<string, any> | undefined;
1481
- type: "file";
1482
- mimeType: string;
1483
- data: string | ArrayBuffer;
1484
- })[];
1485
- } | {
1486
- providerOptions?: Record<string, any> | undefined;
1487
- experimental_providerMetadata?: Record<string, any> | undefined;
1488
- role: "assistant";
1489
- content: string | ({
1490
- providerOptions?: Record<string, any> | undefined;
1491
- experimental_providerMetadata?: Record<string, any> | undefined;
1492
- type: "text";
1493
- text: string;
1494
- } | {
1495
- providerOptions?: Record<string, any> | undefined;
1496
- experimental_providerMetadata?: Record<string, any> | undefined;
1497
- type: "file";
1498
- mimeType: string;
1499
- data: string | ArrayBuffer;
1500
- } | {
1501
- providerOptions?: Record<string, any> | undefined;
1502
- experimental_providerMetadata?: Record<string, any> | undefined;
1503
- type: "reasoning";
1504
- text: string;
1505
- } | {
1506
- providerOptions?: Record<string, any> | undefined;
1507
- experimental_providerMetadata?: Record<string, any> | undefined;
1508
- type: "redacted-reasoning";
1509
723
  data: string;
1510
- } | {
1511
- providerOptions?: Record<string, any> | undefined;
1512
- experimental_providerMetadata?: Record<string, any> | undefined;
1513
- type: "tool-call";
1514
- toolCallId: string;
1515
- toolName: string;
1516
- args: any;
1517
- })[];
1518
- } | {
1519
- providerOptions?: Record<string, any> | undefined;
1520
- experimental_providerMetadata?: Record<string, any> | undefined;
1521
- role: "tool";
1522
- content: {
1523
- providerOptions?: Record<string, any> | undefined;
1524
- experimental_providerMetadata?: Record<string, any> | undefined;
1525
- args?: any;
1526
- experimental_content?: ({
1527
- type: "text";
1528
- text: string;
1529
- } | {
1530
- mimeType?: string | undefined;
1531
- type: "image";
1532
- data: string;
1533
- })[] | undefined;
1534
- isError?: boolean | undefined;
1535
- type: "tool-result";
1536
- toolCallId: string;
1537
- toolName: string;
1538
- result: any;
1539
- }[];
1540
- } | {
1541
- providerOptions?: Record<string, any> | undefined;
1542
- experimental_providerMetadata?: Record<string, any> | undefined;
1543
- role: "system";
1544
- content: string;
1545
- })[] | undefined;
724
+ })[] | undefined;
725
+ isError?: boolean | undefined;
726
+ type: "tool-result";
727
+ toolCallId: string;
728
+ toolName: string;
729
+ result: any;
730
+ }[];
731
+ } | {
1546
732
  providerOptions?: Record<string, any> | undefined;
1547
733
  experimental_providerMetadata?: Record<string, any> | undefined;
1548
- system?: string | undefined;
1549
- headers?: Record<string, string> | undefined;
1550
- maxTokens?: number | undefined;
1551
- temperature?: number | undefined;
1552
- topP?: number | undefined;
1553
- topK?: number | undefined;
1554
- presencePenalty?: number | undefined;
1555
- frequencyPenalty?: number | undefined;
1556
- seed?: number | undefined;
1557
- maxRetries?: number | undefined;
1558
- prompt?: string | undefined;
1559
- mode?: "json" | undefined;
1560
- output: "no-schema";
734
+ role: "system";
735
+ content: string;
736
+ })[] | undefined;
737
+ providerOptions?: Record<string, any> | undefined;
738
+ experimental_providerMetadata?: Record<string, any> | undefined;
739
+ system?: string | undefined;
740
+ headers?: Record<string, string> | undefined;
741
+ maxTokens?: number | undefined;
742
+ temperature?: number | undefined;
743
+ topP?: number | undefined;
744
+ topK?: number | undefined;
745
+ presencePenalty?: number | undefined;
746
+ frequencyPenalty?: number | undefined;
747
+ seed?: number | undefined;
748
+ maxRetries?: number | undefined;
749
+ prompt?: string | undefined;
750
+ contextOptions?: {
751
+ includeToolCalls?: boolean | undefined;
752
+ recentMessages?: number | undefined;
753
+ searchOptions?: {
754
+ messageRange?: {
755
+ before: number;
756
+ after: number;
757
+ } | undefined;
758
+ textSearch?: boolean | undefined;
759
+ vectorSearch?: boolean | undefined;
760
+ limit: number;
761
+ } | undefined;
762
+ searchOtherThreads?: boolean | undefined;
763
+ } | undefined;
764
+ storageOptions?: {
765
+ saveAllInputMessages?: boolean | undefined;
766
+ saveAllOutputMessages?: boolean | undefined;
1561
767
  } | undefined;
1562
- }, Promise<any>>;
768
+ }, Promise<T>>;
1563
769
  }
1564
770
  export type ToolCtx = RunActionCtx & {
1565
771
  userId?: string;