feat(ai): Add support for `AbortSignal`
Add an AbortSignal to a new SingleRequestOptions that can be passed to all methods that make requests to the backend, allowing them to be aborted.
Fixes #8859
API Proposal: go/vinf-abort-request-api (internal)
🦋 Changeset detected
Latest commit: 76c82e5584df2a219eef3b8b7f626e535fea08ab
The changes in this PR will be included in the next version bump.
This PR includes changesets to release 2 packages
| Name | Type |
|---|---|
| firebase | Minor |
| @firebase/ai | Minor |
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
Changeset File Check :white_check_mark:
- No modified packages are missing from the changeset file.
- No changeset formatting errors detected.
Size Report 1
Affected Products
@firebase/aiType Base (f5fc6bf) Merge (661f80b) Diff browser 67.4 kB 68.7 kB +1.29 kB (+1.9%) main 71.7 kB 73.0 kB +1.29 kB (+1.8%) module 67.4 kB 68.7 kB +1.29 kB (+1.9%) firebaseType Base (f5fc6bf) Merge (661f80b) Diff firebase-ai.js 52.8 kB 53.4 kB +544 B (+1.0%)
Test Logs
Size Analysis Report 1
Affected Products
@firebase/aiChatSessionSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 22.3 kB 22.7 kB +411 B (+1.8%) size-with-ext-deps 40.0 kB 40.5 kB +414 B (+1.0%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 26 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
28 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR TIMEOUT_EXPIRED_MESSAGE VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEGenerativeModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 26.0 kB 26.5 kB +473 B (+1.8%) size-with-ext-deps 43.8 kB 44.3 kB +476 B (+1.1%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 26 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
28 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR TIMEOUT_EXPIRED_MESSAGE VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEImagenModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 13.4 kB 13.8 kB +384 B (+2.9%) size-with-ext-deps 31.1 kB 31.5 kB +391 B (+1.3%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 15 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION defaultExpectedInputs logger name version
17 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE defaultExpectedInputs logger name version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGETemplateGenerativeModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 18.1 kB 18.5 kB +388 B (+2.1%) size-with-ext-deps 35.9 kB 36.3 kB +391 B (+1.1%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 20 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION badFinishReasons defaultExpectedInputs logger name responseLineRE version
22 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE badFinishReasons defaultExpectedInputs logger name responseLineRE version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGETemplateImagenModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 12.1 kB 12.5 kB +366 B (+3.0%) size-with-ext-deps 29.8 kB 30.2 kB +373 B (+1.3%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 15 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION defaultExpectedInputs logger name version
17 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE defaultExpectedInputs logger name version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEgetGenerativeModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 26.4 kB 26.9 kB +473 B (+1.8%) size-with-ext-deps 44.2 kB 44.7 kB +476 B (+1.1%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 27 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_HYBRID_IN_CLOUD_MODEL DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
29 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_HYBRID_IN_CLOUD_MODEL DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION POSSIBLE_ROLES SILENT_ERROR TIMEOUT_EXPIRED_MESSAGE VALID_PARTS_PER_ROLE VALID_PART_FIELDS VALID_PREVIOUS_CONTENT_ROLES badFinishReasons defaultExpectedInputs errorsCausingFallback logger name responseLineRE version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEgetImagenModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 13.5 kB 13.9 kB +384 B (+2.8%) size-with-ext-deps 31.2 kB 31.6 kB +391 B (+1.3%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 15 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION defaultExpectedInputs logger name version
17 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE defaultExpectedInputs logger name version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEgetTemplateGenerativeModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 18.2 kB 18.5 kB +388 B (+2.1%) size-with-ext-deps 35.9 kB 36.3 kB +391 B (+1.1%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 20 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION badFinishReasons defaultExpectedInputs logger name responseLineRE version
22 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION FinishReason HarmSeverity InferenceMode InferenceSource LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE badFinishReasons defaultExpectedInputs logger name responseLineRE version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGEgetTemplateImagenModelSize
Type Base (f5fc6bf) Merge (661f80b) Diff size 12.1 kB 12.5 kB +366 B (+3.0%) size-with-ext-deps 29.8 kB 30.2 kB +373 B (+1.3%) Dependency
Type Base (f5fc6bf) Merge (661f80b) Diff variables 15 dependencies
AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION defaultExpectedInputs logger name version
17 dependencies
ABORT_ERROR_NAME AIErrorCode AI_TYPE Availability BackendType DEFAULT_API_VERSION DEFAULT_DOMAIN DEFAULT_FETCH_TIMEOUT_MS DEFAULT_LOCATION InferenceMode LANGUAGE_TAG PACKAGE_VERSION TIMEOUT_EXPIRED_MESSAGE defaultExpectedInputs logger name version
+ ABORT_ERROR_NAME+ TIMEOUT_EXPIRED_MESSAGE
Test Logs
/gemini review
Re-requesting review since changes were made.
/gemini review