Add a new VertexAI error type
- Added
VertexAIErrorso that users caninstanceofthe errors from the VertexAI SDK. - Added optional HTTP fields to errors (
status,statusText,errorDetails) (mirroring https://github.com/google-gemini/generative-ai-js/commit/111e970a645f8bd01aa023cf0de53964c9d40342) - Moved away from using
ErrorFactorytowards our new error type - Added a generic error code
VertexAIErrorCode.ERRORto align with the generic error in the Google AI SDKGoogleGenerativeAIError
Testing
I tested this in a React application in Chrome and Safari, and in a Node project.
instanceof and the stack trace works in these environments.
Error output in different environments
Safari
Chrome
Node
VertexAIError [FirebaseError]: Error fetching from https://firebaseml.googleapis.com/v2beta/projects/<omitted>/locations/us-central1/publishers/google/models/gemini-1.5-pro-preview-0409:generateContent: [400 Bad Request] Invalid value at 'contents[0].parts[0].text' (TYPE_STRING), 1 [{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"contents[0].parts[0].text","description":"Invalid value at 'contents[0].parts[0].text' (TYPE_STRING), 1"}]}]
at makeRequest (/Users/dlarocque/workspace/firebase/firebase-js-sdk/packages/vertexai/dist/index.cjs.js:408:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async generateContent (/Users/dlarocque/workspace/firebase/firebase-js-sdk/packages/vertexai/dist/index.cjs.js:747:22)
at async run (/Users/dlarocque/workspace/test/vertex-gcs-filedata/index.js:19:20) {
code: 'fetch-error',
customData: undefined,
status: 400,
statusText: 'Bad Request',
errorDetails: [
{
'@type': 'type.googleapis.com/google.rpc.BadRequest',
fieldViolations: [
{
field: 'contents[0].parts[0].text',
description: "Invalid value at 'contents[0].parts[0].text' (TYPE_STRING), 1"
}
]
}
],
toString: [Function (anonymous)]
}
🦋 Changeset detected
Latest commit: 93588d78f5ea410944bcfa8abab7ecfbfd8384dc
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 2 packages
| Name | Type |
|---|---|
| @firebase/vertexai-preview | Patch |
| firebase | Patch |
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Size Report 1
Affected Products
@firebase/vertexai-previewType Base (8360014) Merge (b72a4db) Diff browser 25.2 kB 25.4 kB +248 B (+1.0%) main 25.8 kB 26.0 kB +269 B (+1.0%) module 25.2 kB 25.4 kB +248 B (+1.0%) firebaseType Base (8360014) Merge (b72a4db) Diff firebase-vertexai-preview.js 19.3 kB 19.6 kB +309 B (+1.6%)
Test Logs
Size Analysis Report 1
Affected Products
@firebase/vertexai-previewBlockReasonSize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.94 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryChatSessionSize
Type Base (8360014) Merge (b72a4db) Diff size 14.4 kB 14.1 kB -312 B (-2.2%) size-with-ext-deps 32.8 kB 32.5 kB -308 B (-0.9%) Dependency
Type Base (8360014) Merge (b72a4db) Diff classes ChatSession RequestUrl VertexAIService
ChatSession RequestUrl VertexAIError VertexAIService
+ VertexAIErrorvariables 27 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION ERRORS ERROR_FACTORY FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
25 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
- ERRORS- ERROR_FACTORYExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
FirebaseError
+ FirebaseError- ErrorFactoryFinishReasonSize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.94 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryFunctionCallingModeSize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.95 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryFunctionDeclarationSchemaTypeSize
Type Base (8360014) Merge (b72a4db) Diff size 3.68 kB 2.96 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryGenerativeModelSize
Type Base (8360014) Merge (b72a4db) Diff size 16.7 kB 16.6 kB -60 B (-0.4%) size-with-ext-deps 35.1 kB 35.0 kB -56 B (-0.2%) Dependency
Type Base (8360014) Merge (b72a4db) Diff classes ChatSession GenerativeModel RequestUrl VertexAIService
ChatSession GenerativeModel RequestUrl VertexAIError VertexAIService
+ VertexAIErrorvariables 27 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION ERRORS ERROR_FACTORY FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
25 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
- ERRORS- ERROR_FACTORYExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
FirebaseError
+ FirebaseError- ErrorFactoryHarmBlockMethodSize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.95 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryHarmBlockThresholdSize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.95 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryHarmCategorySize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.94 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryHarmProbabilitySize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.95 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryHarmSeveritySize
Type Base (8360014) Merge (b72a4db) Diff size 3.67 kB 2.94 kB -724 B (-19.7%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryPOSSIBLE_ROLESSize
Type Base (8360014) Merge (b72a4db) Diff size 3.71 kB 2.99 kB -724 B (-19.5%) size-with-ext-deps 21.4 kB 20.7 kB -703 B (-3.3%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 16 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity POSSIBLE_ROLES Task VERTEX_TYPE name version
15 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity POSSIBLE_ROLES Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
- ErrorFactoryVertexAIErrorSize
Type Base (8360014) Merge (b72a4db) Diff size ? 3.27 kB ? (?) size-with-ext-deps ? 21.0 kB ? (?) Dependency
Type Base (8360014) Merge (b72a4db) Diff functions ? registerVertex
? classes ? VertexAIError VertexAIService
? variables ? 14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
? enums ? ? External Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/app? _registerComponent registerVersion
? @firebase/component? Component
? @firebase/util? FirebaseError
? getGenerativeModelSize
Type Base (8360014) Merge (b72a4db) Diff size 16.7 kB 16.8 kB +22 B (+0.1%) size-with-ext-deps 35.2 kB 35.2 kB +26 B (+0.1%) Dependency
Type Base (8360014) Merge (b72a4db) Diff classes ChatSession GenerativeModel RequestUrl VertexAIService
ChatSession GenerativeModel RequestUrl VertexAIError VertexAIService
+ VertexAIErrorvariables 27 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION ERRORS ERROR_FACTORY FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
25 dependencies
BlockReason DEFAULT_API_VERSION DEFAULT_BASE_URL DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR Task VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES VERTEX_TYPE badFinishReasons name responseLineRE version
- ERRORS- ERROR_FACTORYExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory
FirebaseError
+ FirebaseError- ErrorFactorygetVertexAISize
Type Base (8360014) Merge (b72a4db) Diff size 3.84 kB 3.12 kB -719 B (-18.7%) size-with-ext-deps 28.8 kB 28.1 kB -703 B (-2.4%) Dependency
Type Base (8360014) Merge (b72a4db) Diff variables 15 dependencies
BlockReason DEFAULT_LOCATION ERRORS FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
14 dependencies
BlockReason DEFAULT_LOCATION FinishReason FunctionCallingMode FunctionDeclarationSchemaType HarmBlockMethod HarmBlockThreshold HarmCategory HarmProbability HarmSeverity Task VERTEX_TYPE name version
- ERRORSExternal Dependency
Module Base (8360014) Merge (b72a4db) Diff @firebase/utilErrorFactory getModularInstance
getModularInstance
- ErrorFactory