@convex-dev/agent 0.0.11 → 0.0.13

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.
@@ -504,1062 +504,294 @@ export declare class Agent<AgentTools extends ToolSet> {
504
504
  }): Promise<void>;
505
505
  mergedContextOptions(opts: ContextOptions): ContextOptions;
506
506
  searchOptionsWithDefaults(contextOptions: ContextOptions, messages: CoreMessage[]): Promise<SearchOptions>;
507
+ /**
508
+ * Create a mutation that creates a thread so you can call it from a Workflow.
509
+ * e.g.
510
+ * ```ts
511
+ * // in convex/foo.ts
512
+ * export const createThread = weatherAgent.createThreadMutation();
513
+ *
514
+ * const workflow = new WorkflowManager(components.workflow);
515
+ * export const myWorkflow = workflow.define({
516
+ * args: {},
517
+ * handler: async (step) => {
518
+ * const { threadId } = await step.runMutation(internal.foo.createThread);
519
+ * // use the threadId to generate text, object, etc.
520
+ * },
521
+ * });
522
+ * ```
523
+ * @returns A mutation that creates a thread.
524
+ */
525
+ createThreadMutation(): import("convex/server").RegisteredMutation<"internal", {
526
+ userId?: string | undefined;
527
+ title?: string | undefined;
528
+ summary?: string | undefined;
529
+ parentThreadIds?: string[] | undefined;
530
+ }, Promise<{
531
+ threadId: string;
532
+ }>>;
507
533
  /**
508
534
  * Create an action out of this agent so you can call it from workflows or other actions
509
535
  * without a wrapping function.
510
- * Note: currently this is not well typed. The return type of the action is always `any`.
511
536
  * @param spec Configuration for the agent acting as an action, including
512
537
  * {@link ContextOptions} and maxSteps.
513
538
  */
514
- asAction(spec?: {
539
+ asTextAction(spec?: {
515
540
  contextOptions?: ContextOptions;
516
541
  maxSteps?: number;
517
542
  }): import("convex/server").RegisteredAction<"internal", {
518
543
  userId?: string | undefined;
519
544
  threadId?: string | undefined;
520
545
  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;
546
+ messages?: ({
630
547
  providerOptions?: Record<string, any> | undefined;
631
548
  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?: ({
652
- providerOptions?: Record<string, any> | undefined;
653
- 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
- })[];
673
- } | {
549
+ role: "user";
550
+ content: string | ({
674
551
  providerOptions?: Record<string, any> | undefined;
675
552
  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
- })[];
553
+ type: "text";
554
+ text: string;
706
555
  } | {
707
556
  providerOptions?: Record<string, any> | undefined;
708
557
  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
- }[];
558
+ mimeType?: string | undefined;
559
+ type: "image";
560
+ image: string | ArrayBuffer;
728
561
  } | {
729
562
  providerOptions?: Record<string, any> | undefined;
730
563
  experimental_providerMetadata?: Record<string, any> | undefined;
731
- role: "system";
732
- content: string;
733
- })[] | undefined;
564
+ type: "file";
565
+ mimeType: string;
566
+ data: string | ArrayBuffer;
567
+ })[];
568
+ } | {
734
569
  providerOptions?: Record<string, any> | undefined;
735
570
  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
- } | {
778
- providerOptions?: Record<string, any> | undefined;
779
- 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
- })[];
810
- } | {
571
+ role: "assistant";
572
+ content: string | ({
811
573
  providerOptions?: Record<string, any> | undefined;
812
574
  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
- }[];
575
+ type: "text";
576
+ text: string;
832
577
  } | {
833
578
  providerOptions?: Record<string, any> | undefined;
834
579
  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
- })[];
580
+ type: "file";
581
+ mimeType: string;
582
+ data: string | ArrayBuffer;
879
583
  } | {
880
584
  providerOptions?: Record<string, any> | undefined;
881
585
  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
- })[];
586
+ type: "reasoning";
587
+ text: string;
912
588
  } | {
913
589
  providerOptions?: Record<string, any> | undefined;
914
590
  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
- }[];
591
+ type: "redacted-reasoning";
592
+ data: string;
934
593
  } | {
935
594
  providerOptions?: Record<string, any> | undefined;
936
595
  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;
596
+ type: "tool-call";
597
+ toolCallId: string;
598
+ toolName: string;
599
+ args: any;
600
+ })[];
958
601
  } | {
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
602
  providerOptions?: Record<string, any> | undefined;
1043
603
  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?: ({
604
+ role: "tool";
605
+ content: {
1060
606
  providerOptions?: Record<string, any> | undefined;
1061
607
  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;
608
+ args?: any;
609
+ experimental_content?: ({
1066
610
  type: "text";
1067
611
  text: string;
1068
612
  } | {
1069
- providerOptions?: Record<string, any> | undefined;
1070
- experimental_providerMetadata?: Record<string, any> | undefined;
1071
613
  mimeType?: string | undefined;
1072
614
  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
615
  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;
616
+ })[] | undefined;
617
+ isError?: boolean | undefined;
618
+ type: "tool-result";
619
+ toolCallId: string;
620
+ toolName: string;
621
+ result: any;
622
+ }[];
623
+ } | {
1142
624
  providerOptions?: Record<string, any> | undefined;
1143
625
  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";
626
+ role: "system";
627
+ content: string;
628
+ })[] | undefined;
629
+ providerOptions?: Record<string, any> | undefined;
630
+ experimental_providerMetadata?: Record<string, any> | undefined;
631
+ system?: string | undefined;
632
+ headers?: Record<string, string> | undefined;
633
+ maxTokens?: number | undefined;
634
+ temperature?: number | undefined;
635
+ topP?: number | undefined;
636
+ topK?: number | undefined;
637
+ presencePenalty?: number | undefined;
638
+ frequencyPenalty?: number | undefined;
639
+ seed?: number | undefined;
640
+ maxRetries?: number | undefined;
641
+ toolChoice?: "required" | "auto" | "none" | {
642
+ type: "tool";
643
+ toolName: string;
1157
644
  } | 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
- } | {
645
+ maxSteps?: number | undefined;
646
+ experimental_continueSteps?: boolean | undefined;
647
+ prompt?: string | undefined;
648
+ contextOptions?: {
649
+ includeToolCalls?: boolean | undefined;
650
+ recentMessages?: number | undefined;
651
+ searchOptions?: {
652
+ messageRange?: {
653
+ before: number;
654
+ after: number;
655
+ } | undefined;
656
+ textSearch?: boolean | undefined;
657
+ vectorSearch?: boolean | undefined;
658
+ limit: number;
659
+ } | undefined;
660
+ searchOtherThreads?: boolean | undefined;
661
+ } | undefined;
662
+ storageOptions?: {
663
+ saveAllInputMessages?: boolean | undefined;
664
+ saveAllOutputMessages?: boolean | undefined;
665
+ } | undefined;
666
+ }, Promise<string>>;
667
+ /**
668
+ * Create an action that generates an object out of this agent so you can call
669
+ * it from workflows or other actions without a wrapping function.
670
+ * @param spec Configuration for the agent acting as an action, including
671
+ * the normal parameters to {@link generateObject}, plus {@link ContextOptions}
672
+ * and maxSteps.
673
+ */
674
+ asObjectAction<T>(spec: OurObjectArgs<T> & {
675
+ maxSteps?: number;
676
+ }): import("convex/server").RegisteredAction<"internal", {
677
+ userId?: string | undefined;
678
+ threadId?: string | undefined;
679
+ parentMessageId?: string | undefined;
680
+ messages?: ({
681
+ providerOptions?: Record<string, any> | undefined;
682
+ experimental_providerMetadata?: Record<string, any> | undefined;
683
+ role: "user";
684
+ content: string | ({
1182
685
  providerOptions?: Record<string, any> | undefined;
1183
686
  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
- })[];
687
+ type: "text";
688
+ text: string;
1214
689
  } | {
1215
690
  providerOptions?: Record<string, any> | undefined;
1216
691
  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
- }[];
692
+ mimeType?: string | undefined;
693
+ type: "image";
694
+ image: string | ArrayBuffer;
1236
695
  } | {
1237
696
  providerOptions?: Record<string, any> | undefined;
1238
697
  experimental_providerMetadata?: Record<string, any> | undefined;
1239
- role: "system";
1240
- content: string;
1241
- })[] | undefined;
698
+ type: "file";
699
+ mimeType: string;
700
+ data: string | ArrayBuffer;
701
+ })[];
702
+ } | {
1242
703
  providerOptions?: Record<string, any> | undefined;
1243
704
  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?: ({
1262
- providerOptions?: Record<string, any> | undefined;
1263
- 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
- })[];
1283
- } | {
1284
- providerOptions?: Record<string, any> | undefined;
1285
- 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
- })[];
1316
- } | {
705
+ role: "assistant";
706
+ content: string | ({
1317
707
  providerOptions?: Record<string, any> | undefined;
1318
708
  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
- }[];
709
+ type: "text";
710
+ text: string;
1338
711
  } | {
1339
712
  providerOptions?: Record<string, any> | undefined;
1340
713
  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
- })[];
714
+ type: "file";
715
+ mimeType: string;
716
+ data: string | ArrayBuffer;
1385
717
  } | {
1386
718
  providerOptions?: Record<string, any> | undefined;
1387
719
  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
- })[];
720
+ type: "reasoning";
721
+ text: string;
1418
722
  } | {
1419
723
  providerOptions?: Record<string, any> | undefined;
1420
724
  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
- }[];
725
+ type: "redacted-reasoning";
726
+ data: string;
1440
727
  } | {
1441
728
  providerOptions?: Record<string, any> | undefined;
1442
729
  experimental_providerMetadata?: Record<string, any> | undefined;
1443
- role: "system";
1444
- content: string;
1445
- })[] | undefined;
730
+ type: "tool-call";
731
+ toolCallId: string;
732
+ toolName: string;
733
+ args: any;
734
+ })[];
735
+ } | {
1446
736
  providerOptions?: Record<string, any> | undefined;
1447
737
  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?: ({
738
+ role: "tool";
739
+ content: {
1464
740
  providerOptions?: Record<string, any> | undefined;
1465
741
  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;
742
+ args?: any;
743
+ experimental_content?: ({
1470
744
  type: "text";
1471
745
  text: string;
1472
746
  } | {
1473
- providerOptions?: Record<string, any> | undefined;
1474
- experimental_providerMetadata?: Record<string, any> | undefined;
1475
747
  mimeType?: string | undefined;
1476
748
  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
749
  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;
750
+ })[] | undefined;
751
+ isError?: boolean | undefined;
752
+ type: "tool-result";
753
+ toolCallId: string;
754
+ toolName: string;
755
+ result: any;
756
+ }[];
757
+ } | {
1546
758
  providerOptions?: Record<string, any> | undefined;
1547
759
  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";
760
+ role: "system";
761
+ content: string;
762
+ })[] | undefined;
763
+ providerOptions?: Record<string, any> | undefined;
764
+ experimental_providerMetadata?: Record<string, any> | undefined;
765
+ system?: string | undefined;
766
+ headers?: Record<string, string> | undefined;
767
+ maxTokens?: number | undefined;
768
+ temperature?: number | undefined;
769
+ topP?: number | undefined;
770
+ topK?: number | undefined;
771
+ presencePenalty?: number | undefined;
772
+ frequencyPenalty?: number | undefined;
773
+ seed?: number | undefined;
774
+ maxRetries?: number | undefined;
775
+ prompt?: string | undefined;
776
+ contextOptions?: {
777
+ includeToolCalls?: boolean | undefined;
778
+ recentMessages?: number | undefined;
779
+ searchOptions?: {
780
+ messageRange?: {
781
+ before: number;
782
+ after: number;
783
+ } | undefined;
784
+ textSearch?: boolean | undefined;
785
+ vectorSearch?: boolean | undefined;
786
+ limit: number;
787
+ } | undefined;
788
+ searchOtherThreads?: boolean | undefined;
789
+ } | undefined;
790
+ storageOptions?: {
791
+ saveAllInputMessages?: boolean | undefined;
792
+ saveAllOutputMessages?: boolean | undefined;
1561
793
  } | undefined;
1562
- }, Promise<any>>;
794
+ }, Promise<T>>;
1563
795
  }
1564
796
  export type ToolCtx = RunActionCtx & {
1565
797
  userId?: string;