File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed
FirebaseAI/Sources/Types/Internal/Live Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change 15
15
import Foundation
16
16
17
17
/// Messages sent by the client in the BidiGenerateContent RPC call.
18
- enum BidiGenerateContentClientMessage : Encodable {
18
+ enum BidiGenerateContentClientMessage {
19
19
/// Message to be sent in the first and only first client message.
20
20
case setup( BidiGenerateContentSetup )
21
21
@@ -28,3 +28,26 @@ enum BidiGenerateContentClientMessage: Encodable {
28
28
/// Response to a `ToolCallMessage` received from the server.
29
29
case toolResponse( BidiGenerateContentToolResponse )
30
30
}
31
+
32
+ extension BidiGenerateContentClientMessage : Encodable {
33
+ enum CodingKeys : CodingKey {
34
+ case setup
35
+ case clientContent
36
+ case realtimeInput
37
+ case toolResponse
38
+ }
39
+
40
+ func encode( to encoder: any Encoder ) throws {
41
+ var container = encoder. container ( keyedBy: CodingKeys . self)
42
+ switch self {
43
+ case let . setup( setup) :
44
+ try container. encode ( setup, forKey: . setup)
45
+ case let . clientContent( clientContent) :
46
+ try container. encode ( clientContent, forKey: . clientContent)
47
+ case let . realtimeInput( realtimeInput) :
48
+ try container. encode ( realtimeInput, forKey: . realtimeInput)
49
+ case let . toolResponse( toolResponse) :
50
+ try container. encode ( toolResponse, forKey: . toolResponse)
51
+ }
52
+ }
53
+ }
You can’t perform that action at this time.
0 commit comments