Skip to content

Commit 22be120

Browse files
authored
Add missing optIn declarations to reduce compilation noise (#6713)
Part of the serialization API we use requires optIn, and without the correct declarations we get warnings printed when compiling the code.
1 parent 680ce8c commit 22be120

File tree

7 files changed

+13
-8
lines changed

7 files changed

+13
-8
lines changed

firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/GenerativeModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import com.google.firebase.vertexai.type.content
4040
import kotlinx.coroutines.flow.Flow
4141
import kotlinx.coroutines.flow.catch
4242
import kotlinx.coroutines.flow.map
43+
import kotlinx.serialization.ExperimentalSerializationApi
4344

4445
/**
4546
* Represents a multimodal model (like Gemini), capable of generating content based on various input
@@ -199,6 +200,7 @@ internal constructor(
199200
return countTokens(content { image(prompt) })
200201
}
201202

203+
@OptIn(ExperimentalSerializationApi::class)
202204
private fun constructRequest(vararg prompt: Content) =
203205
GenerateContentRequest(
204206
modelName,

firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/common/Request.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16+
@file:OptIn(ExperimentalSerializationApi::class)
1617

1718
package com.google.firebase.vertexai.common
1819

@@ -24,6 +25,7 @@ import com.google.firebase.vertexai.type.PublicPreviewAPI
2425
import com.google.firebase.vertexai.type.SafetySetting
2526
import com.google.firebase.vertexai.type.Tool
2627
import com.google.firebase.vertexai.type.ToolConfig
28+
import kotlinx.serialization.ExperimentalSerializationApi
2729
import kotlinx.serialization.SerialName
2830
import kotlinx.serialization.Serializable
2931

@@ -49,14 +51,6 @@ internal data class CountTokensRequest(
4951
@SerialName("system_instruction") val systemInstruction: Content.Internal? = null,
5052
) : Request {
5153
companion object {
52-
fun forGenAI(generateContentRequest: GenerateContentRequest) =
53-
CountTokensRequest(
54-
generateContentRequest =
55-
generateContentRequest.model?.let {
56-
generateContentRequest.copy(model = fullModelName(it))
57-
}
58-
?: generateContentRequest
59-
)
6054

6155
fun forVertexAI(generateContentRequest: GenerateContentRequest) =
6256
CountTokensRequest(

firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Candidate.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
* limitations under the License.
1515
*/
1616

17+
@file:OptIn(ExperimentalSerializationApi::class)
18+
1719
package com.google.firebase.vertexai.type
1820

1921
import com.google.firebase.vertexai.common.util.FirstOrdinalSerializer

firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/type/Content.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ constructor(public val role: String? = "user", public val parts: List<Part>) {
8080
public fun build(): Content = Content(role, parts)
8181
}
8282

83+
@OptIn(ExperimentalSerializationApi::class)
8384
internal fun toInternal() = Internal(this.role ?: "user", this.parts.map { it.toInternal() })
8485

8586
@ExperimentalSerializationApi

firebase-vertexai/src/test/java/com/google/firebase/vertexai/GenerativeModelTesting.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import io.ktor.http.content.TextContent
4040
import io.ktor.http.headersOf
4141
import kotlin.time.Duration.Companion.seconds
4242
import kotlinx.coroutines.withTimeout
43+
import kotlinx.serialization.ExperimentalSerializationApi
4344
import kotlinx.serialization.encodeToString
4445
import org.junit.Test
4546

@@ -127,6 +128,7 @@ internal class GenerativeModelTesting {
127128
exception.message shouldContain "location"
128129
}
129130

131+
@OptIn(ExperimentalSerializationApi::class)
130132
private fun generateContentResponseAsJsonString(text: String): String {
131133
return JSON.encodeToString(
132134
GenerateContentResponse.Internal(

firebase-vertexai/src/test/java/com/google/firebase/vertexai/common/APIControllerTests.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import kotlin.time.Duration.Companion.milliseconds
4646
import kotlin.time.Duration.Companion.seconds
4747
import kotlinx.coroutines.delay
4848
import kotlinx.coroutines.withTimeout
49+
import kotlinx.serialization.ExperimentalSerializationApi
4950
import kotlinx.serialization.encodeToString
5051
import kotlinx.serialization.json.JsonObject
5152
import org.junit.Test
@@ -84,6 +85,7 @@ internal class APIControllerTests {
8485
}
8586
}
8687

88+
@OptIn(ExperimentalSerializationApi::class)
8789
internal class RequestFormatTests {
8890
@Test
8991
fun `using default endpoint`() = doBlocking {

firebase-vertexai/src/test/java/com/google/firebase/vertexai/common/StreamingSnapshotTests.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ import kotlin.time.Duration.Companion.seconds
3030
import kotlinx.coroutines.flow.collect
3131
import kotlinx.coroutines.flow.toList
3232
import kotlinx.coroutines.withTimeout
33+
import kotlinx.serialization.ExperimentalSerializationApi
3334
import org.junit.Test
3435

36+
@OptIn(ExperimentalSerializationApi::class)
3537
internal class StreamingSnapshotTests {
3638
private val testTimeout = 5.seconds
3739

0 commit comments

Comments
 (0)