From a9c3ec3722dd63d571d87d65c284242293cc7257 Mon Sep 17 00:00:00 2001 From: Andrew Heard Date: Thu, 1 May 2025 15:45:12 -0400 Subject: [PATCH] [Firebase AI] Handle decoding `Candidate` with no content --- FirebaseAI/Sources/ModelContent.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/FirebaseAI/Sources/ModelContent.swift b/FirebaseAI/Sources/ModelContent.swift index ba87736e648..7c517563a77 100644 --- a/FirebaseAI/Sources/ModelContent.swift +++ b/FirebaseAI/Sources/ModelContent.swift @@ -112,6 +112,14 @@ extension ModelContent: Codable { case role case internalParts = "parts" } + + public init(from decoder: any Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + self.role = try container.decodeIfPresent(String.self, forKey: .role) + self.internalParts = try container.decodeIfPresent( + [ModelContent.InternalPart].self, forKey: .internalParts + ) ?? [] + } } @available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *)