diff --git a/docs-devsite/index.md b/docs-devsite/index.md
index 6a32ccdbaa6..d777885ef1a 100644
--- a/docs-devsite/index.md
+++ b/docs-devsite/index.md
@@ -27,4 +27,5 @@ https://github.com/firebase/firebase-js-sdk
| [@firebase/performance](./performance.md#performance_package) | The Firebase Performance Monitoring Web SDK. This SDK does not work in a Node.js environment. |
| [@firebase/remote-config](./remote-config.md#remote-config_package) | The Firebase Remote Config Web SDK. This SDK does not work in a Node.js environment. |
| [@firebase/storage](./storage.md#storage_package) | Cloud Storage for Firebase |
+| [@firebase/vertexai-preview](./vertexai-preview.md#vertexai-preview_package) | The Firebase Vertex Web SDK. |
diff --git a/docs-devsite/vertexai-preview.baseparams.md b/docs-devsite/vertexai-preview.baseparams.md
new file mode 100644
index 00000000000..6756c919ccc
--- /dev/null
+++ b/docs-devsite/vertexai-preview.baseparams.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# BaseParams interface
+Base parameters for a number of methods.
+
+Signature:
+
+```typescript
+export interface BaseParams
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [generationConfig](./vertexai-preview.baseparams.md#baseparamsgenerationconfig) | [GenerationConfig](./vertexai-preview.generationconfig.md#generationconfig_interface) | |
+| [safetySettings](./vertexai-preview.baseparams.md#baseparamssafetysettings) | [SafetySetting](./vertexai-preview.safetysetting.md#safetysetting_interface)\[\] | |
+
+## BaseParams.generationConfig
+
+Signature:
+
+```typescript
+generationConfig?: GenerationConfig;
+```
+
+## BaseParams.safetySettings
+
+Signature:
+
+```typescript
+safetySettings?: SafetySetting[];
+```
diff --git a/docs-devsite/vertexai-preview.chatsession.md b/docs-devsite/vertexai-preview.chatsession.md
new file mode 100644
index 00000000000..3d78bab3745
--- /dev/null
+++ b/docs-devsite/vertexai-preview.chatsession.md
@@ -0,0 +1,138 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# ChatSession class
+ChatSession class that enables sending chat messages and stores history of sent and received messages so far.
+
+Signature:
+
+```typescript
+export declare class ChatSession
+```
+
+## Constructors
+
+| Constructor | Modifiers | Description |
+| --- | --- | --- |
+| [(constructor)(apiSettings, model, params, requestOptions)](./vertexai-preview.chatsession.md#chatsessionconstructor) | | Constructs a new instance of the ChatSession
class |
+
+## Properties
+
+| Property | Modifiers | Type | Description |
+| --- | --- | --- | --- |
+| [model](./vertexai-preview.chatsession.md#chatsessionmodel) | | string | |
+| [params](./vertexai-preview.chatsession.md#chatsessionparams) | | [StartChatParams](./vertexai-preview.startchatparams.md#startchatparams_interface) \| undefined | |
+| [requestOptions](./vertexai-preview.chatsession.md#chatsessionrequestoptions) | | [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) \| undefined | |
+
+## Methods
+
+| Method | Modifiers | Description |
+| --- | --- | --- |
+| [getHistory()](./vertexai-preview.chatsession.md#chatsessiongethistory) | | Gets the chat history so far. Blocked prompts are not added to history. Blocked candidates are not added to history, nor are the prompts that generated them. |
+| [sendMessage(request)](./vertexai-preview.chatsession.md#chatsessionsendmessage) | | Sends a chat message and receives a non-streaming [GenerateContentResult](./vertexai-preview.generatecontentresult.md#generatecontentresult_interface) |
+| [sendMessageStream(request)](./vertexai-preview.chatsession.md#chatsessionsendmessagestream) | | Sends a chat message and receives the response as a [GenerateContentStreamResult](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresult_interface) containing an iterable stream and a response promise. |
+
+## ChatSession.(constructor)
+
+Constructs a new instance of the `ChatSession` class
+
+Signature:
+
+```typescript
+constructor(apiSettings: ApiSettings, model: string, params?: StartChatParams | undefined, requestOptions?: RequestOptions | undefined);
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| apiSettings | ApiSettings | |
+| model | string | |
+| params | [StartChatParams](./vertexai-preview.startchatparams.md#startchatparams_interface) \| undefined | |
+| requestOptions | [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) \| undefined | |
+
+## ChatSession.model
+
+Signature:
+
+```typescript
+model: string;
+```
+
+## ChatSession.params
+
+Signature:
+
+```typescript
+params?: StartChatParams | undefined;
+```
+
+## ChatSession.requestOptions
+
+Signature:
+
+```typescript
+requestOptions?: RequestOptions | undefined;
+```
+
+## ChatSession.getHistory()
+
+Gets the chat history so far. Blocked prompts are not added to history. Blocked candidates are not added to history, nor are the prompts that generated them.
+
+Signature:
+
+```typescript
+getHistory(): Promise;
+```
+Returns:
+
+Promise<[Content](./vertexai-preview.content.md#content_interface)\[\]>
+
+## ChatSession.sendMessage()
+
+Sends a chat message and receives a non-streaming [GenerateContentResult](./vertexai-preview.generatecontentresult.md#generatecontentresult_interface)
+
+Signature:
+
+```typescript
+sendMessage(request: string | Array): Promise;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| request | string \| Array<string \| [Part](./vertexai-preview.md#part)> | |
+
+Returns:
+
+Promise<[GenerateContentResult](./vertexai-preview.generatecontentresult.md#generatecontentresult_interface)>
+
+## ChatSession.sendMessageStream()
+
+Sends a chat message and receives the response as a [GenerateContentStreamResult](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresult_interface) containing an iterable stream and a response promise.
+
+Signature:
+
+```typescript
+sendMessageStream(request: string | Array): Promise;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| request | string \| Array<string \| [Part](./vertexai-preview.md#part)> | |
+
+Returns:
+
+Promise<[GenerateContentStreamResult](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresult_interface)>
+
diff --git a/docs-devsite/vertexai-preview.citation.md b/docs-devsite/vertexai-preview.citation.md
new file mode 100644
index 00000000000..10a615ee247
--- /dev/null
+++ b/docs-devsite/vertexai-preview.citation.md
@@ -0,0 +1,78 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# Citation interface
+A single citation.
+
+Signature:
+
+```typescript
+export interface Citation
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [endIndex](./vertexai-preview.citation.md#citationendindex) | number | |
+| [license](./vertexai-preview.citation.md#citationlicense) | string | |
+| [publicationDate](./vertexai-preview.citation.md#citationpublicationdate) | Date | |
+| [startIndex](./vertexai-preview.citation.md#citationstartindex) | number | |
+| [title](./vertexai-preview.citation.md#citationtitle) | string | |
+| [uri](./vertexai-preview.citation.md#citationuri) | string | |
+
+## Citation.endIndex
+
+Signature:
+
+```typescript
+endIndex?: number;
+```
+
+## Citation.license
+
+Signature:
+
+```typescript
+license?: string;
+```
+
+## Citation.publicationDate
+
+Signature:
+
+```typescript
+publicationDate?: Date;
+```
+
+## Citation.startIndex
+
+Signature:
+
+```typescript
+startIndex?: number;
+```
+
+## Citation.title
+
+Signature:
+
+```typescript
+title?: string;
+```
+
+## Citation.uri
+
+Signature:
+
+```typescript
+uri?: string;
+```
diff --git a/docs-devsite/vertexai-preview.citationmetadata.md b/docs-devsite/vertexai-preview.citationmetadata.md
new file mode 100644
index 00000000000..fa740ca1af7
--- /dev/null
+++ b/docs-devsite/vertexai-preview.citationmetadata.md
@@ -0,0 +1,33 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# CitationMetadata interface
+Citation metadata that may be found on a [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface).
+
+Signature:
+
+```typescript
+export interface CitationMetadata
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [citations](./vertexai-preview.citationmetadata.md#citationmetadatacitations) | [Citation](./vertexai-preview.citation.md#citation_interface)\[\] | |
+
+## CitationMetadata.citations
+
+Signature:
+
+```typescript
+citations: Citation[];
+```
diff --git a/docs-devsite/vertexai-preview.content.md b/docs-devsite/vertexai-preview.content.md
new file mode 100644
index 00000000000..26198a3951f
--- /dev/null
+++ b/docs-devsite/vertexai-preview.content.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# Content interface
+Content type for both prompts and response candidates.
+
+Signature:
+
+```typescript
+export interface Content
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [parts](./vertexai-preview.content.md#contentparts) | [Part](./vertexai-preview.md#part)\[\] | |
+| [role](./vertexai-preview.content.md#contentrole) | [Role](./vertexai-preview.md#role) | |
+
+## Content.parts
+
+Signature:
+
+```typescript
+parts: Part[];
+```
+
+## Content.role
+
+Signature:
+
+```typescript
+role: Role;
+```
diff --git a/docs-devsite/vertexai-preview.counttokensrequest.md b/docs-devsite/vertexai-preview.counttokensrequest.md
new file mode 100644
index 00000000000..07e5f0d85f3
--- /dev/null
+++ b/docs-devsite/vertexai-preview.counttokensrequest.md
@@ -0,0 +1,33 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# CountTokensRequest interface
+Params for calling [GenerativeModel.countTokens()](./vertexai-preview.generativemodel.md#generativemodelcounttokens)
+
+Signature:
+
+```typescript
+export interface CountTokensRequest
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [contents](./vertexai-preview.counttokensrequest.md#counttokensrequestcontents) | [Content](./vertexai-preview.content.md#content_interface)\[\] | |
+
+## CountTokensRequest.contents
+
+Signature:
+
+```typescript
+contents: Content[];
+```
diff --git a/docs-devsite/vertexai-preview.counttokensresponse.md b/docs-devsite/vertexai-preview.counttokensresponse.md
new file mode 100644
index 00000000000..d097d5aacff
--- /dev/null
+++ b/docs-devsite/vertexai-preview.counttokensresponse.md
@@ -0,0 +1,46 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# CountTokensResponse interface
+Response from calling [GenerativeModel.countTokens()](./vertexai-preview.generativemodel.md#generativemodelcounttokens).
+
+Signature:
+
+```typescript
+export interface CountTokensResponse
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [totalBillableCharacters](./vertexai-preview.counttokensresponse.md#counttokensresponsetotalbillablecharacters) | number | The total number of billable characters counted across all instances from the request. |
+| [totalTokens](./vertexai-preview.counttokensresponse.md#counttokensresponsetotaltokens) | number | The total number of tokens counted across all instances from the request. |
+
+## CountTokensResponse.totalBillableCharacters
+
+The total number of billable characters counted across all instances from the request.
+
+Signature:
+
+```typescript
+totalBillableCharacters?: number;
+```
+
+## CountTokensResponse.totalTokens
+
+The total number of tokens counted across all instances from the request.
+
+Signature:
+
+```typescript
+totalTokens: number;
+```
diff --git a/docs-devsite/vertexai-preview.date_2.md b/docs-devsite/vertexai-preview.date_2.md
new file mode 100644
index 00000000000..5af031447c4
--- /dev/null
+++ b/docs-devsite/vertexai-preview.date_2.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# Date_2 interface
+Protobuf google.type.Date
+
+Signature:
+
+```typescript
+export interface Date
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [day](./vertexai-preview.date_2.md#date_2day) | number | |
+| [month](./vertexai-preview.date_2.md#date_2month) | number | |
+| [year](./vertexai-preview.date_2.md#date_2year) | number | |
+
+## Date\_2.day
+
+Signature:
+
+```typescript
+day: number;
+```
+
+## Date\_2.month
+
+Signature:
+
+```typescript
+month: number;
+```
+
+## Date\_2.year
+
+Signature:
+
+```typescript
+year: number;
+```
diff --git a/docs-devsite/vertexai-preview.enhancedgeneratecontentresponse.md b/docs-devsite/vertexai-preview.enhancedgeneratecontentresponse.md
new file mode 100644
index 00000000000..132c5ed0be2
--- /dev/null
+++ b/docs-devsite/vertexai-preview.enhancedgeneratecontentresponse.md
@@ -0,0 +1,45 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# EnhancedGenerateContentResponse interface
+Response object wrapped with helper methods.
+
+Signature:
+
+```typescript
+export interface EnhancedGenerateContentResponse extends GenerateContentResponse
+```
+Extends: [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface)
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCalls](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponsefunctioncalls) | () => [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface)\[\] \| undefined | |
+| [text](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponsetext) | () => string | Returns the text string from the response, if available. Throws if the prompt or candidate was blocked. |
+
+## EnhancedGenerateContentResponse.functionCalls
+
+Signature:
+
+```typescript
+functionCalls: () => FunctionCall[] | undefined;
+```
+
+## EnhancedGenerateContentResponse.text
+
+Returns the text string from the response, if available. Throws if the prompt or candidate was blocked.
+
+Signature:
+
+```typescript
+text: () => string;
+```
diff --git a/docs-devsite/vertexai-preview.filedata.md b/docs-devsite/vertexai-preview.filedata.md
new file mode 100644
index 00000000000..577b4b1910d
--- /dev/null
+++ b/docs-devsite/vertexai-preview.filedata.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FileData interface
+Data pointing to a file uploaded on Google Cloud Storage.
+
+Signature:
+
+```typescript
+export interface FileData
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [fileUri](./vertexai-preview.filedata.md#filedatafileuri) | string | |
+| [mimeType](./vertexai-preview.filedata.md#filedatamimetype) | string | |
+
+## FileData.fileUri
+
+Signature:
+
+```typescript
+fileUri: string;
+```
+
+## FileData.mimeType
+
+Signature:
+
+```typescript
+mimeType: string;
+```
diff --git a/docs-devsite/vertexai-preview.filedatapart.md b/docs-devsite/vertexai-preview.filedatapart.md
new file mode 100644
index 00000000000..e03c056f588
--- /dev/null
+++ b/docs-devsite/vertexai-preview.filedatapart.md
@@ -0,0 +1,69 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FileDataPart interface
+Content part interface if the part represents [FileData](./vertexai-preview.filedata.md#filedata_interface)
+
+Signature:
+
+```typescript
+export interface FileDataPart
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [fileData](./vertexai-preview.filedatapart.md#filedatapartfiledata) | [FileData](./vertexai-preview.filedata.md#filedata_interface) | |
+| [functionCall](./vertexai-preview.filedatapart.md#filedatapartfunctioncall) | never | |
+| [functionResponse](./vertexai-preview.filedatapart.md#filedatapartfunctionresponse) | never | |
+| [inlineData](./vertexai-preview.filedatapart.md#filedatapartinlinedata) | never | |
+| [text](./vertexai-preview.filedatapart.md#filedataparttext) | never | |
+
+## FileDataPart.fileData
+
+Signature:
+
+```typescript
+fileData: FileData;
+```
+
+## FileDataPart.functionCall
+
+Signature:
+
+```typescript
+functionCall?: never;
+```
+
+## FileDataPart.functionResponse
+
+Signature:
+
+```typescript
+functionResponse?: never;
+```
+
+## FileDataPart.inlineData
+
+Signature:
+
+```typescript
+inlineData?: never;
+```
+
+## FileDataPart.text
+
+Signature:
+
+```typescript
+text?: never;
+```
diff --git a/docs-devsite/vertexai-preview.functioncall.md b/docs-devsite/vertexai-preview.functioncall.md
new file mode 100644
index 00000000000..60e0ea50dc4
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functioncall.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionCall interface
+A predicted [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) returned from the model that contains a string representing the [FunctionDeclaration.name](./vertexai-preview.functiondeclaration.md#functiondeclarationname) and a structured JSON object containing the parameters and their values.
+
+Signature:
+
+```typescript
+export interface FunctionCall
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [args](./vertexai-preview.functioncall.md#functioncallargs) | object | |
+| [name](./vertexai-preview.functioncall.md#functioncallname) | string | |
+
+## FunctionCall.args
+
+Signature:
+
+```typescript
+args: object;
+```
+
+## FunctionCall.name
+
+Signature:
+
+```typescript
+name: string;
+```
diff --git a/docs-devsite/vertexai-preview.functioncallingconfig.md b/docs-devsite/vertexai-preview.functioncallingconfig.md
new file mode 100644
index 00000000000..1965fb76e95
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functioncallingconfig.md
@@ -0,0 +1,41 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionCallingConfig interface
+
+Signature:
+
+```typescript
+export interface FunctionCallingConfig
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [allowedFunctionNames](./vertexai-preview.functioncallingconfig.md#functioncallingconfigallowedfunctionnames) | string\[\] | |
+| [mode](./vertexai-preview.functioncallingconfig.md#functioncallingconfigmode) | [FunctionCallingMode](./vertexai-preview.md#functioncallingmode) | |
+
+## FunctionCallingConfig.allowedFunctionNames
+
+Signature:
+
+```typescript
+allowedFunctionNames?: string[];
+```
+
+## FunctionCallingConfig.mode
+
+Signature:
+
+```typescript
+mode?: FunctionCallingMode;
+```
diff --git a/docs-devsite/vertexai-preview.functioncallpart.md b/docs-devsite/vertexai-preview.functioncallpart.md
new file mode 100644
index 00000000000..5da204692f9
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functioncallpart.md
@@ -0,0 +1,60 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionCallPart interface
+Content part interface if the part represents a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface).
+
+Signature:
+
+```typescript
+export interface FunctionCallPart
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCall](./vertexai-preview.functioncallpart.md#functioncallpartfunctioncall) | [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) | |
+| [functionResponse](./vertexai-preview.functioncallpart.md#functioncallpartfunctionresponse) | never | |
+| [inlineData](./vertexai-preview.functioncallpart.md#functioncallpartinlinedata) | never | |
+| [text](./vertexai-preview.functioncallpart.md#functioncallparttext) | never | |
+
+## FunctionCallPart.functionCall
+
+Signature:
+
+```typescript
+functionCall: FunctionCall;
+```
+
+## FunctionCallPart.functionResponse
+
+Signature:
+
+```typescript
+functionResponse?: never;
+```
+
+## FunctionCallPart.inlineData
+
+Signature:
+
+```typescript
+inlineData?: never;
+```
+
+## FunctionCallPart.text
+
+Signature:
+
+```typescript
+text?: never;
+```
diff --git a/docs-devsite/vertexai-preview.functiondeclaration.md b/docs-devsite/vertexai-preview.functiondeclaration.md
new file mode 100644
index 00000000000..e725b9557e1
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functiondeclaration.md
@@ -0,0 +1,57 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionDeclaration interface
+Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This `FunctionDeclaration` is a representation of a block of code that can be used as a Tool by the model and executed by the client.
+
+Signature:
+
+```typescript
+export declare interface FunctionDeclaration
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [description](./vertexai-preview.functiondeclaration.md#functiondeclarationdescription) | string | Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function. |
+| [name](./vertexai-preview.functiondeclaration.md#functiondeclarationname) | string | The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a max length of 64. |
+| [parameters](./vertexai-preview.functiondeclaration.md#functiondeclarationparameters) | [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface) | Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. Parameter names are case sensitive. For a function with no parameters, this can be left unset. |
+
+## FunctionDeclaration.description
+
+Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
+
+Signature:
+
+```typescript
+description?: string;
+```
+
+## FunctionDeclaration.name
+
+The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a max length of 64.
+
+Signature:
+
+```typescript
+name: string;
+```
+
+## FunctionDeclaration.parameters
+
+Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. Parameter names are case sensitive. For a function with no parameters, this can be left unset.
+
+Signature:
+
+```typescript
+parameters?: FunctionDeclarationSchema;
+```
diff --git a/docs-devsite/vertexai-preview.functiondeclarationschema.md b/docs-devsite/vertexai-preview.functiondeclarationschema.md
new file mode 100644
index 00000000000..7d0e5809d41
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functiondeclarationschema.md
@@ -0,0 +1,70 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionDeclarationSchema interface
+Schema for parameters passed to [FunctionDeclaration.parameters](./vertexai-preview.functiondeclaration.md#functiondeclarationparameters).
+
+Signature:
+
+```typescript
+export interface FunctionDeclarationSchema
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [description](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschemadescription) | string | Optional. Description of the parameter. |
+| [properties](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschemaproperties) | { \[k: string\]: [FunctionDeclarationSchemaProperty](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemaproperty_interface); } | The format of the parameter. |
+| [required](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschemarequired) | string\[\] | Optional. Array of required parameters. |
+| [type](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschematype) | [FunctionDeclarationSchemaType](./vertexai-preview.md#functiondeclarationschematype) | The type of the parameter. |
+
+## FunctionDeclarationSchema.description
+
+Optional. Description of the parameter.
+
+Signature:
+
+```typescript
+description?: string;
+```
+
+## FunctionDeclarationSchema.properties
+
+The format of the parameter.
+
+Signature:
+
+```typescript
+properties: {
+ [k: string]: FunctionDeclarationSchemaProperty;
+ };
+```
+
+## FunctionDeclarationSchema.required
+
+Optional. Array of required parameters.
+
+Signature:
+
+```typescript
+required?: string[];
+```
+
+## FunctionDeclarationSchema.type
+
+The type of the parameter.
+
+Signature:
+
+```typescript
+type: FunctionDeclarationSchemaType;
+```
diff --git a/docs-devsite/vertexai-preview.functiondeclarationschemaproperty.md b/docs-devsite/vertexai-preview.functiondeclarationschemaproperty.md
new file mode 100644
index 00000000000..ac2e1262dd0
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functiondeclarationschemaproperty.md
@@ -0,0 +1,125 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionDeclarationSchemaProperty interface
+Schema is used to define the format of input/output data. Represents a select subset of an OpenAPI 3.0 schema object. More fields may be added in the future as needed.
+
+Signature:
+
+```typescript
+export interface FunctionDeclarationSchemaProperty
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [description](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertydescription) | string | Optional. The description of the property. |
+| [enum](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyenum) | string\[\] | Optional. The enum of the property. |
+| [example](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyexample) | unknown | Optional. The example of the property. |
+| [format](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyformat) | string | Optional. The format of the property. |
+| [items](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyitems) | [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface) | Optional. The items of the property. [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface) |
+| [nullable](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertynullable) | boolean | Optional. Whether the property is nullable. |
+| [properties](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyproperties) | { \[k: string\]: [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface); } | Optional. Map of [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface). |
+| [required](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertyrequired) | string\[\] | Optional. Array of required property. |
+| [type](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemapropertytype) | [FunctionDeclarationSchemaType](./vertexai-preview.md#functiondeclarationschematype) | Optional. The type of the property. [FunctionDeclarationSchemaType](./vertexai-preview.md#functiondeclarationschematype). |
+
+## FunctionDeclarationSchemaProperty.description
+
+Optional. The description of the property.
+
+Signature:
+
+```typescript
+description?: string;
+```
+
+## FunctionDeclarationSchemaProperty.enum
+
+Optional. The enum of the property.
+
+Signature:
+
+```typescript
+enum?: string[];
+```
+
+## FunctionDeclarationSchemaProperty.example
+
+Optional. The example of the property.
+
+Signature:
+
+```typescript
+example?: unknown;
+```
+
+## FunctionDeclarationSchemaProperty.format
+
+Optional. The format of the property.
+
+Signature:
+
+```typescript
+format?: string;
+```
+
+## FunctionDeclarationSchemaProperty.items
+
+Optional. The items of the property. [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface)
+
+Signature:
+
+```typescript
+items?: FunctionDeclarationSchema;
+```
+
+## FunctionDeclarationSchemaProperty.nullable
+
+Optional. Whether the property is nullable.
+
+Signature:
+
+```typescript
+nullable?: boolean;
+```
+
+## FunctionDeclarationSchemaProperty.properties
+
+Optional. Map of [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface).
+
+Signature:
+
+```typescript
+properties?: {
+ [k: string]: FunctionDeclarationSchema;
+ };
+```
+
+## FunctionDeclarationSchemaProperty.required
+
+Optional. Array of required property.
+
+Signature:
+
+```typescript
+required?: string[];
+```
+
+## FunctionDeclarationSchemaProperty.type
+
+Optional. The type of the property. [FunctionDeclarationSchemaType](./vertexai-preview.md#functiondeclarationschematype).
+
+Signature:
+
+```typescript
+type?: FunctionDeclarationSchemaType;
+```
diff --git a/docs-devsite/vertexai-preview.functiondeclarationstool.md b/docs-devsite/vertexai-preview.functiondeclarationstool.md
new file mode 100644
index 00000000000..d1af4351a23
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functiondeclarationstool.md
@@ -0,0 +1,35 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionDeclarationsTool interface
+A `FunctionDeclarationsTool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.
+
+Signature:
+
+```typescript
+export declare interface FunctionDeclarationsTool
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionDeclarations](./vertexai-preview.functiondeclarationstool.md#functiondeclarationstoolfunctiondeclarations) | [FunctionDeclaration](./vertexai-preview.functiondeclaration.md#functiondeclaration_interface)\[\] | Optional. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) in the response. User should provide a [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface) for each function call in the next turn. Based on the function responses, the model will generate the final response back to the user. Maximum 64 function declarations can be provided. |
+
+## FunctionDeclarationsTool.functionDeclarations
+
+Optional. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) in the response. User should provide a [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface) for each function call in the next turn. Based on the function responses, the model will generate the final response back to the user. Maximum 64 function declarations can be provided.
+
+Signature:
+
+```typescript
+functionDeclarations?: FunctionDeclaration[];
+```
diff --git a/docs-devsite/vertexai-preview.functionresponse.md b/docs-devsite/vertexai-preview.functionresponse.md
new file mode 100644
index 00000000000..d89ace08df1
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functionresponse.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionResponse interface
+The result output from a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) that contains a string representing the [FunctionDeclaration.name](./vertexai-preview.functiondeclaration.md#functiondeclarationname) and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) made based on model prediction.
+
+Signature:
+
+```typescript
+export interface FunctionResponse
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [name](./vertexai-preview.functionresponse.md#functionresponsename) | string | |
+| [response](./vertexai-preview.functionresponse.md#functionresponseresponse) | object | |
+
+## FunctionResponse.name
+
+Signature:
+
+```typescript
+name: string;
+```
+
+## FunctionResponse.response
+
+Signature:
+
+```typescript
+response: object;
+```
diff --git a/docs-devsite/vertexai-preview.functionresponsepart.md b/docs-devsite/vertexai-preview.functionresponsepart.md
new file mode 100644
index 00000000000..4e246d625f6
--- /dev/null
+++ b/docs-devsite/vertexai-preview.functionresponsepart.md
@@ -0,0 +1,60 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# FunctionResponsePart interface
+Content part interface if the part represents [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface).
+
+Signature:
+
+```typescript
+export interface FunctionResponsePart
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCall](./vertexai-preview.functionresponsepart.md#functionresponsepartfunctioncall) | never | |
+| [functionResponse](./vertexai-preview.functionresponsepart.md#functionresponsepartfunctionresponse) | [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface) | |
+| [inlineData](./vertexai-preview.functionresponsepart.md#functionresponsepartinlinedata) | never | |
+| [text](./vertexai-preview.functionresponsepart.md#functionresponseparttext) | never | |
+
+## FunctionResponsePart.functionCall
+
+Signature:
+
+```typescript
+functionCall?: never;
+```
+
+## FunctionResponsePart.functionResponse
+
+Signature:
+
+```typescript
+functionResponse: FunctionResponse;
+```
+
+## FunctionResponsePart.inlineData
+
+Signature:
+
+```typescript
+inlineData?: never;
+```
+
+## FunctionResponsePart.text
+
+Signature:
+
+```typescript
+text?: never;
+```
diff --git a/docs-devsite/vertexai-preview.generatecontentcandidate.md b/docs-devsite/vertexai-preview.generatecontentcandidate.md
new file mode 100644
index 00000000000..9f36fab1e87
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generatecontentcandidate.md
@@ -0,0 +1,87 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerateContentCandidate interface
+A candidate returned as part of a [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface).
+
+Signature:
+
+```typescript
+export interface GenerateContentCandidate
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [citationMetadata](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidatecitationmetadata) | [CitationMetadata](./vertexai-preview.citationmetadata.md#citationmetadata_interface) | |
+| [content](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidatecontent) | [Content](./vertexai-preview.content.md#content_interface) | |
+| [finishMessage](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidatefinishmessage) | string | |
+| [finishReason](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidatefinishreason) | [FinishReason](./vertexai-preview.md#finishreason) | |
+| [groundingMetadata](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidategroundingmetadata) | [GroundingMetadata](./vertexai-preview.groundingmetadata.md#groundingmetadata_interface) | |
+| [index](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidateindex) | number | |
+| [safetyRatings](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidatesafetyratings) | [SafetyRating](./vertexai-preview.safetyrating.md#safetyrating_interface)\[\] | |
+
+## GenerateContentCandidate.citationMetadata
+
+Signature:
+
+```typescript
+citationMetadata?: CitationMetadata;
+```
+
+## GenerateContentCandidate.content
+
+Signature:
+
+```typescript
+content: Content;
+```
+
+## GenerateContentCandidate.finishMessage
+
+Signature:
+
+```typescript
+finishMessage?: string;
+```
+
+## GenerateContentCandidate.finishReason
+
+Signature:
+
+```typescript
+finishReason?: FinishReason;
+```
+
+## GenerateContentCandidate.groundingMetadata
+
+Signature:
+
+```typescript
+groundingMetadata?: GroundingMetadata;
+```
+
+## GenerateContentCandidate.index
+
+Signature:
+
+```typescript
+index: number;
+```
+
+## GenerateContentCandidate.safetyRatings
+
+Signature:
+
+```typescript
+safetyRatings?: SafetyRating[];
+```
diff --git a/docs-devsite/vertexai-preview.generatecontentrequest.md b/docs-devsite/vertexai-preview.generatecontentrequest.md
new file mode 100644
index 00000000000..68ce52340e8
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generatecontentrequest.md
@@ -0,0 +1,61 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerateContentRequest interface
+Request sent through [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent)
+
+Signature:
+
+```typescript
+export interface GenerateContentRequest extends BaseParams
+```
+Extends: [BaseParams](./vertexai-preview.baseparams.md#baseparams_interface)
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [contents](./vertexai-preview.generatecontentrequest.md#generatecontentrequestcontents) | [Content](./vertexai-preview.content.md#content_interface)\[\] | |
+| [systemInstruction](./vertexai-preview.generatecontentrequest.md#generatecontentrequestsysteminstruction) | string \| [Part](./vertexai-preview.md#part) \| [Content](./vertexai-preview.content.md#content_interface) | |
+| [toolConfig](./vertexai-preview.generatecontentrequest.md#generatecontentrequesttoolconfig) | [ToolConfig](./vertexai-preview.toolconfig.md#toolconfig_interface) | |
+| [tools](./vertexai-preview.generatecontentrequest.md#generatecontentrequesttools) | [Tool](./vertexai-preview.md#tool)\[\] | |
+
+## GenerateContentRequest.contents
+
+Signature:
+
+```typescript
+contents: Content[];
+```
+
+## GenerateContentRequest.systemInstruction
+
+Signature:
+
+```typescript
+systemInstruction?: string | Part | Content;
+```
+
+## GenerateContentRequest.toolConfig
+
+Signature:
+
+```typescript
+toolConfig?: ToolConfig;
+```
+
+## GenerateContentRequest.tools
+
+Signature:
+
+```typescript
+tools?: Tool[];
+```
diff --git a/docs-devsite/vertexai-preview.generatecontentresponse.md b/docs-devsite/vertexai-preview.generatecontentresponse.md
new file mode 100644
index 00000000000..cb0fb0e3209
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generatecontentresponse.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerateContentResponse interface
+Individual response from [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) and [GenerativeModel.generateContentStream()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontentstream). `generateContentStream()` will return one in each chunk until the stream is done.
+
+Signature:
+
+```typescript
+export interface GenerateContentResponse
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [candidates](./vertexai-preview.generatecontentresponse.md#generatecontentresponsecandidates) | [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface)\[\] | |
+| [promptFeedback](./vertexai-preview.generatecontentresponse.md#generatecontentresponsepromptfeedback) | [PromptFeedback](./vertexai-preview.promptfeedback.md#promptfeedback_interface) | |
+| [usageMetadata](./vertexai-preview.generatecontentresponse.md#generatecontentresponseusagemetadata) | [UsageMetadata](./vertexai-preview.usagemetadata.md#usagemetadata_interface) | |
+
+## GenerateContentResponse.candidates
+
+Signature:
+
+```typescript
+candidates?: GenerateContentCandidate[];
+```
+
+## GenerateContentResponse.promptFeedback
+
+Signature:
+
+```typescript
+promptFeedback?: PromptFeedback;
+```
+
+## GenerateContentResponse.usageMetadata
+
+Signature:
+
+```typescript
+usageMetadata?: UsageMetadata;
+```
diff --git a/docs-devsite/vertexai-preview.generatecontentresult.md b/docs-devsite/vertexai-preview.generatecontentresult.md
new file mode 100644
index 00000000000..87249a5bc55
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generatecontentresult.md
@@ -0,0 +1,33 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerateContentResult interface
+Result object returned from [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) call.
+
+Signature:
+
+```typescript
+export interface GenerateContentResult
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [response](./vertexai-preview.generatecontentresult.md#generatecontentresultresponse) | [EnhancedGenerateContentResponse](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponse_interface) | |
+
+## GenerateContentResult.response
+
+Signature:
+
+```typescript
+response: EnhancedGenerateContentResponse;
+```
diff --git a/docs-devsite/vertexai-preview.generatecontentstreamresult.md b/docs-devsite/vertexai-preview.generatecontentstreamresult.md
new file mode 100644
index 00000000000..6fd46600079
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generatecontentstreamresult.md
@@ -0,0 +1,42 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerateContentStreamResult interface
+Result object returned from [GenerativeModel.generateContentStream()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontentstream) call. Iterate over `stream` to get chunks as they come in and/or use the `response` promise to get the aggregated response when the stream is done.
+
+Signature:
+
+```typescript
+export interface GenerateContentStreamResult
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [response](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresultresponse) | Promise<[EnhancedGenerateContentResponse](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponse_interface)> | |
+| [stream](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresultstream) | AsyncGenerator<[EnhancedGenerateContentResponse](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponse_interface)> | |
+
+## GenerateContentStreamResult.response
+
+Signature:
+
+```typescript
+response: Promise;
+```
+
+## GenerateContentStreamResult.stream
+
+Signature:
+
+```typescript
+stream: AsyncGenerator;
+```
diff --git a/docs-devsite/vertexai-preview.generationconfig.md b/docs-devsite/vertexai-preview.generationconfig.md
new file mode 100644
index 00000000000..0aa8e5567f7
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generationconfig.md
@@ -0,0 +1,96 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerationConfig interface
+Config options for content-related requests
+
+Signature:
+
+```typescript
+export interface GenerationConfig
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [candidateCount](./vertexai-preview.generationconfig.md#generationconfigcandidatecount) | number | |
+| [frequencyPenalty](./vertexai-preview.generationconfig.md#generationconfigfrequencypenalty) | number | |
+| [maxOutputTokens](./vertexai-preview.generationconfig.md#generationconfigmaxoutputtokens) | number | |
+| [presencePenalty](./vertexai-preview.generationconfig.md#generationconfigpresencepenalty) | number | |
+| [stopSequences](./vertexai-preview.generationconfig.md#generationconfigstopsequences) | string\[\] | |
+| [temperature](./vertexai-preview.generationconfig.md#generationconfigtemperature) | number | |
+| [topK](./vertexai-preview.generationconfig.md#generationconfigtopk) | number | |
+| [topP](./vertexai-preview.generationconfig.md#generationconfigtopp) | number | |
+
+## GenerationConfig.candidateCount
+
+Signature:
+
+```typescript
+candidateCount?: number;
+```
+
+## GenerationConfig.frequencyPenalty
+
+Signature:
+
+```typescript
+frequencyPenalty?: number;
+```
+
+## GenerationConfig.maxOutputTokens
+
+Signature:
+
+```typescript
+maxOutputTokens?: number;
+```
+
+## GenerationConfig.presencePenalty
+
+Signature:
+
+```typescript
+presencePenalty?: number;
+```
+
+## GenerationConfig.stopSequences
+
+Signature:
+
+```typescript
+stopSequences?: string[];
+```
+
+## GenerationConfig.temperature
+
+Signature:
+
+```typescript
+temperature?: number;
+```
+
+## GenerationConfig.topK
+
+Signature:
+
+```typescript
+topK?: number;
+```
+
+## GenerationConfig.topP
+
+Signature:
+
+```typescript
+topP?: number;
+```
diff --git a/docs-devsite/vertexai-preview.generativecontentblob.md b/docs-devsite/vertexai-preview.generativecontentblob.md
new file mode 100644
index 00000000000..b5dcb272027
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generativecontentblob.md
@@ -0,0 +1,44 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerativeContentBlob interface
+Interface for sending an image.
+
+Signature:
+
+```typescript
+export interface GenerativeContentBlob
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [data](./vertexai-preview.generativecontentblob.md#generativecontentblobdata) | string | Image as a base64 string. |
+| [mimeType](./vertexai-preview.generativecontentblob.md#generativecontentblobmimetype) | string | |
+
+## GenerativeContentBlob.data
+
+Image as a base64 string.
+
+Signature:
+
+```typescript
+data: string;
+```
+
+## GenerativeContentBlob.mimeType
+
+Signature:
+
+```typescript
+mimeType: string;
+```
diff --git a/docs-devsite/vertexai-preview.generativemodel.md b/docs-devsite/vertexai-preview.generativemodel.md
new file mode 100644
index 00000000000..a50fac631cc
--- /dev/null
+++ b/docs-devsite/vertexai-preview.generativemodel.md
@@ -0,0 +1,201 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GenerativeModel class
+Class for generative model APIs.
+
+Signature:
+
+```typescript
+export declare class GenerativeModel
+```
+
+## Constructors
+
+| Constructor | Modifiers | Description |
+| --- | --- | --- |
+| [(constructor)(vertexAI, modelParams, requestOptions)](./vertexai-preview.generativemodel.md#generativemodelconstructor) | | Constructs a new instance of the GenerativeModel
class |
+
+## Properties
+
+| Property | Modifiers | Type | Description |
+| --- | --- | --- | --- |
+| [generationConfig](./vertexai-preview.generativemodel.md#generativemodelgenerationconfig) | | [GenerationConfig](./vertexai-preview.generationconfig.md#generationconfig_interface) | |
+| [model](./vertexai-preview.generativemodel.md#generativemodelmodel) | | string | |
+| [requestOptions](./vertexai-preview.generativemodel.md#generativemodelrequestoptions) | | [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) | |
+| [safetySettings](./vertexai-preview.generativemodel.md#generativemodelsafetysettings) | | [SafetySetting](./vertexai-preview.safetysetting.md#safetysetting_interface)\[\] | |
+| [systemInstruction](./vertexai-preview.generativemodel.md#generativemodelsysteminstruction) | | [Content](./vertexai-preview.content.md#content_interface) | |
+| [toolConfig](./vertexai-preview.generativemodel.md#generativemodeltoolconfig) | | [ToolConfig](./vertexai-preview.toolconfig.md#toolconfig_interface) | |
+| [tools](./vertexai-preview.generativemodel.md#generativemodeltools) | | [Tool](./vertexai-preview.md#tool)\[\] | |
+
+## Methods
+
+| Method | Modifiers | Description |
+| --- | --- | --- |
+| [countTokens(request)](./vertexai-preview.generativemodel.md#generativemodelcounttokens) | | Counts the tokens in the provided request. |
+| [generateContent(request)](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) | | Makes a single non-streaming call to the model and returns an object containing a single [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface). |
+| [generateContentStream(request)](./vertexai-preview.generativemodel.md#generativemodelgeneratecontentstream) | | Makes a single streaming call to the model and returns an object containing an iterable stream that iterates over all chunks in the streaming response as well as a promise that returns the final aggregated response. |
+| [startChat(startChatParams)](./vertexai-preview.generativemodel.md#generativemodelstartchat) | | Gets a new [ChatSession](./vertexai-preview.chatsession.md#chatsession_class) instance which can be used for multi-turn chats. |
+
+## GenerativeModel.(constructor)
+
+Constructs a new instance of the `GenerativeModel` class
+
+Signature:
+
+```typescript
+constructor(vertexAI: VertexAI, modelParams: ModelParams, requestOptions?: RequestOptions);
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| vertexAI | [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) | |
+| modelParams | [ModelParams](./vertexai-preview.modelparams.md#modelparams_interface) | |
+| requestOptions | [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) | |
+
+## GenerativeModel.generationConfig
+
+Signature:
+
+```typescript
+generationConfig: GenerationConfig;
+```
+
+## GenerativeModel.model
+
+Signature:
+
+```typescript
+model: string;
+```
+
+## GenerativeModel.requestOptions
+
+Signature:
+
+```typescript
+requestOptions?: RequestOptions;
+```
+
+## GenerativeModel.safetySettings
+
+Signature:
+
+```typescript
+safetySettings: SafetySetting[];
+```
+
+## GenerativeModel.systemInstruction
+
+Signature:
+
+```typescript
+systemInstruction?: Content;
+```
+
+## GenerativeModel.toolConfig
+
+Signature:
+
+```typescript
+toolConfig?: ToolConfig;
+```
+
+## GenerativeModel.tools
+
+Signature:
+
+```typescript
+tools?: Tool[];
+```
+
+## GenerativeModel.countTokens()
+
+Counts the tokens in the provided request.
+
+Signature:
+
+```typescript
+countTokens(request: CountTokensRequest | string | Array): Promise;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| request | [CountTokensRequest](./vertexai-preview.counttokensrequest.md#counttokensrequest_interface) \| string \| Array<string \| [Part](./vertexai-preview.md#part)> | |
+
+Returns:
+
+Promise<[CountTokensResponse](./vertexai-preview.counttokensresponse.md#counttokensresponse_interface)>
+
+## GenerativeModel.generateContent()
+
+Makes a single non-streaming call to the model and returns an object containing a single [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface).
+
+Signature:
+
+```typescript
+generateContent(request: GenerateContentRequest | string | Array): Promise;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| request | [GenerateContentRequest](./vertexai-preview.generatecontentrequest.md#generatecontentrequest_interface) \| string \| Array<string \| [Part](./vertexai-preview.md#part)> | |
+
+Returns:
+
+Promise<[GenerateContentResult](./vertexai-preview.generatecontentresult.md#generatecontentresult_interface)>
+
+## GenerativeModel.generateContentStream()
+
+Makes a single streaming call to the model and returns an object containing an iterable stream that iterates over all chunks in the streaming response as well as a promise that returns the final aggregated response.
+
+Signature:
+
+```typescript
+generateContentStream(request: GenerateContentRequest | string | Array): Promise;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| request | [GenerateContentRequest](./vertexai-preview.generatecontentrequest.md#generatecontentrequest_interface) \| string \| Array<string \| [Part](./vertexai-preview.md#part)> | |
+
+Returns:
+
+Promise<[GenerateContentStreamResult](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresult_interface)>
+
+## GenerativeModel.startChat()
+
+Gets a new [ChatSession](./vertexai-preview.chatsession.md#chatsession_class) instance which can be used for multi-turn chats.
+
+Signature:
+
+```typescript
+startChat(startChatParams?: StartChatParams): ChatSession;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| startChatParams | [StartChatParams](./vertexai-preview.startchatparams.md#startchatparams_interface) | |
+
+Returns:
+
+[ChatSession](./vertexai-preview.chatsession.md#chatsession_class)
+
diff --git a/docs-devsite/vertexai-preview.groundingattribution.md b/docs-devsite/vertexai-preview.groundingattribution.md
new file mode 100644
index 00000000000..2c7d2f09e0b
--- /dev/null
+++ b/docs-devsite/vertexai-preview.groundingattribution.md
@@ -0,0 +1,59 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GroundingAttribution interface
+
+Signature:
+
+```typescript
+export interface GroundingAttribution
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [confidenceScore](./vertexai-preview.groundingattribution.md#groundingattributionconfidencescore) | number | |
+| [retrievedContext](./vertexai-preview.groundingattribution.md#groundingattributionretrievedcontext) | [RetrievedContextAttribution](./vertexai-preview.retrievedcontextattribution.md#retrievedcontextattribution_interface) | |
+| [segment](./vertexai-preview.groundingattribution.md#groundingattributionsegment) | [Segment](./vertexai-preview.segment.md#segment_interface) | |
+| [web](./vertexai-preview.groundingattribution.md#groundingattributionweb) | [WebAttribution](./vertexai-preview.webattribution.md#webattribution_interface) | |
+
+## GroundingAttribution.confidenceScore
+
+Signature:
+
+```typescript
+confidenceScore?: number;
+```
+
+## GroundingAttribution.retrievedContext
+
+Signature:
+
+```typescript
+retrievedContext?: RetrievedContextAttribution;
+```
+
+## GroundingAttribution.segment
+
+Signature:
+
+```typescript
+segment: Segment;
+```
+
+## GroundingAttribution.web
+
+Signature:
+
+```typescript
+web?: WebAttribution;
+```
diff --git a/docs-devsite/vertexai-preview.groundingmetadata.md b/docs-devsite/vertexai-preview.groundingmetadata.md
new file mode 100644
index 00000000000..5f40a00457d
--- /dev/null
+++ b/docs-devsite/vertexai-preview.groundingmetadata.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# GroundingMetadata interface
+Metadata returned to client when grounding is enabled.
+
+Signature:
+
+```typescript
+export interface GroundingMetadata
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [groundingAttributions](./vertexai-preview.groundingmetadata.md#groundingmetadatagroundingattributions) | [GroundingAttribution](./vertexai-preview.groundingattribution.md#groundingattribution_interface)\[\] | |
+| [retrievalQueries](./vertexai-preview.groundingmetadata.md#groundingmetadataretrievalqueries) | string\[\] | |
+| [webSearchQueries](./vertexai-preview.groundingmetadata.md#groundingmetadatawebsearchqueries) | string\[\] | |
+
+## GroundingMetadata.groundingAttributions
+
+Signature:
+
+```typescript
+groundingAttributions: GroundingAttribution[];
+```
+
+## GroundingMetadata.retrievalQueries
+
+Signature:
+
+```typescript
+retrievalQueries?: string[];
+```
+
+## GroundingMetadata.webSearchQueries
+
+Signature:
+
+```typescript
+webSearchQueries?: string[];
+```
diff --git a/docs-devsite/vertexai-preview.inlinedatapart.md b/docs-devsite/vertexai-preview.inlinedatapart.md
new file mode 100644
index 00000000000..ae05f80ddb7
--- /dev/null
+++ b/docs-devsite/vertexai-preview.inlinedatapart.md
@@ -0,0 +1,71 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# InlineDataPart interface
+Content part interface if the part represents an image.
+
+Signature:
+
+```typescript
+export interface InlineDataPart
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCall](./vertexai-preview.inlinedatapart.md#inlinedatapartfunctioncall) | never | |
+| [functionResponse](./vertexai-preview.inlinedatapart.md#inlinedatapartfunctionresponse) | never | |
+| [inlineData](./vertexai-preview.inlinedatapart.md#inlinedatapartinlinedata) | [GenerativeContentBlob](./vertexai-preview.generativecontentblob.md#generativecontentblob_interface) | |
+| [text](./vertexai-preview.inlinedatapart.md#inlinedataparttext) | never | |
+| [videoMetadata](./vertexai-preview.inlinedatapart.md#inlinedatapartvideometadata) | [VideoMetadata](./vertexai-preview.videometadata.md#videometadata_interface) | Applicable if inlineData
is a video. |
+
+## InlineDataPart.functionCall
+
+Signature:
+
+```typescript
+functionCall?: never;
+```
+
+## InlineDataPart.functionResponse
+
+Signature:
+
+```typescript
+functionResponse?: never;
+```
+
+## InlineDataPart.inlineData
+
+Signature:
+
+```typescript
+inlineData: GenerativeContentBlob;
+```
+
+## InlineDataPart.text
+
+Signature:
+
+```typescript
+text?: never;
+```
+
+## InlineDataPart.videoMetadata
+
+Applicable if `inlineData` is a video.
+
+Signature:
+
+```typescript
+videoMetadata?: VideoMetadata;
+```
diff --git a/docs-devsite/vertexai-preview.md b/docs-devsite/vertexai-preview.md
new file mode 100644
index 00000000000..9faeed5ce08
--- /dev/null
+++ b/docs-devsite/vertexai-preview.md
@@ -0,0 +1,369 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# vertexai-preview package
+The Firebase Vertex Web SDK.
+
+## Functions
+
+| Function | Description |
+| --- | --- |
+| function(app, ...) |
+| [getVertexAI(app, options)](./vertexai-preview.md#getvertexai_04094cf) | Returns an [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) instance for the given app. |
+| function(vertexAI, ...) |
+| [getGenerativeModel(vertexAI, modelParams, requestOptions)](./vertexai-preview.md#getgenerativemodel_e3037c9) | Returns a [GenerativeModel](./vertexai-preview.generativemodel.md#generativemodel_class) class with methods for inference and other functionality. |
+
+## Classes
+
+| Class | Description |
+| --- | --- |
+| [ChatSession](./vertexai-preview.chatsession.md#chatsession_class) | ChatSession class that enables sending chat messages and stores history of sent and received messages so far. |
+| [GenerativeModel](./vertexai-preview.generativemodel.md#generativemodel_class) | Class for generative model APIs. |
+
+## Enumerations
+
+| Enumeration | Description |
+| --- | --- |
+| [BlockReason](./vertexai-preview.md#blockreason) | Reason that a prompt was blocked. |
+| [FinishReason](./vertexai-preview.md#finishreason) | Reason that a candidate finished. |
+| [FunctionCallingMode](./vertexai-preview.md#functioncallingmode) | |
+| [FunctionDeclarationSchemaType](./vertexai-preview.md#functiondeclarationschematype) | Contains the list of OpenAPI data types as defined by https://swagger.io/docs/specification/data-models/data-types/ |
+| [HarmBlockMethod](./vertexai-preview.md#harmblockmethod) | |
+| [HarmBlockThreshold](./vertexai-preview.md#harmblockthreshold) | Threshold above which a prompt or candidate will be blocked. |
+| [HarmCategory](./vertexai-preview.md#harmcategory) | Harm categories that would cause prompts or candidates to be blocked. |
+| [HarmProbability](./vertexai-preview.md#harmprobability) | Probability that a prompt or candidate matches a harm category. |
+| [HarmSeverity](./vertexai-preview.md#harmseverity) | Harm severity levels. |
+
+## Interfaces
+
+| Interface | Description |
+| --- | --- |
+| [BaseParams](./vertexai-preview.baseparams.md#baseparams_interface) | Base parameters for a number of methods. |
+| [Citation](./vertexai-preview.citation.md#citation_interface) | A single citation. |
+| [CitationMetadata](./vertexai-preview.citationmetadata.md#citationmetadata_interface) | Citation metadata that may be found on a [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface). |
+| [Content](./vertexai-preview.content.md#content_interface) | Content type for both prompts and response candidates. |
+| [CountTokensRequest](./vertexai-preview.counttokensrequest.md#counttokensrequest_interface) | Params for calling [GenerativeModel.countTokens()](./vertexai-preview.generativemodel.md#generativemodelcounttokens) |
+| [CountTokensResponse](./vertexai-preview.counttokensresponse.md#counttokensresponse_interface) | Response from calling [GenerativeModel.countTokens()](./vertexai-preview.generativemodel.md#generativemodelcounttokens). |
+| [Date\_2](./vertexai-preview.date_2.md#date_2_interface) | Protobuf google.type.Date |
+| [EnhancedGenerateContentResponse](./vertexai-preview.enhancedgeneratecontentresponse.md#enhancedgeneratecontentresponse_interface) | Response object wrapped with helper methods. |
+| [FileData](./vertexai-preview.filedata.md#filedata_interface) | Data pointing to a file uploaded on Google Cloud Storage. |
+| [FileDataPart](./vertexai-preview.filedatapart.md#filedatapart_interface) | Content part interface if the part represents [FileData](./vertexai-preview.filedata.md#filedata_interface) |
+| [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) | A predicted [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) returned from the model that contains a string representing the [FunctionDeclaration.name](./vertexai-preview.functiondeclaration.md#functiondeclarationname) and a structured JSON object containing the parameters and their values. |
+| [FunctionCallingConfig](./vertexai-preview.functioncallingconfig.md#functioncallingconfig_interface) | |
+| [FunctionCallPart](./vertexai-preview.functioncallpart.md#functioncallpart_interface) | Content part interface if the part represents a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface). |
+| [FunctionDeclaration](./vertexai-preview.functiondeclaration.md#functiondeclaration_interface) | Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration
is a representation of a block of code that can be used as a Tool by the model and executed by the client. |
+| [FunctionDeclarationSchema](./vertexai-preview.functiondeclarationschema.md#functiondeclarationschema_interface) | Schema for parameters passed to [FunctionDeclaration.parameters](./vertexai-preview.functiondeclaration.md#functiondeclarationparameters). |
+| [FunctionDeclarationSchemaProperty](./vertexai-preview.functiondeclarationschemaproperty.md#functiondeclarationschemaproperty_interface) | Schema is used to define the format of input/output data. Represents a select subset of an OpenAPI 3.0 schema object. More fields may be added in the future as needed. |
+| [FunctionDeclarationsTool](./vertexai-preview.functiondeclarationstool.md#functiondeclarationstool_interface) | A FunctionDeclarationsTool
is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. |
+| [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface) | The result output from a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) that contains a string representing the [FunctionDeclaration.name](./vertexai-preview.functiondeclaration.md#functiondeclarationname) and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a [FunctionCall](./vertexai-preview.functioncall.md#functioncall_interface) made based on model prediction. |
+| [FunctionResponsePart](./vertexai-preview.functionresponsepart.md#functionresponsepart_interface) | Content part interface if the part represents [FunctionResponse](./vertexai-preview.functionresponse.md#functionresponse_interface). |
+| [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface) | A candidate returned as part of a [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface). |
+| [GenerateContentRequest](./vertexai-preview.generatecontentrequest.md#generatecontentrequest_interface) | Request sent through [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) |
+| [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface) | Individual response from [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) and [GenerativeModel.generateContentStream()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontentstream). generateContentStream()
will return one in each chunk until the stream is done. |
+| [GenerateContentResult](./vertexai-preview.generatecontentresult.md#generatecontentresult_interface) | Result object returned from [GenerativeModel.generateContent()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontent) call. |
+| [GenerateContentStreamResult](./vertexai-preview.generatecontentstreamresult.md#generatecontentstreamresult_interface) | Result object returned from [GenerativeModel.generateContentStream()](./vertexai-preview.generativemodel.md#generativemodelgeneratecontentstream) call. Iterate over stream
to get chunks as they come in and/or use the response
promise to get the aggregated response when the stream is done. |
+| [GenerationConfig](./vertexai-preview.generationconfig.md#generationconfig_interface) | Config options for content-related requests |
+| [GenerativeContentBlob](./vertexai-preview.generativecontentblob.md#generativecontentblob_interface) | Interface for sending an image. |
+| [GroundingAttribution](./vertexai-preview.groundingattribution.md#groundingattribution_interface) | |
+| [GroundingMetadata](./vertexai-preview.groundingmetadata.md#groundingmetadata_interface) | Metadata returned to client when grounding is enabled. |
+| [InlineDataPart](./vertexai-preview.inlinedatapart.md#inlinedatapart_interface) | Content part interface if the part represents an image. |
+| [ModelParams](./vertexai-preview.modelparams.md#modelparams_interface) | Params passed to [getGenerativeModel()](./vertexai-preview.md#getgenerativemodel_e3037c9). |
+| [PromptFeedback](./vertexai-preview.promptfeedback.md#promptfeedback_interface) | If the prompt was blocked, this will be populated with blockReason
and the relevant safetyRatings
. |
+| [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) | Params passed to [getGenerativeModel()](./vertexai-preview.md#getgenerativemodel_e3037c9). |
+| [RetrievedContextAttribution](./vertexai-preview.retrievedcontextattribution.md#retrievedcontextattribution_interface) | |
+| [SafetyRating](./vertexai-preview.safetyrating.md#safetyrating_interface) | A safety rating associated with a [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface) |
+| [SafetySetting](./vertexai-preview.safetysetting.md#safetysetting_interface) | Safety setting that can be sent as part of request parameters. |
+| [Segment](./vertexai-preview.segment.md#segment_interface) | |
+| [StartChatParams](./vertexai-preview.startchatparams.md#startchatparams_interface) | Params for [GenerativeModel.startChat()](./vertexai-preview.generativemodel.md#generativemodelstartchat). |
+| [TextPart](./vertexai-preview.textpart.md#textpart_interface) | Content part interface if the part represents a text string. |
+| [ToolConfig](./vertexai-preview.toolconfig.md#toolconfig_interface) | Tool config. This config is shared for all tools provided in the request. |
+| [UsageMetadata](./vertexai-preview.usagemetadata.md#usagemetadata_interface) | Usage metadata about a [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface). |
+| [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) | An instance of the Vertex AI for Firebase SDK. |
+| [VertexAIOptions](./vertexai-preview.vertexaioptions.md#vertexaioptions_interface) | Options when initializing the Firebase Vertex AI SDK. |
+| [VideoMetadata](./vertexai-preview.videometadata.md#videometadata_interface) | Describes the input video content. |
+| [WebAttribution](./vertexai-preview.webattribution.md#webattribution_interface) | |
+
+## Variables
+
+| Variable | Description |
+| --- | --- |
+| [POSSIBLE\_ROLES](./vertexai-preview.md#possible_roles) | Possible roles. |
+
+## Type Aliases
+
+| Type Alias | Description |
+| --- | --- |
+| [Part](./vertexai-preview.md#part) | Content part - includes text, image/video, or function call/response part types. |
+| [Role](./vertexai-preview.md#role) | Role is the producer of the content. |
+| [Tool](./vertexai-preview.md#tool) | Defines a tool that model can call to access external knowledge. |
+
+## function(app, ...)
+
+### getVertexAI(app, options) {:#getvertexai_04094cf}
+
+Returns an [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) instance for the given app.
+
+Signature:
+
+```typescript
+export declare function getVertexAI(app?: FirebaseApp, options?: VertexAIOptions): VertexAI;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| app | [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) | The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) to use. |
+| options | [VertexAIOptions](./vertexai-preview.vertexaioptions.md#vertexaioptions_interface) | |
+
+Returns:
+
+[VertexAI](./vertexai-preview.vertexai.md#vertexai_interface)
+
+## function(vertexAI, ...)
+
+### getGenerativeModel(vertexAI, modelParams, requestOptions) {:#getgenerativemodel_e3037c9}
+
+Returns a [GenerativeModel](./vertexai-preview.generativemodel.md#generativemodel_class) class with methods for inference and other functionality.
+
+Signature:
+
+```typescript
+export declare function getGenerativeModel(vertexAI: VertexAI, modelParams: ModelParams, requestOptions?: RequestOptions): GenerativeModel;
+```
+
+#### Parameters
+
+| Parameter | Type | Description |
+| --- | --- | --- |
+| vertexAI | [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) | |
+| modelParams | [ModelParams](./vertexai-preview.modelparams.md#modelparams_interface) | |
+| requestOptions | [RequestOptions](./vertexai-preview.requestoptions.md#requestoptions_interface) | |
+
+Returns:
+
+[GenerativeModel](./vertexai-preview.generativemodel.md#generativemodel_class)
+
+## POSSIBLE\_ROLES
+
+Possible roles.
+
+Signature:
+
+```typescript
+POSSIBLE_ROLES: readonly ["user", "model", "function", "system"]
+```
+
+## Part
+
+Content part - includes text, image/video, or function call/response part types.
+
+Signature:
+
+```typescript
+export declare type Part = TextPart | InlineDataPart | FunctionCallPart | FunctionResponsePart | FileDataPart;
+```
+
+## Role
+
+Role is the producer of the content.
+
+Signature:
+
+```typescript
+export declare type Role = (typeof POSSIBLE_ROLES)[number];
+```
+
+## Tool
+
+Defines a tool that model can call to access external knowledge.
+
+Signature:
+
+```typescript
+export declare type Tool = FunctionDeclarationsTool;
+```
+
+## BlockReason
+
+Reason that a prompt was blocked.
+
+Signature:
+
+```typescript
+export declare enum BlockReason
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| BLOCKED\_REASON\_UNSPECIFIED | "BLOCKED_REASON_UNSPECIFIED"
| |
+| OTHER | "OTHER"
| |
+| SAFETY | "SAFETY"
| |
+
+## FinishReason
+
+Reason that a candidate finished.
+
+Signature:
+
+```typescript
+export declare enum FinishReason
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| FINISH\_REASON\_UNSPECIFIED | "FINISH_REASON_UNSPECIFIED"
| |
+| MAX\_TOKENS | "MAX_TOKENS"
| |
+| OTHER | "OTHER"
| |
+| RECITATION | "RECITATION"
| |
+| SAFETY | "SAFETY"
| |
+| STOP | "STOP"
| |
+
+## FunctionCallingMode
+
+
+Signature:
+
+```typescript
+export declare enum FunctionCallingMode
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| ANY | "ANY"
| |
+| AUTO | "AUTO"
| |
+| MODE\_UNSPECIFIED | "MODE_UNSPECIFIED"
| |
+| NONE | "NONE"
| |
+
+## FunctionDeclarationSchemaType
+
+Contains the list of OpenAPI data types as defined by https://swagger.io/docs/specification/data-models/data-types/
+
+Signature:
+
+```typescript
+export declare enum FunctionDeclarationSchemaType
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| ARRAY | "ARRAY"
| Array type. |
+| BOOLEAN | "BOOLEAN"
| Boolean type. |
+| INTEGER | "INTEGER"
| Integer type. |
+| NUMBER | "NUMBER"
| Number type. |
+| OBJECT | "OBJECT"
| Object type. |
+| STRING | "STRING"
| String type. |
+
+## HarmBlockMethod
+
+
+Signature:
+
+```typescript
+export declare enum HarmBlockMethod
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| HARM\_BLOCK\_METHOD\_UNSPECIFIED | "HARM_BLOCK_METHOD_UNSPECIFIED"
| |
+| PROBABILITY | "PROBABILITY"
| |
+| SEVERITY | "SEVERITY"
| |
+
+## HarmBlockThreshold
+
+Threshold above which a prompt or candidate will be blocked.
+
+Signature:
+
+```typescript
+export declare enum HarmBlockThreshold
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| BLOCK\_LOW\_AND\_ABOVE | "BLOCK_LOW_AND_ABOVE"
| |
+| BLOCK\_MEDIUM\_AND\_ABOVE | "BLOCK_MEDIUM_AND_ABOVE"
| |
+| BLOCK\_NONE | "BLOCK_NONE"
| |
+| BLOCK\_ONLY\_HIGH | "BLOCK_ONLY_HIGH"
| |
+| HARM\_BLOCK\_THRESHOLD\_UNSPECIFIED | "HARM_BLOCK_THRESHOLD_UNSPECIFIED"
| |
+
+## HarmCategory
+
+Harm categories that would cause prompts or candidates to be blocked.
+
+Signature:
+
+```typescript
+export declare enum HarmCategory
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| HARM\_CATEGORY\_DANGEROUS\_CONTENT | "HARM_CATEGORY_DANGEROUS_CONTENT"
| |
+| HARM\_CATEGORY\_HARASSMENT | "HARM_CATEGORY_HARASSMENT"
| |
+| HARM\_CATEGORY\_HATE\_SPEECH | "HARM_CATEGORY_HATE_SPEECH"
| |
+| HARM\_CATEGORY\_SEXUALLY\_EXPLICIT | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
| |
+| HARM\_CATEGORY\_UNSPECIFIED | "HARM_CATEGORY_UNSPECIFIED"
| |
+
+## HarmProbability
+
+Probability that a prompt or candidate matches a harm category.
+
+Signature:
+
+```typescript
+export declare enum HarmProbability
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| HARM\_PROBABILITY\_UNSPECIFIED | "HARM_PROBABILITY_UNSPECIFIED"
| |
+| HIGH | "HIGH"
| |
+| LOW | "LOW"
| |
+| MEDIUM | "MEDIUM"
| |
+| NEGLIGIBLE | "NEGLIGIBLE"
| |
+
+## HarmSeverity
+
+Harm severity levels.
+
+Signature:
+
+```typescript
+export declare enum HarmSeverity
+```
+
+## Enumeration Members
+
+| Member | Value | Description |
+| --- | --- | --- |
+| HARM\_SEVERITY\_HIGH | "HARM_SEVERITY_HIGH"
| |
+| HARM\_SEVERITY\_LOW | "HARM_SEVERITY_LOW"
| |
+| HARM\_SEVERITY\_MEDIUM | "HARM_SEVERITY_MEDIUM"
| |
+| HARM\_SEVERITY\_NEGLIGIBLE | "HARM_SEVERITY_NEGLIGIBLE"
| |
+| HARM\_SEVERITY\_UNSPECIFIED | "HARM_SEVERITY_UNSPECIFIED"
| |
+
diff --git a/docs-devsite/vertexai-preview.modelparams.md b/docs-devsite/vertexai-preview.modelparams.md
new file mode 100644
index 00000000000..34d68f86714
--- /dev/null
+++ b/docs-devsite/vertexai-preview.modelparams.md
@@ -0,0 +1,61 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# ModelParams interface
+Params passed to [getGenerativeModel()](./vertexai-preview.md#getgenerativemodel_e3037c9).
+
+Signature:
+
+```typescript
+export interface ModelParams extends BaseParams
+```
+Extends: [BaseParams](./vertexai-preview.baseparams.md#baseparams_interface)
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [model](./vertexai-preview.modelparams.md#modelparamsmodel) | string | |
+| [systemInstruction](./vertexai-preview.modelparams.md#modelparamssysteminstruction) | string \| [Part](./vertexai-preview.md#part) \| [Content](./vertexai-preview.content.md#content_interface) | |
+| [toolConfig](./vertexai-preview.modelparams.md#modelparamstoolconfig) | [ToolConfig](./vertexai-preview.toolconfig.md#toolconfig_interface) | |
+| [tools](./vertexai-preview.modelparams.md#modelparamstools) | [Tool](./vertexai-preview.md#tool)\[\] | |
+
+## ModelParams.model
+
+Signature:
+
+```typescript
+model: string;
+```
+
+## ModelParams.systemInstruction
+
+Signature:
+
+```typescript
+systemInstruction?: string | Part | Content;
+```
+
+## ModelParams.toolConfig
+
+Signature:
+
+```typescript
+toolConfig?: ToolConfig;
+```
+
+## ModelParams.tools
+
+Signature:
+
+```typescript
+tools?: Tool[];
+```
diff --git a/docs-devsite/vertexai-preview.promptfeedback.md b/docs-devsite/vertexai-preview.promptfeedback.md
new file mode 100644
index 00000000000..cb27f10c8c3
--- /dev/null
+++ b/docs-devsite/vertexai-preview.promptfeedback.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# PromptFeedback interface
+If the prompt was blocked, this will be populated with `blockReason` and the relevant `safetyRatings`.
+
+Signature:
+
+```typescript
+export interface PromptFeedback
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [blockReason](./vertexai-preview.promptfeedback.md#promptfeedbackblockreason) | [BlockReason](./vertexai-preview.md#blockreason) | |
+| [blockReasonMessage](./vertexai-preview.promptfeedback.md#promptfeedbackblockreasonmessage) | string | |
+| [safetyRatings](./vertexai-preview.promptfeedback.md#promptfeedbacksafetyratings) | [SafetyRating](./vertexai-preview.safetyrating.md#safetyrating_interface)\[\] | |
+
+## PromptFeedback.blockReason
+
+Signature:
+
+```typescript
+blockReason: BlockReason;
+```
+
+## PromptFeedback.blockReasonMessage
+
+Signature:
+
+```typescript
+blockReasonMessage?: string;
+```
+
+## PromptFeedback.safetyRatings
+
+Signature:
+
+```typescript
+safetyRatings: SafetyRating[];
+```
diff --git a/docs-devsite/vertexai-preview.requestoptions.md b/docs-devsite/vertexai-preview.requestoptions.md
new file mode 100644
index 00000000000..550ec44ce96
--- /dev/null
+++ b/docs-devsite/vertexai-preview.requestoptions.md
@@ -0,0 +1,46 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# RequestOptions interface
+Params passed to [getGenerativeModel()](./vertexai-preview.md#getgenerativemodel_e3037c9).
+
+Signature:
+
+```typescript
+export interface RequestOptions
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [baseUrl](./vertexai-preview.requestoptions.md#requestoptionsbaseurl) | string | Base url for endpoint. Defaults to https://firebaseml.googleapis.com |
+| [timeout](./vertexai-preview.requestoptions.md#requestoptionstimeout) | number | Request timeout in milliseconds. |
+
+## RequestOptions.baseUrl
+
+Base url for endpoint. Defaults to https://firebaseml.googleapis.com
+
+Signature:
+
+```typescript
+baseUrl?: string;
+```
+
+## RequestOptions.timeout
+
+Request timeout in milliseconds.
+
+Signature:
+
+```typescript
+timeout?: number;
+```
diff --git a/docs-devsite/vertexai-preview.retrievedcontextattribution.md b/docs-devsite/vertexai-preview.retrievedcontextattribution.md
new file mode 100644
index 00000000000..0a121cdc004
--- /dev/null
+++ b/docs-devsite/vertexai-preview.retrievedcontextattribution.md
@@ -0,0 +1,41 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# RetrievedContextAttribution interface
+
+Signature:
+
+```typescript
+export interface RetrievedContextAttribution
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [title](./vertexai-preview.retrievedcontextattribution.md#retrievedcontextattributiontitle) | string | |
+| [uri](./vertexai-preview.retrievedcontextattribution.md#retrievedcontextattributionuri) | string | |
+
+## RetrievedContextAttribution.title
+
+Signature:
+
+```typescript
+title: string;
+```
+
+## RetrievedContextAttribution.uri
+
+Signature:
+
+```typescript
+uri: string;
+```
diff --git a/docs-devsite/vertexai-preview.safetyrating.md b/docs-devsite/vertexai-preview.safetyrating.md
new file mode 100644
index 00000000000..65b1bc8fb42
--- /dev/null
+++ b/docs-devsite/vertexai-preview.safetyrating.md
@@ -0,0 +1,78 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# SafetyRating interface
+A safety rating associated with a [GenerateContentCandidate](./vertexai-preview.generatecontentcandidate.md#generatecontentcandidate_interface)
+
+Signature:
+
+```typescript
+export interface SafetyRating
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [blocked](./vertexai-preview.safetyrating.md#safetyratingblocked) | boolean | |
+| [category](./vertexai-preview.safetyrating.md#safetyratingcategory) | [HarmCategory](./vertexai-preview.md#harmcategory) | |
+| [probability](./vertexai-preview.safetyrating.md#safetyratingprobability) | [HarmProbability](./vertexai-preview.md#harmprobability) | |
+| [probabilityScore](./vertexai-preview.safetyrating.md#safetyratingprobabilityscore) | number | |
+| [severity](./vertexai-preview.safetyrating.md#safetyratingseverity) | [HarmSeverity](./vertexai-preview.md#harmseverity) | |
+| [severityScore](./vertexai-preview.safetyrating.md#safetyratingseverityscore) | number | |
+
+## SafetyRating.blocked
+
+Signature:
+
+```typescript
+blocked: boolean;
+```
+
+## SafetyRating.category
+
+Signature:
+
+```typescript
+category: HarmCategory;
+```
+
+## SafetyRating.probability
+
+Signature:
+
+```typescript
+probability: HarmProbability;
+```
+
+## SafetyRating.probabilityScore
+
+Signature:
+
+```typescript
+probabilityScore: number;
+```
+
+## SafetyRating.severity
+
+Signature:
+
+```typescript
+severity: HarmSeverity;
+```
+
+## SafetyRating.severityScore
+
+Signature:
+
+```typescript
+severityScore: number;
+```
diff --git a/docs-devsite/vertexai-preview.safetysetting.md b/docs-devsite/vertexai-preview.safetysetting.md
new file mode 100644
index 00000000000..78678315805
--- /dev/null
+++ b/docs-devsite/vertexai-preview.safetysetting.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# SafetySetting interface
+Safety setting that can be sent as part of request parameters.
+
+Signature:
+
+```typescript
+export interface SafetySetting
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [category](./vertexai-preview.safetysetting.md#safetysettingcategory) | [HarmCategory](./vertexai-preview.md#harmcategory) | |
+| [method](./vertexai-preview.safetysetting.md#safetysettingmethod) | [HarmBlockMethod](./vertexai-preview.md#harmblockmethod) | |
+| [threshold](./vertexai-preview.safetysetting.md#safetysettingthreshold) | [HarmBlockThreshold](./vertexai-preview.md#harmblockthreshold) | |
+
+## SafetySetting.category
+
+Signature:
+
+```typescript
+category: HarmCategory;
+```
+
+## SafetySetting.method
+
+Signature:
+
+```typescript
+method: HarmBlockMethod;
+```
+
+## SafetySetting.threshold
+
+Signature:
+
+```typescript
+threshold: HarmBlockThreshold;
+```
diff --git a/docs-devsite/vertexai-preview.segment.md b/docs-devsite/vertexai-preview.segment.md
new file mode 100644
index 00000000000..c64bc3ffcda
--- /dev/null
+++ b/docs-devsite/vertexai-preview.segment.md
@@ -0,0 +1,50 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# Segment interface
+
+Signature:
+
+```typescript
+export interface Segment
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [endIndex](./vertexai-preview.segment.md#segmentendindex) | number | |
+| [partIndex](./vertexai-preview.segment.md#segmentpartindex) | number | |
+| [startIndex](./vertexai-preview.segment.md#segmentstartindex) | number | |
+
+## Segment.endIndex
+
+Signature:
+
+```typescript
+endIndex: number;
+```
+
+## Segment.partIndex
+
+Signature:
+
+```typescript
+partIndex: number;
+```
+
+## Segment.startIndex
+
+Signature:
+
+```typescript
+startIndex: number;
+```
diff --git a/docs-devsite/vertexai-preview.startchatparams.md b/docs-devsite/vertexai-preview.startchatparams.md
new file mode 100644
index 00000000000..f422f7a1ff0
--- /dev/null
+++ b/docs-devsite/vertexai-preview.startchatparams.md
@@ -0,0 +1,61 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# StartChatParams interface
+Params for [GenerativeModel.startChat()](./vertexai-preview.generativemodel.md#generativemodelstartchat).
+
+Signature:
+
+```typescript
+export interface StartChatParams extends BaseParams
+```
+Extends: [BaseParams](./vertexai-preview.baseparams.md#baseparams_interface)
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [history](./vertexai-preview.startchatparams.md#startchatparamshistory) | [Content](./vertexai-preview.content.md#content_interface)\[\] | |
+| [systemInstruction](./vertexai-preview.startchatparams.md#startchatparamssysteminstruction) | string \| [Part](./vertexai-preview.md#part) \| [Content](./vertexai-preview.content.md#content_interface) | |
+| [toolConfig](./vertexai-preview.startchatparams.md#startchatparamstoolconfig) | [ToolConfig](./vertexai-preview.toolconfig.md#toolconfig_interface) | |
+| [tools](./vertexai-preview.startchatparams.md#startchatparamstools) | [Tool](./vertexai-preview.md#tool)\[\] | |
+
+## StartChatParams.history
+
+Signature:
+
+```typescript
+history?: Content[];
+```
+
+## StartChatParams.systemInstruction
+
+Signature:
+
+```typescript
+systemInstruction?: string | Part | Content;
+```
+
+## StartChatParams.toolConfig
+
+Signature:
+
+```typescript
+toolConfig?: ToolConfig;
+```
+
+## StartChatParams.tools
+
+Signature:
+
+```typescript
+tools?: Tool[];
+```
diff --git a/docs-devsite/vertexai-preview.textpart.md b/docs-devsite/vertexai-preview.textpart.md
new file mode 100644
index 00000000000..206168180b2
--- /dev/null
+++ b/docs-devsite/vertexai-preview.textpart.md
@@ -0,0 +1,60 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# TextPart interface
+Content part interface if the part represents a text string.
+
+Signature:
+
+```typescript
+export interface TextPart
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCall](./vertexai-preview.textpart.md#textpartfunctioncall) | never | |
+| [functionResponse](./vertexai-preview.textpart.md#textpartfunctionresponse) | never | |
+| [inlineData](./vertexai-preview.textpart.md#textpartinlinedata) | never | |
+| [text](./vertexai-preview.textpart.md#textparttext) | string | |
+
+## TextPart.functionCall
+
+Signature:
+
+```typescript
+functionCall?: never;
+```
+
+## TextPart.functionResponse
+
+Signature:
+
+```typescript
+functionResponse?: never;
+```
+
+## TextPart.inlineData
+
+Signature:
+
+```typescript
+inlineData?: never;
+```
+
+## TextPart.text
+
+Signature:
+
+```typescript
+text: string;
+```
diff --git a/docs-devsite/vertexai-preview.toolconfig.md b/docs-devsite/vertexai-preview.toolconfig.md
new file mode 100644
index 00000000000..4278eef509b
--- /dev/null
+++ b/docs-devsite/vertexai-preview.toolconfig.md
@@ -0,0 +1,33 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# ToolConfig interface
+Tool config. This config is shared for all tools provided in the request.
+
+Signature:
+
+```typescript
+export interface ToolConfig
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [functionCallingConfig](./vertexai-preview.toolconfig.md#toolconfigfunctioncallingconfig) | [FunctionCallingConfig](./vertexai-preview.functioncallingconfig.md#functioncallingconfig_interface) | |
+
+## ToolConfig.functionCallingConfig
+
+Signature:
+
+```typescript
+functionCallingConfig: FunctionCallingConfig;
+```
diff --git a/docs-devsite/vertexai-preview.usagemetadata.md b/docs-devsite/vertexai-preview.usagemetadata.md
new file mode 100644
index 00000000000..2829c9dbd5d
--- /dev/null
+++ b/docs-devsite/vertexai-preview.usagemetadata.md
@@ -0,0 +1,51 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# UsageMetadata interface
+Usage metadata about a [GenerateContentResponse](./vertexai-preview.generatecontentresponse.md#generatecontentresponse_interface).
+
+Signature:
+
+```typescript
+export interface UsageMetadata
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [candidatesTokenCount](./vertexai-preview.usagemetadata.md#usagemetadatacandidatestokencount) | number | |
+| [promptTokenCount](./vertexai-preview.usagemetadata.md#usagemetadataprompttokencount) | number | |
+| [totalTokenCount](./vertexai-preview.usagemetadata.md#usagemetadatatotaltokencount) | number | |
+
+## UsageMetadata.candidatesTokenCount
+
+Signature:
+
+```typescript
+candidatesTokenCount: number;
+```
+
+## UsageMetadata.promptTokenCount
+
+Signature:
+
+```typescript
+promptTokenCount: number;
+```
+
+## UsageMetadata.totalTokenCount
+
+Signature:
+
+```typescript
+totalTokenCount: number;
+```
diff --git a/docs-devsite/vertexai-preview.vertexai.md b/docs-devsite/vertexai-preview.vertexai.md
new file mode 100644
index 00000000000..35991f2be12
--- /dev/null
+++ b/docs-devsite/vertexai-preview.vertexai.md
@@ -0,0 +1,44 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# VertexAI interface
+An instance of the Vertex AI for Firebase SDK.
+
+Signature:
+
+```typescript
+export interface VertexAI
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [app](./vertexai-preview.vertexai.md#vertexaiapp) | [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) | The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) instance is associated with. |
+| [location](./vertexai-preview.vertexai.md#vertexailocation) | string | |
+
+## VertexAI.app
+
+The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [VertexAI](./vertexai-preview.vertexai.md#vertexai_interface) instance is associated with.
+
+Signature:
+
+```typescript
+app: FirebaseApp;
+```
+
+## VertexAI.location
+
+Signature:
+
+```typescript
+location: string;
+```
diff --git a/docs-devsite/vertexai-preview.vertexaioptions.md b/docs-devsite/vertexai-preview.vertexaioptions.md
new file mode 100644
index 00000000000..0099d6bae7b
--- /dev/null
+++ b/docs-devsite/vertexai-preview.vertexaioptions.md
@@ -0,0 +1,33 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# VertexAIOptions interface
+Options when initializing the Firebase Vertex AI SDK.
+
+Signature:
+
+```typescript
+export interface VertexAIOptions
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [location](./vertexai-preview.vertexaioptions.md#vertexaioptionslocation) | string | |
+
+## VertexAIOptions.location
+
+Signature:
+
+```typescript
+location?: string;
+```
diff --git a/docs-devsite/vertexai-preview.videometadata.md b/docs-devsite/vertexai-preview.videometadata.md
new file mode 100644
index 00000000000..04d8883bae9
--- /dev/null
+++ b/docs-devsite/vertexai-preview.videometadata.md
@@ -0,0 +1,46 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# VideoMetadata interface
+Describes the input video content.
+
+Signature:
+
+```typescript
+export interface VideoMetadata
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [endOffset](./vertexai-preview.videometadata.md#videometadataendoffset) | string | The end offset of the video in protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format. |
+| [startOffset](./vertexai-preview.videometadata.md#videometadatastartoffset) | string | The start offset of the video in protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format. |
+
+## VideoMetadata.endOffset
+
+The end offset of the video in protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format.
+
+Signature:
+
+```typescript
+endOffset: string;
+```
+
+## VideoMetadata.startOffset
+
+The start offset of the video in protobuf [Duration](https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping) format.
+
+Signature:
+
+```typescript
+startOffset: string;
+```
diff --git a/docs-devsite/vertexai-preview.webattribution.md b/docs-devsite/vertexai-preview.webattribution.md
new file mode 100644
index 00000000000..5db6f94b82e
--- /dev/null
+++ b/docs-devsite/vertexai-preview.webattribution.md
@@ -0,0 +1,41 @@
+Project: /docs/reference/js/_project.yaml
+Book: /docs/reference/_book.yaml
+page_type: reference
+
+{% comment %}
+DO NOT EDIT THIS FILE!
+This is generated by the JS SDK team, and any local changes will be
+overwritten. Changes should be made in the source code at
+https://github.com/firebase/firebase-js-sdk
+{% endcomment %}
+
+# WebAttribution interface
+
+Signature:
+
+```typescript
+export interface WebAttribution
+```
+
+## Properties
+
+| Property | Type | Description |
+| --- | --- | --- |
+| [title](./vertexai-preview.webattribution.md#webattributiontitle) | string | |
+| [uri](./vertexai-preview.webattribution.md#webattributionuri) | string | |
+
+## WebAttribution.title
+
+Signature:
+
+```typescript
+title: string;
+```
+
+## WebAttribution.uri
+
+Signature:
+
+```typescript
+uri: string;
+```
diff --git a/packages/vertexai/src/public-types.ts b/packages/vertexai/src/public-types.ts
index 64eeccba371..366ace88e12 100644
--- a/packages/vertexai/src/public-types.ts
+++ b/packages/vertexai/src/public-types.ts
@@ -20,7 +20,7 @@ import { FirebaseApp } from '@firebase/app';
export * from './types';
/**
- * An instance of Firebase Vertex AI.
+ * An instance of the Vertex AI for Firebase SDK.
* @public
*/
export interface VertexAI {
diff --git a/packages/vertexai/src/types/content.ts b/packages/vertexai/src/types/content.ts
index 4a1b82f4e6d..ad2906671e4 100644
--- a/packages/vertexai/src/types/content.ts
+++ b/packages/vertexai/src/types/content.ts
@@ -27,7 +27,8 @@ export interface Content {
}
/**
- * Content part - includes text, image/video, or function call/response part types.
+ * Content part - includes text, image/video, or function call/response
+ * part types.
* @public
*/
export type Part =
@@ -115,8 +116,8 @@ export interface FileDataPart {
}
/**
- * A predicted [FunctionCall] returned from the model
- * that contains a string representing the [FunctionDeclaration.name]
+ * A predicted {@link FunctionCall} returned from the model
+ * that contains a string representing the {@link FunctionDeclaration.name}
* and a structured JSON object containing the parameters and their values.
* @public
*/
@@ -126,11 +127,11 @@ export interface FunctionCall {
}
/**
- * The result output from a [FunctionCall] that contains a string
- * representing the [FunctionDeclaration.name]
+ * The result output from a {@link FunctionCall} that contains a string
+ * representing the {@link FunctionDeclaration.name}
* and a structured JSON object containing any output
* from the function is used as context to the model.
- * This should contain the result of a [FunctionCall]
+ * This should contain the result of a {@link FunctionCall}
* made based on model prediction.
* @public
*/
diff --git a/packages/vertexai/src/types/requests.ts b/packages/vertexai/src/types/requests.ts
index 079d72f348f..748f6ee140a 100644
--- a/packages/vertexai/src/types/requests.ts
+++ b/packages/vertexai/src/types/requests.ts
@@ -44,7 +44,7 @@ export interface ModelParams extends BaseParams {
}
/**
- * Request sent to `generateContent` endpoint.
+ * Request sent through {@link GenerativeModel.generateContent}
* @public
*/
export interface GenerateContentRequest extends BaseParams {
@@ -121,9 +121,10 @@ export declare type Tool = FunctionDeclarationsTool;
/**
* Structured representation of a function declaration as defined by the
- * [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included
+ * {@link https://spec.openapis.org/oas/v3.0.3 | OpenAPI 3.0 specification}.
+ * Included
* in this declaration are the function name and parameters. This
- * FunctionDeclaration is a representation of a block of code that can be used
+ * `FunctionDeclaration` is a representation of a block of code that can be used
* as a Tool by the model and executed by the client.
* @public
*/
@@ -148,7 +149,7 @@ export declare interface FunctionDeclaration {
}
/**
- * A FunctionDeclarationsTool is a piece of code that enables the system to
+ * A `FunctionDeclarationsTool` is a piece of code that enables the system to
* interact with external systems to perform an action, or set of actions,
* outside of knowledge and scope of the model.
* @public
diff --git a/packages/vertexai/src/types/responses.ts b/packages/vertexai/src/types/responses.ts
index c46a243edef..0a4557fb055 100644
--- a/packages/vertexai/src/types/responses.ts
+++ b/packages/vertexai/src/types/responses.ts
@@ -25,7 +25,7 @@ import {
} from './enums';
/**
- * Result object returned from generateContent() call.
+ * Result object returned from {@link GenerativeModel.generateContent} call.
*
* @public
*/
@@ -34,7 +34,7 @@ export interface GenerateContentResult {
}
/**
- * Result object returned from generateContentStream() call.
+ * Result object returned from {@link GenerativeModel.generateContentStream} call.
* Iterate over `stream` to get chunks as they come in and/or
* use the `response` promise to get the aggregated response when
* the stream is done.