diff --git a/firebase-ai/CHANGELOG.md b/firebase-ai/CHANGELOG.md index bf278b1106c..d63e4781242 100644 --- a/firebase-ai/CHANGELOG.md +++ b/firebase-ai/CHANGELOG.md @@ -4,6 +4,7 @@ have not been granted by the user. - [feature] Added helper functions to `LiveSession` to allow developers to track the status of the audio session and the underlying websocket connection. +- [changed] Added new values to `HarmCategory` (#7324) # 17.2.0 diff --git a/firebase-ai/api.txt b/firebase-ai/api.txt index a80e9efcaf7..6edae50559c 100644 --- a/firebase-ai/api.txt +++ b/firebase-ai/api.txt @@ -531,6 +531,10 @@ package com.google.firebase.ai.type { field public static final com.google.firebase.ai.type.HarmCategory DANGEROUS_CONTENT; field public static final com.google.firebase.ai.type.HarmCategory HARASSMENT; field public static final com.google.firebase.ai.type.HarmCategory HATE_SPEECH; + field public static final com.google.firebase.ai.type.HarmCategory IMAGE_DANGEROUS_CONTENT; + field public static final com.google.firebase.ai.type.HarmCategory IMAGE_HARASSMENT; + field public static final com.google.firebase.ai.type.HarmCategory IMAGE_HATE; + field public static final com.google.firebase.ai.type.HarmCategory IMAGE_SEXUALLY_EXPLICIT; field public static final com.google.firebase.ai.type.HarmCategory SEXUALLY_EXPLICIT; field public static final com.google.firebase.ai.type.HarmCategory UNKNOWN; } diff --git a/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/HarmCategory.kt b/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/HarmCategory.kt index 5144058ab44..43113e08104 100644 --- a/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/HarmCategory.kt +++ b/firebase-ai/src/main/kotlin/com/google/firebase/ai/type/HarmCategory.kt @@ -31,6 +31,10 @@ public class HarmCategory private constructor(public val ordinal: Int) { SEXUALLY_EXPLICIT -> Internal.SEXUALLY_EXPLICIT DANGEROUS_CONTENT -> Internal.DANGEROUS_CONTENT CIVIC_INTEGRITY -> Internal.CIVIC_INTEGRITY + IMAGE_HATE -> Internal.IMAGE_HATE + IMAGE_DANGEROUS_CONTENT -> Internal.IMAGE_DANGEROUS_CONTENT + IMAGE_HARASSMENT -> Internal.IMAGE_HARASSMENT + IMAGE_SEXUALLY_EXPLICIT -> Internal.IMAGE_SEXUALLY_EXPLICIT UNKNOWN -> Internal.UNKNOWN else -> throw makeMissingCaseException("HarmCategory", ordinal) } @@ -41,7 +45,11 @@ public class HarmCategory private constructor(public val ordinal: Int) { @SerialName("HARM_CATEGORY_HATE_SPEECH") HATE_SPEECH, @SerialName("HARM_CATEGORY_SEXUALLY_EXPLICIT") SEXUALLY_EXPLICIT, @SerialName("HARM_CATEGORY_DANGEROUS_CONTENT") DANGEROUS_CONTENT, - @SerialName("HARM_CATEGORY_CIVIC_INTEGRITY") CIVIC_INTEGRITY; + @SerialName("HARM_CATEGORY_CIVIC_INTEGRITY") CIVIC_INTEGRITY, + @SerialName("HARM_CATEGORY_IMAGE_HATE") IMAGE_HATE, + @SerialName("HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT") IMAGE_DANGEROUS_CONTENT, + @SerialName("HARM_CATEGORY_IMAGE_HARASSMENT") IMAGE_HARASSMENT, + @SerialName("HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT") IMAGE_SEXUALLY_EXPLICIT; internal object Serializer : KSerializer by FirstOrdinalSerializer(Internal::class) @@ -52,6 +60,10 @@ public class HarmCategory private constructor(public val ordinal: Int) { SEXUALLY_EXPLICIT -> HarmCategory.SEXUALLY_EXPLICIT DANGEROUS_CONTENT -> HarmCategory.DANGEROUS_CONTENT CIVIC_INTEGRITY -> HarmCategory.CIVIC_INTEGRITY + IMAGE_HATE -> HarmCategory.IMAGE_HATE + IMAGE_DANGEROUS_CONTENT -> HarmCategory.IMAGE_DANGEROUS_CONTENT + IMAGE_HARASSMENT -> HarmCategory.IMAGE_HARASSMENT + IMAGE_SEXUALLY_EXPLICIT -> HarmCategory.IMAGE_SEXUALLY_EXPLICIT else -> HarmCategory.UNKNOWN } } @@ -73,5 +85,17 @@ public class HarmCategory private constructor(public val ordinal: Int) { /** Content that may be used to harm civic integrity. */ @JvmField public val CIVIC_INTEGRITY: HarmCategory = HarmCategory(5) + + /** Content that is image hate. */ + @JvmField public val IMAGE_HATE: HarmCategory = HarmCategory(6) + + /** Image dangerous content. */ + @JvmField public val IMAGE_DANGEROUS_CONTENT: HarmCategory = HarmCategory(7) + + /** Content is image harassment. */ + @JvmField public val IMAGE_HARASSMENT: HarmCategory = HarmCategory(8) + + /** Image sexually explicit content. */ + @JvmField public val IMAGE_SEXUALLY_EXPLICIT: HarmCategory = HarmCategory(9) } }