@@ -666,6 +666,23 @@ export const ImageContentSchema = z
666666 } )
667667 . passthrough ( ) ;
668668
669+ /**
670+ * An Audio provided to or from an LLM.
671+ */
672+ export const AudioContentSchema = z
673+ . object ( {
674+ type : z . literal ( "audio" ) ,
675+ /**
676+ * The base64-encoded audio data.
677+ */
678+ data : z . string ( ) . base64 ( ) ,
679+ /**
680+ * The MIME type of the audio. Different providers may support different audio types.
681+ */
682+ mimeType : z . string ( ) ,
683+ } )
684+ . passthrough ( ) ;
685+
669686/**
670687 * The contents of a resource, embedded into a prompt or tool call result.
671688 */
@@ -685,6 +702,7 @@ export const PromptMessageSchema = z
685702 content : z . union ( [
686703 TextContentSchema ,
687704 ImageContentSchema ,
705+ AudioContentSchema ,
688706 EmbeddedResourceSchema ,
689707 ] ) ,
690708 } )
@@ -753,7 +771,7 @@ export const ListToolsResultSchema = PaginatedResultSchema.extend({
753771 */
754772export const CallToolResultSchema = ResultSchema . extend ( {
755773 content : z . array (
756- z . union ( [ TextContentSchema , ImageContentSchema , EmbeddedResourceSchema ] ) ,
774+ z . union ( [ TextContentSchema , ImageContentSchema , AudioContentSchema , EmbeddedResourceSchema ] ) ,
757775 ) ,
758776 isError : z . boolean ( ) . default ( false ) . optional ( ) ,
759777} ) ;
@@ -877,7 +895,7 @@ export const ModelPreferencesSchema = z
877895export const SamplingMessageSchema = z
878896 . object ( {
879897 role : z . enum ( [ "user" , "assistant" ] ) ,
880- content : z . union ( [ TextContentSchema , ImageContentSchema ] ) ,
898+ content : z . union ( [ TextContentSchema , ImageContentSchema , AudioContentSchema ] ) ,
881899 } )
882900 . passthrough ( ) ;
883901
@@ -931,6 +949,7 @@ export const CreateMessageResultSchema = ResultSchema.extend({
931949 content : z . discriminatedUnion ( "type" , [
932950 TextContentSchema ,
933951 ImageContentSchema ,
952+ AudioContentSchema
934953 ] ) ,
935954} ) ;
936955
@@ -1195,6 +1214,7 @@ export type ListPromptsResult = Infer<typeof ListPromptsResultSchema>;
11951214export type GetPromptRequest = Infer < typeof GetPromptRequestSchema > ;
11961215export type TextContent = Infer < typeof TextContentSchema > ;
11971216export type ImageContent = Infer < typeof ImageContentSchema > ;
1217+ export type AudioContent = Infer < typeof AudioContentSchema > ;
11981218export type EmbeddedResource = Infer < typeof EmbeddedResourceSchema > ;
11991219export type PromptMessage = Infer < typeof PromptMessageSchema > ;
12001220export type GetPromptResult = Infer < typeof GetPromptResultSchema > ;
0 commit comments