From 91c3beadf557218f36e288bde60d580f81ee2892 Mon Sep 17 00:00:00 2001 From: Vinay Guthal Date: Thu, 28 May 2026 14:29:30 -0400 Subject: [PATCH 1/3] update --- ai-logic/firebase-ai/api.txt | 2 ++ .../google/firebase/ai/type/GenerateContentResponse.kt | 8 ++++++-- .../java/com/google/firebase/ai/SerializationTests.kt | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ai-logic/firebase-ai/api.txt b/ai-logic/firebase-ai/api.txt index 372d4e1013e..7bdfd669a68 100644 --- a/ai-logic/firebase-ai/api.txt +++ b/ai-logic/firebase-ai/api.txt @@ -679,6 +679,7 @@ package com.google.firebase.ai.type { method public java.util.List getFunctionCalls(); method public com.google.firebase.ai.InferenceSource getInferenceSource(); method public java.util.List getInlineDataParts(); + method public String? getModelVersion(); method public com.google.firebase.ai.type.PromptFeedback? getPromptFeedback(); method public String? getText(); method public String? getThoughtSummary(); @@ -687,6 +688,7 @@ package com.google.firebase.ai.type { property public final java.util.List functionCalls; property public final com.google.firebase.ai.InferenceSource inferenceSource; property public final java.util.List inlineDataParts; + property public final String? modelVersion; property public final com.google.firebase.ai.type.PromptFeedback? promptFeedback; property public final String? text; property public final String? thoughtSummary; diff --git a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt index b7d14867c7b..ec3f081ae15 100644 --- a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt +++ b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt @@ -17,6 +17,7 @@ package com.google.firebase.ai.type import com.google.firebase.ai.InferenceSource +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable /** @@ -35,6 +36,7 @@ internal constructor( public val inferenceSource: InferenceSource, public val promptFeedback: PromptFeedback?, public val usageMetadata: UsageMetadata?, + public val modelVersion: String? = null, ) { // To maintain backwards compatibility with possible outside usage, we maintain a public @@ -47,7 +49,7 @@ internal constructor( candidates: List, promptFeedback: PromptFeedback?, usageMetadata: UsageMetadata?, - ) : this(candidates, InferenceSource.IN_CLOUD, promptFeedback, usageMetadata) + ) : this(candidates, InferenceSource.IN_CLOUD, promptFeedback, usageMetadata, null) /** * Convenience field representing all the text parts in the response as a single string. @@ -118,13 +120,15 @@ internal constructor( val candidates: List? = null, val promptFeedback: PromptFeedback.Internal? = null, val usageMetadata: UsageMetadata.Internal? = null, + @SerialName("model_version") val modelVersion: String? = null, ) : Response { internal fun toPublic(): GenerateContentResponse { return GenerateContentResponse( candidates?.map { it.toPublic() }.orEmpty(), InferenceSource.IN_CLOUD, promptFeedback?.toPublic(), - usageMetadata?.toPublic() + usageMetadata?.toPublic(), + modelVersion ) } } diff --git a/ai-logic/firebase-ai/src/test/java/com/google/firebase/ai/SerializationTests.kt b/ai-logic/firebase-ai/src/test/java/com/google/firebase/ai/SerializationTests.kt index 578466760d9..b31152ac92b 100644 --- a/ai-logic/firebase-ai/src/test/java/com/google/firebase/ai/SerializationTests.kt +++ b/ai-logic/firebase-ai/src/test/java/com/google/firebase/ai/SerializationTests.kt @@ -122,6 +122,9 @@ internal class SerializationTests { }, "usageMetadata": { "${'$'}ref": "UsageMetadata" + }, + "model_version": { + "type": "string" } } } From 92d044d490c6baa36e940d0c667087b0ef9a2e5d Mon Sep 17 00:00:00 2001 From: Vinay Guthal Date: Thu, 28 May 2026 14:43:11 -0400 Subject: [PATCH 2/3] update --- ai-logic/firebase-ai/CHANGELOG.md | 1 + .../com/google/firebase/ai/type/GenerateContentResponse.kt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/ai-logic/firebase-ai/CHANGELOG.md b/ai-logic/firebase-ai/CHANGELOG.md index 14d8c925401..1e2ea486aa8 100644 --- a/ai-logic/firebase-ai/CHANGELOG.md +++ b/ai-logic/firebase-ai/CHANGELOG.md @@ -1,5 +1,6 @@ # Unreleased +- [feature] Added `modelVersion` property to `GenerateContentResponse` (#8227) - [feature] Added the `retrievalConfig` argument to `TemplateToolConfig` (#8107) - [fixed] Fixed citation indices to be native UTF-16 instead of UTF-8. (#8056) diff --git a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt index ec3f081ae15..3a7c1dfecac 100644 --- a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt +++ b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt @@ -59,7 +59,6 @@ internal constructor( * Any part that's marked as a thought will be ignored. Learn more about * [thinking](https://firebase.google.com/docs/ai-logic/thinking?api=dev). */ - public val text: String? by lazy { val parts = candidates.firstOrNull()?.nonThoughtParts()?.filterIsInstance() if (parts.isNullOrEmpty()) return@lazy null parts.joinToString(" ") { it.text } From 65810f2fba44c74e5942feca07ed882a47fe67cc Mon Sep 17 00:00:00 2001 From: Vinay Guthal Date: Thu, 28 May 2026 14:52:21 -0400 Subject: [PATCH 3/3] Update ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../com/google/firebase/ai/type/GenerateContentResponse.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt index 3a7c1dfecac..ec3f081ae15 100644 --- a/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt +++ b/ai-logic/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/GenerateContentResponse.kt @@ -59,6 +59,7 @@ internal constructor( * Any part that's marked as a thought will be ignored. Learn more about * [thinking](https://firebase.google.com/docs/ai-logic/thinking?api=dev). */ + public val text: String? by lazy { val parts = candidates.firstOrNull()?.nonThoughtParts()?.filterIsInstance() if (parts.isNullOrEmpty()) return@lazy null parts.joinToString(" ") { it.text }