@@ -657,11 +657,26 @@ class ImageContent(BaseModel):
657
657
model_config = ConfigDict (extra = "allow" )
658
658
659
659
660
+ class AudioContent (BaseModel ):
661
+ """Audio content for a message."""
662
+
663
+ type : Literal ["audio" ]
664
+ data : str
665
+ """The base64-encoded audio data."""
666
+ mimeType : str
667
+ """
668
+ The MIME type of the audio. Different providers may support different
669
+ audio types.
670
+ """
671
+ annotations : Annotations | None = None
672
+ model_config = ConfigDict (extra = "allow" )
673
+
674
+
660
675
class SamplingMessage (BaseModel ):
661
676
"""Describes a message issued to or received from an LLM API."""
662
677
663
678
role : Role
664
- content : TextContent | ImageContent
679
+ content : TextContent | ImageContent | AudioContent
665
680
model_config = ConfigDict (extra = "allow" )
666
681
667
682
@@ -683,7 +698,7 @@ class PromptMessage(BaseModel):
683
698
"""Describes a message returned as part of a prompt."""
684
699
685
700
role : Role
686
- content : TextContent | ImageContent | EmbeddedResource
701
+ content : TextContent | ImageContent | AudioContent | EmbeddedResource
687
702
model_config = ConfigDict (extra = "allow" )
688
703
689
704
@@ -801,7 +816,7 @@ class CallToolRequest(Request[CallToolRequestParams, Literal["tools/call"]]):
801
816
class CallToolResult (Result ):
802
817
"""The server's response to a tool call."""
803
818
804
- content : list [TextContent | ImageContent | EmbeddedResource ]
819
+ content : list [TextContent | ImageContent | AudioContent | EmbeddedResource ]
805
820
isError : bool = False
806
821
807
822
@@ -965,7 +980,7 @@ class CreateMessageResult(Result):
965
980
"""The client's response to a sampling/create_message request from the server."""
966
981
967
982
role : Role
968
- content : TextContent | ImageContent
983
+ content : TextContent | ImageContent | AudioContent
969
984
model : str
970
985
"""The name of the model that generated the message."""
971
986
stopReason : StopReason | None = None
0 commit comments