diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml
index 36097307d81..251cd765e1d 100644
--- a/.github/.OwlBot.lock.yaml
+++ b/.github/.OwlBot.lock.yaml
@@ -13,4 +13,4 @@
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:latest
- digest: sha256:85bf089b45ad70d1ec02d9d628a0051a06bb63fb79f6b740f787d1a34347f732
+ digest: sha256:1eb185b0427bb3d87cb6b2ea968ed33c812b3669bbf3b763593a9f39ca59eb31
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index d904d1e2bde..58aa717d397 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -6,4 +6,4 @@
# The yoshi-nodejs team is the default owner for nodejs repositories.
-* @googleapis/yoshi-nodejs
+* @googleapis/jsteam
diff --git a/.github/auto-approve.yaml b/.github/auto-approve.yaml
deleted file mode 100644
index 7cba0af636c..00000000000
--- a/.github/auto-approve.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-processes:
- - "NodeDependency"
\ No newline at end of file
diff --git a/.github/auto-approve.yml b/.github/auto-approve.yml
new file mode 100644
index 00000000000..84dee1771ed
--- /dev/null
+++ b/.github/auto-approve.yml
@@ -0,0 +1,2 @@
+processes:
+ - "NodeDependency"
diff --git a/.github/sync-repo-settings.yaml b/.github/sync-repo-settings.yaml
index 02dca9996d5..2d5bbb83c15 100644
--- a/.github/sync-repo-settings.yaml
+++ b/.github/sync-repo-settings.yaml
@@ -34,16 +34,13 @@ branchProtectionRules:
- "samples-presubmit-node14-with-credentials (long-door-651)"
- "samples-presubmit-node14 (long-door-651)"
- "units (14)"
- - "unit-presubmit-node16 (long-door-651)"
- - "unit-presubmit-node18 (long-door-651)"
- - "unit-presubmit-node12 (long-door-651)"
+ - "units (12)"
+ - "units (16)"
+ - "units (18)"
# List of explicit permissions to add (additive only)
permissionRules:
# Team slug to add to repository permissions
- - team: yoshi-admins
- # Access level required, one of push|pull|admin
+ - team: jsteam-admins
permission: admin
- - team: yoshi-nodejs-admins
- permission: admin
- - team: yoshi-nodejs
+ - team: jsteam
permission: push
diff --git a/.github/workflows/continuous.yaml b/.github/workflows/continuous.yaml
index 9c82ff93ba5..b07bb9cf7ef 100644
--- a/.github/workflows/continuous.yaml
+++ b/.github/workflows/continuous.yaml
@@ -11,9 +11,9 @@ jobs:
node: [14]
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
+ - uses: pnpm/action-setup@v2
with:
- node-version: ${{ matrix.node }}
+ version: 7.32.2
- run: node --version
- run: ci/run_conditional_tests.sh
name: Check lint
@@ -24,12 +24,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node: [14]
+ node: [12, 14, 16, 18]
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
+ - uses: pnpm/action-setup@v2
with:
- node-version: ${{ matrix.node }}
+ version: ^6.24.1
- run: node --version
- run: ci/run_conditional_tests.sh
name: Run unit tests
diff --git a/.github/workflows/presubmit.yaml b/.github/workflows/presubmit.yaml
index e03d7ea3ac4..1ff2d67d965 100644
--- a/.github/workflows/presubmit.yaml
+++ b/.github/workflows/presubmit.yaml
@@ -9,9 +9,9 @@ jobs:
node: [14]
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
+ - uses: pnpm/action-setup@v2
with:
- node-version: ${{ matrix.node }}
+ version: 7.32.2
- run: node --version
- run: ci/run_conditional_tests.sh
name: Check lint
@@ -22,12 +22,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node: [14]
+ node: [12, 14, 16, 18]
steps:
- uses: actions/checkout@v3
- - uses: actions/setup-node@v3
+ - uses: pnpm/action-setup@v2
with:
- node-version: ${{ matrix.node }}
+ version: ^6.24.1
- run: node --version
- run: ci/run_conditional_tests.sh
name: Run unit tests
diff --git a/.gitignore b/.gitignore
index e4c29439d1b..c33c727fdb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@ packages/*/CONTRIBUTORS
packages/*/COPYING
package-lock.json
__pycache__
+packages/*/pnpm-lock.yaml
+containers/*/pnpm-lock.yaml
\ No newline at end of file
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index b7064f5d6b2..dc95355b6e1 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,21 +1,21 @@
{
"packages/gapic-node-templating": "0.0.0",
- "packages/google-analytics-admin": "4.7.1",
+ "packages/google-analytics-admin": "4.9.0",
"packages/google-analytics-data": "3.2.2",
"packages/google-api-apikeys": "0.2.2",
- "packages/google-api-servicecontrol": "2.1.2",
+ "packages/google-api-servicecontrol": "2.3.0",
"packages/google-api-servicemanagement": "1.2.2",
"packages/google-api-serviceusage": "2.2.2",
"packages/google-appengine": "2.2.2",
"packages/google-area120-tables": "2.2.2",
"packages/google-cloud-accessapproval": "2.2.2",
- "packages/google-cloud-aiplatform": "2.9.0",
+ "packages/google-cloud-aiplatform": "2.14.0",
"packages/google-cloud-apigateway": "2.2.2",
"packages/google-cloud-apigeeconnect": "2.2.2",
"packages/google-cloud-asset": "4.6.3",
"packages/google-cloud-assuredworkloads": "3.6.2",
"packages/google-cloud-baremetalsolution": "0.3.2",
- "packages/google-cloud-batch": "0.7.1",
+ "packages/google-cloud-batch": "0.8.0",
"packages/google-cloud-beyondcorp-appconnections": "0.3.2",
"packages/google-cloud-beyondcorp-appconnectors": "0.4.2",
"packages/google-cloud-beyondcorp-appgateways": "0.3.2",
@@ -31,24 +31,24 @@
"packages/google-cloud-billing-budgets": "4.2.2",
"packages/google-cloud-binaryauthorization": "2.5.0",
"packages/google-cloud-certificatemanager": "0.7.2",
- "packages/google-cloud-channel": "2.5.1",
- "packages/google-cloud-clouddms": "2.2.2",
+ "packages/google-cloud-channel": "2.7.0",
+ "packages/google-cloud-clouddms": "2.3.0",
"packages/google-cloud-compute": "3.9.1",
- "packages/google-cloud-contactcenterinsights": "2.6.0",
+ "packages/google-cloud-contactcenterinsights": "2.7.0",
"packages/google-cloud-contentwarehouse": "0.5.1",
"packages/google-cloud-datacatalog": "3.3.1",
"packages/google-cloud-datacatalog-lineage": "0.1.2",
"packages/google-cloud-dataform": "0.4.2",
"packages/google-cloud-datafusion": "2.2.2",
"packages/google-cloud-datalabeling": "3.2.2",
- "packages/google-cloud-dataplex": "2.3.2",
- "packages/google-cloud-dataproc": "4.4.1",
+ "packages/google-cloud-dataplex": "2.4.0",
+ "packages/google-cloud-dataproc": "4.5.0",
"packages/google-cloud-dataqna": "2.1.2",
- "packages/google-cloud-datastream": "2.2.2",
- "packages/google-cloud-deploy": "2.4.1",
- "packages/google-cloud-dialogflow": "5.7.1",
- "packages/google-cloud-dialogflow-cx": "3.4.2",
- "packages/google-cloud-discoveryengine": "0.4.1",
+ "packages/google-cloud-datastream": "2.3.0",
+ "packages/google-cloud-deploy": "2.5.0",
+ "packages/google-cloud-dialogflow": "5.8.0",
+ "packages/google-cloud-dialogflow-cx": "3.5.0",
+ "packages/google-cloud-discoveryengine": "0.6.0",
"packages/google-cloud-documentai": "7.3.1",
"packages/google-cloud-domains": "2.2.2",
"packages/google-cloud-essentialcontacts": "2.1.2",
@@ -59,26 +59,26 @@
"packages/google-cloud-gaming": "3.2.2",
"packages/google-cloud-gkebackup": "0.3.2",
"packages/google-cloud-gkeconnect-gateway": "2.1.2",
- "packages/google-cloud-gkehub": "3.3.2",
+ "packages/google-cloud-gkehub": "3.4.0",
"packages/google-cloud-gkemulticloud": "0.3.2",
"packages/google-cloud-gsuiteaddons": "0.1.2",
"packages/google-cloud-iap": "2.3.1",
"packages/google-cloud-ids": "2.2.2",
"packages/google-cloud-iot": "3.2.2",
- "packages/google-cloud-kms": "3.5.1",
+ "packages/google-cloud-kms": "3.6.0",
"packages/google-cloud-language": "5.2.2",
"packages/google-cloud-lifesciences": "2.3.2",
"packages/google-cloud-managedidentities": "2.2.2",
"packages/google-cloud-mediatranslation": "3.1.2",
"packages/google-cloud-memcache": "2.3.2",
- "packages/google-cloud-metastore": "3.4.2",
+ "packages/google-cloud-metastore": "3.5.0",
"packages/google-cloud-monitoring": "3.0.4",
"packages/google-cloud-networkconnectivity": "2.3.3",
"packages/google-cloud-networkmanagement": "2.4.2",
"packages/google-cloud-networksecurity": "1.1.2",
"packages/google-cloud-notebooks": "2.1.4",
"packages/google-cloud-optimization": "2.2.2",
- "packages/google-cloud-orchestration-airflow-service": "2.3.2",
+ "packages/google-cloud-orchestration-airflow-service": "2.4.0",
"packages/google-cloud-orgpolicy": "2.1.2",
"packages/google-cloud-osconfig": "2.2.2",
"packages/google-cloud-oslogin": "4.1.2",
@@ -87,23 +87,23 @@
"packages/google-cloud-privatecatalog": "2.1.2",
"packages/google-cloud-recaptchaenterprise": "3.4.1",
"packages/google-cloud-recommender": "5.0.6",
- "packages/google-cloud-redis": "3.2.2",
- "packages/google-cloud-resourcemanager": "4.2.2",
+ "packages/google-cloud-redis": "3.3.0",
+ "packages/google-cloud-resourcemanager": "4.3.0",
"packages/google-cloud-resourcesettings": "2.0.5",
- "packages/google-cloud-retail": "2.4.0",
- "packages/google-cloud-run": "0.4.2",
+ "packages/google-cloud-retail": "2.4.1",
+ "packages/google-cloud-run": "0.5.0",
"packages/google-cloud-scheduler": "3.3.1",
"packages/google-cloud-secretmanager": "4.2.2",
"packages/google-cloud-security-privateca": "4.4.0",
"packages/google-cloud-security-publicca": "0.1.5",
- "packages/google-cloud-securitycenter": "7.3.0",
+ "packages/google-cloud-securitycenter": "7.4.0",
"packages/google-cloud-servicedirectory": "4.0.7",
"packages/google-cloud-shell": "2.1.2",
- "packages/google-cloud-speech": "5.4.1",
- "packages/google-cloud-talent": "5.1.2",
+ "packages/google-cloud-speech": "5.5.0",
+ "packages/google-cloud-talent": "5.1.3",
"packages/google-cloud-tasks": "3.1.2",
"packages/google-cloud-texttospeech": "4.2.2",
- "packages/google-cloud-tpu": "2.5.1",
+ "packages/google-cloud-tpu": "2.6.1",
"packages/google-cloud-translate": "7.2.1",
"packages/google-cloud-video-livestream": "0.5.1",
"packages/google-cloud-video-stitcher": "0.3.2",
@@ -113,14 +113,14 @@
"packages/google-cloud-vmmigration": "2.3.2",
"packages/google-cloud-vmwareengine": "0.1.2",
"packages/google-cloud-vpcaccess": "2.2.2",
- "packages/google-cloud-webrisk": "3.2.2",
+ "packages/google-cloud-webrisk": "3.3.0",
"packages/google-cloud-websecurityscanner": "2.1.5",
"packages/google-cloud-workflows-executions": "2.3.2",
- "packages/google-container": "4.8.0",
+ "packages/google-container": "4.11.0",
"packages/google-dataflow": "2.1.2",
"packages/google-devtools-artifactregistry": "2.2.2",
- "packages/google-devtools-cloudbuild": "3.5.2",
- "packages/google-devtools-containeranalysis": "4.6.1",
+ "packages/google-devtools-cloudbuild": "3.6.0",
+ "packages/google-devtools-containeranalysis": "4.7.0",
"packages/google-iam": "0.3.2",
"packages/google-iam-credentials": "2.0.4",
"packages/google-identity-accesscontextmanager": "2.3.2",
@@ -130,10 +130,14 @@
"packages/google-monitoring-dashboard": "2.9.2",
"packages/google-privacy-dlp": "4.4.2",
"packages/google-storagetransfer": "2.3.2",
- "packages/grafeas": "4.4.1",
- "packages/typeless-sample-bot": "1.3.1",
+ "packages/grafeas": "4.5.0",
+ "packages/typeless-sample-bot": "1.3.2",
"packages/google-cloud-advisorynotifications": "0.2.1",
"packages/google-cloud-kms-inventory": "0.1.1",
"packages/google-cloud-alloydb": "0.1.1",
- "packages/google-cloud-workstations": "0.1.1"
+ "packages/google-cloud-workstations": "0.2.0",
+ "packages/google-cloud-confidentialcomputing": "0.1.0",
+ "packages/google-ai-generativelanguage": "0.2.0",
+ "packages/google-cloud-storageinsights": "0.1.1",
+ "packages/google-maps-places": "0.1.0"
}
diff --git a/CODEOWNERS b/CODEOWNERS
deleted file mode 100644
index 134daa4bed4..00000000000
--- a/CODEOWNERS
+++ /dev/null
@@ -1,31 +0,0 @@
-# Code owners file.
-# This file controls who is tagged for review for any given pull request.
-
-# Luke Sneeringer is the default owner for anything not explicitly taken by
-# someone else.
-* @lukesneeringer
-
-# Dave Gramlich is the primary author of the scripts that generate the
-# documentation and run test scripts.
-docs/* @callmehiphop
-scripts/* @callmehiphop
-
-# Dave Gramlich and Stephen Sawchuk are the primary authors and share
-# responsibility for most libraries and tests.
-packages/* @callmehiphop @stephenplusplus
-system-test/* @callmehiphop @stephenplusplus
-test/* @callmehiphop @stephenplusplus
-
-# @GoogleCloudPlatform/node-team is responsible for the Logging extension
-# libraries.
-packages/error-reporting/* @GoogleCloudPlatform/node-team
-packages/logging-bunyan/* @GoogleCloudPlatform/node-team
-packages/logging-winston/* @GoogleCloudPlatform/node-team
-
-# Luke Sneeringer is the primary author of the ML API clients.
-packages/dlp/* @lukesneeringer
-packages/language/* @lukesneeringer
-packages/monitoring/* @lukesneeringer
-packages/speech/* @lukesneeringer
-packages/video-intelligence/* @lukesneeringer
-packages/vision/* @lukesneeringer
diff --git a/README.md b/README.md
index 4344d151555..e8d98d13b6a 100644
--- a/README.md
+++ b/README.md
@@ -143,12 +143,14 @@ applications that interact with individual Google Cloud services:
| [BeyondCorp API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-beyondcorp-clientconnectorservices) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/clientconnectorservices) |
| [BeyondCorp API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-beyondcorp-clientgateways) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/clientgateways) |
| [BigQuery Migration API](https://github.com/googleapis/nodejs-bigquery-migration) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/bigquery-migration) |
+| [Confidential Computing API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-confidentialcomputing) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/confidentialcomputing) |
| [Data Labeling](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-datalabeling) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/datalabeling) |
| [Data Lineage API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-datacatalog-lineage) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/lineage) |
| [Data QnA](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dataqna) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/data-qna) |
| [Dataflow](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-dataflow) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/dataflow) |
| [Dataform API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dataform) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/dataform) |
| [Discovery Engine API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-discoveryengine) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/discoveryengine) |
+| [Generative Language API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-ai/generativelanguage) |
| [GKE Connect Gateway](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-gkeconnect-gateway) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/gke-connect-gateway) |
| [Google Analytics Admin](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-analytics-admin) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-analytics/admin) |
| [Google Analytics Admin](https://github.com/googleapis/nodejs-analytics-admin) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-analytics/admin) |
@@ -160,6 +162,7 @@ applications that interact with individual Google Cloud services:
| [Phishing Protection](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-phishingprotection) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/phishing-protection) |
| [Private Catalog](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-privatecatalog) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/private-catalog) |
| [Public Certificate Authority](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-security-publicca) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/publicca) |
+| [Storage Insights API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-storageinsights) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/storageinsights) |
| [Trace](https://github.com/googleapis/cloud-trace-nodejs) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/trace-agent) |
| [Workstations API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-workstations) | [![Preview][preview-stability]][launch-stages] | [](https://npm.im/@google-cloud/workstations) |
diff --git a/changelog.json b/changelog.json
index ee136b3726a..7c903088b77 100644
--- a/changelog.json
+++ b/changelog.json
@@ -1,6 +1,967 @@
{
"repository": "googleapis/google-cloud-node",
"entries": [
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "ac249801878b0c7271722c0bf128eb2c0437bf44",
+ "message": "Add initial files for google.maps.places.v1",
+ "issues": [
+ "4289"
+ ]
+ }
+ ],
+ "version": "0.1.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@googlemaps/places",
+ "id": "43db6c0a-dd86-476a-a6cb-6fb02d165696",
+ "createTime": "2023-05-20T02:26:24.513Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "ee6e6996c8d08786076482508470380e4b2b7465",
+ "message": "[workstations] add output field for the control plane IP address",
+ "issues": [
+ "4263"
+ ]
+ }
+ ],
+ "version": "0.2.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/workstations",
+ "id": "5ac05870-a0b1-48f1-8de9-c061bfbef96a",
+ "createTime": "2023-05-20T02:26:24.510Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "40edfc52a9894cf57b389c2744563bfa490102cb",
+ "message": "[webrisk] add SubmitUri endpoint",
+ "issues": [
+ "4286"
+ ]
+ }
+ ],
+ "version": "3.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/web-risk",
+ "id": "8ddc6b6b-9ce9-4d58-9f96-ebb89d88ebcd",
+ "createTime": "2023-05-20T02:26:24.507Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "bf5631932cd0f2f52c23caaba235b04222a1a609",
+ "message": "[kms] added VerifyConnectivity RPC",
+ "issues": [
+ "4274"
+ ]
+ }
+ ],
+ "version": "3.6.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/kms",
+ "id": "3ffe8b2e-be7b-403c-b425-e294f876068d",
+ "createTime": "2023-05-20T02:26:24.504Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "88877b9509815d76f1915aa87e97597ec7e1520d",
+ "message": "[dialogflow] add baseline model configuration for conversation summarization",
+ "issues": [
+ "4255"
+ ]
+ }
+ ],
+ "version": "5.8.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dialogflow",
+ "id": "103b69e9-d4ea-4243-8626-aa749395f356",
+ "createTime": "2023-05-20T02:26:24.499Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "f2c4a78cb8929ea10713f5fa043cbe30df378287",
+ "message": "[datastream] Max concurrent backfill tasks",
+ "issues": [
+ "4254"
+ ]
+ }
+ ],
+ "version": "2.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/datastream",
+ "id": "7bc86fc5-2bcc-4be6-9950-b8c2557ffc45",
+ "createTime": "2023-05-20T02:26:24.496Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "65fadd5fedea461b89cf7aeeb0f825a83dd81e02",
+ "message": "[clouddms] add Oracle to PostgreSQL migration APIs",
+ "issues": [
+ "4285"
+ ]
+ }
+ ],
+ "version": "2.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dms",
+ "id": "acb663f3-4ade-4f90-bc2c-14e566d21f03",
+ "createTime": "2023-05-20T02:26:24.493Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "3defaa1caaa70a9384eddc0281645a9bf6c860cb",
+ "message": "[channel] added partition_keys field to filter results from FetchReportResults",
+ "issues": [
+ "4279"
+ ]
+ }
+ ],
+ "version": "2.7.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/channel",
+ "id": "b4a4fbab-ab31-4b99-802e-90e7958240da",
+ "createTime": "2023-05-20T02:26:24.489Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "9ece2b7d96f3b18b32acfd5e24ba38f52f39dab9",
+ "message": "[batch] add support for placement policies",
+ "issues": [
+ "4182"
+ ]
+ }
+ ],
+ "version": "0.8.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/batch",
+ "id": "9e281631-aa27-4cd4-89de-e621966a868e",
+ "createTime": "2023-05-20T02:26:24.486Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "d1e67beadf1910378989cd1bd3c19cbe000973d7",
+ "message": "Add updateSchedule method to ScheduleService",
+ "issues": [
+ "4280"
+ ]
+ }
+ ],
+ "version": "2.14.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/aiplatform",
+ "id": "dfabd532-1745-47d4-b9da-0e9f0c7b1694",
+ "createTime": "2023-05-20T02:26:24.480Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "2f0e6e1b85fa68c02a350fed5ffcc6db0bb64fdd",
+ "message": "[analytics-admin] add `GetAdSenseLink`, `CreateAdSenseLink`, `DeleteAdSenseLink`, `ListAdSenseLinks` methods to the Admin API v1alpha",
+ "issues": [
+ "4276"
+ ]
+ }
+ ],
+ "version": "4.9.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-analytics/admin",
+ "id": "084303f1-a65c-4120-8b07-45105027b513",
+ "createTime": "2023-05-20T02:26:24.411Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "a5389596ba5b0c707582612a6b2aa84385fefc26",
+ "message": "Do not exit with 1 on empty folder",
+ "issues": [
+ "4272"
+ ]
+ }
+ ],
+ "version": "1.3.2",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/typeless-sample-bot",
+ "id": "0b204f0b-d47b-4d59-b14c-bb66d75f445e",
+ "createTime": "2023-05-11T22:03:10.640Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "8b5caebc2569c715a4fee03e6bcc5e5cd2ca5150",
+ "message": "Add processing strategy to batch recognition requests",
+ "issues": [
+ "4268"
+ ]
+ }
+ ],
+ "version": "5.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/speech",
+ "id": "1dfc19b9-45b0-41bd-8dab-c0fe1d078878",
+ "createTime": "2023-05-11T22:03:10.634Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added debug info to StreamingDetectIntent",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added dtmf digits to WebhookRequest",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added FLOW as a new DiffType in TestRunDifference",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "[dialogflow-cx] extended CreateAgent timeout to 180 seconds",
+ "issues": [
+ "4253"
+ ]
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added debug info to StreamingDetectIntent",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added dtmf digits to WebhookRequest",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "Added FLOW as a new DiffType in TestRunDifference",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "22d6aa5a2d9386ea5663672a4bfa8feff1f00eb7",
+ "message": "[dialogflow-cx] extended CreateAgent timeout to 180 seconds",
+ "issues": []
+ }
+ ],
+ "version": "3.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dialogflow-cx",
+ "id": "48831956-cb59-40d8-95f0-6e17d324dccd",
+ "createTime": "2023-05-11T22:03:10.629Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "405cbe236171808ca3b49faa933c2078bebd09d6",
+ "message": "Address typo in package.json",
+ "issues": [],
+ "scope": "build"
+ }
+ ],
+ "version": "0.1.1",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/storageinsights",
+ "id": "9da03a8c-e1c1-40cf-a217-f9518a09ca2e",
+ "createTime": "2023-05-09T22:01:41.602Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "1427b2bf0cac31a3fbd10f607b2a5d9803f3a18f",
+ "message": "[redis] [Cloud Memorystore for Redis] Add CMEK key field",
+ "issues": [
+ "4251"
+ ]
+ }
+ ],
+ "version": "3.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/redis",
+ "id": "80002c20-6d9e-454a-86a6-942c36563fac",
+ "createTime": "2023-05-09T22:01:41.592Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "07ebb81915abb57c6ce48614e8d39cc1fea84bdc",
+ "message": "[servicecontrol] Log Analytics features of the Cloud Logging API",
+ "issues": [
+ "4252"
+ ]
+ }
+ ],
+ "version": "2.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/service-control",
+ "id": "b66cfec7-ca60-444f-a93b-5d43783e9a3c",
+ "createTime": "2023-05-09T22:01:41.507Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "871c86f8524d9afc6aec29dbc00f2cd3eaf0445b",
+ "message": "Add initial files for google.cloud.storageinsights.v1",
+ "issues": [
+ "4243"
+ ]
+ }
+ ],
+ "version": "0.1.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/storageinsights",
+ "id": "4449d818-9444-4838-9772-36f99721fd7d",
+ "createTime": "2023-05-09T16:59:05.869Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "0d4c47eb5d884e3cb760941e616e03769a1e8733",
+ "message": "[channel] Add billing account to entitlement definitions for Cloud Channel API",
+ "issues": [
+ "4250"
+ ]
+ }
+ ],
+ "version": "2.6.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/channel",
+ "id": "7b3985d6-5c3d-496c-98a2-de584dc873bf",
+ "createTime": "2023-05-09T16:59:05.866Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "4af8ae27af952194885939a3e8014089bf7fc01e",
+ "message": "Add example_gcs_source to Examples in aiplatform v1beta1 explanation.proto",
+ "issues": [
+ "4249"
+ ]
+ }
+ ],
+ "version": "2.13.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/aiplatform",
+ "id": "db8c7ed5-0699-4bc7-9448-b9e2ea64f910",
+ "createTime": "2023-05-09T16:59:05.862Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "76b2df71b44de5f1764749f8393f2a2cee68221e",
+ "message": "[generativelanguage] Add safety settings",
+ "issues": [
+ "4248"
+ ]
+ }
+ ],
+ "version": "0.2.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-ai/generativelanguage",
+ "id": "f09f4780-ec17-4142-9d3d-bfd70bec5b9a",
+ "createTime": "2023-05-06T06:13:26.255Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "b0fee2bb364c671cb70b62a81567cf3544587eed",
+ "message": "[container] add a new feature for fleet registration via cluster update in v1alpha1, v1beta1, v1",
+ "issues": [
+ "4244"
+ ]
+ }
+ ],
+ "version": "4.11.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/container",
+ "id": "50149eea-efcb-4a21-bf23-31017f630fcf",
+ "createTime": "2023-05-06T06:13:26.251Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "869218ffb438d90c3d6cb5e4566d7ad2d201020e",
+ "message": "[container] support fleet registration via cluster update",
+ "issues": [
+ "4235"
+ ]
+ }
+ ],
+ "version": "4.10.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/container",
+ "id": "cf2e1f61-c0e0-4cbf-a2be-bfc9bc26a072",
+ "createTime": "2023-05-04T19:02:19.519Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "2421e933f19af7edd6d250a5e30f75b832029cd2",
+ "message": "[tpu] restrict the visibility of an API",
+ "issues": [
+ "4234"
+ ]
+ }
+ ],
+ "version": "2.6.1",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/tpu",
+ "id": "c92dcbc7-78be-4a55-a464-6dc166121a28",
+ "createTime": "2023-05-04T19:02:19.515Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "d8520421c0d4c306d8a0d2cf8bf94186d6a27a6b",
+ "message": "Fix sample links in README",
+ "issues": [
+ "4236"
+ ],
+ "scope": "docs"
+ }
+ ],
+ "version": "0.1.1",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-ai/generativelanguage",
+ "id": "b92dca26-b078-416d-90f9-e2b524246061",
+ "createTime": "2023-05-04T18:01:19.725Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "cfaa0530fdb35bdbcd52a04b4b9fb30946572449",
+ "message": "[talent] change timeout settings for SearchJobsForAlert",
+ "issues": [
+ "4227"
+ ]
+ }
+ ],
+ "version": "5.1.3",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/talent",
+ "id": "8c707900-dd74-492e-b6db-81ad442ef6e4",
+ "createTime": "2023-05-04T06:19:34.845Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "b1b4e29f09759a8161c4e26473333ec729fa5165",
+ "message": "[run] Adds support for Startup CPU Boost (GA)",
+ "issues": [
+ "4220"
+ ]
+ }
+ ],
+ "version": "0.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/run",
+ "id": "10a34898-3bee-46d2-b1b0-764b4b469dba",
+ "createTime": "2023-05-04T06:19:34.842Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "454fa7943ddf664bc54a67e654d7e8a39ea55fed",
+ "message": "[discoveryengine] add document purge API",
+ "issues": [
+ "4219"
+ ]
+ }
+ ],
+ "version": "0.6.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/discoveryengine",
+ "id": "2d5225d6-5b5f-489a-a9eb-7d40d6c1c904",
+ "createTime": "2023-05-04T06:19:34.838Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "840390b4fdad779617572db6ce54922cb894e667",
+ "message": "[deploy] added support for DeployArtifacts",
+ "issues": [
+ "4222"
+ ]
+ }
+ ],
+ "version": "2.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/deploy",
+ "id": "d1ef1774-76ab-485b-995e-c4d8e9364926",
+ "createTime": "2023-05-04T06:19:34.834Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "5268d24478595c01fe04215f50ece5558cfcdc46",
+ "message": "[dataplex] added new Dataplex APIs and new features for existing APIs (e.g. DataScans)",
+ "issues": [
+ "4230"
+ ]
+ }
+ ],
+ "version": "2.4.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dataplex",
+ "id": "5791d5d5-e1ec-41e8-8f48-e50d47d56142",
+ "createTime": "2023-05-04T06:19:34.829Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "5367d25cdaa4e935e5c1e345622bf4cbd7131e1a",
+ "message": "Add model_garden_service.proto and publisher_model.proto to BUILD.bazel",
+ "issues": [
+ "4225"
+ ]
+ }
+ ],
+ "version": "2.12.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/aiplatform",
+ "id": "745eabb6-4f17-4e93-b9e9-6d171ef21a52",
+ "createTime": "2023-05-04T06:19:34.822Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "8db807ae80a695bb1ad4fa290bc9a50ce29a8365",
+ "message": "Add initial files for google.ai.generativelanguage.v1beta2",
+ "issues": [
+ "4224"
+ ]
+ }
+ ],
+ "version": "0.1.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-ai/generativelanguage",
+ "id": "c5999974-f512-4db6-a7f8-01b5606c6c66",
+ "createTime": "2023-05-02T17:44:53.222Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "dc2e138872f7fd7dab8c3e626452b15e20459bd4",
+ "message": "[orchestration] add airflow_byoid_uri field to Cloud Composer API",
+ "issues": [
+ "4210"
+ ]
+ }
+ ],
+ "version": "2.4.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/orchestration-airflow",
+ "id": "c5609628-1d40-4e8b-a0af-aaed81554d47",
+ "createTime": "2023-05-02T17:44:53.219Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "f12c277d7f7566ead6128076c1c9ba81a856256a",
+ "message": "[contactcenterinsights] support for generating summaries during conversation analysis",
+ "issues": [
+ "4215"
+ ]
+ }
+ ],
+ "version": "2.7.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/contact-center-insights",
+ "id": "6b2edf35-e6e6-4218-b2b2-18454547ccf3",
+ "createTime": "2023-05-02T17:44:53.216Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add NVIDIA_L4 to AcceleratorType",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add experiment and experiment_run to CustomJobSpec",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add MutateDeployedModel RPC to endpoint_service",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add offline_storage_ttl_days to EntityType",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add online_storage_ttl_days to FeatureStore",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add GENIE to ModelSourceType",
+ "issues": []
+ },
+ {
+ "type": "feat",
+ "sha": "20eafa1b79ca8f255400d4eb00fb6d398d3a3980",
+ "message": "Add NVIDIA_L4 to AcceleratorType",
+ "issues": [
+ "4216"
+ ]
+ }
+ ],
+ "version": "2.11.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/aiplatform",
+ "id": "e27f05ff-d7ca-44ad-8305-915152e7b44b",
+ "createTime": "2023-05-02T17:44:53.213Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "14d2cc9ccf3b974bce2fc3ab9ff96ec8bdf166bd",
+ "message": "[servicecontrol] add a proto message used for batch mode resource info for ServiceController V2",
+ "issues": [
+ "4213"
+ ]
+ }
+ ],
+ "version": "2.2.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/service-control",
+ "id": "82dd6f93-6e7c-4847-8b4a-c088a38cc699",
+ "createTime": "2023-05-02T17:44:53.210Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "5af79e1a4ed1742009bc48e2ee61933b28e45d9e",
+ "message": "[analytics-admin] add `FetchConnectedGa4Property` method to the Admin API v1alpha",
+ "issues": [
+ "4207"
+ ]
+ }
+ ],
+ "version": "4.8.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-analytics/admin",
+ "id": "78487200-6041-4743-8dbf-9a47c9c48a88",
+ "createTime": "2023-05-02T17:44:53.207Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "a2e0b9ed07f58228386f8ebcf5c16fa7ac589cc3",
+ "message": "Add initial files for google.cloud.confidentialcomputing.v1alpha1",
+ "issues": [
+ "4193"
+ ]
+ }
+ ],
+ "version": "0.1.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/confidentialcomputing",
+ "id": "ccdebfe5-a220-428a-838a-53530fdb2c88",
+ "createTime": "2023-04-24T18:38:43.643Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "d9cf3bd09e06f53bfe650619df5c039a2b918af9",
+ "message": "[grafeas] add enum for grafeas v1 cvss to support both cvss v2 and v3",
+ "issues": [
+ "4167"
+ ]
+ }
+ ],
+ "version": "4.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/grafeas",
+ "id": "762340ef-29bc-4f99-8e9b-ae564255a44d",
+ "createTime": "2023-04-24T18:38:43.639Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "e1841e71f1be28ec607fa6f00c6f624909bd7981",
+ "message": "[containeranalysis] scope GeneratePackagesSummary method to v1beta1 http path",
+ "issues": [
+ "4196"
+ ]
+ },
+ {
+ "type": "feat",
+ "sha": "090493643ae86992c44e31963e1ba774d97b79d4",
+ "message": "[containeranalysis] add enum for grafeas v1 cvss to support both cvss v2 and v3",
+ "issues": [
+ "4163"
+ ]
+ }
+ ],
+ "version": "4.7.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/containeranalysis",
+ "id": "470e70ad-0d83-411e-937e-4b6a39234bf6",
+ "createTime": "2023-04-24T18:38:43.635Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "01fa5eb8e96fd8c8c0dd689b5da1ab57c4b66c98",
+ "message": "[cloudbuild] Add PeeredNetworkIpRange to NetworkConfigs message",
+ "issues": [
+ "4181"
+ ]
+ }
+ ],
+ "version": "3.6.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/cloudbuild",
+ "id": "a77b867d-3f45-42db-a3de-fc0d7c42c959",
+ "createTime": "2023-04-24T18:38:43.632Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "2beee255de109032828ffd5f9f8fb9d62574787b",
+ "message": "[container] Add support for updating additional pod IPv4 ranges for Standard and Autopilot clusters",
+ "issues": [
+ "4177"
+ ]
+ }
+ ],
+ "version": "4.9.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/container",
+ "id": "1f994633-3f46-4447-be8d-14752d911f7f",
+ "createTime": "2023-04-24T18:38:43.630Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "595ab2845ac8a70fc2e94d7f69029396cb6414f0",
+ "message": "[tpu] make reservation_name parameter generally visible in QueuedResource message",
+ "issues": [
+ "4178"
+ ]
+ }
+ ],
+ "version": "2.6.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/tpu",
+ "id": "97ecd9d0-7f92-4d85-89c4-8c6131f60465",
+ "createTime": "2023-04-24T18:38:43.627Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "3e1c4678dc20281eeaf30bf8cf64368e9110f307",
+ "message": "[securitycenter] add cloud_dlp_inspection and cloud_dlp_data_profile fields to finding's list of attributes",
+ "issues": [
+ "4198"
+ ]
+ }
+ ],
+ "version": "7.4.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/security-center",
+ "id": "89d6684b-3475-4ea2-accc-6572e8d0b425",
+ "createTime": "2023-04-24T18:38:43.624Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "fix",
+ "sha": "ad27ba7ef7f23e90fdd8870f9b6b24fa25970f5d",
+ "message": "[retail] fix the HTTP format for merchant center link service",
+ "issues": [
+ "4183"
+ ]
+ }
+ ],
+ "version": "2.4.1",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/retail",
+ "id": "5ac971ce-a7e0-4294-916d-bd5c8cd97e18",
+ "createTime": "2023-04-24T18:38:43.621Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "a742949ff07268521d8901508b83413f6030fc33",
+ "message": "[resourcemanager] add TagHolds, GetNamespacedTagKey, and GetNamespacedTagValue APIs. Adds support for project parented tags",
+ "issues": [
+ "4191"
+ ]
+ }
+ ],
+ "version": "4.3.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/resource-manager",
+ "id": "d584004b-8927-44f2-834a-f2fd8d15b917",
+ "createTime": "2023-04-24T18:38:43.615Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "ff093a9ab1b79c1863e25ffa71e1fdcbf32faa2d",
+ "message": "[metastore] added ScalingConfig (v1)",
+ "issues": [
+ "4176"
+ ]
+ }
+ ],
+ "version": "3.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dataproc-metastore",
+ "id": "a2fa125c-5302-428a-9bc5-b5c960c73375",
+ "createTime": "2023-04-24T18:38:43.612Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "32e9389cdd555738855cc226a7c88a6f883a8da9",
+ "message": "[gkehub] add `monitoring_config` field",
+ "issues": [
+ "4197"
+ ]
+ },
+ {
+ "type": "feat",
+ "sha": "86f1174537a80f807bdaf405e7af301a08ce40ce",
+ "message": "[gkehub] add `monitoring_config` field",
+ "issues": [
+ "4194"
+ ]
+ }
+ ],
+ "version": "3.4.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/gke-hub",
+ "id": "9ab74b2d-4531-49ae-8ce4-384b1332c3a7",
+ "createTime": "2023-04-24T18:38:43.610Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "de00e1d88877dd674dfd20b78a3de4476d65eb29",
+ "message": "[discoveryengine] add search, autocomplete and schema services",
+ "issues": [
+ "4201"
+ ]
+ }
+ ],
+ "version": "0.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/discoveryengine",
+ "id": "bdac8712-5230-4ebb-81c7-9fae350fc14c",
+ "createTime": "2023-04-24T18:38:43.606Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "c50526dc1b23a0318adc8fde9a4a88af0725b030",
+ "message": "[dataproc] update go_package to v2 in google.cloud.dataproc.v1",
+ "issues": [
+ "4184"
+ ]
+ }
+ ],
+ "version": "4.5.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/dataproc",
+ "id": "3d1de55d-def1-49e4-87be-8caa1dd51d89",
+ "createTime": "2023-04-24T18:38:43.602Z"
+ },
+ {
+ "changes": [
+ {
+ "type": "feat",
+ "sha": "3c46888d8b5b7568eaeac913fed55829a63f58df",
+ "message": "Add is_default to Tensorboard in aiplatform v1 tensorboard.proto and v1beta1 tensorboard.proto",
+ "issues": [
+ "4179"
+ ]
+ }
+ ],
+ "version": "2.10.0",
+ "language": "JAVASCRIPT",
+ "artifactName": "@google-cloud/aiplatform",
+ "id": "b48f31b3-426a-4ddf-b757-b39ad40bff9b",
+ "createTime": "2023-04-24T18:38:43.597Z"
+ },
{
"changes": [
{
@@ -8724,5 +9685,5 @@
"createTime": "2023-01-28T04:18:24.718Z"
}
],
- "updateTime": "2023-04-13T14:05:54.623Z"
+ "updateTime": "2023-05-20T02:26:24.513Z"
}
\ No newline at end of file
diff --git a/ci/Dockerfile b/ci/Dockerfile
index db8936fd9e5..42d47f3c198 100644
--- a/ci/Dockerfile
+++ b/ci/Dockerfile
@@ -31,16 +31,19 @@ RUN curl https://github.com/googleapis/repo-automation-bots/releases/download/fl
-o /bin/flakybot -s -L \
&& chmod +x /bin/flakybot
-FROM node:${NODE_VERSION}-alpine
+ENV PNPM_VERSION=7.32.2
+RUN curl https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -
-COPY --from=build /bin/flakybot /bin/flakybot
+FROM node:${NODE_VERSION}-alpine
# Hack for not found error with flakybot
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
COPY --from=build /usr/local/gcloud /usr/local/gcloud
COPY --from=build /bin/flakybot /bin/flakybot
+COPY --from=build /root/.local/share/pnpm /root/.local/share/pnpm
RUN apk add --no-cache git bash python3
-ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin
+ENV PNPM_HOME=/root/.local/share/pnpm
+ENV PATH=$PNPM_HOME:$PATH
diff --git a/ci/cloudbuild.yaml b/ci/cloudbuild.yaml
index e1a17e880ad..e8e770e8fa0 100644
--- a/ci/cloudbuild.yaml
+++ b/ci/cloudbuild.yaml
@@ -24,7 +24,7 @@ logsBucket: 'gs://${_LOGS_BUCKET}/logs/google-cloud-node/${_BUILD_TYPE}/${COMMIT
timeout: 32400s
steps:
- - name: 'gcr.io/kaniko-project/executor:v1.9.1'
+ - name: 'gcr.io/kaniko-project/executor:v1.9.2'
args: [
'--log-format=text',
'--context=dir:///workspace/testing',
@@ -35,6 +35,11 @@ steps:
'--push-retry=3',
'--image-fs-extract-retry=3'
]
+ - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
+ entrypoint: "bash"
+ args: ["ci/deletecloudbuild.sh"]
+ env:
+ - 'REF_NAME=${REF_NAME}'
- name: gcr.io/${PROJECT_ID}/google-cloud-node-${_NODE_VERSION}
id: "run-tests"
timeout: 32400s
diff --git a/ci/deletecloudbuild.sh b/ci/deletecloudbuild.sh
new file mode 100644
index 00000000000..506006bcfa1
--- /dev/null
+++ b/ci/deletecloudbuild.sh
@@ -0,0 +1,19 @@
+# Copyright 2023 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+now=$(date -u -d "-15 min" +"%Y-%m-%dT%H:%M:%SZ")
+gcloud builds list --format="value(id)" --filter="substitutions.REF_NAME="$REF_NAME" AND status="WORKING" AND create_time<"$now"" | while IFS= read -r line ; do
+ echo "gcloud builds cancel "$line""
+ gcloud builds cancel "$line"
+done
diff --git a/ci/export/unit-presubmit-node12.yaml b/ci/export/unit-presubmit-node12.yaml
deleted file mode 100644
index 9dec09cda35..00000000000
--- a/ci/export/unit-presubmit-node12.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-createTime: '2023-03-22T22:44:59.896784337Z'
-description: Presubmit unit with node 12
-filename: ci/cloudbuild.yaml
-github:
- name: google-cloud-node
- owner: googleapis
- pullRequest:
- branch: ^main$
- commentControl: COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY
-id: 2a30298b-f453-459f-9f90-415527d051f2
-includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
-name: unit-presubmit-node12
-resourceName: projects/long-door-651/locations/global/triggers/2a30298b-f453-459f-9f90-415527d051f2
-serviceAccount: projects/long-door-651/serviceAccounts/kokoro-system-test@long-door-651.iam.gserviceaccount.com
-substitutions:
- _BUILD_TYPE: presubmit
- _LOGS_BUCKET: cloud-node-public-logs
- _NODE_VERSION: '12'
- _TEST_TYPE: units
diff --git a/ci/export/unit-presubmit-node16.yaml b/ci/export/unit-presubmit-node16.yaml
deleted file mode 100644
index c28d0e5abb2..00000000000
--- a/ci/export/unit-presubmit-node16.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-createTime: '2022-12-22T21:34:53.835122725Z'
-description: Presubmit unit with node 16
-filename: ci/cloudbuild.yaml
-github:
- name: google-cloud-node
- owner: googleapis
- pullRequest:
- branch: ^main$
- commentControl: COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY
-id: 182e003f-4636-4cc4-beda-811e6ad960f1
-includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
-name: unit-presubmit-node16
-resourceName: projects/long-door-651/locations/global/triggers/182e003f-4636-4cc4-beda-811e6ad960f1
-serviceAccount: projects/-/serviceAccounts/kokoro-system-test@long-door-651.iam.gserviceaccount.com
-substitutions:
- _BUILD_TYPE: presubmit
- _LOGS_BUCKET: cloud-node-public-logs
- _NODE_VERSION: '16'
- _TEST_TYPE: units
diff --git a/ci/export/unit-presubmit-node18.yaml b/ci/export/unit-presubmit-node18.yaml
deleted file mode 100644
index a142d67de52..00000000000
--- a/ci/export/unit-presubmit-node18.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-createTime: '2022-12-22T21:33:14.641417894Z'
-description: Presubmit unit with node 18
-filename: ci/cloudbuild.yaml
-github:
- name: google-cloud-node
- owner: googleapis
- pullRequest:
- branch: ^main$
- commentControl: COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY
-id: 492f377a-73d6-4b52-9269-1a3e3dbb6721
-includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
-name: unit-presubmit-node18
-resourceName: projects/long-door-651/locations/global/triggers/492f377a-73d6-4b52-9269-1a3e3dbb6721
-serviceAccount: projects/long-door-651/serviceAccounts/kokoro-system-test@long-door-651.iam.gserviceaccount.com
-substitutions:
- _BUILD_TYPE: presubmit
- _LOGS_BUCKET: cloud-node-public-logs
- _NODE_VERSION: '18'
- _TEST_TYPE: units
diff --git a/ci/export_triggers.sh b/ci/export_triggers.sh
index 44debcff8ef..8919c72b93e 100755
--- a/ci/export_triggers.sh
+++ b/ci/export_triggers.sh
@@ -46,12 +46,4 @@ for NODE_VERSION in ${NODE_VERSIONS[@]}; do
gcloud beta builds triggers export "samples-nightly-node${NODE_VERSION}" --destination "ci/export/samples-nightly-node${NODE_VERSION}.yaml"
echo "exporting presubmit build for node${NODE_VERSION} with credentials"
gcloud beta builds triggers export "samples-presubmit-node${NODE_VERSION}-with-credentials" --destination "ci/export/samples-presubmit-node${NODE_VERSION}-with-credentials.yaml"
-done
-
-# Since we don't want to run nightly, presubmit, and continuous for node 16 and node 18, adding these outside of the loop
-echo "exporting presubmit unit build for node12 unit tests"
-gcloud beta builds triggers export "unit-presubmit-node12" --destination "ci/export/unit-presubmit-node12.yaml"
-echo "exporting presubmit unit build for node16 unit tests"
-gcloud beta builds triggers export "unit-presubmit-node16" --destination "ci/export/unit-presubmit-node16.yaml"
-echo "exporting presubmit unit build for node18 unit tests"
-gcloud beta builds triggers export "unit-presubmit-node18" --destination "ci/export/unit-presubmit-node18.yaml"
\ No newline at end of file
+done
\ No newline at end of file
diff --git a/ci/import_triggers.sh b/ci/import_triggers.sh
index 4021c57f1d0..a7c8c1e66fc 100755
--- a/ci/import_triggers.sh
+++ b/ci/import_triggers.sh
@@ -46,12 +46,4 @@ for NODE_VERSION in ${NODE_VERSIONS[@]}; do
gcloud beta builds triggers import --source "ci/export/samples-nightly-node${NODE_VERSION}.yaml"
echo "importing presubmit build for node${NODE_VERSION} with credentials"
gcloud beta builds triggers import --source "ci/export/samples-presubmit-node${NODE_VERSION}-with-credentials.yaml"
-done
-
-# Since we don't want to run nightly, and continuous for node 16 and node 18, adding these outside of the loop
-echo "importing presubmit unit build for node12 unit tests"
-gcloud beta builds triggers import --source "ci/export/unit-presubmit-node12.yaml"
-echo "importing presubmit unit build for node16 unit tests"
-gcloud beta builds triggers import --source "ci/export/unit-presubmit-node16.yaml"
-echo "importing presubmit unit build for node18 unit tests"
-gcloud beta builds triggers import --source "ci/export/unit-presubmit-node18.yaml"
\ No newline at end of file
+done
\ No newline at end of file
diff --git a/ci/run_conditional_tests.sh b/ci/run_conditional_tests.sh
index 421a3c9033b..9c558651025 100755
--- a/ci/run_conditional_tests.sh
+++ b/ci/run_conditional_tests.sh
@@ -84,7 +84,7 @@ for subdir in ${subdirs[@]}; do
if [[ "${changed}" -eq 0 ]]; then
echo "no change detected in ${d}, skipping"
else
- if [[ "${TEST_TYPE}" == "system" ]]; then
+ if [[ "${TEST_TYPE}" == "system" ]] || [[ "${TEST_TYPE}" == "lint" ]] || [[ "${TEST_TYPE}" == "units" ]]; then
echo "change detected in ${d} for system test"
should_test=true
elif [[ "${tests_with_credentials[*]}" =~ "${d}" ]] && [[ -n "${GOOGLE_APPLICATION_CREDENTIALS}" ]]; then
@@ -97,7 +97,7 @@ for subdir in ${subdirs[@]}; do
fi
else
# If GIT_DIFF_ARG is empty, run all the tests.
- if [[ "${TEST_TYPE}" == "system" ]]; then
+ if [[ "${TEST_TYPE}" == "system" ]] || [[ "${TEST_TYPE}" == "lint" ]] || [[ "${TEST_TYPE}" == "units" ]]; then
echo "run system test for ${d}"
should_test=true
elif [[ "${tests_with_credentials[*]}" =~ "${d}" ]] && [[ -n "${GOOGLE_APPLICATION_CREDENTIALS}" ]]; then
@@ -118,6 +118,8 @@ for subdir in ${subdirs[@]}; do
set -e
if [ ${ret} -ne 0 ]; then
RETVAL=${ret}
+ # Since there are so many APIs, we should exit early if there's an error
+ break
fi
popd
fi
diff --git a/ci/run_single_test.sh b/ci/run_single_test.sh
index 2c7fee058d3..5e8821ef9da 100755
--- a/ci/run_single_test.sh
+++ b/ci/run_single_test.sh
@@ -22,7 +22,7 @@ export PROJECT_ROOT=$(realpath $(dirname "${BASH_SOURCE[0]}")/..)
tests_without_node12="typeless-sample-bot gapic-node-templating node-bootstrap-container"
if [ -z "${BUILD_TYPE}" ]; then
- echo "missing $BUILD_TYPE env var"
+ echo "missing BUILD_TYPE env var"
exit 1
fi
@@ -41,14 +41,14 @@ if [ ${BUILD_TYPE} != "presubmit" ]; then
fi
# Install dependencies
-if [[ "${tests_without_node12[*]}" =~ "${PROJECT}" ]] && [[ ${NODE_VERSION} == "12.22.12" ]]; then
+if [[ "${tests_without_node12[*]}" =~ "${PROJECT}" ]] && [[ ${NODE_VERSION} == "12.22.12" ]] && [[ ${TEST_TYPE} != "lint" ]]; then
echo "not running tests for Node 12"
elif [[ ${NODE_VERSION} == "12.22.12" ]]; then
echo "npm install --unsafe-perm --ignore-scripts --engine-strict --only=prod; npm install --unsafe-perm"
npm install --unsafe-perm --ignore-scripts --engine-strict --only=prod; npm install --unsafe-perm
else
- echo "npm install --ignore-scripts --engine-strict --omit=dev; npm install"
- npm install --ignore-scripts --engine-strict --omit=dev; npm install
+ echo "pnpm install --ignore-scripts --engine-strict --prod; pnpm install"
+ pnpm install --ignore-scripts --engine-strict --prod; pnpm install
fi
retval=0
@@ -56,21 +56,22 @@ retval=0
set +e
case ${TEST_TYPE} in
lint)
- npm run lint
+ pnpm prelint
+ pnpm lint
retval=$?
;;
samples)
- npm run samples-test
+ pnpm samples-test
retval=$?
;;
system)
- npm run system-test
+ pnpm system-test
retval=$?
;;
units)
# Skipping Node 12 tests for projects outside of gapic autogenerated libraries that don't need to run on Node 12
if ! [[ "${tests_without_node12[*]}" =~ "${PROJECT}" ]] || [[ ${NODE_VERSION} != "12.22.12" ]]; then
- npm test
+ pnpm test
retval=$?
fi
;;
diff --git a/containers/node-bootstrap-container/package.json b/containers/node-bootstrap-container/package.json
index e33c4ee3740..6f38db41807 100644
--- a/containers/node-bootstrap-container/package.json
+++ b/containers/node-bootstrap-container/package.json
@@ -20,7 +20,7 @@
},
"homepage": "https://github.com/googleapis/google-cloud-node#readme",
"dependencies": {
- "@octokit/rest": "^19.0.0"
+ "@octokit/rest": "19.0.0"
},
"devDependencies": {
"mocha": "^9.0.0",
diff --git a/libraries.json b/libraries.json
index 1da0f963949..5e18d7b29d3 100644
--- a/libraries.json
+++ b/libraries.json
@@ -524,7 +524,7 @@
"repo": "googleapis/nodejs-datastore",
"distribution_name": "@google-cloud/datastore",
"api_id": "datastore.googleapis.com",
- "codeowner_team": "@googleapis/cloud-native-db-dpes",
+ "codeowner_team": "@googleapis/cloud-native-db-dpes @googleapis/api-datastore-sdk",
"api_shortname": "datastore",
"library_type": "GAPIC_COMBO",
"linkToRepoHomepage": "https://github.com/googleapis/nodejs-datastore",
@@ -2432,6 +2432,24 @@
"linkToRepoHomepage": "https://github.com/googleapis/nodejs-bigquery-migration",
"support_documentation": "https://cloud.google.com/bigquery/docs/getting-support"
},
+ {
+ "name": "confidentialcomputing",
+ "name_pretty": "Confidential Computing API",
+ "product_documentation": "https://cloud.google.com/confidential-computing",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/confidentialcomputing/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/confidentialcomputing",
+ "api_id": "confidentialcomputing.googleapis.com",
+ "default_version": "v1alpha1",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "confidentialcomputing",
+ "linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-confidentialcomputing",
+ "support_documentation": "https://cloud.google.com/confidential-computing/docs/getting-support"
+ },
{
"default_version": "v1beta1",
"release_level": "preview",
@@ -2540,6 +2558,24 @@
"linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-discoveryengine",
"support_documentation": "https://cloud.google.com/discovery-engine/docs/getting-support"
},
+ {
+ "name": "generativelanguage",
+ "name_pretty": "Generative Language API",
+ "product_documentation": "https://developers.generativeai.google/",
+ "client_documentation": "https://developers.generativeai.google/guide/palm_api_overview#node.js",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-ai/generativelanguage",
+ "api_id": "generativelanguage.googleapis.com",
+ "default_version": "v1beta2",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "generativelanguage",
+ "linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage",
+ "support_documentation": "https://developers.generativeai.google/docs/getting-support"
+ },
{
"name": "connectgateway",
"name_pretty": "GKE Connect Gateway",
@@ -2738,6 +2774,24 @@
"linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-security-publicca",
"support_documentation": "https://cloud.google.com/certificate-manager/docs/getting-support"
},
+ {
+ "name": "storageinsights",
+ "name_pretty": "Storage Insights API",
+ "product_documentation": "https://cloud.google.com/storage/docs/insights/storage-insights",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/storageinsights/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/storageinsights",
+ "api_id": "storageinsights.googleapis.com",
+ "default_version": "v1",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "storageinsights",
+ "linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-storageinsights",
+ "support_documentation": "https://cloud.google.com/storage/docs/getting-support"
+ },
{
"name": "trace",
"name_pretty": "Trace",
diff --git a/packages/gapic-node-templating/package.json b/packages/gapic-node-templating/package.json
index f6eb7f9504e..c53e4c26094 100644
--- a/packages/gapic-node-templating/package.json
+++ b/packages/gapic-node-templating/package.json
@@ -20,7 +20,6 @@
"author": "Google LLC",
"license": "Apache-2.0",
"devDependencies": {
- "@octokit/rest": "^19.0.0",
"@types/js-yaml": "^4.0.5",
"@types/mocha": "^9.1.1",
"@types/node": "^18.0.0",
@@ -40,10 +39,9 @@
},
"dependencies": {
"@google-cloud/storage": "^6.1.0",
- "@octokit/rest": "^19.0.0",
+ "@octokit/rest": "19.0.0",
"js-yaml": "^4.1.0",
"nunjucks": "^3.2.3",
"yargs": "^17.5.1"
}
}
-
diff --git a/packages/gapic-node-templating/templates/bootstrap-templates/package.json b/packages/gapic-node-templating/templates/bootstrap-templates/package.json
index 66731f46535..8f6e2a6d97d 100644
--- a/packages/gapic-node-templating/templates/bootstrap-templates/package.json
+++ b/packages/gapic-node-templating/templates/bootstrap-templates/package.json
@@ -37,10 +37,11 @@
"docs-test": "linkinator docs",
"fix": "gts fix",
"lint": "gts check",
+ "postpack": "minifyProtoJson",
"prepare": "npm run compile-protos && npm run compile",
- "system-test": "npm run compile && c8 mocha build/system-test",
+ "system-test": "c8 mocha build/system-test",
"test": "c8 mocha build/test",
- "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "samples-test": "cd samples/ && npm link ../ && npm i && npm test",
"prelint": "cd samples; npm link ../; npm i"
},
"dependencies": {
@@ -55,6 +56,7 @@
"jsdoc": "^4.0.0",
"jsdoc-fresh": "^2.0.0",
"jsdoc-region-tag": "^2.0.0",
+ "long": "^5.2.3",
"linkinator": "^4.0.0",
"mocha": "^9.2.2",
"null-loader": "^4.0.1",
diff --git a/packages/google-ai-generativelanguage/.OwlBot.yaml b/packages/google-ai-generativelanguage/.OwlBot.yaml
new file mode 100644
index 00000000000..b545c3339d9
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.OwlBot.yaml
@@ -0,0 +1,19 @@
+# Copyright 2022 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+deep-copy-regex:
+ - source: /google/ai/generativelanguage/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-ai-generativelanguage/$1
+
+api-name: generativelanguage
\ No newline at end of file
diff --git a/packages/google-ai-generativelanguage/.eslintignore b/packages/google-ai-generativelanguage/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-ai-generativelanguage/.eslintrc.json b/packages/google-ai-generativelanguage/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-ai-generativelanguage/.gitattributes b/packages/google-ai-generativelanguage/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.gitattributes
@@ -0,0 +1,4 @@
+*.ts text eol=lf
+*.js text eol=lf
+protos/* linguist-generated
+**/api-extractor.json linguist-language=JSON-with-Comments
diff --git a/packages/google-ai-generativelanguage/.gitignore b/packages/google-ai-generativelanguage/.gitignore
new file mode 100644
index 00000000000..d4f03a0df2e
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.gitignore
@@ -0,0 +1,14 @@
+**/*.log
+**/node_modules
+/.coverage
+/coverage
+/.nyc_output
+/docs/
+/out/
+/build/
+system-test/secrets.js
+system-test/*key.json
+*.lock
+.DS_Store
+package-lock.json
+__pycache__
diff --git a/packages/google-ai-generativelanguage/.jsdoc.js b/packages/google-ai-generativelanguage/.jsdoc.js
new file mode 100644
index 00000000000..6f27011f578
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2023 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-ai/generativelanguage',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-ai-generativelanguage/.mocharc.js b/packages/google-ai-generativelanguage/.mocharc.js
new file mode 100644
index 00000000000..49e7e228701
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-ai-generativelanguage/.nycrc b/packages/google-ai-generativelanguage/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/packages/google-ai-generativelanguage/.prettierignore b/packages/google-ai-generativelanguage/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-ai-generativelanguage/.prettierrc.js b/packages/google-ai-generativelanguage/.prettierrc.js
new file mode 100644
index 00000000000..1e6cec783e4
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-ai-generativelanguage/.repo-metadata.json b/packages/google-ai-generativelanguage/.repo-metadata.json
new file mode 100644
index 00000000000..11be2c16256
--- /dev/null
+++ b/packages/google-ai-generativelanguage/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "name": "generativelanguage",
+ "name_pretty": "Generative Language API",
+ "product_documentation": "https://developers.generativeai.google/",
+ "client_documentation": "https://developers.generativeai.google/guide/palm_api_overview#node.js",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-ai/generativelanguage",
+ "api_id": "generativelanguage.googleapis.com",
+ "default_version": "v1beta2",
+ "requires_billing": true,
+ "library_type": "GAPIC_AUTO",
+ "api_shortname": "generativelanguage"
+}
diff --git a/packages/google-ai-generativelanguage/CHANGELOG.md b/packages/google-ai-generativelanguage/CHANGELOG.md
new file mode 100644
index 00000000000..e99d90027e4
--- /dev/null
+++ b/packages/google-ai-generativelanguage/CHANGELOG.md
@@ -0,0 +1,22 @@
+# Changelog
+
+## [0.2.0](https://github.com/googleapis/google-cloud-node/compare/generativelanguage-v0.1.1...generativelanguage-v0.2.0) (2023-05-06)
+
+
+### Features
+
+* [generativelanguage] Add safety settings ([#4248](https://github.com/googleapis/google-cloud-node/issues/4248)) ([76b2df7](https://github.com/googleapis/google-cloud-node/commit/76b2df71b44de5f1764749f8393f2a2cee68221e))
+
+## [0.1.1](https://github.com/googleapis/google-cloud-node/compare/generativelanguage-v0.1.0...generativelanguage-v0.1.1) (2023-05-04)
+
+
+### Bug Fixes
+
+* **docs:** Fix sample links in README ([#4236](https://github.com/googleapis/google-cloud-node/issues/4236)) ([d852042](https://github.com/googleapis/google-cloud-node/commit/d8520421c0d4c306d8a0d2cf8bf94186d6a27a6b))
+
+## 0.1.0 (2023-05-02)
+
+
+### Features
+
+* Add initial files for google.ai.generativelanguage.v1beta2 ([#4224](https://github.com/googleapis/google-cloud-node/issues/4224)) ([8db807a](https://github.com/googleapis/google-cloud-node/commit/8db807ae80a695bb1ad4fa290bc9a50ce29a8365))
diff --git a/packages/google-ai-generativelanguage/CODE_OF_CONDUCT.md b/packages/google-ai-generativelanguage/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-ai-generativelanguage/CODE_OF_CONDUCT.md
@@ -0,0 +1,94 @@
+
+# Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of
+experience, education, socio-economic status, nationality, personal appearance,
+race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, or to ban temporarily or permanently any
+contributor for other behaviors that they deem inappropriate, threatening,
+offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+This Code of Conduct also applies outside the project spaces when the Project
+Steward has a reasonable belief that an individual's behavior may have a
+negative impact on the project or its community.
+
+## Conflict Resolution
+
+We do not believe that all conflict is bad; healthy debate and disagreement
+often yield positive results. However, it is never okay to be disrespectful or
+to engage in behavior that violates the project’s code of conduct.
+
+If you see someone violating the code of conduct, you are encouraged to address
+the behavior directly with those involved. Many issues can be resolved quickly
+and easily, and this gives people more control over the outcome of their
+dispute. If you are unable to resolve the matter for any reason, or if the
+behavior is threatening or harassing, report it. We are dedicated to providing
+an environment where participants feel welcome and safe.
+
+Reports should be directed to *googleapis-stewards@google.com*, the
+Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
+receive and address reported violations of the code of conduct. They will then
+work with a committee consisting of representatives from the Open Source
+Programs Office and the Google Open Source Strategy team. If for any reason you
+are uncomfortable reaching out to the Project Steward, please email
+opensource@google.com.
+
+We will investigate every complaint, but you may not receive a direct response.
+We will use our discretion in determining when and how to follow up on reported
+incidents, which may range from not taking action to permanent expulsion from
+the project and project-sponsored spaces. We will notify the accused of the
+report and provide them an opportunity to discuss it before any action is taken.
+The identity of the reporter will be omitted from the details of the report
+supplied to the accused. In potentially harmful situations, such as ongoing
+harassment or threats to anyone's safety, we may take action without notice.
+
+## Attribution
+
+This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
+available at
+https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
\ No newline at end of file
diff --git a/packages/google-ai-generativelanguage/CONTRIBUTING.md b/packages/google-ai-generativelanguage/CONTRIBUTING.md
new file mode 100644
index 00000000000..27a0461faf9
--- /dev/null
+++ b/packages/google-ai-generativelanguage/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Generative Language API API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+
+## Running the tests
+
+1. [Prepare your environment for Node.js setup][setup].
+
+1. Install dependencies:
+
+ npm install
+
+1. Run the tests:
+
+ # Run unit tests.
+ npm test
+
+ # Run sample integration tests.
+ npm run samples-test
+
+ # Run all system tests.
+ npm run system-test
+
+1. Lint (and maybe fix) any changes:
+
+ npm run fix
+
+[setup]: https://cloud.google.com/nodejs/docs/setup
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=generativelanguage.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-ai-generativelanguage/LICENSE b/packages/google-ai-generativelanguage/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-ai-generativelanguage/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/packages/google-ai-generativelanguage/README.md b/packages/google-ai-generativelanguage/README.md
new file mode 100644
index 00000000000..9ac01960c1d
--- /dev/null
+++ b/packages/google-ai-generativelanguage/README.md
@@ -0,0 +1,231 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Generative Language API: Node.js Client](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-ai/generativelanguage)
+
+
+
+
+Generative Language API client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage/CHANGELOG.md).
+
+* [Generative Language API Node.js Client API Reference][client-docs]
+* [Generative Language API Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-ai-generativelanguage](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Generative Language API API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-ai/generativelanguage
+```
+
+
+### Using the client library
+
+```javascript
+/**
+ * This snippet has been automatically generated and should be regarded as a code template only.
+ * It will require modifications to work.
+ * It may require correct/in-range values for request initialization.
+ * TODO(developer): Uncomment these variables before running the sample.
+ */
+/**
+ * Required. The model name to use with the format name=models/{model}.
+ */
+// const model = 'abc123'
+/**
+ * Required. The free-form input text given to the model as a prompt.
+ * Given a prompt, the model will generate a TextCompletion response it
+ * predicts as the completion of the input text.
+ */
+// const prompt = {
+// text: 'abc123'
+// }
+/**
+ * Controls the randomness of the output.
+ * Note: The default value varies by model, see the `Model.temperature`
+ * attribute of the `Model` returned the `getModel` function.
+ * Values can range from 0.0,1.0,
+ * inclusive. A value closer to 1.0 will produce responses that are more
+ * varied and creative, while a value closer to 0.0 will typically result in
+ * more straightforward responses from the model.
+ */
+// const temperature = 1234
+/**
+ * Number of generated responses to return.
+ * This value must be between 1, 8, inclusive. If unset, this will default
+ * to 1.
+ */
+// const candidateCount = 1234
+/**
+ * The maximum number of tokens to include in a candidate.
+ * If unset, this will default to 64.
+ */
+// const maxOutputTokens = 1234
+/**
+ * The maximum cumulative probability of tokens to consider when sampling.
+ * The model uses combined Top-k and nucleus sampling.
+ * Tokens are sorted based on their assigned probabilities so that only the
+ * most liekly tokens are considered. Top-k sampling directly limits the
+ * maximum number of tokens to consider, while Nucleus sampling limits number
+ * of tokens based on the cumulative probability.
+ * Note: The default value varies by model, see the `Model.top_p`
+ * attribute of the `Model` returned the `getModel` function.
+ */
+// const topP = 1234
+/**
+ * The maximum number of tokens to consider when sampling.
+ * The model uses combined Top-k and nucleus sampling.
+ * Top-k sampling considers the set of `top_k` most probable tokens.
+ * Defaults to 40.
+ * Note: The default value varies by model, see the `Model.top_k`
+ * attribute of the `Model` returned the `getModel` function.
+ */
+// const topK = 1234
+/**
+ * The set of character sequences (up to 5) that will stop output generation.
+ * If specified, the API will stop at the first appearance of a stop
+ * sequence. The stop sequence will not be included as part of the response.
+ */
+// const stopSequences = 'abc123'
+
+// Imports the Generativelanguage library
+const {TextServiceClient} = require('@google-ai/generativelanguage').v1beta2;
+
+// Instantiates a client
+const generativelanguageClient = new TextServiceClient();
+
+async function callGenerateText() {
+ // Construct request
+ const request = {
+ model,
+ prompt,
+ };
+
+ // Run request
+ const response = await generativelanguageClient.generateText(request);
+ console.log(response);
+}
+
+callGenerateText();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Discuss_service.count_message_tokens | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/discuss_service.count_message_tokens.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/discuss_service.count_message_tokens.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Discuss_service.generate_message | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/discuss_service.generate_message.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/discuss_service.generate_message.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Model_service.get_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/model_service.get_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/model_service.get_model.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Model_service.list_models | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/model_service.list_models.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/model_service.list_models.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Text_service.embed_text | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/text_service.embed_text.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/text_service.embed_text.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Text_service.generate_text | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/generated/v1beta2/text_service.generate_text.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/generated/v1beta2/text_service.generate_text.js,packages/google-ai-generativelanguage/samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ai-generativelanguage/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-ai-generativelanguage/samples/quickstart.js,packages/google-ai-generativelanguage/samples/README.md) |
+
+
+
+The [Generative Language API Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
+Libraries are compatible with all current _active_ and _maintenance_ versions of
+Node.js.
+If you are using an end-of-life version of Node.js, we recommend that you update
+as soon as possible to an actively supported LTS version.
+
+Google's client libraries support legacy versions of Node.js runtimes on a
+best-efforts basis with the following warnings:
+
+* Legacy versions are not tested in continuous integration.
+* Some security patches and features cannot be backported.
+* Dependencies cannot be kept up-to-date.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+For example, `npm install @google-ai/generativelanguage@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+
+
+
+
+This library is considered to be in **preview**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://developers.generativeai.google/guide/palm_api_overview#node.js
+[product-docs]: https://developers.generativeai.google/
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=generativelanguage.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-ai-generativelanguage/linkinator.config.json b/packages/google-ai-generativelanguage/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-ai-generativelanguage/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/packages/google-ai-generativelanguage/package.json b/packages/google-ai-generativelanguage/package.json
new file mode 100644
index 00000000000..6a50ab8bbe3
--- /dev/null
+++ b/packages/google-ai-generativelanguage/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "@google-ai/generativelanguage",
+ "version": "0.2.0",
+ "description": "Generative Language API client for Node.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/googleapis/google-cloud-node.git",
+ "directory": "packages/google-ai-generativelanguage"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-ai-generativelanguage",
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google generativelanguage",
+ "generativelanguage",
+ "Generative Language API"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.8"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.3.5",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "long": "^5.2.3",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^15.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.9.0",
+ "webpack-cli": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/citation.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/citation.proto
new file mode 100644
index 00000000000..8dc9e2c6644
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/citation.proto
@@ -0,0 +1,51 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/api/field_behavior.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "CitationProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// A collection of source attributions for a piece of content.
+message CitationMetadata {
+ // Citations to sources for a specific response.
+ repeated CitationSource citation_sources = 1;
+}
+
+// A citation to a source for a portion of a specific response.
+message CitationSource {
+ // Optional. Start of segment of the response that is attributed to this
+ // source.
+ //
+ // Index indicates the start of the segment, measured in bytes.
+ optional int32 start_index = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. End of the attributed segment, exclusive.
+ optional int32 end_index = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. URI that is attributed as a source for a portion of the text.
+ optional string uri = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. License for the GitHub project that is attributed as a source for
+ // segment.
+ //
+ // License info is required for code citations.
+ optional string license = 4 [(google.api.field_behavior) = OPTIONAL];
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/discuss_service.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/discuss_service.proto
new file mode 100644
index 00000000000..f4d0d6915e7
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/discuss_service.proto
@@ -0,0 +1,251 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/ai/generativelanguage/v1beta2/citation.proto";
+import "google/ai/generativelanguage/v1beta2/safety.proto";
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "DiscussServiceProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// An API for using Generative Language Models (GLMs) in dialog applications.
+//
+// Also known as large language models (LLMs), this API provides models that
+// are trained for multi-turn dialog.
+service DiscussService {
+ option (google.api.default_host) = "generativelanguage.googleapis.com";
+
+ // Generates a response from the model given an input `MessagePrompt`.
+ rpc GenerateMessage(GenerateMessageRequest)
+ returns (GenerateMessageResponse) {
+ option (google.api.http) = {
+ post: "/v1beta2/{model=models/*}:generateMessage"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "model,prompt,temperature,candidate_count,top_p,top_k";
+ }
+
+ // Runs a model's tokenizer on a string and returns the token count.
+ rpc CountMessageTokens(CountMessageTokensRequest)
+ returns (CountMessageTokensResponse) {
+ option (google.api.http) = {
+ post: "/v1beta2/{model=models/*}:countMessageTokens"
+ body: "*"
+ };
+ option (google.api.method_signature) = "model,prompt";
+ }
+}
+
+// Request to generate a message response from the model.
+message GenerateMessageRequest {
+ // Required. The name of the model to use.
+ //
+ // Format: `name=models/{model}`.
+ string model = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "generativelanguage.googleapis.com/Model"
+ }
+ ];
+
+ // Required. The structured textual input given to the model as a prompt.
+ //
+ // Given a
+ // prompt, the model will return what it predicts is the next message in the
+ // discussion.
+ MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Controls the randomness of the output.
+ //
+ // Values can range over `[0.0,1.0]`,
+ // inclusive. A value closer to `1.0` will produce responses that are more
+ // varied, while a value closer to `0.0` will typically result in
+ // less surprising responses from the model.
+ optional float temperature = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The number of generated response messages to return.
+ //
+ // This value must be between
+ // `[1, 8]`, inclusive. If unset, this will default to `1`.
+ optional int32 candidate_count = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum cumulative probability of tokens to consider when
+ // sampling.
+ //
+ // The model uses combined Top-k and nucleus sampling.
+ //
+ // Nucleus sampling considers the smallest set of tokens whose probability
+ // sum is at least `top_p`.
+ optional float top_p = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of tokens to consider when sampling.
+ //
+ // The model uses combined Top-k and nucleus sampling.
+ //
+ // Top-k sampling considers the set of `top_k` most probable tokens.
+ optional int32 top_k = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response from the model.
+//
+// This includes candidate messages and
+// conversation history in the form of chronologically-ordered messages.
+message GenerateMessageResponse {
+ // Candidate response messages from the model.
+ repeated Message candidates = 1;
+
+ // The conversation history used by the model.
+ repeated Message messages = 2;
+
+ // A set of content filtering metadata for the prompt and response
+ // text.
+ //
+ // This indicates which `SafetyCategory`(s) blocked a
+ // candidate from this response, the lowest `HarmProbability`
+ // that triggered a block, and the HarmThreshold setting for that category.
+ // This indicates the smallest change to the `SafetySettings` that would be
+ // necessary to unblock at least 1 response.
+ //
+ // The blocking is configured by the `SafetySettings` in the request (or the
+ // default `SafetySettings` of the API).
+ repeated ContentFilter filters = 3;
+}
+
+// The base unit of structured text.
+//
+// A `Message` includes an `author` and the `content` of
+// the `Message`.
+//
+// The `author` is used to tag messages when they are fed to the
+// model as text.
+message Message {
+ // Optional. The author of this Message.
+ //
+ // This serves as a key for tagging
+ // the content of this Message when it is fed to the model as text.
+ //
+ // The author can be any alphanumeric string.
+ string author = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The text content of the structured `Message`.
+ string content = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Citation information for model-generated `content` in this
+ // `Message`.
+ //
+ // If this `Message` was generated as output from the model, this field may be
+ // populated with attribution information for any text included in the
+ // `content`. This field is used only on output.
+ optional CitationMetadata citation_metadata = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// All of the structured input text passed to the model as a prompt.
+//
+// A `MessagePrompt` contains a structured set of fields that provide context
+// for the conversation, examples of user input/model output message pairs that
+// prime the model to respond in different ways, and the conversation history
+// or list of messages representing the alternating turns of the conversation
+// between the user and the model.
+message MessagePrompt {
+ // Optional. Text that should be provided to the model first to ground the
+ // response.
+ //
+ // If not empty, this `context` will be given to the model first before the
+ // `examples` and `messages`. When using a `context` be sure to provide it
+ // with every request to maintain continuity.
+ //
+ // This field can be a description of your prompt to the model to help provide
+ // context and guide the responses. Examples: "Translate the phrase from
+ // English to French." or "Given a statement, classify the sentiment as happy,
+ // sad or neutral."
+ //
+ // Anything included in this field will take precedence over message history
+ // if the total input size exceeds the model's `input_token_limit` and the
+ // input request is truncated.
+ string context = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Examples of what the model should generate.
+ //
+ // This includes both user input and the response that the model should
+ // emulate.
+ //
+ // These `examples` are treated identically to conversation messages except
+ // that they take precedence over the history in `messages`:
+ // If the total input size exceeds the model's `input_token_limit` the input
+ // will be truncated. Items will be dropped from `messages` before `examples`.
+ repeated Example examples = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. A snapshot of the recent conversation history sorted
+ // chronologically.
+ //
+ // Turns alternate between two authors.
+ //
+ // If the total input size exceeds the model's `input_token_limit` the input
+ // will be truncated: The oldest items will be dropped from `messages`.
+ repeated Message messages = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An input/output example used to instruct the Model.
+//
+// It demonstrates how the model should respond or format its response.
+message Example {
+ // An example of an input `Message` from the user.
+ Message input = 1;
+
+ // An example of what the model should output given the input.
+ Message output = 2;
+}
+
+// Counts the number of tokens in the `prompt` sent to a model.
+//
+// Models may tokenize text differently, so each model may return a different
+// `token_count`.
+message CountMessageTokensRequest {
+ // Required. The model's resource name. This serves as an ID for the Model to
+ // use.
+ //
+ // This name should match a model name returned by the `ListModels` method.
+ //
+ // Format: `models/{model}`
+ string model = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "generativelanguage.googleapis.com/Model"
+ }
+ ];
+
+ // Required. The prompt, whose token count is to be returned.
+ MessagePrompt prompt = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A response from `CountMessageTokens`.
+//
+// It returns the model's `token_count` for the `prompt`.
+message CountMessageTokensResponse {
+ // The number of tokens that the `model` tokenizes the `prompt` into.
+ //
+ // Always non-negative.
+ int32 token_count = 1;
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model.proto
new file mode 100644
index 00000000000..d266c6ee1d3
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model.proto
@@ -0,0 +1,101 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "ModelProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// Information about a Generative Language Model.
+message Model {
+ option (google.api.resource) = {
+ type: "generativelanguage.googleapis.com/Model"
+ pattern: "models/{model}"
+ };
+
+ // Required. The resource name of the `Model`.
+ //
+ // Format: `models/{model}` with a `{model}` naming convention of:
+ //
+ // * "{base_model_id}-{version}"
+ //
+ // Examples:
+ //
+ // * `models/chat-bison-001`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The name of the base model, pass this to the generation request.
+ //
+ // Examples:
+ //
+ // * `chat-bison`
+ string base_model_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The version number of the model.
+ //
+ // This represents the major version
+ string version = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The human-readable name of the model. E.g. "Chat Bison".
+ //
+ // The name can be up to 128 characters long and can consist of any UTF-8
+ // characters.
+ string display_name = 4;
+
+ // A short description of the model.
+ string description = 5;
+
+ // Maximum number of input tokens allowed for this model.
+ int32 input_token_limit = 6;
+
+ // Maximum number of output tokens available for this model.
+ int32 output_token_limit = 7;
+
+ // The model's supported generation methods.
+ //
+ // The method names are defined as Pascal case
+ // strings, such as `generateMessage` which correspond to API methods.
+ repeated string supported_generation_methods = 8;
+
+ // Controls the randomness of the output.
+ //
+ // Values can range over `[0.0,1.0]`, inclusive. A value closer to `1.0` will
+ // produce responses that are more varied, while a value closer to `0.0` will
+ // typically result in less surprising responses from the model.
+ // This value specifies default to be used by the backend while making the
+ // call to the model.
+ optional float temperature = 9;
+
+ // For Nucleus sampling.
+ //
+ // Nucleus sampling considers the smallest set of tokens whose probability
+ // sum is at least `top_p`.
+ // This value specifies default to be used by the backend while making the
+ // call to the model.
+ optional float top_p = 10;
+
+ // For Top-k sampling.
+ //
+ // Top-k sampling considers the set of `top_k` most probable tokens.
+ // This value specifies default to be used by the backend while making the
+ // call to the model.
+ optional int32 top_k = 11;
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model_service.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model_service.proto
new file mode 100644
index 00000000000..8462e55ba1d
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/model_service.proto
@@ -0,0 +1,95 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/ai/generativelanguage/v1beta2/model.proto";
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "ModelServiceProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// Provides methods for getting metadata information about Generative Models.
+service ModelService {
+ option (google.api.default_host) = "generativelanguage.googleapis.com";
+
+ // Gets information about a specific Model.
+ rpc GetModel(GetModelRequest) returns (Model) {
+ option (google.api.http) = {
+ get: "/v1beta2/{name=models/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists models available through the API.
+ rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
+ option (google.api.http) = {
+ get: "/v1beta2/models"
+ };
+ option (google.api.method_signature) = "page_size,page_token";
+ }
+}
+
+// Request for getting information about a specific Model.
+message GetModelRequest {
+ // Required. The resource name of the model.
+ //
+ // This name should match a model name returned by the `ListModels` method.
+ //
+ // Format: `models/{model}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "generativelanguage.googleapis.com/Model"
+ }
+ ];
+}
+
+// Request for listing all Models.
+message ListModelsRequest {
+ // The maximum number of `Models` to return (per page).
+ //
+ // The service may return fewer models.
+ // If unspecified, at most 50 models will be returned per page.
+ // This method returns at most 1000 models per page, even if you pass a larger
+ // page_size.
+ int32 page_size = 2;
+
+ // A page token, received from a previous `ListModels` call.
+ //
+ // Provide the `page_token` returned by one request as an argument to the next
+ // request to retrieve the next page.
+ //
+ // When paginating, all other parameters provided to `ListModels` must match
+ // the call that provided the page token.
+ string page_token = 3;
+}
+
+// Response from `ListModel` containing a paginated list of Models.
+message ListModelsResponse {
+ // The returned Models.
+ repeated Model models = 1;
+
+ // A token, which can be sent as `page_token` to retrieve the next page.
+ //
+ // If this field is omitted, there are no more pages.
+ string next_page_token = 2;
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/safety.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/safety.proto
new file mode 100644
index 00000000000..70f420d7d43
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/safety.proto
@@ -0,0 +1,157 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/api/field_behavior.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "SafetyProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// The category of a rating.
+//
+// These categories cover various kinds of harms that developers
+// may wish to adjust.
+enum HarmCategory {
+ // Category is unspecified.
+ HARM_CATEGORY_UNSPECIFIED = 0;
+
+ // Negative or harmful comments targeting identity and/or protected attribute.
+ HARM_CATEGORY_DEROGATORY = 1;
+
+ // Content that is rude, disrepspectful, or profane.
+ HARM_CATEGORY_TOXICITY = 2;
+
+ // Describes scenarios depictng violence against an individual or group, or
+ // general descriptions of gore.
+ HARM_CATEGORY_VIOLENCE = 3;
+
+ // Contains references to sexual acts or other lewd content.
+ HARM_CATEGORY_SEXUAL = 4;
+
+ // Promotes unchecked medical advice.
+ HARM_CATEGORY_MEDICAL = 5;
+
+ // Dangerous content that promotes, facilitates, or encourages harmful acts.
+ HARM_CATEGORY_DANGEROUS = 6;
+}
+
+// Content filtering metadata associated with processing a single request.
+//
+// ContentFilter contains a reason and an optional supporting string. The reason
+// may be unspecified.
+message ContentFilter {
+ // A list of reasons why content may have been blocked.
+ enum BlockedReason {
+ // A blocked reason was not specified.
+ BLOCKED_REASON_UNSPECIFIED = 0;
+
+ // Content was blocked by safety settings.
+ SAFETY = 1;
+
+ // Content was blocked, but the reason is uncategorized.
+ OTHER = 2;
+ }
+
+ // The reason content was blocked during request processing.
+ BlockedReason reason = 1;
+
+ // A string that describes the filtering behavior in more detail.
+ optional string message = 2;
+}
+
+// Safety feedback for an entire request.
+//
+// This field is populated if content in the input and/or response is blocked
+// due to safety settings. SafetyFeedback may not exist for every HarmCategory.
+// Each SafetyFeedback will return the safety settings used by the request as
+// well as the lowest HarmProbability that should be allowed in order to return
+// a result.
+message SafetyFeedback {
+ // Safety rating evaluated from content.
+ SafetyRating rating = 1;
+
+ // Safety settings applied to the request.
+ SafetySetting setting = 2;
+}
+
+// Safety rating for a piece of content.
+//
+// The safety rating contains the category of harm and the
+// harm probability level in that category for a piece of content.
+// Content is classified for safety across a number of
+// harm categories and the probability of the harm classification is included
+// here.
+message SafetyRating {
+ // The probability that a piece of content is harmful.
+ //
+ // The classification system gives the probability of the content being
+ // unsafe. This does not indicate the severity of harm for a piece of content.
+ enum HarmProbability {
+ // Probability is unspecified.
+ HARM_PROBABILITY_UNSPECIFIED = 0;
+
+ // Content has a negligible chance of being unsafe.
+ NEGLIGIBLE = 1;
+
+ // Content has a low chance of being unsafe.
+ LOW = 2;
+
+ // Content has a medium chance of being unsafe.
+ MEDIUM = 3;
+
+ // Content has a high chance of being unsafe.
+ HIGH = 4;
+ }
+
+ // Required. The category for this rating.
+ HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The probability of harm for this content.
+ HarmProbability probability = 4 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Safety setting, affecting the safety-blocking behavior.
+//
+// Passing a safety setting for a category changes the allowed proability that
+// content is blocked.
+message SafetySetting {
+ // Block at and beyond a specified harm probability.
+ enum HarmBlockThreshold {
+ // Threshold is unspecified.
+ HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0;
+
+ // Content with NEGLIGIBLE will be allowed.
+ BLOCK_LOW_AND_ABOVE = 1;
+
+ // Content with NEGLIGIBLE and LOW will be allowed.
+ BLOCK_MEDIUM_AND_ABOVE = 2;
+
+ // Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed.
+ BLOCK_ONLY_HIGH = 3;
+
+ // All content will be allowed.
+ BLOCK_NONE = 4;
+ }
+
+ // Required. The category for this setting.
+ HarmCategory category = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Controls the probability threshold at which harm is blocked.
+ HarmBlockThreshold threshold = 4 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/text_service.proto b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/text_service.proto
new file mode 100644
index 00000000000..e193d0b416e
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/google/ai/generativelanguage/v1beta2/text_service.proto
@@ -0,0 +1,211 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.ai.generativelanguage.v1beta2;
+
+import "google/ai/generativelanguage/v1beta2/citation.proto";
+import "google/ai/generativelanguage/v1beta2/safety.proto";
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/ai/generativelanguage/v1beta2;generativelanguage";
+option java_multiple_files = true;
+option java_outer_classname = "TextServiceProto";
+option java_package = "com.google.ai.generativelanguage.v1beta2";
+
+// API for using Generative Language Models (GLMs) trained to generate text.
+//
+// Also known as Large Language Models (LLM)s, these generate text given an
+// input prompt from the user.
+service TextService {
+ option (google.api.default_host) = "generativelanguage.googleapis.com";
+
+ // Generates a response from the model given an input message.
+ rpc GenerateText(GenerateTextRequest) returns (GenerateTextResponse) {
+ option (google.api.http) = {
+ post: "/v1beta2/{model=models/*}:generateText"
+ body: "*"
+ };
+ option (google.api.method_signature) =
+ "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k";
+ }
+
+ // Generates an embedding from the model given an input message.
+ rpc EmbedText(EmbedTextRequest) returns (EmbedTextResponse) {
+ option (google.api.http) = {
+ post: "/v1beta2/{model=models/*}:embedText"
+ body: "*"
+ };
+ option (google.api.method_signature) = "model,text";
+ }
+}
+
+// Request to generate a text completion response from the model.
+message GenerateTextRequest {
+ // Required. The model name to use with the format name=models/{model}.
+ string model = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "generativelanguage.googleapis.com/Model"
+ }
+ ];
+
+ // Required. The free-form input text given to the model as a prompt.
+ //
+ // Given a prompt, the model will generate a TextCompletion response it
+ // predicts as the completion of the input text.
+ TextPrompt prompt = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Controls the randomness of the output.
+ // Note: The default value varies by model, see the `Model.temperature`
+ // attribute of the `Model` returned the `getModel` function.
+ //
+ // Values can range from [0.0,1.0],
+ // inclusive. A value closer to 1.0 will produce responses that are more
+ // varied and creative, while a value closer to 0.0 will typically result in
+ // more straightforward responses from the model.
+ optional float temperature = 3;
+
+ // Number of generated responses to return.
+ //
+ // This value must be between [1, 8], inclusive. If unset, this will default
+ // to 1.
+ optional int32 candidate_count = 4;
+
+ // The maximum number of tokens to include in a candidate.
+ //
+ // If unset, this will default to 64.
+ optional int32 max_output_tokens = 5;
+
+ // The maximum cumulative probability of tokens to consider when sampling.
+ //
+ // The model uses combined Top-k and nucleus sampling.
+ //
+ // Tokens are sorted based on their assigned probabilities so that only the
+ // most liekly tokens are considered. Top-k sampling directly limits the
+ // maximum number of tokens to consider, while Nucleus sampling limits number
+ // of tokens based on the cumulative probability.
+ //
+ // Note: The default value varies by model, see the `Model.top_p`
+ // attribute of the `Model` returned the `getModel` function.
+ optional float top_p = 6;
+
+ // The maximum number of tokens to consider when sampling.
+ //
+ // The model uses combined Top-k and nucleus sampling.
+ //
+ // Top-k sampling considers the set of `top_k` most probable tokens.
+ // Defaults to 40.
+ //
+ // Note: The default value varies by model, see the `Model.top_k`
+ // attribute of the `Model` returned the `getModel` function.
+ optional int32 top_k = 7;
+
+ // A list of unique `SafetySetting` instances for blocking unsafe content.
+ //
+ // that will be enforced on the `GenerateTextRequest.prompt` and
+ // `GenerateTextResponse.candidates`. There should not be more than one
+ // setting for each `SafetyCategory` type. The API will block any prompts and
+ // responses that fail to meet the thresholds set by these settings. This list
+ // overrides the default settings for each `SafetyCategory` specified in the
+ // safety_settings. If there is no `SafetySetting` for a given
+ // `SafetyCategory` provided in the list, the API will use the default safety
+ // setting for that category.
+ repeated SafetySetting safety_settings = 8;
+
+ // The set of character sequences (up to 5) that will stop output generation.
+ // If specified, the API will stop at the first appearance of a stop
+ // sequence. The stop sequence will not be included as part of the response.
+ repeated string stop_sequences = 9;
+}
+
+// The response from the model, including candidate completions.
+message GenerateTextResponse {
+ // Candidate responses from the model.
+ repeated TextCompletion candidates = 1;
+
+ // A set of content filtering metadata for the prompt and response
+ // text.
+ //
+ // This indicates which `SafetyCategory`(s) blocked a
+ // candidate from this response, the lowest `HarmProbability`
+ // that triggered a block, and the HarmThreshold setting for that category.
+ // This indicates the smallest change to the `SafetySettings` that would be
+ // necessary to unblock at least 1 response.
+ //
+ // The blocking is configured by the `SafetySettings` in the request (or the
+ // default `SafetySettings` of the API).
+ repeated ContentFilter filters = 3;
+
+ // Returns any safety feedback related to content filtering.
+ repeated SafetyFeedback safety_feedback = 4;
+}
+
+// Text given to the model as a prompt.
+//
+// The Model will use this TextPrompt to Generate a text completion.
+message TextPrompt {
+ // Required. The prompt text.
+ string text = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Output text returned from a model.
+message TextCompletion {
+ // Output only. The generated text returned from the model.
+ string output = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Ratings for the safety of a response.
+ //
+ // There is at most one rating per category.
+ repeated SafetyRating safety_ratings = 2;
+
+ // Output only. Citation information for model-generated `output` in this
+ // `TextCompletion`.
+ //
+ // This field may be populated with attribution information for any text
+ // included in the `output`.
+ optional CitationMetadata citation_metadata = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request to get a text embedding from the model.
+message EmbedTextRequest {
+ // Required. The model name to use with the format model=models/{model}.
+ string model = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "generativelanguage.googleapis.com/Model"
+ }
+ ];
+
+ // Required. The free-form input text that the model will turn into an
+ // embedding.
+ string text = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The response to a EmbedTextRequest.
+message EmbedTextResponse {
+ // Output only. The embedding generated from the input text.
+ optional Embedding embedding = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A list of floats representing the embedding.
+message Embedding {
+ // The embedding values.
+ repeated float value = 1;
+}
diff --git a/packages/google-ai-generativelanguage/protos/protos.d.ts b/packages/google-ai-generativelanguage/protos/protos.d.ts
new file mode 100644
index 00000000000..3260a9a0d74
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/protos.d.ts
@@ -0,0 +1,6907 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace ai. */
+ namespace ai {
+
+ /** Namespace generativelanguage. */
+ namespace generativelanguage {
+
+ /** Namespace v1beta2. */
+ namespace v1beta2 {
+
+ /** Properties of a CitationMetadata. */
+ interface ICitationMetadata {
+
+ /** CitationMetadata citationSources */
+ citationSources?: (google.ai.generativelanguage.v1beta2.ICitationSource[]|null);
+ }
+
+ /** Represents a CitationMetadata. */
+ class CitationMetadata implements ICitationMetadata {
+
+ /**
+ * Constructs a new CitationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ICitationMetadata);
+
+ /** CitationMetadata citationSources. */
+ public citationSources: google.ai.generativelanguage.v1beta2.ICitationSource[];
+
+ /**
+ * Creates a new CitationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CitationMetadata instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ICitationMetadata): google.ai.generativelanguage.v1beta2.CitationMetadata;
+
+ /**
+ * Encodes the specified CitationMetadata message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationMetadata.verify|verify} messages.
+ * @param message CitationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ICitationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CitationMetadata message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationMetadata.verify|verify} messages.
+ * @param message CitationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ICitationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CitationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CitationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.CitationMetadata;
+
+ /**
+ * Decodes a CitationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CitationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.CitationMetadata;
+
+ /**
+ * Verifies a CitationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CitationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CitationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.CitationMetadata;
+
+ /**
+ * Creates a plain object from a CitationMetadata message. Also converts values to other types if specified.
+ * @param message CitationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.CitationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CitationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CitationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CitationSource. */
+ interface ICitationSource {
+
+ /** CitationSource startIndex */
+ startIndex?: (number|null);
+
+ /** CitationSource endIndex */
+ endIndex?: (number|null);
+
+ /** CitationSource uri */
+ uri?: (string|null);
+
+ /** CitationSource license */
+ license?: (string|null);
+ }
+
+ /** Represents a CitationSource. */
+ class CitationSource implements ICitationSource {
+
+ /**
+ * Constructs a new CitationSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ICitationSource);
+
+ /** CitationSource startIndex. */
+ public startIndex?: (number|null);
+
+ /** CitationSource endIndex. */
+ public endIndex?: (number|null);
+
+ /** CitationSource uri. */
+ public uri?: (string|null);
+
+ /** CitationSource license. */
+ public license?: (string|null);
+
+ /** CitationSource _startIndex. */
+ public _startIndex?: "startIndex";
+
+ /** CitationSource _endIndex. */
+ public _endIndex?: "endIndex";
+
+ /** CitationSource _uri. */
+ public _uri?: "uri";
+
+ /** CitationSource _license. */
+ public _license?: "license";
+
+ /**
+ * Creates a new CitationSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CitationSource instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ICitationSource): google.ai.generativelanguage.v1beta2.CitationSource;
+
+ /**
+ * Encodes the specified CitationSource message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationSource.verify|verify} messages.
+ * @param message CitationSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ICitationSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CitationSource message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationSource.verify|verify} messages.
+ * @param message CitationSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ICitationSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CitationSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CitationSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.CitationSource;
+
+ /**
+ * Decodes a CitationSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CitationSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.CitationSource;
+
+ /**
+ * Verifies a CitationSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CitationSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CitationSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.CitationSource;
+
+ /**
+ * Creates a plain object from a CitationSource message. Also converts values to other types if specified.
+ * @param message CitationSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.CitationSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CitationSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CitationSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a DiscussService */
+ class DiscussService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new DiscussService service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new DiscussService service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DiscussService;
+
+ /**
+ * Calls GenerateMessage.
+ * @param request GenerateMessageRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GenerateMessageResponse
+ */
+ public generateMessage(request: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest, callback: google.ai.generativelanguage.v1beta2.DiscussService.GenerateMessageCallback): void;
+
+ /**
+ * Calls GenerateMessage.
+ * @param request GenerateMessageRequest message or plain object
+ * @returns Promise
+ */
+ public generateMessage(request: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest): Promise;
+
+ /**
+ * Calls CountMessageTokens.
+ * @param request CountMessageTokensRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CountMessageTokensResponse
+ */
+ public countMessageTokens(request: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest, callback: google.ai.generativelanguage.v1beta2.DiscussService.CountMessageTokensCallback): void;
+
+ /**
+ * Calls CountMessageTokens.
+ * @param request CountMessageTokensRequest message or plain object
+ * @returns Promise
+ */
+ public countMessageTokens(request: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest): Promise;
+ }
+
+ namespace DiscussService {
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.DiscussService|generateMessage}.
+ * @param error Error, if any
+ * @param [response] GenerateMessageResponse
+ */
+ type GenerateMessageCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.GenerateMessageResponse) => void;
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.DiscussService|countMessageTokens}.
+ * @param error Error, if any
+ * @param [response] CountMessageTokensResponse
+ */
+ type CountMessageTokensCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.CountMessageTokensResponse) => void;
+ }
+
+ /** Properties of a GenerateMessageRequest. */
+ interface IGenerateMessageRequest {
+
+ /** GenerateMessageRequest model */
+ model?: (string|null);
+
+ /** GenerateMessageRequest prompt */
+ prompt?: (google.ai.generativelanguage.v1beta2.IMessagePrompt|null);
+
+ /** GenerateMessageRequest temperature */
+ temperature?: (number|null);
+
+ /** GenerateMessageRequest candidateCount */
+ candidateCount?: (number|null);
+
+ /** GenerateMessageRequest topP */
+ topP?: (number|null);
+
+ /** GenerateMessageRequest topK */
+ topK?: (number|null);
+ }
+
+ /** Represents a GenerateMessageRequest. */
+ class GenerateMessageRequest implements IGenerateMessageRequest {
+
+ /**
+ * Constructs a new GenerateMessageRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest);
+
+ /** GenerateMessageRequest model. */
+ public model: string;
+
+ /** GenerateMessageRequest prompt. */
+ public prompt?: (google.ai.generativelanguage.v1beta2.IMessagePrompt|null);
+
+ /** GenerateMessageRequest temperature. */
+ public temperature?: (number|null);
+
+ /** GenerateMessageRequest candidateCount. */
+ public candidateCount?: (number|null);
+
+ /** GenerateMessageRequest topP. */
+ public topP?: (number|null);
+
+ /** GenerateMessageRequest topK. */
+ public topK?: (number|null);
+
+ /** GenerateMessageRequest _temperature. */
+ public _temperature?: "temperature";
+
+ /** GenerateMessageRequest _candidateCount. */
+ public _candidateCount?: "candidateCount";
+
+ /** GenerateMessageRequest _topP. */
+ public _topP?: "topP";
+
+ /** GenerateMessageRequest _topK. */
+ public _topK?: "topK";
+
+ /**
+ * Creates a new GenerateMessageRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateMessageRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest): google.ai.generativelanguage.v1beta2.GenerateMessageRequest;
+
+ /**
+ * Encodes the specified GenerateMessageRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageRequest.verify|verify} messages.
+ * @param message GenerateMessageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateMessageRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageRequest.verify|verify} messages.
+ * @param message GenerateMessageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IGenerateMessageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateMessageRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.GenerateMessageRequest;
+
+ /**
+ * Decodes a GenerateMessageRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.GenerateMessageRequest;
+
+ /**
+ * Verifies a GenerateMessageRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateMessageRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateMessageRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.GenerateMessageRequest;
+
+ /**
+ * Creates a plain object from a GenerateMessageRequest message. Also converts values to other types if specified.
+ * @param message GenerateMessageRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.GenerateMessageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateMessageRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateMessageRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GenerateMessageResponse. */
+ interface IGenerateMessageResponse {
+
+ /** GenerateMessageResponse candidates */
+ candidates?: (google.ai.generativelanguage.v1beta2.IMessage[]|null);
+
+ /** GenerateMessageResponse messages */
+ messages?: (google.ai.generativelanguage.v1beta2.IMessage[]|null);
+
+ /** GenerateMessageResponse filters */
+ filters?: (google.ai.generativelanguage.v1beta2.IContentFilter[]|null);
+ }
+
+ /** Represents a GenerateMessageResponse. */
+ class GenerateMessageResponse implements IGenerateMessageResponse {
+
+ /**
+ * Constructs a new GenerateMessageResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IGenerateMessageResponse);
+
+ /** GenerateMessageResponse candidates. */
+ public candidates: google.ai.generativelanguage.v1beta2.IMessage[];
+
+ /** GenerateMessageResponse messages. */
+ public messages: google.ai.generativelanguage.v1beta2.IMessage[];
+
+ /** GenerateMessageResponse filters. */
+ public filters: google.ai.generativelanguage.v1beta2.IContentFilter[];
+
+ /**
+ * Creates a new GenerateMessageResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateMessageResponse instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IGenerateMessageResponse): google.ai.generativelanguage.v1beta2.GenerateMessageResponse;
+
+ /**
+ * Encodes the specified GenerateMessageResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageResponse.verify|verify} messages.
+ * @param message GenerateMessageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IGenerateMessageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateMessageResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageResponse.verify|verify} messages.
+ * @param message GenerateMessageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IGenerateMessageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateMessageResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.GenerateMessageResponse;
+
+ /**
+ * Decodes a GenerateMessageResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.GenerateMessageResponse;
+
+ /**
+ * Verifies a GenerateMessageResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateMessageResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateMessageResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.GenerateMessageResponse;
+
+ /**
+ * Creates a plain object from a GenerateMessageResponse message. Also converts values to other types if specified.
+ * @param message GenerateMessageResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.GenerateMessageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateMessageResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateMessageResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Message. */
+ interface IMessage {
+
+ /** Message author */
+ author?: (string|null);
+
+ /** Message content */
+ content?: (string|null);
+
+ /** Message citationMetadata */
+ citationMetadata?: (google.ai.generativelanguage.v1beta2.ICitationMetadata|null);
+ }
+
+ /** Represents a Message. */
+ class Message implements IMessage {
+
+ /**
+ * Constructs a new Message.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IMessage);
+
+ /** Message author. */
+ public author: string;
+
+ /** Message content. */
+ public content: string;
+
+ /** Message citationMetadata. */
+ public citationMetadata?: (google.ai.generativelanguage.v1beta2.ICitationMetadata|null);
+
+ /** Message _citationMetadata. */
+ public _citationMetadata?: "citationMetadata";
+
+ /**
+ * Creates a new Message instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Message instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IMessage): google.ai.generativelanguage.v1beta2.Message;
+
+ /**
+ * Encodes the specified Message message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Message.verify|verify} messages.
+ * @param message Message message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Message message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Message.verify|verify} messages.
+ * @param message Message message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IMessage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Message message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Message
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.Message;
+
+ /**
+ * Decodes a Message message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Message
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.Message;
+
+ /**
+ * Verifies a Message message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Message message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Message
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.Message;
+
+ /**
+ * Creates a plain object from a Message message. Also converts values to other types if specified.
+ * @param message Message
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.Message, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Message to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Message
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MessagePrompt. */
+ interface IMessagePrompt {
+
+ /** MessagePrompt context */
+ context?: (string|null);
+
+ /** MessagePrompt examples */
+ examples?: (google.ai.generativelanguage.v1beta2.IExample[]|null);
+
+ /** MessagePrompt messages */
+ messages?: (google.ai.generativelanguage.v1beta2.IMessage[]|null);
+ }
+
+ /** Represents a MessagePrompt. */
+ class MessagePrompt implements IMessagePrompt {
+
+ /**
+ * Constructs a new MessagePrompt.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IMessagePrompt);
+
+ /** MessagePrompt context. */
+ public context: string;
+
+ /** MessagePrompt examples. */
+ public examples: google.ai.generativelanguage.v1beta2.IExample[];
+
+ /** MessagePrompt messages. */
+ public messages: google.ai.generativelanguage.v1beta2.IMessage[];
+
+ /**
+ * Creates a new MessagePrompt instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessagePrompt instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IMessagePrompt): google.ai.generativelanguage.v1beta2.MessagePrompt;
+
+ /**
+ * Encodes the specified MessagePrompt message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.MessagePrompt.verify|verify} messages.
+ * @param message MessagePrompt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IMessagePrompt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessagePrompt message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.MessagePrompt.verify|verify} messages.
+ * @param message MessagePrompt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IMessagePrompt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessagePrompt message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessagePrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.MessagePrompt;
+
+ /**
+ * Decodes a MessagePrompt message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessagePrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.MessagePrompt;
+
+ /**
+ * Verifies a MessagePrompt message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessagePrompt message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessagePrompt
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.MessagePrompt;
+
+ /**
+ * Creates a plain object from a MessagePrompt message. Also converts values to other types if specified.
+ * @param message MessagePrompt
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.MessagePrompt, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessagePrompt to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessagePrompt
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Example. */
+ interface IExample {
+
+ /** Example input */
+ input?: (google.ai.generativelanguage.v1beta2.IMessage|null);
+
+ /** Example output */
+ output?: (google.ai.generativelanguage.v1beta2.IMessage|null);
+ }
+
+ /** Represents an Example. */
+ class Example implements IExample {
+
+ /**
+ * Constructs a new Example.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IExample);
+
+ /** Example input. */
+ public input?: (google.ai.generativelanguage.v1beta2.IMessage|null);
+
+ /** Example output. */
+ public output?: (google.ai.generativelanguage.v1beta2.IMessage|null);
+
+ /**
+ * Creates a new Example instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Example instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IExample): google.ai.generativelanguage.v1beta2.Example;
+
+ /**
+ * Encodes the specified Example message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Example.verify|verify} messages.
+ * @param message Example message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IExample, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Example message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Example.verify|verify} messages.
+ * @param message Example message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IExample, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Example message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Example
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.Example;
+
+ /**
+ * Decodes an Example message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Example
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.Example;
+
+ /**
+ * Verifies an Example message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Example message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Example
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.Example;
+
+ /**
+ * Creates a plain object from an Example message. Also converts values to other types if specified.
+ * @param message Example
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.Example, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Example to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Example
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CountMessageTokensRequest. */
+ interface ICountMessageTokensRequest {
+
+ /** CountMessageTokensRequest model */
+ model?: (string|null);
+
+ /** CountMessageTokensRequest prompt */
+ prompt?: (google.ai.generativelanguage.v1beta2.IMessagePrompt|null);
+ }
+
+ /** Represents a CountMessageTokensRequest. */
+ class CountMessageTokensRequest implements ICountMessageTokensRequest {
+
+ /**
+ * Constructs a new CountMessageTokensRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest);
+
+ /** CountMessageTokensRequest model. */
+ public model: string;
+
+ /** CountMessageTokensRequest prompt. */
+ public prompt?: (google.ai.generativelanguage.v1beta2.IMessagePrompt|null);
+
+ /**
+ * Creates a new CountMessageTokensRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CountMessageTokensRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest): google.ai.generativelanguage.v1beta2.CountMessageTokensRequest;
+
+ /**
+ * Encodes the specified CountMessageTokensRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensRequest.verify|verify} messages.
+ * @param message CountMessageTokensRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CountMessageTokensRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensRequest.verify|verify} messages.
+ * @param message CountMessageTokensRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CountMessageTokensRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CountMessageTokensRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.CountMessageTokensRequest;
+
+ /**
+ * Decodes a CountMessageTokensRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CountMessageTokensRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.CountMessageTokensRequest;
+
+ /**
+ * Verifies a CountMessageTokensRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CountMessageTokensRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CountMessageTokensRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.CountMessageTokensRequest;
+
+ /**
+ * Creates a plain object from a CountMessageTokensRequest message. Also converts values to other types if specified.
+ * @param message CountMessageTokensRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.CountMessageTokensRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CountMessageTokensRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CountMessageTokensRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CountMessageTokensResponse. */
+ interface ICountMessageTokensResponse {
+
+ /** CountMessageTokensResponse tokenCount */
+ tokenCount?: (number|null);
+ }
+
+ /** Represents a CountMessageTokensResponse. */
+ class CountMessageTokensResponse implements ICountMessageTokensResponse {
+
+ /**
+ * Constructs a new CountMessageTokensResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse);
+
+ /** CountMessageTokensResponse tokenCount. */
+ public tokenCount: number;
+
+ /**
+ * Creates a new CountMessageTokensResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CountMessageTokensResponse instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse): google.ai.generativelanguage.v1beta2.CountMessageTokensResponse;
+
+ /**
+ * Encodes the specified CountMessageTokensResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensResponse.verify|verify} messages.
+ * @param message CountMessageTokensResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CountMessageTokensResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensResponse.verify|verify} messages.
+ * @param message CountMessageTokensResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CountMessageTokensResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CountMessageTokensResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.CountMessageTokensResponse;
+
+ /**
+ * Decodes a CountMessageTokensResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CountMessageTokensResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.CountMessageTokensResponse;
+
+ /**
+ * Verifies a CountMessageTokensResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CountMessageTokensResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CountMessageTokensResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.CountMessageTokensResponse;
+
+ /**
+ * Creates a plain object from a CountMessageTokensResponse message. Also converts values to other types if specified.
+ * @param message CountMessageTokensResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.CountMessageTokensResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CountMessageTokensResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CountMessageTokensResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** HarmCategory enum. */
+ enum HarmCategory {
+ HARM_CATEGORY_UNSPECIFIED = 0,
+ HARM_CATEGORY_DEROGATORY = 1,
+ HARM_CATEGORY_TOXICITY = 2,
+ HARM_CATEGORY_VIOLENCE = 3,
+ HARM_CATEGORY_SEXUAL = 4,
+ HARM_CATEGORY_MEDICAL = 5,
+ HARM_CATEGORY_DANGEROUS = 6
+ }
+
+ /** Properties of a ContentFilter. */
+ interface IContentFilter {
+
+ /** ContentFilter reason */
+ reason?: (google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason|keyof typeof google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason|null);
+
+ /** ContentFilter message */
+ message?: (string|null);
+ }
+
+ /** Represents a ContentFilter. */
+ class ContentFilter implements IContentFilter {
+
+ /**
+ * Constructs a new ContentFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IContentFilter);
+
+ /** ContentFilter reason. */
+ public reason: (google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason|keyof typeof google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason);
+
+ /** ContentFilter message. */
+ public message?: (string|null);
+
+ /** ContentFilter _message. */
+ public _message?: "message";
+
+ /**
+ * Creates a new ContentFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContentFilter instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IContentFilter): google.ai.generativelanguage.v1beta2.ContentFilter;
+
+ /**
+ * Encodes the specified ContentFilter message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ContentFilter.verify|verify} messages.
+ * @param message ContentFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IContentFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContentFilter message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ContentFilter.verify|verify} messages.
+ * @param message ContentFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IContentFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContentFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContentFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.ContentFilter;
+
+ /**
+ * Decodes a ContentFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContentFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.ContentFilter;
+
+ /**
+ * Verifies a ContentFilter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContentFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContentFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.ContentFilter;
+
+ /**
+ * Creates a plain object from a ContentFilter message. Also converts values to other types if specified.
+ * @param message ContentFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.ContentFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContentFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContentFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ContentFilter {
+
+ /** BlockedReason enum. */
+ enum BlockedReason {
+ BLOCKED_REASON_UNSPECIFIED = 0,
+ SAFETY = 1,
+ OTHER = 2
+ }
+ }
+
+ /** Properties of a SafetyFeedback. */
+ interface ISafetyFeedback {
+
+ /** SafetyFeedback rating */
+ rating?: (google.ai.generativelanguage.v1beta2.ISafetyRating|null);
+
+ /** SafetyFeedback setting */
+ setting?: (google.ai.generativelanguage.v1beta2.ISafetySetting|null);
+ }
+
+ /** Represents a SafetyFeedback. */
+ class SafetyFeedback implements ISafetyFeedback {
+
+ /**
+ * Constructs a new SafetyFeedback.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ISafetyFeedback);
+
+ /** SafetyFeedback rating. */
+ public rating?: (google.ai.generativelanguage.v1beta2.ISafetyRating|null);
+
+ /** SafetyFeedback setting. */
+ public setting?: (google.ai.generativelanguage.v1beta2.ISafetySetting|null);
+
+ /**
+ * Creates a new SafetyFeedback instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SafetyFeedback instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ISafetyFeedback): google.ai.generativelanguage.v1beta2.SafetyFeedback;
+
+ /**
+ * Encodes the specified SafetyFeedback message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyFeedback.verify|verify} messages.
+ * @param message SafetyFeedback message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ISafetyFeedback, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SafetyFeedback message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyFeedback.verify|verify} messages.
+ * @param message SafetyFeedback message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ISafetyFeedback, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SafetyFeedback message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SafetyFeedback
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.SafetyFeedback;
+
+ /**
+ * Decodes a SafetyFeedback message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SafetyFeedback
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.SafetyFeedback;
+
+ /**
+ * Verifies a SafetyFeedback message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SafetyFeedback message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SafetyFeedback
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.SafetyFeedback;
+
+ /**
+ * Creates a plain object from a SafetyFeedback message. Also converts values to other types if specified.
+ * @param message SafetyFeedback
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.SafetyFeedback, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SafetyFeedback to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SafetyFeedback
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SafetyRating. */
+ interface ISafetyRating {
+
+ /** SafetyRating category */
+ category?: (google.ai.generativelanguage.v1beta2.HarmCategory|keyof typeof google.ai.generativelanguage.v1beta2.HarmCategory|null);
+
+ /** SafetyRating probability */
+ probability?: (google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability|keyof typeof google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability|null);
+ }
+
+ /** Represents a SafetyRating. */
+ class SafetyRating implements ISafetyRating {
+
+ /**
+ * Constructs a new SafetyRating.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ISafetyRating);
+
+ /** SafetyRating category. */
+ public category: (google.ai.generativelanguage.v1beta2.HarmCategory|keyof typeof google.ai.generativelanguage.v1beta2.HarmCategory);
+
+ /** SafetyRating probability. */
+ public probability: (google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability|keyof typeof google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability);
+
+ /**
+ * Creates a new SafetyRating instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SafetyRating instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ISafetyRating): google.ai.generativelanguage.v1beta2.SafetyRating;
+
+ /**
+ * Encodes the specified SafetyRating message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyRating.verify|verify} messages.
+ * @param message SafetyRating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ISafetyRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SafetyRating message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyRating.verify|verify} messages.
+ * @param message SafetyRating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ISafetyRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SafetyRating message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SafetyRating
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.SafetyRating;
+
+ /**
+ * Decodes a SafetyRating message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SafetyRating
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.SafetyRating;
+
+ /**
+ * Verifies a SafetyRating message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SafetyRating message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SafetyRating
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.SafetyRating;
+
+ /**
+ * Creates a plain object from a SafetyRating message. Also converts values to other types if specified.
+ * @param message SafetyRating
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.SafetyRating, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SafetyRating to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SafetyRating
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SafetyRating {
+
+ /** HarmProbability enum. */
+ enum HarmProbability {
+ HARM_PROBABILITY_UNSPECIFIED = 0,
+ NEGLIGIBLE = 1,
+ LOW = 2,
+ MEDIUM = 3,
+ HIGH = 4
+ }
+ }
+
+ /** Properties of a SafetySetting. */
+ interface ISafetySetting {
+
+ /** SafetySetting category */
+ category?: (google.ai.generativelanguage.v1beta2.HarmCategory|keyof typeof google.ai.generativelanguage.v1beta2.HarmCategory|null);
+
+ /** SafetySetting threshold */
+ threshold?: (google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold|keyof typeof google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold|null);
+ }
+
+ /** Represents a SafetySetting. */
+ class SafetySetting implements ISafetySetting {
+
+ /**
+ * Constructs a new SafetySetting.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ISafetySetting);
+
+ /** SafetySetting category. */
+ public category: (google.ai.generativelanguage.v1beta2.HarmCategory|keyof typeof google.ai.generativelanguage.v1beta2.HarmCategory);
+
+ /** SafetySetting threshold. */
+ public threshold: (google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold|keyof typeof google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold);
+
+ /**
+ * Creates a new SafetySetting instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SafetySetting instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ISafetySetting): google.ai.generativelanguage.v1beta2.SafetySetting;
+
+ /**
+ * Encodes the specified SafetySetting message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetySetting.verify|verify} messages.
+ * @param message SafetySetting message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ISafetySetting, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SafetySetting message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetySetting.verify|verify} messages.
+ * @param message SafetySetting message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ISafetySetting, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SafetySetting message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SafetySetting
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.SafetySetting;
+
+ /**
+ * Decodes a SafetySetting message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SafetySetting
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.SafetySetting;
+
+ /**
+ * Verifies a SafetySetting message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SafetySetting message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SafetySetting
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.SafetySetting;
+
+ /**
+ * Creates a plain object from a SafetySetting message. Also converts values to other types if specified.
+ * @param message SafetySetting
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.SafetySetting, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SafetySetting to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SafetySetting
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SafetySetting {
+
+ /** HarmBlockThreshold enum. */
+ enum HarmBlockThreshold {
+ HARM_BLOCK_THRESHOLD_UNSPECIFIED = 0,
+ BLOCK_LOW_AND_ABOVE = 1,
+ BLOCK_MEDIUM_AND_ABOVE = 2,
+ BLOCK_ONLY_HIGH = 3,
+ BLOCK_NONE = 4
+ }
+ }
+
+ /** Properties of a Model. */
+ interface IModel {
+
+ /** Model name */
+ name?: (string|null);
+
+ /** Model baseModelId */
+ baseModelId?: (string|null);
+
+ /** Model version */
+ version?: (string|null);
+
+ /** Model displayName */
+ displayName?: (string|null);
+
+ /** Model description */
+ description?: (string|null);
+
+ /** Model inputTokenLimit */
+ inputTokenLimit?: (number|null);
+
+ /** Model outputTokenLimit */
+ outputTokenLimit?: (number|null);
+
+ /** Model supportedGenerationMethods */
+ supportedGenerationMethods?: (string[]|null);
+
+ /** Model temperature */
+ temperature?: (number|null);
+
+ /** Model topP */
+ topP?: (number|null);
+
+ /** Model topK */
+ topK?: (number|null);
+ }
+
+ /** Represents a Model. */
+ class Model implements IModel {
+
+ /**
+ * Constructs a new Model.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IModel);
+
+ /** Model name. */
+ public name: string;
+
+ /** Model baseModelId. */
+ public baseModelId: string;
+
+ /** Model version. */
+ public version: string;
+
+ /** Model displayName. */
+ public displayName: string;
+
+ /** Model description. */
+ public description: string;
+
+ /** Model inputTokenLimit. */
+ public inputTokenLimit: number;
+
+ /** Model outputTokenLimit. */
+ public outputTokenLimit: number;
+
+ /** Model supportedGenerationMethods. */
+ public supportedGenerationMethods: string[];
+
+ /** Model temperature. */
+ public temperature?: (number|null);
+
+ /** Model topP. */
+ public topP?: (number|null);
+
+ /** Model topK. */
+ public topK?: (number|null);
+
+ /** Model _temperature. */
+ public _temperature?: "temperature";
+
+ /** Model _topP. */
+ public _topP?: "topP";
+
+ /** Model _topK. */
+ public _topK?: "topK";
+
+ /**
+ * Creates a new Model instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Model instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IModel): google.ai.generativelanguage.v1beta2.Model;
+
+ /**
+ * Encodes the specified Model message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Model message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Model
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.Model;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Model
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.Model;
+
+ /**
+ * Verifies a Model message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Model message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Model
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.Model;
+
+ /**
+ * Creates a plain object from a Model message. Also converts values to other types if specified.
+ * @param message Model
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.Model, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Model to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Model
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a ModelService */
+ class ModelService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ModelService service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new ModelService service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ModelService;
+
+ /**
+ * Calls GetModel.
+ * @param request GetModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public getModel(request: google.ai.generativelanguage.v1beta2.IGetModelRequest, callback: google.ai.generativelanguage.v1beta2.ModelService.GetModelCallback): void;
+
+ /**
+ * Calls GetModel.
+ * @param request GetModelRequest message or plain object
+ * @returns Promise
+ */
+ public getModel(request: google.ai.generativelanguage.v1beta2.IGetModelRequest): Promise;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListModelsResponse
+ */
+ public listModels(request: google.ai.generativelanguage.v1beta2.IListModelsRequest, callback: google.ai.generativelanguage.v1beta2.ModelService.ListModelsCallback): void;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @returns Promise
+ */
+ public listModels(request: google.ai.generativelanguage.v1beta2.IListModelsRequest): Promise;
+ }
+
+ namespace ModelService {
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.ModelService|getModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type GetModelCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.Model) => void;
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.ModelService|listModels}.
+ * @param error Error, if any
+ * @param [response] ListModelsResponse
+ */
+ type ListModelsCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.ListModelsResponse) => void;
+ }
+
+ /** Properties of a GetModelRequest. */
+ interface IGetModelRequest {
+
+ /** GetModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetModelRequest. */
+ class GetModelRequest implements IGetModelRequest {
+
+ /**
+ * Constructs a new GetModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IGetModelRequest);
+
+ /** GetModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetModelRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IGetModelRequest): google.ai.generativelanguage.v1beta2.GetModelRequest;
+
+ /**
+ * Encodes the specified GetModelRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GetModelRequest.verify|verify} messages.
+ * @param message GetModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IGetModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetModelRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GetModelRequest.verify|verify} messages.
+ * @param message GetModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IGetModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetModelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.GetModelRequest;
+
+ /**
+ * Decodes a GetModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetModelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.GetModelRequest;
+
+ /**
+ * Verifies a GetModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.GetModelRequest;
+
+ /**
+ * Creates a plain object from a GetModelRequest message. Also converts values to other types if specified.
+ * @param message GetModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.GetModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsRequest. */
+ interface IListModelsRequest {
+
+ /** ListModelsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListModelsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsRequest. */
+ class ListModelsRequest implements IListModelsRequest {
+
+ /**
+ * Constructs a new ListModelsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IListModelsRequest);
+
+ /** ListModelsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListModelsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListModelsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IListModelsRequest): google.ai.generativelanguage.v1beta2.ListModelsRequest;
+
+ /**
+ * Encodes the specified ListModelsRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.ListModelsRequest;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.ListModelsRequest;
+
+ /**
+ * Verifies a ListModelsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.ListModelsRequest;
+
+ /**
+ * Creates a plain object from a ListModelsRequest message. Also converts values to other types if specified.
+ * @param message ListModelsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.ListModelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsResponse. */
+ interface IListModelsResponse {
+
+ /** ListModelsResponse models */
+ models?: (google.ai.generativelanguage.v1beta2.IModel[]|null);
+
+ /** ListModelsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsResponse. */
+ class ListModelsResponse implements IListModelsResponse {
+
+ /**
+ * Constructs a new ListModelsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IListModelsResponse);
+
+ /** ListModelsResponse models. */
+ public models: google.ai.generativelanguage.v1beta2.IModel[];
+
+ /** ListModelsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListModelsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsResponse instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IListModelsResponse): google.ai.generativelanguage.v1beta2.ListModelsResponse;
+
+ /**
+ * Encodes the specified ListModelsResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.ListModelsResponse;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.ListModelsResponse;
+
+ /**
+ * Verifies a ListModelsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.ListModelsResponse;
+
+ /**
+ * Creates a plain object from a ListModelsResponse message. Also converts values to other types if specified.
+ * @param message ListModelsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.ListModelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a TextService */
+ class TextService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new TextService service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new TextService service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): TextService;
+
+ /**
+ * Calls GenerateText.
+ * @param request GenerateTextRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GenerateTextResponse
+ */
+ public generateText(request: google.ai.generativelanguage.v1beta2.IGenerateTextRequest, callback: google.ai.generativelanguage.v1beta2.TextService.GenerateTextCallback): void;
+
+ /**
+ * Calls GenerateText.
+ * @param request GenerateTextRequest message or plain object
+ * @returns Promise
+ */
+ public generateText(request: google.ai.generativelanguage.v1beta2.IGenerateTextRequest): Promise;
+
+ /**
+ * Calls EmbedText.
+ * @param request EmbedTextRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and EmbedTextResponse
+ */
+ public embedText(request: google.ai.generativelanguage.v1beta2.IEmbedTextRequest, callback: google.ai.generativelanguage.v1beta2.TextService.EmbedTextCallback): void;
+
+ /**
+ * Calls EmbedText.
+ * @param request EmbedTextRequest message or plain object
+ * @returns Promise
+ */
+ public embedText(request: google.ai.generativelanguage.v1beta2.IEmbedTextRequest): Promise;
+ }
+
+ namespace TextService {
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.TextService|generateText}.
+ * @param error Error, if any
+ * @param [response] GenerateTextResponse
+ */
+ type GenerateTextCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.GenerateTextResponse) => void;
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.TextService|embedText}.
+ * @param error Error, if any
+ * @param [response] EmbedTextResponse
+ */
+ type EmbedTextCallback = (error: (Error|null), response?: google.ai.generativelanguage.v1beta2.EmbedTextResponse) => void;
+ }
+
+ /** Properties of a GenerateTextRequest. */
+ interface IGenerateTextRequest {
+
+ /** GenerateTextRequest model */
+ model?: (string|null);
+
+ /** GenerateTextRequest prompt */
+ prompt?: (google.ai.generativelanguage.v1beta2.ITextPrompt|null);
+
+ /** GenerateTextRequest temperature */
+ temperature?: (number|null);
+
+ /** GenerateTextRequest candidateCount */
+ candidateCount?: (number|null);
+
+ /** GenerateTextRequest maxOutputTokens */
+ maxOutputTokens?: (number|null);
+
+ /** GenerateTextRequest topP */
+ topP?: (number|null);
+
+ /** GenerateTextRequest topK */
+ topK?: (number|null);
+
+ /** GenerateTextRequest safetySettings */
+ safetySettings?: (google.ai.generativelanguage.v1beta2.ISafetySetting[]|null);
+
+ /** GenerateTextRequest stopSequences */
+ stopSequences?: (string[]|null);
+ }
+
+ /** Represents a GenerateTextRequest. */
+ class GenerateTextRequest implements IGenerateTextRequest {
+
+ /**
+ * Constructs a new GenerateTextRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IGenerateTextRequest);
+
+ /** GenerateTextRequest model. */
+ public model: string;
+
+ /** GenerateTextRequest prompt. */
+ public prompt?: (google.ai.generativelanguage.v1beta2.ITextPrompt|null);
+
+ /** GenerateTextRequest temperature. */
+ public temperature?: (number|null);
+
+ /** GenerateTextRequest candidateCount. */
+ public candidateCount?: (number|null);
+
+ /** GenerateTextRequest maxOutputTokens. */
+ public maxOutputTokens?: (number|null);
+
+ /** GenerateTextRequest topP. */
+ public topP?: (number|null);
+
+ /** GenerateTextRequest topK. */
+ public topK?: (number|null);
+
+ /** GenerateTextRequest safetySettings. */
+ public safetySettings: google.ai.generativelanguage.v1beta2.ISafetySetting[];
+
+ /** GenerateTextRequest stopSequences. */
+ public stopSequences: string[];
+
+ /** GenerateTextRequest _temperature. */
+ public _temperature?: "temperature";
+
+ /** GenerateTextRequest _candidateCount. */
+ public _candidateCount?: "candidateCount";
+
+ /** GenerateTextRequest _maxOutputTokens. */
+ public _maxOutputTokens?: "maxOutputTokens";
+
+ /** GenerateTextRequest _topP. */
+ public _topP?: "topP";
+
+ /** GenerateTextRequest _topK. */
+ public _topK?: "topK";
+
+ /**
+ * Creates a new GenerateTextRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateTextRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IGenerateTextRequest): google.ai.generativelanguage.v1beta2.GenerateTextRequest;
+
+ /**
+ * Encodes the specified GenerateTextRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextRequest.verify|verify} messages.
+ * @param message GenerateTextRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IGenerateTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateTextRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextRequest.verify|verify} messages.
+ * @param message GenerateTextRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IGenerateTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateTextRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.GenerateTextRequest;
+
+ /**
+ * Decodes a GenerateTextRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.GenerateTextRequest;
+
+ /**
+ * Verifies a GenerateTextRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateTextRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateTextRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.GenerateTextRequest;
+
+ /**
+ * Creates a plain object from a GenerateTextRequest message. Also converts values to other types if specified.
+ * @param message GenerateTextRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.GenerateTextRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateTextRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateTextRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GenerateTextResponse. */
+ interface IGenerateTextResponse {
+
+ /** GenerateTextResponse candidates */
+ candidates?: (google.ai.generativelanguage.v1beta2.ITextCompletion[]|null);
+
+ /** GenerateTextResponse filters */
+ filters?: (google.ai.generativelanguage.v1beta2.IContentFilter[]|null);
+
+ /** GenerateTextResponse safetyFeedback */
+ safetyFeedback?: (google.ai.generativelanguage.v1beta2.ISafetyFeedback[]|null);
+ }
+
+ /** Represents a GenerateTextResponse. */
+ class GenerateTextResponse implements IGenerateTextResponse {
+
+ /**
+ * Constructs a new GenerateTextResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IGenerateTextResponse);
+
+ /** GenerateTextResponse candidates. */
+ public candidates: google.ai.generativelanguage.v1beta2.ITextCompletion[];
+
+ /** GenerateTextResponse filters. */
+ public filters: google.ai.generativelanguage.v1beta2.IContentFilter[];
+
+ /** GenerateTextResponse safetyFeedback. */
+ public safetyFeedback: google.ai.generativelanguage.v1beta2.ISafetyFeedback[];
+
+ /**
+ * Creates a new GenerateTextResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GenerateTextResponse instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IGenerateTextResponse): google.ai.generativelanguage.v1beta2.GenerateTextResponse;
+
+ /**
+ * Encodes the specified GenerateTextResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextResponse.verify|verify} messages.
+ * @param message GenerateTextResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IGenerateTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GenerateTextResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextResponse.verify|verify} messages.
+ * @param message GenerateTextResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IGenerateTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GenerateTextResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GenerateTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.GenerateTextResponse;
+
+ /**
+ * Decodes a GenerateTextResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GenerateTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.GenerateTextResponse;
+
+ /**
+ * Verifies a GenerateTextResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GenerateTextResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GenerateTextResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.GenerateTextResponse;
+
+ /**
+ * Creates a plain object from a GenerateTextResponse message. Also converts values to other types if specified.
+ * @param message GenerateTextResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.GenerateTextResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GenerateTextResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GenerateTextResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextPrompt. */
+ interface ITextPrompt {
+
+ /** TextPrompt text */
+ text?: (string|null);
+ }
+
+ /** Represents a TextPrompt. */
+ class TextPrompt implements ITextPrompt {
+
+ /**
+ * Constructs a new TextPrompt.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ITextPrompt);
+
+ /** TextPrompt text. */
+ public text: string;
+
+ /**
+ * Creates a new TextPrompt instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextPrompt instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ITextPrompt): google.ai.generativelanguage.v1beta2.TextPrompt;
+
+ /**
+ * Encodes the specified TextPrompt message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextPrompt.verify|verify} messages.
+ * @param message TextPrompt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ITextPrompt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextPrompt message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextPrompt.verify|verify} messages.
+ * @param message TextPrompt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ITextPrompt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextPrompt message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextPrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.TextPrompt;
+
+ /**
+ * Decodes a TextPrompt message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextPrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.TextPrompt;
+
+ /**
+ * Verifies a TextPrompt message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextPrompt message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextPrompt
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.TextPrompt;
+
+ /**
+ * Creates a plain object from a TextPrompt message. Also converts values to other types if specified.
+ * @param message TextPrompt
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.TextPrompt, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextPrompt to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextPrompt
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextCompletion. */
+ interface ITextCompletion {
+
+ /** TextCompletion output */
+ output?: (string|null);
+
+ /** TextCompletion safetyRatings */
+ safetyRatings?: (google.ai.generativelanguage.v1beta2.ISafetyRating[]|null);
+
+ /** TextCompletion citationMetadata */
+ citationMetadata?: (google.ai.generativelanguage.v1beta2.ICitationMetadata|null);
+ }
+
+ /** Represents a TextCompletion. */
+ class TextCompletion implements ITextCompletion {
+
+ /**
+ * Constructs a new TextCompletion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.ITextCompletion);
+
+ /** TextCompletion output. */
+ public output: string;
+
+ /** TextCompletion safetyRatings. */
+ public safetyRatings: google.ai.generativelanguage.v1beta2.ISafetyRating[];
+
+ /** TextCompletion citationMetadata. */
+ public citationMetadata?: (google.ai.generativelanguage.v1beta2.ICitationMetadata|null);
+
+ /** TextCompletion _citationMetadata. */
+ public _citationMetadata?: "citationMetadata";
+
+ /**
+ * Creates a new TextCompletion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextCompletion instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.ITextCompletion): google.ai.generativelanguage.v1beta2.TextCompletion;
+
+ /**
+ * Encodes the specified TextCompletion message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextCompletion.verify|verify} messages.
+ * @param message TextCompletion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.ITextCompletion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextCompletion message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextCompletion.verify|verify} messages.
+ * @param message TextCompletion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.ITextCompletion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextCompletion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextCompletion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.TextCompletion;
+
+ /**
+ * Decodes a TextCompletion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextCompletion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.TextCompletion;
+
+ /**
+ * Verifies a TextCompletion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextCompletion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextCompletion
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.TextCompletion;
+
+ /**
+ * Creates a plain object from a TextCompletion message. Also converts values to other types if specified.
+ * @param message TextCompletion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.TextCompletion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextCompletion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextCompletion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EmbedTextRequest. */
+ interface IEmbedTextRequest {
+
+ /** EmbedTextRequest model */
+ model?: (string|null);
+
+ /** EmbedTextRequest text */
+ text?: (string|null);
+ }
+
+ /** Represents an EmbedTextRequest. */
+ class EmbedTextRequest implements IEmbedTextRequest {
+
+ /**
+ * Constructs a new EmbedTextRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IEmbedTextRequest);
+
+ /** EmbedTextRequest model. */
+ public model: string;
+
+ /** EmbedTextRequest text. */
+ public text: string;
+
+ /**
+ * Creates a new EmbedTextRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EmbedTextRequest instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IEmbedTextRequest): google.ai.generativelanguage.v1beta2.EmbedTextRequest;
+
+ /**
+ * Encodes the specified EmbedTextRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextRequest.verify|verify} messages.
+ * @param message EmbedTextRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IEmbedTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EmbedTextRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextRequest.verify|verify} messages.
+ * @param message EmbedTextRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IEmbedTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EmbedTextRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EmbedTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.EmbedTextRequest;
+
+ /**
+ * Decodes an EmbedTextRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EmbedTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.EmbedTextRequest;
+
+ /**
+ * Verifies an EmbedTextRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EmbedTextRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EmbedTextRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.EmbedTextRequest;
+
+ /**
+ * Creates a plain object from an EmbedTextRequest message. Also converts values to other types if specified.
+ * @param message EmbedTextRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.EmbedTextRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EmbedTextRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EmbedTextRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EmbedTextResponse. */
+ interface IEmbedTextResponse {
+
+ /** EmbedTextResponse embedding */
+ embedding?: (google.ai.generativelanguage.v1beta2.IEmbedding|null);
+ }
+
+ /** Represents an EmbedTextResponse. */
+ class EmbedTextResponse implements IEmbedTextResponse {
+
+ /**
+ * Constructs a new EmbedTextResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IEmbedTextResponse);
+
+ /** EmbedTextResponse embedding. */
+ public embedding?: (google.ai.generativelanguage.v1beta2.IEmbedding|null);
+
+ /** EmbedTextResponse _embedding. */
+ public _embedding?: "embedding";
+
+ /**
+ * Creates a new EmbedTextResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EmbedTextResponse instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IEmbedTextResponse): google.ai.generativelanguage.v1beta2.EmbedTextResponse;
+
+ /**
+ * Encodes the specified EmbedTextResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextResponse.verify|verify} messages.
+ * @param message EmbedTextResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IEmbedTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EmbedTextResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextResponse.verify|verify} messages.
+ * @param message EmbedTextResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IEmbedTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EmbedTextResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EmbedTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.EmbedTextResponse;
+
+ /**
+ * Decodes an EmbedTextResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EmbedTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.EmbedTextResponse;
+
+ /**
+ * Verifies an EmbedTextResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EmbedTextResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EmbedTextResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.EmbedTextResponse;
+
+ /**
+ * Creates a plain object from an EmbedTextResponse message. Also converts values to other types if specified.
+ * @param message EmbedTextResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.EmbedTextResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EmbedTextResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EmbedTextResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Embedding. */
+ interface IEmbedding {
+
+ /** Embedding value */
+ value?: (number[]|null);
+ }
+
+ /** Represents an Embedding. */
+ class Embedding implements IEmbedding {
+
+ /**
+ * Constructs a new Embedding.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.ai.generativelanguage.v1beta2.IEmbedding);
+
+ /** Embedding value. */
+ public value: number[];
+
+ /**
+ * Creates a new Embedding instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Embedding instance
+ */
+ public static create(properties?: google.ai.generativelanguage.v1beta2.IEmbedding): google.ai.generativelanguage.v1beta2.Embedding;
+
+ /**
+ * Encodes the specified Embedding message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Embedding.verify|verify} messages.
+ * @param message Embedding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.ai.generativelanguage.v1beta2.IEmbedding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Embedding message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Embedding.verify|verify} messages.
+ * @param message Embedding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.ai.generativelanguage.v1beta2.IEmbedding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Embedding message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Embedding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.ai.generativelanguage.v1beta2.Embedding;
+
+ /**
+ * Decodes an Embedding message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Embedding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.ai.generativelanguage.v1beta2.Embedding;
+
+ /**
+ * Verifies an Embedding message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Embedding message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Embedding
+ */
+ public static fromObject(object: { [k: string]: any }): google.ai.generativelanguage.v1beta2.Embedding;
+
+ /**
+ * Creates a plain object from an Embedding message. Also converts values to other types if specified.
+ * @param message Embedding
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.ai.generativelanguage.v1beta2.Embedding, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Embedding to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Embedding
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+ }
+}
diff --git a/packages/google-ai-generativelanguage/protos/protos.js b/packages/google-ai-generativelanguage/protos/protos.js
new file mode 100644
index 00000000000..af3afab1ab4
--- /dev/null
+++ b/packages/google-ai-generativelanguage/protos/protos.js
@@ -0,0 +1,18332 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
+(function(global, factory) { /* global define, require, module */
+
+ /* AMD */ if (typeof define === 'function' && define.amd)
+ define(["protobufjs/minimal"], factory);
+
+ /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports)
+ module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal);
+
+})(this, function($protobuf) {
+ "use strict";
+
+ // Common aliases
+ var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
+
+ // Exported root namespace
+ var $root = $protobuf.roots._google_ai_generativelanguage_protos || ($protobuf.roots._google_ai_generativelanguage_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.ai = (function() {
+
+ /**
+ * Namespace ai.
+ * @memberof google
+ * @namespace
+ */
+ var ai = {};
+
+ ai.generativelanguage = (function() {
+
+ /**
+ * Namespace generativelanguage.
+ * @memberof google.ai
+ * @namespace
+ */
+ var generativelanguage = {};
+
+ generativelanguage.v1beta2 = (function() {
+
+ /**
+ * Namespace v1beta2.
+ * @memberof google.ai.generativelanguage
+ * @namespace
+ */
+ var v1beta2 = {};
+
+ v1beta2.CitationMetadata = (function() {
+
+ /**
+ * Properties of a CitationMetadata.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ICitationMetadata
+ * @property {Array.|null} [citationSources] CitationMetadata citationSources
+ */
+
+ /**
+ * Constructs a new CitationMetadata.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a CitationMetadata.
+ * @implements ICitationMetadata
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ICitationMetadata=} [properties] Properties to set
+ */
+ function CitationMetadata(properties) {
+ this.citationSources = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CitationMetadata citationSources.
+ * @member {Array.} citationSources
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @instance
+ */
+ CitationMetadata.prototype.citationSources = $util.emptyArray;
+
+ /**
+ * Creates a new CitationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationMetadata=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.CitationMetadata} CitationMetadata instance
+ */
+ CitationMetadata.create = function create(properties) {
+ return new CitationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified CitationMetadata message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationMetadata} message CitationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CitationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.citationSources != null && message.citationSources.length)
+ for (var i = 0; i < message.citationSources.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.CitationSource.encode(message.citationSources[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CitationMetadata message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationMetadata} message CitationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CitationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CitationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.CitationMetadata} CitationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CitationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.CitationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.citationSources && message.citationSources.length))
+ message.citationSources = [];
+ message.citationSources.push($root.google.ai.generativelanguage.v1beta2.CitationSource.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CitationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.CitationMetadata} CitationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CitationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CitationMetadata message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CitationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.citationSources != null && message.hasOwnProperty("citationSources")) {
+ if (!Array.isArray(message.citationSources))
+ return "citationSources: array expected";
+ for (var i = 0; i < message.citationSources.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.CitationSource.verify(message.citationSources[i]);
+ if (error)
+ return "citationSources." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CitationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.CitationMetadata} CitationMetadata
+ */
+ CitationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.CitationMetadata)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.CitationMetadata();
+ if (object.citationSources) {
+ if (!Array.isArray(object.citationSources))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.CitationMetadata.citationSources: array expected");
+ message.citationSources = [];
+ for (var i = 0; i < object.citationSources.length; ++i) {
+ if (typeof object.citationSources[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.CitationMetadata.citationSources: object expected");
+ message.citationSources[i] = $root.google.ai.generativelanguage.v1beta2.CitationSource.fromObject(object.citationSources[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CitationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.CitationMetadata} message CitationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CitationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.citationSources = [];
+ if (message.citationSources && message.citationSources.length) {
+ object.citationSources = [];
+ for (var j = 0; j < message.citationSources.length; ++j)
+ object.citationSources[j] = $root.google.ai.generativelanguage.v1beta2.CitationSource.toObject(message.citationSources[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CitationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CitationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CitationMetadata
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.CitationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CitationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.CitationMetadata";
+ };
+
+ return CitationMetadata;
+ })();
+
+ v1beta2.CitationSource = (function() {
+
+ /**
+ * Properties of a CitationSource.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ICitationSource
+ * @property {number|null} [startIndex] CitationSource startIndex
+ * @property {number|null} [endIndex] CitationSource endIndex
+ * @property {string|null} [uri] CitationSource uri
+ * @property {string|null} [license] CitationSource license
+ */
+
+ /**
+ * Constructs a new CitationSource.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a CitationSource.
+ * @implements ICitationSource
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ICitationSource=} [properties] Properties to set
+ */
+ function CitationSource(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CitationSource startIndex.
+ * @member {number|null|undefined} startIndex
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ CitationSource.prototype.startIndex = null;
+
+ /**
+ * CitationSource endIndex.
+ * @member {number|null|undefined} endIndex
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ CitationSource.prototype.endIndex = null;
+
+ /**
+ * CitationSource uri.
+ * @member {string|null|undefined} uri
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ CitationSource.prototype.uri = null;
+
+ /**
+ * CitationSource license.
+ * @member {string|null|undefined} license
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ CitationSource.prototype.license = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CitationSource _startIndex.
+ * @member {"startIndex"|undefined} _startIndex
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ Object.defineProperty(CitationSource.prototype, "_startIndex", {
+ get: $util.oneOfGetter($oneOfFields = ["startIndex"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CitationSource _endIndex.
+ * @member {"endIndex"|undefined} _endIndex
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ Object.defineProperty(CitationSource.prototype, "_endIndex", {
+ get: $util.oneOfGetter($oneOfFields = ["endIndex"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CitationSource _uri.
+ * @member {"uri"|undefined} _uri
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ Object.defineProperty(CitationSource.prototype, "_uri", {
+ get: $util.oneOfGetter($oneOfFields = ["uri"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CitationSource _license.
+ * @member {"license"|undefined} _license
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ */
+ Object.defineProperty(CitationSource.prototype, "_license", {
+ get: $util.oneOfGetter($oneOfFields = ["license"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CitationSource instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationSource=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.CitationSource} CitationSource instance
+ */
+ CitationSource.create = function create(properties) {
+ return new CitationSource(properties);
+ };
+
+ /**
+ * Encodes the specified CitationSource message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationSource.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationSource} message CitationSource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CitationSource.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startIndex != null && Object.hasOwnProperty.call(message, "startIndex"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.startIndex);
+ if (message.endIndex != null && Object.hasOwnProperty.call(message, "endIndex"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.endIndex);
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.uri);
+ if (message.license != null && Object.hasOwnProperty.call(message, "license"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.license);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CitationSource message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CitationSource.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICitationSource} message CitationSource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CitationSource.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CitationSource message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.CitationSource} CitationSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CitationSource.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.CitationSource();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startIndex = reader.int32();
+ break;
+ }
+ case 2: {
+ message.endIndex = reader.int32();
+ break;
+ }
+ case 3: {
+ message.uri = reader.string();
+ break;
+ }
+ case 4: {
+ message.license = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CitationSource message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.CitationSource} CitationSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CitationSource.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CitationSource message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CitationSource.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
+ properties._startIndex = 1;
+ if (!$util.isInteger(message.startIndex))
+ return "startIndex: integer expected";
+ }
+ if (message.endIndex != null && message.hasOwnProperty("endIndex")) {
+ properties._endIndex = 1;
+ if (!$util.isInteger(message.endIndex))
+ return "endIndex: integer expected";
+ }
+ if (message.uri != null && message.hasOwnProperty("uri")) {
+ properties._uri = 1;
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ }
+ if (message.license != null && message.hasOwnProperty("license")) {
+ properties._license = 1;
+ if (!$util.isString(message.license))
+ return "license: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CitationSource message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.CitationSource} CitationSource
+ */
+ CitationSource.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.CitationSource)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.CitationSource();
+ if (object.startIndex != null)
+ message.startIndex = object.startIndex | 0;
+ if (object.endIndex != null)
+ message.endIndex = object.endIndex | 0;
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ if (object.license != null)
+ message.license = String(object.license);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CitationSource message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.CitationSource} message CitationSource
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CitationSource.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
+ object.startIndex = message.startIndex;
+ if (options.oneofs)
+ object._startIndex = "startIndex";
+ }
+ if (message.endIndex != null && message.hasOwnProperty("endIndex")) {
+ object.endIndex = message.endIndex;
+ if (options.oneofs)
+ object._endIndex = "endIndex";
+ }
+ if (message.uri != null && message.hasOwnProperty("uri")) {
+ object.uri = message.uri;
+ if (options.oneofs)
+ object._uri = "uri";
+ }
+ if (message.license != null && message.hasOwnProperty("license")) {
+ object.license = message.license;
+ if (options.oneofs)
+ object._license = "license";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CitationSource to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CitationSource.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CitationSource
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.CitationSource
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CitationSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.CitationSource";
+ };
+
+ return CitationSource;
+ })();
+
+ v1beta2.DiscussService = (function() {
+
+ /**
+ * Constructs a new DiscussService service.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a DiscussService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function DiscussService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (DiscussService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DiscussService;
+
+ /**
+ * Creates new DiscussService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {DiscussService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ DiscussService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.DiscussService|generateMessage}.
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @typedef GenerateMessageCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} [response] GenerateMessageResponse
+ */
+
+ /**
+ * Calls GenerateMessage.
+ * @function generateMessage
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest} request GenerateMessageRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.DiscussService.GenerateMessageCallback} callback Node-style callback called with the error, if any, and GenerateMessageResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DiscussService.prototype.generateMessage = function generateMessage(request, callback) {
+ return this.rpcCall(generateMessage, $root.google.ai.generativelanguage.v1beta2.GenerateMessageRequest, $root.google.ai.generativelanguage.v1beta2.GenerateMessageResponse, request, callback);
+ }, "name", { value: "GenerateMessage" });
+
+ /**
+ * Calls GenerateMessage.
+ * @function generateMessage
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest} request GenerateMessageRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.DiscussService|countMessageTokens}.
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @typedef CountMessageTokensCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} [response] CountMessageTokensResponse
+ */
+
+ /**
+ * Calls CountMessageTokens.
+ * @function countMessageTokens
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest} request CountMessageTokensRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.DiscussService.CountMessageTokensCallback} callback Node-style callback called with the error, if any, and CountMessageTokensResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DiscussService.prototype.countMessageTokens = function countMessageTokens(request, callback) {
+ return this.rpcCall(countMessageTokens, $root.google.ai.generativelanguage.v1beta2.CountMessageTokensRequest, $root.google.ai.generativelanguage.v1beta2.CountMessageTokensResponse, request, callback);
+ }, "name", { value: "CountMessageTokens" });
+
+ /**
+ * Calls CountMessageTokens.
+ * @function countMessageTokens
+ * @memberof google.ai.generativelanguage.v1beta2.DiscussService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest} request CountMessageTokensRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return DiscussService;
+ })();
+
+ v1beta2.GenerateMessageRequest = (function() {
+
+ /**
+ * Properties of a GenerateMessageRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IGenerateMessageRequest
+ * @property {string|null} [model] GenerateMessageRequest model
+ * @property {google.ai.generativelanguage.v1beta2.IMessagePrompt|null} [prompt] GenerateMessageRequest prompt
+ * @property {number|null} [temperature] GenerateMessageRequest temperature
+ * @property {number|null} [candidateCount] GenerateMessageRequest candidateCount
+ * @property {number|null} [topP] GenerateMessageRequest topP
+ * @property {number|null} [topK] GenerateMessageRequest topK
+ */
+
+ /**
+ * Constructs a new GenerateMessageRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a GenerateMessageRequest.
+ * @implements IGenerateMessageRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest=} [properties] Properties to set
+ */
+ function GenerateMessageRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GenerateMessageRequest model.
+ * @member {string} model
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.model = "";
+
+ /**
+ * GenerateMessageRequest prompt.
+ * @member {google.ai.generativelanguage.v1beta2.IMessagePrompt|null|undefined} prompt
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.prompt = null;
+
+ /**
+ * GenerateMessageRequest temperature.
+ * @member {number|null|undefined} temperature
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.temperature = null;
+
+ /**
+ * GenerateMessageRequest candidateCount.
+ * @member {number|null|undefined} candidateCount
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.candidateCount = null;
+
+ /**
+ * GenerateMessageRequest topP.
+ * @member {number|null|undefined} topP
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.topP = null;
+
+ /**
+ * GenerateMessageRequest topK.
+ * @member {number|null|undefined} topK
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ GenerateMessageRequest.prototype.topK = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * GenerateMessageRequest _temperature.
+ * @member {"temperature"|undefined} _temperature
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateMessageRequest.prototype, "_temperature", {
+ get: $util.oneOfGetter($oneOfFields = ["temperature"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateMessageRequest _candidateCount.
+ * @member {"candidateCount"|undefined} _candidateCount
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateMessageRequest.prototype, "_candidateCount", {
+ get: $util.oneOfGetter($oneOfFields = ["candidateCount"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateMessageRequest _topP.
+ * @member {"topP"|undefined} _topP
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateMessageRequest.prototype, "_topP", {
+ get: $util.oneOfGetter($oneOfFields = ["topP"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateMessageRequest _topK.
+ * @member {"topK"|undefined} _topK
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateMessageRequest.prototype, "_topK", {
+ get: $util.oneOfGetter($oneOfFields = ["topK"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new GenerateMessageRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageRequest} GenerateMessageRequest instance
+ */
+ GenerateMessageRequest.create = function create(properties) {
+ return new GenerateMessageRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GenerateMessageRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest} message GenerateMessageRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateMessageRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ if (message.prompt != null && Object.hasOwnProperty.call(message, "prompt"))
+ $root.google.ai.generativelanguage.v1beta2.MessagePrompt.encode(message.prompt, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.temperature != null && Object.hasOwnProperty.call(message, "temperature"))
+ writer.uint32(/* id 3, wireType 5 =*/29).float(message.temperature);
+ if (message.candidateCount != null && Object.hasOwnProperty.call(message, "candidateCount"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.candidateCount);
+ if (message.topP != null && Object.hasOwnProperty.call(message, "topP"))
+ writer.uint32(/* id 5, wireType 5 =*/45).float(message.topP);
+ if (message.topK != null && Object.hasOwnProperty.call(message, "topK"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.topK);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GenerateMessageRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageRequest} message GenerateMessageRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateMessageRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GenerateMessageRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageRequest} GenerateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateMessageRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.GenerateMessageRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ case 2: {
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.temperature = reader.float();
+ break;
+ }
+ case 4: {
+ message.candidateCount = reader.int32();
+ break;
+ }
+ case 5: {
+ message.topP = reader.float();
+ break;
+ }
+ case 6: {
+ message.topK = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GenerateMessageRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageRequest} GenerateMessageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateMessageRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GenerateMessageRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GenerateMessageRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.prompt != null && message.hasOwnProperty("prompt")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.verify(message.prompt);
+ if (error)
+ return "prompt." + error;
+ }
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ properties._temperature = 1;
+ if (typeof message.temperature !== "number")
+ return "temperature: number expected";
+ }
+ if (message.candidateCount != null && message.hasOwnProperty("candidateCount")) {
+ properties._candidateCount = 1;
+ if (!$util.isInteger(message.candidateCount))
+ return "candidateCount: integer expected";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ properties._topP = 1;
+ if (typeof message.topP !== "number")
+ return "topP: number expected";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ properties._topK = 1;
+ if (!$util.isInteger(message.topK))
+ return "topK: integer expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GenerateMessageRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageRequest} GenerateMessageRequest
+ */
+ GenerateMessageRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.GenerateMessageRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.GenerateMessageRequest();
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.prompt != null) {
+ if (typeof object.prompt !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageRequest.prompt: object expected");
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.fromObject(object.prompt);
+ }
+ if (object.temperature != null)
+ message.temperature = Number(object.temperature);
+ if (object.candidateCount != null)
+ message.candidateCount = object.candidateCount | 0;
+ if (object.topP != null)
+ message.topP = Number(object.topP);
+ if (object.topK != null)
+ message.topK = object.topK | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GenerateMessageRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.GenerateMessageRequest} message GenerateMessageRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GenerateMessageRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.model = "";
+ object.prompt = null;
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.prompt != null && message.hasOwnProperty("prompt"))
+ object.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.toObject(message.prompt, options);
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ object.temperature = options.json && !isFinite(message.temperature) ? String(message.temperature) : message.temperature;
+ if (options.oneofs)
+ object._temperature = "temperature";
+ }
+ if (message.candidateCount != null && message.hasOwnProperty("candidateCount")) {
+ object.candidateCount = message.candidateCount;
+ if (options.oneofs)
+ object._candidateCount = "candidateCount";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ object.topP = options.json && !isFinite(message.topP) ? String(message.topP) : message.topP;
+ if (options.oneofs)
+ object._topP = "topP";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ object.topK = message.topK;
+ if (options.oneofs)
+ object._topK = "topK";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GenerateMessageRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GenerateMessageRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GenerateMessageRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GenerateMessageRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.GenerateMessageRequest";
+ };
+
+ return GenerateMessageRequest;
+ })();
+
+ v1beta2.GenerateMessageResponse = (function() {
+
+ /**
+ * Properties of a GenerateMessageResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IGenerateMessageResponse
+ * @property {Array.|null} [candidates] GenerateMessageResponse candidates
+ * @property {Array.|null} [messages] GenerateMessageResponse messages
+ * @property {Array.|null} [filters] GenerateMessageResponse filters
+ */
+
+ /**
+ * Constructs a new GenerateMessageResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a GenerateMessageResponse.
+ * @implements IGenerateMessageResponse
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageResponse=} [properties] Properties to set
+ */
+ function GenerateMessageResponse(properties) {
+ this.candidates = [];
+ this.messages = [];
+ this.filters = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GenerateMessageResponse candidates.
+ * @member {Array.} candidates
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @instance
+ */
+ GenerateMessageResponse.prototype.candidates = $util.emptyArray;
+
+ /**
+ * GenerateMessageResponse messages.
+ * @member {Array.} messages
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @instance
+ */
+ GenerateMessageResponse.prototype.messages = $util.emptyArray;
+
+ /**
+ * GenerateMessageResponse filters.
+ * @member {Array.} filters
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @instance
+ */
+ GenerateMessageResponse.prototype.filters = $util.emptyArray;
+
+ /**
+ * Creates a new GenerateMessageResponse instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageResponse=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} GenerateMessageResponse instance
+ */
+ GenerateMessageResponse.create = function create(properties) {
+ return new GenerateMessageResponse(properties);
+ };
+
+ /**
+ * Encodes the specified GenerateMessageResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageResponse} message GenerateMessageResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateMessageResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.candidates != null && message.candidates.length)
+ for (var i = 0; i < message.candidates.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.Message.encode(message.candidates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.messages != null && message.messages.length)
+ for (var i = 0; i < message.messages.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.Message.encode(message.messages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.filters != null && message.filters.length)
+ for (var i = 0; i < message.filters.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.ContentFilter.encode(message.filters[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GenerateMessageResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateMessageResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateMessageResponse} message GenerateMessageResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateMessageResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GenerateMessageResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} GenerateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateMessageResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.GenerateMessageResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.candidates && message.candidates.length))
+ message.candidates = [];
+ message.candidates.push($root.google.ai.generativelanguage.v1beta2.Message.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ if (!(message.messages && message.messages.length))
+ message.messages = [];
+ message.messages.push($root.google.ai.generativelanguage.v1beta2.Message.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.filters && message.filters.length))
+ message.filters = [];
+ message.filters.push($root.google.ai.generativelanguage.v1beta2.ContentFilter.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GenerateMessageResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} GenerateMessageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateMessageResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GenerateMessageResponse message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GenerateMessageResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.candidates != null && message.hasOwnProperty("candidates")) {
+ if (!Array.isArray(message.candidates))
+ return "candidates: array expected";
+ for (var i = 0; i < message.candidates.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Message.verify(message.candidates[i]);
+ if (error)
+ return "candidates." + error;
+ }
+ }
+ if (message.messages != null && message.hasOwnProperty("messages")) {
+ if (!Array.isArray(message.messages))
+ return "messages: array expected";
+ for (var i = 0; i < message.messages.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Message.verify(message.messages[i]);
+ if (error)
+ return "messages." + error;
+ }
+ }
+ if (message.filters != null && message.hasOwnProperty("filters")) {
+ if (!Array.isArray(message.filters))
+ return "filters: array expected";
+ for (var i = 0; i < message.filters.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.ContentFilter.verify(message.filters[i]);
+ if (error)
+ return "filters." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GenerateMessageResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} GenerateMessageResponse
+ */
+ GenerateMessageResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.GenerateMessageResponse)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.GenerateMessageResponse();
+ if (object.candidates) {
+ if (!Array.isArray(object.candidates))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.candidates: array expected");
+ message.candidates = [];
+ for (var i = 0; i < object.candidates.length; ++i) {
+ if (typeof object.candidates[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.candidates: object expected");
+ message.candidates[i] = $root.google.ai.generativelanguage.v1beta2.Message.fromObject(object.candidates[i]);
+ }
+ }
+ if (object.messages) {
+ if (!Array.isArray(object.messages))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.messages: array expected");
+ message.messages = [];
+ for (var i = 0; i < object.messages.length; ++i) {
+ if (typeof object.messages[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.messages: object expected");
+ message.messages[i] = $root.google.ai.generativelanguage.v1beta2.Message.fromObject(object.messages[i]);
+ }
+ }
+ if (object.filters) {
+ if (!Array.isArray(object.filters))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.filters: array expected");
+ message.filters = [];
+ for (var i = 0; i < object.filters.length; ++i) {
+ if (typeof object.filters[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateMessageResponse.filters: object expected");
+ message.filters[i] = $root.google.ai.generativelanguage.v1beta2.ContentFilter.fromObject(object.filters[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GenerateMessageResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.GenerateMessageResponse} message GenerateMessageResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GenerateMessageResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.candidates = [];
+ object.messages = [];
+ object.filters = [];
+ }
+ if (message.candidates && message.candidates.length) {
+ object.candidates = [];
+ for (var j = 0; j < message.candidates.length; ++j)
+ object.candidates[j] = $root.google.ai.generativelanguage.v1beta2.Message.toObject(message.candidates[j], options);
+ }
+ if (message.messages && message.messages.length) {
+ object.messages = [];
+ for (var j = 0; j < message.messages.length; ++j)
+ object.messages[j] = $root.google.ai.generativelanguage.v1beta2.Message.toObject(message.messages[j], options);
+ }
+ if (message.filters && message.filters.length) {
+ object.filters = [];
+ for (var j = 0; j < message.filters.length; ++j)
+ object.filters[j] = $root.google.ai.generativelanguage.v1beta2.ContentFilter.toObject(message.filters[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GenerateMessageResponse to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GenerateMessageResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GenerateMessageResponse
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateMessageResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GenerateMessageResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.GenerateMessageResponse";
+ };
+
+ return GenerateMessageResponse;
+ })();
+
+ v1beta2.Message = (function() {
+
+ /**
+ * Properties of a Message.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IMessage
+ * @property {string|null} [author] Message author
+ * @property {string|null} [content] Message content
+ * @property {google.ai.generativelanguage.v1beta2.ICitationMetadata|null} [citationMetadata] Message citationMetadata
+ */
+
+ /**
+ * Constructs a new Message.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a Message.
+ * @implements IMessage
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IMessage=} [properties] Properties to set
+ */
+ function Message(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Message author.
+ * @member {string} author
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @instance
+ */
+ Message.prototype.author = "";
+
+ /**
+ * Message content.
+ * @member {string} content
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @instance
+ */
+ Message.prototype.content = "";
+
+ /**
+ * Message citationMetadata.
+ * @member {google.ai.generativelanguage.v1beta2.ICitationMetadata|null|undefined} citationMetadata
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @instance
+ */
+ Message.prototype.citationMetadata = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Message _citationMetadata.
+ * @member {"citationMetadata"|undefined} _citationMetadata
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @instance
+ */
+ Object.defineProperty(Message.prototype, "_citationMetadata", {
+ get: $util.oneOfGetter($oneOfFields = ["citationMetadata"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Message instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessage=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.Message} Message instance
+ */
+ Message.create = function create(properties) {
+ return new Message(properties);
+ };
+
+ /**
+ * Encodes the specified Message message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Message.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessage} message Message message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Message.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.author != null && Object.hasOwnProperty.call(message, "author"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.author);
+ if (message.content != null && Object.hasOwnProperty.call(message, "content"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.content);
+ if (message.citationMetadata != null && Object.hasOwnProperty.call(message, "citationMetadata"))
+ $root.google.ai.generativelanguage.v1beta2.CitationMetadata.encode(message.citationMetadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Message message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Message.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessage} message Message message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Message.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Message message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.Message} Message
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Message.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.Message();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.author = reader.string();
+ break;
+ }
+ case 2: {
+ message.content = reader.string();
+ break;
+ }
+ case 3: {
+ message.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Message message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.Message} Message
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Message.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Message message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Message.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.author != null && message.hasOwnProperty("author"))
+ if (!$util.isString(message.author))
+ return "author: string expected";
+ if (message.content != null && message.hasOwnProperty("content"))
+ if (!$util.isString(message.content))
+ return "content: string expected";
+ if (message.citationMetadata != null && message.hasOwnProperty("citationMetadata")) {
+ properties._citationMetadata = 1;
+ {
+ var error = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.verify(message.citationMetadata);
+ if (error)
+ return "citationMetadata." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Message message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.Message} Message
+ */
+ Message.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.Message)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.Message();
+ if (object.author != null)
+ message.author = String(object.author);
+ if (object.content != null)
+ message.content = String(object.content);
+ if (object.citationMetadata != null) {
+ if (typeof object.citationMetadata !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.Message.citationMetadata: object expected");
+ message.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.fromObject(object.citationMetadata);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Message message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.Message} message Message
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Message.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.author = "";
+ object.content = "";
+ }
+ if (message.author != null && message.hasOwnProperty("author"))
+ object.author = message.author;
+ if (message.content != null && message.hasOwnProperty("content"))
+ object.content = message.content;
+ if (message.citationMetadata != null && message.hasOwnProperty("citationMetadata")) {
+ object.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.toObject(message.citationMetadata, options);
+ if (options.oneofs)
+ object._citationMetadata = "citationMetadata";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Message to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Message.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Message
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.Message
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Message.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.Message";
+ };
+
+ return Message;
+ })();
+
+ v1beta2.MessagePrompt = (function() {
+
+ /**
+ * Properties of a MessagePrompt.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IMessagePrompt
+ * @property {string|null} [context] MessagePrompt context
+ * @property {Array.|null} [examples] MessagePrompt examples
+ * @property {Array.|null} [messages] MessagePrompt messages
+ */
+
+ /**
+ * Constructs a new MessagePrompt.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a MessagePrompt.
+ * @implements IMessagePrompt
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IMessagePrompt=} [properties] Properties to set
+ */
+ function MessagePrompt(properties) {
+ this.examples = [];
+ this.messages = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MessagePrompt context.
+ * @member {string} context
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @instance
+ */
+ MessagePrompt.prototype.context = "";
+
+ /**
+ * MessagePrompt examples.
+ * @member {Array.} examples
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @instance
+ */
+ MessagePrompt.prototype.examples = $util.emptyArray;
+
+ /**
+ * MessagePrompt messages.
+ * @member {Array.} messages
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @instance
+ */
+ MessagePrompt.prototype.messages = $util.emptyArray;
+
+ /**
+ * Creates a new MessagePrompt instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessagePrompt=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.MessagePrompt} MessagePrompt instance
+ */
+ MessagePrompt.create = function create(properties) {
+ return new MessagePrompt(properties);
+ };
+
+ /**
+ * Encodes the specified MessagePrompt message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.MessagePrompt.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessagePrompt} message MessagePrompt message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessagePrompt.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.context != null && Object.hasOwnProperty.call(message, "context"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.context);
+ if (message.examples != null && message.examples.length)
+ for (var i = 0; i < message.examples.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.Example.encode(message.examples[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.messages != null && message.messages.length)
+ for (var i = 0; i < message.messages.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.Message.encode(message.messages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MessagePrompt message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.MessagePrompt.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IMessagePrompt} message MessagePrompt message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MessagePrompt.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MessagePrompt message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.MessagePrompt} MessagePrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessagePrompt.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.MessagePrompt();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.context = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.examples && message.examples.length))
+ message.examples = [];
+ message.examples.push($root.google.ai.generativelanguage.v1beta2.Example.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.messages && message.messages.length))
+ message.messages = [];
+ message.messages.push($root.google.ai.generativelanguage.v1beta2.Message.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MessagePrompt message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.MessagePrompt} MessagePrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MessagePrompt.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MessagePrompt message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MessagePrompt.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.context != null && message.hasOwnProperty("context"))
+ if (!$util.isString(message.context))
+ return "context: string expected";
+ if (message.examples != null && message.hasOwnProperty("examples")) {
+ if (!Array.isArray(message.examples))
+ return "examples: array expected";
+ for (var i = 0; i < message.examples.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Example.verify(message.examples[i]);
+ if (error)
+ return "examples." + error;
+ }
+ }
+ if (message.messages != null && message.hasOwnProperty("messages")) {
+ if (!Array.isArray(message.messages))
+ return "messages: array expected";
+ for (var i = 0; i < message.messages.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Message.verify(message.messages[i]);
+ if (error)
+ return "messages." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MessagePrompt message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.MessagePrompt} MessagePrompt
+ */
+ MessagePrompt.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.MessagePrompt)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.MessagePrompt();
+ if (object.context != null)
+ message.context = String(object.context);
+ if (object.examples) {
+ if (!Array.isArray(object.examples))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.MessagePrompt.examples: array expected");
+ message.examples = [];
+ for (var i = 0; i < object.examples.length; ++i) {
+ if (typeof object.examples[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.MessagePrompt.examples: object expected");
+ message.examples[i] = $root.google.ai.generativelanguage.v1beta2.Example.fromObject(object.examples[i]);
+ }
+ }
+ if (object.messages) {
+ if (!Array.isArray(object.messages))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.MessagePrompt.messages: array expected");
+ message.messages = [];
+ for (var i = 0; i < object.messages.length; ++i) {
+ if (typeof object.messages[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.MessagePrompt.messages: object expected");
+ message.messages[i] = $root.google.ai.generativelanguage.v1beta2.Message.fromObject(object.messages[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MessagePrompt message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.MessagePrompt} message MessagePrompt
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MessagePrompt.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.examples = [];
+ object.messages = [];
+ }
+ if (options.defaults)
+ object.context = "";
+ if (message.context != null && message.hasOwnProperty("context"))
+ object.context = message.context;
+ if (message.examples && message.examples.length) {
+ object.examples = [];
+ for (var j = 0; j < message.examples.length; ++j)
+ object.examples[j] = $root.google.ai.generativelanguage.v1beta2.Example.toObject(message.examples[j], options);
+ }
+ if (message.messages && message.messages.length) {
+ object.messages = [];
+ for (var j = 0; j < message.messages.length; ++j)
+ object.messages[j] = $root.google.ai.generativelanguage.v1beta2.Message.toObject(message.messages[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MessagePrompt to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MessagePrompt.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MessagePrompt
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.MessagePrompt
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MessagePrompt.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.MessagePrompt";
+ };
+
+ return MessagePrompt;
+ })();
+
+ v1beta2.Example = (function() {
+
+ /**
+ * Properties of an Example.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IExample
+ * @property {google.ai.generativelanguage.v1beta2.IMessage|null} [input] Example input
+ * @property {google.ai.generativelanguage.v1beta2.IMessage|null} [output] Example output
+ */
+
+ /**
+ * Constructs a new Example.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents an Example.
+ * @implements IExample
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IExample=} [properties] Properties to set
+ */
+ function Example(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Example input.
+ * @member {google.ai.generativelanguage.v1beta2.IMessage|null|undefined} input
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @instance
+ */
+ Example.prototype.input = null;
+
+ /**
+ * Example output.
+ * @member {google.ai.generativelanguage.v1beta2.IMessage|null|undefined} output
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @instance
+ */
+ Example.prototype.output = null;
+
+ /**
+ * Creates a new Example instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IExample=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.Example} Example instance
+ */
+ Example.create = function create(properties) {
+ return new Example(properties);
+ };
+
+ /**
+ * Encodes the specified Example message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Example.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IExample} message Example message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Example.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.input != null && Object.hasOwnProperty.call(message, "input"))
+ $root.google.ai.generativelanguage.v1beta2.Message.encode(message.input, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.output != null && Object.hasOwnProperty.call(message, "output"))
+ $root.google.ai.generativelanguage.v1beta2.Message.encode(message.output, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Example message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Example.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IExample} message Example message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Example.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Example message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.Example} Example
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Example.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.Example();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.input = $root.google.ai.generativelanguage.v1beta2.Message.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.output = $root.google.ai.generativelanguage.v1beta2.Message.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Example message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.Example} Example
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Example.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Example message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Example.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.input != null && message.hasOwnProperty("input")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Message.verify(message.input);
+ if (error)
+ return "input." + error;
+ }
+ if (message.output != null && message.hasOwnProperty("output")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Message.verify(message.output);
+ if (error)
+ return "output." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Example message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.Example} Example
+ */
+ Example.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.Example)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.Example();
+ if (object.input != null) {
+ if (typeof object.input !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.Example.input: object expected");
+ message.input = $root.google.ai.generativelanguage.v1beta2.Message.fromObject(object.input);
+ }
+ if (object.output != null) {
+ if (typeof object.output !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.Example.output: object expected");
+ message.output = $root.google.ai.generativelanguage.v1beta2.Message.fromObject(object.output);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Example message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.Example} message Example
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Example.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.input = null;
+ object.output = null;
+ }
+ if (message.input != null && message.hasOwnProperty("input"))
+ object.input = $root.google.ai.generativelanguage.v1beta2.Message.toObject(message.input, options);
+ if (message.output != null && message.hasOwnProperty("output"))
+ object.output = $root.google.ai.generativelanguage.v1beta2.Message.toObject(message.output, options);
+ return object;
+ };
+
+ /**
+ * Converts this Example to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Example.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Example
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.Example
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Example.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.Example";
+ };
+
+ return Example;
+ })();
+
+ v1beta2.CountMessageTokensRequest = (function() {
+
+ /**
+ * Properties of a CountMessageTokensRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ICountMessageTokensRequest
+ * @property {string|null} [model] CountMessageTokensRequest model
+ * @property {google.ai.generativelanguage.v1beta2.IMessagePrompt|null} [prompt] CountMessageTokensRequest prompt
+ */
+
+ /**
+ * Constructs a new CountMessageTokensRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a CountMessageTokensRequest.
+ * @implements ICountMessageTokensRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest=} [properties] Properties to set
+ */
+ function CountMessageTokensRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CountMessageTokensRequest model.
+ * @member {string} model
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @instance
+ */
+ CountMessageTokensRequest.prototype.model = "";
+
+ /**
+ * CountMessageTokensRequest prompt.
+ * @member {google.ai.generativelanguage.v1beta2.IMessagePrompt|null|undefined} prompt
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @instance
+ */
+ CountMessageTokensRequest.prototype.prompt = null;
+
+ /**
+ * Creates a new CountMessageTokensRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensRequest} CountMessageTokensRequest instance
+ */
+ CountMessageTokensRequest.create = function create(properties) {
+ return new CountMessageTokensRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CountMessageTokensRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest} message CountMessageTokensRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CountMessageTokensRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ if (message.prompt != null && Object.hasOwnProperty.call(message, "prompt"))
+ $root.google.ai.generativelanguage.v1beta2.MessagePrompt.encode(message.prompt, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CountMessageTokensRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensRequest} message CountMessageTokensRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CountMessageTokensRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CountMessageTokensRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensRequest} CountMessageTokensRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CountMessageTokensRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.CountMessageTokensRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ case 2: {
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CountMessageTokensRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensRequest} CountMessageTokensRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CountMessageTokensRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CountMessageTokensRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CountMessageTokensRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.prompt != null && message.hasOwnProperty("prompt")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.verify(message.prompt);
+ if (error)
+ return "prompt." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CountMessageTokensRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensRequest} CountMessageTokensRequest
+ */
+ CountMessageTokensRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.CountMessageTokensRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.CountMessageTokensRequest();
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.prompt != null) {
+ if (typeof object.prompt !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.CountMessageTokensRequest.prompt: object expected");
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.fromObject(object.prompt);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CountMessageTokensRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.CountMessageTokensRequest} message CountMessageTokensRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CountMessageTokensRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.model = "";
+ object.prompt = null;
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.prompt != null && message.hasOwnProperty("prompt"))
+ object.prompt = $root.google.ai.generativelanguage.v1beta2.MessagePrompt.toObject(message.prompt, options);
+ return object;
+ };
+
+ /**
+ * Converts this CountMessageTokensRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CountMessageTokensRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CountMessageTokensRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CountMessageTokensRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.CountMessageTokensRequest";
+ };
+
+ return CountMessageTokensRequest;
+ })();
+
+ v1beta2.CountMessageTokensResponse = (function() {
+
+ /**
+ * Properties of a CountMessageTokensResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ICountMessageTokensResponse
+ * @property {number|null} [tokenCount] CountMessageTokensResponse tokenCount
+ */
+
+ /**
+ * Constructs a new CountMessageTokensResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a CountMessageTokensResponse.
+ * @implements ICountMessageTokensResponse
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse=} [properties] Properties to set
+ */
+ function CountMessageTokensResponse(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CountMessageTokensResponse tokenCount.
+ * @member {number} tokenCount
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @instance
+ */
+ CountMessageTokensResponse.prototype.tokenCount = 0;
+
+ /**
+ * Creates a new CountMessageTokensResponse instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} CountMessageTokensResponse instance
+ */
+ CountMessageTokensResponse.create = function create(properties) {
+ return new CountMessageTokensResponse(properties);
+ };
+
+ /**
+ * Encodes the specified CountMessageTokensResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse} message CountMessageTokensResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CountMessageTokensResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tokenCount != null && Object.hasOwnProperty.call(message, "tokenCount"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.tokenCount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CountMessageTokensResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.CountMessageTokensResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ICountMessageTokensResponse} message CountMessageTokensResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CountMessageTokensResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CountMessageTokensResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} CountMessageTokensResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CountMessageTokensResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.CountMessageTokensResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.tokenCount = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CountMessageTokensResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} CountMessageTokensResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CountMessageTokensResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CountMessageTokensResponse message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CountMessageTokensResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tokenCount != null && message.hasOwnProperty("tokenCount"))
+ if (!$util.isInteger(message.tokenCount))
+ return "tokenCount: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a CountMessageTokensResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} CountMessageTokensResponse
+ */
+ CountMessageTokensResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.CountMessageTokensResponse)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.CountMessageTokensResponse();
+ if (object.tokenCount != null)
+ message.tokenCount = object.tokenCount | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CountMessageTokensResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.CountMessageTokensResponse} message CountMessageTokensResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CountMessageTokensResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.tokenCount = 0;
+ if (message.tokenCount != null && message.hasOwnProperty("tokenCount"))
+ object.tokenCount = message.tokenCount;
+ return object;
+ };
+
+ /**
+ * Converts this CountMessageTokensResponse to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CountMessageTokensResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CountMessageTokensResponse
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.CountMessageTokensResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CountMessageTokensResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.CountMessageTokensResponse";
+ };
+
+ return CountMessageTokensResponse;
+ })();
+
+ /**
+ * HarmCategory enum.
+ * @name google.ai.generativelanguage.v1beta2.HarmCategory
+ * @enum {number}
+ * @property {number} HARM_CATEGORY_UNSPECIFIED=0 HARM_CATEGORY_UNSPECIFIED value
+ * @property {number} HARM_CATEGORY_DEROGATORY=1 HARM_CATEGORY_DEROGATORY value
+ * @property {number} HARM_CATEGORY_TOXICITY=2 HARM_CATEGORY_TOXICITY value
+ * @property {number} HARM_CATEGORY_VIOLENCE=3 HARM_CATEGORY_VIOLENCE value
+ * @property {number} HARM_CATEGORY_SEXUAL=4 HARM_CATEGORY_SEXUAL value
+ * @property {number} HARM_CATEGORY_MEDICAL=5 HARM_CATEGORY_MEDICAL value
+ * @property {number} HARM_CATEGORY_DANGEROUS=6 HARM_CATEGORY_DANGEROUS value
+ */
+ v1beta2.HarmCategory = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HARM_CATEGORY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HARM_CATEGORY_DEROGATORY"] = 1;
+ values[valuesById[2] = "HARM_CATEGORY_TOXICITY"] = 2;
+ values[valuesById[3] = "HARM_CATEGORY_VIOLENCE"] = 3;
+ values[valuesById[4] = "HARM_CATEGORY_SEXUAL"] = 4;
+ values[valuesById[5] = "HARM_CATEGORY_MEDICAL"] = 5;
+ values[valuesById[6] = "HARM_CATEGORY_DANGEROUS"] = 6;
+ return values;
+ })();
+
+ v1beta2.ContentFilter = (function() {
+
+ /**
+ * Properties of a ContentFilter.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IContentFilter
+ * @property {google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason|null} [reason] ContentFilter reason
+ * @property {string|null} [message] ContentFilter message
+ */
+
+ /**
+ * Constructs a new ContentFilter.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a ContentFilter.
+ * @implements IContentFilter
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IContentFilter=} [properties] Properties to set
+ */
+ function ContentFilter(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ContentFilter reason.
+ * @member {google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason} reason
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @instance
+ */
+ ContentFilter.prototype.reason = 0;
+
+ /**
+ * ContentFilter message.
+ * @member {string|null|undefined} message
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @instance
+ */
+ ContentFilter.prototype.message = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ContentFilter _message.
+ * @member {"message"|undefined} _message
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @instance
+ */
+ Object.defineProperty(ContentFilter.prototype, "_message", {
+ get: $util.oneOfGetter($oneOfFields = ["message"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ContentFilter instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IContentFilter=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.ContentFilter} ContentFilter instance
+ */
+ ContentFilter.create = function create(properties) {
+ return new ContentFilter(properties);
+ };
+
+ /**
+ * Encodes the specified ContentFilter message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ContentFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IContentFilter} message ContentFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContentFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reason != null && Object.hasOwnProperty.call(message, "reason"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.reason);
+ if (message.message != null && Object.hasOwnProperty.call(message, "message"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.message);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContentFilter message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ContentFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IContentFilter} message ContentFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContentFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContentFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.ContentFilter} ContentFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContentFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.ContentFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reason = reader.int32();
+ break;
+ }
+ case 2: {
+ message.message = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContentFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.ContentFilter} ContentFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContentFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContentFilter message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContentFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.reason != null && message.hasOwnProperty("reason"))
+ switch (message.reason) {
+ default:
+ return "reason: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.message != null && message.hasOwnProperty("message")) {
+ properties._message = 1;
+ if (!$util.isString(message.message))
+ return "message: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ContentFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.ContentFilter} ContentFilter
+ */
+ ContentFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.ContentFilter)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.ContentFilter();
+ switch (object.reason) {
+ default:
+ if (typeof object.reason === "number") {
+ message.reason = object.reason;
+ break;
+ }
+ break;
+ case "BLOCKED_REASON_UNSPECIFIED":
+ case 0:
+ message.reason = 0;
+ break;
+ case "SAFETY":
+ case 1:
+ message.reason = 1;
+ break;
+ case "OTHER":
+ case 2:
+ message.reason = 2;
+ break;
+ }
+ if (object.message != null)
+ message.message = String(object.message);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContentFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ContentFilter} message ContentFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContentFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.reason = options.enums === String ? "BLOCKED_REASON_UNSPECIFIED" : 0;
+ if (message.reason != null && message.hasOwnProperty("reason"))
+ object.reason = options.enums === String ? $root.google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason[message.reason] === undefined ? message.reason : $root.google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason[message.reason] : message.reason;
+ if (message.message != null && message.hasOwnProperty("message")) {
+ object.message = message.message;
+ if (options.oneofs)
+ object._message = "message";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ContentFilter to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContentFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContentFilter
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.ContentFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContentFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.ContentFilter";
+ };
+
+ /**
+ * BlockedReason enum.
+ * @name google.ai.generativelanguage.v1beta2.ContentFilter.BlockedReason
+ * @enum {number}
+ * @property {number} BLOCKED_REASON_UNSPECIFIED=0 BLOCKED_REASON_UNSPECIFIED value
+ * @property {number} SAFETY=1 SAFETY value
+ * @property {number} OTHER=2 OTHER value
+ */
+ ContentFilter.BlockedReason = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "BLOCKED_REASON_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SAFETY"] = 1;
+ values[valuesById[2] = "OTHER"] = 2;
+ return values;
+ })();
+
+ return ContentFilter;
+ })();
+
+ v1beta2.SafetyFeedback = (function() {
+
+ /**
+ * Properties of a SafetyFeedback.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ISafetyFeedback
+ * @property {google.ai.generativelanguage.v1beta2.ISafetyRating|null} [rating] SafetyFeedback rating
+ * @property {google.ai.generativelanguage.v1beta2.ISafetySetting|null} [setting] SafetyFeedback setting
+ */
+
+ /**
+ * Constructs a new SafetyFeedback.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a SafetyFeedback.
+ * @implements ISafetyFeedback
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyFeedback=} [properties] Properties to set
+ */
+ function SafetyFeedback(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SafetyFeedback rating.
+ * @member {google.ai.generativelanguage.v1beta2.ISafetyRating|null|undefined} rating
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @instance
+ */
+ SafetyFeedback.prototype.rating = null;
+
+ /**
+ * SafetyFeedback setting.
+ * @member {google.ai.generativelanguage.v1beta2.ISafetySetting|null|undefined} setting
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @instance
+ */
+ SafetyFeedback.prototype.setting = null;
+
+ /**
+ * Creates a new SafetyFeedback instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyFeedback=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyFeedback} SafetyFeedback instance
+ */
+ SafetyFeedback.create = function create(properties) {
+ return new SafetyFeedback(properties);
+ };
+
+ /**
+ * Encodes the specified SafetyFeedback message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyFeedback.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyFeedback} message SafetyFeedback message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetyFeedback.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rating != null && Object.hasOwnProperty.call(message, "rating"))
+ $root.google.ai.generativelanguage.v1beta2.SafetyRating.encode(message.rating, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.setting != null && Object.hasOwnProperty.call(message, "setting"))
+ $root.google.ai.generativelanguage.v1beta2.SafetySetting.encode(message.setting, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SafetyFeedback message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyFeedback.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyFeedback} message SafetyFeedback message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetyFeedback.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SafetyFeedback message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyFeedback} SafetyFeedback
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetyFeedback.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.SafetyFeedback();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.rating = $root.google.ai.generativelanguage.v1beta2.SafetyRating.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.setting = $root.google.ai.generativelanguage.v1beta2.SafetySetting.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SafetyFeedback message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyFeedback} SafetyFeedback
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetyFeedback.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SafetyFeedback message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SafetyFeedback.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rating != null && message.hasOwnProperty("rating")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.SafetyRating.verify(message.rating);
+ if (error)
+ return "rating." + error;
+ }
+ if (message.setting != null && message.hasOwnProperty("setting")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.SafetySetting.verify(message.setting);
+ if (error)
+ return "setting." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SafetyFeedback message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyFeedback} SafetyFeedback
+ */
+ SafetyFeedback.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.SafetyFeedback)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.SafetyFeedback();
+ if (object.rating != null) {
+ if (typeof object.rating !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.SafetyFeedback.rating: object expected");
+ message.rating = $root.google.ai.generativelanguage.v1beta2.SafetyRating.fromObject(object.rating);
+ }
+ if (object.setting != null) {
+ if (typeof object.setting !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.SafetyFeedback.setting: object expected");
+ message.setting = $root.google.ai.generativelanguage.v1beta2.SafetySetting.fromObject(object.setting);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SafetyFeedback message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.SafetyFeedback} message SafetyFeedback
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SafetyFeedback.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.rating = null;
+ object.setting = null;
+ }
+ if (message.rating != null && message.hasOwnProperty("rating"))
+ object.rating = $root.google.ai.generativelanguage.v1beta2.SafetyRating.toObject(message.rating, options);
+ if (message.setting != null && message.hasOwnProperty("setting"))
+ object.setting = $root.google.ai.generativelanguage.v1beta2.SafetySetting.toObject(message.setting, options);
+ return object;
+ };
+
+ /**
+ * Converts this SafetyFeedback to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SafetyFeedback.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SafetyFeedback
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyFeedback
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SafetyFeedback.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.SafetyFeedback";
+ };
+
+ return SafetyFeedback;
+ })();
+
+ v1beta2.SafetyRating = (function() {
+
+ /**
+ * Properties of a SafetyRating.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ISafetyRating
+ * @property {google.ai.generativelanguage.v1beta2.HarmCategory|null} [category] SafetyRating category
+ * @property {google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability|null} [probability] SafetyRating probability
+ */
+
+ /**
+ * Constructs a new SafetyRating.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a SafetyRating.
+ * @implements ISafetyRating
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyRating=} [properties] Properties to set
+ */
+ function SafetyRating(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SafetyRating category.
+ * @member {google.ai.generativelanguage.v1beta2.HarmCategory} category
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @instance
+ */
+ SafetyRating.prototype.category = 0;
+
+ /**
+ * SafetyRating probability.
+ * @member {google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability} probability
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @instance
+ */
+ SafetyRating.prototype.probability = 0;
+
+ /**
+ * Creates a new SafetyRating instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyRating=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyRating} SafetyRating instance
+ */
+ SafetyRating.create = function create(properties) {
+ return new SafetyRating(properties);
+ };
+
+ /**
+ * Encodes the specified SafetyRating message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyRating.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyRating} message SafetyRating message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetyRating.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.category != null && Object.hasOwnProperty.call(message, "category"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.category);
+ if (message.probability != null && Object.hasOwnProperty.call(message, "probability"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.probability);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SafetyRating message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetyRating.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetyRating} message SafetyRating message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetyRating.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SafetyRating message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyRating} SafetyRating
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetyRating.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.SafetyRating();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.category = reader.int32();
+ break;
+ }
+ case 4: {
+ message.probability = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SafetyRating message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyRating} SafetyRating
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetyRating.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SafetyRating message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SafetyRating.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.category != null && message.hasOwnProperty("category"))
+ switch (message.category) {
+ default:
+ return "category: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.probability != null && message.hasOwnProperty("probability"))
+ switch (message.probability) {
+ default:
+ return "probability: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SafetyRating message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.SafetyRating} SafetyRating
+ */
+ SafetyRating.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.SafetyRating)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.SafetyRating();
+ switch (object.category) {
+ default:
+ if (typeof object.category === "number") {
+ message.category = object.category;
+ break;
+ }
+ break;
+ case "HARM_CATEGORY_UNSPECIFIED":
+ case 0:
+ message.category = 0;
+ break;
+ case "HARM_CATEGORY_DEROGATORY":
+ case 1:
+ message.category = 1;
+ break;
+ case "HARM_CATEGORY_TOXICITY":
+ case 2:
+ message.category = 2;
+ break;
+ case "HARM_CATEGORY_VIOLENCE":
+ case 3:
+ message.category = 3;
+ break;
+ case "HARM_CATEGORY_SEXUAL":
+ case 4:
+ message.category = 4;
+ break;
+ case "HARM_CATEGORY_MEDICAL":
+ case 5:
+ message.category = 5;
+ break;
+ case "HARM_CATEGORY_DANGEROUS":
+ case 6:
+ message.category = 6;
+ break;
+ }
+ switch (object.probability) {
+ default:
+ if (typeof object.probability === "number") {
+ message.probability = object.probability;
+ break;
+ }
+ break;
+ case "HARM_PROBABILITY_UNSPECIFIED":
+ case 0:
+ message.probability = 0;
+ break;
+ case "NEGLIGIBLE":
+ case 1:
+ message.probability = 1;
+ break;
+ case "LOW":
+ case 2:
+ message.probability = 2;
+ break;
+ case "MEDIUM":
+ case 3:
+ message.probability = 3;
+ break;
+ case "HIGH":
+ case 4:
+ message.probability = 4;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SafetyRating message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.SafetyRating} message SafetyRating
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SafetyRating.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.category = options.enums === String ? "HARM_CATEGORY_UNSPECIFIED" : 0;
+ object.probability = options.enums === String ? "HARM_PROBABILITY_UNSPECIFIED" : 0;
+ }
+ if (message.category != null && message.hasOwnProperty("category"))
+ object.category = options.enums === String ? $root.google.ai.generativelanguage.v1beta2.HarmCategory[message.category] === undefined ? message.category : $root.google.ai.generativelanguage.v1beta2.HarmCategory[message.category] : message.category;
+ if (message.probability != null && message.hasOwnProperty("probability"))
+ object.probability = options.enums === String ? $root.google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability[message.probability] === undefined ? message.probability : $root.google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability[message.probability] : message.probability;
+ return object;
+ };
+
+ /**
+ * Converts this SafetyRating to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SafetyRating.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SafetyRating
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.SafetyRating
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SafetyRating.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.SafetyRating";
+ };
+
+ /**
+ * HarmProbability enum.
+ * @name google.ai.generativelanguage.v1beta2.SafetyRating.HarmProbability
+ * @enum {number}
+ * @property {number} HARM_PROBABILITY_UNSPECIFIED=0 HARM_PROBABILITY_UNSPECIFIED value
+ * @property {number} NEGLIGIBLE=1 NEGLIGIBLE value
+ * @property {number} LOW=2 LOW value
+ * @property {number} MEDIUM=3 MEDIUM value
+ * @property {number} HIGH=4 HIGH value
+ */
+ SafetyRating.HarmProbability = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HARM_PROBABILITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "NEGLIGIBLE"] = 1;
+ values[valuesById[2] = "LOW"] = 2;
+ values[valuesById[3] = "MEDIUM"] = 3;
+ values[valuesById[4] = "HIGH"] = 4;
+ return values;
+ })();
+
+ return SafetyRating;
+ })();
+
+ v1beta2.SafetySetting = (function() {
+
+ /**
+ * Properties of a SafetySetting.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ISafetySetting
+ * @property {google.ai.generativelanguage.v1beta2.HarmCategory|null} [category] SafetySetting category
+ * @property {google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold|null} [threshold] SafetySetting threshold
+ */
+
+ /**
+ * Constructs a new SafetySetting.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a SafetySetting.
+ * @implements ISafetySetting
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ISafetySetting=} [properties] Properties to set
+ */
+ function SafetySetting(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SafetySetting category.
+ * @member {google.ai.generativelanguage.v1beta2.HarmCategory} category
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @instance
+ */
+ SafetySetting.prototype.category = 0;
+
+ /**
+ * SafetySetting threshold.
+ * @member {google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold} threshold
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @instance
+ */
+ SafetySetting.prototype.threshold = 0;
+
+ /**
+ * Creates a new SafetySetting instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetySetting=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.SafetySetting} SafetySetting instance
+ */
+ SafetySetting.create = function create(properties) {
+ return new SafetySetting(properties);
+ };
+
+ /**
+ * Encodes the specified SafetySetting message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetySetting.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetySetting} message SafetySetting message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetySetting.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.category != null && Object.hasOwnProperty.call(message, "category"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.category);
+ if (message.threshold != null && Object.hasOwnProperty.call(message, "threshold"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.threshold);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SafetySetting message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.SafetySetting.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ISafetySetting} message SafetySetting message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SafetySetting.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SafetySetting message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.SafetySetting} SafetySetting
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetySetting.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.SafetySetting();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.category = reader.int32();
+ break;
+ }
+ case 4: {
+ message.threshold = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SafetySetting message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.SafetySetting} SafetySetting
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SafetySetting.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SafetySetting message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SafetySetting.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.category != null && message.hasOwnProperty("category"))
+ switch (message.category) {
+ default:
+ return "category: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.threshold != null && message.hasOwnProperty("threshold"))
+ switch (message.threshold) {
+ default:
+ return "threshold: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SafetySetting message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.SafetySetting} SafetySetting
+ */
+ SafetySetting.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.SafetySetting)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.SafetySetting();
+ switch (object.category) {
+ default:
+ if (typeof object.category === "number") {
+ message.category = object.category;
+ break;
+ }
+ break;
+ case "HARM_CATEGORY_UNSPECIFIED":
+ case 0:
+ message.category = 0;
+ break;
+ case "HARM_CATEGORY_DEROGATORY":
+ case 1:
+ message.category = 1;
+ break;
+ case "HARM_CATEGORY_TOXICITY":
+ case 2:
+ message.category = 2;
+ break;
+ case "HARM_CATEGORY_VIOLENCE":
+ case 3:
+ message.category = 3;
+ break;
+ case "HARM_CATEGORY_SEXUAL":
+ case 4:
+ message.category = 4;
+ break;
+ case "HARM_CATEGORY_MEDICAL":
+ case 5:
+ message.category = 5;
+ break;
+ case "HARM_CATEGORY_DANGEROUS":
+ case 6:
+ message.category = 6;
+ break;
+ }
+ switch (object.threshold) {
+ default:
+ if (typeof object.threshold === "number") {
+ message.threshold = object.threshold;
+ break;
+ }
+ break;
+ case "HARM_BLOCK_THRESHOLD_UNSPECIFIED":
+ case 0:
+ message.threshold = 0;
+ break;
+ case "BLOCK_LOW_AND_ABOVE":
+ case 1:
+ message.threshold = 1;
+ break;
+ case "BLOCK_MEDIUM_AND_ABOVE":
+ case 2:
+ message.threshold = 2;
+ break;
+ case "BLOCK_ONLY_HIGH":
+ case 3:
+ message.threshold = 3;
+ break;
+ case "BLOCK_NONE":
+ case 4:
+ message.threshold = 4;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SafetySetting message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.SafetySetting} message SafetySetting
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SafetySetting.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.category = options.enums === String ? "HARM_CATEGORY_UNSPECIFIED" : 0;
+ object.threshold = options.enums === String ? "HARM_BLOCK_THRESHOLD_UNSPECIFIED" : 0;
+ }
+ if (message.category != null && message.hasOwnProperty("category"))
+ object.category = options.enums === String ? $root.google.ai.generativelanguage.v1beta2.HarmCategory[message.category] === undefined ? message.category : $root.google.ai.generativelanguage.v1beta2.HarmCategory[message.category] : message.category;
+ if (message.threshold != null && message.hasOwnProperty("threshold"))
+ object.threshold = options.enums === String ? $root.google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold[message.threshold] === undefined ? message.threshold : $root.google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold[message.threshold] : message.threshold;
+ return object;
+ };
+
+ /**
+ * Converts this SafetySetting to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SafetySetting.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SafetySetting
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.SafetySetting
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SafetySetting.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.SafetySetting";
+ };
+
+ /**
+ * HarmBlockThreshold enum.
+ * @name google.ai.generativelanguage.v1beta2.SafetySetting.HarmBlockThreshold
+ * @enum {number}
+ * @property {number} HARM_BLOCK_THRESHOLD_UNSPECIFIED=0 HARM_BLOCK_THRESHOLD_UNSPECIFIED value
+ * @property {number} BLOCK_LOW_AND_ABOVE=1 BLOCK_LOW_AND_ABOVE value
+ * @property {number} BLOCK_MEDIUM_AND_ABOVE=2 BLOCK_MEDIUM_AND_ABOVE value
+ * @property {number} BLOCK_ONLY_HIGH=3 BLOCK_ONLY_HIGH value
+ * @property {number} BLOCK_NONE=4 BLOCK_NONE value
+ */
+ SafetySetting.HarmBlockThreshold = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HARM_BLOCK_THRESHOLD_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "BLOCK_LOW_AND_ABOVE"] = 1;
+ values[valuesById[2] = "BLOCK_MEDIUM_AND_ABOVE"] = 2;
+ values[valuesById[3] = "BLOCK_ONLY_HIGH"] = 3;
+ values[valuesById[4] = "BLOCK_NONE"] = 4;
+ return values;
+ })();
+
+ return SafetySetting;
+ })();
+
+ v1beta2.Model = (function() {
+
+ /**
+ * Properties of a Model.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IModel
+ * @property {string|null} [name] Model name
+ * @property {string|null} [baseModelId] Model baseModelId
+ * @property {string|null} [version] Model version
+ * @property {string|null} [displayName] Model displayName
+ * @property {string|null} [description] Model description
+ * @property {number|null} [inputTokenLimit] Model inputTokenLimit
+ * @property {number|null} [outputTokenLimit] Model outputTokenLimit
+ * @property {Array.|null} [supportedGenerationMethods] Model supportedGenerationMethods
+ * @property {number|null} [temperature] Model temperature
+ * @property {number|null} [topP] Model topP
+ * @property {number|null} [topK] Model topK
+ */
+
+ /**
+ * Constructs a new Model.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a Model.
+ * @implements IModel
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IModel=} [properties] Properties to set
+ */
+ function Model(properties) {
+ this.supportedGenerationMethods = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Model name.
+ * @member {string} name
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.name = "";
+
+ /**
+ * Model baseModelId.
+ * @member {string} baseModelId
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.baseModelId = "";
+
+ /**
+ * Model version.
+ * @member {string} version
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.version = "";
+
+ /**
+ * Model displayName.
+ * @member {string} displayName
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.displayName = "";
+
+ /**
+ * Model description.
+ * @member {string} description
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.description = "";
+
+ /**
+ * Model inputTokenLimit.
+ * @member {number} inputTokenLimit
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.inputTokenLimit = 0;
+
+ /**
+ * Model outputTokenLimit.
+ * @member {number} outputTokenLimit
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.outputTokenLimit = 0;
+
+ /**
+ * Model supportedGenerationMethods.
+ * @member {Array.} supportedGenerationMethods
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.supportedGenerationMethods = $util.emptyArray;
+
+ /**
+ * Model temperature.
+ * @member {number|null|undefined} temperature
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.temperature = null;
+
+ /**
+ * Model topP.
+ * @member {number|null|undefined} topP
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.topP = null;
+
+ /**
+ * Model topK.
+ * @member {number|null|undefined} topK
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Model.prototype.topK = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Model _temperature.
+ * @member {"temperature"|undefined} _temperature
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Object.defineProperty(Model.prototype, "_temperature", {
+ get: $util.oneOfGetter($oneOfFields = ["temperature"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Model _topP.
+ * @member {"topP"|undefined} _topP
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Object.defineProperty(Model.prototype, "_topP", {
+ get: $util.oneOfGetter($oneOfFields = ["topP"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Model _topK.
+ * @member {"topK"|undefined} _topK
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ */
+ Object.defineProperty(Model.prototype, "_topK", {
+ get: $util.oneOfGetter($oneOfFields = ["topK"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Model instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IModel=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.Model} Model instance
+ */
+ Model.create = function create(properties) {
+ return new Model(properties);
+ };
+
+ /**
+ * Encodes the specified Model message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Model.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IModel} message Model message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Model.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.baseModelId != null && Object.hasOwnProperty.call(message, "baseModelId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.baseModelId);
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.version);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.displayName);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.inputTokenLimit != null && Object.hasOwnProperty.call(message, "inputTokenLimit"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.inputTokenLimit);
+ if (message.outputTokenLimit != null && Object.hasOwnProperty.call(message, "outputTokenLimit"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.outputTokenLimit);
+ if (message.supportedGenerationMethods != null && message.supportedGenerationMethods.length)
+ for (var i = 0; i < message.supportedGenerationMethods.length; ++i)
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.supportedGenerationMethods[i]);
+ if (message.temperature != null && Object.hasOwnProperty.call(message, "temperature"))
+ writer.uint32(/* id 9, wireType 5 =*/77).float(message.temperature);
+ if (message.topP != null && Object.hasOwnProperty.call(message, "topP"))
+ writer.uint32(/* id 10, wireType 5 =*/85).float(message.topP);
+ if (message.topK != null && Object.hasOwnProperty.call(message, "topK"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.topK);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Model message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Model.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IModel} message Model message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Model.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Model message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.Model} Model
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Model.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.Model();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.baseModelId = reader.string();
+ break;
+ }
+ case 3: {
+ message.version = reader.string();
+ break;
+ }
+ case 4: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.inputTokenLimit = reader.int32();
+ break;
+ }
+ case 7: {
+ message.outputTokenLimit = reader.int32();
+ break;
+ }
+ case 8: {
+ if (!(message.supportedGenerationMethods && message.supportedGenerationMethods.length))
+ message.supportedGenerationMethods = [];
+ message.supportedGenerationMethods.push(reader.string());
+ break;
+ }
+ case 9: {
+ message.temperature = reader.float();
+ break;
+ }
+ case 10: {
+ message.topP = reader.float();
+ break;
+ }
+ case 11: {
+ message.topK = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Model message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.Model} Model
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Model.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Model message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Model.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.baseModelId != null && message.hasOwnProperty("baseModelId"))
+ if (!$util.isString(message.baseModelId))
+ return "baseModelId: string expected";
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.inputTokenLimit != null && message.hasOwnProperty("inputTokenLimit"))
+ if (!$util.isInteger(message.inputTokenLimit))
+ return "inputTokenLimit: integer expected";
+ if (message.outputTokenLimit != null && message.hasOwnProperty("outputTokenLimit"))
+ if (!$util.isInteger(message.outputTokenLimit))
+ return "outputTokenLimit: integer expected";
+ if (message.supportedGenerationMethods != null && message.hasOwnProperty("supportedGenerationMethods")) {
+ if (!Array.isArray(message.supportedGenerationMethods))
+ return "supportedGenerationMethods: array expected";
+ for (var i = 0; i < message.supportedGenerationMethods.length; ++i)
+ if (!$util.isString(message.supportedGenerationMethods[i]))
+ return "supportedGenerationMethods: string[] expected";
+ }
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ properties._temperature = 1;
+ if (typeof message.temperature !== "number")
+ return "temperature: number expected";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ properties._topP = 1;
+ if (typeof message.topP !== "number")
+ return "topP: number expected";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ properties._topK = 1;
+ if (!$util.isInteger(message.topK))
+ return "topK: integer expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Model message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.Model} Model
+ */
+ Model.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.Model)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.Model();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.baseModelId != null)
+ message.baseModelId = String(object.baseModelId);
+ if (object.version != null)
+ message.version = String(object.version);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.inputTokenLimit != null)
+ message.inputTokenLimit = object.inputTokenLimit | 0;
+ if (object.outputTokenLimit != null)
+ message.outputTokenLimit = object.outputTokenLimit | 0;
+ if (object.supportedGenerationMethods) {
+ if (!Array.isArray(object.supportedGenerationMethods))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.Model.supportedGenerationMethods: array expected");
+ message.supportedGenerationMethods = [];
+ for (var i = 0; i < object.supportedGenerationMethods.length; ++i)
+ message.supportedGenerationMethods[i] = String(object.supportedGenerationMethods[i]);
+ }
+ if (object.temperature != null)
+ message.temperature = Number(object.temperature);
+ if (object.topP != null)
+ message.topP = Number(object.topP);
+ if (object.topK != null)
+ message.topK = object.topK | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Model message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.Model} message Model
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Model.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.supportedGenerationMethods = [];
+ if (options.defaults) {
+ object.name = "";
+ object.baseModelId = "";
+ object.version = "";
+ object.displayName = "";
+ object.description = "";
+ object.inputTokenLimit = 0;
+ object.outputTokenLimit = 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.baseModelId != null && message.hasOwnProperty("baseModelId"))
+ object.baseModelId = message.baseModelId;
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.inputTokenLimit != null && message.hasOwnProperty("inputTokenLimit"))
+ object.inputTokenLimit = message.inputTokenLimit;
+ if (message.outputTokenLimit != null && message.hasOwnProperty("outputTokenLimit"))
+ object.outputTokenLimit = message.outputTokenLimit;
+ if (message.supportedGenerationMethods && message.supportedGenerationMethods.length) {
+ object.supportedGenerationMethods = [];
+ for (var j = 0; j < message.supportedGenerationMethods.length; ++j)
+ object.supportedGenerationMethods[j] = message.supportedGenerationMethods[j];
+ }
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ object.temperature = options.json && !isFinite(message.temperature) ? String(message.temperature) : message.temperature;
+ if (options.oneofs)
+ object._temperature = "temperature";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ object.topP = options.json && !isFinite(message.topP) ? String(message.topP) : message.topP;
+ if (options.oneofs)
+ object._topP = "topP";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ object.topK = message.topK;
+ if (options.oneofs)
+ object._topK = "topK";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Model to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Model.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Model
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.Model
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Model.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.Model";
+ };
+
+ return Model;
+ })();
+
+ v1beta2.ModelService = (function() {
+
+ /**
+ * Constructs a new ModelService service.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a ModelService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function ModelService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (ModelService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ModelService;
+
+ /**
+ * Creates new ModelService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {ModelService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ ModelService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.ModelService|getModel}.
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @typedef GetModelCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.Model} [response] Model
+ */
+
+ /**
+ * Calls GetModel.
+ * @function getModel
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest} request GetModelRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.ModelService.GetModelCallback} callback Node-style callback called with the error, if any, and Model
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ModelService.prototype.getModel = function getModel(request, callback) {
+ return this.rpcCall(getModel, $root.google.ai.generativelanguage.v1beta2.GetModelRequest, $root.google.ai.generativelanguage.v1beta2.Model, request, callback);
+ }, "name", { value: "GetModel" });
+
+ /**
+ * Calls GetModel.
+ * @function getModel
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest} request GetModelRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.ModelService|listModels}.
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @typedef ListModelsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.ListModelsResponse} [response] ListModelsResponse
+ */
+
+ /**
+ * Calls ListModels.
+ * @function listModels
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest} request ListModelsRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.ModelService.ListModelsCallback} callback Node-style callback called with the error, if any, and ListModelsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ModelService.prototype.listModels = function listModels(request, callback) {
+ return this.rpcCall(listModels, $root.google.ai.generativelanguage.v1beta2.ListModelsRequest, $root.google.ai.generativelanguage.v1beta2.ListModelsResponse, request, callback);
+ }, "name", { value: "ListModels" });
+
+ /**
+ * Calls ListModels.
+ * @function listModels
+ * @memberof google.ai.generativelanguage.v1beta2.ModelService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest} request ListModelsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return ModelService;
+ })();
+
+ v1beta2.GetModelRequest = (function() {
+
+ /**
+ * Properties of a GetModelRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IGetModelRequest
+ * @property {string|null} [name] GetModelRequest name
+ */
+
+ /**
+ * Constructs a new GetModelRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a GetModelRequest.
+ * @implements IGetModelRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest=} [properties] Properties to set
+ */
+ function GetModelRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GetModelRequest name.
+ * @member {string} name
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @instance
+ */
+ GetModelRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetModelRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.GetModelRequest} GetModelRequest instance
+ */
+ GetModelRequest.create = function create(properties) {
+ return new GetModelRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetModelRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GetModelRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest} message GetModelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetModelRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetModelRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GetModelRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGetModelRequest} message GetModelRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetModelRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetModelRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.GetModelRequest} GetModelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetModelRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.GetModelRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetModelRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.GetModelRequest} GetModelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetModelRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetModelRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetModelRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.GetModelRequest} GetModelRequest
+ */
+ GetModelRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.GetModelRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.GetModelRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetModelRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.GetModelRequest} message GetModelRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetModelRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetModelRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetModelRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetModelRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.GetModelRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetModelRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.GetModelRequest";
+ };
+
+ return GetModelRequest;
+ })();
+
+ v1beta2.ListModelsRequest = (function() {
+
+ /**
+ * Properties of a ListModelsRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IListModelsRequest
+ * @property {number|null} [pageSize] ListModelsRequest pageSize
+ * @property {string|null} [pageToken] ListModelsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListModelsRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a ListModelsRequest.
+ * @implements IListModelsRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest=} [properties] Properties to set
+ */
+ function ListModelsRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListModelsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @instance
+ */
+ ListModelsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListModelsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @instance
+ */
+ ListModelsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListModelsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsRequest} ListModelsRequest instance
+ */
+ ListModelsRequest.create = function create(properties) {
+ return new ListModelsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListModelsRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest} message ListModelsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListModelsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListModelsRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsRequest} message ListModelsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListModelsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsRequest} ListModelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListModelsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.ListModelsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsRequest} ListModelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListModelsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListModelsRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListModelsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListModelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsRequest} ListModelsRequest
+ */
+ ListModelsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.ListModelsRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.ListModelsRequest();
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListModelsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ListModelsRequest} message ListModelsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListModelsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListModelsRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListModelsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListModelsRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListModelsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.ListModelsRequest";
+ };
+
+ return ListModelsRequest;
+ })();
+
+ v1beta2.ListModelsResponse = (function() {
+
+ /**
+ * Properties of a ListModelsResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IListModelsResponse
+ * @property {Array.|null} [models] ListModelsResponse models
+ * @property {string|null} [nextPageToken] ListModelsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListModelsResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a ListModelsResponse.
+ * @implements IListModelsResponse
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsResponse=} [properties] Properties to set
+ */
+ function ListModelsResponse(properties) {
+ this.models = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListModelsResponse models.
+ * @member {Array.} models
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @instance
+ */
+ ListModelsResponse.prototype.models = $util.emptyArray;
+
+ /**
+ * ListModelsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @instance
+ */
+ ListModelsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListModelsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsResponse=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsResponse} ListModelsResponse instance
+ */
+ ListModelsResponse.create = function create(properties) {
+ return new ListModelsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListModelsResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsResponse} message ListModelsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListModelsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.models != null && message.models.length)
+ for (var i = 0; i < message.models.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.Model.encode(message.models[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListModelsResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.ListModelsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IListModelsResponse} message ListModelsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListModelsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsResponse} ListModelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListModelsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.ListModelsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.models && message.models.length))
+ message.models = [];
+ message.models.push($root.google.ai.generativelanguage.v1beta2.Model.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsResponse} ListModelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListModelsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListModelsResponse message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListModelsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.models != null && message.hasOwnProperty("models")) {
+ if (!Array.isArray(message.models))
+ return "models: array expected";
+ for (var i = 0; i < message.models.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.Model.verify(message.models[i]);
+ if (error)
+ return "models." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListModelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.ListModelsResponse} ListModelsResponse
+ */
+ ListModelsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.ListModelsResponse)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.ListModelsResponse();
+ if (object.models) {
+ if (!Array.isArray(object.models))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.ListModelsResponse.models: array expected");
+ message.models = [];
+ for (var i = 0; i < object.models.length; ++i) {
+ if (typeof object.models[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.ListModelsResponse.models: object expected");
+ message.models[i] = $root.google.ai.generativelanguage.v1beta2.Model.fromObject(object.models[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListModelsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ListModelsResponse} message ListModelsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListModelsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.models = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.models && message.models.length) {
+ object.models = [];
+ for (var j = 0; j < message.models.length; ++j)
+ object.models[j] = $root.google.ai.generativelanguage.v1beta2.Model.toObject(message.models[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListModelsResponse to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListModelsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListModelsResponse
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.ListModelsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListModelsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.ListModelsResponse";
+ };
+
+ return ListModelsResponse;
+ })();
+
+ v1beta2.TextService = (function() {
+
+ /**
+ * Constructs a new TextService service.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a TextService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function TextService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (TextService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = TextService;
+
+ /**
+ * Creates new TextService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {TextService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ TextService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.TextService|generateText}.
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @typedef GenerateTextCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.GenerateTextResponse} [response] GenerateTextResponse
+ */
+
+ /**
+ * Calls GenerateText.
+ * @function generateText
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest} request GenerateTextRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.TextService.GenerateTextCallback} callback Node-style callback called with the error, if any, and GenerateTextResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(TextService.prototype.generateText = function generateText(request, callback) {
+ return this.rpcCall(generateText, $root.google.ai.generativelanguage.v1beta2.GenerateTextRequest, $root.google.ai.generativelanguage.v1beta2.GenerateTextResponse, request, callback);
+ }, "name", { value: "GenerateText" });
+
+ /**
+ * Calls GenerateText.
+ * @function generateText
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest} request GenerateTextRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.ai.generativelanguage.v1beta2.TextService|embedText}.
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @typedef EmbedTextCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.ai.generativelanguage.v1beta2.EmbedTextResponse} [response] EmbedTextResponse
+ */
+
+ /**
+ * Calls EmbedText.
+ * @function embedText
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest} request EmbedTextRequest message or plain object
+ * @param {google.ai.generativelanguage.v1beta2.TextService.EmbedTextCallback} callback Node-style callback called with the error, if any, and EmbedTextResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(TextService.prototype.embedText = function embedText(request, callback) {
+ return this.rpcCall(embedText, $root.google.ai.generativelanguage.v1beta2.EmbedTextRequest, $root.google.ai.generativelanguage.v1beta2.EmbedTextResponse, request, callback);
+ }, "name", { value: "EmbedText" });
+
+ /**
+ * Calls EmbedText.
+ * @function embedText
+ * @memberof google.ai.generativelanguage.v1beta2.TextService
+ * @instance
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest} request EmbedTextRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return TextService;
+ })();
+
+ v1beta2.GenerateTextRequest = (function() {
+
+ /**
+ * Properties of a GenerateTextRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IGenerateTextRequest
+ * @property {string|null} [model] GenerateTextRequest model
+ * @property {google.ai.generativelanguage.v1beta2.ITextPrompt|null} [prompt] GenerateTextRequest prompt
+ * @property {number|null} [temperature] GenerateTextRequest temperature
+ * @property {number|null} [candidateCount] GenerateTextRequest candidateCount
+ * @property {number|null} [maxOutputTokens] GenerateTextRequest maxOutputTokens
+ * @property {number|null} [topP] GenerateTextRequest topP
+ * @property {number|null} [topK] GenerateTextRequest topK
+ * @property {Array.|null} [safetySettings] GenerateTextRequest safetySettings
+ * @property {Array.|null} [stopSequences] GenerateTextRequest stopSequences
+ */
+
+ /**
+ * Constructs a new GenerateTextRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a GenerateTextRequest.
+ * @implements IGenerateTextRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest=} [properties] Properties to set
+ */
+ function GenerateTextRequest(properties) {
+ this.safetySettings = [];
+ this.stopSequences = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GenerateTextRequest model.
+ * @member {string} model
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.model = "";
+
+ /**
+ * GenerateTextRequest prompt.
+ * @member {google.ai.generativelanguage.v1beta2.ITextPrompt|null|undefined} prompt
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.prompt = null;
+
+ /**
+ * GenerateTextRequest temperature.
+ * @member {number|null|undefined} temperature
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.temperature = null;
+
+ /**
+ * GenerateTextRequest candidateCount.
+ * @member {number|null|undefined} candidateCount
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.candidateCount = null;
+
+ /**
+ * GenerateTextRequest maxOutputTokens.
+ * @member {number|null|undefined} maxOutputTokens
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.maxOutputTokens = null;
+
+ /**
+ * GenerateTextRequest topP.
+ * @member {number|null|undefined} topP
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.topP = null;
+
+ /**
+ * GenerateTextRequest topK.
+ * @member {number|null|undefined} topK
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.topK = null;
+
+ /**
+ * GenerateTextRequest safetySettings.
+ * @member {Array.} safetySettings
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.safetySettings = $util.emptyArray;
+
+ /**
+ * GenerateTextRequest stopSequences.
+ * @member {Array.} stopSequences
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ GenerateTextRequest.prototype.stopSequences = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * GenerateTextRequest _temperature.
+ * @member {"temperature"|undefined} _temperature
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateTextRequest.prototype, "_temperature", {
+ get: $util.oneOfGetter($oneOfFields = ["temperature"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateTextRequest _candidateCount.
+ * @member {"candidateCount"|undefined} _candidateCount
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateTextRequest.prototype, "_candidateCount", {
+ get: $util.oneOfGetter($oneOfFields = ["candidateCount"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateTextRequest _maxOutputTokens.
+ * @member {"maxOutputTokens"|undefined} _maxOutputTokens
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateTextRequest.prototype, "_maxOutputTokens", {
+ get: $util.oneOfGetter($oneOfFields = ["maxOutputTokens"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateTextRequest _topP.
+ * @member {"topP"|undefined} _topP
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateTextRequest.prototype, "_topP", {
+ get: $util.oneOfGetter($oneOfFields = ["topP"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * GenerateTextRequest _topK.
+ * @member {"topK"|undefined} _topK
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ */
+ Object.defineProperty(GenerateTextRequest.prototype, "_topK", {
+ get: $util.oneOfGetter($oneOfFields = ["topK"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new GenerateTextRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextRequest} GenerateTextRequest instance
+ */
+ GenerateTextRequest.create = function create(properties) {
+ return new GenerateTextRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GenerateTextRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest} message GenerateTextRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateTextRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ if (message.prompt != null && Object.hasOwnProperty.call(message, "prompt"))
+ $root.google.ai.generativelanguage.v1beta2.TextPrompt.encode(message.prompt, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.temperature != null && Object.hasOwnProperty.call(message, "temperature"))
+ writer.uint32(/* id 3, wireType 5 =*/29).float(message.temperature);
+ if (message.candidateCount != null && Object.hasOwnProperty.call(message, "candidateCount"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.candidateCount);
+ if (message.maxOutputTokens != null && Object.hasOwnProperty.call(message, "maxOutputTokens"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.maxOutputTokens);
+ if (message.topP != null && Object.hasOwnProperty.call(message, "topP"))
+ writer.uint32(/* id 6, wireType 5 =*/53).float(message.topP);
+ if (message.topK != null && Object.hasOwnProperty.call(message, "topK"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.topK);
+ if (message.safetySettings != null && message.safetySettings.length)
+ for (var i = 0; i < message.safetySettings.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.SafetySetting.encode(message.safetySettings[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.stopSequences != null && message.stopSequences.length)
+ for (var i = 0; i < message.stopSequences.length; ++i)
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.stopSequences[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GenerateTextRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextRequest} message GenerateTextRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateTextRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GenerateTextRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextRequest} GenerateTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateTextRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.GenerateTextRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ case 2: {
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.TextPrompt.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.temperature = reader.float();
+ break;
+ }
+ case 4: {
+ message.candidateCount = reader.int32();
+ break;
+ }
+ case 5: {
+ message.maxOutputTokens = reader.int32();
+ break;
+ }
+ case 6: {
+ message.topP = reader.float();
+ break;
+ }
+ case 7: {
+ message.topK = reader.int32();
+ break;
+ }
+ case 8: {
+ if (!(message.safetySettings && message.safetySettings.length))
+ message.safetySettings = [];
+ message.safetySettings.push($root.google.ai.generativelanguage.v1beta2.SafetySetting.decode(reader, reader.uint32()));
+ break;
+ }
+ case 9: {
+ if (!(message.stopSequences && message.stopSequences.length))
+ message.stopSequences = [];
+ message.stopSequences.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GenerateTextRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextRequest} GenerateTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateTextRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GenerateTextRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GenerateTextRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.prompt != null && message.hasOwnProperty("prompt")) {
+ var error = $root.google.ai.generativelanguage.v1beta2.TextPrompt.verify(message.prompt);
+ if (error)
+ return "prompt." + error;
+ }
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ properties._temperature = 1;
+ if (typeof message.temperature !== "number")
+ return "temperature: number expected";
+ }
+ if (message.candidateCount != null && message.hasOwnProperty("candidateCount")) {
+ properties._candidateCount = 1;
+ if (!$util.isInteger(message.candidateCount))
+ return "candidateCount: integer expected";
+ }
+ if (message.maxOutputTokens != null && message.hasOwnProperty("maxOutputTokens")) {
+ properties._maxOutputTokens = 1;
+ if (!$util.isInteger(message.maxOutputTokens))
+ return "maxOutputTokens: integer expected";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ properties._topP = 1;
+ if (typeof message.topP !== "number")
+ return "topP: number expected";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ properties._topK = 1;
+ if (!$util.isInteger(message.topK))
+ return "topK: integer expected";
+ }
+ if (message.safetySettings != null && message.hasOwnProperty("safetySettings")) {
+ if (!Array.isArray(message.safetySettings))
+ return "safetySettings: array expected";
+ for (var i = 0; i < message.safetySettings.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.SafetySetting.verify(message.safetySettings[i]);
+ if (error)
+ return "safetySettings." + error;
+ }
+ }
+ if (message.stopSequences != null && message.hasOwnProperty("stopSequences")) {
+ if (!Array.isArray(message.stopSequences))
+ return "stopSequences: array expected";
+ for (var i = 0; i < message.stopSequences.length; ++i)
+ if (!$util.isString(message.stopSequences[i]))
+ return "stopSequences: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GenerateTextRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextRequest} GenerateTextRequest
+ */
+ GenerateTextRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.GenerateTextRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.GenerateTextRequest();
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.prompt != null) {
+ if (typeof object.prompt !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextRequest.prompt: object expected");
+ message.prompt = $root.google.ai.generativelanguage.v1beta2.TextPrompt.fromObject(object.prompt);
+ }
+ if (object.temperature != null)
+ message.temperature = Number(object.temperature);
+ if (object.candidateCount != null)
+ message.candidateCount = object.candidateCount | 0;
+ if (object.maxOutputTokens != null)
+ message.maxOutputTokens = object.maxOutputTokens | 0;
+ if (object.topP != null)
+ message.topP = Number(object.topP);
+ if (object.topK != null)
+ message.topK = object.topK | 0;
+ if (object.safetySettings) {
+ if (!Array.isArray(object.safetySettings))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextRequest.safetySettings: array expected");
+ message.safetySettings = [];
+ for (var i = 0; i < object.safetySettings.length; ++i) {
+ if (typeof object.safetySettings[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextRequest.safetySettings: object expected");
+ message.safetySettings[i] = $root.google.ai.generativelanguage.v1beta2.SafetySetting.fromObject(object.safetySettings[i]);
+ }
+ }
+ if (object.stopSequences) {
+ if (!Array.isArray(object.stopSequences))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextRequest.stopSequences: array expected");
+ message.stopSequences = [];
+ for (var i = 0; i < object.stopSequences.length; ++i)
+ message.stopSequences[i] = String(object.stopSequences[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GenerateTextRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.GenerateTextRequest} message GenerateTextRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GenerateTextRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.safetySettings = [];
+ object.stopSequences = [];
+ }
+ if (options.defaults) {
+ object.model = "";
+ object.prompt = null;
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.prompt != null && message.hasOwnProperty("prompt"))
+ object.prompt = $root.google.ai.generativelanguage.v1beta2.TextPrompt.toObject(message.prompt, options);
+ if (message.temperature != null && message.hasOwnProperty("temperature")) {
+ object.temperature = options.json && !isFinite(message.temperature) ? String(message.temperature) : message.temperature;
+ if (options.oneofs)
+ object._temperature = "temperature";
+ }
+ if (message.candidateCount != null && message.hasOwnProperty("candidateCount")) {
+ object.candidateCount = message.candidateCount;
+ if (options.oneofs)
+ object._candidateCount = "candidateCount";
+ }
+ if (message.maxOutputTokens != null && message.hasOwnProperty("maxOutputTokens")) {
+ object.maxOutputTokens = message.maxOutputTokens;
+ if (options.oneofs)
+ object._maxOutputTokens = "maxOutputTokens";
+ }
+ if (message.topP != null && message.hasOwnProperty("topP")) {
+ object.topP = options.json && !isFinite(message.topP) ? String(message.topP) : message.topP;
+ if (options.oneofs)
+ object._topP = "topP";
+ }
+ if (message.topK != null && message.hasOwnProperty("topK")) {
+ object.topK = message.topK;
+ if (options.oneofs)
+ object._topK = "topK";
+ }
+ if (message.safetySettings && message.safetySettings.length) {
+ object.safetySettings = [];
+ for (var j = 0; j < message.safetySettings.length; ++j)
+ object.safetySettings[j] = $root.google.ai.generativelanguage.v1beta2.SafetySetting.toObject(message.safetySettings[j], options);
+ }
+ if (message.stopSequences && message.stopSequences.length) {
+ object.stopSequences = [];
+ for (var j = 0; j < message.stopSequences.length; ++j)
+ object.stopSequences[j] = message.stopSequences[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GenerateTextRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GenerateTextRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GenerateTextRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GenerateTextRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.GenerateTextRequest";
+ };
+
+ return GenerateTextRequest;
+ })();
+
+ v1beta2.GenerateTextResponse = (function() {
+
+ /**
+ * Properties of a GenerateTextResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IGenerateTextResponse
+ * @property {Array.|null} [candidates] GenerateTextResponse candidates
+ * @property {Array.|null} [filters] GenerateTextResponse filters
+ * @property {Array.|null} [safetyFeedback] GenerateTextResponse safetyFeedback
+ */
+
+ /**
+ * Constructs a new GenerateTextResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a GenerateTextResponse.
+ * @implements IGenerateTextResponse
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextResponse=} [properties] Properties to set
+ */
+ function GenerateTextResponse(properties) {
+ this.candidates = [];
+ this.filters = [];
+ this.safetyFeedback = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GenerateTextResponse candidates.
+ * @member {Array.} candidates
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @instance
+ */
+ GenerateTextResponse.prototype.candidates = $util.emptyArray;
+
+ /**
+ * GenerateTextResponse filters.
+ * @member {Array.} filters
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @instance
+ */
+ GenerateTextResponse.prototype.filters = $util.emptyArray;
+
+ /**
+ * GenerateTextResponse safetyFeedback.
+ * @member {Array.} safetyFeedback
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @instance
+ */
+ GenerateTextResponse.prototype.safetyFeedback = $util.emptyArray;
+
+ /**
+ * Creates a new GenerateTextResponse instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextResponse=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextResponse} GenerateTextResponse instance
+ */
+ GenerateTextResponse.create = function create(properties) {
+ return new GenerateTextResponse(properties);
+ };
+
+ /**
+ * Encodes the specified GenerateTextResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextResponse} message GenerateTextResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateTextResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.candidates != null && message.candidates.length)
+ for (var i = 0; i < message.candidates.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.TextCompletion.encode(message.candidates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.filters != null && message.filters.length)
+ for (var i = 0; i < message.filters.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.ContentFilter.encode(message.filters[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.safetyFeedback != null && message.safetyFeedback.length)
+ for (var i = 0; i < message.safetyFeedback.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.SafetyFeedback.encode(message.safetyFeedback[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GenerateTextResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.GenerateTextResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IGenerateTextResponse} message GenerateTextResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GenerateTextResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GenerateTextResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextResponse} GenerateTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateTextResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.GenerateTextResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.candidates && message.candidates.length))
+ message.candidates = [];
+ message.candidates.push($root.google.ai.generativelanguage.v1beta2.TextCompletion.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.filters && message.filters.length))
+ message.filters = [];
+ message.filters.push($root.google.ai.generativelanguage.v1beta2.ContentFilter.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.safetyFeedback && message.safetyFeedback.length))
+ message.safetyFeedback = [];
+ message.safetyFeedback.push($root.google.ai.generativelanguage.v1beta2.SafetyFeedback.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GenerateTextResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextResponse} GenerateTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GenerateTextResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GenerateTextResponse message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GenerateTextResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.candidates != null && message.hasOwnProperty("candidates")) {
+ if (!Array.isArray(message.candidates))
+ return "candidates: array expected";
+ for (var i = 0; i < message.candidates.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.TextCompletion.verify(message.candidates[i]);
+ if (error)
+ return "candidates." + error;
+ }
+ }
+ if (message.filters != null && message.hasOwnProperty("filters")) {
+ if (!Array.isArray(message.filters))
+ return "filters: array expected";
+ for (var i = 0; i < message.filters.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.ContentFilter.verify(message.filters[i]);
+ if (error)
+ return "filters." + error;
+ }
+ }
+ if (message.safetyFeedback != null && message.hasOwnProperty("safetyFeedback")) {
+ if (!Array.isArray(message.safetyFeedback))
+ return "safetyFeedback: array expected";
+ for (var i = 0; i < message.safetyFeedback.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.SafetyFeedback.verify(message.safetyFeedback[i]);
+ if (error)
+ return "safetyFeedback." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GenerateTextResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.GenerateTextResponse} GenerateTextResponse
+ */
+ GenerateTextResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.GenerateTextResponse)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.GenerateTextResponse();
+ if (object.candidates) {
+ if (!Array.isArray(object.candidates))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.candidates: array expected");
+ message.candidates = [];
+ for (var i = 0; i < object.candidates.length; ++i) {
+ if (typeof object.candidates[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.candidates: object expected");
+ message.candidates[i] = $root.google.ai.generativelanguage.v1beta2.TextCompletion.fromObject(object.candidates[i]);
+ }
+ }
+ if (object.filters) {
+ if (!Array.isArray(object.filters))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.filters: array expected");
+ message.filters = [];
+ for (var i = 0; i < object.filters.length; ++i) {
+ if (typeof object.filters[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.filters: object expected");
+ message.filters[i] = $root.google.ai.generativelanguage.v1beta2.ContentFilter.fromObject(object.filters[i]);
+ }
+ }
+ if (object.safetyFeedback) {
+ if (!Array.isArray(object.safetyFeedback))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.safetyFeedback: array expected");
+ message.safetyFeedback = [];
+ for (var i = 0; i < object.safetyFeedback.length; ++i) {
+ if (typeof object.safetyFeedback[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.GenerateTextResponse.safetyFeedback: object expected");
+ message.safetyFeedback[i] = $root.google.ai.generativelanguage.v1beta2.SafetyFeedback.fromObject(object.safetyFeedback[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GenerateTextResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.GenerateTextResponse} message GenerateTextResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GenerateTextResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.candidates = [];
+ object.filters = [];
+ object.safetyFeedback = [];
+ }
+ if (message.candidates && message.candidates.length) {
+ object.candidates = [];
+ for (var j = 0; j < message.candidates.length; ++j)
+ object.candidates[j] = $root.google.ai.generativelanguage.v1beta2.TextCompletion.toObject(message.candidates[j], options);
+ }
+ if (message.filters && message.filters.length) {
+ object.filters = [];
+ for (var j = 0; j < message.filters.length; ++j)
+ object.filters[j] = $root.google.ai.generativelanguage.v1beta2.ContentFilter.toObject(message.filters[j], options);
+ }
+ if (message.safetyFeedback && message.safetyFeedback.length) {
+ object.safetyFeedback = [];
+ for (var j = 0; j < message.safetyFeedback.length; ++j)
+ object.safetyFeedback[j] = $root.google.ai.generativelanguage.v1beta2.SafetyFeedback.toObject(message.safetyFeedback[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GenerateTextResponse to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GenerateTextResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GenerateTextResponse
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.GenerateTextResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GenerateTextResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.GenerateTextResponse";
+ };
+
+ return GenerateTextResponse;
+ })();
+
+ v1beta2.TextPrompt = (function() {
+
+ /**
+ * Properties of a TextPrompt.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ITextPrompt
+ * @property {string|null} [text] TextPrompt text
+ */
+
+ /**
+ * Constructs a new TextPrompt.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a TextPrompt.
+ * @implements ITextPrompt
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ITextPrompt=} [properties] Properties to set
+ */
+ function TextPrompt(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TextPrompt text.
+ * @member {string} text
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @instance
+ */
+ TextPrompt.prototype.text = "";
+
+ /**
+ * Creates a new TextPrompt instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextPrompt=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.TextPrompt} TextPrompt instance
+ */
+ TextPrompt.create = function create(properties) {
+ return new TextPrompt(properties);
+ };
+
+ /**
+ * Encodes the specified TextPrompt message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextPrompt.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextPrompt} message TextPrompt message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextPrompt.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.text != null && Object.hasOwnProperty.call(message, "text"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.text);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextPrompt message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextPrompt.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextPrompt} message TextPrompt message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextPrompt.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextPrompt message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.TextPrompt} TextPrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextPrompt.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.TextPrompt();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.text = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextPrompt message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.TextPrompt} TextPrompt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextPrompt.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextPrompt message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextPrompt.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.text != null && message.hasOwnProperty("text"))
+ if (!$util.isString(message.text))
+ return "text: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TextPrompt message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.TextPrompt} TextPrompt
+ */
+ TextPrompt.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.TextPrompt)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.TextPrompt();
+ if (object.text != null)
+ message.text = String(object.text);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextPrompt message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.TextPrompt} message TextPrompt
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextPrompt.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.text = "";
+ if (message.text != null && message.hasOwnProperty("text"))
+ object.text = message.text;
+ return object;
+ };
+
+ /**
+ * Converts this TextPrompt to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextPrompt.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextPrompt
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.TextPrompt
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextPrompt.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.TextPrompt";
+ };
+
+ return TextPrompt;
+ })();
+
+ v1beta2.TextCompletion = (function() {
+
+ /**
+ * Properties of a TextCompletion.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface ITextCompletion
+ * @property {string|null} [output] TextCompletion output
+ * @property {Array.|null} [safetyRatings] TextCompletion safetyRatings
+ * @property {google.ai.generativelanguage.v1beta2.ICitationMetadata|null} [citationMetadata] TextCompletion citationMetadata
+ */
+
+ /**
+ * Constructs a new TextCompletion.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents a TextCompletion.
+ * @implements ITextCompletion
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.ITextCompletion=} [properties] Properties to set
+ */
+ function TextCompletion(properties) {
+ this.safetyRatings = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TextCompletion output.
+ * @member {string} output
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @instance
+ */
+ TextCompletion.prototype.output = "";
+
+ /**
+ * TextCompletion safetyRatings.
+ * @member {Array.} safetyRatings
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @instance
+ */
+ TextCompletion.prototype.safetyRatings = $util.emptyArray;
+
+ /**
+ * TextCompletion citationMetadata.
+ * @member {google.ai.generativelanguage.v1beta2.ICitationMetadata|null|undefined} citationMetadata
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @instance
+ */
+ TextCompletion.prototype.citationMetadata = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * TextCompletion _citationMetadata.
+ * @member {"citationMetadata"|undefined} _citationMetadata
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @instance
+ */
+ Object.defineProperty(TextCompletion.prototype, "_citationMetadata", {
+ get: $util.oneOfGetter($oneOfFields = ["citationMetadata"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new TextCompletion instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextCompletion=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.TextCompletion} TextCompletion instance
+ */
+ TextCompletion.create = function create(properties) {
+ return new TextCompletion(properties);
+ };
+
+ /**
+ * Encodes the specified TextCompletion message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextCompletion.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextCompletion} message TextCompletion message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextCompletion.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.output != null && Object.hasOwnProperty.call(message, "output"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.output);
+ if (message.safetyRatings != null && message.safetyRatings.length)
+ for (var i = 0; i < message.safetyRatings.length; ++i)
+ $root.google.ai.generativelanguage.v1beta2.SafetyRating.encode(message.safetyRatings[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.citationMetadata != null && Object.hasOwnProperty.call(message, "citationMetadata"))
+ $root.google.ai.generativelanguage.v1beta2.CitationMetadata.encode(message.citationMetadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextCompletion message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.TextCompletion.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.ITextCompletion} message TextCompletion message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextCompletion.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextCompletion message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.TextCompletion} TextCompletion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextCompletion.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.TextCompletion();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.output = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.safetyRatings && message.safetyRatings.length))
+ message.safetyRatings = [];
+ message.safetyRatings.push($root.google.ai.generativelanguage.v1beta2.SafetyRating.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextCompletion message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.TextCompletion} TextCompletion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextCompletion.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextCompletion message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextCompletion.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.output != null && message.hasOwnProperty("output"))
+ if (!$util.isString(message.output))
+ return "output: string expected";
+ if (message.safetyRatings != null && message.hasOwnProperty("safetyRatings")) {
+ if (!Array.isArray(message.safetyRatings))
+ return "safetyRatings: array expected";
+ for (var i = 0; i < message.safetyRatings.length; ++i) {
+ var error = $root.google.ai.generativelanguage.v1beta2.SafetyRating.verify(message.safetyRatings[i]);
+ if (error)
+ return "safetyRatings." + error;
+ }
+ }
+ if (message.citationMetadata != null && message.hasOwnProperty("citationMetadata")) {
+ properties._citationMetadata = 1;
+ {
+ var error = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.verify(message.citationMetadata);
+ if (error)
+ return "citationMetadata." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TextCompletion message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.TextCompletion} TextCompletion
+ */
+ TextCompletion.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.TextCompletion)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.TextCompletion();
+ if (object.output != null)
+ message.output = String(object.output);
+ if (object.safetyRatings) {
+ if (!Array.isArray(object.safetyRatings))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.TextCompletion.safetyRatings: array expected");
+ message.safetyRatings = [];
+ for (var i = 0; i < object.safetyRatings.length; ++i) {
+ if (typeof object.safetyRatings[i] !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.TextCompletion.safetyRatings: object expected");
+ message.safetyRatings[i] = $root.google.ai.generativelanguage.v1beta2.SafetyRating.fromObject(object.safetyRatings[i]);
+ }
+ }
+ if (object.citationMetadata != null) {
+ if (typeof object.citationMetadata !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.TextCompletion.citationMetadata: object expected");
+ message.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.fromObject(object.citationMetadata);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextCompletion message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.TextCompletion} message TextCompletion
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextCompletion.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.safetyRatings = [];
+ if (options.defaults)
+ object.output = "";
+ if (message.output != null && message.hasOwnProperty("output"))
+ object.output = message.output;
+ if (message.safetyRatings && message.safetyRatings.length) {
+ object.safetyRatings = [];
+ for (var j = 0; j < message.safetyRatings.length; ++j)
+ object.safetyRatings[j] = $root.google.ai.generativelanguage.v1beta2.SafetyRating.toObject(message.safetyRatings[j], options);
+ }
+ if (message.citationMetadata != null && message.hasOwnProperty("citationMetadata")) {
+ object.citationMetadata = $root.google.ai.generativelanguage.v1beta2.CitationMetadata.toObject(message.citationMetadata, options);
+ if (options.oneofs)
+ object._citationMetadata = "citationMetadata";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TextCompletion to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextCompletion.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextCompletion
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.TextCompletion
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextCompletion.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.TextCompletion";
+ };
+
+ return TextCompletion;
+ })();
+
+ v1beta2.EmbedTextRequest = (function() {
+
+ /**
+ * Properties of an EmbedTextRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IEmbedTextRequest
+ * @property {string|null} [model] EmbedTextRequest model
+ * @property {string|null} [text] EmbedTextRequest text
+ */
+
+ /**
+ * Constructs a new EmbedTextRequest.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents an EmbedTextRequest.
+ * @implements IEmbedTextRequest
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest=} [properties] Properties to set
+ */
+ function EmbedTextRequest(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EmbedTextRequest model.
+ * @member {string} model
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @instance
+ */
+ EmbedTextRequest.prototype.model = "";
+
+ /**
+ * EmbedTextRequest text.
+ * @member {string} text
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @instance
+ */
+ EmbedTextRequest.prototype.text = "";
+
+ /**
+ * Creates a new EmbedTextRequest instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextRequest} EmbedTextRequest instance
+ */
+ EmbedTextRequest.create = function create(properties) {
+ return new EmbedTextRequest(properties);
+ };
+
+ /**
+ * Encodes the specified EmbedTextRequest message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest} message EmbedTextRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EmbedTextRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ if (message.text != null && Object.hasOwnProperty.call(message, "text"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.text);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EmbedTextRequest message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextRequest} message EmbedTextRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EmbedTextRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EmbedTextRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextRequest} EmbedTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EmbedTextRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.EmbedTextRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ case 2: {
+ message.text = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EmbedTextRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextRequest} EmbedTextRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EmbedTextRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EmbedTextRequest message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EmbedTextRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.text != null && message.hasOwnProperty("text"))
+ if (!$util.isString(message.text))
+ return "text: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an EmbedTextRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextRequest} EmbedTextRequest
+ */
+ EmbedTextRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.EmbedTextRequest)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.EmbedTextRequest();
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.text != null)
+ message.text = String(object.text);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EmbedTextRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.EmbedTextRequest} message EmbedTextRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EmbedTextRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.model = "";
+ object.text = "";
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.text != null && message.hasOwnProperty("text"))
+ object.text = message.text;
+ return object;
+ };
+
+ /**
+ * Converts this EmbedTextRequest to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EmbedTextRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EmbedTextRequest
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EmbedTextRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.EmbedTextRequest";
+ };
+
+ return EmbedTextRequest;
+ })();
+
+ v1beta2.EmbedTextResponse = (function() {
+
+ /**
+ * Properties of an EmbedTextResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IEmbedTextResponse
+ * @property {google.ai.generativelanguage.v1beta2.IEmbedding|null} [embedding] EmbedTextResponse embedding
+ */
+
+ /**
+ * Constructs a new EmbedTextResponse.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents an EmbedTextResponse.
+ * @implements IEmbedTextResponse
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextResponse=} [properties] Properties to set
+ */
+ function EmbedTextResponse(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EmbedTextResponse embedding.
+ * @member {google.ai.generativelanguage.v1beta2.IEmbedding|null|undefined} embedding
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @instance
+ */
+ EmbedTextResponse.prototype.embedding = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * EmbedTextResponse _embedding.
+ * @member {"embedding"|undefined} _embedding
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @instance
+ */
+ Object.defineProperty(EmbedTextResponse.prototype, "_embedding", {
+ get: $util.oneOfGetter($oneOfFields = ["embedding"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new EmbedTextResponse instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextResponse=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextResponse} EmbedTextResponse instance
+ */
+ EmbedTextResponse.create = function create(properties) {
+ return new EmbedTextResponse(properties);
+ };
+
+ /**
+ * Encodes the specified EmbedTextResponse message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextResponse} message EmbedTextResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EmbedTextResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.embedding != null && Object.hasOwnProperty.call(message, "embedding"))
+ $root.google.ai.generativelanguage.v1beta2.Embedding.encode(message.embedding, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EmbedTextResponse message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.EmbedTextResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedTextResponse} message EmbedTextResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EmbedTextResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EmbedTextResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextResponse} EmbedTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EmbedTextResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.EmbedTextResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.embedding = $root.google.ai.generativelanguage.v1beta2.Embedding.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EmbedTextResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextResponse} EmbedTextResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EmbedTextResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EmbedTextResponse message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EmbedTextResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.embedding != null && message.hasOwnProperty("embedding")) {
+ properties._embedding = 1;
+ {
+ var error = $root.google.ai.generativelanguage.v1beta2.Embedding.verify(message.embedding);
+ if (error)
+ return "embedding." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EmbedTextResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.EmbedTextResponse} EmbedTextResponse
+ */
+ EmbedTextResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.EmbedTextResponse)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.EmbedTextResponse();
+ if (object.embedding != null) {
+ if (typeof object.embedding !== "object")
+ throw TypeError(".google.ai.generativelanguage.v1beta2.EmbedTextResponse.embedding: object expected");
+ message.embedding = $root.google.ai.generativelanguage.v1beta2.Embedding.fromObject(object.embedding);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EmbedTextResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.EmbedTextResponse} message EmbedTextResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EmbedTextResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.embedding != null && message.hasOwnProperty("embedding")) {
+ object.embedding = $root.google.ai.generativelanguage.v1beta2.Embedding.toObject(message.embedding, options);
+ if (options.oneofs)
+ object._embedding = "embedding";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this EmbedTextResponse to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EmbedTextResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EmbedTextResponse
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.EmbedTextResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EmbedTextResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.EmbedTextResponse";
+ };
+
+ return EmbedTextResponse;
+ })();
+
+ v1beta2.Embedding = (function() {
+
+ /**
+ * Properties of an Embedding.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @interface IEmbedding
+ * @property {Array.|null} [value] Embedding value
+ */
+
+ /**
+ * Constructs a new Embedding.
+ * @memberof google.ai.generativelanguage.v1beta2
+ * @classdesc Represents an Embedding.
+ * @implements IEmbedding
+ * @constructor
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedding=} [properties] Properties to set
+ */
+ function Embedding(properties) {
+ this.value = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Embedding value.
+ * @member {Array.} value
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @instance
+ */
+ Embedding.prototype.value = $util.emptyArray;
+
+ /**
+ * Creates a new Embedding instance using the specified properties.
+ * @function create
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedding=} [properties] Properties to set
+ * @returns {google.ai.generativelanguage.v1beta2.Embedding} Embedding instance
+ */
+ Embedding.create = function create(properties) {
+ return new Embedding(properties);
+ };
+
+ /**
+ * Encodes the specified Embedding message. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Embedding.verify|verify} messages.
+ * @function encode
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedding} message Embedding message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Embedding.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.value != null && message.value.length) {
+ writer.uint32(/* id 1, wireType 2 =*/10).fork();
+ for (var i = 0; i < message.value.length; ++i)
+ writer.float(message.value[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Embedding message, length delimited. Does not implicitly {@link google.ai.generativelanguage.v1beta2.Embedding.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.IEmbedding} message Embedding message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Embedding.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Embedding message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.ai.generativelanguage.v1beta2.Embedding} Embedding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Embedding.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.ai.generativelanguage.v1beta2.Embedding();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.value && message.value.length))
+ message.value = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.value.push(reader.float());
+ } else
+ message.value.push(reader.float());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Embedding message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.ai.generativelanguage.v1beta2.Embedding} Embedding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Embedding.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Embedding message.
+ * @function verify
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Embedding.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.value != null && message.hasOwnProperty("value")) {
+ if (!Array.isArray(message.value))
+ return "value: array expected";
+ for (var i = 0; i < message.value.length; ++i)
+ if (typeof message.value[i] !== "number")
+ return "value: number[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Embedding message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.ai.generativelanguage.v1beta2.Embedding} Embedding
+ */
+ Embedding.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.ai.generativelanguage.v1beta2.Embedding)
+ return object;
+ var message = new $root.google.ai.generativelanguage.v1beta2.Embedding();
+ if (object.value) {
+ if (!Array.isArray(object.value))
+ throw TypeError(".google.ai.generativelanguage.v1beta2.Embedding.value: array expected");
+ message.value = [];
+ for (var i = 0; i < object.value.length; ++i)
+ message.value[i] = Number(object.value[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Embedding message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {google.ai.generativelanguage.v1beta2.Embedding} message Embedding
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Embedding.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.value = [];
+ if (message.value && message.value.length) {
+ object.value = [];
+ for (var j = 0; j < message.value.length; ++j)
+ object.value[j] = options.json && !isFinite(message.value[j]) ? String(message.value[j]) : message.value[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Embedding to JSON.
+ * @function toJSON
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Embedding.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Embedding
+ * @function getTypeUrl
+ * @memberof google.ai.generativelanguage.v1beta2.Embedding
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Embedding.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.ai.generativelanguage.v1beta2.Embedding";
+ };
+
+ return Embedding;
+ })();
+
+ return v1beta2;
+ })();
+
+ return generativelanguage;
+ })();
+
+ return ai;
+ })();
+
+ google.api = (function() {
+
+ /**
+ * Namespace api.
+ * @memberof google
+ * @namespace
+ */
+ var api = {};
+
+ /**
+ * FieldBehavior enum.
+ * @name google.api.FieldBehavior
+ * @enum {number}
+ * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value
+ * @property {number} OPTIONAL=1 OPTIONAL value
+ * @property {number} REQUIRED=2 REQUIRED value
+ * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value
+ * @property {number} INPUT_ONLY=4 INPUT_ONLY value
+ * @property {number} IMMUTABLE=5 IMMUTABLE value
+ * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value
+ * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value
+ */
+ api.FieldBehavior = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "OPTIONAL"] = 1;
+ values[valuesById[2] = "REQUIRED"] = 2;
+ values[valuesById[3] = "OUTPUT_ONLY"] = 3;
+ values[valuesById[4] = "INPUT_ONLY"] = 4;
+ values[valuesById[5] = "IMMUTABLE"] = 5;
+ values[valuesById[6] = "UNORDERED_LIST"] = 6;
+ values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7;
+ return values;
+ })();
+
+ api.Http = (function() {
+
+ /**
+ * Properties of a Http.
+ * @memberof google.api
+ * @interface IHttp
+ * @property {Array.|null} [rules] Http rules
+ * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion
+ */
+
+ /**
+ * Constructs a new Http.
+ * @memberof google.api
+ * @classdesc Represents a Http.
+ * @implements IHttp
+ * @constructor
+ * @param {google.api.IHttp=} [properties] Properties to set
+ */
+ function Http(properties) {
+ this.rules = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Http rules.
+ * @member {Array.} rules
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.rules = $util.emptyArray;
+
+ /**
+ * Http fullyDecodeReservedExpansion.
+ * @member {boolean} fullyDecodeReservedExpansion
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.fullyDecodeReservedExpansion = false;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @function create
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp=} [properties] Properties to set
+ * @returns {google.api.Http} Http instance
+ */
+ Http.create = function create(properties) {
+ return new Http(properties);
+ };
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rules != null && message.rules.length)
+ for (var i = 0; i < message.rules.length; ++i)
+ $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.rules && message.rules.length))
+ message.rules = [];
+ message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.fullyDecodeReservedExpansion = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Http message.
+ * @function verify
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Http.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rules != null && message.hasOwnProperty("rules")) {
+ if (!Array.isArray(message.rules))
+ return "rules: array expected";
+ for (var i = 0; i < message.rules.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.rules[i]);
+ if (error)
+ return "rules." + error;
+ }
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ if (typeof message.fullyDecodeReservedExpansion !== "boolean")
+ return "fullyDecodeReservedExpansion: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.Http} Http
+ */
+ Http.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.Http)
+ return object;
+ var message = new $root.google.api.Http();
+ if (object.rules) {
+ if (!Array.isArray(object.rules))
+ throw TypeError(".google.api.Http.rules: array expected");
+ message.rules = [];
+ for (var i = 0; i < object.rules.length; ++i) {
+ if (typeof object.rules[i] !== "object")
+ throw TypeError(".google.api.Http.rules: object expected");
+ message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]);
+ }
+ }
+ if (object.fullyDecodeReservedExpansion != null)
+ message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.Http} message Http
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Http.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.rules = [];
+ if (options.defaults)
+ object.fullyDecodeReservedExpansion = false;
+ if (message.rules && message.rules.length) {
+ object.rules = [];
+ for (var j = 0; j < message.rules.length; ++j)
+ object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options);
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion;
+ return object;
+ };
+
+ /**
+ * Converts this Http to JSON.
+ * @function toJSON
+ * @memberof google.api.Http
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Http.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Http
+ * @function getTypeUrl
+ * @memberof google.api.Http
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.Http";
+ };
+
+ return Http;
+ })();
+
+ api.HttpRule = (function() {
+
+ /**
+ * Properties of a HttpRule.
+ * @memberof google.api
+ * @interface IHttpRule
+ * @property {string|null} [selector] HttpRule selector
+ * @property {string|null} [get] HttpRule get
+ * @property {string|null} [put] HttpRule put
+ * @property {string|null} [post] HttpRule post
+ * @property {string|null} ["delete"] HttpRule delete
+ * @property {string|null} [patch] HttpRule patch
+ * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom
+ * @property {string|null} [body] HttpRule body
+ * @property {string|null} [responseBody] HttpRule responseBody
+ * @property {Array.|null} [additionalBindings] HttpRule additionalBindings
+ */
+
+ /**
+ * Constructs a new HttpRule.
+ * @memberof google.api
+ * @classdesc Represents a HttpRule.
+ * @implements IHttpRule
+ * @constructor
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ */
+ function HttpRule(properties) {
+ this.additionalBindings = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * HttpRule selector.
+ * @member {string} selector
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.selector = "";
+
+ /**
+ * HttpRule get.
+ * @member {string|null|undefined} get
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.get = null;
+
+ /**
+ * HttpRule put.
+ * @member {string|null|undefined} put
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.put = null;
+
+ /**
+ * HttpRule post.
+ * @member {string|null|undefined} post
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.post = null;
+
+ /**
+ * HttpRule delete.
+ * @member {string|null|undefined} delete
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype["delete"] = null;
+
+ /**
+ * HttpRule patch.
+ * @member {string|null|undefined} patch
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.patch = null;
+
+ /**
+ * HttpRule custom.
+ * @member {google.api.ICustomHttpPattern|null|undefined} custom
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.custom = null;
+
+ /**
+ * HttpRule body.
+ * @member {string} body
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.body = "";
+
+ /**
+ * HttpRule responseBody.
+ * @member {string} responseBody
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.responseBody = "";
+
+ /**
+ * HttpRule additionalBindings.
+ * @member {Array.} additionalBindings
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.additionalBindings = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * HttpRule pattern.
+ * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ Object.defineProperty(HttpRule.prototype, "pattern", {
+ get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @function create
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ * @returns {google.api.HttpRule} HttpRule instance
+ */
+ HttpRule.create = function create(properties) {
+ return new HttpRule(properties);
+ };
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
+ if (message.get != null && Object.hasOwnProperty.call(message, "get"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.get);
+ if (message.put != null && Object.hasOwnProperty.call(message, "put"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.put);
+ if (message.post != null && Object.hasOwnProperty.call(message, "post"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.post);
+ if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]);
+ if (message.patch != null && Object.hasOwnProperty.call(message, "patch"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch);
+ if (message.body != null && Object.hasOwnProperty.call(message, "body"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.body);
+ if (message.custom != null && Object.hasOwnProperty.call(message, "custom"))
+ $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.additionalBindings != null && message.additionalBindings.length)
+ for (var i = 0; i < message.additionalBindings.length; ++i)
+ $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.selector = reader.string();
+ break;
+ }
+ case 2: {
+ message.get = reader.string();
+ break;
+ }
+ case 3: {
+ message.put = reader.string();
+ break;
+ }
+ case 4: {
+ message.post = reader.string();
+ break;
+ }
+ case 5: {
+ message["delete"] = reader.string();
+ break;
+ }
+ case 6: {
+ message.patch = reader.string();
+ break;
+ }
+ case 8: {
+ message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.body = reader.string();
+ break;
+ }
+ case 12: {
+ message.responseBody = reader.string();
+ break;
+ }
+ case 11: {
+ if (!(message.additionalBindings && message.additionalBindings.length))
+ message.additionalBindings = [];
+ message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HttpRule message.
+ * @function verify
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HttpRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ if (!$util.isString(message.selector))
+ return "selector: string expected";
+ if (message.get != null && message.hasOwnProperty("get")) {
+ properties.pattern = 1;
+ if (!$util.isString(message.get))
+ return "get: string expected";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.put))
+ return "put: string expected";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.post))
+ return "post: string expected";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message["delete"]))
+ return "delete: string expected";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.patch))
+ return "patch: string expected";
+ }
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ {
+ var error = $root.google.api.CustomHttpPattern.verify(message.custom);
+ if (error)
+ return "custom." + error;
+ }
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ if (!$util.isString(message.body))
+ return "body: string expected";
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ if (!$util.isString(message.responseBody))
+ return "responseBody: string expected";
+ if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) {
+ if (!Array.isArray(message.additionalBindings))
+ return "additionalBindings: array expected";
+ for (var i = 0; i < message.additionalBindings.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]);
+ if (error)
+ return "additionalBindings." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.HttpRule} HttpRule
+ */
+ HttpRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.HttpRule)
+ return object;
+ var message = new $root.google.api.HttpRule();
+ if (object.selector != null)
+ message.selector = String(object.selector);
+ if (object.get != null)
+ message.get = String(object.get);
+ if (object.put != null)
+ message.put = String(object.put);
+ if (object.post != null)
+ message.post = String(object.post);
+ if (object["delete"] != null)
+ message["delete"] = String(object["delete"]);
+ if (object.patch != null)
+ message.patch = String(object.patch);
+ if (object.custom != null) {
+ if (typeof object.custom !== "object")
+ throw TypeError(".google.api.HttpRule.custom: object expected");
+ message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom);
+ }
+ if (object.body != null)
+ message.body = String(object.body);
+ if (object.responseBody != null)
+ message.responseBody = String(object.responseBody);
+ if (object.additionalBindings) {
+ if (!Array.isArray(object.additionalBindings))
+ throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
+ message.additionalBindings = [];
+ for (var i = 0; i < object.additionalBindings.length; ++i) {
+ if (typeof object.additionalBindings[i] !== "object")
+ throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
+ message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.HttpRule} message HttpRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HttpRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.additionalBindings = [];
+ if (options.defaults) {
+ object.selector = "";
+ object.body = "";
+ object.responseBody = "";
+ }
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ object.selector = message.selector;
+ if (message.get != null && message.hasOwnProperty("get")) {
+ object.get = message.get;
+ if (options.oneofs)
+ object.pattern = "get";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ object.put = message.put;
+ if (options.oneofs)
+ object.pattern = "put";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ object.post = message.post;
+ if (options.oneofs)
+ object.pattern = "post";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ object["delete"] = message["delete"];
+ if (options.oneofs)
+ object.pattern = "delete";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ object.patch = message.patch;
+ if (options.oneofs)
+ object.pattern = "patch";
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ object.body = message.body;
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options);
+ if (options.oneofs)
+ object.pattern = "custom";
+ }
+ if (message.additionalBindings && message.additionalBindings.length) {
+ object.additionalBindings = [];
+ for (var j = 0; j < message.additionalBindings.length; ++j)
+ object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options);
+ }
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ object.responseBody = message.responseBody;
+ return object;
+ };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @function toJSON
+ * @memberof google.api.HttpRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HttpRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @function getTypeUrl
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.HttpRule";
+ };
+
+ return HttpRule;
+ })();
+
+ api.CustomHttpPattern = (function() {
+
+ /**
+ * Properties of a CustomHttpPattern.
+ * @memberof google.api
+ * @interface ICustomHttpPattern
+ * @property {string|null} [kind] CustomHttpPattern kind
+ * @property {string|null} [path] CustomHttpPattern path
+ */
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @memberof google.api
+ * @classdesc Represents a CustomHttpPattern.
+ * @implements ICustomHttpPattern
+ * @constructor
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ */
+ function CustomHttpPattern(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CustomHttpPattern kind.
+ * @member {string} kind
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.kind = "";
+
+ /**
+ * CustomHttpPattern path.
+ * @member {string} path
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.path = "";
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @function create
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance
+ */
+ CustomHttpPattern.create = function create(properties) {
+ return new CustomHttpPattern(properties);
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind);
+ if (message.path != null && Object.hasOwnProperty.call(message, "path"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.path);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.kind = reader.string();
+ break;
+ }
+ case 2: {
+ message.path = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @function verify
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomHttpPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.path != null && message.hasOwnProperty("path"))
+ if (!$util.isString(message.path))
+ return "path: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ */
+ CustomHttpPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CustomHttpPattern)
+ return object;
+ var message = new $root.google.api.CustomHttpPattern();
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ if (object.path != null)
+ message.path = String(object.path);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.CustomHttpPattern} message CustomHttpPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomHttpPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.kind = "";
+ object.path = "";
+ }
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.path != null && message.hasOwnProperty("path"))
+ object.path = message.path;
+ return object;
+ };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @function toJSON
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomHttpPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @function getTypeUrl
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CustomHttpPattern";
+ };
+
+ return CustomHttpPattern;
+ })();
+
+ api.ResourceDescriptor = (function() {
+
+ /**
+ * Properties of a ResourceDescriptor.
+ * @memberof google.api
+ * @interface IResourceDescriptor
+ * @property {string|null} [type] ResourceDescriptor type
+ * @property {Array.|null} [pattern] ResourceDescriptor pattern
+ * @property {string|null} [nameField] ResourceDescriptor nameField
+ * @property {google.api.ResourceDescriptor.History|null} [history] ResourceDescriptor history
+ * @property {string|null} [plural] ResourceDescriptor plural
+ * @property {string|null} [singular] ResourceDescriptor singular
+ * @property {Array.|null} [style] ResourceDescriptor style
+ */
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @memberof google.api
+ * @classdesc Represents a ResourceDescriptor.
+ * @implements IResourceDescriptor
+ * @constructor
+ * @param {google.api.IResourceDescriptor=} [properties] Properties to set
+ */
+ function ResourceDescriptor(properties) {
+ this.pattern = [];
+ this.style = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ResourceDescriptor type.
+ * @member {string} type
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.type = "";
+
+ /**
+ * ResourceDescriptor pattern.
+ * @member {Array.} pattern
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.pattern = $util.emptyArray;
+
+ /**
+ * ResourceDescriptor nameField.
+ * @member {string} nameField
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.nameField = "";
+
+ /**
+ * ResourceDescriptor history.
+ * @member {google.api.ResourceDescriptor.History} history
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.history = 0;
+
+ /**
+ * ResourceDescriptor plural.
+ * @member {string} plural
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.plural = "";
+
+ /**
+ * ResourceDescriptor singular.
+ * @member {string} singular
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.singular = "";
+
+ /**
+ * ResourceDescriptor style.
+ * @member {Array.} style
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ */
+ ResourceDescriptor.prototype.style = $util.emptyArray;
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @function create
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {google.api.IResourceDescriptor=} [properties] Properties to set
+ * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance
+ */
+ ResourceDescriptor.create = function create(properties) {
+ return new ResourceDescriptor(properties);
+ };
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceDescriptor.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.type);
+ if (message.pattern != null && message.pattern.length)
+ for (var i = 0; i < message.pattern.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]);
+ if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField);
+ if (message.history != null && Object.hasOwnProperty.call(message, "history"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history);
+ if (message.plural != null && Object.hasOwnProperty.call(message, "plural"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural);
+ if (message.singular != null && Object.hasOwnProperty.call(message, "singular"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular);
+ if (message.style != null && message.style.length) {
+ writer.uint32(/* id 10, wireType 2 =*/82).fork();
+ for (var i = 0; i < message.style.length; ++i)
+ writer.int32(message.style[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.ResourceDescriptor} ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceDescriptor.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.pattern && message.pattern.length))
+ message.pattern = [];
+ message.pattern.push(reader.string());
+ break;
+ }
+ case 3: {
+ message.nameField = reader.string();
+ break;
+ }
+ case 4: {
+ message.history = reader.int32();
+ break;
+ }
+ case 5: {
+ message.plural = reader.string();
+ break;
+ }
+ case 6: {
+ message.singular = reader.string();
+ break;
+ }
+ case 10: {
+ if (!(message.style && message.style.length))
+ message.style = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.style.push(reader.int32());
+ } else
+ message.style.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.ResourceDescriptor} ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @function verify
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResourceDescriptor.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.pattern != null && message.hasOwnProperty("pattern")) {
+ if (!Array.isArray(message.pattern))
+ return "pattern: array expected";
+ for (var i = 0; i < message.pattern.length; ++i)
+ if (!$util.isString(message.pattern[i]))
+ return "pattern: string[] expected";
+ }
+ if (message.nameField != null && message.hasOwnProperty("nameField"))
+ if (!$util.isString(message.nameField))
+ return "nameField: string expected";
+ if (message.history != null && message.hasOwnProperty("history"))
+ switch (message.history) {
+ default:
+ return "history: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.plural != null && message.hasOwnProperty("plural"))
+ if (!$util.isString(message.plural))
+ return "plural: string expected";
+ if (message.singular != null && message.hasOwnProperty("singular"))
+ if (!$util.isString(message.singular))
+ return "singular: string expected";
+ if (message.style != null && message.hasOwnProperty("style")) {
+ if (!Array.isArray(message.style))
+ return "style: array expected";
+ for (var i = 0; i < message.style.length; ++i)
+ switch (message.style[i]) {
+ default:
+ return "style: enum value[] expected";
+ case 0:
+ case 1:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.ResourceDescriptor} ResourceDescriptor
+ */
+ ResourceDescriptor.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.ResourceDescriptor)
+ return object;
+ var message = new $root.google.api.ResourceDescriptor();
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.pattern) {
+ if (!Array.isArray(object.pattern))
+ throw TypeError(".google.api.ResourceDescriptor.pattern: array expected");
+ message.pattern = [];
+ for (var i = 0; i < object.pattern.length; ++i)
+ message.pattern[i] = String(object.pattern[i]);
+ }
+ if (object.nameField != null)
+ message.nameField = String(object.nameField);
+ switch (object.history) {
+ default:
+ if (typeof object.history === "number") {
+ message.history = object.history;
+ break;
+ }
+ break;
+ case "HISTORY_UNSPECIFIED":
+ case 0:
+ message.history = 0;
+ break;
+ case "ORIGINALLY_SINGLE_PATTERN":
+ case 1:
+ message.history = 1;
+ break;
+ case "FUTURE_MULTI_PATTERN":
+ case 2:
+ message.history = 2;
+ break;
+ }
+ if (object.plural != null)
+ message.plural = String(object.plural);
+ if (object.singular != null)
+ message.singular = String(object.singular);
+ if (object.style) {
+ if (!Array.isArray(object.style))
+ throw TypeError(".google.api.ResourceDescriptor.style: array expected");
+ message.style = [];
+ for (var i = 0; i < object.style.length; ++i)
+ switch (object.style[i]) {
+ default:
+ if (typeof object.style[i] === "number") {
+ message.style[i] = object.style[i];
+ break;
+ }
+ case "STYLE_UNSPECIFIED":
+ case 0:
+ message.style[i] = 0;
+ break;
+ case "DECLARATIVE_FRIENDLY":
+ case 1:
+ message.style[i] = 1;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {google.api.ResourceDescriptor} message ResourceDescriptor
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResourceDescriptor.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.pattern = [];
+ object.style = [];
+ }
+ if (options.defaults) {
+ object.type = "";
+ object.nameField = "";
+ object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0;
+ object.plural = "";
+ object.singular = "";
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.pattern && message.pattern.length) {
+ object.pattern = [];
+ for (var j = 0; j < message.pattern.length; ++j)
+ object.pattern[j] = message.pattern[j];
+ }
+ if (message.nameField != null && message.hasOwnProperty("nameField"))
+ object.nameField = message.nameField;
+ if (message.history != null && message.hasOwnProperty("history"))
+ object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history;
+ if (message.plural != null && message.hasOwnProperty("plural"))
+ object.plural = message.plural;
+ if (message.singular != null && message.hasOwnProperty("singular"))
+ object.singular = message.singular;
+ if (message.style && message.style.length) {
+ object.style = [];
+ for (var j = 0; j < message.style.length; ++j)
+ object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @function toJSON
+ * @memberof google.api.ResourceDescriptor
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResourceDescriptor.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @function getTypeUrl
+ * @memberof google.api.ResourceDescriptor
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.ResourceDescriptor";
+ };
+
+ /**
+ * History enum.
+ * @name google.api.ResourceDescriptor.History
+ * @enum {number}
+ * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value
+ * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value
+ * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value
+ */
+ ResourceDescriptor.History = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1;
+ values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2;
+ return values;
+ })();
+
+ /**
+ * Style enum.
+ * @name google.api.ResourceDescriptor.Style
+ * @enum {number}
+ * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value
+ * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value
+ */
+ ResourceDescriptor.Style = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1;
+ return values;
+ })();
+
+ return ResourceDescriptor;
+ })();
+
+ api.ResourceReference = (function() {
+
+ /**
+ * Properties of a ResourceReference.
+ * @memberof google.api
+ * @interface IResourceReference
+ * @property {string|null} [type] ResourceReference type
+ * @property {string|null} [childType] ResourceReference childType
+ */
+
+ /**
+ * Constructs a new ResourceReference.
+ * @memberof google.api
+ * @classdesc Represents a ResourceReference.
+ * @implements IResourceReference
+ * @constructor
+ * @param {google.api.IResourceReference=} [properties] Properties to set
+ */
+ function ResourceReference(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ResourceReference type.
+ * @member {string} type
+ * @memberof google.api.ResourceReference
+ * @instance
+ */
+ ResourceReference.prototype.type = "";
+
+ /**
+ * ResourceReference childType.
+ * @member {string} childType
+ * @memberof google.api.ResourceReference
+ * @instance
+ */
+ ResourceReference.prototype.childType = "";
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @function create
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {google.api.IResourceReference=} [properties] Properties to set
+ * @returns {google.api.ResourceReference} ResourceReference instance
+ */
+ ResourceReference.create = function create(properties) {
+ return new ResourceReference(properties);
+ };
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceReference.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.type);
+ if (message.childType != null && Object.hasOwnProperty.call(message, "childType"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceReference.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.ResourceReference} ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceReference.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.string();
+ break;
+ }
+ case 2: {
+ message.childType = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.ResourceReference} ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceReference.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResourceReference message.
+ * @function verify
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResourceReference.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.childType != null && message.hasOwnProperty("childType"))
+ if (!$util.isString(message.childType))
+ return "childType: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.ResourceReference} ResourceReference
+ */
+ ResourceReference.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.ResourceReference)
+ return object;
+ var message = new $root.google.api.ResourceReference();
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.childType != null)
+ message.childType = String(object.childType);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {google.api.ResourceReference} message ResourceReference
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResourceReference.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.type = "";
+ object.childType = "";
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.childType != null && message.hasOwnProperty("childType"))
+ object.childType = message.childType;
+ return object;
+ };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @function toJSON
+ * @memberof google.api.ResourceReference
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResourceReference.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @function getTypeUrl
+ * @memberof google.api.ResourceReference
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.ResourceReference";
+ };
+
+ return ResourceReference;
+ })();
+
+ return api;
+ })();
+
+ google.protobuf = (function() {
+
+ /**
+ * Namespace protobuf.
+ * @memberof google
+ * @namespace
+ */
+ var protobuf = {};
+
+ protobuf.FileDescriptorSet = (function() {
+
+ /**
+ * Properties of a FileDescriptorSet.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorSet
+ * @property {Array.|null} [file] FileDescriptorSet file
+ */
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorSet.
+ * @implements IFileDescriptorSet
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ */
+ function FileDescriptorSet(properties) {
+ this.file = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FileDescriptorSet file.
+ * @member {Array.} file
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ */
+ FileDescriptorSet.prototype.file = $util.emptyArray;
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance
+ */
+ FileDescriptorSet.create = function create(properties) {
+ return new FileDescriptorSet(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.file != null && message.file.length)
+ for (var i = 0; i < message.file.length; ++i)
+ $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.file && message.file.length))
+ message.file = [];
+ message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.file != null && message.hasOwnProperty("file")) {
+ if (!Array.isArray(message.file))
+ return "file: array expected";
+ for (var i = 0; i < message.file.length; ++i) {
+ var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]);
+ if (error)
+ return "file." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ */
+ FileDescriptorSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorSet)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorSet();
+ if (object.file) {
+ if (!Array.isArray(object.file))
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
+ message.file = [];
+ for (var i = 0; i < object.file.length; ++i) {
+ if (typeof object.file[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
+ message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.file = [];
+ if (message.file && message.file.length) {
+ object.file = [];
+ for (var j = 0; j < message.file.length; ++j)
+ object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorSet";
+ };
+
+ return FileDescriptorSet;
+ })();
+
+ protobuf.FileDescriptorProto = (function() {
+
+ /**
+ * Properties of a FileDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorProto
+ * @property {string|null} [name] FileDescriptorProto name
+ * @property {string|null} ["package"] FileDescriptorProto package
+ * @property {Array.|null} [dependency] FileDescriptorProto dependency
+ * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency
+ * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency
+ * @property {Array.|null} [messageType] FileDescriptorProto messageType
+ * @property {Array.|null} [enumType] FileDescriptorProto enumType
+ * @property {Array.|null} [service] FileDescriptorProto service
+ * @property {Array.|null} [extension] FileDescriptorProto extension
+ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options
+ * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo
+ * @property {string|null} [syntax] FileDescriptorProto syntax
+ * @property {string|null} [edition] FileDescriptorProto edition
+ */
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorProto.
+ * @implements IFileDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ */
+ function FileDescriptorProto(properties) {
+ this.dependency = [];
+ this.publicDependency = [];
+ this.weakDependency = [];
+ this.messageType = [];
+ this.enumType = [];
+ this.service = [];
+ this.extension = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FileDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.name = "";
+
+ /**
+ * FileDescriptorProto package.
+ * @member {string} package
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype["package"] = "";
+
+ /**
+ * FileDescriptorProto dependency.
+ * @member {Array.} dependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.dependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto publicDependency.
+ * @member {Array.} publicDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.publicDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto weakDependency.
+ * @member {Array.} weakDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto messageType.
+ * @member {Array.} messageType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.messageType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto service.
+ * @member {Array.} service
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.service = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto options.
+ * @member {google.protobuf.IFileOptions|null|undefined} options
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.options = null;
+
+ /**
+ * FileDescriptorProto sourceCodeInfo.
+ * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.sourceCodeInfo = null;
+
+ /**
+ * FileDescriptorProto syntax.
+ * @member {string} syntax
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.syntax = "";
+
+ /**
+ * FileDescriptorProto edition.
+ * @member {string} edition
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.edition = "";
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance
+ */
+ FileDescriptorProto.create = function create(properties) {
+ return new FileDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message["package"] != null && Object.hasOwnProperty.call(message, "package"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]);
+ if (message.dependency != null && message.dependency.length)
+ for (var i = 0; i < message.dependency.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]);
+ if (message.messageType != null && message.messageType.length)
+ for (var i = 0; i < message.messageType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.service != null && message.service.length)
+ for (var i = 0; i < message.service.length; ++i)
+ $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo"))
+ $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.publicDependency != null && message.publicDependency.length)
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]);
+ if (message.weakDependency != null && message.weakDependency.length)
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]);
+ if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message["package"] = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.dependency && message.dependency.length))
+ message.dependency = [];
+ message.dependency.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.publicDependency && message.publicDependency.length))
+ message.publicDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.publicDependency.push(reader.int32());
+ } else
+ message.publicDependency.push(reader.int32());
+ break;
+ }
+ case 11: {
+ if (!(message.weakDependency && message.weakDependency.length))
+ message.weakDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.weakDependency.push(reader.int32());
+ } else
+ message.weakDependency.push(reader.int32());
+ break;
+ }
+ case 4: {
+ if (!(message.messageType && message.messageType.length))
+ message.messageType = [];
+ message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.service && message.service.length))
+ message.service = [];
+ message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.syntax = reader.string();
+ break;
+ }
+ case 13: {
+ message.edition = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message["package"] != null && message.hasOwnProperty("package"))
+ if (!$util.isString(message["package"]))
+ return "package: string expected";
+ if (message.dependency != null && message.hasOwnProperty("dependency")) {
+ if (!Array.isArray(message.dependency))
+ return "dependency: array expected";
+ for (var i = 0; i < message.dependency.length; ++i)
+ if (!$util.isString(message.dependency[i]))
+ return "dependency: string[] expected";
+ }
+ if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) {
+ if (!Array.isArray(message.publicDependency))
+ return "publicDependency: array expected";
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ if (!$util.isInteger(message.publicDependency[i]))
+ return "publicDependency: integer[] expected";
+ }
+ if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) {
+ if (!Array.isArray(message.weakDependency))
+ return "weakDependency: array expected";
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ if (!$util.isInteger(message.weakDependency[i]))
+ return "weakDependency: integer[] expected";
+ }
+ if (message.messageType != null && message.hasOwnProperty("messageType")) {
+ if (!Array.isArray(message.messageType))
+ return "messageType: array expected";
+ for (var i = 0; i < message.messageType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]);
+ if (error)
+ return "messageType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.service != null && message.hasOwnProperty("service")) {
+ if (!Array.isArray(message.service))
+ return "service: array expected";
+ for (var i = 0; i < message.service.length; ++i) {
+ var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]);
+ if (error)
+ return "service." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FileOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) {
+ var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo);
+ if (error)
+ return "sourceCodeInfo." + error;
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ if (!$util.isString(message.syntax))
+ return "syntax: string expected";
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ if (!$util.isString(message.edition))
+ return "edition: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ */
+ FileDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object["package"] != null)
+ message["package"] = String(object["package"]);
+ if (object.dependency) {
+ if (!Array.isArray(object.dependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
+ message.dependency = [];
+ for (var i = 0; i < object.dependency.length; ++i)
+ message.dependency[i] = String(object.dependency[i]);
+ }
+ if (object.publicDependency) {
+ if (!Array.isArray(object.publicDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
+ message.publicDependency = [];
+ for (var i = 0; i < object.publicDependency.length; ++i)
+ message.publicDependency[i] = object.publicDependency[i] | 0;
+ }
+ if (object.weakDependency) {
+ if (!Array.isArray(object.weakDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
+ message.weakDependency = [];
+ for (var i = 0; i < object.weakDependency.length; ++i)
+ message.weakDependency[i] = object.weakDependency[i] | 0;
+ }
+ if (object.messageType) {
+ if (!Array.isArray(object.messageType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
+ message.messageType = [];
+ for (var i = 0; i < object.messageType.length; ++i) {
+ if (typeof object.messageType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
+ message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.service) {
+ if (!Array.isArray(object.service))
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
+ message.service = [];
+ for (var i = 0; i < object.service.length; ++i) {
+ if (typeof object.service[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
+ message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FileOptions.fromObject(object.options);
+ }
+ if (object.sourceCodeInfo != null) {
+ if (typeof object.sourceCodeInfo !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo);
+ }
+ if (object.syntax != null)
+ message.syntax = String(object.syntax);
+ if (object.edition != null)
+ message.edition = String(object.edition);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.dependency = [];
+ object.messageType = [];
+ object.enumType = [];
+ object.service = [];
+ object.extension = [];
+ object.publicDependency = [];
+ object.weakDependency = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object["package"] = "";
+ object.options = null;
+ object.sourceCodeInfo = null;
+ object.syntax = "";
+ object.edition = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message["package"] != null && message.hasOwnProperty("package"))
+ object["package"] = message["package"];
+ if (message.dependency && message.dependency.length) {
+ object.dependency = [];
+ for (var j = 0; j < message.dependency.length; ++j)
+ object.dependency[j] = message.dependency[j];
+ }
+ if (message.messageType && message.messageType.length) {
+ object.messageType = [];
+ for (var j = 0; j < message.messageType.length; ++j)
+ object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.service && message.service.length) {
+ object.service = [];
+ for (var j = 0; j < message.service.length; ++j)
+ object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FileOptions.toObject(message.options, options);
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo"))
+ object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options);
+ if (message.publicDependency && message.publicDependency.length) {
+ object.publicDependency = [];
+ for (var j = 0; j < message.publicDependency.length; ++j)
+ object.publicDependency[j] = message.publicDependency[j];
+ }
+ if (message.weakDependency && message.weakDependency.length) {
+ object.weakDependency = [];
+ for (var j = 0; j < message.weakDependency.length; ++j)
+ object.weakDependency[j] = message.weakDependency[j];
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ object.syntax = message.syntax;
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ object.edition = message.edition;
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorProto";
+ };
+
+ return FileDescriptorProto;
+ })();
+
+ protobuf.DescriptorProto = (function() {
+
+ /**
+ * Properties of a DescriptorProto.
+ * @memberof google.protobuf
+ * @interface IDescriptorProto
+ * @property {string|null} [name] DescriptorProto name
+ * @property {Array.|null} [field] DescriptorProto field
+ * @property {Array.|null} [extension] DescriptorProto extension
+ * @property {Array.|null} [nestedType] DescriptorProto nestedType
+ * @property {Array.|null} [enumType] DescriptorProto enumType
+ * @property {Array.|null} [extensionRange] DescriptorProto extensionRange
+ * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl
+ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options
+ * @property {Array.|null} [reservedRange] DescriptorProto reservedRange
+ * @property {Array.|null} [reservedName] DescriptorProto reservedName
+ */
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a DescriptorProto.
+ * @implements IDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ */
+ function DescriptorProto(properties) {
+ this.field = [];
+ this.extension = [];
+ this.nestedType = [];
+ this.enumType = [];
+ this.extensionRange = [];
+ this.oneofDecl = [];
+ this.reservedRange = [];
+ this.reservedName = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.name = "";
+
+ /**
+ * DescriptorProto field.
+ * @member {Array.} field
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.field = $util.emptyArray;
+
+ /**
+ * DescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * DescriptorProto nestedType.
+ * @member {Array.} nestedType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.nestedType = $util.emptyArray;
+
+ /**
+ * DescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * DescriptorProto extensionRange.
+ * @member {Array.} extensionRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extensionRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto oneofDecl.
+ * @member {Array.} oneofDecl
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.oneofDecl = $util.emptyArray;
+
+ /**
+ * DescriptorProto options.
+ * @member {google.protobuf.IMessageOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.options = null;
+
+ /**
+ * DescriptorProto reservedRange.
+ * @member {Array.} reservedRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto reservedName.
+ * @member {Array.} reservedName
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedName = $util.emptyArray;
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto instance
+ */
+ DescriptorProto.create = function create(properties) {
+ return new DescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.field != null && message.field.length)
+ for (var i = 0; i < message.field.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.nestedType != null && message.nestedType.length)
+ for (var i = 0; i < message.nestedType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.extensionRange != null && message.extensionRange.length)
+ for (var i = 0; i < message.extensionRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.oneofDecl != null && message.oneofDecl.length)
+ for (var i = 0; i < message.oneofDecl.length; ++i)
+ $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.reservedRange != null && message.reservedRange.length)
+ for (var i = 0; i < message.reservedRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.reservedName != null && message.reservedName.length)
+ for (var i = 0; i < message.reservedName.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.field && message.field.length))
+ message.field = [];
+ message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.nestedType && message.nestedType.length))
+ message.nestedType = [];
+ message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.extensionRange && message.extensionRange.length))
+ message.extensionRange = [];
+ message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ if (!(message.oneofDecl && message.oneofDecl.length))
+ message.oneofDecl = [];
+ message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ if (!(message.reservedRange && message.reservedRange.length))
+ message.reservedRange = [];
+ message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 10: {
+ if (!(message.reservedName && message.reservedName.length))
+ message.reservedName = [];
+ message.reservedName.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.field != null && message.hasOwnProperty("field")) {
+ if (!Array.isArray(message.field))
+ return "field: array expected";
+ for (var i = 0; i < message.field.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]);
+ if (error)
+ return "field." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.nestedType != null && message.hasOwnProperty("nestedType")) {
+ if (!Array.isArray(message.nestedType))
+ return "nestedType: array expected";
+ for (var i = 0; i < message.nestedType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]);
+ if (error)
+ return "nestedType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) {
+ if (!Array.isArray(message.extensionRange))
+ return "extensionRange: array expected";
+ for (var i = 0; i < message.extensionRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]);
+ if (error)
+ return "extensionRange." + error;
+ }
+ }
+ if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) {
+ if (!Array.isArray(message.oneofDecl))
+ return "oneofDecl: array expected";
+ for (var i = 0; i < message.oneofDecl.length; ++i) {
+ var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]);
+ if (error)
+ return "oneofDecl." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.MessageOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
+ if (!Array.isArray(message.reservedRange))
+ return "reservedRange: array expected";
+ for (var i = 0; i < message.reservedRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]);
+ if (error)
+ return "reservedRange." + error;
+ }
+ }
+ if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
+ if (!Array.isArray(message.reservedName))
+ return "reservedName: array expected";
+ for (var i = 0; i < message.reservedName.length; ++i)
+ if (!$util.isString(message.reservedName[i]))
+ return "reservedName: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ */
+ DescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.field) {
+ if (!Array.isArray(object.field))
+ throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
+ message.field = [];
+ for (var i = 0; i < object.field.length; ++i) {
+ if (typeof object.field[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
+ message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.nestedType) {
+ if (!Array.isArray(object.nestedType))
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
+ message.nestedType = [];
+ for (var i = 0; i < object.nestedType.length; ++i) {
+ if (typeof object.nestedType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
+ message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.extensionRange) {
+ if (!Array.isArray(object.extensionRange))
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
+ message.extensionRange = [];
+ for (var i = 0; i < object.extensionRange.length; ++i) {
+ if (typeof object.extensionRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
+ message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]);
+ }
+ }
+ if (object.oneofDecl) {
+ if (!Array.isArray(object.oneofDecl))
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
+ message.oneofDecl = [];
+ for (var i = 0; i < object.oneofDecl.length; ++i) {
+ if (typeof object.oneofDecl[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
+ message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.MessageOptions.fromObject(object.options);
+ }
+ if (object.reservedRange) {
+ if (!Array.isArray(object.reservedRange))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
+ message.reservedRange = [];
+ for (var i = 0; i < object.reservedRange.length; ++i) {
+ if (typeof object.reservedRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
+ message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]);
+ }
+ }
+ if (object.reservedName) {
+ if (!Array.isArray(object.reservedName))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
+ message.reservedName = [];
+ for (var i = 0; i < object.reservedName.length; ++i)
+ message.reservedName[i] = String(object.reservedName[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.DescriptorProto} message DescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.field = [];
+ object.nestedType = [];
+ object.enumType = [];
+ object.extensionRange = [];
+ object.extension = [];
+ object.oneofDecl = [];
+ object.reservedRange = [];
+ object.reservedName = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.field && message.field.length) {
+ object.field = [];
+ for (var j = 0; j < message.field.length; ++j)
+ object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options);
+ }
+ if (message.nestedType && message.nestedType.length) {
+ object.nestedType = [];
+ for (var j = 0; j < message.nestedType.length; ++j)
+ object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.extensionRange && message.extensionRange.length) {
+ object.extensionRange = [];
+ for (var j = 0; j < message.extensionRange.length; ++j)
+ object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options);
+ if (message.oneofDecl && message.oneofDecl.length) {
+ object.oneofDecl = [];
+ for (var j = 0; j < message.oneofDecl.length; ++j)
+ object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options);
+ }
+ if (message.reservedRange && message.reservedRange.length) {
+ object.reservedRange = [];
+ for (var j = 0; j < message.reservedRange.length; ++j)
+ object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options);
+ }
+ if (message.reservedName && message.reservedName.length) {
+ object.reservedName = [];
+ for (var j = 0; j < message.reservedName.length; ++j)
+ object.reservedName[j] = message.reservedName[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto";
+ };
+
+ DescriptorProto.ExtensionRange = (function() {
+
+ /**
+ * Properties of an ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IExtensionRange
+ * @property {number|null} [start] ExtensionRange start
+ * @property {number|null} [end] ExtensionRange end
+ * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options
+ */
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents an ExtensionRange.
+ * @implements IExtensionRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ */
+ function ExtensionRange(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExtensionRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.start = 0;
+
+ /**
+ * ExtensionRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.end = 0;
+
+ /**
+ * ExtensionRange options.
+ * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.options = null;
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance
+ */
+ ExtensionRange.create = function create(properties) {
+ return new ExtensionRange(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ */
+ ExtensionRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
+ message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ object.options = null;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange";
+ };
+
+ return ExtensionRange;
+ })();
+
+ DescriptorProto.ReservedRange = (function() {
+
+ /**
+ * Properties of a ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IReservedRange
+ * @property {number|null} [start] ReservedRange start
+ * @property {number|null} [end] ReservedRange end
+ */
+
+ /**
+ * Constructs a new ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents a ReservedRange.
+ * @implements IReservedRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ */
+ function ReservedRange(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ReservedRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.start = 0;
+
+ /**
+ * ReservedRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.end = 0;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance
+ */
+ ReservedRange.create = function create(properties) {
+ return new ReservedRange(properties);
+ };
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReservedRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReservedRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ */
+ ReservedRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ReservedRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReservedRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ return object;
+ };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReservedRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange";
+ };
+
+ return ReservedRange;
+ })();
+
+ return DescriptorProto;
+ })();
+
+ protobuf.ExtensionRangeOptions = (function() {
+
+ /**
+ * Properties of an ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @interface IExtensionRangeOptions
+ * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption
+ */
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an ExtensionRangeOptions.
+ * @implements IExtensionRangeOptions
+ * @constructor
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ */
+ function ExtensionRangeOptions(properties) {
+ this.uninterpretedOption = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExtensionRangeOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance
+ */
+ ExtensionRangeOptions.create = function create(properties) {
+ return new ExtensionRangeOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @function verify
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRangeOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ */
+ ExtensionRangeOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions)
+ return object;
+ var message = new $root.google.protobuf.ExtensionRangeOptions();
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRangeOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRangeOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
+ };
+
+ return ExtensionRangeOptions;
+ })();
+
+ protobuf.FieldDescriptorProto = (function() {
+
+ /**
+ * Properties of a FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFieldDescriptorProto
+ * @property {string|null} [name] FieldDescriptorProto name
+ * @property {number|null} [number] FieldDescriptorProto number
+ * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
+ * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
+ * @property {string|null} [typeName] FieldDescriptorProto typeName
+ * @property {string|null} [extendee] FieldDescriptorProto extendee
+ * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
+ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
+ * @property {string|null} [jsonName] FieldDescriptorProto jsonName
+ * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
+ * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
+ */
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FieldDescriptorProto.
+ * @implements IFieldDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ */
+ function FieldDescriptorProto(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FieldDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.name = "";
+
+ /**
+ * FieldDescriptorProto number.
+ * @member {number} number
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.number = 0;
+
+ /**
+ * FieldDescriptorProto label.
+ * @member {google.protobuf.FieldDescriptorProto.Label} label
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.label = 1;
+
+ /**
+ * FieldDescriptorProto type.
+ * @member {google.protobuf.FieldDescriptorProto.Type} type
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.type = 1;
+
+ /**
+ * FieldDescriptorProto typeName.
+ * @member {string} typeName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.typeName = "";
+
+ /**
+ * FieldDescriptorProto extendee.
+ * @member {string} extendee
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.extendee = "";
+
+ /**
+ * FieldDescriptorProto defaultValue.
+ * @member {string} defaultValue
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.defaultValue = "";
+
+ /**
+ * FieldDescriptorProto oneofIndex.
+ * @member {number} oneofIndex
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.oneofIndex = 0;
+
+ /**
+ * FieldDescriptorProto jsonName.
+ * @member {string} jsonName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.jsonName = "";
+
+ /**
+ * FieldDescriptorProto options.
+ * @member {google.protobuf.IFieldOptions|null|undefined} options
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.options = null;
+
+ /**
+ * FieldDescriptorProto proto3Optional.
+ * @member {boolean} proto3Optional
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.proto3Optional = false;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance
+ */
+ FieldDescriptorProto.create = function create(properties) {
+ return new FieldDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee);
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number);
+ if (message.label != null && Object.hasOwnProperty.call(message, "label"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);
+ if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName);
+ if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex);
+ if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName);
+ if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional"))
+ writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.number = reader.int32();
+ break;
+ }
+ case 4: {
+ message.label = reader.int32();
+ break;
+ }
+ case 5: {
+ message.type = reader.int32();
+ break;
+ }
+ case 6: {
+ message.typeName = reader.string();
+ break;
+ }
+ case 2: {
+ message.extendee = reader.string();
+ break;
+ }
+ case 7: {
+ message.defaultValue = reader.string();
+ break;
+ }
+ case 9: {
+ message.oneofIndex = reader.int32();
+ break;
+ }
+ case 10: {
+ message.jsonName = reader.string();
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.proto3Optional = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FieldDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.label != null && message.hasOwnProperty("label"))
+ switch (message.label) {
+ default:
+ return "label: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ break;
+ }
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ if (!$util.isString(message.typeName))
+ return "typeName: string expected";
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ if (!$util.isString(message.extendee))
+ return "extendee: string expected";
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ if (!$util.isString(message.defaultValue))
+ return "defaultValue: string expected";
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ if (!$util.isInteger(message.oneofIndex))
+ return "oneofIndex: integer expected";
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ if (!$util.isString(message.jsonName))
+ return "jsonName: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FieldOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ if (typeof message.proto3Optional !== "boolean")
+ return "proto3Optional: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ */
+ FieldDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FieldDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.number != null)
+ message.number = object.number | 0;
+ switch (object.label) {
+ default:
+ if (typeof object.label === "number") {
+ message.label = object.label;
+ break;
+ }
+ break;
+ case "LABEL_OPTIONAL":
+ case 1:
+ message.label = 1;
+ break;
+ case "LABEL_REQUIRED":
+ case 2:
+ message.label = 2;
+ break;
+ case "LABEL_REPEATED":
+ case 3:
+ message.label = 3;
+ break;
+ }
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_DOUBLE":
+ case 1:
+ message.type = 1;
+ break;
+ case "TYPE_FLOAT":
+ case 2:
+ message.type = 2;
+ break;
+ case "TYPE_INT64":
+ case 3:
+ message.type = 3;
+ break;
+ case "TYPE_UINT64":
+ case 4:
+ message.type = 4;
+ break;
+ case "TYPE_INT32":
+ case 5:
+ message.type = 5;
+ break;
+ case "TYPE_FIXED64":
+ case 6:
+ message.type = 6;
+ break;
+ case "TYPE_FIXED32":
+ case 7:
+ message.type = 7;
+ break;
+ case "TYPE_BOOL":
+ case 8:
+ message.type = 8;
+ break;
+ case "TYPE_STRING":
+ case 9:
+ message.type = 9;
+ break;
+ case "TYPE_GROUP":
+ case 10:
+ message.type = 10;
+ break;
+ case "TYPE_MESSAGE":
+ case 11:
+ message.type = 11;
+ break;
+ case "TYPE_BYTES":
+ case 12:
+ message.type = 12;
+ break;
+ case "TYPE_UINT32":
+ case 13:
+ message.type = 13;
+ break;
+ case "TYPE_ENUM":
+ case 14:
+ message.type = 14;
+ break;
+ case "TYPE_SFIXED32":
+ case 15:
+ message.type = 15;
+ break;
+ case "TYPE_SFIXED64":
+ case 16:
+ message.type = 16;
+ break;
+ case "TYPE_SINT32":
+ case 17:
+ message.type = 17;
+ break;
+ case "TYPE_SINT64":
+ case 18:
+ message.type = 18;
+ break;
+ }
+ if (object.typeName != null)
+ message.typeName = String(object.typeName);
+ if (object.extendee != null)
+ message.extendee = String(object.extendee);
+ if (object.defaultValue != null)
+ message.defaultValue = String(object.defaultValue);
+ if (object.oneofIndex != null)
+ message.oneofIndex = object.oneofIndex | 0;
+ if (object.jsonName != null)
+ message.jsonName = String(object.jsonName);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FieldOptions.fromObject(object.options);
+ }
+ if (object.proto3Optional != null)
+ message.proto3Optional = Boolean(object.proto3Optional);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FieldDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.extendee = "";
+ object.number = 0;
+ object.label = options.enums === String ? "LABEL_OPTIONAL" : 1;
+ object.type = options.enums === String ? "TYPE_DOUBLE" : 1;
+ object.typeName = "";
+ object.defaultValue = "";
+ object.options = null;
+ object.oneofIndex = 0;
+ object.jsonName = "";
+ object.proto3Optional = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ object.extendee = message.extendee;
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.label != null && message.hasOwnProperty("label"))
+ object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type;
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ object.typeName = message.typeName;
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ object.defaultValue = message.defaultValue;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options);
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ object.oneofIndex = message.oneofIndex;
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ object.jsonName = message.jsonName;
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ object.proto3Optional = message.proto3Optional;
+ return object;
+ };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FieldDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto";
+ };
+
+ /**
+ * Type enum.
+ * @name google.protobuf.FieldDescriptorProto.Type
+ * @enum {number}
+ * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value
+ * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value
+ * @property {number} TYPE_INT64=3 TYPE_INT64 value
+ * @property {number} TYPE_UINT64=4 TYPE_UINT64 value
+ * @property {number} TYPE_INT32=5 TYPE_INT32 value
+ * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value
+ * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value
+ * @property {number} TYPE_BOOL=8 TYPE_BOOL value
+ * @property {number} TYPE_STRING=9 TYPE_STRING value
+ * @property {number} TYPE_GROUP=10 TYPE_GROUP value
+ * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value
+ * @property {number} TYPE_BYTES=12 TYPE_BYTES value
+ * @property {number} TYPE_UINT32=13 TYPE_UINT32 value
+ * @property {number} TYPE_ENUM=14 TYPE_ENUM value
+ * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value
+ * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value
+ * @property {number} TYPE_SINT32=17 TYPE_SINT32 value
+ * @property {number} TYPE_SINT64=18 TYPE_SINT64 value
+ */
+ FieldDescriptorProto.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "TYPE_DOUBLE"] = 1;
+ values[valuesById[2] = "TYPE_FLOAT"] = 2;
+ values[valuesById[3] = "TYPE_INT64"] = 3;
+ values[valuesById[4] = "TYPE_UINT64"] = 4;
+ values[valuesById[5] = "TYPE_INT32"] = 5;
+ values[valuesById[6] = "TYPE_FIXED64"] = 6;
+ values[valuesById[7] = "TYPE_FIXED32"] = 7;
+ values[valuesById[8] = "TYPE_BOOL"] = 8;
+ values[valuesById[9] = "TYPE_STRING"] = 9;
+ values[valuesById[10] = "TYPE_GROUP"] = 10;
+ values[valuesById[11] = "TYPE_MESSAGE"] = 11;
+ values[valuesById[12] = "TYPE_BYTES"] = 12;
+ values[valuesById[13] = "TYPE_UINT32"] = 13;
+ values[valuesById[14] = "TYPE_ENUM"] = 14;
+ values[valuesById[15] = "TYPE_SFIXED32"] = 15;
+ values[valuesById[16] = "TYPE_SFIXED64"] = 16;
+ values[valuesById[17] = "TYPE_SINT32"] = 17;
+ values[valuesById[18] = "TYPE_SINT64"] = 18;
+ return values;
+ })();
+
+ /**
+ * Label enum.
+ * @name google.protobuf.FieldDescriptorProto.Label
+ * @enum {number}
+ * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value
+ * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value
+ * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value
+ */
+ FieldDescriptorProto.Label = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "LABEL_OPTIONAL"] = 1;
+ values[valuesById[2] = "LABEL_REQUIRED"] = 2;
+ values[valuesById[3] = "LABEL_REPEATED"] = 3;
+ return values;
+ })();
+
+ return FieldDescriptorProto;
+ })();
+
+ protobuf.OneofDescriptorProto = (function() {
+
+ /**
+ * Properties of an OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IOneofDescriptorProto
+ * @property {string|null} [name] OneofDescriptorProto name
+ * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options
+ */
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an OneofDescriptorProto.
+ * @implements IOneofDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ */
+ function OneofDescriptorProto(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * OneofDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.name = "";
+
+ /**
+ * OneofDescriptorProto options.
+ * @member {google.protobuf.IOneofOptions|null|undefined} options
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance
+ */
+ OneofDescriptorProto.create = function create(properties) {
+ return new OneofDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OneofDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.OneofOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ */
+ OneofDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.OneofDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.OneofDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.OneofOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OneofDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OneofDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto";
+ };
+
+ return OneofDescriptorProto;
+ })();
+
+ protobuf.EnumDescriptorProto = (function() {
+
+ /**
+ * Properties of an EnumDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IEnumDescriptorProto
+ * @property {string|null} [name] EnumDescriptorProto name
+ * @property {Array.|null} [value] EnumDescriptorProto value
+ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options
+ * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange
+ * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName
+ */
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumDescriptorProto.
+ * @implements IEnumDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set
+ */
+ function EnumDescriptorProto(properties) {
+ this.value = [];
+ this.reservedRange = [];
+ this.reservedName = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EnumDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.name = "";
+
+ /**
+ * EnumDescriptorProto value.
+ * @member {Array.} value
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.value = $util.emptyArray;
+
+ /**
+ * EnumDescriptorProto options.
+ * @member {google.protobuf.IEnumOptions|null|undefined} options
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.options = null;
+
+ /**
+ * EnumDescriptorProto reservedRange.
+ * @member {Array.} reservedRange
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.reservedRange = $util.emptyArray;
+
+ /**
+ * EnumDescriptorProto reservedName.
+ * @member {Array.} reservedName
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ */
+ EnumDescriptorProto.prototype.reservedName = $util.emptyArray;
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance
+ */
+ EnumDescriptorProto.create = function create(properties) {
+ return new EnumDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.value != null && message.value.length)
+ for (var i = 0; i < message.value.length; ++i)
+ $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.reservedRange != null && message.reservedRange.length)
+ for (var i = 0; i < message.reservedRange.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.reservedName != null && message.reservedName.length)
+ for (var i = 0; i < message.reservedName.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.value && message.value.length))
+ message.value = [];
+ message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ if (!(message.reservedRange && message.reservedRange.length))
+ message.reservedRange = [];
+ message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.reservedName && message.reservedName.length))
+ message.reservedName = [];
+ message.reservedName.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.value != null && message.hasOwnProperty("value")) {
+ if (!Array.isArray(message.value))
+ return "value: array expected";
+ for (var i = 0; i < message.value.length; ++i) {
+ var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]);
+ if (error)
+ return "value." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.EnumOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
+ if (!Array.isArray(message.reservedRange))
+ return "reservedRange: array expected";
+ for (var i = 0; i < message.reservedRange.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]);
+ if (error)
+ return "reservedRange." + error;
+ }
+ }
+ if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
+ if (!Array.isArray(message.reservedName))
+ return "reservedName: array expected";
+ for (var i = 0; i < message.reservedName.length; ++i)
+ if (!$util.isString(message.reservedName[i]))
+ return "reservedName: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
+ */
+ EnumDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.EnumDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.value) {
+ if (!Array.isArray(object.value))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");
+ message.value = [];
+ for (var i = 0; i < object.value.length; ++i) {
+ if (typeof object.value[i] !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
+ message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.EnumOptions.fromObject(object.options);
+ }
+ if (object.reservedRange) {
+ if (!Array.isArray(object.reservedRange))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected");
+ message.reservedRange = [];
+ for (var i = 0; i < object.reservedRange.length; ++i) {
+ if (typeof object.reservedRange[i] !== "object")
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
+ message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]);
+ }
+ }
+ if (object.reservedName) {
+ if (!Array.isArray(object.reservedName))
+ throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected");
+ message.reservedName = [];
+ for (var i = 0; i < object.reservedName.length; ++i)
+ message.reservedName[i] = String(object.reservedName[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.value = [];
+ object.reservedRange = [];
+ object.reservedName = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.value && message.value.length) {
+ object.value = [];
+ for (var j = 0; j < message.value.length; ++j)
+ object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options);
+ if (message.reservedRange && message.reservedRange.length) {
+ object.reservedRange = [];
+ for (var j = 0; j < message.reservedRange.length; ++j)
+ object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options);
+ }
+ if (message.reservedName && message.reservedName.length) {
+ object.reservedName = [];
+ for (var j = 0; j < message.reservedName.length; ++j)
+ object.reservedName[j] = message.reservedName[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto";
+ };
+
+ EnumDescriptorProto.EnumReservedRange = (function() {
+
+ /**
+ * Properties of an EnumReservedRange.
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @interface IEnumReservedRange
+ * @property {number|null} [start] EnumReservedRange start
+ * @property {number|null} [end] EnumReservedRange end
+ */
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @memberof google.protobuf.EnumDescriptorProto
+ * @classdesc Represents an EnumReservedRange.
+ * @implements IEnumReservedRange
+ * @constructor
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set
+ */
+ function EnumReservedRange(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EnumReservedRange start.
+ * @member {number} start
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ */
+ EnumReservedRange.prototype.start = 0;
+
+ /**
+ * EnumReservedRange end.
+ * @member {number} end
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ */
+ EnumReservedRange.prototype.end = 0;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance
+ */
+ EnumReservedRange.create = function create(properties) {
+ return new EnumReservedRange(properties);
+ };
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumReservedRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumReservedRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumReservedRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @function verify
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumReservedRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
+ */
+ EnumReservedRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)
+ return object;
+ var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumReservedRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ return object;
+ };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumReservedRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange";
+ };
+
+ return EnumReservedRange;
+ })();
+
+ return EnumDescriptorProto;
+ })();
+
+ protobuf.EnumValueDescriptorProto = (function() {
+
+ /**
+ * Properties of an EnumValueDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IEnumValueDescriptorProto
+ * @property {string|null} [name] EnumValueDescriptorProto name
+ * @property {number|null} [number] EnumValueDescriptorProto number
+ * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options
+ */
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an EnumValueDescriptorProto.
+ * @implements IEnumValueDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set
+ */
+ function EnumValueDescriptorProto(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * EnumValueDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.name = "";
+
+ /**
+ * EnumValueDescriptorProto number.
+ * @member {number} number
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.number = 0;
+
+ /**
+ * EnumValueDescriptorProto options.
+ * @member {google.protobuf.IEnumValueOptions|null|undefined} options
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ */
+ EnumValueDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance
+ */
+ EnumValueDescriptorProto.create = function create(properties) {
+ return new EnumValueDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.number = reader.int32();
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EnumValueDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.EnumValueOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
+ */
+ EnumValueDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.EnumValueDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.EnumValueDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.number != null)
+ message.number = object.number | 0;
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EnumValueDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.number = 0;
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EnumValueDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.EnumValueDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto";
+ };
+
+ return EnumValueDescriptorProto;
+ })();
+
+ protobuf.ServiceDescriptorProto = (function() {
+
+ /**
+ * Properties of a ServiceDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IServiceDescriptorProto
+ * @property {string|null} [name] ServiceDescriptorProto name
+ * @property {Array.|null} [method] ServiceDescriptorProto method
+ * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options
+ */
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a ServiceDescriptorProto.
+ * @implements IServiceDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set
+ */
+ function ServiceDescriptorProto(properties) {
+ this.method = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ServiceDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.name = "";
+
+ /**
+ * ServiceDescriptorProto method.
+ * @member {Array.} method
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.method = $util.emptyArray;
+
+ /**
+ * ServiceDescriptorProto options.
+ * @member {google.protobuf.IServiceOptions|null|undefined} options
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @instance
+ */
+ ServiceDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance
+ */
+ ServiceDescriptorProto.create = function create(properties) {
+ return new ServiceDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.method != null && message.method.length)
+ for (var i = 0; i < message.method.length; ++i)
+ $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.method && message.method.length))
+ message.method = [];
+ message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.method != null && message.hasOwnProperty("method")) {
+ if (!Array.isArray(message.method))
+ return "method: array expected";
+ for (var i = 0; i < message.method.length; ++i) {
+ var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]);
+ if (error)
+ return "method." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.ServiceOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
+ */
+ ServiceDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ServiceDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.ServiceDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.method) {
+ if (!Array.isArray(object.method))
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");
+ message.method = [];
+ for (var i = 0; i < object.method.length; ++i) {
+ if (typeof object.method[i] !== "object")
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
+ message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ServiceDescriptorProto
+ * @static
+ * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.