Skip to content

Commit 335a8c6

Browse files
committed
Add missing optIn declarations to reduce compilation noise
Part of the serialization API we use requires optIn, and without the correct declarations we get warnings printed when compiling the code.
1 parent e37be5a commit 335a8c6

File tree

7 files changed

+13
-9
lines changed

7 files changed

+13
-9
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 & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
16+
@file:OptIn(ExperimentalSerializationApi::class)
1717
package com.google.firebase.vertexai.common
1818

1919
import com.google.firebase.vertexai.common.util.fullModelName
@@ -24,6 +24,7 @@ import com.google.firebase.vertexai.type.PublicPreviewAPI
2424
import com.google.firebase.vertexai.type.SafetySetting
2525
import com.google.firebase.vertexai.type.Tool
2626
import com.google.firebase.vertexai.type.ToolConfig
27+
import kotlinx.serialization.ExperimentalSerializationApi
2728
import kotlinx.serialization.SerialName
2829
import kotlinx.serialization.Serializable
2930

@@ -49,14 +50,6 @@ internal data class CountTokensRequest(
4950
@SerialName("system_instruction") val systemInstruction: Content.Internal? = null,
5051
) : Request {
5152
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-
)
6053

6154
fun forVertexAI(generateContentRequest: GenerateContentRequest) =
6255
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)