@@ -28,6 +28,8 @@ public struct Tool: Hashable, Codable, Sendable {
2828 case text( String )
2929 /// Image content
3030 case image( data: String , mimeType: String , metadata: [ String : String ] ? )
31+ /// Audio content
32+ case audio( data: String , mimeType: String )
3133 /// Embedded resource content
3234 case resource( uri: String , mimeType: String , text: String ? )
3335
@@ -36,6 +38,7 @@ public struct Tool: Hashable, Codable, Sendable {
3638 case text
3739 case image
3840 case resource
41+ case audio
3942 case uri
4043 case mimeType
4144 case data
@@ -56,6 +59,10 @@ public struct Tool: Hashable, Codable, Sendable {
5659 let metadata = try container. decodeIfPresent (
5760 [ String : String ] . self, forKey: . metadata)
5861 self = . image( data: data, mimeType: mimeType, metadata: metadata)
62+ case " audio " :
63+ let data = try container. decode ( String . self, forKey: . data)
64+ let mimeType = try container. decode ( String . self, forKey: . mimeType)
65+ self = . audio( data: data, mimeType: mimeType)
5966 case " resource " :
6067 let uri = try container. decode ( String . self, forKey: . uri)
6168 let mimeType = try container. decode ( String . self, forKey: . mimeType)
@@ -79,6 +86,10 @@ public struct Tool: Hashable, Codable, Sendable {
7986 try container. encode ( data, forKey: . data)
8087 try container. encode ( mimeType, forKey: . mimeType)
8188 try container. encodeIfPresent ( metadata, forKey: . metadata)
89+ case . audio( let data, let mimeType) :
90+ try container. encode ( " audio " , forKey: . type)
91+ try container. encode ( data, forKey: . data)
92+ try container. encode ( mimeType, forKey: . mimeType)
8293 case . resource( let uri, let mimeType, let text) :
8394 try container. encode ( " resource " , forKey: . type)
8495 try container. encode ( uri, forKey: . uri)
@@ -120,7 +131,7 @@ public enum ListTools: Method {
120131
121132 public struct Parameters : NotRequired , Hashable , Codable , Sendable {
122133 public let cursor : String ?
123-
134+
124135 public init ( ) {
125136 self . cursor = nil
126137 }
0 commit comments