diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c38b0a70276..cac6bd1f04b 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -17,6 +17,7 @@
"packages/google-cloud-dataplex": "2.2.2",
"packages/google-cloud-dataproc": "4.1.1",
"packages/google-cloud-deploy": "2.2.2",
+ "packages/google-cloud-dialogflow": "5.3.0",
"packages/google-cloud-discoveryengine": "0.2.0",
"packages/google-cloud-gkeconnect-gateway": "2.0.5",
"packages/google-cloud-gkemulticloud": "0.1.4",
diff --git a/packages/google-cloud-dialogflow/.OwlBot.yaml b/packages/google-cloud-dialogflow/.OwlBot.yaml
new file mode 100644
index 00000000000..ccadb768b99
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.OwlBot.yaml
@@ -0,0 +1,20 @@
+# Copyright 2021 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-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/dialogflow/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-dialogflow/$1
diff --git a/packages/google-cloud-dialogflow/.cloud-repo-tools.json b/packages/google-cloud-dialogflow/.cloud-repo-tools.json
new file mode 100644
index 00000000000..0ef95cef48e
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.cloud-repo-tools.json
@@ -0,0 +1,170 @@
+{
+ "requiresKeyFile": true,
+ "requiresProjectId": true,
+ "client_reference_url": "https://dialogflow.com/docs/reference/api-v2/rpc/",
+ "release_quality": "beta",
+ "samples": [
+ {
+ "id": "dialogflow_detect_intent_text",
+ "name": "Detect Intent (Text)",
+ "file": "detect.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.DetectIntentRequest",
+ "usage": "node detect.js --help"
+ },
+ {
+ "id": "dialogflow_create_knowledge_base",
+ "name": "Create Knowledge Base",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.createKnowledgeBase",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_get_knowledge_base",
+ "name": "Get Knowledge Base",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.getKnowledgeBase",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_list_knowledge_base",
+ "name": "list Knowledge Base",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.listKnowledgeBase",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_delete_knowledge_base",
+ "name": "list Knowledge Base",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.deleteKnowledgeBase",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_create_document",
+ "name": "create Document",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.createDocument",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_list_document",
+ "name": "list Documents",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.listDocuments",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_get_document",
+ "name": "Get Document",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.getDocument",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_delete_document",
+ "name": "delete Document",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.deleteDocument",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_detect_intent_with_sentiment_analysis",
+ "name": "detect Intent with sentiment analysis",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.detectIntentwithSentimentAnalysis",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_detect_intent_with_texttospeech_response",
+ "name": "detect Intent with text-to-speech response",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.detectIntentwithtexttospeechresponse",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_detect_intent_knowledge",
+ "name": "detect Intent with Knowledge Base",
+ "file": "detect.v2beta1.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.detectIntentknowledge",
+ "usage": "node detect.v2beta1.js --help"
+ },
+ {
+ "id": "dialogflow_detect_intent_audio",
+ "name": "Detect Intent (Audio)",
+ "file": "detect.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.DetectIntentRequest",
+ "usage": "node detect.js --help"
+ },
+ {
+ "id": "dialogflow_detect_intent_streaming",
+ "name": "Detect Intent (Streaming)",
+ "file": "detect.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.DetectIntentRequest",
+ "usage": "node detect.js --help"
+ },
+ {
+ "id": "dialogflow_create_entity",
+ "name": "Create Entity",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.EntityTypes.CreateEntityType",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_delete_entity",
+ "name": "Delete Entity",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.EntityTypes.DeleteEntityType",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_create_intent",
+ "name": "Create Intent",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.Intents.CreateIntent",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_delete_intent",
+ "name": "Delete Intent",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.Intents.DeleteIntent",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_create_context",
+ "name": "Create Context",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.Contexts.CreateContext",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_delete_context",
+ "name": "Delete Context",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.Contexts.DeleteContext",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_create_session_entity_type",
+ "name": "Create Session Entity Type",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.SessionEntityTypes.CreateSessionEntityType",
+ "usage": "node resource.js --help"
+ },
+ {
+ "id": "dialogflow_delete_session_entity_type",
+ "name": "Delete Session Entity Type",
+ "file": "resource.js",
+ "docs_link": "https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.SessionEntityTypes.DeleteSessionEntityType",
+ "usage": "node resource.js --help"
+ }
+ ],
+
+ "_product": "dialogflow",
+ "id": "dialogflow",
+ "name": "Dialogflow",
+ "short_name": "Dialogflow",
+ "docs_url": "https://dialogflow.com/docs/reference/api-v2/rpc/",
+ "description": "[Dialogflow](https://dialogflow.com/docs/reference/v2-agent-setup) is an enterprise-grade NLU platform that makes it easy for developers to design and integrate conversational user interfaces into mobile apps, web applications, devices, and bots.",
+ "api_id": "dialogflow.googleapis.com"
+}
diff --git a/packages/google-cloud-dialogflow/.eslintignore b/packages/google-cloud-dialogflow/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-dialogflow/.eslintrc.json b/packages/google-cloud-dialogflow/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-dialogflow/.gitattributes b/packages/google-cloud-dialogflow/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.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-cloud-dialogflow/.gitignore b/packages/google-cloud-dialogflow/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.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-cloud-dialogflow/.jsdoc.js b/packages/google-cloud-dialogflow/.jsdoc.js
new file mode 100644
index 00000000000..fe4bcaa346d
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.jsdoc.js
@@ -0,0 +1,55 @@
+// 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
+//
+// 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 2022 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/dialogflow',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-dialogflow/.mocharc.js b/packages/google-cloud-dialogflow/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.mocharc.js
@@ -0,0 +1,29 @@
+// 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.
+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-cloud-dialogflow/.nycrc b/packages/google-cloud-dialogflow/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.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-cloud-dialogflow/.prettierignore b/packages/google-cloud-dialogflow/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-dialogflow/.prettierrc.js b/packages/google-cloud-dialogflow/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.prettierrc.js
@@ -0,0 +1,17 @@
+// 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
+//
+// 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-cloud-dialogflow/.readme-partials.yml b/packages/google-cloud-dialogflow/.readme-partials.yml
new file mode 100644
index 00000000000..1f1873688fe
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.readme-partials.yml
@@ -0,0 +1,3 @@
+introduction: |-
+ ### **_IMPORTANT NOTE_**
+ **Version 2.0.0 renames `dialogflow` to `@google-cloud/dialogflow` on npm, along with introducing TypeScript types.**
diff --git a/packages/google-cloud-dialogflow/.repo-metadata.json b/packages/google-cloud-dialogflow/.repo-metadata.json
new file mode 100644
index 00000000000..c96d1a9c6b0
--- /dev/null
+++ b/packages/google-cloud-dialogflow/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "name": "dialogflow",
+ "name_pretty": "Dialogflow API",
+ "product_documentation": "https://cloud.google.com/dialogflow-enterprise/",
+ "client_documentation": "https://googleapis.dev/nodejs/dialogflow/latest",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/5300385",
+ "release_level": "stable",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/dialogflow",
+ "api_id": "dialogflow.googleapis.com",
+ "requires_billing": true,
+ "codeowner_team": "@googleapis/ml-apis",
+ "default_version": "v2",
+ "api_shortname": "dialogflow",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-dialogflow/CHANGELOG.md b/packages/google-cloud-dialogflow/CHANGELOG.md
new file mode 100644
index 00000000000..215eb1ee17f
--- /dev/null
+++ b/packages/google-cloud-dialogflow/CHANGELOG.md
@@ -0,0 +1,665 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/dialogflow?activeTab=versions
+
+## [5.3.0](https://github.com/googleapis/nodejs-dialogflow/compare/v5.2.1...v5.3.0) (2022-11-11)
+
+
+### Features
+
+* Add Agent Assist Summarization API (https://cloud.google.com/agent-assist/docs/summarization) ([#1002](https://github.com/googleapis/nodejs-dialogflow/issues/1002)) ([3475fc1](https://github.com/googleapis/nodejs-dialogflow/commit/3475fc14909c451b10edb847101aed8efaa75988))
+* Added obfuscated_external_user_id to Participant ([2c98a57](https://github.com/googleapis/nodejs-dialogflow/commit/2c98a57248019054654ac686f204627cf0141c83))
+* Added StreamingAnalyzeContent API ([#1004](https://github.com/googleapis/nodejs-dialogflow/issues/1004)) ([2c98a57](https://github.com/googleapis/nodejs-dialogflow/commit/2c98a57248019054654ac686f204627cf0141c83))
+* Can directly set Cloud Speech model on the SpeechToTextConfig ([2c98a57](https://github.com/googleapis/nodejs-dialogflow/commit/2c98a57248019054654ac686f204627cf0141c83))
+* Can directly set Cloud Speech model on the SpeechToTextConfig ([2c98a57](https://github.com/googleapis/nodejs-dialogflow/commit/2c98a57248019054654ac686f204627cf0141c83))
+* Include conversation dataset name to be created with dataset creation metadata ([#1003](https://github.com/googleapis/nodejs-dialogflow/issues/1003)) ([fe73406](https://github.com/googleapis/nodejs-dialogflow/commit/fe734066be3d46337513e62a3846b4c19b361636))
+
+
+### Bug Fixes
+
+* **deps:** Update dependency uuid to v9 ([#977](https://github.com/googleapis/nodejs-dialogflow/issues/977)) ([6c7ec11](https://github.com/googleapis/nodejs-dialogflow/commit/6c7ec117b01288734ddd67ad684bc9c03a5e7a8c))
+* **deps:** Use google-gax v3.5.2 ([#1007](https://github.com/googleapis/nodejs-dialogflow/issues/1007)) ([be3d1f3](https://github.com/googleapis/nodejs-dialogflow/commit/be3d1f3e1d80aea4edee6fa4b98de58a504f5ea3))
+* Preserve default values in x-goog-request-params header ([#979](https://github.com/googleapis/nodejs-dialogflow/issues/979)) ([2492264](https://github.com/googleapis/nodejs-dialogflow/commit/2492264ffa536521b794eff60c60bbe2def57b9b))
+* update proto definitions ([471c6a3](https://github.com/googleapis/nodejs-dialogflow/commit/471c6a30cb7d5dc00a96f5e84aefc8afe4d8ada3))
+* Update proto definitions ([#1010](https://github.com/googleapis/nodejs-dialogflow/issues/1010)) ([471c6a3](https://github.com/googleapis/nodejs-dialogflow/commit/471c6a30cb7d5dc00a96f5e84aefc8afe4d8ada3))
+
+## [5.2.1](https://github.com/googleapis/nodejs-dialogflow/compare/v5.2.0...v5.2.1) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#971](https://github.com/googleapis/nodejs-dialogflow/issues/971)) ([f4ee343](https://github.com/googleapis/nodejs-dialogflow/commit/f4ee343be47632cecab651b83879d6bdb66efef1))
+* Change import long to require ([#972](https://github.com/googleapis/nodejs-dialogflow/issues/972)) ([7104597](https://github.com/googleapis/nodejs-dialogflow/commit/7104597a6c26f6e484a70ba9dc460118c9174d9e))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-dialogflow/issues/1553)) ([#976](https://github.com/googleapis/nodejs-dialogflow/issues/976)) ([33fe037](https://github.com/googleapis/nodejs-dialogflow/commit/33fe037549e6c2a77b26dc12857ccb77aad3c4b4))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-dialogflow/issues/1546)) ([#974](https://github.com/googleapis/nodejs-dialogflow/issues/974)) ([54282a6](https://github.com/googleapis/nodejs-dialogflow/commit/54282a69cef164649ab3560d99e2bfd3b12bb9b3))
+
+## [5.2.0](https://github.com/googleapis/nodejs-dialogflow/compare/v5.1.0...v5.2.0) (2022-07-10)
+
+
+### Features
+
+* provide new parameter cx_current_page, the unique identifier of the CX page to override the `current_page` in the session. Add filter field to ListAnswerRecordsRequest. And add AudioInput to analysis requests docs: add more meaningful comments ([dc596ea](https://github.com/googleapis/nodejs-dialogflow/commit/dc596ea3ad8da955fa81513991f573c8665341a0))
+
+
+### Bug Fixes
+
+* **deps:** do not depend on protobufjs ([#968](https://github.com/googleapis/nodejs-dialogflow/issues/968)) ([08e36aa](https://github.com/googleapis/nodejs-dialogflow/commit/08e36aa4c4de24cbc7963f4bcf80762b892cb4c3))
+
+## [5.1.0](https://github.com/googleapis/nodejs-dialogflow/compare/v5.0.0...v5.1.0) (2022-07-05)
+
+
+### Features
+
+* deprecated the filter field and add resource_definition ([0d0b5c9](https://github.com/googleapis/nodejs-dialogflow/commit/0d0b5c99f68726cc53f5442f745713551bed55c2))
+* support regapic LRO ([#962](https://github.com/googleapis/nodejs-dialogflow/issues/962)) ([6957ec1](https://github.com/googleapis/nodejs-dialogflow/commit/6957ec16f4ed5cac469c8bf9cc95b048a192c62a))
+
+## [5.0.0](https://github.com/googleapis/nodejs-dialogflow/compare/v4.7.0...v5.0.0) (2022-06-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#955)
+* correct broken ConversationModelEvaluation resource pattern (#945)
+
+### Features
+
+* add the API of StreamingAnalyzeContent ([#952](https://github.com/googleapis/nodejs-dialogflow/issues/952)) ([ca02d94](https://github.com/googleapis/nodejs-dialogflow/commit/ca02d9456fdfbbd0d2855f07ef1c6e9a972be7ac))
+
+
+### Bug Fixes
+
+* correct broken ConversationModelEvaluation resource pattern ([#945](https://github.com/googleapis/nodejs-dialogflow/issues/945)) ([e1785d6](https://github.com/googleapis/nodejs-dialogflow/commit/e1785d61f45e409dd7ad5005db0ae88a8c1e69d5))
+* fixes for dynamic routing and streaming descriptors ([#958](https://github.com/googleapis/nodejs-dialogflow/issues/958)) ([3330957](https://github.com/googleapis/nodejs-dialogflow/commit/33309570f0200264ac4fe6cf3052ccd8648665f8))
+
+
+### Build System
+
+* update library to use Node 12 ([#955](https://github.com/googleapis/nodejs-dialogflow/issues/955)) ([6755bed](https://github.com/googleapis/nodejs-dialogflow/commit/6755bed996af1582cf06ea9ef05281f1de880f80))
+
+## [4.7.0](https://github.com/googleapis/nodejs-dialogflow/compare/v4.6.0...v4.7.0) (2022-03-25)
+
+
+### Features
+
+* added export documentation method ([35a77f4](https://github.com/googleapis/nodejs-dialogflow/commit/35a77f432d7d12dfe3e56370e2205ca37dd89a7d))
+* added option to configure the number of sentences in the suggestion context ([#917](https://github.com/googleapis/nodejs-dialogflow/issues/917)) ([17aa7d6](https://github.com/googleapis/nodejs-dialogflow/commit/17aa7d68c933382ea633727181e399f32f770409))
+* removed OPTIONAL for speech model variant docs: added more docs for speech model variant and improved docs format for participant ([#906](https://github.com/googleapis/nodejs-dialogflow/issues/906)) ([7df7d27](https://github.com/googleapis/nodejs-dialogflow/commit/7df7d2798490e0a32c7f0bb15de0b1aec7666b43))
+
+## [4.6.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.5.0...v4.6.0) (2021-12-13)
+
+
+### Features
+
+* add eslintignore for sameple generated code ([#1302](https://www.github.com/googleapis/nodejs-dialogflow/issues/1302)) ([#905](https://www.github.com/googleapis/nodejs-dialogflow/issues/905)) ([b5dfbed](https://www.github.com/googleapis/nodejs-dialogflow/commit/b5dfbeda80f61d374ac021c90ca0e3325d9d2081))
+* added support to configure security settings, language code and time zone on conversation profile ([#895](https://www.github.com/googleapis/nodejs-dialogflow/issues/895)) ([aa2ccf7](https://www.github.com/googleapis/nodejs-dialogflow/commit/aa2ccf73e35d37350f62df997bad7fd3dd0e15bf))
+* support document metadata filter in article suggestion ([#900](https://www.github.com/googleapis/nodejs-dialogflow/issues/900)) ([6801270](https://www.github.com/googleapis/nodejs-dialogflow/commit/680127075e92ad9b4147af22ed97804cf9ae524a))
+* support document metadata filter in article suggestion and smart reply model in human agent assistant ([#899](https://www.github.com/googleapis/nodejs-dialogflow/issues/899)) ([f823aa3](https://www.github.com/googleapis/nodejs-dialogflow/commit/f823aa3e63ffee33a90b7fb02962cfa16af042be))
+
+## [4.5.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.4.0...v4.5.0) (2021-10-11)
+
+
+### Features
+
+* added support for TelephonyTransferCall in Participant ResponseMessage ([#880](https://www.github.com/googleapis/nodejs-dialogflow/issues/880)) ([dbcf3b0](https://www.github.com/googleapis/nodejs-dialogflow/commit/dbcf3b087cf141f88af5406bd9c1ae92f1c16e19))
+
+## [4.4.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.3.1...v4.4.0) (2021-09-21)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#867](https://www.github.com/googleapis/nodejs-dialogflow/issues/867)) ([4bc4959](https://www.github.com/googleapis/nodejs-dialogflow/commit/4bc4959a8a85f8b2f1fed8133edc461db9e0dd0f))
+
+### [4.3.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.3.0...v4.3.1) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#864](https://www.github.com/googleapis/nodejs-dialogflow/issues/864)) ([6646fb3](https://www.github.com/googleapis/nodejs-dialogflow/commit/6646fb35de95b2933adad91a4a111ee0dfd37ce9))
+
+## [4.3.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.2.0...v4.3.0) (2021-08-16)
+
+
+### Features
+
+* expose `Locations` service to get/list avaliable locations of Dialogflow products; fixed some API annotations ([#860](https://www.github.com/googleapis/nodejs-dialogflow/issues/860)) ([05ea702](https://www.github.com/googleapis/nodejs-dialogflow/commit/05ea702372c08d0f0f157419799e59ea983df32a))
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#862](https://www.github.com/googleapis/nodejs-dialogflow/issues/862)) ([ec0635c](https://www.github.com/googleapis/nodejs-dialogflow/commit/ec0635c17384c4fc5661d8a046b50b3fc2920505))
+
+## [4.2.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.1.4...v4.2.0) (2021-08-10)
+
+
+### Features
+
+* Expose `Locations` service to get/list avaliable locations of Dialogflow products docs: reorder some fields ([#857](https://www.github.com/googleapis/nodejs-dialogflow/issues/857)) ([4ffc775](https://www.github.com/googleapis/nodejs-dialogflow/commit/4ffc775af328735a00ba075e75e1065c3b1dd308))
+
+### [4.1.4](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.1.3...v4.1.4) (2021-08-04)
+
+
+### Bug Fixes
+
+* fix validation result docs feat: add language code to streaming recognition result docs: update environment docs ([#853](https://www.github.com/googleapis/nodejs-dialogflow/issues/853)) ([d2eb1bd](https://www.github.com/googleapis/nodejs-dialogflow/commit/d2eb1bdaf886493952163bcb41291ad492a7bfb8))
+* fix validation result docs feat: add language code to streaming recognition result feat: add time zone and security settings to conversation profile docs: update agent docs docs: update entity type docs docs: update intent docs ([#854](https://www.github.com/googleapis/nodejs-dialogflow/issues/854)) ([cda7ff3](https://www.github.com/googleapis/nodejs-dialogflow/commit/cda7ff335abad989612c104e990be1f6a55c89b5))
+
+### [4.1.3](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.1.2...v4.1.3) (2021-07-21)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#842](https://www.github.com/googleapis/nodejs-dialogflow/issues/842)) ([ecaa1d9](https://www.github.com/googleapis/nodejs-dialogflow/commit/ecaa1d960b147bf24160b17c8d82ad85f7085d4a))
+
+### [4.1.2](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.1.1...v4.1.2) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#840](https://www.github.com/googleapis/nodejs-dialogflow/issues/840)) ([0035d9c](https://www.github.com/googleapis/nodejs-dialogflow/commit/0035d9cfd77045332446472e97cc06d48ca39beb))
+
+### [4.1.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.1.0...v4.1.1) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#837](https://www.github.com/googleapis/nodejs-dialogflow/issues/837)) ([05819be](https://www.github.com/googleapis/nodejs-dialogflow/commit/05819be5b6592c0c377f522ae56bf3a3bdd8dbde))
+* make request optional in all cases ([#830](https://www.github.com/googleapis/nodejs-dialogflow/issues/830)) ([08ef5e5](https://www.github.com/googleapis/nodejs-dialogflow/commit/08ef5e59076b498fb423279059ab11de95a54e58))
+
+## [4.1.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v4.0.0...v4.1.0) (2021-06-15)
+
+
+### Features
+
+* added Automated agent reply type and allow cancellation flag for partial response feature ([#825](https://www.github.com/googleapis/nodejs-dialogflow/issues/825)) ([5b128d9](https://www.github.com/googleapis/nodejs-dialogflow/commit/5b128d97eeb63e7d7666e800e5a62789f6f56a65))
+
+## [4.0.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.5.0...v4.0.0) (2021-06-15)
+
+
+### ⚠ BREAKING CHANGES
+
+* helper agentPath becomes projectAgentPath
+* helper intentPath becomes projectAgentIntentPath
+* helper entityTypePath becomes projectAgentEntityTypePath
+* remove unused proto InputText, InputAudio (#796)
+
+### Features
+
+* added Fulfillment service ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+* added more Environment RPCs ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+* added TextToSpeechSettings. ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+* added Versions service ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#812](https://www.github.com/googleapis/nodejs-dialogflow/issues/812)) ([0ecd65c](https://www.github.com/googleapis/nodejs-dialogflow/commit/0ecd65cb683801827078fb83e60231ea45eec568))
+* remove unused proto InputText, InputAudio ([#796](https://www.github.com/googleapis/nodejs-dialogflow/issues/796)) ([4f6f7d6](https://www.github.com/googleapis/nodejs-dialogflow/commit/4f6f7d6de67533a68866da1452e669e28ff1b2a8))
+
+
+### Code Refactoring
+
+* helper agentPath becomes projectAgentPath ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+* helper entityTypePath becomes projectAgentEntityTypePath ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+* helper intentPath becomes projectAgentIntentPath ([fa42037](https://www.github.com/googleapis/nodejs-dialogflow/commit/fa420372a4dc6ec99e68df277050ed36b8c3091d))
+
+## [3.5.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.4.0...v3.5.0) (2021-04-06)
+
+
+### Features
+
+* expose MP3_64_KBPS and MULAW for output audio encodings. ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* expose MP3_64_KBPS and MULAW for output audio encodings. ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+
+
+### Bug Fixes
+
+* Add all missing regional HTTP bindings in DF API. ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* remove `input_audio` field from AnalyzeContentRequest from v2/v2beta1 ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* remove proto message CreateCallMatcherRequest, CreateCallMatcherResponse, ListCallMatchersRequest, ListCallMatchersResponse, DeleteCallMatcherRequest, DeleteCallMatcherResponse, CallMatcher, StreamingAnalyzeContentRequest, StreamingAnalyzeContentResponse, AudioInput from v2/v2beta1, TelephonyDtmfEvents, TelephonyDtmf from v2 ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* remove resource_reference for invisible resources. ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* Remove resource_reference from UpdateAnswerRecord. ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* remove rpc or fields that are unintended to release ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+* remove StreamingAnalyzeContent, CreateCallMatcher, ListCallMatchers, DeleteCallMatcher rpc from v2/v2beta1 ([b07f89d](https://www.github.com/googleapis/nodejs-dialogflow/commit/b07f89dd9fecb345391c24f936cbcdfe11745921))
+
+## [3.4.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.3.0...v3.4.0) (2021-03-15)
+
+
+### ⚠ BREAKING CHANGES
+
+* removed ImportAgentResponse which was not ready for use yet
+
+### Features
+
+* add additional_bindings to Dialogflow v2 ListIntents API docs: update copyrights and session docs ([66cd3a5](https://www.github.com/googleapis/nodejs-dialogflow/commit/66cd3a5b5c605deb37efbc4f87edf17b8d4dd4c1))
+* add additional_bindings to Dialogflow v2beta1 ListIntents API docs: update copyrights and session docs ([66cd3a5](https://www.github.com/googleapis/nodejs-dialogflow/commit/66cd3a5b5c605deb37efbc4f87edf17b8d4dd4c1))
+* add CCAI API ([a93fa71](https://www.github.com/googleapis/nodejs-dialogflow/commit/a93fa71d45cace7822d5585a8a407e3e7e563686))
+* added support for regionalization for document API ([#722](https://www.github.com/googleapis/nodejs-dialogflow/issues/722)) ([b6f5738](https://www.github.com/googleapis/nodejs-dialogflow/commit/b6f5738613fc5af49b966d4a8c4137921abed5ef))
+* adds style enum ([72bb3ae](https://www.github.com/googleapis/nodejs-dialogflow/commit/72bb3aed5fbe9a605810cce69a12fd3c5e4d1fac))
+* allowed custom to specify webhook headers through query parameters ([#724](https://www.github.com/googleapis/nodejs-dialogflow/issues/724)) ([a7f784a](https://www.github.com/googleapis/nodejs-dialogflow/commit/a7f784ac921a750e9df2e6edbfa3bee870187af1))
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#718](https://www.github.com/googleapis/nodejs-dialogflow/issues/718)) ([fb28879](https://www.github.com/googleapis/nodejs-dialogflow/commit/fb28879443c27688d1923d6675ea97c3c5d4d0e7))
+* do not modify options object, use defaultScopes ([#706](https://www.github.com/googleapis/nodejs-dialogflow/issues/706)) ([95a938d](https://www.github.com/googleapis/nodejs-dialogflow/commit/95a938dbc5f2cc49c217bb5d3cecbbffba3e6d18))
+* remove MixedAudio ([a93fa71](https://www.github.com/googleapis/nodejs-dialogflow/commit/a93fa71d45cace7822d5585a8a407e3e7e563686))
+* removed ImportAgentResponse which was not ready for use yet ([e0d9fa6](https://www.github.com/googleapis/nodejs-dialogflow/commit/e0d9fa69bba79540c09ec777b3eee6bf0bd5e4b6))
+
+## [3.3.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.2.0...v3.3.0) (2020-09-15)
+
+
+### Features
+
+* added Telephony Gateway DTMF events doc: added locations in resource name formats doc: wording updates for tiers ([#683](https://www.github.com/googleapis/nodejs-dialogflow/issues/683)) ([a0cb46a](https://www.github.com/googleapis/nodejs-dialogflow/commit/a0cb46a81b3b50257152362fdb36862b1e90d567))
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v16 ([#676](https://www.github.com/googleapis/nodejs-dialogflow/issues/676)) ([217bb9c](https://www.github.com/googleapis/nodejs-dialogflow/commit/217bb9c209000d20157fc6478cd9a26369e8b106))
+
+## [3.2.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.1.1...v3.2.0) (2020-07-29)
+
+
+### Features
+
+* added support for custom content types docs: clarified wording around quota usage ([#660](https://www.github.com/googleapis/nodejs-dialogflow/issues/660)) ([8a7fbd3](https://www.github.com/googleapis/nodejs-dialogflow/commit/8a7fbd32ddcc907538fd4b0b5a129054c082dc81))
+
+### [3.1.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.1.0...v3.1.1) (2020-07-23)
+
+
+### Bug Fixes
+
+* publish missing client config annotations ([#653](https://www.github.com/googleapis/nodejs-dialogflow/issues/653)) ([b368797](https://www.github.com/googleapis/nodejs-dialogflow/commit/b36879723fd3aeab0c158d3ab76a5aa6505498e1))
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v3.0.0...v3.1.0) (2020-07-10)
+
+
+### Features
+
+* adds projectAgentEnvironmentPathTemplate and projectAgentEnvironmentUserSessionContextPathTemplate ([c204d9c](https://www.github.com/googleapis/nodejs-dialogflow/commit/c204d9cd7d9f121404b15783b8da5a451a671748))
+
+
+### Bug Fixes
+
+* typeo in nodejs .gitattribute ([#639](https://www.github.com/googleapis/nodejs-dialogflow/issues/639)) ([558aad8](https://www.github.com/googleapis/nodejs-dialogflow/commit/558aad81af74888516db9667f4a4e7b56cd3d3ba))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v2.0.0...v3.0.0) (2020-07-06)
+
+
+### ⚠ BREAKING CHANGES
+
+* only v1 clients must be exported by default (#619)
+* proper long running operation returned from Agent v2beta1 calls (#621)
+
+### Features
+
+* check status of long running operation by its name ([#606](https://www.github.com/googleapis/nodejs-dialogflow/issues/606)) ([77b28f1](https://www.github.com/googleapis/nodejs-dialogflow/commit/77b28f1fad846bf629fcbdccfb0b51771e2e9c76))
+* proper long running operation returned from Agent v2beta1 calls ([#621](https://www.github.com/googleapis/nodejs-dialogflow/issues/621)) ([ff509cd](https://www.github.com/googleapis/nodejs-dialogflow/commit/ff509cd59ac14958b08698dc22308bd660da82ca))
+
+
+### Bug Fixes
+
+* **deps:** update dependency uuid to v8 ([#602](https://www.github.com/googleapis/nodejs-dialogflow/issues/602)) ([9cec1be](https://www.github.com/googleapis/nodejs-dialogflow/commit/9cec1beeace132829368b99701ce7c9970e4b126))
+* exception occurred in retry method ([#615](https://www.github.com/googleapis/nodejs-dialogflow/issues/615)) ([b8b2ccd](https://www.github.com/googleapis/nodejs-dialogflow/commit/b8b2ccdf2e0c236c515706ecc6b9759ed570cfc7))
+* only v1 clients must be exported by default ([#619](https://www.github.com/googleapis/nodejs-dialogflow/issues/619)) ([d1fb5ab](https://www.github.com/googleapis/nodejs-dialogflow/commit/d1fb5abb66f1eb55545807e1f6cb45b0ec51c287))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v1.2.0...v2.0.0) (2020-04-23)
+
+
+### ⚠ BREAKING CHANGES
+
+* regenerate library based on dialogflow/v2 proto changes (#569)
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+* updated protos and renamed path template helpers
+* move API to typescript code generation (#523)
+
+### Features
+
+* added getValidationResult and field mask override control for output audio config ([4fd6c71](https://www.github.com/googleapis/nodejs-dialogflow/commit/4fd6c71d979256850eb655a9f4554bee051e489c))
+* deferred client initialization ([#555](https://www.github.com/googleapis/nodejs-dialogflow/issues/555)) ([93ba86e](https://www.github.com/googleapis/nodejs-dialogflow/commit/93ba86e586ffd7d563da9118f96fa1b172c13d7d))
+* drop node8 support, support for async iterators ([#574](https://www.github.com/googleapis/nodejs-dialogflow/issues/574)) ([fe8073f](https://www.github.com/googleapis/nodejs-dialogflow/commit/fe8073f79e98211eb6790e9fef05dd9ea8159573))
+* export protos in src/index.ts ([92d805b](https://www.github.com/googleapis/nodejs-dialogflow/commit/92d805b452e7c61da6c87eb32ebe3e358e15a187))
+* move API to typescript code generation ([#523](https://www.github.com/googleapis/nodejs-dialogflow/issues/523)) ([19793a5](https://www.github.com/googleapis/nodejs-dialogflow/commit/19793a57250f22c9ea7ebde1d4553cbc5c93253c))
+* Publish ListEnvironments for Dialogflow v2/v2beta1 library. ([#598](https://www.github.com/googleapis/nodejs-dialogflow/issues/598)) ([de9e8f6](https://www.github.com/googleapis/nodejs-dialogflow/commit/de9e8f6bf4cf3c3a3d8b7ca27385e6c2f39afa3b))
+* regenerate library based on dialogflow/v2 proto changes ([#569](https://www.github.com/googleapis/nodejs-dialogflow/issues/569)) ([1610850](https://www.github.com/googleapis/nodejs-dialogflow/commit/16108501e3855f6b422c6e7be74d84922f710387))
+* updated protos and renamed path template helpers ([1c1b01c](https://www.github.com/googleapis/nodejs-dialogflow/commit/1c1b01ca4de61ca2ac77fedd4c5f33d9d5797c0d))
+
+
+### Bug Fixes
+
+* add missing resource annotations and additional_bindings ([#591](https://www.github.com/googleapis/nodejs-dialogflow/issues/591)) ([5a0e2ec](https://www.github.com/googleapis/nodejs-dialogflow/commit/5a0e2ec007dd717d8c18ab8d409c9a16c9589098))
+* bump min version of dependencies ([#589](https://www.github.com/googleapis/nodejs-dialogflow/issues/589)) ([d87e221](https://www.github.com/googleapis/nodejs-dialogflow/commit/d87e221ba9bb7231b4cb7ed989a7a7293133fcdb))
+* remove eslint, update gax, fix generated protos, run the generator ([#586](https://www.github.com/googleapis/nodejs-dialogflow/issues/586)) ([b9a88cf](https://www.github.com/googleapis/nodejs-dialogflow/commit/b9a88cfb66e9908d57660e3b5168e50b2cae1b9a))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v1.1.2...v1.2.0) (2020-02-07)
+
+
+### Features
+
+* **docs:** add deprecation message to version 1.x.x README ([#526](https://www.github.com/googleapis/nodejs-dialogflow/issues/526)) ([5474ec1](https://www.github.com/googleapis/nodejs-dialogflow/commit/5474ec19e943d01e4fc31bf8a728ee0299af8621))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-dialogflow/compare/v1.1.1...v1.1.2) (2020-01-28)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([79bc7bc](https://www.github.com/googleapis/nodejs-dialogflow/commit/79bc7bcd08bc7a786e0d75a55de38b30e0d1a569))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v1.1.0...v1.1.1) (2020-01-09)
+
+
+### Bug Fixes
+
+* proto updates, no code changes ([1388648](https://www.github.com/googleapis/nodejs-dialogflow/commit/138864846d04397d8e590e817de6c3e94d800423))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v1.0.0...v1.1.0) (2020-01-05)
+
+
+### Features
+
+* add support for operation info ([#488](https://www.github.com/googleapis/nodejs-dialogflow/issues/488)) ([12d58a6](https://www.github.com/googleapis/nodejs-dialogflow/commit/12d58a613d63045030e4f9910d8d5a3cffd34b06))
+
+
+### Bug Fixes
+
+* update proto annotations ([142ff2b](https://www.github.com/googleapis/nodejs-dialogflow/commit/142ff2b97445bbc1b333b3eea6cae4eedabf63a9))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.14.1...v1.0.0) (2019-12-05)
+
+
+### Features
+
+* adds plural and singular resource descriptor ([#471](https://www.github.com/googleapis/nodejs-dialogflow/issues/471)) ([29e47a6](https://www.github.com/googleapis/nodejs-dialogflow/commit/29e47a68e66303b4485a3d0808fd022248887534))
+* **process:** library should be at 1.x ([#481](https://www.github.com/googleapis/nodejs-dialogflow/issues/481)) ([7d0df44](https://www.github.com/googleapis/nodejs-dialogflow/commit/7d0df44c32e29fa4cb93182b6b97a15bae30836c))
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([4dfa20f](https://www.github.com/googleapis/nodejs-dialogflow/commit/4dfa20fc10e7a5fcc294b60d2659b24e967fc17f))
+* **deps:** update dependency yargs to v15 ([#469](https://www.github.com/googleapis/nodejs-dialogflow/issues/469)) ([74e847e](https://www.github.com/googleapis/nodejs-dialogflow/commit/74e847e7b047d83e3fdcbd601def1493d228fe08))
+* **docs:** bump release level to GA ([#475](https://www.github.com/googleapis/nodejs-dialogflow/issues/475)) ([59b5d8c](https://www.github.com/googleapis/nodejs-dialogflow/commit/59b5d8c6c4e4b7091c1b5ea31404d0f941f85b13))
+
+### [0.14.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.14.0...v0.14.1) (2019-11-15)
+
+
+### Bug Fixes
+
+* import long in proto ts declaration file ([#462](https://www.github.com/googleapis/nodejs-dialogflow/issues/462)) ([cacd9c8](https://www.github.com/googleapis/nodejs-dialogflow/commit/cacd9c83e8edea18c7742b55efee91bce1a06e53))
+* **docs:** snippets are now replaced in jsdoc comments ([#461](https://www.github.com/googleapis/nodejs-dialogflow/issues/461)) ([029146e](https://www.github.com/googleapis/nodejs-dialogflow/commit/029146e70d1094f2a5de7cba61ed83006b533451))
+
+## [0.14.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.13.0...v0.14.0) (2019-11-08)
+
+
+### Features
+
+* add webhooks, BrowseCarouselCard, TableCard and MediaContent ([#458](https://www.github.com/googleapis/nodejs-dialogflow/issues/458)) ([53051a8](https://www.github.com/googleapis/nodejs-dialogflow/commit/53051a88b401a5d48844490531c3d50437a246b7))
+
+## [0.13.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.12.2...v0.13.0) (2019-11-05)
+
+
+### Features
+
+* add subtitle support ([#457](https://www.github.com/googleapis/nodejs-dialogflow/issues/457)) ([6cb00ea](https://www.github.com/googleapis/nodejs-dialogflow/commit/6cb00ea6194835045250eac5127250f1e2ea61fd))
+* introduces languageCode option ([8f3943f](https://www.github.com/googleapis/nodejs-dialogflow/commit/8f3943f8f6abb575f8b255207617a24e213bae57))
+
+### [0.12.2](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.12.1...v0.12.2) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#451](https://www.github.com/googleapis/nodejs-dialogflow/issues/451)) ([1fddbd9](https://www.github.com/googleapis/nodejs-dialogflow/commit/1fddbd9e831256c395cb3cd3f59b43024da11d2e))
+
+### [0.12.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.12.0...v0.12.1) (2019-10-09)
+
+
+### Bug Fixes
+
+* use compatible version of google-gax ([9a0c16a](https://www.github.com/googleapis/nodejs-dialogflow/commit/9a0c16a))
+
+## [0.12.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.11.0...v0.12.0) (2019-09-16)
+
+
+### Features
+
+* fuzzy extraction and regexp entities ([#430](https://www.github.com/googleapis/nodejs-dialogflow/issues/430)) ([60aab0b](https://www.github.com/googleapis/nodejs-dialogflow/commit/60aab0b))
+
+## [0.11.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.10.3...v0.11.0) (2019-09-09)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([a9458de](https://www.github.com/googleapis/nodejs-dialogflow/commit/a9458de))
+* add newlines to JSON protos ([bc9bc73](https://www.github.com/googleapis/nodejs-dialogflow/commit/bc9bc73))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([8683933](https://www.github.com/googleapis/nodejs-dialogflow/commit/8683933))
+
+### [0.10.3](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.10.2...v0.10.3) (2019-07-23)
+
+
+### Bug Fixes
+
+* **deps:** drop dependency on through2 ([#388](https://www.github.com/googleapis/nodejs-dialogflow/issues/388)) ([301c212](https://www.github.com/googleapis/nodejs-dialogflow/commit/301c212))
+
+### [0.10.2](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.10.1...v0.10.2) (2019-07-01)
+
+
+### Bug Fixes
+
+* **docs:** make anchors work in jsdoc ([#375](https://www.github.com/googleapis/nodejs-dialogflow/issues/375)) ([71e9a9c](https://www.github.com/googleapis/nodejs-dialogflow/commit/71e9a9c))
+
+### [0.10.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.10.0...v0.10.1) (2019-06-14)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#368](https://www.github.com/googleapis/nodejs-dialogflow/issues/368)) ([9e121db](https://www.github.com/googleapis/nodejs-dialogflow/commit/9e121db))
+
+## [0.10.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.9.1...v0.10.0) (2019-06-05)
+
+
+### Features
+
+* add support for apiEndpoint option ([#363](https://www.github.com/googleapis/nodejs-dialogflow/issues/363)) ([10e84a3](https://www.github.com/googleapis/nodejs-dialogflow/commit/10e84a3))
+
+### [0.9.1](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.9.0...v0.9.1) (2019-05-20)
+
+
+### Bug Fixes
+
+* DEADLINE_EXCEEDED retry code is idempotent ([#343](https://www.github.com/googleapis/nodejs-dialogflow/issues/343)) ([d1238f7](https://www.github.com/googleapis/nodejs-dialogflow/commit/d1238f7))
+* remove DEADLINE_EXCEEDED from list of idempotent operations ([871070f](https://www.github.com/googleapis/nodejs-dialogflow/commit/871070f))
+* **deps:** update dependency google-gax to v1 ([#342](https://www.github.com/googleapis/nodejs-dialogflow/issues/342)) ([dead90b](https://www.github.com/googleapis/nodejs-dialogflow/commit/dead90b))
+
+## [0.9.0](https://www.github.com/googleapis/nodejs-dialogflow/compare/v0.8.2...v0.9.0) (2019-05-07)
+
+### BREAKING CHANGE
+
+This release drops support for node versions below v8.10.0.
+
+### Bug Fixes
+
+* include 'x-goog-request-params' header in requests ([#310](https://www.github.com/googleapis/nodejs-dialogflow/issues/310)) ([479defe](https://www.github.com/googleapis/nodejs-dialogflow/commit/479defe))
+* **deps:** update dependency google-gax to ^0.26.0 ([#326](https://www.github.com/googleapis/nodejs-dialogflow/issues/326)) ([7541e5f](https://www.github.com/googleapis/nodejs-dialogflow/commit/7541e5f))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#328](https://www.github.com/googleapis/nodejs-dialogflow/issues/328)) ([62f144f](https://www.github.com/googleapis/nodejs-dialogflow/commit/62f144f))
+
+
+### Features
+
+* add the `updateDocument and `reloadDocument` methods ([#315](https://www.github.com/googleapis/nodejs-dialogflow/issues/315)) ([6e2defe](https://www.github.com/googleapis/nodejs-dialogflow/commit/6e2defe))
+* support audio config ([4ecea0e](https://www.github.com/googleapis/nodejs-dialogflow/commit/4ecea0e))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#328)
+
+## v0.8.2
+
+03-13-2019 16:30 PDT
+
+### Bug Fixes
+- fix: throw on invalid credentials ([#281](https://github.com/googleapis/nodejs-dialogflow/pull/281))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#269](https://github.com/googleapis/nodejs-dialogflow/pull/269))
+
+### Documentation
+- docs: use backticks for JS values ([#299](https://github.com/googleapis/nodejs-dialogflow/pull/299))
+- docs: update jsdoc strings and import paths ([#298](https://github.com/googleapis/nodejs-dialogflow/pull/298))
+- docs: update links in contrib guide ([#283](https://github.com/googleapis/nodejs-dialogflow/pull/283))
+- docs: update contributing path in README ([#275](https://github.com/googleapis/nodejs-dialogflow/pull/275))
+- docs: move CONTRIBUTING.md to root ([#274](https://github.com/googleapis/nodejs-dialogflow/pull/274))
+- docs: add lint/fix example to contributing guide ([#272](https://github.com/googleapis/nodejs-dialogflow/pull/272))
+- docs: fix example comments ([#271](https://github.com/googleapis/nodejs-dialogflow/pull/271))
+
+### Internal / Testing Changes
+- build: Add docuploader credentials to node publish jobs ([#296](https://github.com/googleapis/nodejs-dialogflow/pull/296))
+- build: use node10 to run samples-test, system-test etc ([#295](https://github.com/googleapis/nodejs-dialogflow/pull/295))
+- build: update release configuration
+- chore: sync latest proto docs
+- chore(deps): update dependency mocha to v6
+- build: use linkinator for docs test ([#282](https://github.com/googleapis/nodejs-dialogflow/pull/282))
+- fix(deps): update dependency yargs to v13 ([#280](https://github.com/googleapis/nodejs-dialogflow/pull/280))
+- build: create docs test npm scripts ([#279](https://github.com/googleapis/nodejs-dialogflow/pull/279))
+- build: test using @grpc/grpc-js in CI ([#276](https://github.com/googleapis/nodejs-dialogflow/pull/276))
+- refactor: improve generated code style. ([#270](https://github.com/googleapis/nodejs-dialogflow/pull/270))
+
+## v0.8.1
+
+01-28-2019 13:24 PST
+
+### Documentation
+- fix(docs): dialogflow isnt published under @google-cloud scope ([#266](https://github.com/googleapis/nodejs-dialogflow/pull/266))
+
+## v0.8.0
+
+01-28-2019 11:05 PST
+
+### Dependencies
+- chore(deps): update dependency eslint-config-prettier to v4 ([#261](https://github.com/googleapis/nodejs-dialogflow/pull/261))
+- fix(deps): update dependency google-gax to ^0.24.0 ([#260](https://github.com/googleapis/nodejs-dialogflow/pull/260))
+- fix(deps): update dependency google-gax to ^0.23.0 ([#256](https://github.com/googleapis/nodejs-dialogflow/pull/256))
+- fix(deps): update dependency google-gax to ^0.22.0 ([#217](https://github.com/googleapis/nodejs-dialogflow/pull/217))
+- fix(deps): update dependency google-gax to ^0.21.0 ([#215](https://github.com/googleapis/nodejs-dialogflow/pull/215))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#214](https://github.com/googleapis/nodejs-dialogflow/pull/214))
+- chore: remove unused deps ([#212](https://github.com/googleapis/nodejs-dialogflow/pull/212))
+- fix(deps): update dependency through2 to v3 ([#209](https://github.com/googleapis/nodejs-dialogflow/pull/209))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#199](https://github.com/googleapis/nodejs-dialogflow/pull/199))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#191](https://github.com/googleapis/nodejs-dialogflow/pull/191))
+
+### Documentation
+- refactor(samples): convert sample tests from ava to mocha ([#222](https://github.com/googleapis/nodejs-dialogflow/pull/222))
+- fix(docs): properly show how to require this module ([#263](https://github.com/googleapis/nodejs-dialogflow/pull/263))
+- fix(samples): Fixed typo in example ([#179](https://github.com/googleapis/nodejs-dialogflow/pull/179))
+- build: ignore googleapis.com in doc link check ([#259](https://github.com/googleapis/nodejs-dialogflow/pull/259))
+- chore: update license year
+- build: check broken links in generated docs ([#254](https://github.com/googleapis/nodejs-dialogflow/pull/254))
+- fix(docs): remove unused long running operations types
+- docs: improve the quickstart sample ([#234](https://github.com/googleapis/nodejs-dialogflow/pull/234))
+- docs: update the readme ([#232](https://github.com/googleapis/nodejs-dialogflow/pull/232))
+- docs(samples): updated samples to use async/await ([#228](https://github.com/googleapis/nodejs-dialogflow/pull/228))
+- docs: Strip dynamic badges from README ([#184](https://github.com/googleapis/nodejs-dialogflow/pull/184))
+
+### Internal / Testing Changes
+- refactor: improve the sample tests ([#251](https://github.com/googleapis/nodejs-dialogflow/pull/251))
+- chore(build): inject yoshi automation key ([#249](https://github.com/googleapis/nodejs-dialogflow/pull/249))
+- chore: update nyc and eslint configs ([#248](https://github.com/googleapis/nodejs-dialogflow/pull/248))
+- chore: fix publish.sh permission +x ([#245](https://github.com/googleapis/nodejs-dialogflow/pull/245))
+- fix(build): fix Kokoro release script ([#244](https://github.com/googleapis/nodejs-dialogflow/pull/244))
+- build: add Kokoro configs for autorelease ([#243](https://github.com/googleapis/nodejs-dialogflow/pull/243))
+- chore: always nyc report before calling codecov ([#241](https://github.com/googleapis/nodejs-dialogflow/pull/241))
+- chore: nyc ignore build/test by default ([#240](https://github.com/googleapis/nodejs-dialogflow/pull/240))
+- chore: update the renovate config ([#237](https://github.com/googleapis/nodejs-dialogflow/pull/237))
+- fix(build): fix system key decryption ([#230](https://github.com/googleapis/nodejs-dialogflow/pull/230))
+- chore: add a synth.metadata
+- chore: update eslintignore config ([#216](https://github.com/googleapis/nodejs-dialogflow/pull/216))
+- chore: drop contributors from multiple places ([#213](https://github.com/googleapis/nodejs-dialogflow/pull/213))
+- chore: use latest npm on Windows ([#210](https://github.com/googleapis/nodejs-dialogflow/pull/210))
+- fix: update gRPC timeouts ([#208](https://github.com/googleapis/nodejs-dialogflow/pull/208))
+- chore: update CircleCI config ([#207](https://github.com/googleapis/nodejs-dialogflow/pull/207))
+- chore: include build in eslintignore ([#204](https://github.com/googleapis/nodejs-dialogflow/pull/204))
+- fix: use unique name for sample test knowledge base ([#198](https://github.com/googleapis/nodejs-dialogflow/pull/198))
+- chore: update issue templates ([#197](https://github.com/googleapis/nodejs-dialogflow/pull/197))
+- chore: remove old issue template ([#195](https://github.com/googleapis/nodejs-dialogflow/pull/195))
+- build: run tests on node11 ([#194](https://github.com/googleapis/nodejs-dialogflow/pull/194))
+- chores(build): run codecov on continuous builds ([#190](https://github.com/googleapis/nodejs-dialogflow/pull/190))
+- chores(build): do not collect sponge.xml from windows builds ([#192](https://github.com/googleapis/nodejs-dialogflow/pull/192))
+- chore: update new issue template ([#189](https://github.com/googleapis/nodejs-dialogflow/pull/189))
+- build: fix codecov uploading on Kokoro ([#183](https://github.com/googleapis/nodejs-dialogflow/pull/183))
+- Update CI config ([#180](https://github.com/googleapis/nodejs-dialogflow/pull/180))
+
+## v0.7.0
+
+### Breaking Changes
+- BREAKING: Drop support for node.js 4.x ([#164](https://github.com/googleapis/nodejs-dialogflow/pull/164))
+
+### Bug fixes
+- Fix typo in comment ([#168](https://github.com/googleapis/nodejs-dialogflow/pull/168))
+- Update old samples to new agent using Room Reservations and match can… ([#162](https://github.com/googleapis/nodejs-dialogflow/pull/162))
+- fix(samples/resource): fix intent creation ([#104](https://github.com/googleapis/nodejs-dialogflow/pull/104))
+- fix(deps): update dependency google-gax to ^0.20.0 ([#142](https://github.com/googleapis/nodejs-dialogflow/pull/142))
+- Remove dependency on @google-cloud/common ([#165](https://github.com/googleapis/nodejs-dialogflow/pull/165))
+- Fix typo in word 'session' in detect sample comments ([#147](https://github.com/googleapis/nodejs-dialogflow/pull/147))
+- fix(deps): update dependency uuid to v3.3.2 ([#122](https://github.com/googleapis/nodejs-dialogflow/pull/122))
+
+### New Features
+- Run the synth generator and update config ([#161](https://github.com/googleapis/nodejs-dialogflow/pull/161))
+
+### Documentation
+- feat(samples): Beta features PR ([#144](https://github.com/googleapis/nodejs-dialogflow/pull/144))
+
+### Internal / Testing Changes
+- Update kokoro config ([#173](https://github.com/googleapis/nodejs-dialogflow/pull/173))
+- test: remove appveyor config ([#172](https://github.com/googleapis/nodejs-dialogflow/pull/172))
+- Configure kokoro CI ([#171](https://github.com/googleapis/nodejs-dialogflow/pull/171))
+- Enable prefer-const in the eslint config ([#167](https://github.com/googleapis/nodejs-dialogflow/pull/167))
+- chore(deps): update dependency eslint-config-prettier to v3 ([#148](https://github.com/googleapis/nodejs-dialogflow/pull/148))
+- chore(deps): update dependency eslint-plugin-node to v7 ([#135](https://github.com/googleapis/nodejs-dialogflow/pull/135))
+- Ignore package-lock.json ([#163](https://github.com/googleapis/nodejs-dialogflow/pull/163))
+- chore(deps): update dependency nyc to v13 ([#154](https://github.com/googleapis/nodejs-dialogflow/pull/154))
+- chore: assert.equal => assert.strictEqual ([#139](https://github.com/googleapis/nodejs-dialogflow/pull/139))
+- chore(deps): update dependency eslint to v5 ([#112](https://github.com/googleapis/nodejs-dialogflow/pull/112))
+
+## v0.6.0
+
+### New Features
+Version v0.6.0 of the Dialogflow NodeJS Client Library brings with it these changes:
+- management of Knowledge base Documents support
+- AudioConfig
+- Intent: Telephony Gateway, supporting
+ - TelephonyPlayAudio - plays audio from a file in Telephony Gateway
+ - TelephonySynthesizeSpeech - synthesizes speech and plays back the audio to the caller
+ - TelephonyTransferCall - transfers the call in Telephony Gateway
+- end_interaction option for Intent and Webhook - indicates that the intent ends an interaction
+- supports alternative query results from KnowledgeService
+- deprecation: Intent: ml_enabled option
+- protos documentation changes
+
+..generated against googleapis/googleapis@9c3174a
+
+### Dependencies
+- fix(deps): update dependency yargs to v12 (edited) (#126)
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v2.3.1 (#129)
+- fix(deps): update dependency uuid to v3.3.0 (#118)
+- chore(deps): update dependency nyc to v12 (#99)
+- fix(deps): update dependency @google-cloud/common to ^0.20.0 (#98)
+- chore(deps): update node:10 docker digest to 055fe4 (#91)
+
+### Documentation
+- fix(samples): update the type of Training phases per (#131)
+
+### Internal / Testing Changes
+- chore: drop repo-tools as an exec wrapper (#136)
+- gen: fix synth.py to copy all versions and regenerate (#134)
+- chore(build): synth.py: npm ci; node templates
+- chore(deps): update node:10 docker digest to 1201e1 (#96)
+- Regenerate GAPIC for V1 and V2Beta1 using synth.py (#110)
diff --git a/packages/google-cloud-dialogflow/CODE_OF_CONDUCT.md b/packages/google-cloud-dialogflow/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-dialogflow/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-cloud-dialogflow/CONTRIBUTING.md b/packages/google-cloud-dialogflow/CONTRIBUTING.md
new file mode 100644
index 00000000000..f70ef1716cb
--- /dev/null
+++ b/packages/google-cloud-dialogflow/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 Dialogflow 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=dialogflow.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-dialogflow/LICENSE b/packages/google-cloud-dialogflow/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-dialogflow/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-cloud-dialogflow/README.md b/packages/google-cloud-dialogflow/README.md
new file mode 100644
index 00000000000..7912c627f73
--- /dev/null
+++ b/packages/google-cloud-dialogflow/README.md
@@ -0,0 +1,330 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Dialogflow API: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/dialogflow)
+
+
+
+
+Dialogflow 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-cloud-dialogflow/CHANGELOG.md).
+
+* [Dialogflow API Node.js Client API Reference][client-docs]
+* [Dialogflow API Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-dialogflow](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dialogflow)
+
+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)
+
+* [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 Dialogflow 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-cloud/dialogflow
+```
+
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Agents.delete_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.delete_agent.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-cloud-dialogflow/samples/generated/v2/agents.delete_agent.js,samples/README.md) |
+| Agents.export_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.export_agent.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-cloud-dialogflow/samples/generated/v2/agents.export_agent.js,samples/README.md) |
+| Agents.get_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.get_agent.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-cloud-dialogflow/samples/generated/v2/agents.get_agent.js,samples/README.md) |
+| Agents.get_validation_result | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.get_validation_result.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-cloud-dialogflow/samples/generated/v2/agents.get_validation_result.js,samples/README.md) |
+| Agents.import_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.import_agent.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-cloud-dialogflow/samples/generated/v2/agents.import_agent.js,samples/README.md) |
+| Agents.restore_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.restore_agent.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-cloud-dialogflow/samples/generated/v2/agents.restore_agent.js,samples/README.md) |
+| Agents.search_agents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.search_agents.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-cloud-dialogflow/samples/generated/v2/agents.search_agents.js,samples/README.md) |
+| Agents.set_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.set_agent.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-cloud-dialogflow/samples/generated/v2/agents.set_agent.js,samples/README.md) |
+| Agents.train_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/agents.train_agent.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-cloud-dialogflow/samples/generated/v2/agents.train_agent.js,samples/README.md) |
+| Answer_records.list_answer_records | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/answer_records.list_answer_records.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-cloud-dialogflow/samples/generated/v2/answer_records.list_answer_records.js,samples/README.md) |
+| Answer_records.update_answer_record | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/answer_records.update_answer_record.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-cloud-dialogflow/samples/generated/v2/answer_records.update_answer_record.js,samples/README.md) |
+| Contexts.create_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.create_context.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-cloud-dialogflow/samples/generated/v2/contexts.create_context.js,samples/README.md) |
+| Contexts.delete_all_contexts | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.delete_all_contexts.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-cloud-dialogflow/samples/generated/v2/contexts.delete_all_contexts.js,samples/README.md) |
+| Contexts.delete_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.delete_context.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-cloud-dialogflow/samples/generated/v2/contexts.delete_context.js,samples/README.md) |
+| Contexts.get_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.get_context.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-cloud-dialogflow/samples/generated/v2/contexts.get_context.js,samples/README.md) |
+| Contexts.list_contexts | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.list_contexts.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-cloud-dialogflow/samples/generated/v2/contexts.list_contexts.js,samples/README.md) |
+| Contexts.update_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/contexts.update_context.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-cloud-dialogflow/samples/generated/v2/contexts.update_context.js,samples/README.md) |
+| Conversation_datasets.create_conversation_dataset | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_datasets.create_conversation_dataset.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-cloud-dialogflow/samples/generated/v2/conversation_datasets.create_conversation_dataset.js,samples/README.md) |
+| Conversation_datasets.delete_conversation_dataset | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_datasets.delete_conversation_dataset.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-cloud-dialogflow/samples/generated/v2/conversation_datasets.delete_conversation_dataset.js,samples/README.md) |
+| Conversation_datasets.get_conversation_dataset | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_datasets.get_conversation_dataset.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-cloud-dialogflow/samples/generated/v2/conversation_datasets.get_conversation_dataset.js,samples/README.md) |
+| Conversation_datasets.import_conversation_data | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_datasets.import_conversation_data.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-cloud-dialogflow/samples/generated/v2/conversation_datasets.import_conversation_data.js,samples/README.md) |
+| Conversation_datasets.list_conversation_datasets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_datasets.list_conversation_datasets.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-cloud-dialogflow/samples/generated/v2/conversation_datasets.list_conversation_datasets.js,samples/README.md) |
+| Conversation_models.create_conversation_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.create_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.create_conversation_model.js,samples/README.md) |
+| Conversation_models.create_conversation_model_evaluation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.create_conversation_model_evaluation.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-cloud-dialogflow/samples/generated/v2/conversation_models.create_conversation_model_evaluation.js,samples/README.md) |
+| Conversation_models.delete_conversation_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.delete_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.delete_conversation_model.js,samples/README.md) |
+| Conversation_models.deploy_conversation_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.deploy_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.deploy_conversation_model.js,samples/README.md) |
+| Conversation_models.get_conversation_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.get_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.get_conversation_model.js,samples/README.md) |
+| Conversation_models.get_conversation_model_evaluation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.get_conversation_model_evaluation.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-cloud-dialogflow/samples/generated/v2/conversation_models.get_conversation_model_evaluation.js,samples/README.md) |
+| Conversation_models.list_conversation_model_evaluations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.list_conversation_model_evaluations.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-cloud-dialogflow/samples/generated/v2/conversation_models.list_conversation_model_evaluations.js,samples/README.md) |
+| Conversation_models.list_conversation_models | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.list_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.list_conversation_models.js,samples/README.md) |
+| Conversation_models.undeploy_conversation_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_models.undeploy_conversation_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-cloud-dialogflow/samples/generated/v2/conversation_models.undeploy_conversation_model.js,samples/README.md) |
+| Conversation_profiles.clear_suggestion_feature_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.clear_suggestion_feature_config.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.clear_suggestion_feature_config.js,samples/README.md) |
+| Conversation_profiles.create_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.create_conversation_profile.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.create_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.delete_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.delete_conversation_profile.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.delete_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.get_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.get_conversation_profile.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.get_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.list_conversation_profiles | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.list_conversation_profiles.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.list_conversation_profiles.js,samples/README.md) |
+| Conversation_profiles.set_suggestion_feature_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.set_suggestion_feature_config.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.set_suggestion_feature_config.js,samples/README.md) |
+| Conversation_profiles.update_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversation_profiles.update_conversation_profile.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-cloud-dialogflow/samples/generated/v2/conversation_profiles.update_conversation_profile.js,samples/README.md) |
+| Conversations.complete_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversations.complete_conversation.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-cloud-dialogflow/samples/generated/v2/conversations.complete_conversation.js,samples/README.md) |
+| Conversations.create_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversations.create_conversation.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-cloud-dialogflow/samples/generated/v2/conversations.create_conversation.js,samples/README.md) |
+| Conversations.get_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversations.get_conversation.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-cloud-dialogflow/samples/generated/v2/conversations.get_conversation.js,samples/README.md) |
+| Conversations.list_conversations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversations.list_conversations.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-cloud-dialogflow/samples/generated/v2/conversations.list_conversations.js,samples/README.md) |
+| Conversations.list_messages | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/conversations.list_messages.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-cloud-dialogflow/samples/generated/v2/conversations.list_messages.js,samples/README.md) |
+| Documents.create_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.create_document.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-cloud-dialogflow/samples/generated/v2/documents.create_document.js,samples/README.md) |
+| Documents.delete_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.delete_document.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-cloud-dialogflow/samples/generated/v2/documents.delete_document.js,samples/README.md) |
+| Documents.export_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.export_document.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-cloud-dialogflow/samples/generated/v2/documents.export_document.js,samples/README.md) |
+| Documents.get_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.get_document.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-cloud-dialogflow/samples/generated/v2/documents.get_document.js,samples/README.md) |
+| Documents.import_documents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.import_documents.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-cloud-dialogflow/samples/generated/v2/documents.import_documents.js,samples/README.md) |
+| Documents.list_documents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.list_documents.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-cloud-dialogflow/samples/generated/v2/documents.list_documents.js,samples/README.md) |
+| Documents.reload_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.reload_document.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-cloud-dialogflow/samples/generated/v2/documents.reload_document.js,samples/README.md) |
+| Documents.update_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/documents.update_document.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-cloud-dialogflow/samples/generated/v2/documents.update_document.js,samples/README.md) |
+| Entity_types.batch_create_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.batch_create_entities.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-cloud-dialogflow/samples/generated/v2/entity_types.batch_create_entities.js,samples/README.md) |
+| Entity_types.batch_delete_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.batch_delete_entities.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-cloud-dialogflow/samples/generated/v2/entity_types.batch_delete_entities.js,samples/README.md) |
+| Entity_types.batch_delete_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.batch_delete_entity_types.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-cloud-dialogflow/samples/generated/v2/entity_types.batch_delete_entity_types.js,samples/README.md) |
+| Entity_types.batch_update_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.batch_update_entities.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-cloud-dialogflow/samples/generated/v2/entity_types.batch_update_entities.js,samples/README.md) |
+| Entity_types.batch_update_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.batch_update_entity_types.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-cloud-dialogflow/samples/generated/v2/entity_types.batch_update_entity_types.js,samples/README.md) |
+| Entity_types.create_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.create_entity_type.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-cloud-dialogflow/samples/generated/v2/entity_types.create_entity_type.js,samples/README.md) |
+| Entity_types.delete_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.delete_entity_type.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-cloud-dialogflow/samples/generated/v2/entity_types.delete_entity_type.js,samples/README.md) |
+| Entity_types.get_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.get_entity_type.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-cloud-dialogflow/samples/generated/v2/entity_types.get_entity_type.js,samples/README.md) |
+| Entity_types.list_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.list_entity_types.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-cloud-dialogflow/samples/generated/v2/entity_types.list_entity_types.js,samples/README.md) |
+| Entity_types.update_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/entity_types.update_entity_type.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-cloud-dialogflow/samples/generated/v2/entity_types.update_entity_type.js,samples/README.md) |
+| Environments.create_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.create_environment.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-cloud-dialogflow/samples/generated/v2/environments.create_environment.js,samples/README.md) |
+| Environments.delete_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.delete_environment.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-cloud-dialogflow/samples/generated/v2/environments.delete_environment.js,samples/README.md) |
+| Environments.get_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.get_environment.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-cloud-dialogflow/samples/generated/v2/environments.get_environment.js,samples/README.md) |
+| Environments.get_environment_history | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.get_environment_history.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-cloud-dialogflow/samples/generated/v2/environments.get_environment_history.js,samples/README.md) |
+| Environments.list_environments | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.list_environments.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-cloud-dialogflow/samples/generated/v2/environments.list_environments.js,samples/README.md) |
+| Environments.update_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/environments.update_environment.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-cloud-dialogflow/samples/generated/v2/environments.update_environment.js,samples/README.md) |
+| Fulfillments.get_fulfillment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/fulfillments.get_fulfillment.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-cloud-dialogflow/samples/generated/v2/fulfillments.get_fulfillment.js,samples/README.md) |
+| Fulfillments.update_fulfillment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/fulfillments.update_fulfillment.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-cloud-dialogflow/samples/generated/v2/fulfillments.update_fulfillment.js,samples/README.md) |
+| Intents.batch_delete_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.batch_delete_intents.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-cloud-dialogflow/samples/generated/v2/intents.batch_delete_intents.js,samples/README.md) |
+| Intents.batch_update_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.batch_update_intents.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-cloud-dialogflow/samples/generated/v2/intents.batch_update_intents.js,samples/README.md) |
+| Intents.create_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.create_intent.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-cloud-dialogflow/samples/generated/v2/intents.create_intent.js,samples/README.md) |
+| Intents.delete_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.delete_intent.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-cloud-dialogflow/samples/generated/v2/intents.delete_intent.js,samples/README.md) |
+| Intents.get_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.get_intent.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-cloud-dialogflow/samples/generated/v2/intents.get_intent.js,samples/README.md) |
+| Intents.list_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.list_intents.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-cloud-dialogflow/samples/generated/v2/intents.list_intents.js,samples/README.md) |
+| Intents.update_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/intents.update_intent.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-cloud-dialogflow/samples/generated/v2/intents.update_intent.js,samples/README.md) |
+| Knowledge_bases.create_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/knowledge_bases.create_knowledge_base.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-cloud-dialogflow/samples/generated/v2/knowledge_bases.create_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.delete_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/knowledge_bases.delete_knowledge_base.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-cloud-dialogflow/samples/generated/v2/knowledge_bases.delete_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.get_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/knowledge_bases.get_knowledge_base.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-cloud-dialogflow/samples/generated/v2/knowledge_bases.get_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.list_knowledge_bases | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/knowledge_bases.list_knowledge_bases.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-cloud-dialogflow/samples/generated/v2/knowledge_bases.list_knowledge_bases.js,samples/README.md) |
+| Knowledge_bases.update_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/knowledge_bases.update_knowledge_base.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-cloud-dialogflow/samples/generated/v2/knowledge_bases.update_knowledge_base.js,samples/README.md) |
+| Participants.analyze_content | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.analyze_content.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-cloud-dialogflow/samples/generated/v2/participants.analyze_content.js,samples/README.md) |
+| Participants.create_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.create_participant.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-cloud-dialogflow/samples/generated/v2/participants.create_participant.js,samples/README.md) |
+| Participants.get_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.get_participant.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-cloud-dialogflow/samples/generated/v2/participants.get_participant.js,samples/README.md) |
+| Participants.list_participants | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.list_participants.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-cloud-dialogflow/samples/generated/v2/participants.list_participants.js,samples/README.md) |
+| Participants.streaming_analyze_content | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.streaming_analyze_content.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-cloud-dialogflow/samples/generated/v2/participants.streaming_analyze_content.js,samples/README.md) |
+| Participants.suggest_articles | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.suggest_articles.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-cloud-dialogflow/samples/generated/v2/participants.suggest_articles.js,samples/README.md) |
+| Participants.suggest_faq_answers | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.suggest_faq_answers.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-cloud-dialogflow/samples/generated/v2/participants.suggest_faq_answers.js,samples/README.md) |
+| Participants.suggest_smart_replies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.suggest_smart_replies.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-cloud-dialogflow/samples/generated/v2/participants.suggest_smart_replies.js,samples/README.md) |
+| Participants.update_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/participants.update_participant.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-cloud-dialogflow/samples/generated/v2/participants.update_participant.js,samples/README.md) |
+| Session_entity_types.create_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/session_entity_types.create_session_entity_type.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-cloud-dialogflow/samples/generated/v2/session_entity_types.create_session_entity_type.js,samples/README.md) |
+| Session_entity_types.delete_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/session_entity_types.delete_session_entity_type.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-cloud-dialogflow/samples/generated/v2/session_entity_types.delete_session_entity_type.js,samples/README.md) |
+| Session_entity_types.get_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/session_entity_types.get_session_entity_type.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-cloud-dialogflow/samples/generated/v2/session_entity_types.get_session_entity_type.js,samples/README.md) |
+| Session_entity_types.list_session_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/session_entity_types.list_session_entity_types.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-cloud-dialogflow/samples/generated/v2/session_entity_types.list_session_entity_types.js,samples/README.md) |
+| Session_entity_types.update_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/session_entity_types.update_session_entity_type.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-cloud-dialogflow/samples/generated/v2/session_entity_types.update_session_entity_type.js,samples/README.md) |
+| Sessions.detect_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/sessions.detect_intent.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-cloud-dialogflow/samples/generated/v2/sessions.detect_intent.js,samples/README.md) |
+| Sessions.streaming_detect_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/sessions.streaming_detect_intent.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-cloud-dialogflow/samples/generated/v2/sessions.streaming_detect_intent.js,samples/README.md) |
+| Versions.create_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/versions.create_version.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-cloud-dialogflow/samples/generated/v2/versions.create_version.js,samples/README.md) |
+| Versions.delete_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/versions.delete_version.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-cloud-dialogflow/samples/generated/v2/versions.delete_version.js,samples/README.md) |
+| Versions.get_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/versions.get_version.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-cloud-dialogflow/samples/generated/v2/versions.get_version.js,samples/README.md) |
+| Versions.list_versions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/versions.list_versions.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-cloud-dialogflow/samples/generated/v2/versions.list_versions.js,samples/README.md) |
+| Versions.update_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2/versions.update_version.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-cloud-dialogflow/samples/generated/v2/versions.update_version.js,samples/README.md) |
+| Agents.delete_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.delete_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.delete_agent.js,samples/README.md) |
+| Agents.export_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.export_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.export_agent.js,samples/README.md) |
+| Agents.get_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.get_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.get_agent.js,samples/README.md) |
+| Agents.get_validation_result | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.get_validation_result.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-cloud-dialogflow/samples/generated/v2beta1/agents.get_validation_result.js,samples/README.md) |
+| Agents.import_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.import_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.import_agent.js,samples/README.md) |
+| Agents.restore_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.restore_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.restore_agent.js,samples/README.md) |
+| Agents.search_agents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.search_agents.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-cloud-dialogflow/samples/generated/v2beta1/agents.search_agents.js,samples/README.md) |
+| Agents.set_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.set_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.set_agent.js,samples/README.md) |
+| Agents.train_agent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/agents.train_agent.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-cloud-dialogflow/samples/generated/v2beta1/agents.train_agent.js,samples/README.md) |
+| Answer_records.get_answer_record | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/answer_records.get_answer_record.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-cloud-dialogflow/samples/generated/v2beta1/answer_records.get_answer_record.js,samples/README.md) |
+| Answer_records.list_answer_records | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/answer_records.list_answer_records.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-cloud-dialogflow/samples/generated/v2beta1/answer_records.list_answer_records.js,samples/README.md) |
+| Answer_records.update_answer_record | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/answer_records.update_answer_record.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-cloud-dialogflow/samples/generated/v2beta1/answer_records.update_answer_record.js,samples/README.md) |
+| Contexts.create_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.create_context.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-cloud-dialogflow/samples/generated/v2beta1/contexts.create_context.js,samples/README.md) |
+| Contexts.delete_all_contexts | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.delete_all_contexts.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-cloud-dialogflow/samples/generated/v2beta1/contexts.delete_all_contexts.js,samples/README.md) |
+| Contexts.delete_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.delete_context.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-cloud-dialogflow/samples/generated/v2beta1/contexts.delete_context.js,samples/README.md) |
+| Contexts.get_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.get_context.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-cloud-dialogflow/samples/generated/v2beta1/contexts.get_context.js,samples/README.md) |
+| Contexts.list_contexts | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.list_contexts.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-cloud-dialogflow/samples/generated/v2beta1/contexts.list_contexts.js,samples/README.md) |
+| Contexts.update_context | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/contexts.update_context.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-cloud-dialogflow/samples/generated/v2beta1/contexts.update_context.js,samples/README.md) |
+| Conversation_profiles.clear_suggestion_feature_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.clear_suggestion_feature_config.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.clear_suggestion_feature_config.js,samples/README.md) |
+| Conversation_profiles.create_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.create_conversation_profile.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.create_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.delete_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.delete_conversation_profile.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.delete_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.get_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.get_conversation_profile.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.get_conversation_profile.js,samples/README.md) |
+| Conversation_profiles.list_conversation_profiles | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.list_conversation_profiles.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.list_conversation_profiles.js,samples/README.md) |
+| Conversation_profiles.set_suggestion_feature_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.set_suggestion_feature_config.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.set_suggestion_feature_config.js,samples/README.md) |
+| Conversation_profiles.update_conversation_profile | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.update_conversation_profile.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-cloud-dialogflow/samples/generated/v2beta1/conversation_profiles.update_conversation_profile.js,samples/README.md) |
+| Conversations.batch_create_messages | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.batch_create_messages.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-cloud-dialogflow/samples/generated/v2beta1/conversations.batch_create_messages.js,samples/README.md) |
+| Conversations.complete_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.complete_conversation.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-cloud-dialogflow/samples/generated/v2beta1/conversations.complete_conversation.js,samples/README.md) |
+| Conversations.create_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.create_conversation.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-cloud-dialogflow/samples/generated/v2beta1/conversations.create_conversation.js,samples/README.md) |
+| Conversations.get_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.get_conversation.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-cloud-dialogflow/samples/generated/v2beta1/conversations.get_conversation.js,samples/README.md) |
+| Conversations.list_conversations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.list_conversations.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-cloud-dialogflow/samples/generated/v2beta1/conversations.list_conversations.js,samples/README.md) |
+| Conversations.list_messages | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.list_messages.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-cloud-dialogflow/samples/generated/v2beta1/conversations.list_messages.js,samples/README.md) |
+| Conversations.suggest_conversation_summary | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/conversations.suggest_conversation_summary.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-cloud-dialogflow/samples/generated/v2beta1/conversations.suggest_conversation_summary.js,samples/README.md) |
+| Documents.create_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.create_document.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-cloud-dialogflow/samples/generated/v2beta1/documents.create_document.js,samples/README.md) |
+| Documents.delete_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.delete_document.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-cloud-dialogflow/samples/generated/v2beta1/documents.delete_document.js,samples/README.md) |
+| Documents.get_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.get_document.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-cloud-dialogflow/samples/generated/v2beta1/documents.get_document.js,samples/README.md) |
+| Documents.import_documents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.import_documents.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-cloud-dialogflow/samples/generated/v2beta1/documents.import_documents.js,samples/README.md) |
+| Documents.list_documents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.list_documents.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-cloud-dialogflow/samples/generated/v2beta1/documents.list_documents.js,samples/README.md) |
+| Documents.reload_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.reload_document.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-cloud-dialogflow/samples/generated/v2beta1/documents.reload_document.js,samples/README.md) |
+| Documents.update_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/documents.update_document.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-cloud-dialogflow/samples/generated/v2beta1/documents.update_document.js,samples/README.md) |
+| Entity_types.batch_create_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_create_entities.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_create_entities.js,samples/README.md) |
+| Entity_types.batch_delete_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_delete_entities.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_delete_entities.js,samples/README.md) |
+| Entity_types.batch_delete_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_delete_entity_types.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_delete_entity_types.js,samples/README.md) |
+| Entity_types.batch_update_entities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_update_entities.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_update_entities.js,samples/README.md) |
+| Entity_types.batch_update_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_update_entity_types.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.batch_update_entity_types.js,samples/README.md) |
+| Entity_types.create_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.create_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.create_entity_type.js,samples/README.md) |
+| Entity_types.delete_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.delete_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.delete_entity_type.js,samples/README.md) |
+| Entity_types.get_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.get_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.get_entity_type.js,samples/README.md) |
+| Entity_types.list_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.list_entity_types.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.list_entity_types.js,samples/README.md) |
+| Entity_types.update_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/entity_types.update_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/entity_types.update_entity_type.js,samples/README.md) |
+| Environments.create_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.create_environment.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-cloud-dialogflow/samples/generated/v2beta1/environments.create_environment.js,samples/README.md) |
+| Environments.delete_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.delete_environment.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-cloud-dialogflow/samples/generated/v2beta1/environments.delete_environment.js,samples/README.md) |
+| Environments.get_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.get_environment.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-cloud-dialogflow/samples/generated/v2beta1/environments.get_environment.js,samples/README.md) |
+| Environments.get_environment_history | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.get_environment_history.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-cloud-dialogflow/samples/generated/v2beta1/environments.get_environment_history.js,samples/README.md) |
+| Environments.list_environments | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.list_environments.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-cloud-dialogflow/samples/generated/v2beta1/environments.list_environments.js,samples/README.md) |
+| Environments.update_environment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/environments.update_environment.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-cloud-dialogflow/samples/generated/v2beta1/environments.update_environment.js,samples/README.md) |
+| Fulfillments.get_fulfillment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/fulfillments.get_fulfillment.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-cloud-dialogflow/samples/generated/v2beta1/fulfillments.get_fulfillment.js,samples/README.md) |
+| Fulfillments.update_fulfillment | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/fulfillments.update_fulfillment.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-cloud-dialogflow/samples/generated/v2beta1/fulfillments.update_fulfillment.js,samples/README.md) |
+| Intents.batch_delete_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.batch_delete_intents.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-cloud-dialogflow/samples/generated/v2beta1/intents.batch_delete_intents.js,samples/README.md) |
+| Intents.batch_update_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.batch_update_intents.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-cloud-dialogflow/samples/generated/v2beta1/intents.batch_update_intents.js,samples/README.md) |
+| Intents.create_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.create_intent.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-cloud-dialogflow/samples/generated/v2beta1/intents.create_intent.js,samples/README.md) |
+| Intents.delete_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.delete_intent.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-cloud-dialogflow/samples/generated/v2beta1/intents.delete_intent.js,samples/README.md) |
+| Intents.get_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.get_intent.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-cloud-dialogflow/samples/generated/v2beta1/intents.get_intent.js,samples/README.md) |
+| Intents.list_intents | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.list_intents.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-cloud-dialogflow/samples/generated/v2beta1/intents.list_intents.js,samples/README.md) |
+| Intents.update_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/intents.update_intent.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-cloud-dialogflow/samples/generated/v2beta1/intents.update_intent.js,samples/README.md) |
+| Knowledge_bases.create_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.create_knowledge_base.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-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.create_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.delete_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.delete_knowledge_base.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-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.delete_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.get_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.get_knowledge_base.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-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.get_knowledge_base.js,samples/README.md) |
+| Knowledge_bases.list_knowledge_bases | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.list_knowledge_bases.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-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.list_knowledge_bases.js,samples/README.md) |
+| Knowledge_bases.update_knowledge_base | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.update_knowledge_base.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-cloud-dialogflow/samples/generated/v2beta1/knowledge_bases.update_knowledge_base.js,samples/README.md) |
+| Participants.analyze_content | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.analyze_content.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-cloud-dialogflow/samples/generated/v2beta1/participants.analyze_content.js,samples/README.md) |
+| Participants.compile_suggestion | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.compile_suggestion.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-cloud-dialogflow/samples/generated/v2beta1/participants.compile_suggestion.js,samples/README.md) |
+| Participants.create_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.create_participant.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-cloud-dialogflow/samples/generated/v2beta1/participants.create_participant.js,samples/README.md) |
+| Participants.get_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.get_participant.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-cloud-dialogflow/samples/generated/v2beta1/participants.get_participant.js,samples/README.md) |
+| Participants.list_participants | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.list_participants.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-cloud-dialogflow/samples/generated/v2beta1/participants.list_participants.js,samples/README.md) |
+| Participants.list_suggestions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.list_suggestions.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-cloud-dialogflow/samples/generated/v2beta1/participants.list_suggestions.js,samples/README.md) |
+| Participants.streaming_analyze_content | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.streaming_analyze_content.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-cloud-dialogflow/samples/generated/v2beta1/participants.streaming_analyze_content.js,samples/README.md) |
+| Participants.suggest_articles | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_articles.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-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_articles.js,samples/README.md) |
+| Participants.suggest_faq_answers | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_faq_answers.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-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_faq_answers.js,samples/README.md) |
+| Participants.suggest_smart_replies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_smart_replies.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-cloud-dialogflow/samples/generated/v2beta1/participants.suggest_smart_replies.js,samples/README.md) |
+| Participants.update_participant | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/participants.update_participant.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-cloud-dialogflow/samples/generated/v2beta1/participants.update_participant.js,samples/README.md) |
+| Session_entity_types.create_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.create_session_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.create_session_entity_type.js,samples/README.md) |
+| Session_entity_types.delete_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.delete_session_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.delete_session_entity_type.js,samples/README.md) |
+| Session_entity_types.get_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.get_session_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.get_session_entity_type.js,samples/README.md) |
+| Session_entity_types.list_session_entity_types | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.list_session_entity_types.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-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.list_session_entity_types.js,samples/README.md) |
+| Session_entity_types.update_session_entity_type | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.update_session_entity_type.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-cloud-dialogflow/samples/generated/v2beta1/session_entity_types.update_session_entity_type.js,samples/README.md) |
+| Sessions.detect_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/sessions.detect_intent.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-cloud-dialogflow/samples/generated/v2beta1/sessions.detect_intent.js,samples/README.md) |
+| Sessions.streaming_detect_intent | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/sessions.streaming_detect_intent.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-cloud-dialogflow/samples/generated/v2beta1/sessions.streaming_detect_intent.js,samples/README.md) |
+| Versions.create_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/versions.create_version.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-cloud-dialogflow/samples/generated/v2beta1/versions.create_version.js,samples/README.md) |
+| Versions.delete_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/versions.delete_version.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-cloud-dialogflow/samples/generated/v2beta1/versions.delete_version.js,samples/README.md) |
+| Versions.get_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/versions.get_version.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-cloud-dialogflow/samples/generated/v2beta1/versions.get_version.js,samples/README.md) |
+| Versions.list_versions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/versions.list_versions.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-cloud-dialogflow/samples/generated/v2beta1/versions.list_versions.js,samples/README.md) |
+| Versions.update_version | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/generated/v2beta1/versions.update_version.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-cloud-dialogflow/samples/generated/v2beta1/versions.update_version.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/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-cloud-dialogflow/samples/quickstart.js,samples/README.md) |
+| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-dialogflow/samples/test/quickstart.test.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-cloud-dialogflow/samples/test/quickstart.test.js,samples/README.md) |
+
+
+
+The [Dialogflow 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-cloud/dialogflow@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 **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+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://googleapis.dev/nodejs/dialogflow/latest
+[product-docs]: https://cloud.google.com/dialogflow-enterprise/
+[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=dialogflow.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-dialogflow/linkinator.config.json b/packages/google-cloud-dialogflow/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-dialogflow/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-cloud-dialogflow/package.json b/packages/google-cloud-dialogflow/package.json
new file mode 100644
index 00000000000..c18d7053da5
--- /dev/null
+++ b/packages/google-cloud-dialogflow/package.json
@@ -0,0 +1,73 @@
+{
+ "name": "@google-cloud/dialogflow",
+ "description": "Dialogflow API client for Node.js",
+ "version": "5.3.0",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-dialogflow",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google dialogflow",
+ "dialogflow",
+ "Dialogflow API"
+ ],
+ "scripts": {
+ "test": "c8 mocha build/test/*_v2.js && c8 mocha build/test/*_v2beta1.js",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "docs": "jsdoc -c .jsdoc.js",
+ "lint": "gts check",
+ "fix": "gts fix",
+ "docs-test": "linkinator docs",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "predocs-test": "npm run docs",
+ "prepare": "npm run compile-protos && npm run compile",
+ "prelint": "cd samples; npm link ../; npm install",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.1.0",
+ "codecov": "^3.6.5",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^4.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dialogflow"
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/common_resources.proto b/packages/google-cloud-dialogflow/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/common_resources.proto
@@ -0,0 +1,52 @@
+// Copyright 2019 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.
+
+// This file contains stub messages for common resources in GCP.
+// It is not intended to be directly generated, and is instead used by
+// other tooling to be able to match common resource patterns.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/api/resource.proto";
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ pattern: "projects/{project}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Organization"
+ pattern: "organizations/{organization}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Folder"
+ pattern: "folders/{folder}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudbilling.googleapis.com/BillingAccount"
+ pattern: "billingAccounts/{billing_account}"
+};
+
+option (google.api.resource_definition) = {
+ type: "locations.googleapis.com/Location"
+ pattern: "projects/{project}/locations/{location}"
+};
+
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/agent.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/agent.proto
new file mode 100644
index 00000000000..fa16a4c2af2
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/agent.proto
@@ -0,0 +1,559 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/validation_result.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "AgentProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing [Agents][google.cloud.dialogflow.v2.Agent].
+service Agents {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Retrieves the specified agent.
+ rpc GetAgent(GetAgentRequest) returns (Agent) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/agent"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/agent"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates/updates the specified agent.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc SetAgent(SetAgentRequest) returns (Agent) {
+ option (google.api.http) = {
+ post: "/v2/{agent.parent=projects/*}/agent"
+ body: "agent"
+ additional_bindings {
+ post: "/v2/{agent.parent=projects/*/locations/*}/agent"
+ body: "agent"
+ }
+ };
+ option (google.api.method_signature) = "agent";
+ }
+
+ // Deletes the specified agent.
+ rpc DeleteAgent(DeleteAgentRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{parent=projects/*}/agent"
+ additional_bindings {
+ delete: "/v2/{parent=projects/*/locations/*}/agent"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Returns the list of agents.
+ //
+ // Since there is at most one conversational agent per project, this method is
+ // useful primarily for listing all agents across projects the caller has
+ // access to. One can achieve that with a wildcard project collection id "-".
+ // Refer to [List
+ // Sub-Collections](https://cloud.google.com/apis/design/design_patterns#list_sub-collections).
+ rpc SearchAgents(SearchAgentsRequest) returns (SearchAgentsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/agent:search"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/agent:search"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Trains the specified agent.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc TrainAgent(TrainAgentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/agent:train"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/agent:train"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Exports the specified agent to a ZIP file.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: [ExportAgentResponse][google.cloud.dialogflow.v2.ExportAgentResponse]
+ rpc ExportAgent(ExportAgentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/agent:export"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/agent:export"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.dialogflow.v2.ExportAgentResponse"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Imports the specified agent from a ZIP file.
+ //
+ // Uploads new intents and entity types without deleting the existing ones.
+ // Intents and entity types with the same name are replaced with the new
+ // versions from [ImportAgentRequest][google.cloud.dialogflow.v2.ImportAgentRequest]. After the import, the imported draft
+ // agent will be trained automatically (unless disabled in agent settings).
+ // However, once the import is done, training may not be completed yet. Please
+ // call [TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent] and wait for the operation it returns in order to train
+ // explicitly.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // The operation only tracks when importing is complete, not when it is done
+ // training.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc ImportAgent(ImportAgentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/agent:import"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/agent:import"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Restores the specified agent from a ZIP file.
+ //
+ // Replaces the current agent version with a new one. All the intents and
+ // entity types in the older version are deleted. After the restore, the
+ // restored draft agent will be trained automatically (unless disabled in
+ // agent settings). However, once the restore is done, training may not be
+ // completed yet. Please call [TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent] and wait for the operation it
+ // returns in order to train explicitly.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // The operation only tracks when restoring is complete, not when it is done
+ // training.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc RestoreAgent(RestoreAgentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/agent:restore"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/agent:restore"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Gets agent validation result. Agent validation is performed during
+ // training time and is updated automatically when training is completed.
+ rpc GetValidationResult(GetValidationResultRequest) returns (ValidationResult) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/agent/validationResult"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/agent/validationResult"
+ }
+ };
+ }
+}
+
+// A Dialogflow agent is a virtual agent that handles conversations with your
+// end-users. It is a natural language understanding module that understands the
+// nuances of human language. Dialogflow translates end-user text or audio
+// during a conversation to structured data that your apps and services can
+// understand. You design and build a Dialogflow agent to handle the types of
+// conversations required for your system.
+//
+// For more information about agents, see the
+// [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).
+//
+message Agent {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/Agent"
+ pattern: "projects/{project}/agent"
+ pattern: "projects/{project}/locations/{location}/agent"
+ };
+
+ // Match mode determines how intents are detected from user queries.
+ enum MatchMode {
+ // Not specified.
+ MATCH_MODE_UNSPECIFIED = 0;
+
+ // Best for agents with a small number of examples in intents and/or wide
+ // use of templates syntax and composite entities.
+ MATCH_MODE_HYBRID = 1;
+
+ // Can be used for agents with a large number of examples in intents,
+ // especially the ones using @sys.any or very large custom entities.
+ MATCH_MODE_ML_ONLY = 2;
+ }
+
+ // API version for the agent.
+ enum ApiVersion {
+ // Not specified.
+ API_VERSION_UNSPECIFIED = 0;
+
+ // Legacy V1 API.
+ API_VERSION_V1 = 1;
+
+ // V2 API.
+ API_VERSION_V2 = 2;
+
+ // V2beta1 API.
+ API_VERSION_V2_BETA_1 = 3;
+ }
+
+ // Represents the agent tier.
+ enum Tier {
+ // Not specified. This value should never be used.
+ TIER_UNSPECIFIED = 0;
+
+ // Trial Edition, previously known as Standard Edition.
+ TIER_STANDARD = 1;
+
+ // Essentials Edition, previously known as Enterprise Essential Edition.
+ TIER_ENTERPRISE = 2;
+
+ // Essentials Edition (same as TIER_ENTERPRISE), previously known as
+ // Enterprise Plus Edition.
+ TIER_ENTERPRISE_PLUS = 3 [deprecated = true];
+ }
+
+ // Required. The project of this agent.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The name of this agent.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The default language of the agent as a language tag. See
+ // [Language
+ // Support](https://cloud.google.com/dialogflow/docs/reference/language)
+ // for a list of the currently supported language codes. This field cannot be
+ // set by the `Update` method.
+ string default_language_code = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The list of all languages supported by this agent (except for the
+ // `default_language_code`).
+ repeated string supported_language_codes = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The time zone of this agent from the
+ // [time zone database](https://www.iana.org/time-zones), e.g.,
+ // America/New_York, Europe/Paris.
+ string time_zone = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The description of this agent.
+ // The maximum length is 500 characters. If exceeded, the request is rejected.
+ string description = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The URI of the agent's avatar.
+ // Avatars are used throughout the Dialogflow console and in the self-hosted
+ // [Web
+ // Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo)
+ // integration.
+ string avatar_uri = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Determines whether this agent should log conversation queries.
+ bool enable_logging = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Determines how intents are detected from user queries.
+ MatchMode match_mode = 9 [
+ deprecated = true,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+
+ // Optional. To filter out false positive results and still get variety in
+ // matched natural language inputs for your agent, you can tune the machine
+ // learning classification threshold. If the returned score value is less than
+ // the threshold value, then a fallback intent will be triggered or, if there
+ // are no fallback intents defined, no intent will be triggered. The score
+ // values range from 0.0 (completely uncertain) to 1.0 (completely certain).
+ // If set to 0.0, the default of 0.3 is used.
+ float classification_threshold = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. API version displayed in Dialogflow console. If not specified,
+ // V2 API is assumed. Clients are free to query different service endpoints
+ // for different API versions. However, bots connectors and webhook calls will
+ // follow the specified API version.
+ ApiVersion api_version = 14 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The agent tier. If not specified, TIER_STANDARD is assumed.
+ Tier tier = 15 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [Agents.GetAgent][google.cloud.dialogflow.v2.Agents.GetAgent].
+message GetAgentRequest {
+ // Required. The project that the agent to fetch is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+}
+
+// The request message for [Agents.SetAgent][google.cloud.dialogflow.v2.Agents.SetAgent].
+message SetAgentRequest {
+ // Required. The agent to update.
+ Agent agent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [Agents.DeleteAgent][google.cloud.dialogflow.v2.Agents.DeleteAgent].
+message DeleteAgentRequest {
+ // Required. The project that the agent to delete is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+}
+
+// The request message for [Agents.SearchAgents][google.cloud.dialogflow.v2.Agents.SearchAgents].
+message SearchAgentsRequest {
+ // Required. The project to list agents from.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+
+ // Optional. The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // The next_page_token value returned from a previous list request.
+ string page_token = 3;
+}
+
+// The response message for [Agents.SearchAgents][google.cloud.dialogflow.v2.Agents.SearchAgents].
+message SearchAgentsResponse {
+ // The list of agents. There will be a maximum number of items returned based
+ // on the page_size field in the request.
+ repeated Agent agents = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [Agents.TrainAgent][google.cloud.dialogflow.v2.Agents.TrainAgent].
+message TrainAgentRequest {
+ // Required. The project that the agent to train is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+}
+
+// The request message for [Agents.ExportAgent][google.cloud.dialogflow.v2.Agents.ExportAgent].
+message ExportAgentRequest {
+ // Required. The project that the agent to export is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+
+ // Required. The [Google Cloud Storage](https://cloud.google.com/storage/docs/)
+ // URI to export the agent to.
+ // The format of this URI must be `gs:///`.
+ // If left unspecified, the serialized agent is returned inline.
+ //
+ // Dialogflow performs a write operation for the Cloud Storage object
+ // on the caller's behalf, so your request authentication must
+ // have write permissions for the object. For more information, see
+ // [Dialogflow access
+ // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
+ string agent_uri = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The response message for [Agents.ExportAgent][google.cloud.dialogflow.v2.Agents.ExportAgent].
+message ExportAgentResponse {
+ // The exported agent.
+ oneof agent {
+ // The URI to a file containing the exported agent. This field is populated
+ // only if `agent_uri` is specified in `ExportAgentRequest`.
+ string agent_uri = 1;
+
+ // Zip compressed raw byte content for agent.
+ bytes agent_content = 2;
+ }
+}
+
+// The request message for [Agents.ImportAgent][google.cloud.dialogflow.v2.Agents.ImportAgent].
+message ImportAgentRequest {
+ // Required. The project that the agent to import is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+
+ // Required. The agent to import.
+ oneof agent {
+ // The URI to a Google Cloud Storage file containing the agent to import.
+ // Note: The URI must start with "gs://".
+ //
+ // Dialogflow performs a read operation for the Cloud Storage object
+ // on the caller's behalf, so your request authentication must
+ // have read permissions for the object. For more information, see
+ // [Dialogflow access
+ // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
+ string agent_uri = 2;
+
+ // Zip compressed raw byte content for agent.
+ bytes agent_content = 3;
+ }
+}
+
+// The request message for [Agents.RestoreAgent][google.cloud.dialogflow.v2.Agents.RestoreAgent].
+message RestoreAgentRequest {
+ // Required. The project that the agent to restore is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+
+ // Required. The agent to restore.
+ oneof agent {
+ // The URI to a Google Cloud Storage file containing the agent to restore.
+ // Note: The URI must start with "gs://".
+ //
+ // Dialogflow performs a read operation for the Cloud Storage object
+ // on the caller's behalf, so your request authentication must
+ // have read permissions for the object. For more information, see
+ // [Dialogflow access
+ // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
+ string agent_uri = 2;
+
+ // Zip compressed raw byte content for agent.
+ bytes agent_content = 3;
+ }
+}
+
+// The request message for [Agents.GetValidationResult][google.cloud.dialogflow.v2.Agents.GetValidationResult].
+message GetValidationResultRequest {
+ // Required. The project that the agent is associated with.
+ // Format: `projects/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+
+ // Optional. The language for which you want a validation result. If not
+ // specified, the agent's default language is used. [Many
+ // languages](https://cloud.google.com/dialogflow/docs/reference/language)
+ // are supported. Note: languages must be enabled in the agent before they can
+ // be used.
+ string language_code = 3 [(google.api.field_behavior) = OPTIONAL];
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/answer_record.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/answer_record.proto
new file mode 100644
index 00000000000..14ab41e15ad
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/answer_record.proto
@@ -0,0 +1,294 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/participant.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "AnswerRecordsProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing [AnswerRecords][google.cloud.dialogflow.v2.AnswerRecord].
+service AnswerRecords {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Returns the list of all answer records in the specified project in reverse
+ // chronological order.
+ rpc ListAnswerRecords(ListAnswerRecordsRequest) returns (ListAnswerRecordsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/answerRecords"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/answerRecords"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates the specified answer record.
+ rpc UpdateAnswerRecord(UpdateAnswerRecordRequest) returns (AnswerRecord) {
+ option (google.api.http) = {
+ patch: "/v2/{answer_record.name=projects/*/answerRecords/*}"
+ body: "answer_record"
+ additional_bindings {
+ patch: "/v2/{answer_record.name=projects/*/locations/*/answerRecords/*}"
+ body: "answer_record"
+ }
+ };
+ option (google.api.method_signature) = "answer_record,update_mask";
+ }
+}
+
+// Answer records are records to manage answer history and feedbacks for
+// Dialogflow.
+//
+// Currently, answer record includes:
+//
+// - human agent assistant article suggestion
+// - human agent assistant faq article
+//
+// It doesn't include:
+//
+// - `DetectIntent` intent matching
+// - `DetectIntent` knowledge
+//
+// Answer records are not related to the conversation history in the
+// Dialogflow Console. A Record is generated even when the end-user disables
+// conversation history in the console. Records are created when there's a human
+// agent assistant suggestion generated.
+//
+// A typical workflow for customers provide feedback to an answer is:
+//
+// 1. For human agent assistant, customers get suggestion via ListSuggestions
+// API. Together with the answers, [AnswerRecord.name][google.cloud.dialogflow.v2.AnswerRecord.name] are returned to the
+// customers.
+// 2. The customer uses the [AnswerRecord.name][google.cloud.dialogflow.v2.AnswerRecord.name] to call the
+// [UpdateAnswerRecord][] method to send feedback about a specific answer
+// that they believe is wrong.
+message AnswerRecord {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/AnswerRecord"
+ pattern: "projects/{project}/answerRecords/{answer_record}"
+ pattern: "projects/{project}/locations/{location}/answerRecords/{answer_record}"
+ };
+
+ // The unique identifier of this answer record.
+ // Format: `projects//locations//answerRecords/`.
+ string name = 1;
+
+ // Required. The AnswerFeedback for this record. You can set this with
+ // [AnswerRecords.UpdateAnswerRecord][google.cloud.dialogflow.v2.AnswerRecords.UpdateAnswerRecord] in order to give us feedback about
+ // this answer.
+ AnswerFeedback answer_feedback = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The record for this answer.
+ oneof record {
+ // Output only. The record for human agent assistant.
+ AgentAssistantRecord agent_assistant_record = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+}
+
+// Request message for [AnswerRecords.ListAnswerRecords][google.cloud.dialogflow.v2.AnswerRecords.ListAnswerRecords].
+message ListAnswerRecordsRequest {
+ // Required. The project to list all answer records for in reverse
+ // chronological order. Format: `projects//locations/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/AnswerRecord"
+ }
+ ];
+
+ // Optional. Filters to restrict results to specific answer records.
+ //
+ // Marked deprecated as it hasn't been, and isn't currently, supported.
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 2 [
+ deprecated = true,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+
+ // Optional. The maximum number of records to return in a single page.
+ // The server may return fewer records than this. If unspecified, we use 10.
+ // The maximum is 100.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The
+ // [ListAnswerRecordsResponse.next_page_token][google.cloud.dialogflow.v2.ListAnswerRecordsResponse.next_page_token]
+ // value returned from a previous list request used to continue listing on
+ // the next page.
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [AnswerRecords.ListAnswerRecords][google.cloud.dialogflow.v2.AnswerRecords.ListAnswerRecords].
+message ListAnswerRecordsResponse {
+ // The list of answer records.
+ repeated AnswerRecord answer_records = 1;
+
+ // A token to retrieve next page of results. Or empty if there are no more
+ // results.
+ // Pass this value in the
+ // [ListAnswerRecordsRequest.page_token][google.cloud.dialogflow.v2.ListAnswerRecordsRequest.page_token]
+ // field in the subsequent call to `ListAnswerRecords` method to retrieve the
+ // next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for [AnswerRecords.UpdateAnswerRecord][google.cloud.dialogflow.v2.AnswerRecords.UpdateAnswerRecord].
+message UpdateAnswerRecordRequest {
+ // Required. Answer record to update.
+ AnswerRecord answer_record = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Represents feedback the customer has about the quality & correctness of a
+// certain answer in a conversation.
+message AnswerFeedback {
+ // The correctness level of an answer.
+ enum CorrectnessLevel {
+ // Correctness level unspecified.
+ CORRECTNESS_LEVEL_UNSPECIFIED = 0;
+
+ // Answer is totally wrong.
+ NOT_CORRECT = 1;
+
+ // Answer is partially correct.
+ PARTIALLY_CORRECT = 2;
+
+ // Answer is fully correct.
+ FULLY_CORRECT = 3;
+ }
+
+ // The correctness level of the specific answer.
+ CorrectnessLevel correctness_level = 1;
+
+ // Normally, detail feedback is provided when answer is not fully correct.
+ oneof detail_feedback {
+ // Detail feedback of agent assist suggestions.
+ AgentAssistantFeedback agent_assistant_detail_feedback = 2;
+ }
+
+ // Indicates whether the answer/item was clicked by the human agent
+ // or not. Default to false.
+ bool clicked = 3;
+
+ // Time when the answer/item was clicked.
+ google.protobuf.Timestamp click_time = 5;
+
+ // Indicates whether the answer/item was displayed to the human
+ // agent in the agent desktop UI. Default to false.
+ bool displayed = 4;
+
+ // Time when the answer/item was displayed.
+ google.protobuf.Timestamp display_time = 6;
+}
+
+// Detail feedback of Agent Assist result.
+message AgentAssistantFeedback {
+ // Relevance of an answer.
+ enum AnswerRelevance {
+ // Answer relevance unspecified.
+ ANSWER_RELEVANCE_UNSPECIFIED = 0;
+
+ // Answer is irrelevant to query.
+ IRRELEVANT = 1;
+
+ // Answer is relevant to query.
+ RELEVANT = 2;
+ }
+
+ // Correctness of document.
+ enum DocumentCorrectness {
+ // Document correctness unspecified.
+ DOCUMENT_CORRECTNESS_UNSPECIFIED = 0;
+
+ // Information in document is incorrect.
+ INCORRECT = 1;
+
+ // Information in document is correct.
+ CORRECT = 2;
+ }
+
+ // Efficiency of document.
+ enum DocumentEfficiency {
+ // Document efficiency unspecified.
+ DOCUMENT_EFFICIENCY_UNSPECIFIED = 0;
+
+ // Document is inefficient.
+ INEFFICIENT = 1;
+
+ // Document is efficient.
+ EFFICIENT = 2;
+ }
+
+ // Optional. Whether or not the suggested answer is relevant.
+ //
+ // For example:
+ //
+ // * Query: "Can I change my mailing address?"
+ // * Suggested document says: "Items must be returned/exchanged within 60
+ // days of the purchase date."
+ // * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT]
+ AnswerRelevance answer_relevance = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Whether or not the information in the document is correct.
+ //
+ // For example:
+ //
+ // * Query: "Can I return the package in 2 days once received?"
+ // * Suggested document says: "Items must be returned/exchanged within 60
+ // days of the purchase date."
+ // * Ground truth: "No return or exchange is allowed."
+ // * [document_correctness]: INCORRECT
+ DocumentCorrectness document_correctness = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Whether or not the suggested document is efficient. For example,
+ // if the document is poorly written, hard to understand, hard to use or
+ // too long to find useful information, [document_efficiency][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_efficiency] is
+ // [DocumentEfficiency.INEFFICIENT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency.INEFFICIENT].
+ DocumentEfficiency document_efficiency = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Represents a record of a human agent assist answer.
+message AgentAssistantRecord {
+ // Output only. The agent assist answer.
+ oneof answer {
+ // Output only. The article suggestion answer.
+ ArticleAnswer article_suggestion_answer = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The FAQ answer.
+ FaqAnswer faq_answer = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/audio_config.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/audio_config.proto
new file mode 100644
index 00000000000..b86a9d3a1d4
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/audio_config.proto
@@ -0,0 +1,452 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "AudioConfigProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+option (google.api.resource_definition) = {
+ type: "automl.googleapis.com/Model"
+ pattern: "projects/{project}/locations/{location}/models/{model}"
+};
+option (google.api.resource_definition) = {
+ type: "speech.googleapis.com/PhraseSet"
+ pattern: "projects/{project}/locations/{location}/phraseSets/{phrase_set}"
+};
+
+// Audio encoding of the audio content sent in the conversational query request.
+// Refer to the
+// [Cloud Speech API
+// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more
+// details.
+enum AudioEncoding {
+ // Not specified.
+ AUDIO_ENCODING_UNSPECIFIED = 0;
+
+ // Uncompressed 16-bit signed little-endian samples (Linear PCM).
+ AUDIO_ENCODING_LINEAR_16 = 1;
+
+ // [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
+ // Codec) is the recommended encoding because it is lossless (therefore
+ // recognition is not compromised) and requires only about half the
+ // bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
+ // 24-bit samples, however, not all fields in `STREAMINFO` are supported.
+ AUDIO_ENCODING_FLAC = 2;
+
+ // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
+ AUDIO_ENCODING_MULAW = 3;
+
+ // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
+ AUDIO_ENCODING_AMR = 4;
+
+ // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
+ AUDIO_ENCODING_AMR_WB = 5;
+
+ // Opus encoded audio frames in Ogg container
+ // ([OggOpus](https://wiki.xiph.org/OggOpus)).
+ // `sample_rate_hertz` must be 16000.
+ AUDIO_ENCODING_OGG_OPUS = 6;
+
+ // Although the use of lossy encodings is not recommended, if a very low
+ // bitrate encoding is required, `OGG_OPUS` is highly preferred over
+ // Speex encoding. The [Speex](https://speex.org/) encoding supported by
+ // Dialogflow API has a header byte in each block, as in MIME type
+ // `audio/x-speex-with-header-byte`.
+ // It is a variant of the RTP Speex encoding defined in
+ // [RFC 5574](https://tools.ietf.org/html/rfc5574).
+ // The stream is a sequence of blocks, one block per RTP packet. Each block
+ // starts with a byte containing the length of the block, in bytes, followed
+ // by one or more frames of Speex data, padded to an integral number of
+ // bytes (octets) as specified in RFC 5574. In other words, each RTP header
+ // is replaced with a single byte containing the block length. Only Speex
+ // wideband is supported. `sample_rate_hertz` must be 16000.
+ AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7;
+}
+
+// Hints for the speech recognizer to help with recognition in a specific
+// conversation state.
+message SpeechContext {
+ // Optional. A list of strings containing words and phrases that the speech
+ // recognizer should recognize with higher likelihood.
+ //
+ // This list can be used to:
+ //
+ // * improve accuracy for words and phrases you expect the user to say,
+ // e.g. typical commands for your Dialogflow agent
+ // * add additional words to the speech recognizer vocabulary
+ // * ...
+ //
+ // See the [Cloud Speech
+ // documentation](https://cloud.google.com/speech-to-text/quotas) for usage
+ // limits.
+ repeated string phrases = 1;
+
+ // Optional. Boost for this context compared to other contexts:
+ //
+ // * If the boost is positive, Dialogflow will increase the probability that
+ // the phrases in this context are recognized over similar sounding phrases.
+ // * If the boost is unspecified or non-positive, Dialogflow will not apply
+ // any boost.
+ //
+ // Dialogflow recommends that you use boosts in the range (0, 20] and that you
+ // find a value that fits your use case with binary search.
+ float boost = 2;
+}
+
+// Variant of the specified [Speech model][google.cloud.dialogflow.v2.InputAudioConfig.model] to use.
+//
+// See the [Cloud Speech
+// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+// for which models have different variants. For example, the "phone_call" model
+// has both a standard and an enhanced variant. When you use an enhanced model,
+// you will generally receive higher quality results than for a standard model.
+enum SpeechModelVariant {
+ // No model variant specified. In this case Dialogflow defaults to
+ // USE_BEST_AVAILABLE.
+ SPEECH_MODEL_VARIANT_UNSPECIFIED = 0;
+
+ // Use the best available variant of the [Speech
+ // model][InputAudioConfig.model] that the caller is eligible for.
+ //
+ // Please see the [Dialogflow
+ // docs](https://cloud.google.com/dialogflow/docs/data-logging) for
+ // how to make your project eligible for enhanced models.
+ USE_BEST_AVAILABLE = 1;
+
+ // Use standard model variant even if an enhanced model is available. See the
+ // [Cloud Speech
+ // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+ // for details about enhanced models.
+ USE_STANDARD = 2;
+
+ // Use an enhanced model variant:
+ //
+ // * If an enhanced variant does not exist for the given
+ // [model][google.cloud.dialogflow.v2.InputAudioConfig.model] and request language, Dialogflow falls
+ // back to the standard variant.
+ //
+ // The [Cloud Speech
+ // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+ // describes which models have enhanced variants.
+ //
+ // * If the API caller isn't eligible for enhanced models, Dialogflow returns
+ // an error. Please see the [Dialogflow
+ // docs](https://cloud.google.com/dialogflow/docs/data-logging)
+ // for how to make your project eligible.
+ USE_ENHANCED = 3;
+}
+
+// Information for a word recognized by the speech recognizer.
+message SpeechWordInfo {
+ // The word this info is for.
+ string word = 3;
+
+ // Time offset relative to the beginning of the audio that corresponds to the
+ // start of the spoken word. This is an experimental feature and the accuracy
+ // of the time offset can vary.
+ google.protobuf.Duration start_offset = 1;
+
+ // Time offset relative to the beginning of the audio that corresponds to the
+ // end of the spoken word. This is an experimental feature and the accuracy of
+ // the time offset can vary.
+ google.protobuf.Duration end_offset = 2;
+
+ // The Speech confidence between 0.0 and 1.0 for this word. A higher number
+ // indicates an estimated greater likelihood that the recognized word is
+ // correct. The default of 0.0 is a sentinel value indicating that confidence
+ // was not set.
+ //
+ // This field is not guaranteed to be fully stable over time for the same
+ // audio input. Users should also not rely on it to always be provided.
+ float confidence = 4;
+}
+
+// Instructs the speech recognizer how to process the audio content.
+message InputAudioConfig {
+ // Required. Audio encoding of the audio content to process.
+ AudioEncoding audio_encoding = 1;
+
+ // Required. Sample rate (in Hertz) of the audio content sent in the query.
+ // Refer to
+ // [Cloud Speech API
+ // documentation](https://cloud.google.com/speech-to-text/docs/basics) for
+ // more details.
+ int32 sample_rate_hertz = 2;
+
+ // Required. The language of the supplied audio. Dialogflow does not do
+ // translations. See [Language
+ // Support](https://cloud.google.com/dialogflow/docs/reference/language)
+ // for a list of the currently supported language codes. Note that queries in
+ // the same session do not necessarily need to specify the same language.
+ string language_code = 3;
+
+ // If `true`, Dialogflow returns [SpeechWordInfo][google.cloud.dialogflow.v2.SpeechWordInfo] in
+ // [StreamingRecognitionResult][google.cloud.dialogflow.v2.StreamingRecognitionResult] with information about the recognized speech
+ // words, e.g. start and end time offsets. If false or unspecified, Speech
+ // doesn't return any word-level information.
+ bool enable_word_info = 13;
+
+ // A list of strings containing words and phrases that the speech
+ // recognizer should recognize with higher likelihood.
+ //
+ // See [the Cloud Speech
+ // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
+ // for more details.
+ //
+ // This field is deprecated. Please use [speech_contexts]() instead. If you
+ // specify both [phrase_hints]() and [speech_contexts](), Dialogflow will
+ // treat the [phrase_hints]() as a single additional [SpeechContext]().
+ repeated string phrase_hints = 4 [deprecated = true];
+
+ // Context information to assist speech recognition.
+ //
+ // See [the Cloud Speech
+ // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
+ // for more details.
+ repeated SpeechContext speech_contexts = 11;
+
+ // Which Speech model to select for the given request. Select the
+ // model best suited to your domain to get best results. If a model is not
+ // explicitly specified, then we auto-select a model based on the parameters
+ // in the InputAudioConfig.
+ // If enhanced speech model is enabled for the agent and an enhanced
+ // version of the specified model for the language does not exist, then the
+ // speech is recognized using the standard version of the specified model.
+ // Refer to
+ // [Cloud Speech API
+ // documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model)
+ // for more details.
+ string model = 7;
+
+ // Which variant of the [Speech model][google.cloud.dialogflow.v2.InputAudioConfig.model] to use.
+ SpeechModelVariant model_variant = 10;
+
+ // If `false` (default), recognition does not cease until the
+ // client closes the stream.
+ // If `true`, the recognizer will detect a single spoken utterance in input
+ // audio. Recognition ceases when it detects the audio's voice has
+ // stopped or paused. In this case, once a detected intent is received, the
+ // client should close the stream and start a new request with a new stream as
+ // needed.
+ // Note: This setting is relevant only for streaming methods.
+ // Note: When specified, InputAudioConfig.single_utterance takes precedence
+ // over StreamingDetectIntentRequest.single_utterance.
+ bool single_utterance = 8;
+
+ // Only used in [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] and
+ // [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2.Participants.StreamingAnalyzeContent].
+ // If `false` and recognition doesn't return any result, trigger
+ // `NO_SPEECH_RECOGNIZED` event to Dialogflow agent.
+ bool disable_no_speech_recognized_event = 14;
+}
+
+// Gender of the voice as described in
+// [SSML voice element](https://www.w3.org/TR/speech-synthesis11/#edef_voice).
+enum SsmlVoiceGender {
+ // An unspecified gender, which means that the client doesn't care which
+ // gender the selected voice will have.
+ SSML_VOICE_GENDER_UNSPECIFIED = 0;
+
+ // A male voice.
+ SSML_VOICE_GENDER_MALE = 1;
+
+ // A female voice.
+ SSML_VOICE_GENDER_FEMALE = 2;
+
+ // A gender-neutral voice.
+ SSML_VOICE_GENDER_NEUTRAL = 3;
+}
+
+// Description of which voice to use for speech synthesis.
+message VoiceSelectionParams {
+ // Optional. The name of the voice. If not set, the service will choose a
+ // voice based on the other parameters such as language_code and
+ // [ssml_gender][google.cloud.dialogflow.v2.VoiceSelectionParams.ssml_gender].
+ string name = 1;
+
+ // Optional. The preferred gender of the voice. If not set, the service will
+ // choose a voice based on the other parameters such as language_code and
+ // [name][google.cloud.dialogflow.v2.VoiceSelectionParams.name]. Note that this is only a preference, not requirement. If a
+ // voice of the appropriate gender is not available, the synthesizer should
+ // substitute a voice with a different gender rather than failing the request.
+ SsmlVoiceGender ssml_gender = 2;
+}
+
+// Configuration of how speech should be synthesized.
+message SynthesizeSpeechConfig {
+ // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal
+ // native speed supported by the specific voice. 2.0 is twice as fast, and
+ // 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any
+ // other values < 0.25 or > 4.0 will return an error.
+ double speaking_rate = 1;
+
+ // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20
+ // semitones from the original pitch. -20 means decrease 20 semitones from the
+ // original pitch.
+ double pitch = 2;
+
+ // Optional. Volume gain (in dB) of the normal native volume supported by the
+ // specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of
+ // 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB)
+ // will play at approximately half the amplitude of the normal native signal
+ // amplitude. A value of +6.0 (dB) will play at approximately twice the
+ // amplitude of the normal native signal amplitude. We strongly recommend not
+ // to exceed +10 (dB) as there's usually no effective increase in loudness for
+ // any value greater than that.
+ double volume_gain_db = 3;
+
+ // Optional. An identifier which selects 'audio effects' profiles that are
+ // applied on (post synthesized) text to speech. Effects are applied on top of
+ // each other in the order they are given.
+ repeated string effects_profile_id = 5;
+
+ // Optional. The desired voice of the synthesized audio.
+ VoiceSelectionParams voice = 4;
+}
+
+// Audio encoding of the output audio format in Text-To-Speech.
+enum OutputAudioEncoding {
+ // Not specified.
+ OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0;
+
+ // Uncompressed 16-bit signed little-endian samples (Linear PCM).
+ // Audio content returned as LINEAR16 also contains a WAV header.
+ OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1;
+
+ // MP3 audio at 32kbps.
+ OUTPUT_AUDIO_ENCODING_MP3 = 2;
+
+ // MP3 audio at 64kbps.
+ OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 4;
+
+ // Opus encoded audio wrapped in an ogg container. The result will be a
+ // file which can be played natively on Android, and in browsers (at least
+ // Chrome and Firefox). The quality of the encoding is considerably higher
+ // than MP3 while using approximately the same bitrate.
+ OUTPUT_AUDIO_ENCODING_OGG_OPUS = 3;
+
+ // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
+ OUTPUT_AUDIO_ENCODING_MULAW = 5;
+}
+
+// Instructs the speech synthesizer on how to generate the output audio content.
+// If this audio config is supplied in a request, it overrides all existing
+// text-to-speech settings applied to the agent.
+message OutputAudioConfig {
+ // Required. Audio encoding of the synthesized audio content.
+ OutputAudioEncoding audio_encoding = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The synthesis sample rate (in hertz) for this audio. If not
+ // provided, then the synthesizer will use the default sample rate based on
+ // the audio encoding. If this is different from the voice's natural sample
+ // rate, then the synthesizer will honor this request by converting to the
+ // desired sample rate (which might result in worse audio quality).
+ int32 sample_rate_hertz = 2;
+
+ // Configuration of how speech should be synthesized.
+ SynthesizeSpeechConfig synthesize_speech_config = 3;
+}
+
+// [DTMF](https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling)
+// digit in Telephony Gateway.
+enum TelephonyDtmf {
+ // Not specified. This value may be used to indicate an absent digit.
+ TELEPHONY_DTMF_UNSPECIFIED = 0;
+
+ // Number: '1'.
+ DTMF_ONE = 1;
+
+ // Number: '2'.
+ DTMF_TWO = 2;
+
+ // Number: '3'.
+ DTMF_THREE = 3;
+
+ // Number: '4'.
+ DTMF_FOUR = 4;
+
+ // Number: '5'.
+ DTMF_FIVE = 5;
+
+ // Number: '6'.
+ DTMF_SIX = 6;
+
+ // Number: '7'.
+ DTMF_SEVEN = 7;
+
+ // Number: '8'.
+ DTMF_EIGHT = 8;
+
+ // Number: '9'.
+ DTMF_NINE = 9;
+
+ // Number: '0'.
+ DTMF_ZERO = 10;
+
+ // Letter: 'A'.
+ DTMF_A = 11;
+
+ // Letter: 'B'.
+ DTMF_B = 12;
+
+ // Letter: 'C'.
+ DTMF_C = 13;
+
+ // Letter: 'D'.
+ DTMF_D = 14;
+
+ // Asterisk/star: '*'.
+ DTMF_STAR = 15;
+
+ // Pound/diamond/hash/square/gate/octothorpe: '#'.
+ DTMF_POUND = 16;
+}
+
+// A wrapper of repeated TelephonyDtmf digits.
+message TelephonyDtmfEvents {
+ // A sequence of TelephonyDtmf digits.
+ repeated TelephonyDtmf dtmf_events = 1;
+}
+
+// Configures speech transcription for [ConversationProfile][google.cloud.dialogflow.v2.ConversationProfile].
+message SpeechToTextConfig {
+ // The speech model used in speech to text.
+ // `SPEECH_MODEL_VARIANT_UNSPECIFIED`, `USE_BEST_AVAILABLE` will be treated as
+ // `USE_ENHANCED`. It can be overridden in [AnalyzeContentRequest][google.cloud.dialogflow.v2.AnalyzeContentRequest] and
+ // [StreamingAnalyzeContentRequest][google.cloud.dialogflow.v2.StreamingAnalyzeContentRequest] request.
+ // If enhanced model variant is specified and an enhanced
+ // version of the specified model for the language does not exist, then it
+ // would emit an error.
+ SpeechModelVariant speech_model_variant = 1;
+
+ // Which Speech model to select. Select the model best suited to your domain
+ // to get best results. If a model is not explicitly specified, then a default
+ // model is used.
+ // Refer to
+ // [Cloud Speech API
+ // documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model)
+ // for more details.
+ string model = 2;
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/context.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/context.proto
new file mode 100644
index 00000000000..53dc7874dd1
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/context.proto
@@ -0,0 +1,331 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ContextProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing [Contexts][google.cloud.dialogflow.v2.Context].
+service Contexts {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Returns the list of all contexts in the specified session.
+ rpc ListContexts(ListContextsRequest) returns (ListContextsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/agent/sessions/*}/contexts"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/agent/sessions/*}/contexts"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Retrieves the specified context.
+ rpc GetContext(GetContextRequest) returns (Context) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/agent/sessions/*/contexts/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/agent/sessions/*/contexts/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a context.
+ //
+ // If the specified context already exists, overrides the context.
+ rpc CreateContext(CreateContextRequest) returns (Context) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent/sessions/*}/contexts"
+ body: "context"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts"
+ body: "context"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent/sessions/*}/contexts"
+ body: "context"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts"
+ body: "context"
+ }
+ };
+ option (google.api.method_signature) = "parent,context";
+ }
+
+ // Updates the specified context.
+ rpc UpdateContext(UpdateContextRequest) returns (Context) {
+ option (google.api.http) = {
+ patch: "/v2/{context.name=projects/*/agent/sessions/*/contexts/*}"
+ body: "context"
+ additional_bindings {
+ patch: "/v2/{context.name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ body: "context"
+ }
+ additional_bindings {
+ patch: "/v2/{context.name=projects/*/locations/*/agent/sessions/*/contexts/*}"
+ body: "context"
+ }
+ additional_bindings {
+ patch: "/v2/{context.name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ body: "context"
+ }
+ };
+ option (google.api.method_signature) = "context,update_mask";
+ }
+
+ // Deletes the specified context.
+ rpc DeleteContext(DeleteContextRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/agent/sessions/*/contexts/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/agent/sessions/*/contexts/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/agent/environments/*/users/*/sessions/*/contexts/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes all active contexts in the specified session.
+ rpc DeleteAllContexts(DeleteAllContextsRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{parent=projects/*/agent/sessions/*}/contexts"
+ additional_bindings {
+ delete: "/v2/{parent=projects/*/agent/environments/*/users/*/sessions/*}/contexts"
+ }
+ additional_bindings {
+ delete: "/v2/{parent=projects/*/locations/*/agent/sessions/*}/contexts"
+ }
+ additional_bindings {
+ delete: "/v2/{parent=projects/*/locations/*/agent/environments/*/users/*/sessions/*}/contexts"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Dialogflow contexts are similar to natural language context. If a person says
+// to you "they are orange", you need context in order to understand what "they"
+// is referring to. Similarly, for Dialogflow to handle an end-user expression
+// like that, it needs to be provided with context in order to correctly match
+// an intent.
+//
+// Using contexts, you can control the flow of a conversation. You can configure
+// contexts for an intent by setting input and output contexts, which are
+// identified by string names. When an intent is matched, any configured output
+// contexts for that intent become active. While any contexts are active,
+// Dialogflow is more likely to match intents that are configured with input
+// contexts that correspond to the currently active contexts.
+//
+// For more information about context, see the
+// [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
+message Context {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/Context"
+ pattern: "projects/{project}/agent/sessions/{session}/contexts/{context}"
+ pattern: "projects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}/contexts/{context}"
+ pattern: "projects/{project}/locations/{location}/agent/sessions/{session}/contexts/{context}"
+ pattern: "projects/{project}/locations/{location}/agent/environments/{environment}/users/{user}/sessions/{session}/contexts/{context}"
+ };
+
+ // Required. The unique identifier of the context. Format:
+ // `projects//agent/sessions//contexts/`,
+ // or `projects//agent/environments//users//sessions//contexts/`.
+ //
+ // The `Context ID` is always converted to lowercase, may only contain
+ // characters in a-zA-Z0-9_-% and may be at most 250 bytes long.
+ //
+ // If `Environment ID` is not specified, we assume default 'draft'
+ // environment. If `User ID` is not specified, we assume default '-' user.
+ //
+ // The following context names are reserved for internal use by Dialogflow.
+ // You should not use these contexts or create contexts with these names:
+ //
+ // * `__system_counters__`
+ // * `*_id_dialog_context`
+ // * `*_dialog_params_size`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The number of conversational query requests after which the
+ // context expires. The default is `0`. If set to `0`, the context expires
+ // immediately. Contexts expire automatically after 20 minutes if there
+ // are no matching queries.
+ int32 lifespan_count = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The collection of parameters associated with this context.
+ //
+ // Depending on your protocol or client library language, this is a
+ // map, associative array, symbol table, dictionary, or JSON object
+ // composed of a collection of (MapKey, MapValue) pairs:
+ //
+ // - MapKey type: string
+ // - MapKey value: parameter name
+ // - MapValue type:
+ // - If parameter's entity type is a composite entity: map
+ // - Else: depending on parameter value type, could be one of string,
+ // number, boolean, null, list or map
+ // - MapValue value:
+ // - If parameter's entity type is a composite entity:
+ // map from composite entity property names to property values
+ // - Else: parameter value
+ google.protobuf.Struct parameters = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [Contexts.ListContexts][google.cloud.dialogflow.v2.Contexts.ListContexts].
+message ListContextsRequest {
+ // Required. The session to list all contexts from.
+ // Format: `projects//agent/sessions/` or
+ // `projects//agent/environments//users//sessions/`.
+ // If `Environment ID` is not specified, we assume default 'draft'
+ // environment. If `User ID` is not specified, we assume default '-' user.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Context"
+ }
+ ];
+
+ // Optional. The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [Contexts.ListContexts][google.cloud.dialogflow.v2.Contexts.ListContexts].
+message ListContextsResponse {
+ // The list of contexts. There will be a maximum number of items
+ // returned based on the page_size field in the request.
+ repeated Context contexts = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [Contexts.GetContext][google.cloud.dialogflow.v2.Contexts.GetContext].
+message GetContextRequest {
+ // Required. The name of the context. Format:
+ // `projects//agent/sessions//contexts/`
+ // or `projects//agent/environments//users//sessions//contexts/`.
+ // If `Environment ID` is not specified, we assume default 'draft'
+ // environment. If `User ID` is not specified, we assume default '-' user.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Context"
+ }
+ ];
+}
+
+// The request message for [Contexts.CreateContext][google.cloud.dialogflow.v2.Contexts.CreateContext].
+message CreateContextRequest {
+ // Required. The session to create a context for.
+ // Format: `projects//agent/sessions/` or
+ // `projects//agent/environments//users//sessions/`.
+ // If `Environment ID` is not specified, we assume default 'draft'
+ // environment. If `User ID` is not specified, we assume default '-' user.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Context"
+ }
+ ];
+
+ // Required. The context to create.
+ Context context = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [Contexts.UpdateContext][google.cloud.dialogflow.v2.Contexts.UpdateContext].
+message UpdateContextRequest {
+ // Required. The context to update.
+ Context context = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [Contexts.DeleteContext][google.cloud.dialogflow.v2.Contexts.DeleteContext].
+message DeleteContextRequest {
+ // Required. The name of the context to delete. Format:
+ // `projects//agent/sessions//contexts/`
+ // or `projects//agent/environments//users//sessions//contexts/`.
+ // If `Environment ID` is not specified, we assume default 'draft'
+ // environment. If `User ID` is not specified, we assume default '-' user.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Context"
+ }
+ ];
+}
+
+// The request message for [Contexts.DeleteAllContexts][google.cloud.dialogflow.v2.Contexts.DeleteAllContexts].
+message DeleteAllContextsRequest {
+ // Required. The name of the session to delete all contexts from. Format:
+ // `projects//agent/sessions/` or `projects//agent/environments//users//sessions/`.
+ // If `Environment ID` is not specified we assume default 'draft' environment.
+ // If `User ID` is not specified, we assume default '-' user.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Context"
+ }
+ ];
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation.proto
new file mode 100644
index 00000000000..6266354ae9a
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation.proto
@@ -0,0 +1,357 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/participant.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ConversationProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing [Conversations][google.cloud.dialogflow.v2.Conversation].
+service Conversations {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Creates a new conversation. Conversations are auto-completed after 24
+ // hours.
+ //
+ // Conversation Lifecycle:
+ // There are two stages during a conversation: Automated Agent Stage and
+ // Assist Stage.
+ //
+ // For Automated Agent Stage, there will be a dialogflow agent responding to
+ // user queries.
+ //
+ // For Assist Stage, there's no dialogflow agent responding to user queries.
+ // But we will provide suggestions which are generated from conversation.
+ //
+ // If [Conversation.conversation_profile][google.cloud.dialogflow.v2.Conversation.conversation_profile] is configured for a dialogflow
+ // agent, conversation will start from `Automated Agent Stage`, otherwise, it
+ // will start from `Assist Stage`. And during `Automated Agent Stage`, once an
+ // [Intent][google.cloud.dialogflow.v2.Intent] with [Intent.live_agent_handoff][google.cloud.dialogflow.v2.Intent.live_agent_handoff] is triggered, conversation
+ // will transfer to Assist Stage.
+ rpc CreateConversation(CreateConversationRequest) returns (Conversation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/conversations"
+ body: "conversation"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/conversations"
+ body: "conversation"
+ }
+ };
+ option (google.api.method_signature) = "parent,conversation";
+ }
+
+ // Returns the list of all conversations in the specified project.
+ rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/conversations"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/conversations"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Retrieves the specific conversation.
+ rpc GetConversation(GetConversationRequest) returns (Conversation) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/conversations/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/conversations/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Completes the specified conversation. Finished conversations are purged
+ // from the database after 30 days.
+ rpc CompleteConversation(CompleteConversationRequest) returns (Conversation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/conversations/*}:complete"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/conversations/*}:complete"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists messages that belong to a given conversation.
+ // `messages` are ordered by `create_time` in descending order. To fetch
+ // updates without duplication, send request with filter
+ // `create_time_epoch_microseconds >
+ // [first item's create_time of previous request]` and empty page_token.
+ rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/conversations/*}/messages"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/conversations/*}/messages"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Represents a conversation.
+// A conversation is an interaction between an agent, including live agents
+// and Dialogflow agents, and a support customer. Conversations can
+// include phone calls and text-based chat sessions.
+message Conversation {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/Conversation"
+ pattern: "projects/{project}/conversations/{conversation}"
+ pattern: "projects/{project}/locations/{location}/conversations/{conversation}"
+ };
+
+ // Enumeration of the completion status of the conversation.
+ enum LifecycleState {
+ // Unknown.
+ LIFECYCLE_STATE_UNSPECIFIED = 0;
+
+ // Conversation is currently open for media analysis.
+ IN_PROGRESS = 1;
+
+ // Conversation has been completed.
+ COMPLETED = 2;
+ }
+
+ // Enumeration of the different conversation stages a conversation can be in.
+ // Reference:
+ // https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages
+ enum ConversationStage {
+ // Unknown. Should never be used after a conversation is successfully
+ // created.
+ CONVERSATION_STAGE_UNSPECIFIED = 0;
+
+ // The conversation should return virtual agent responses into the
+ // conversation.
+ VIRTUAL_AGENT_STAGE = 1;
+
+ // The conversation should not provide responses, just listen and provide
+ // suggestions.
+ HUMAN_ASSIST_STAGE = 2;
+ }
+
+ // Output only. The unique identifier of this conversation.
+ // Format: `projects//locations//conversations/`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current state of the Conversation.
+ LifecycleState lifecycle_state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The Conversation Profile to be used to configure this
+ // Conversation. This field cannot be updated.
+ // Format: `projects//locations//conversationProfiles/`.
+ string conversation_profile = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationProfile"
+ }
+ ];
+
+ // Output only. It will not be empty if the conversation is to be connected over
+ // telephony.
+ ConversationPhoneNumber phone_number = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the conversation was started.
+ google.protobuf.Timestamp start_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the conversation was finished.
+ google.protobuf.Timestamp end_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The stage of a conversation. It indicates whether the virtual agent or a
+ // human agent is handling the conversation.
+ //
+ // If the conversation is created with the conversation profile that has
+ // Dialogflow config set, defaults to
+ // [ConversationStage.VIRTUAL_AGENT_STAGE][google.cloud.dialogflow.v2.Conversation.ConversationStage.VIRTUAL_AGENT_STAGE]; Otherwise, defaults to
+ // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2.Conversation.ConversationStage.HUMAN_ASSIST_STAGE].
+ //
+ // If the conversation is created with the conversation profile that has
+ // Dialogflow config set but explicitly sets conversation_stage to
+ // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2.Conversation.ConversationStage.HUMAN_ASSIST_STAGE], it skips
+ // [ConversationStage.VIRTUAL_AGENT_STAGE][google.cloud.dialogflow.v2.Conversation.ConversationStage.VIRTUAL_AGENT_STAGE] stage and directly goes to
+ // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2.Conversation.ConversationStage.HUMAN_ASSIST_STAGE].
+ ConversationStage conversation_stage = 7;
+}
+
+// The request message for [Conversations.CreateConversation][google.cloud.dialogflow.v2.Conversations.CreateConversation].
+message CreateConversationRequest {
+ // Required. Resource identifier of the project creating the conversation.
+ // Format: `projects//locations/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Conversation"
+ }
+ ];
+
+ // Required. The conversation to create.
+ Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Identifier of the conversation. Generally it's auto generated by Google.
+ // Only set it if you cannot wait for the response to return a
+ // auto-generated one to you.
+ //
+ // The conversation ID must be compliant with the regression fomula
+ // "[a-zA-Z][a-zA-Z0-9_-]*" with the characters length in range of [3,64].
+ // If the field is provided, the caller is resposible for
+ // 1. the uniqueness of the ID, otherwise the request will be rejected.
+ // 2. the consistency for whether to use custom ID or not under a project to
+ // better ensure uniqueness.
+ string conversation_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [Conversations.ListConversations][google.cloud.dialogflow.v2.Conversations.ListConversations].
+message ListConversationsRequest {
+ // Required. The project from which to list all conversation.
+ // Format: `projects//locations/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Conversation"
+ }
+ ];
+
+ // Optional. The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // A filter expression that filters conversations listed in the response. In
+ // general, the expression must specify the field name, a comparison operator,
+ // and the value to use for filtering:
+ //
+ // - The value must be a string, a number, or a boolean.
+ // - The comparison operator must be either `=`,`!=`, `>`, or `<`.
+ // - To filter on multiple expressions, separate the
+ // expressions with `AND` or `OR` (omitting both implies `AND`).
+ // - For clarity, expressions can be enclosed in parentheses.
+ //
+ // Only `lifecycle_state` can be filtered on in this way. For example,
+ // the following expression only returns `COMPLETED` conversations:
+ //
+ // `lifecycle_state = "COMPLETED"`
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4;
+}
+
+// The response message for [Conversations.ListConversations][google.cloud.dialogflow.v2.Conversations.ListConversations].
+message ListConversationsResponse {
+ // The list of conversations. There will be a maximum number of items
+ // returned based on the page_size field in the request.
+ repeated Conversation conversations = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [Conversations.GetConversation][google.cloud.dialogflow.v2.Conversations.GetConversation].
+message GetConversationRequest {
+ // Required. The name of the conversation. Format:
+ // `projects//locations//conversations/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Conversation"
+ }
+ ];
+}
+
+// The request message for [Conversations.CompleteConversation][google.cloud.dialogflow.v2.Conversations.CompleteConversation].
+message CompleteConversationRequest {
+ // Required. Resource identifier of the conversation to close.
+ // Format: `projects//locations//conversations/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Conversation"
+ }
+ ];
+}
+
+// The request message for [Conversations.ListMessages][google.cloud.dialogflow.v2.Conversations.ListMessages].
+message ListMessagesRequest {
+ // Required. The name of the conversation to list messages for.
+ // Format: `projects//locations//conversations/`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Message"
+ }
+ ];
+
+ // Optional. Filter on message fields. Currently predicates on `create_time`
+ // and `create_time_epoch_microseconds` are supported. `create_time` only
+ // support milliseconds accuracy. E.g.,
+ // `create_time_epoch_microseconds > 1551790877964485` or
+ // `create_time > 2017-01-15T01:30:15.01Z`.
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [Conversations.ListMessages][google.cloud.dialogflow.v2.Conversations.ListMessages].
+message ListMessagesResponse {
+ // The list of messages. There will be a maximum number of items
+ // returned based on the page_size field in the request.
+ // `messages` is sorted by `create_time` in descending order.
+ repeated Message messages = 1;
+
+ // Token to retrieve the next page of results, or empty if there are
+ // no more results in the list.
+ string next_page_token = 2;
+}
+
+// Represents a phone number for telephony integration. It allows for connecting
+// a particular conversation over telephony.
+message ConversationPhoneNumber {
+ // Output only. The phone number to connect to this conversation.
+ string phone_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_dataset.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_dataset.proto
new file mode 100644
index 00000000000..282bdda3923
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_dataset.proto
@@ -0,0 +1,320 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/gcs.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ConversationDatasetProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Conversation datasets.
+//
+// Conversation datasets contain raw conversation files and their
+// customizable metadata that can be used for model training.
+service ConversationDatasets {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Creates a new conversation dataset.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [CreateConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.CreateConversationDatasetOperationMetadata]
+ // - `response`: [ConversationDataset][google.cloud.dialogflow.v2.ConversationDataset]
+ rpc CreateConversationDataset(CreateConversationDatasetRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*}/conversationDatasets"
+ body: "conversation_dataset"
+ };
+ option (google.api.method_signature) = "parent,conversation_dataset";
+ option (google.longrunning.operation_info) = {
+ response_type: "ConversationDataset"
+ metadata_type: "CreateConversationDatasetOperationMetadata"
+ };
+ }
+
+ // Retrieves the specified conversation dataset.
+ rpc GetConversationDataset(GetConversationDatasetRequest) returns (ConversationDataset) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/conversationDatasets/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/conversationDatasets/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Returns the list of all conversation datasets in the specified
+ // project and location.
+ rpc ListConversationDatasets(ListConversationDatasetsRequest) returns (ListConversationDatasetsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/conversationDatasets"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/conversationDatasets"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes the specified conversation dataset.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [DeleteConversationDatasetOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationDatasetOperationMetadata]
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ rpc DeleteConversationDataset(DeleteConversationDatasetRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/locations/*/conversationDatasets/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "DeleteConversationDatasetOperationMetadata"
+ };
+ }
+
+ // Import data into the specified conversation dataset. Note that it
+ // is not allowed to import data to a conversation dataset that
+ // already has data in it.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [ImportConversationDataOperationMetadata][google.cloud.dialogflow.v2.ImportConversationDataOperationMetadata]
+ // - `response`: [ImportConversationDataOperationResponse][google.cloud.dialogflow.v2.ImportConversationDataOperationResponse]
+ rpc ImportConversationData(ImportConversationDataRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/conversationDatasets/*}:importConversationData"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/conversationDatasets/*}:importConversationData"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "ImportConversationDataOperationResponse"
+ metadata_type: "ImportConversationDataOperationMetadata"
+ };
+ }
+}
+
+// Represents metadata of a conversation.
+message ConversationInfo {
+ // Optional. The language code of the conversation data within this dataset. See
+ // https://cloud.google.com/apis/design/standard_fields for more information.
+ // Supports all UTF-8 languages.
+ string language_code = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Represents the configuration of importing a set of conversation files in
+// Google Cloud Storage.
+message InputConfig {
+ // Required. Where the data is from.
+ oneof source {
+ // The Cloud Storage URI has the form gs:////agent*.json. Wildcards are allowed and will be expanded into all
+ // matched JSON files, which will be read as one conversation per file.
+ GcsSources gcs_source = 1;
+ }
+}
+
+// Represents a conversation dataset that a user imports raw data into.
+// The data inside ConversationDataset can not be changed after
+// ImportConversationData finishes (and calling ImportConversationData on a
+// dataset that already has data is not allowed).
+message ConversationDataset {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ pattern: "projects/{project}/locations/{location}/conversationDatasets/{conversation_dataset}"
+ };
+
+ // Output only. ConversationDataset resource name. Format:
+ // `projects//locations//conversationDatasets/`
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The display name of the dataset. Maximum of 64 bytes.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The description of the dataset. Maximum of 10000 bytes.
+ string description = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Creation time of this dataset.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Input configurations set during conversation data import.
+ InputConfig input_config = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Metadata set during conversation data import.
+ ConversationInfo conversation_info = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The number of conversations this conversation dataset contains.
+ int64 conversation_count = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The request message for
+// [ConversationDatasets.CreateConversationDataset][google.cloud.dialogflow.v2.ConversationDatasets.CreateConversationDataset].
+message CreateConversationDatasetRequest {
+ // Required. The project to create conversation dataset for. Format:
+ // `projects//locations/`
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The conversation dataset to create.
+ ConversationDataset conversation_dataset = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationDatasets.GetConversationDataset][google.cloud.dialogflow.v2.ConversationDatasets.GetConversationDataset].
+message GetConversationDatasetRequest {
+ // Required. The conversation dataset to retrieve. Format:
+ // `projects//locations//conversationDatasets/`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }
+ ];
+}
+
+// The request message for
+// [ConversationDatasets.ListConversationDatasets][google.cloud.dialogflow.v2.ConversationDatasets.ListConversationDatasets].
+message ListConversationDatasetsRequest {
+ // Required. The project and location name to list all conversation datasets for.
+ // Format: `projects//locations/`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/ConversationDataset"
+ }
+ ];
+
+ // Optional. Maximum number of conversation datasets to return in a single
+ // page. By default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [ConversationDatasets.ListConversationDatasets][google.cloud.dialogflow.v2.ConversationDatasets.ListConversationDatasets].
+message ListConversationDatasetsResponse {
+ // The list of datasets to return.
+ repeated ConversationDataset conversation_datasets = 1;
+
+ // The token to use to retrieve the next page of results, or empty if there
+ // are no more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [ConversationDatasets.DeleteConversationDataset][google.cloud.dialogflow.v2.ConversationDatasets.DeleteConversationDataset].
+message DeleteConversationDatasetRequest {
+ // Required. The conversation dataset to delete. Format:
+ // `projects//locations//conversationDatasets/`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }
+ ];
+}
+
+// The request message for [ConversationDatasets.ImportConversationData][google.cloud.dialogflow.v2.ConversationDatasets.ImportConversationData].
+message ImportConversationDataRequest {
+ // Required. Dataset resource name. Format:
+ // `projects//locations//conversationDatasets/`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }
+ ];
+
+ // Required. Configuration describing where to import data from.
+ InputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Metadata for a [ConversationDatasets.ImportConversationData][google.cloud.dialogflow.v2.ConversationDatasets.ImportConversationData] operation.
+message ImportConversationDataOperationMetadata {
+ // The resource name of the imported conversation dataset. Format:
+ // `projects//locations//conversationDatasets/`
+ string conversation_dataset = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }];
+
+ // Partial failures are failures that don't fail the whole long running
+ // operation, e.g. single files that couldn't be read.
+ repeated google.rpc.Status partial_failures = 2;
+
+ // Timestamp when import conversation data request was created. The time is
+ // measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
+
+// Response used for [ConversationDatasets.ImportConversationData][google.cloud.dialogflow.v2.ConversationDatasets.ImportConversationData] long
+// running operation.
+message ImportConversationDataOperationResponse {
+ // The resource name of the imported conversation dataset. Format:
+ // `projects//locations//conversationDatasets/`
+ string conversation_dataset = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }];
+
+ // Number of conversations imported successfully.
+ int32 import_count = 3;
+}
+
+// Metadata for [ConversationDatasets][CreateConversationDataset].
+message CreateConversationDatasetOperationMetadata {
+ // The resource name of the conversation dataset that will be created. Format:
+ // `projects//locations//conversationDatasets/`
+ string conversation_dataset = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }];
+}
+
+// Metadata for [ConversationDatasets][DeleteConversationDataset].
+message DeleteConversationDatasetOperationMetadata {
+
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_event.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_event.proto
new file mode 100644
index 00000000000..6c45e895f14
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_event.proto
@@ -0,0 +1,85 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/cloud/dialogflow/v2/participant.proto";
+import "google/rpc/status.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ConversationEventProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Represents a notification sent to Pub/Sub subscribers for conversation
+// lifecycle events.
+message ConversationEvent {
+ // Enumeration of the types of events available.
+ enum Type {
+ // Type not set.
+ TYPE_UNSPECIFIED = 0;
+
+ // A new conversation has been opened. This is fired when a telephone call
+ // is answered, or a conversation is created via the API.
+ CONVERSATION_STARTED = 1;
+
+ // An existing conversation has closed. This is fired when a telephone call
+ // is terminated, or a conversation is closed via the API.
+ CONVERSATION_FINISHED = 2;
+
+ // An existing conversation has received notification from Dialogflow that
+ // human intervention is required.
+ HUMAN_INTERVENTION_NEEDED = 3;
+
+ // An existing conversation has received a new message, either from API or
+ // telephony. It is configured in
+ // [ConversationProfile.new_message_event_notification_config][google.cloud.dialogflow.v2.ConversationProfile.new_message_event_notification_config]
+ NEW_MESSAGE = 5;
+
+ // Unrecoverable error during a telephone call.
+ //
+ // In general non-recoverable errors only occur if something was
+ // misconfigured in the ConversationProfile corresponding to the call. After
+ // a non-recoverable error, Dialogflow may stop responding.
+ //
+ // We don't fire this event:
+ //
+ // * in an API call because we can directly return the error, or,
+ // * when we can recover from an error.
+ UNRECOVERABLE_ERROR = 4;
+ }
+
+ // The unique identifier of the conversation this notification
+ // refers to.
+ // Format: `projects//conversations/`.
+ string conversation = 1;
+
+ // The type of the event that this notification refers to.
+ Type type = 2;
+
+ // More detailed information about an error. Only set for type
+ // UNRECOVERABLE_ERROR_IN_PHONE_CALL.
+ google.rpc.Status error_status = 3;
+
+ // Payload of conversation event.
+ oneof payload {
+ // Payload of NEW_MESSAGE event.
+ Message new_message_payload = 4;
+ }
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_model.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_model.proto
new file mode 100644
index 00000000000..065290df5f0
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_model.proto
@@ -0,0 +1,653 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ConversationModelProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Manages a collection of models for human agent assistant.
+service ConversationModels {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Creates a model.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [CreateConversationModelOperationMetadata][google.cloud.dialogflow.v2.CreateConversationModelOperationMetadata]
+ // - `response`: [ConversationModel][google.cloud.dialogflow.v2.ConversationModel]
+ rpc CreateConversationModel(CreateConversationModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/conversationModels"
+ body: "conversation_model"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/conversationModels"
+ body: "conversation_model"
+ }
+ };
+ option (google.api.method_signature) = "parent,conversation_model";
+ option (google.longrunning.operation_info) = {
+ response_type: "ConversationModel"
+ metadata_type: "CreateConversationModelOperationMetadata"
+ };
+ }
+
+ // Gets conversation model.
+ rpc GetConversationModel(GetConversationModelRequest) returns (ConversationModel) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/conversationModels/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/conversationModels/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists conversation models.
+ rpc ListConversationModels(ListConversationModelsRequest) returns (ListConversationModelsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/conversationModels"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/conversationModels"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a model.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [DeleteConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeleteConversationModelOperationMetadata]
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ rpc DeleteConversationModel(DeleteConversationModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/conversationModels/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/conversationModels/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "DeleteConversationModelOperationMetadata"
+ };
+ }
+
+ // Deploys a model. If a model is already deployed, deploying it
+ // has no effect. A model can only serve prediction requests after it gets
+ // deployed. For article suggestion, custom model will not be used unless
+ // it is deployed.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [DeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.DeployConversationModelOperationMetadata]
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ rpc DeployConversationModel(DeployConversationModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/conversationModels/*}:deploy"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/conversationModels/*}:deploy"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "DeployConversationModelOperationMetadata"
+ };
+ }
+
+ // Undeploys a model. If the model is not deployed this method has no effect.
+ // If the model is currently being used:
+ // - For article suggestion, article suggestion will fallback to the default
+ // model if model is undeployed.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [UndeployConversationModelOperationMetadata][google.cloud.dialogflow.v2.UndeployConversationModelOperationMetadata]
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ rpc UndeployConversationModel(UndeployConversationModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/conversationModels/*}:undeploy"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/conversationModels/*}:undeploy"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "UndeployConversationModelOperationMetadata"
+ };
+ }
+
+ // Gets an evaluation of conversation model.
+ rpc GetConversationModelEvaluation(GetConversationModelEvaluationRequest) returns (ConversationModelEvaluation) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/conversationModels/*/evaluations/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/conversationModels/*/evaluations/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists evaluations of a conversation model.
+ rpc ListConversationModelEvaluations(ListConversationModelEvaluationsRequest) returns (ListConversationModelEvaluationsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/conversationModels/*}/evaluations"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/conversationModels/*}/evaluations"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates evaluation of a conversation model.
+ rpc CreateConversationModelEvaluation(CreateConversationModelEvaluationRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/conversationModels/*}/evaluations"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,conversation_model_evaluation";
+ option (google.longrunning.operation_info) = {
+ response_type: "ConversationModelEvaluation"
+ metadata_type: "CreateConversationModelEvaluationOperationMetadata"
+ };
+ }
+}
+
+// Represents a conversation model.
+message ConversationModel {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/ConversationModel"
+ pattern: "projects/{project}/locations/{location}/conversationModels/{conversation_model}"
+ pattern: "projects/{project}/conversationModels/{conversation_model}"
+ };
+
+ // State of the model.
+ enum State {
+ // Should not be used, an un-set enum has this value by default.
+ STATE_UNSPECIFIED = 0;
+
+ // Model being created.
+ CREATING = 1;
+
+ // Model is not deployed but ready to deploy.
+ UNDEPLOYED = 2;
+
+ // Model is deploying.
+ DEPLOYING = 3;
+
+ // Model is deployed and ready to use.
+ DEPLOYED = 4;
+
+ // Model is undeploying.
+ UNDEPLOYING = 5;
+
+ // Model is deleting.
+ DELETING = 6;
+
+ // Model is in error state. Not ready to deploy and use.
+ FAILED = 7;
+
+ // Model is being created but the training has not started,
+ // The model may remain in this state until there is enough capacity to
+ // start training.
+ PENDING = 8;
+ }
+
+ // Model type.
+ enum ModelType {
+ // ModelType unspecified.
+ MODEL_TYPE_UNSPECIFIED = 0;
+
+ // ModelType smart reply dual encoder model.
+ SMART_REPLY_DUAL_ENCODER_MODEL = 2;
+
+ // ModelType smart reply bert model.
+ SMART_REPLY_BERT_MODEL = 6;
+ }
+
+ // ConversationModel resource name. Format:
+ // `projects//conversationModels/`
+ string name = 1;
+
+ // Required. The display name of the model. At most 64 bytes long.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Creation time of this model.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Datasets used to create model.
+ repeated InputDataset datasets = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. State of the model. A model can only serve prediction requests
+ // after it gets deployed.
+ State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Language code for the conversation model. If not specified, the language
+ // is en-US. Language at ConversationModel should be set for all non en-us
+ // languages.
+ // This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
+ // language tag. Example: "en-US".
+ string language_code = 19;
+
+ // Required.
+ // The model metadata that is specific to the problem type.
+ // Must match the metadata type of the dataset used to train the model.
+ oneof model_metadata {
+ // Metadata for article suggestion models.
+ ArticleSuggestionModelMetadata article_suggestion_model_metadata = 8;
+
+ // Metadata for smart reply models.
+ SmartReplyModelMetadata smart_reply_model_metadata = 9;
+ }
+}
+
+// Represents evaluation result of a conversation model.
+message ConversationModelEvaluation {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/ConversationModelEvaluation"
+ pattern: "projects/{project}/conversationModels/{conversation_model}/evaluations/{evaluation}"
+ pattern: "projects/{project}/locations/{location}/conversationModels/{conversation_model}/evaluations/{evaluation}"
+ };
+
+ // The resource name of the evaluation. Format:
+ // `projects//conversationModels//evaluations/`
+ string name = 1;
+
+ // Optional. The display name of the model evaluation. At most 64 bytes long.
+ string display_name = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The configuration of the evaluation task.
+ EvaluationConfig evaluation_config = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Creation time of this model.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Metrics details.
+ oneof metrics {
+ // Output only. Only available when model is for smart reply.
+ SmartReplyMetrics smart_reply_metrics = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+ }
+}
+
+// The configuration for model evaluation.
+message EvaluationConfig {
+ // Smart reply specific configuration for evaluation job.
+ message SmartReplyConfig {
+ // The allowlist document resource name.
+ // Format: `projects//knowledgeBases//documents/`. Only used for smart reply model.
+ string allowlist_document = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }];
+
+ // Required. The model to be evaluated can return multiple results with confidence
+ // score on each query. These results will be sorted by the descending order
+ // of the scores and we only keep the first max_result_count results as the
+ // final results to evaluate.
+ int32 max_result_count = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Smart compose specific configuration for evaluation job.
+ message SmartComposeConfig {
+ // The allowlist document resource name.
+ // Format: `projects//knowledgeBases//documents/`. Only used for smart compose model.
+ string allowlist_document = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }];
+
+ // Required. The model to be evaluated can return multiple results with confidence
+ // score on each query. These results will be sorted by the descending order
+ // of the scores and we only keep the first max_result_count results as the
+ // final results to evaluate.
+ int32 max_result_count = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Datasets used for evaluation.
+ repeated InputDataset datasets = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Specific configurations for different models in order to do evaluation.
+ oneof model_specific_config {
+ // Configuration for smart reply model evalution.
+ SmartReplyConfig smart_reply_config = 2;
+
+ // Configuration for smart compose model evalution.
+ SmartComposeConfig smart_compose_config = 4;
+ }
+}
+
+// InputDataset used to create model or do evaluation.
+// NextID:5
+message InputDataset {
+ // Required. ConversationDataset resource name. Format:
+ // `projects//locations//conversationDatasets/`
+ string dataset = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationDataset"
+ }
+ ];
+}
+
+// Metadata for article suggestion models.
+message ArticleSuggestionModelMetadata {
+ // Optional. Type of the article suggestion model. If not provided, model_type is used.
+ ConversationModel.ModelType training_model_type = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Metadata for smart reply models.
+message SmartReplyModelMetadata {
+ // Optional. Type of the smart reply model. If not provided, model_type is used.
+ ConversationModel.ModelType training_model_type = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The evaluation metrics for smart reply model.
+message SmartReplyMetrics {
+ // Evaluation metrics when retrieving `n` smart replies with the model.
+ message TopNMetrics {
+ // Number of retrieved smart replies. For example, when `n` is 3, this
+ // evaluation contains metrics for when Dialogflow retrieves 3 smart replies
+ // with the model.
+ int32 n = 1;
+
+ // Defined as `number of queries whose top n smart replies have at least one
+ // similar (token match similarity above the defined threshold) reply as the
+ // real reply` divided by `number of queries with at least one smart reply`.
+ // Value ranges from 0.0 to 1.0 inclusive.
+ float recall = 2;
+ }
+
+ // Percentage of target participant messages in the evaluation dataset for
+ // which similar messages have appeared at least once in the allowlist. Should
+ // be [0, 1].
+ float allowlist_coverage = 1;
+
+ // Metrics of top n smart replies, sorted by [TopNMetric.n][].
+ repeated TopNMetrics top_n_metrics = 2;
+
+ // Total number of conversations used to generate this metric.
+ int64 conversation_count = 3;
+}
+
+// The request message for
+// [ConversationModels.CreateConversationModel][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModel]
+message CreateConversationModelRequest {
+ // The project to create conversation model for. Format:
+ // `projects/`
+ string parent = 1;
+
+ // Required. The conversation model to create.
+ ConversationModel conversation_model = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.GetConversationModel][google.cloud.dialogflow.v2.ConversationModels.GetConversationModel]
+message GetConversationModelRequest {
+ // Required. The conversation model to retrieve. Format:
+ // `projects//conversationModels/`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.ListConversationModels][google.cloud.dialogflow.v2.ConversationModels.ListConversationModels]
+message ListConversationModelsRequest {
+ // Required. The project to list all conversation models for.
+ // Format: `projects/`
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Maximum number of conversation models to return in a single
+ // page. By default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [ConversationModels.ListConversationModels][google.cloud.dialogflow.v2.ConversationModels.ListConversationModels]
+message ListConversationModelsResponse {
+ // The list of models to return.
+ repeated ConversationModel conversation_models = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [ConversationModels.DeleteConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeleteConversationModel]
+message DeleteConversationModelRequest {
+ // Required. The conversation model to delete. Format:
+ // `projects//conversationModels/`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.DeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeployConversationModel]
+message DeployConversationModelRequest {
+ // Required. The conversation model to deploy. Format:
+ // `projects//conversationModels/`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.UndeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.UndeployConversationModel]
+message UndeployConversationModelRequest {
+ // Required. The conversation model to undeploy. Format:
+ // `projects//conversationModels/`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.GetConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.GetConversationModelEvaluation]
+message GetConversationModelEvaluationRequest {
+ // Required. The conversation model evaluation resource name. Format:
+ // `projects//conversationModels//evaluations/`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [ConversationModels.ListConversationModelEvaluations][google.cloud.dialogflow.v2.ConversationModels.ListConversationModelEvaluations]
+message ListConversationModelEvaluationsRequest {
+ // Required. The conversation model resource name. Format:
+ // `projects//conversationModels/`
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Maximum number of evaluations to return in a
+ // single page. By default 100 and at most 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [ConversationModels.ListConversationModelEvaluations][google.cloud.dialogflow.v2.ConversationModels.ListConversationModelEvaluations]
+message ListConversationModelEvaluationsResponse {
+ // The list of evaluations to return.
+ repeated ConversationModelEvaluation conversation_model_evaluations = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [ConversationModels.CreateConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModelEvaluation]
+message CreateConversationModelEvaluationRequest {
+ // Required. The conversation model resource name. Format:
+ // `projects//locations//conversationModels/`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/ConversationModelEvaluation"
+ }
+ ];
+
+ // Required. The conversation model evaluation to be created.
+ ConversationModelEvaluation conversation_model_evaluation = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Metadata for a [ConversationModels.CreateConversationModel][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModel] operation.
+message CreateConversationModelOperationMetadata {
+ // State of CreateConversationModel operation.
+ enum State {
+ // Invalid.
+ STATE_UNSPECIFIED = 0;
+
+ // Request is submitted, but training has not started yet.
+ // The model may remain in this state until there is enough capacity to
+ // start training.
+ PENDING = 1;
+
+ // The training has succeeded.
+ SUCCEEDED = 2;
+
+ // The training has succeeded.
+ FAILED = 3;
+
+ // The training has been cancelled.
+ CANCELLED = 4;
+
+ // The training is in cancelling state.
+ CANCELLING = 5;
+
+ // Custom model is training.
+ TRAINING = 6;
+ }
+
+ // The resource name of the conversation model. Format:
+ // `projects//conversationModels/`
+ string conversation_model = 1;
+
+ // State of CreateConversationModel operation.
+ State state = 2;
+
+ // Timestamp when the request to create conversation model is submitted. The
+ // time is measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
+
+// Metadata for a [ConversationModels.DeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeployConversationModel] operation.
+message DeployConversationModelOperationMetadata {
+ // The resource name of the conversation model. Format:
+ // `projects//conversationModels/`
+ string conversation_model = 1;
+
+ // Timestamp when request to deploy conversation model was submitted. The time
+ // is measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
+
+// Metadata for a [ConversationModels.UndeployConversationModel][google.cloud.dialogflow.v2.ConversationModels.UndeployConversationModel] operation.
+message UndeployConversationModelOperationMetadata {
+ // The resource name of the conversation model. Format:
+ // `projects//conversationModels/`
+ string conversation_model = 1;
+
+ // Timestamp when the request to undeploy conversation model was submitted.
+ // The time is measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
+
+// Metadata for a [ConversationModels.DeleteConversationModel][google.cloud.dialogflow.v2.ConversationModels.DeleteConversationModel] operation.
+message DeleteConversationModelOperationMetadata {
+ // The resource name of the conversation model. Format:
+ // `projects//conversationModels/`
+ string conversation_model = 1;
+
+ // Timestamp when delete conversation model request was created. The time is
+ // measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
+
+// Metadata for a
+// [ConversationModels.CreateConversationModelEvaluation][google.cloud.dialogflow.v2.ConversationModels.CreateConversationModelEvaluation]
+// operation.
+message CreateConversationModelEvaluationOperationMetadata {
+ // State of CreateConversationModel operation.
+ enum State {
+ // Operation status not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // The operation is being prepared.
+ INITIALIZING = 1;
+
+ // The operation is running.
+ RUNNING = 2;
+
+ // The operation is cancelled.
+ CANCELLED = 3;
+
+ // The operation has succeeded.
+ SUCCEEDED = 4;
+
+ // The operation has failed.
+ FAILED = 5;
+ }
+
+ // The resource name of the conversation model. Format:
+ // `projects//locations//conversationModels//evaluations/`
+ string conversation_model_evaluation = 1;
+
+ // The resource name of the conversation model. Format:
+ // `projects//locations//conversationModels/`
+ string conversation_model = 4;
+
+ // State of CreateConversationModel operation.
+ State state = 2;
+
+ // Timestamp when the request to create conversation model was submitted. The
+ // time is measured on server side.
+ google.protobuf.Timestamp create_time = 3;
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_profile.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_profile.proto
new file mode 100644
index 00000000000..d1a33bb8025
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/conversation_profile.proto
@@ -0,0 +1,753 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/audio_config.proto";
+import "google/cloud/dialogflow/v2/participant.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "ConversationProfileProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+option (google.api.resource_definition) = {
+ type: "dialogflow.googleapis.com/CXSecuritySettings"
+ pattern: "projects/{project}/locations/{location}/securitySettings/{security_settings}"
+};
+
+// Service for managing [ConversationProfiles][google.cloud.dialogflow.v2.ConversationProfile].
+service ConversationProfiles {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Returns the list of all conversation profiles in the specified project.
+ rpc ListConversationProfiles(ListConversationProfilesRequest) returns (ListConversationProfilesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/conversationProfiles"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/conversationProfiles"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Retrieves the specified conversation profile.
+ rpc GetConversationProfile(GetConversationProfileRequest) returns (ConversationProfile) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/conversationProfiles/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/conversationProfiles/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a conversation profile in the specified project.
+ //
+ // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
+ // aren't populated in the response. You can retrieve them via
+ // [GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile] API.
+ rpc CreateConversationProfile(CreateConversationProfileRequest) returns (ConversationProfile) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/conversationProfiles"
+ body: "conversation_profile"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/conversationProfiles"
+ body: "conversation_profile"
+ }
+ };
+ option (google.api.method_signature) = "parent,conversation_profile";
+ }
+
+ // Updates the specified conversation profile.
+ //
+ // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
+ // aren't populated in the response. You can retrieve them via
+ // [GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile] API.
+ rpc UpdateConversationProfile(UpdateConversationProfileRequest) returns (ConversationProfile) {
+ option (google.api.http) = {
+ patch: "/v2/{conversation_profile.name=projects/*/conversationProfiles/*}"
+ body: "conversation_profile"
+ additional_bindings {
+ patch: "/v2/{conversation_profile.name=projects/*/locations/*/conversationProfiles/*}"
+ body: "conversation_profile"
+ }
+ };
+ option (google.api.method_signature) = "conversation_profile,update_mask";
+ }
+
+ // Deletes the specified conversation profile.
+ rpc DeleteConversationProfile(DeleteConversationProfileRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/conversationProfiles/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/conversationProfiles/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Adds or updates a suggestion feature in a conversation profile.
+ // If the conversation profile contains the type of suggestion feature for
+ // the participant role, it will update it. Otherwise it will insert the
+ // suggestion feature.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [SetSuggestionFeatureConfigOperationMetadata][google.cloud.dialogflow.v2.SetSuggestionFeatureConfigOperationMetadata]
+ // - `response`: [ConversationProfile][google.cloud.dialogflow.v2.ConversationProfile]
+ //
+ // If a long running operation to add or update suggestion feature
+ // config for the same conversation profile, participant role and suggestion
+ // feature type exists, please cancel the existing long running operation
+ // before sending such request, otherwise the request will be rejected.
+ rpc SetSuggestionFeatureConfig(SetSuggestionFeatureConfigRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{conversation_profile=projects/*/conversationProfiles/*}:setSuggestionFeatureConfig"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{conversation_profile=projects/*/locations/*/conversationProfiles/*}:setSuggestionFeatureConfig"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "conversation_profile";
+ option (google.longrunning.operation_info) = {
+ response_type: "ConversationProfile"
+ metadata_type: "SetSuggestionFeatureConfigOperationMetadata"
+ };
+ }
+
+ // Clears a suggestion feature from a conversation profile for the given
+ // participant role.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [ClearSuggestionFeatureConfigOperationMetadata][google.cloud.dialogflow.v2.ClearSuggestionFeatureConfigOperationMetadata]
+ // - `response`: [ConversationProfile][google.cloud.dialogflow.v2.ConversationProfile]
+ rpc ClearSuggestionFeatureConfig(ClearSuggestionFeatureConfigRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{conversation_profile=projects/*/conversationProfiles/*}:clearSuggestionFeatureConfig"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{conversation_profile=projects/*/locations/*/conversationProfiles/*}:clearSuggestionFeatureConfig"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "conversation_profile";
+ option (google.longrunning.operation_info) = {
+ response_type: "ConversationProfile"
+ metadata_type: "ClearSuggestionFeatureConfigOperationMetadata"
+ };
+ }
+}
+
+// Defines the services to connect to incoming Dialogflow conversations.
+message ConversationProfile {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/ConversationProfile"
+ pattern: "projects/{project}/conversationProfiles/{conversation_profile}"
+ pattern: "projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}"
+ };
+
+ // The unique identifier of this conversation profile.
+ // Format: `projects//locations//conversationProfiles/`.
+ string name = 1;
+
+ // Required. Human readable name for this profile. Max length 1024 bytes.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Create time of the conversation profile.
+ google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Update time of the conversation profile.
+ google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Configuration for an automated agent to use with this profile.
+ AutomatedAgentConfig automated_agent_config = 3;
+
+ // Configuration for agent assistance to use with this profile.
+ HumanAgentAssistantConfig human_agent_assistant_config = 4;
+
+ // Configuration for connecting to a live agent.
+ //
+ // Currently, this feature is not general available, please contact Google
+ // to get access.
+ HumanAgentHandoffConfig human_agent_handoff_config = 5;
+
+ // Configuration for publishing conversation lifecycle events.
+ NotificationConfig notification_config = 6;
+
+ // Configuration for logging conversation lifecycle events.
+ LoggingConfig logging_config = 7;
+
+ // Configuration for publishing new message events. Event will be sent in
+ // format of [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent]
+ NotificationConfig new_message_event_notification_config = 8;
+
+ // Settings for speech transcription.
+ SpeechToTextConfig stt_config = 9;
+
+ // Language code for the conversation profile. If not specified, the language
+ // is en-US. Language at ConversationProfile should be set for all non en-US
+ // languages.
+ // This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
+ // language tag. Example: "en-US".
+ string language_code = 10;
+
+ // The time zone of this conversational profile from the
+ // [time zone database](https://www.iana.org/time-zones), e.g.,
+ // America/New_York, Europe/Paris. Defaults to America/New_York.
+ string time_zone = 14;
+
+ // Name of the CX SecuritySettings reference for the agent.
+ // Format: `projects//locations//securitySettings/`.
+ string security_settings = 13 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/CXSecuritySettings"
+ }];
+}
+
+// The request message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2.ConversationProfiles.ListConversationProfiles].
+message ListConversationProfilesRequest {
+ // Required. The project to list all conversation profiles from.
+ // Format: `projects//locations/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/ConversationProfile"
+ }
+ ];
+
+ // The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous list request.
+ string page_token = 3;
+}
+
+// The response message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2.ConversationProfiles.ListConversationProfiles].
+message ListConversationProfilesResponse {
+ // The list of project conversation profiles. There is a maximum number
+ // of items returned based on the page_size field in the request.
+ repeated ConversationProfile conversation_profiles = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [ConversationProfiles.GetConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.GetConversationProfile].
+message GetConversationProfileRequest {
+ // Required. The resource name of the conversation profile.
+ // Format: `projects//locations//conversationProfiles/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationProfile"
+ }
+ ];
+}
+
+// The request message for [ConversationProfiles.CreateConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.CreateConversationProfile].
+message CreateConversationProfileRequest {
+ // Required. The project to create a conversation profile for.
+ // Format: `projects//locations/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/ConversationProfile"
+ }
+ ];
+
+ // Required. The conversation profile to create.
+ ConversationProfile conversation_profile = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [ConversationProfiles.UpdateConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.UpdateConversationProfile].
+message UpdateConversationProfileRequest {
+ // Required. The conversation profile to update.
+ ConversationProfile conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The mask to control which fields to update.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [ConversationProfiles.DeleteConversationProfile][google.cloud.dialogflow.v2.ConversationProfiles.DeleteConversationProfile].
+//
+// This operation fails if the conversation profile is still referenced from
+// a phone number.
+message DeleteConversationProfileRequest {
+ // Required. The name of the conversation profile to delete.
+ // Format: `projects//locations//conversationProfiles/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationProfile"
+ }
+ ];
+}
+
+// Defines the Automated Agent to connect to a conversation.
+message AutomatedAgentConfig {
+ // Required. ID of the Dialogflow agent environment to use.
+ //
+ // This project needs to either be the same project as the conversation or you
+ // need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow API
+ // Service Agent` role in this project.
+ //
+ // - For ES agents, use format: `projects//locations//agent/environments/`. If environment is not
+ // specified, the default `draft` environment is used. Refer to
+ // [DetectIntentRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.DetectIntentRequest)
+ // for more details.
+ //
+ // - For CX agents, use format `projects//locations//agents//environments/`. If environment is not specified, the default `draft` environment
+ // is used.
+ string agent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+}
+
+// Defines the Human Agent Assist to connect to a conversation.
+message HumanAgentAssistantConfig {
+ // Settings of suggestion trigger.
+ message SuggestionTriggerSettings {
+ // Do not trigger if last utterance is small talk.
+ bool no_smalltalk = 1;
+
+ // Only trigger suggestion if participant role of last utterance is
+ // END_USER.
+ bool only_end_user = 2;
+ }
+
+ // Config for suggestion features.
+ message SuggestionFeatureConfig {
+ // The suggestion feature.
+ SuggestionFeature suggestion_feature = 5;
+
+ // Automatically iterates all participants and tries to compile
+ // suggestions.
+ //
+ // Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
+ bool enable_event_based_suggestion = 3;
+
+ // Settings of suggestion trigger.
+ //
+ // Currently, only ARTICLE_SUGGESTION and FAQ will use this field.
+ SuggestionTriggerSettings suggestion_trigger_settings = 10;
+
+ // Configs of query.
+ SuggestionQueryConfig query_config = 6;
+
+ // Configs of custom conversation model.
+ ConversationModelConfig conversation_model_config = 7;
+
+ // Configs for processing conversation.
+ ConversationProcessConfig conversation_process_config = 8;
+ }
+
+ // Detail human agent assistant config.
+ message SuggestionConfig {
+ // Configuration of different suggestion features. One feature can have only
+ // one config.
+ repeated SuggestionFeatureConfig feature_configs = 2;
+
+ // If `group_suggestion_responses` is false, and there are multiple
+ // `feature_configs` in `event based suggestion` or
+ // StreamingAnalyzeContent, we will try to deliver suggestions to customers
+ // as soon as we get new suggestion. Different type of suggestions based on
+ // the same context will be in separate Pub/Sub event or
+ // `StreamingAnalyzeContentResponse`.
+ //
+ // If `group_suggestion_responses` set to true. All the suggestions to the
+ // same participant based on the same context will be grouped into a single
+ // Pub/Sub event or StreamingAnalyzeContentResponse.
+ bool group_suggestion_responses = 3;
+ }
+
+ // Config for suggestion query.
+ message SuggestionQueryConfig {
+ // Knowledge base source settings.
+ //
+ // Supported features: ARTICLE_SUGGESTION, FAQ.
+ message KnowledgeBaseQuerySource {
+ // Required. Knowledge bases to query. Format:
+ // `projects//locations//knowledgeBases/`. Currently, at most 5 knowledge
+ // bases are supported.
+ repeated string knowledge_bases = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/KnowledgeBase"
+ }
+ ];
+ }
+
+ // Document source settings.
+ //
+ // Supported features: SMART_REPLY, SMART_COMPOSE.
+ message DocumentQuerySource {
+ // Required. Knowledge documents to query from. Format:
+ // `projects//locations//knowledgeBases//documents/`.
+ // Currently, at most 5 documents are supported.
+ repeated string documents = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+ }
+
+ // Dialogflow source setting.
+ //
+ // Supported feature: DIALOGFLOW_ASSIST.
+ message DialogflowQuerySource {
+ // Required. The name of a Dialogflow virtual agent used for end user side intent
+ // detection and suggestion. Format: `projects//locations//agent`. When multiple agents are allowed in
+ // the same Dialogflow project.
+ string agent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Agent"
+ }
+ ];
+ }
+
+ // Settings that determine how to filter recent conversation context when
+ // generating suggestions.
+ message ContextFilterSettings {
+ // If set to true, the last message from virtual agent (hand off message)
+ // and the message before it (trigger message of hand off) are dropped.
+ bool drop_handoff_messages = 1;
+
+ // If set to true, all messages from virtual agent are dropped.
+ bool drop_virtual_agent_messages = 2;
+
+ // If set to true, all messages from ivr stage are dropped.
+ bool drop_ivr_messages = 3;
+ }
+
+ // Source of query.
+ oneof query_source {
+ // Query from knowledgebase. It is used by:
+ // ARTICLE_SUGGESTION, FAQ.
+ KnowledgeBaseQuerySource knowledge_base_query_source = 1;
+
+ // Query from knowledge base document. It is used by:
+ // SMART_REPLY, SMART_COMPOSE.
+ DocumentQuerySource document_query_source = 2;
+
+ // Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST.
+ DialogflowQuerySource dialogflow_query_source = 3;
+ }
+
+ // Maximum number of results to return. Currently, if unset, defaults to 10.
+ // And the max number is 20.
+ int32 max_results = 4;
+
+ // Confidence threshold of query result.
+ //
+ // Agent Assist gives each suggestion a score in the range [0.0, 1.0], based
+ // on the relevance between the suggestion and the current conversation
+ // context. A score of 0.0 has no relevance, while a score of 1.0 has high
+ // relevance. Only suggestions with a score greater than or equal to the
+ // value of this field are included in the results.
+ //
+ // For a baseline model (the default), the recommended value is in the range
+ // [0.05, 0.1].
+ //
+ // For a custom model, there is no recommended value. Tune this value by
+ // starting from a very low value and slowly increasing until you have
+ // desired results.
+ //
+ // If this field is not set, it defaults to 0.0, which means that all
+ // suggestions are returned.
+ //
+ // Supported features: ARTICLE_SUGGESTION, FAQ, SMART_REPLY, SMART_COMPOSE.
+ float confidence_threshold = 5;
+
+ // Determines how recent conversation context is filtered when generating
+ // suggestions. If unspecified, no messages will be dropped.
+ ContextFilterSettings context_filter_settings = 7;
+ }
+
+ // Custom conversation models used in agent assist feature.
+ //
+ // Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY,
+ // CONVERSATION_SUMMARIZATION.
+ message ConversationModelConfig {
+ // Conversation model resource name. Format: `projects//conversationModels/`.
+ string model = 1 [(google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/ConversationModel"
+ }];
+ }
+
+ // Config to process conversation.
+ message ConversationProcessConfig {
+ // Number of recent non-small-talk sentences to use as context for article
+ // and FAQ suggestion
+ int32 recent_sentences_count = 2;
+ }
+
+ // Configuration for analyses to run on each conversation message.
+ message MessageAnalysisConfig {
+ // Enable entity extraction in conversation messages on [agent assist
+ // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
+ // If unspecified, defaults to false.
+ //
+ // Currently, this feature is not general available, please contact Google
+ // to get access.
+ bool enable_entity_extraction = 2;
+
+ // Enable sentiment analysis in conversation messages on [agent assist
+ // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
+ // If unspecified, defaults to false. Sentiment analysis inspects user input
+ // and identifies the prevailing subjective opinion, especially to determine
+ // a user's attitude as positive, negative, or neutral:
+ // https://cloud.google.com/natural-language/docs/basics#sentiment_analysis
+ // For [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2.Participants.StreamingAnalyzeContent] method, result will be in
+ // [StreamingAnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2.StreamingAnalyzeContentResponse.message].
+ // For [Participants.AnalyzeContent][google.cloud.dialogflow.v2.Participants.AnalyzeContent] method, result will be in
+ // [AnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2.AnalyzeContentResponse.message]
+ // For [Conversations.ListMessages][google.cloud.dialogflow.v2.Conversations.ListMessages] method, result will be in
+ // [ListMessagesResponse.messages.SentimentAnalysisResult][google.cloud.dialogflow.v2.ListMessagesResponse.messages]
+ // If Pub/Sub notification is configured, result will be in
+ // [ConversationEvent.new_message_payload.SentimentAnalysisResult][google.cloud.dialogflow.v2.ConversationEvent.new_message_payload].
+ bool enable_sentiment_analysis = 3;
+ }
+
+ // Pub/Sub topic on which to publish new agent assistant events.
+ NotificationConfig notification_config = 2;
+
+ // Configuration for agent assistance of human agent participant.
+ SuggestionConfig human_agent_suggestion_config = 3;
+
+ // Configuration for agent assistance of end user participant.
+ //
+ // Currently, this feature is not general available, please contact Google
+ // to get access.
+ SuggestionConfig end_user_suggestion_config = 4;
+
+ // Configuration for message analysis.
+ MessageAnalysisConfig message_analysis_config = 5;
+}
+
+// Defines the hand off to a live agent, typically on which external agent
+// service provider to connect to a conversation.
+//
+// Currently, this feature is not general available, please contact Google
+// to get access.
+message HumanAgentHandoffConfig {
+ // Configuration specific to LivePerson (https://www.liveperson.com).
+ message LivePersonConfig {
+ // Required. Account number of the LivePerson account to connect. This is
+ // the account number you input at the login page.
+ string account_number = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Configuration specific to Salesforce Live Agent.
+ message SalesforceLiveAgentConfig {
+ // Required. The organization ID of the Salesforce account.
+ string organization_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Live Agent deployment ID.
+ string deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Live Agent chat button ID.
+ string button_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Domain of the Live Agent endpoint for this agent. You can find
+ // the endpoint URL in the `Live Agent settings` page. For example if URL
+ // has the form https://d.la4-c2-phx.salesforceliveagent.com/...,
+ // you should fill in d.la4-c2-phx.salesforceliveagent.com.
+ string endpoint_domain = 4 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Specifies which agent service to connect for human agent handoff.
+ oneof agent_service {
+ // Uses LivePerson (https://www.liveperson.com).
+ LivePersonConfig live_person_config = 1;
+
+ // Uses Salesforce Live Agent.
+ SalesforceLiveAgentConfig salesforce_live_agent_config = 2;
+ }
+}
+
+// Defines notification behavior.
+message NotificationConfig {
+ // Format of cloud pub/sub message.
+ enum MessageFormat {
+ // If it is unspecified, PROTO will be used.
+ MESSAGE_FORMAT_UNSPECIFIED = 0;
+
+ // Pub/Sub message will be serialized proto.
+ PROTO = 1;
+
+ // Pub/Sub message will be json.
+ JSON = 2;
+ }
+
+ // Name of the Pub/Sub topic to publish conversation
+ // events like
+ // [CONVERSATION_STARTED][google.cloud.dialogflow.v2.ConversationEvent.Type.CONVERSATION_STARTED] as
+ // serialized [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent] protos.
+ //
+ // For telephony integration to receive notification, make sure either this
+ // topic is in the same project as the conversation or you grant
+ // `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service
+ // Agent` role in the topic project.
+ //
+ // For chat integration to receive notification, make sure API caller has been
+ // granted the `Dialogflow Service Agent` role for the topic.
+ //
+ // Format: `projects//locations//topics/`.
+ string topic = 1;
+
+ // Format of message.
+ MessageFormat message_format = 2;
+}
+
+// Defines logging behavior for conversation lifecycle events.
+message LoggingConfig {
+ // Whether to log conversation events like
+ // [CONVERSATION_STARTED][google.cloud.dialogflow.v2.ConversationEvent.Type.CONVERSATION_STARTED] to
+ // Stackdriver in the conversation project as JSON format
+ // [ConversationEvent][google.cloud.dialogflow.v2.ConversationEvent] protos.
+ bool enable_stackdriver_logging = 3;
+}
+
+// The type of Human Agent Assistant API suggestion to perform, and the maximum
+// number of results to return for that type. Multiple `Feature` objects can
+// be specified in the `features` list.
+message SuggestionFeature {
+ // Defines the type of Human Agent Assistant feature.
+ enum Type {
+ // Unspecified feature type.
+ TYPE_UNSPECIFIED = 0;
+
+ // Run article suggestion model for chat.
+ ARTICLE_SUGGESTION = 1;
+
+ // Run FAQ model for chat.
+ FAQ = 2;
+
+ // Run smart reply model for chat.
+ SMART_REPLY = 3;
+ }
+
+ // Type of Human Agent Assistant API feature to request.
+ Type type = 1;
+}
+
+// The request message for
+// [ConversationProfiles.SetSuggestionFeature][].
+message SetSuggestionFeatureConfigRequest {
+ // Required. The Conversation Profile to add or update the suggestion feature
+ // config. Format: `projects//locations//conversationProfiles/`.
+ string conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The participant role to add or update the suggestion feature
+ // config. Only HUMAN_AGENT or END_USER can be used.
+ Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The suggestion feature config to add or update.
+ HumanAgentAssistantConfig.SuggestionFeatureConfig suggestion_feature_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [ConversationProfiles.ClearFeature][].
+message ClearSuggestionFeatureConfigRequest {
+ // Required. The Conversation Profile to add or update the suggestion feature
+ // config. Format: `projects//locations//conversationProfiles/`.
+ string conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The participant role to remove the suggestion feature
+ // config. Only HUMAN_AGENT or END_USER can be used.
+ Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The type of the suggestion feature to remove.
+ SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Metadata for a [ConversationProfile.SetSuggestionFeatureConfig][]
+// operation.
+message SetSuggestionFeatureConfigOperationMetadata {
+ // The resource name of the conversation profile. Format:
+ // `projects//locations//conversationProfiles/`
+ string conversation_profile = 1;
+
+ // Required. The participant role to add or update the suggestion feature
+ // config. Only HUMAN_AGENT or END_USER can be used.
+ Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The type of the suggestion feature to add or update.
+ SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Timestamp whe the request was created. The time is measured on server side.
+ google.protobuf.Timestamp create_time = 4;
+}
+
+// Metadata for a [ConversationProfile.ClearSuggestionFeatureConfig][]
+// operation.
+message ClearSuggestionFeatureConfigOperationMetadata {
+ // The resource name of the conversation profile. Format:
+ // `projects//locations//conversationProfiles/`
+ string conversation_profile = 1;
+
+ // Required. The participant role to remove the suggestion feature
+ // config. Only HUMAN_AGENT or END_USER can be used.
+ Participant.Role participant_role = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The type of the suggestion feature to remove.
+ SuggestionFeature.Type suggestion_feature_type = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Timestamp whe the request was created. The time is measured on server side.
+ google.protobuf.Timestamp create_time = 4;
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/document.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/document.proto
new file mode 100644
index 00000000000..1241621948f
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/document.proto
@@ -0,0 +1,636 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/dialogflow/v2/gcs.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "DocumentProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing knowledge [Documents][google.cloud.dialogflow.v2.Document].
+service Documents {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Returns the list of all documents of the knowledge base.
+ rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/knowledgeBases/*}/documents"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/knowledgeBases/*}/documents"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/agent/knowledgeBases/*}/documents"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Retrieves the specified document.
+ rpc GetDocument(GetDocumentRequest) returns (Document) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/knowledgeBases/*/documents/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/knowledgeBases/*/documents/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/agent/knowledgeBases/*/documents/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new document.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: [Document][google.cloud.dialogflow.v2.Document]
+ rpc CreateDocument(CreateDocumentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/knowledgeBases/*}/documents"
+ body: "document"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/knowledgeBases/*}/documents"
+ body: "document"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/agent/knowledgeBases/*}/documents"
+ body: "document"
+ }
+ };
+ option (google.api.method_signature) = "parent,document";
+ option (google.longrunning.operation_info) = {
+ response_type: "Document"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+
+ // Creates documents by importing data from external sources.
+ // Dialogflow supports up to 350 documents in each request. If you try to
+ // import more, Dialogflow will return an error.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: [ImportDocumentsResponse][google.cloud.dialogflow.v2.ImportDocumentsResponse]
+ rpc ImportDocuments(ImportDocumentsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/knowledgeBases/*}/documents:import"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/knowledgeBases/*}/documents:import"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "ImportDocumentsResponse"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+
+ // Deletes the specified document.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ rpc DeleteDocument(DeleteDocumentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/knowledgeBases/*/documents/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/knowledgeBases/*/documents/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/agent/knowledgeBases/*/documents/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+
+ // Updates the specified document.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: [Document][google.cloud.dialogflow.v2.Document]
+ rpc UpdateDocument(UpdateDocumentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v2/{document.name=projects/*/knowledgeBases/*/documents/*}"
+ body: "document"
+ additional_bindings {
+ patch: "/v2/{document.name=projects/*/locations/*/knowledgeBases/*/documents/*}"
+ body: "document"
+ }
+ additional_bindings {
+ patch: "/v2/{document.name=projects/*/agent/knowledgeBases/*/documents/*}"
+ body: "document"
+ }
+ };
+ option (google.api.method_signature) = "document,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Document"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+
+ // Reloads the specified document from its specified source, content_uri or
+ // content. The previously loaded content of the document will be deleted.
+ // Note: Even when the content of the document has not changed, there still
+ // may be side effects because of internal implementation changes.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: [Document][google.cloud.dialogflow.v2.Document]
+ //
+ // Note: The `projects.agent.knowledgeBases.documents` resource is deprecated;
+ // only use `projects.knowledgeBases.documents`.
+ rpc ReloadDocument(ReloadDocumentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/knowledgeBases/*/documents/*}:reload"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/knowledgeBases/*/documents/*}:reload"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{name=projects/*/agent/knowledgeBases/*/documents/*}:reload"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,content_uri";
+ option (google.longrunning.operation_info) = {
+ response_type: "Document"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+
+ // Exports a smart messaging candidate document into the specified
+ // destination.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: [KnowledgeOperationMetadata][google.cloud.dialogflow.v2.KnowledgeOperationMetadata]
+ // - `response`: [Document][google.cloud.dialogflow.v2.Document]
+ rpc ExportDocument(ExportDocumentRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/knowledgeBases/*/documents/*}:export"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/knowledgeBases/*/documents/*}:export"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Document"
+ metadata_type: "KnowledgeOperationMetadata"
+ };
+ }
+}
+
+// A knowledge document to be used by a [KnowledgeBase][google.cloud.dialogflow.v2.KnowledgeBase].
+//
+// For more information, see the [knowledge base
+// guide](https://cloud.google.com/dialogflow/docs/how/knowledge-bases).
+//
+// Note: The `projects.agent.knowledgeBases.documents` resource is deprecated;
+// only use `projects.knowledgeBases.documents`.
+message Document {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/Document"
+ pattern: "projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}"
+ pattern: "projects/{project}/locations/{location}/knowledgeBases/{knowledge_base}/documents/{document}"
+ };
+
+ // The knowledge type of document content.
+ enum KnowledgeType {
+ // The type is unspecified or arbitrary.
+ KNOWLEDGE_TYPE_UNSPECIFIED = 0;
+
+ // The document content contains question and answer pairs as either HTML or
+ // CSV. Typical FAQ HTML formats are parsed accurately, but unusual formats
+ // may fail to be parsed.
+ //
+ // CSV must have questions in the first column and answers in the second,
+ // with no header. Because of this explicit format, they are always parsed
+ // accurately.
+ FAQ = 1;
+
+ // Documents for which unstructured text is extracted and used for
+ // question answering.
+ EXTRACTIVE_QA = 2;
+
+ // The entire document content as a whole can be used for query results.
+ // Only for Contact Center Solutions on Dialogflow.
+ ARTICLE_SUGGESTION = 3;
+
+ // The document contains agent-facing Smart Reply entries.
+ AGENT_FACING_SMART_REPLY = 4;
+ }
+
+ // The status of a reload attempt.
+ message ReloadStatus {
+ // The time of a reload attempt.
+ // This reload may have been triggered automatically or manually and may
+ // not have succeeded.
+ google.protobuf.Timestamp time = 1;
+
+ // The status of a reload attempt or the initial load.
+ google.rpc.Status status = 2;
+ }
+
+ // Possible states of the document
+ enum State {
+ // The document state is unspecified.
+ STATE_UNSPECIFIED = 0;
+
+ // The document creation is in progress.
+ CREATING = 1;
+
+ // The document is active and ready to use.
+ ACTIVE = 2;
+
+ // The document updation is in progress.
+ UPDATING = 3;
+
+ // The document is reloading.
+ RELOADING = 4;
+
+ // The document deletion is in progress.
+ DELETING = 5;
+ }
+
+ // Optional. The document resource name.
+ // The name must be empty when creating a document.
+ // Format: `projects//locations//knowledgeBases//documents/`.
+ string name = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The display name of the document. The name must be 1024 bytes or
+ // less; otherwise, the creation request fails.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The MIME type of this document.
+ string mime_type = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The knowledge type of document content.
+ repeated KnowledgeType knowledge_types = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The source of this document.
+ oneof source {
+ // The URI where the file content is located.
+ //
+ // For documents stored in Google Cloud Storage, these URIs must have
+ // the form `gs:///`.
+ //
+ // NOTE: External URLs must correspond to public webpages, i.e., they must
+ // be indexed by Google Search. In particular, URLs for showing documents in
+ // Google Cloud Storage (i.e. the URL in your browser) are not supported.
+ // Instead use the `gs://` format URI described above.
+ string content_uri = 5;
+
+ // The raw content of the document. This field is only permitted for
+ // EXTRACTIVE_QA and FAQ knowledge types.
+ bytes raw_content = 9;
+ }
+
+ // Optional. If true, we try to automatically reload the document every day
+ // (at a time picked by the system). If false or unspecified, we don't try
+ // to automatically reload the document.
+ //
+ // Currently you can only enable automatic reload for documents sourced from
+ // a public url, see `source` field for the source types.
+ //
+ // Reload status can be tracked in `latest_reload_status`. If a reload
+ // fails, we will keep the document unchanged.
+ //
+ // If a reload fails with internal errors, the system will try to reload the
+ // document on the next day.
+ // If a reload fails with non-retriable errors (e.g. PERMISION_DENIED), the
+ // system will not try to reload the document anymore. You need to manually
+ // reload the document successfully by calling `ReloadDocument` and clear the
+ // errors.
+ bool enable_auto_reload = 11 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The time and status of the latest reload.
+ // This reload may have been triggered automatically or manually
+ // and may not have succeeded.
+ ReloadStatus latest_reload_status = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Metadata for the document. The metadata supports arbitrary
+ // key-value pairs. Suggested use cases include storing a document's title,
+ // an external URL distinct from the document's content_uri, etc.
+ // The max size of a `key` or a `value` of the metadata is 1024 bytes.
+ map metadata = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The current state of the document.
+ State state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request message for [Documents.GetDocument][google.cloud.dialogflow.v2.Documents.GetDocument].
+message GetDocumentRequest {
+ // Required. The name of the document to retrieve.
+ // Format `projects//locations//knowledgeBases//documents/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+}
+
+// Request message for [Documents.ListDocuments][google.cloud.dialogflow.v2.Documents.ListDocuments].
+message ListDocumentsRequest {
+ // Required. The knowledge base to list all documents for.
+ // Format: `projects//locations//knowledgeBases/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+
+ // The maximum number of items to return in a single page. By
+ // default 10 and at most 100.
+ int32 page_size = 2;
+
+ // The next_page_token value returned from a previous list request.
+ string page_token = 3;
+
+ // The filter expression used to filter documents returned by the list method.
+ // The expression has the following syntax:
+ //
+ // [AND ] ...
+ //
+ // The following fields and operators are supported:
+ //
+ // * knowledge_types with has(:) operator
+ // * display_name with has(:) operator
+ // * state with equals(=) operator
+ //
+ // Examples:
+ //
+ // * "knowledge_types:FAQ" matches documents with FAQ knowledge type.
+ // * "display_name:customer" matches documents whose display name contains
+ // "customer".
+ // * "state=ACTIVE" matches documents with ACTIVE state.
+ // * "knowledge_types:FAQ AND state=ACTIVE" matches all active FAQ documents.
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4;
+}
+
+// Response message for [Documents.ListDocuments][google.cloud.dialogflow.v2.Documents.ListDocuments].
+message ListDocumentsResponse {
+ // The list of documents.
+ repeated Document documents = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// Request message for [Documents.CreateDocument][google.cloud.dialogflow.v2.Documents.CreateDocument].
+message CreateDocumentRequest {
+ // Required. The knowledge base to create a document for.
+ // Format: `projects//locations//knowledgeBases/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+
+ // Required. The document to create.
+ Document document = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [Documents.ImportDocuments][google.cloud.dialogflow.v2.Documents.ImportDocuments].
+message ImportDocumentsRequest {
+ // Required. The knowledge base to import documents into.
+ // Format: `projects//locations//knowledgeBases/`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+
+ // Required. The source to use for importing documents.
+ //
+ // If the source captures multiple objects, then multiple documents will be
+ // created, one corresponding to each object, and all of these documents will
+ // be created using the same document template.
+ //
+ // Dialogflow supports up to 350 documents in each request. If you try to
+ // import more, Dialogflow will return an error.
+ oneof source {
+ // The Google Cloud Storage location for the documents.
+ // The path can include a wildcard.
+ //
+ // These URIs may have the forms
+ // `gs:///`.
+ // `gs:////*.`.
+ GcsSources gcs_source = 2;
+ }
+
+ // Required. Document template used for importing all the documents.
+ ImportDocumentTemplate document_template = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Whether to import custom metadata from Google Cloud Storage.
+ // Only valid when the document source is Google Cloud Storage URI.
+ bool import_gcs_custom_metadata = 4;
+}
+
+// The template used for importing documents.
+message ImportDocumentTemplate {
+ // Required. The MIME type of the document.
+ string mime_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The knowledge type of document content.
+ repeated Document.KnowledgeType knowledge_types = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Metadata for the document. The metadata supports arbitrary
+ // key-value pairs. Suggested use cases include storing a document's title,
+ // an external URL distinct from the document's content_uri, etc.
+ // The max size of a `key` or a `value` of the metadata is 1024 bytes.
+ map metadata = 3;
+}
+
+// Response message for [Documents.ImportDocuments][google.cloud.dialogflow.v2.Documents.ImportDocuments].
+message ImportDocumentsResponse {
+ // Includes details about skipped documents or any other warnings.
+ repeated google.rpc.Status warnings = 1;
+}
+
+// Request message for [Documents.DeleteDocument][google.cloud.dialogflow.v2.Documents.DeleteDocument].
+message DeleteDocumentRequest {
+ // Required. The name of the document to delete.
+ // Format: `projects//locations//knowledgeBases//documents/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+}
+
+// Request message for [Documents.UpdateDocument][google.cloud.dialogflow.v2.Documents.UpdateDocument].
+message UpdateDocumentRequest {
+ // Required. The document to update.
+ Document document = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Not specified means `update all`.
+ // Currently, only `display_name` can be updated, an InvalidArgument will be
+ // returned for attempting to update other fields.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [Documents.ReloadDocument][google.cloud.dialogflow.v2.Documents.ReloadDocument].
+message ReloadDocumentRequest {
+ // Required. The name of the document to reload.
+ // Format: `projects//locations//knowledgeBases//documents/`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+
+ // The source for document reloading.
+ // If provided, the service will load the contents from the source
+ // and update document in the knowledge base.
+ oneof source {
+ // Optional. The path of gcs source file for reloading document content. For now,
+ // only gcs uri is supported.
+ //
+ // For documents stored in Google Cloud Storage, these URIs must have
+ // the form `gs:///`.
+ string content_uri = 3 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Whether to import custom metadata from Google Cloud Storage.
+ // Only valid when the document source is Google Cloud Storage URI.
+ bool import_gcs_custom_metadata = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When enabled, the reload request is to apply partial update to the smart
+ // messaging allowlist.
+ bool smart_messaging_partial_update = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [Documents.ExportDocument][google.cloud.dialogflow.v2.Documents.ExportDocument].
+message ExportDocumentRequest {
+ // Required. The name of the document to export.
+ // Format: `projects//locations//knowledgeBases//documents/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/Document"
+ }
+ ];
+
+ // Required. The destination for the export.
+ oneof destination {
+ // Cloud Storage file path to export the document.
+ GcsDestination gcs_destination = 2;
+ }
+
+ // When enabled, export the full content of the document including empirical
+ // probability.
+ bool export_full_content = 3;
+
+ // When enabled, export the smart messaging allowlist document for partial
+ // update.
+ bool smart_messaging_partial_update = 5;
+}
+
+// Metadata related to the Export Data Operations (e.g. ExportDocument).
+message ExportOperationMetadata {
+ // Cloud Storage file path of the exported data.
+ GcsDestination exported_gcs_destination = 1;
+}
+
+// Metadata in google::longrunning::Operation for Knowledge operations.
+message KnowledgeOperationMetadata {
+ // States of the operation.
+ enum State {
+ // State unspecified.
+ STATE_UNSPECIFIED = 0;
+
+ // The operation has been created.
+ PENDING = 1;
+
+ // The operation is currently running.
+ RUNNING = 2;
+
+ // The operation is done, either cancelled or completed.
+ DONE = 3;
+ }
+
+ // Output only. The current state of this operation.
+ State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The name of the knowledge base interacted with during the operation.
+ string knowledge_base = 3;
+
+ // Additional metadata for the Knowledge operation.
+ oneof operation_metadata {
+ // Metadata for the Export Data Operation such as the destination of export.
+ ExportOperationMetadata export_operation_metadata = 4;
+ }
+}
diff --git a/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/entity_type.proto b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/entity_type.proto
new file mode 100644
index 00000000000..acb5b94f25e
--- /dev/null
+++ b/packages/google-cloud-dialogflow/protos/google/cloud/dialogflow/v2/entity_type.proto
@@ -0,0 +1,613 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.dialogflow.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Dialogflow.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2;dialogflow";
+option java_multiple_files = true;
+option java_outer_classname = "EntityTypeProto";
+option java_package = "com.google.cloud.dialogflow.v2";
+option objc_class_prefix = "DF";
+
+// Service for managing [EntityTypes][google.cloud.dialogflow.v2.EntityType].
+service EntityTypes {
+ option (google.api.default_host) = "dialogflow.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/dialogflow";
+
+ // Returns the list of all entity types in the specified agent.
+ rpc ListEntityTypes(ListEntityTypesRequest) returns (ListEntityTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/agent}/entityTypes"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*/agent}/entityTypes"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ option (google.api.method_signature) = "parent,language_code";
+ }
+
+ // Retrieves the specified entity type.
+ rpc GetEntityType(GetEntityTypeRequest) returns (EntityType) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/agent/entityTypes/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/agent/entityTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ option (google.api.method_signature) = "name,language_code";
+ }
+
+ // Creates an entity type in the specified agent.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc CreateEntityType(CreateEntityTypeRequest) returns (EntityType) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent}/entityTypes"
+ body: "entity_type"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent}/entityTypes"
+ body: "entity_type"
+ }
+ };
+ option (google.api.method_signature) = "parent,entity_type";
+ option (google.api.method_signature) = "parent,entity_type,language_code";
+ }
+
+ // Updates the specified entity type.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType) {
+ option (google.api.http) = {
+ patch: "/v2/{entity_type.name=projects/*/agent/entityTypes/*}"
+ body: "entity_type"
+ additional_bindings {
+ patch: "/v2/{entity_type.name=projects/*/locations/*/agent/entityTypes/*}"
+ body: "entity_type"
+ }
+ };
+ option (google.api.method_signature) = "entity_type";
+ option (google.api.method_signature) = "entity_type,language_code";
+ }
+
+ // Deletes the specified entity type.
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc DeleteEntityType(DeleteEntityTypeRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/agent/entityTypes/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/agent/entityTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates/Creates multiple entity types in the specified agent.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: [BatchUpdateEntityTypesResponse][google.cloud.dialogflow.v2.BatchUpdateEntityTypesResponse]
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc BatchUpdateEntityTypes(BatchUpdateEntityTypesRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent}/entityTypes:batchUpdate"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent}/entityTypes:batchUpdate"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.dialogflow.v2.BatchUpdateEntityTypesResponse"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Deletes entity types in the specified agent.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc BatchDeleteEntityTypes(BatchDeleteEntityTypesRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent}/entityTypes:batchDelete"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent}/entityTypes:batchDelete"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,entity_type_names";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Creates multiple new entities in the specified entity type.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc BatchCreateEntities(BatchCreateEntitiesRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent/entityTypes/*}/entities:batchCreate"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchCreate"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,entities";
+ option (google.api.method_signature) = "parent,entities,language_code";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Updates or creates multiple entities in the specified entity type. This
+ // method does not affect entities in the entity type that aren't explicitly
+ // specified in the request.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ //
+ rpc BatchUpdateEntities(BatchUpdateEntitiesRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent/entityTypes/*}/entities:batchUpdate"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchUpdate"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,entities";
+ option (google.api.method_signature) = "parent,entities,language_code";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+
+ // Deletes entities in the specified entity type.
+ //
+ // This method is a [long-running
+ // operation](https://cloud.google.com/dialogflow/es/docs/how/long-running-operations).
+ // The returned `Operation` type has the following method-specific fields:
+ //
+ // - `metadata`: An empty [Struct
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
+ // - `response`: An [Empty
+ // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
+ //
+ // Note: You should always train an agent prior to sending it queries. See the
+ // [training
+ // documentation](https://cloud.google.com/dialogflow/es/docs/training).
+ rpc BatchDeleteEntities(BatchDeleteEntitiesRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/agent/entityTypes/*}/entities:batchDelete"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*/agent/entityTypes/*}/entities:batchDelete"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,entity_values";
+ option (google.api.method_signature) = "parent,entity_values,language_code";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Struct"
+ };
+ }
+}
+
+// Each intent parameter has a type, called the entity type, which dictates
+// exactly how data from an end-user expression is extracted.
+//
+// Dialogflow provides predefined system entities that can match many common
+// types of data. For example, there are system entities for matching dates,
+// times, colors, email addresses, and so on. You can also create your own
+// custom entities for matching custom data. For example, you could define a
+// vegetable entity that can match the types of vegetables available for
+// purchase with a grocery store agent.
+//
+// For more information, see the
+// [Entity guide](https://cloud.google.com/dialogflow/docs/entities-overview).
+message EntityType {
+ option (google.api.resource) = {
+ type: "dialogflow.googleapis.com/EntityType"
+ pattern: "projects/{project}/agent/entityTypes/{entity_type}"
+ pattern: "projects/{project}/locations/{location}/agent/entityTypes/{entity_type}"
+ };
+
+ // Represents kinds of entities.
+ enum Kind {
+ // Not specified. This value should be never used.
+ KIND_UNSPECIFIED = 0;
+
+ // Map entity types allow mapping of a group of synonyms to a reference
+ // value.
+ KIND_MAP = 1;
+
+ // List entity types contain a set of entries that do not map to reference
+ // values. However, list entity types can contain references to other entity
+ // types (with or without aliases).
+ KIND_LIST = 2;
+
+ // Regexp entity types allow to specify regular expressions in entries
+ // values.
+ KIND_REGEXP = 3;
+ }
+
+ // Represents different entity type expansion modes. Automated expansion
+ // allows an agent to recognize values that have not been explicitly listed in
+ // the entity (for example, new kinds of shopping list items).
+ enum AutoExpansionMode {
+ // Auto expansion disabled for the entity.
+ AUTO_EXPANSION_MODE_UNSPECIFIED = 0;
+
+ // Allows an agent to recognize values that have not been explicitly
+ // listed in the entity.
+ AUTO_EXPANSION_MODE_DEFAULT = 1;
+ }
+
+ // An **entity entry** for an associated entity type.
+ message Entity {
+ // Required. The primary value associated with this entity entry.
+ // For example, if the entity type is *vegetable*, the value could be
+ // *scallions*.
+ //
+ // For `KIND_MAP` entity types:
+ //
+ // * A reference value to be used in place of synonyms.
+ //
+ // For `KIND_LIST` entity types:
+ //
+ // * A string that can contain references to other entity types (with or
+ // without aliases).
+ string value = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A collection of value synonyms. For example, if the entity type
+ // is *vegetable*, and `value` is *scallions*, a synonym could be *green
+ // onions*.
+ //
+ // For `KIND_LIST` entity types:
+ //
+ // * This collection must contain exactly one synonym equal to `value`.
+ repeated string synonyms = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // The unique identifier of the entity type.
+ // Required for [EntityTypes.UpdateEntityType][google.cloud.dialogflow.v2.EntityTypes.UpdateEntityType] and
+ // [EntityTypes.BatchUpdateEntityTypes][google.cloud.dialogflow.v2.EntityTypes.BatchUpdateEntityTypes] methods.
+ // Format: `projects//agent/entityTypes/`.
+ string name = 1;
+
+ // Required. The name of the entity type.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Indicates the kind of entity type.
+ Kind kind = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Indicates whether the entity type can be automatically
+ // expanded.
+ AutoExpansionMode auto_expansion_mode = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The collection of entity entries associated with the entity type.
+ repeated Entity entities = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Enables fuzzy entity extraction during classification.
+ bool enable_fuzzy_extraction = 7 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [EntityTypes.ListEntityTypes][google.cloud.dialogflow.v2.EntityTypes.ListEntityTypes].
+message ListEntityTypesRequest {
+ // Required. The agent to list all entity types from.
+ // Format: `projects//agent`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dialogflow.googleapis.com/EntityType"
+ }
+ ];
+
+ // Optional. The language used to access language-specific data.
+ // If not specified, the agent's default language is used.
+ // For more information, see
+ // [Multilingual intent and entity
+ // data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
+ string language_code = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of items to return in a single page. By
+ // default 100 and at most 1000.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous list request.
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [EntityTypes.ListEntityTypes][google.cloud.dialogflow.v2.EntityTypes.ListEntityTypes].
+message ListEntityTypesResponse {
+ // The list of agent entity types. There will be a maximum number of items
+ // returned based on the page_size field in the request.
+ repeated EntityType entity_types = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [EntityTypes.GetEntityType][google.cloud.dialogflow.v2.EntityTypes.GetEntityType].
+message GetEntityTypeRequest {
+ // Required. The name of the entity type.
+ // Format: `projects//agent/entityTypes/`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dialogflow.googleapis.com/EntityType"
+ }
+ ];
+
+ // Optional. The language used to access language-specific data.
+ // If not specified, the agent's default language is used.
+ // For more information, see
+ // [Multilingual intent and entity
+ // data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
+ string language_code = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The request message for [EntityTypes.CreateEntityType][google.cloud.dialogflow.v2.EntityTypes.CreateEntityType].
+message CreateEntityTypeRequest {
+ // Required. The agent to create a entity type for.
+ // Format: `projects/