Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions firebase-ai/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Unreleased
* [changed] Added better description for requests which fail due to the Gemini API not being
configured.
* [feature] added support for Imagen Editing, including inpainting, outpainting, control, style
transfer, and subject references (#7075)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,9 @@ private suspend fun validateResponse(response: HttpResponse) {
if (message.contains("The prompt could not be submitted")) {
throw PromptBlockedException(message)
}
if (message.contains("genai config not found")) {
throw NotConfiguredException()
}
getServiceDisabledErrorDetailsOrNull(error)?.let {
val errorMessage =
if (it.metadata?.get("service") == "firebasevertexai.googleapis.com") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,16 @@ internal constructor(
internal class UnsupportedUserLocationException(cause: Throwable? = null) :
FirebaseCommonAIException("User location is not supported for the API use.", cause)

/**
* The user's project does not have the Gemini Developer API enabled in the Firebase Console.
*
* See the Firebase documentation for the
* [steps](https://firebase.google.com/docs/ai-logic/faq-and-troubleshooting?api=dev#error-genai-config-not-found)
* to enable the Gemini Developer API.
*/
internal class NotConfiguredException(cause: Throwable? = null) :
FirebaseCommonAIException("Gemini Developer API not enabled in Firebase console.", cause)

/**
* Some form of state occurred that shouldn't have.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ internal constructor(message: String, cause: Throwable? = null) : RuntimeExcepti
ContentBlockedException(cause.message ?: "", cause.cause)
is com.google.firebase.ai.common.QuotaExceededException ->
QuotaExceededException(cause.message ?: "", cause.cause)
is com.google.firebase.ai.common.NotConfiguredException ->
NotConfiguredException(cause.cause)
else -> UnknownException(cause.message ?: "", cause)
}
is TimeoutCancellationException ->
Expand Down Expand Up @@ -149,6 +151,16 @@ internal constructor(message: String, cause: Throwable? = null) :
public class UnsupportedUserLocationException internal constructor(cause: Throwable? = null) :
FirebaseAIException("User location is not supported for the API use.", cause)

/**
* The user's project does not have the Gemini Developer API enabled in the Firebase Console.
*
* See the Firebase documentation for the
* [steps](https://firebase.google.com/docs/ai-logic/faq-and-troubleshooting?api=dev#error-genai-config-not-found)
* to enable the Gemini Developer API.
*/
internal class NotConfiguredException internal constructor(cause: Throwable? = null) :
FirebaseAIException("Gemini Developer API not enabled in Firebase console.", cause)

/**
* Some form of state occurred that shouldn't have.
*
Expand Down