google-api-client 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -14
  3. data/CHANGELOG.md +6 -0
  4. data/OVERVIEW.md +36 -27
  5. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  6. data/generated/google/apis/accesscontextmanager_v1/classes.rb +326 -0
  7. data/generated/google/apis/accesscontextmanager_v1/representations.rb +139 -0
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/service.rb +2 -2
  10. data/generated/google/apis/analyticsadmin_v1alpha.rb +2 -2
  11. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +8 -0
  12. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +1 -0
  13. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -1
  14. data/{lib/google/apis/core/logging.rb → generated/google/apis/apigateway_v1.rb} +14 -10
  15. data/generated/google/apis/apigateway_v1/classes.rb +1116 -0
  16. data/generated/google/apis/apigateway_v1/representations.rb +442 -0
  17. data/generated/google/apis/apigateway_v1/service.rb +1172 -0
  18. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  19. data/generated/google/apis/apigateway_v1beta/classes.rb +19 -8
  20. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  21. data/generated/google/apis/apigee_v1.rb +1 -1
  22. data/generated/google/apis/apigee_v1/classes.rb +24 -22
  23. data/generated/google/apis/apigee_v1/service.rb +50 -48
  24. data/generated/google/apis/artifactregistry_v1.rb +38 -0
  25. data/generated/google/apis/artifactregistry_v1/classes.rb +242 -0
  26. data/generated/google/apis/artifactregistry_v1/representations.rb +116 -0
  27. data/generated/google/apis/artifactregistry_v1/service.rb +210 -0
  28. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  29. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -120
  30. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -62
  31. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  32. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +0 -120
  33. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +0 -62
  34. data/generated/google/apis/chat_v1.rb +1 -1
  35. data/generated/google/apis/chat_v1/service.rb +132 -0
  36. data/generated/google/apis/cloudasset_v1.rb +1 -1
  37. data/generated/google/apis/cloudasset_v1/classes.rb +326 -0
  38. data/generated/google/apis/cloudasset_v1/representations.rb +139 -0
  39. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  40. data/generated/google/apis/cloudasset_v1beta1/classes.rb +326 -0
  41. data/generated/google/apis/cloudasset_v1beta1/representations.rb +139 -0
  42. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  43. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +326 -0
  44. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +139 -0
  45. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  46. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -3
  47. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  48. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +3 -3
  49. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  50. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +3 -3
  51. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  52. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  53. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  54. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +0 -26
  55. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +0 -24
  56. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  57. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +0 -26
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +0 -24
  59. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  60. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +0 -26
  61. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +0 -24
  62. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  63. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +0 -26
  64. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +0 -24
  65. data/generated/google/apis/container_v1.rb +1 -1
  66. data/generated/google/apis/container_v1/classes.rb +7 -7
  67. data/generated/google/apis/container_v1beta1.rb +1 -1
  68. data/generated/google/apis/container_v1beta1/classes.rb +7 -7
  69. data/generated/google/apis/content_v2_1.rb +1 -1
  70. data/generated/google/apis/content_v2_1/classes.rb +434 -0
  71. data/generated/google/apis/content_v2_1/representations.rb +187 -0
  72. data/generated/google/apis/content_v2_1/service.rb +116 -0
  73. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  74. data/generated/google/apis/datacatalog_v1beta1/classes.rb +6 -0
  75. data/generated/google/apis/datacatalog_v1beta1/representations.rb +1 -0
  76. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  77. data/generated/google/apis/datalabeling_v1beta1.rb +1 -1
  78. data/generated/google/apis/dataproc_v1.rb +1 -1
  79. data/generated/google/apis/dataproc_v1/classes.rb +29 -1
  80. data/generated/google/apis/dataproc_v1/representations.rb +14 -0
  81. data/generated/google/apis/dataproc_v1/service.rb +42 -0
  82. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  83. data/generated/google/apis/dataproc_v1beta2/classes.rb +29 -1
  84. data/generated/google/apis/dataproc_v1beta2/representations.rb +14 -0
  85. data/generated/google/apis/dataproc_v1beta2/service.rb +42 -0
  86. data/generated/google/apis/dialogflow_v2.rb +1 -1
  87. data/generated/google/apis/dialogflow_v2/classes.rb +4041 -678
  88. data/generated/google/apis/dialogflow_v2/representations.rb +1851 -298
  89. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  90. data/generated/google/apis/dialogflow_v2beta1/classes.rb +4047 -684
  91. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1862 -309
  92. data/generated/google/apis/dialogflow_v3.rb +1 -1
  93. data/generated/google/apis/dialogflow_v3/classes.rb +3120 -311
  94. data/generated/google/apis/dialogflow_v3/representations.rb +2002 -617
  95. data/generated/google/apis/dialogflow_v3/service.rb +408 -0
  96. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  97. data/generated/google/apis/dialogflow_v3beta1/classes.rb +5145 -2336
  98. data/generated/google/apis/dialogflow_v3beta1/representations.rb +1729 -344
  99. data/generated/google/apis/dialogflow_v3beta1/service.rb +408 -0
  100. data/generated/google/apis/dlp_v2.rb +1 -1
  101. data/generated/google/apis/dlp_v2/service.rb +3 -9
  102. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  103. data/generated/google/apis/documentai_v1beta2/classes.rb +5 -92
  104. data/generated/google/apis/documentai_v1beta2/representations.rb +2 -15
  105. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  106. data/generated/google/apis/documentai_v1beta3/classes.rb +5 -92
  107. data/generated/google/apis/documentai_v1beta3/representations.rb +2 -15
  108. data/generated/google/apis/gameservices_v1.rb +1 -1
  109. data/generated/google/apis/gameservices_v1/service.rb +14 -14
  110. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  111. data/generated/google/apis/gameservices_v1beta/service.rb +14 -14
  112. data/generated/google/apis/localservices_v1.rb +4 -1
  113. data/generated/google/apis/manufacturers_v1.rb +1 -1
  114. data/generated/google/apis/manufacturers_v1/classes.rb +2 -2
  115. data/generated/google/apis/monitoring_v3.rb +1 -1
  116. data/generated/google/apis/monitoring_v3/classes.rb +2 -2
  117. data/generated/google/apis/notebooks_v1.rb +1 -1
  118. data/generated/google/apis/notebooks_v1/classes.rb +13 -0
  119. data/generated/google/apis/notebooks_v1/representations.rb +12 -0
  120. data/generated/google/apis/notebooks_v1/service.rb +34 -0
  121. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  122. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +0 -37
  123. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +0 -18
  124. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  125. data/generated/google/apis/recommendationengine_v1beta1/service.rb +2 -1
  126. data/generated/google/apis/securitycenter_v1.rb +1 -1
  127. data/generated/google/apis/securitycenter_v1/classes.rb +18 -10
  128. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  129. data/generated/google/apis/securitycenter_v1/service.rb +30 -30
  130. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  131. data/generated/google/apis/securitycenter_v1beta1/classes.rb +7 -0
  132. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  133. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  134. data/generated/google/apis/securitycenter_v1beta2/classes.rb +7 -0
  135. data/generated/google/apis/securitycenter_v1beta2/representations.rb +1 -0
  136. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  137. data/generated/google/apis/servicemanagement_v1/classes.rb +11 -10
  138. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  139. data/generated/google/apis/sqladmin_v1beta4/classes.rb +7 -7
  140. data/generated/google/apis/sqladmin_v1beta4/service.rb +4 -1
  141. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  142. data/generated/google/apis/storagetransfer_v1/classes.rb +25 -0
  143. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  144. data/generated/google/apis/webmasters_v3/classes.rb +8 -0
  145. data/generated/google/apis/webmasters_v3/representations.rb +1 -0
  146. data/generated/google/apis/youtube_v3.rb +1 -1
  147. data/generated/google/apis/youtube_v3/classes.rb +18 -143
  148. data/generated/google/apis/youtube_v3/representations.rb +0 -57
  149. data/generated/google/apis/youtube_v3/service.rb +0 -43
  150. data/lib/google/apis/version.rb +1 -23
  151. metadata +27 -263
  152. data/.github/CONTRIBUTING.md +0 -31
  153. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -36
  154. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -21
  155. data/.github/ISSUE_TEMPLATE/support_request.md +0 -7
  156. data/.github/workflows/autoapprove.yml +0 -49
  157. data/.github/workflows/release-please.yml +0 -57
  158. data/.gitignore +0 -23
  159. data/.kokoro/build.bat +0 -11
  160. data/.kokoro/build.sh +0 -4
  161. data/.kokoro/continuous/common.cfg +0 -25
  162. data/.kokoro/continuous/linux.cfg +0 -25
  163. data/.kokoro/continuous/osx.cfg +0 -8
  164. data/.kokoro/continuous/post.cfg +0 -30
  165. data/.kokoro/continuous/windows.cfg +0 -29
  166. data/.kokoro/osx.sh +0 -4
  167. data/.kokoro/presubmit/common.cfg +0 -24
  168. data/.kokoro/presubmit/linux.cfg +0 -24
  169. data/.kokoro/presubmit/osx.cfg +0 -8
  170. data/.kokoro/presubmit/windows.cfg +0 -29
  171. data/.kokoro/release.cfg +0 -94
  172. data/.kokoro/trampoline.bat +0 -10
  173. data/.kokoro/trampoline.sh +0 -4
  174. data/.repo-metadata.json +0 -5
  175. data/.rspec +0 -2
  176. data/.rubocop.yml +0 -12
  177. data/.rubocop_todo.yml +0 -63
  178. data/CODE_OF_CONDUCT.md +0 -43
  179. data/Gemfile +0 -55
  180. data/MIGRATING.md +0 -215
  181. data/README.md +0 -402
  182. data/Rakefile +0 -131
  183. data/api_list_config.yaml +0 -9
  184. data/api_names.yaml +0 -1082
  185. data/bin/generate-api +0 -194
  186. data/docs/api-keys.md +0 -20
  187. data/docs/auth.md +0 -53
  188. data/docs/client-secrets.md +0 -69
  189. data/docs/getting-started.md +0 -340
  190. data/docs/installation.md +0 -0
  191. data/docs/logging.md +0 -34
  192. data/docs/media-upload.md +0 -25
  193. data/docs/oauth-installed.md +0 -191
  194. data/docs/oauth-server.md +0 -133
  195. data/docs/oauth-web.md +0 -280
  196. data/docs/oauth.md +0 -268
  197. data/docs/pagination.md +0 -29
  198. data/docs/performance.md +0 -25
  199. data/google-api-client.gemspec +0 -36
  200. data/lib/google/api_client/auth/installed_app.rb +0 -143
  201. data/lib/google/api_client/auth/key_utils.rb +0 -94
  202. data/lib/google/api_client/auth/storage.rb +0 -104
  203. data/lib/google/api_client/auth/storages/file_store.rb +0 -57
  204. data/lib/google/api_client/auth/storages/redis_store.rb +0 -59
  205. data/lib/google/api_client/client_secrets.rb +0 -176
  206. data/lib/google/apis.rb +0 -58
  207. data/lib/google/apis/core/api_command.rb +0 -209
  208. data/lib/google/apis/core/base_service.rb +0 -447
  209. data/lib/google/apis/core/batch.rb +0 -236
  210. data/lib/google/apis/core/composite_io.rb +0 -97
  211. data/lib/google/apis/core/download.rb +0 -118
  212. data/lib/google/apis/core/hashable.rb +0 -44
  213. data/lib/google/apis/core/http_command.rb +0 -447
  214. data/lib/google/apis/core/json_representation.rb +0 -153
  215. data/lib/google/apis/core/multipart.rb +0 -135
  216. data/lib/google/apis/core/upload.rb +0 -273
  217. data/lib/google/apis/errors.rb +0 -89
  218. data/lib/google/apis/generator.rb +0 -71
  219. data/lib/google/apis/generator/annotator.rb +0 -339
  220. data/lib/google/apis/generator/helpers.rb +0 -76
  221. data/lib/google/apis/generator/model.rb +0 -187
  222. data/lib/google/apis/generator/template.rb +0 -124
  223. data/lib/google/apis/generator/templates/_class.tmpl +0 -43
  224. data/lib/google/apis/generator/templates/_method.tmpl +0 -92
  225. data/lib/google/apis/generator/templates/_representation.tmpl +0 -51
  226. data/lib/google/apis/generator/templates/_representation_stub.tmpl +0 -17
  227. data/lib/google/apis/generator/templates/_representation_type.tmpl +0 -10
  228. data/lib/google/apis/generator/templates/classes.rb.tmpl +0 -29
  229. data/lib/google/apis/generator/templates/module.rb.tmpl +0 -40
  230. data/lib/google/apis/generator/templates/representations.rb.tmpl +0 -32
  231. data/lib/google/apis/generator/templates/service.rb.tmpl +0 -61
  232. data/lib/google/apis/options.rb +0 -116
  233. data/rakelib/devsite/devsite_builder.rb +0 -126
  234. data/rakelib/devsite/link_checker.rb +0 -64
  235. data/rakelib/devsite/repo_metadata.rb +0 -56
  236. data/rakelib/metrics.rake +0 -22
  237. data/rakelib/rubocop.rake +0 -10
  238. data/rakelib/spec.rake +0 -11
  239. data/rakelib/yard.rake +0 -11
  240. data/samples/cli/.env +0 -4
  241. data/samples/cli/Gemfile +0 -7
  242. data/samples/cli/README.md +0 -51
  243. data/samples/cli/google-api-samples +0 -32
  244. data/samples/cli/lib/base_cli.rb +0 -95
  245. data/samples/cli/lib/samples/adsense.rb +0 -99
  246. data/samples/cli/lib/samples/analytics.rb +0 -80
  247. data/samples/cli/lib/samples/androidpublisher.rb +0 -47
  248. data/samples/cli/lib/samples/bigquery.rb +0 -101
  249. data/samples/cli/lib/samples/calendar.rb +0 -83
  250. data/samples/cli/lib/samples/drive.rb +0 -82
  251. data/samples/cli/lib/samples/gmail.rb +0 -157
  252. data/samples/cli/lib/samples/pubsub.rb +0 -114
  253. data/samples/cli/lib/samples/sheets.rb +0 -61
  254. data/samples/cli/lib/samples/translate.rb +0 -44
  255. data/samples/cli/lib/samples/vision.rb +0 -69
  256. data/samples/cli/lib/samples/you_tube.rb +0 -47
  257. data/samples/web/Gemfile +0 -9
  258. data/samples/web/README.md +0 -44
  259. data/samples/web/app.rb +0 -120
  260. data/samples/web/views/calendar.erb +0 -34
  261. data/samples/web/views/drive.erb +0 -33
  262. data/samples/web/views/home.erb +0 -34
  263. data/samples/web/views/layout.erb +0 -40
  264. data/synth.py +0 -40
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/dialogflow/
27
27
  module DialogflowV3
28
28
  VERSION = 'V3'
29
- REVISION = '20201207'
29
+ REVISION = '20201213'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -143,6 +143,281 @@ module Google
143
143
  end
144
144
  end
145
145
 
146
+ # The request message for TestCases.BatchDeleteTestCases.
147
+ class GoogleCloudDialogflowCxV3BatchDeleteTestCasesRequest
148
+ include Google::Apis::Core::Hashable
149
+
150
+ # Required. Format of test case names: `projects//locations/ /agents//testCases/`
151
+ # .
152
+ # Corresponds to the JSON property `names`
153
+ # @return [Array<String>]
154
+ attr_accessor :names
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @names = args[:names] if args.key?(:names)
163
+ end
164
+ end
165
+
166
+ # Metadata returned for the TestCases.BatchRunTestCases long running operation.
167
+ class GoogleCloudDialogflowCxV3BatchRunTestCasesMetadata
168
+ include Google::Apis::Core::Hashable
169
+
170
+ # The test errors.
171
+ # Corresponds to the JSON property `errors`
172
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestError>]
173
+ attr_accessor :errors
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @errors = args[:errors] if args.key?(:errors)
182
+ end
183
+ end
184
+
185
+ # The request message for TestCases.BatchRunTestCases.
186
+ class GoogleCloudDialogflowCxV3BatchRunTestCasesRequest
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # Optional. If not set, draft environment is assumed. Format: `projects//
190
+ # locations//agents//environments/`.
191
+ # Corresponds to the JSON property `environment`
192
+ # @return [String]
193
+ attr_accessor :environment
194
+
195
+ # Required. Format: `projects//locations//agents//testCases/`.
196
+ # Corresponds to the JSON property `testCases`
197
+ # @return [Array<String>]
198
+ attr_accessor :test_cases
199
+
200
+ def initialize(**args)
201
+ update!(**args)
202
+ end
203
+
204
+ # Update properties of this object
205
+ def update!(**args)
206
+ @environment = args[:environment] if args.key?(:environment)
207
+ @test_cases = args[:test_cases] if args.key?(:test_cases)
208
+ end
209
+ end
210
+
211
+ # The response message for TestCases.BatchRunTestCases.
212
+ class GoogleCloudDialogflowCxV3BatchRunTestCasesResponse
213
+ include Google::Apis::Core::Hashable
214
+
215
+ # The test case results. The detailed conversation turns are empty in this
216
+ # response.
217
+ # Corresponds to the JSON property `results`
218
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCaseResult>]
219
+ attr_accessor :results
220
+
221
+ def initialize(**args)
222
+ update!(**args)
223
+ end
224
+
225
+ # Update properties of this object
226
+ def update!(**args)
227
+ @results = args[:results] if args.key?(:results)
228
+ end
229
+ end
230
+
231
+ # The response message for TestCases.CalculateCoverage.
232
+ class GoogleCloudDialogflowCxV3CalculateCoverageResponse
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # The agent to calculate coverage for. Format: `projects//locations//agents/`.
236
+ # Corresponds to the JSON property `agent`
237
+ # @return [String]
238
+ attr_accessor :agent
239
+
240
+ # Intent coverage represents the percentage of all possible intents in the agent
241
+ # that are triggered in any of a parent's test cases.
242
+ # Corresponds to the JSON property `intentCoverage`
243
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3IntentCoverage]
244
+ attr_accessor :intent_coverage
245
+
246
+ # Transition coverage represents the percentage of all possible transitions
247
+ # present within any of a parent's test cases.
248
+ # Corresponds to the JSON property `transitionCoverage`
249
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TransitionCoverage]
250
+ attr_accessor :transition_coverage
251
+
252
+ def initialize(**args)
253
+ update!(**args)
254
+ end
255
+
256
+ # Update properties of this object
257
+ def update!(**args)
258
+ @agent = args[:agent] if args.key?(:agent)
259
+ @intent_coverage = args[:intent_coverage] if args.key?(:intent_coverage)
260
+ @transition_coverage = args[:transition_coverage] if args.key?(:transition_coverage)
261
+ end
262
+ end
263
+
264
+ # One interaction between a human and virtual agent. The human provides some
265
+ # input and the virtual agent provides a response.
266
+ class GoogleCloudDialogflowCxV3ConversationTurn
267
+ include Google::Apis::Core::Hashable
268
+
269
+ # The input from the human user.
270
+ # Corresponds to the JSON property `userInput`
271
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ConversationTurnUserInput]
272
+ attr_accessor :user_input
273
+
274
+ # The output from the virtual agent.
275
+ # Corresponds to the JSON property `virtualAgentOutput`
276
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput]
277
+ attr_accessor :virtual_agent_output
278
+
279
+ def initialize(**args)
280
+ update!(**args)
281
+ end
282
+
283
+ # Update properties of this object
284
+ def update!(**args)
285
+ @user_input = args[:user_input] if args.key?(:user_input)
286
+ @virtual_agent_output = args[:virtual_agent_output] if args.key?(:virtual_agent_output)
287
+ end
288
+ end
289
+
290
+ # The input from the human user.
291
+ class GoogleCloudDialogflowCxV3ConversationTurnUserInput
292
+ include Google::Apis::Core::Hashable
293
+
294
+ # Parameters that need to be injected into the conversation during intent
295
+ # detection.
296
+ # Corresponds to the JSON property `injectedParameters`
297
+ # @return [Hash<String,Object>]
298
+ attr_accessor :injected_parameters
299
+
300
+ # Represents the query input. It can contain one of: 1. A conversational query
301
+ # in the form of text. 2. An intent query that specifies which intent to trigger.
302
+ # 3. Natural language speech audio to be processed. 4. An event to be triggered.
303
+ #
304
+ # Corresponds to the JSON property `input`
305
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3QueryInput]
306
+ attr_accessor :input
307
+
308
+ # If webhooks should be allowed to trigger in response to the user utterance.
309
+ # Often if parameters are injected, webhooks should not be enabled.
310
+ # Corresponds to the JSON property `isWebhookEnabled`
311
+ # @return [Boolean]
312
+ attr_accessor :is_webhook_enabled
313
+ alias_method :is_webhook_enabled?, :is_webhook_enabled
314
+
315
+ def initialize(**args)
316
+ update!(**args)
317
+ end
318
+
319
+ # Update properties of this object
320
+ def update!(**args)
321
+ @injected_parameters = args[:injected_parameters] if args.key?(:injected_parameters)
322
+ @input = args[:input] if args.key?(:input)
323
+ @is_webhook_enabled = args[:is_webhook_enabled] if args.key?(:is_webhook_enabled)
324
+ end
325
+ end
326
+
327
+ # The output from the virtual agent.
328
+ class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput
329
+ include Google::Apis::Core::Hashable
330
+
331
+ # A Dialogflow CX conversation (session) can be described and visualized as a
332
+ # state machine. The states of a CX session are represented by pages. For each
333
+ # flow, you define many pages, where your combined pages can handle a complete
334
+ # conversation on the topics the flow is designed for. At any given moment,
335
+ # exactly one page is the current page, the current page is considered active,
336
+ # and the flow associated with that page is considered active. Every flow has a
337
+ # special start page. When a flow initially becomes active, the start page page
338
+ # becomes the current page. For each conversational turn, the current page will
339
+ # either stay the same or transition to another page. You configure each page to
340
+ # collect information from the end-user that is relevant for the conversational
341
+ # state represented by the page. For more information, see the [Page guide](
342
+ # https://cloud.google.com/dialogflow/cx/docs/concept/page).
343
+ # Corresponds to the JSON property `currentPage`
344
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Page]
345
+ attr_accessor :current_page
346
+
347
+ # Required. Input only. The diagnostic info output for the turn.
348
+ # Corresponds to the JSON property `diagnosticInfo`
349
+ # @return [Hash<String,Object>]
350
+ attr_accessor :diagnostic_info
351
+
352
+ # Output only. If this is part of a result conversation turn, the list of
353
+ # differences between the original run and the replay for this output, if any.
354
+ # Corresponds to the JSON property `differences`
355
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestRunDifference>]
356
+ attr_accessor :differences
357
+
358
+ # The session parameters available to the bot at this point.
359
+ # Corresponds to the JSON property `sessionParameters`
360
+ # @return [Hash<String,Object>]
361
+ attr_accessor :session_parameters
362
+
363
+ # The `Status` type defines a logical error model that is suitable for different
364
+ # programming environments, including REST APIs and RPC APIs. It is used by [
365
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
366
+ # data: error code, error message, and error details. You can find out more
367
+ # about this error model and how to work with it in the [API Design Guide](https:
368
+ # //cloud.google.com/apis/design/errors).
369
+ # Corresponds to the JSON property `status`
370
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
371
+ attr_accessor :status
372
+
373
+ # The text responses from the agent for the turn.
374
+ # Corresponds to the JSON property `textResponses`
375
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageText>]
376
+ attr_accessor :text_responses
377
+
378
+ # An intent represents a user's intent to interact with a conversational agent.
379
+ # You can provide information for the Dialogflow API to use to match user input
380
+ # to an intent by adding training phrases (i.e., examples of user input) to your
381
+ # intent.
382
+ # Corresponds to the JSON property `triggeredIntent`
383
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Intent]
384
+ attr_accessor :triggered_intent
385
+
386
+ def initialize(**args)
387
+ update!(**args)
388
+ end
389
+
390
+ # Update properties of this object
391
+ def update!(**args)
392
+ @current_page = args[:current_page] if args.key?(:current_page)
393
+ @diagnostic_info = args[:diagnostic_info] if args.key?(:diagnostic_info)
394
+ @differences = args[:differences] if args.key?(:differences)
395
+ @session_parameters = args[:session_parameters] if args.key?(:session_parameters)
396
+ @status = args[:status] if args.key?(:status)
397
+ @text_responses = args[:text_responses] if args.key?(:text_responses)
398
+ @triggered_intent = args[:triggered_intent] if args.key?(:triggered_intent)
399
+ end
400
+ end
401
+
402
+ # Metadata for CreateDocument operation.
403
+ class GoogleCloudDialogflowCxV3CreateDocumentOperationMetadata
404
+ include Google::Apis::Core::Hashable
405
+
406
+ # Metadata in google::longrunning::Operation for Knowledge operations.
407
+ # Corresponds to the JSON property `genericMetadata`
408
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata]
409
+ attr_accessor :generic_metadata
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
418
+ end
419
+ end
420
+
146
421
  # Metadata associated with the long running operation for Versions.CreateVersion.
147
422
  class GoogleCloudDialogflowCxV3CreateVersionOperationMetadata
148
423
  include Google::Apis::Core::Hashable
@@ -163,6 +438,25 @@ module Google
163
438
  end
164
439
  end
165
440
 
441
+ # Metadata for DeleteDocument operation.
442
+ class GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata
443
+ include Google::Apis::Core::Hashable
444
+
445
+ # Metadata in google::longrunning::Operation for Knowledge operations.
446
+ # Corresponds to the JSON property `genericMetadata`
447
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata]
448
+ attr_accessor :generic_metadata
449
+
450
+ def initialize(**args)
451
+ update!(**args)
452
+ end
453
+
454
+ # Update properties of this object
455
+ def update!(**args)
456
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
457
+ end
458
+ end
459
+
166
460
  # The request to detect user's intent.
167
461
  class GoogleCloudDialogflowCxV3DetectIntentRequest
168
462
  include Google::Apis::Core::Hashable
@@ -593,6 +887,83 @@ module Google
593
887
  end
594
888
  end
595
889
 
890
+ # Metadata returned for the TestCases.ExportTestCases long running operation.
891
+ class GoogleCloudDialogflowCxV3ExportTestCasesMetadata
892
+ include Google::Apis::Core::Hashable
893
+
894
+ def initialize(**args)
895
+ update!(**args)
896
+ end
897
+
898
+ # Update properties of this object
899
+ def update!(**args)
900
+ end
901
+ end
902
+
903
+ # The request message for TestCases.ExportTestCases.
904
+ class GoogleCloudDialogflowCxV3ExportTestCasesRequest
905
+ include Google::Apis::Core::Hashable
906
+
907
+ # The data format of the exported test cases. If not specified, `BLOB` is
908
+ # assumed.
909
+ # Corresponds to the JSON property `dataFormat`
910
+ # @return [String]
911
+ attr_accessor :data_format
912
+
913
+ # The filter expression used to filter exported test cases, see [API Filtering](
914
+ # https://aip.dev/160). The expression is case insensitive and supports the
915
+ # following syntax: name = [OR name = ] ... For example: * "name = t1 OR name =
916
+ # t2" matches the test case with the exact resource name "t1" or "t2".
917
+ # Corresponds to the JSON property `filter`
918
+ # @return [String]
919
+ attr_accessor :filter
920
+
921
+ # The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
922
+ # export the test cases to. The format of this URI must be `gs:///`. If
923
+ # unspecified, the serialized test cases is returned inline.
924
+ # Corresponds to the JSON property `gcsUri`
925
+ # @return [String]
926
+ attr_accessor :gcs_uri
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @data_format = args[:data_format] if args.key?(:data_format)
935
+ @filter = args[:filter] if args.key?(:filter)
936
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
937
+ end
938
+ end
939
+
940
+ # The response message for TestCases.ExportTestCases.
941
+ class GoogleCloudDialogflowCxV3ExportTestCasesResponse
942
+ include Google::Apis::Core::Hashable
943
+
944
+ # Uncompressed raw byte content for test cases.
945
+ # Corresponds to the JSON property `content`
946
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
947
+ # @return [String]
948
+ attr_accessor :content
949
+
950
+ # The URI to a file containing the exported test cases. This field is populated
951
+ # only if `gcs_uri` is specified in ExportTestCasesRequest.
952
+ # Corresponds to the JSON property `gcsUri`
953
+ # @return [String]
954
+ attr_accessor :gcs_uri
955
+
956
+ def initialize(**args)
957
+ update!(**args)
958
+ end
959
+
960
+ # Update properties of this object
961
+ def update!(**args)
962
+ @content = args[:content] if args.key?(:content)
963
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
964
+ end
965
+ end
966
+
596
967
  # Flows represents the conversation flows when you build your chatbot agent. A
597
968
  # flow consists of many pages connected by the transition routes. Conversations
598
969
  # always start with the built-in Start Flow (with an all-0 ID). Transition
@@ -1045,35 +1416,158 @@ module Google
1045
1416
  end
1046
1417
  end
1047
1418
 
1048
- # Instructs the speech recognizer on how to process the audio content.
1049
- class GoogleCloudDialogflowCxV3InputAudioConfig
1419
+ # Metadata in google::longrunning::Operation for Knowledge operations.
1420
+ class GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata
1050
1421
  include Google::Apis::Core::Hashable
1051
1422
 
1052
- # Required. Audio encoding of the audio content to process.
1053
- # Corresponds to the JSON property `audioEncoding`
1423
+ # Required. Output only. The current state of this operation.
1424
+ # Corresponds to the JSON property `state`
1054
1425
  # @return [String]
1055
- attr_accessor :audio_encoding
1426
+ attr_accessor :state
1056
1427
 
1057
- # Optional. If `true`, Dialogflow returns SpeechWordInfo in
1058
- # StreamingRecognitionResult with information about the recognized speech words,
1059
- # e.g. start and end time offsets. If false or unspecified, Speech doesn't
1060
- # return any word-level information.
1061
- # Corresponds to the JSON property `enableWordInfo`
1062
- # @return [Boolean]
1063
- attr_accessor :enable_word_info
1064
- alias_method :enable_word_info?, :enable_word_info
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1065
1431
 
1066
- # Optional. Which Speech model to select for the given request. Select the model
1067
- # best suited to your domain to get best results. If a model is not explicitly
1068
- # specified, then we auto-select a model based on the parameters in the
1069
- # InputAudioConfig. If enhanced speech model is enabled for the agent and an
1070
- # enhanced version of the specified model for the language does not exist, then
1071
- # the speech is recognized using the standard version of the specified model.
1072
- # Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-
1073
- # text/docs/basics#select-model) for more details.
1074
- # Corresponds to the JSON property `model`
1075
- # @return [String]
1076
- attr_accessor :model
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @state = args[:state] if args.key?(:state)
1435
+ end
1436
+ end
1437
+
1438
+ # Metadata for ImportDocuments operation.
1439
+ class GoogleCloudDialogflowCxV3ImportDocumentsOperationMetadata
1440
+ include Google::Apis::Core::Hashable
1441
+
1442
+ # Metadata in google::longrunning::Operation for Knowledge operations.
1443
+ # Corresponds to the JSON property `genericMetadata`
1444
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata]
1445
+ attr_accessor :generic_metadata
1446
+
1447
+ def initialize(**args)
1448
+ update!(**args)
1449
+ end
1450
+
1451
+ # Update properties of this object
1452
+ def update!(**args)
1453
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
1454
+ end
1455
+ end
1456
+
1457
+ # Response message for Documents.ImportDocuments.
1458
+ class GoogleCloudDialogflowCxV3ImportDocumentsResponse
1459
+ include Google::Apis::Core::Hashable
1460
+
1461
+ # Includes details about skipped documents or any other warnings.
1462
+ # Corresponds to the JSON property `warnings`
1463
+ # @return [Array<Google::Apis::DialogflowV3::GoogleRpcStatus>]
1464
+ attr_accessor :warnings
1465
+
1466
+ def initialize(**args)
1467
+ update!(**args)
1468
+ end
1469
+
1470
+ # Update properties of this object
1471
+ def update!(**args)
1472
+ @warnings = args[:warnings] if args.key?(:warnings)
1473
+ end
1474
+ end
1475
+
1476
+ # Metadata returned for the TestCases.ImportTestCases long running operation.
1477
+ class GoogleCloudDialogflowCxV3ImportTestCasesMetadata
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # Errors for failed test cases.
1481
+ # Corresponds to the JSON property `errors`
1482
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCaseError>]
1483
+ attr_accessor :errors
1484
+
1485
+ def initialize(**args)
1486
+ update!(**args)
1487
+ end
1488
+
1489
+ # Update properties of this object
1490
+ def update!(**args)
1491
+ @errors = args[:errors] if args.key?(:errors)
1492
+ end
1493
+ end
1494
+
1495
+ # The request message for TestCases.ImportTestCases.
1496
+ class GoogleCloudDialogflowCxV3ImportTestCasesRequest
1497
+ include Google::Apis::Core::Hashable
1498
+
1499
+ # Uncompressed raw byte content for test cases.
1500
+ # Corresponds to the JSON property `content`
1501
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1502
+ # @return [String]
1503
+ attr_accessor :content
1504
+
1505
+ # The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
1506
+ # import test cases from. The format of this URI must be `gs:///`.
1507
+ # Corresponds to the JSON property `gcsUri`
1508
+ # @return [String]
1509
+ attr_accessor :gcs_uri
1510
+
1511
+ def initialize(**args)
1512
+ update!(**args)
1513
+ end
1514
+
1515
+ # Update properties of this object
1516
+ def update!(**args)
1517
+ @content = args[:content] if args.key?(:content)
1518
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
1519
+ end
1520
+ end
1521
+
1522
+ # The response message for TestCases.ImportTestCases.
1523
+ class GoogleCloudDialogflowCxV3ImportTestCasesResponse
1524
+ include Google::Apis::Core::Hashable
1525
+
1526
+ # The unique identifiers of the new test cases. Format: `projects//locations//
1527
+ # agents//testCases/`.
1528
+ # Corresponds to the JSON property `names`
1529
+ # @return [Array<String>]
1530
+ attr_accessor :names
1531
+
1532
+ def initialize(**args)
1533
+ update!(**args)
1534
+ end
1535
+
1536
+ # Update properties of this object
1537
+ def update!(**args)
1538
+ @names = args[:names] if args.key?(:names)
1539
+ end
1540
+ end
1541
+
1542
+ # Instructs the speech recognizer on how to process the audio content.
1543
+ class GoogleCloudDialogflowCxV3InputAudioConfig
1544
+ include Google::Apis::Core::Hashable
1545
+
1546
+ # Required. Audio encoding of the audio content to process.
1547
+ # Corresponds to the JSON property `audioEncoding`
1548
+ # @return [String]
1549
+ attr_accessor :audio_encoding
1550
+
1551
+ # Optional. If `true`, Dialogflow returns SpeechWordInfo in
1552
+ # StreamingRecognitionResult with information about the recognized speech words,
1553
+ # e.g. start and end time offsets. If false or unspecified, Speech doesn't
1554
+ # return any word-level information.
1555
+ # Corresponds to the JSON property `enableWordInfo`
1556
+ # @return [Boolean]
1557
+ attr_accessor :enable_word_info
1558
+ alias_method :enable_word_info?, :enable_word_info
1559
+
1560
+ # Optional. Which Speech model to select for the given request. Select the model
1561
+ # best suited to your domain to get best results. If a model is not explicitly
1562
+ # specified, then we auto-select a model based on the parameters in the
1563
+ # InputAudioConfig. If enhanced speech model is enabled for the agent and an
1564
+ # enhanced version of the specified model for the language does not exist, then
1565
+ # the speech is recognized using the standard version of the specified model.
1566
+ # Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-
1567
+ # text/docs/basics#select-model) for more details.
1568
+ # Corresponds to the JSON property `model`
1569
+ # @return [String]
1570
+ attr_accessor :model
1077
1571
 
1078
1572
  # Optional. Which variant of the Speech model to use.
1079
1573
  # Corresponds to the JSON property `modelVariant`
@@ -1206,6 +1700,58 @@ module Google
1206
1700
  end
1207
1701
  end
1208
1702
 
1703
+ # Intent coverage represents the percentage of all possible intents in the agent
1704
+ # that are triggered in any of a parent's test cases.
1705
+ class GoogleCloudDialogflowCxV3IntentCoverage
1706
+ include Google::Apis::Core::Hashable
1707
+
1708
+ # The percent of intents in the agent that are covered.
1709
+ # Corresponds to the JSON property `coverageScore`
1710
+ # @return [Float]
1711
+ attr_accessor :coverage_score
1712
+
1713
+ # The list of Intents present in the agent
1714
+ # Corresponds to the JSON property `intents`
1715
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3IntentCoverageIntent>]
1716
+ attr_accessor :intents
1717
+
1718
+ def initialize(**args)
1719
+ update!(**args)
1720
+ end
1721
+
1722
+ # Update properties of this object
1723
+ def update!(**args)
1724
+ @coverage_score = args[:coverage_score] if args.key?(:coverage_score)
1725
+ @intents = args[:intents] if args.key?(:intents)
1726
+ end
1727
+ end
1728
+
1729
+ # The agent's intent.
1730
+ class GoogleCloudDialogflowCxV3IntentCoverageIntent
1731
+ include Google::Apis::Core::Hashable
1732
+
1733
+ # Whether or not the intent is covered by at least one of the agent's test cases.
1734
+ # Corresponds to the JSON property `covered`
1735
+ # @return [Boolean]
1736
+ attr_accessor :covered
1737
+ alias_method :covered?, :covered
1738
+
1739
+ # The intent full resource name
1740
+ # Corresponds to the JSON property `intent`
1741
+ # @return [String]
1742
+ attr_accessor :intent
1743
+
1744
+ def initialize(**args)
1745
+ update!(**args)
1746
+ end
1747
+
1748
+ # Update properties of this object
1749
+ def update!(**args)
1750
+ @covered = args[:covered] if args.key?(:covered)
1751
+ @intent = args[:intent] if args.key?(:intent)
1752
+ end
1753
+ end
1754
+
1209
1755
  # Represents the intent to trigger programmatically rather than as a result of
1210
1756
  # natural language processing.
1211
1757
  class GoogleCloudDialogflowCxV3IntentInput
@@ -1555,6 +2101,59 @@ module Google
1555
2101
  end
1556
2102
  end
1557
2103
 
2104
+ # The response message for TestCases.ListTestCaseResults.
2105
+ class GoogleCloudDialogflowCxV3ListTestCaseResultsResponse
2106
+ include Google::Apis::Core::Hashable
2107
+
2108
+ # Token to retrieve the next page of results, or empty if there are no more
2109
+ # results in the list.
2110
+ # Corresponds to the JSON property `nextPageToken`
2111
+ # @return [String]
2112
+ attr_accessor :next_page_token
2113
+
2114
+ # The list of test case results.
2115
+ # Corresponds to the JSON property `testCaseResults`
2116
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCaseResult>]
2117
+ attr_accessor :test_case_results
2118
+
2119
+ def initialize(**args)
2120
+ update!(**args)
2121
+ end
2122
+
2123
+ # Update properties of this object
2124
+ def update!(**args)
2125
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2126
+ @test_case_results = args[:test_case_results] if args.key?(:test_case_results)
2127
+ end
2128
+ end
2129
+
2130
+ # The response message for TestCases.ListTestCases.
2131
+ class GoogleCloudDialogflowCxV3ListTestCasesResponse
2132
+ include Google::Apis::Core::Hashable
2133
+
2134
+ # Token to retrieve the next page of results, or empty if there are no more
2135
+ # results in the list.
2136
+ # Corresponds to the JSON property `nextPageToken`
2137
+ # @return [String]
2138
+ attr_accessor :next_page_token
2139
+
2140
+ # The list of test cases. There will be a maximum number of items returned based
2141
+ # on the page_size field in the request.
2142
+ # Corresponds to the JSON property `testCases`
2143
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCase>]
2144
+ attr_accessor :test_cases
2145
+
2146
+ def initialize(**args)
2147
+ update!(**args)
2148
+ end
2149
+
2150
+ # Update properties of this object
2151
+ def update!(**args)
2152
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2153
+ @test_cases = args[:test_cases] if args.key?(:test_cases)
2154
+ end
2155
+ end
2156
+
1558
2157
  # The response message for TransitionRouteGroups.ListTransitionRouteGroups.
1559
2158
  class GoogleCloudDialogflowCxV3ListTransitionRouteGroupsResponse
1560
2159
  include Google::Apis::Core::Hashable
@@ -2389,6 +2988,25 @@ module Google
2389
2988
  end
2390
2989
  end
2391
2990
 
2991
+ # Metadata for ReloadDocument operation.
2992
+ class GoogleCloudDialogflowCxV3ReloadDocumentOperationMetadata
2993
+ include Google::Apis::Core::Hashable
2994
+
2995
+ # Metadata in google::longrunning::Operation for Knowledge operations.
2996
+ # Corresponds to the JSON property `genericMetadata`
2997
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata]
2998
+ attr_accessor :generic_metadata
2999
+
3000
+ def initialize(**args)
3001
+ update!(**args)
3002
+ end
3003
+
3004
+ # Update properties of this object
3005
+ def update!(**args)
3006
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
3007
+ end
3008
+ end
3009
+
2392
3010
  # Represents a response message that can be returned by a conversational agent.
2393
3011
  # Response messages are also used for output audio synthesis. The approach is as
2394
3012
  # follows: * If at least one OutputAudioText response is present, then all
@@ -2722,6 +3340,65 @@ module Google
2722
3340
  end
2723
3341
  end
2724
3342
 
3343
+ # Metadata returned for the TestCases.RunTestCase long running operation.
3344
+ class GoogleCloudDialogflowCxV3RunTestCaseMetadata
3345
+ include Google::Apis::Core::Hashable
3346
+
3347
+ def initialize(**args)
3348
+ update!(**args)
3349
+ end
3350
+
3351
+ # Update properties of this object
3352
+ def update!(**args)
3353
+ end
3354
+ end
3355
+
3356
+ # The request message for TestCases.RunTestCase.
3357
+ class GoogleCloudDialogflowCxV3RunTestCaseRequest
3358
+ include Google::Apis::Core::Hashable
3359
+
3360
+ # Optional. Environment name. If not set, draft environment is assumed. Format: `
3361
+ # projects//locations//agents//environments/`.
3362
+ # Corresponds to the JSON property `environment`
3363
+ # @return [String]
3364
+ attr_accessor :environment
3365
+
3366
+ # Required. Format of test case name to run: `projects//locations/ /agents//
3367
+ # testCases/`.
3368
+ # Corresponds to the JSON property `name`
3369
+ # @return [String]
3370
+ attr_accessor :name
3371
+
3372
+ def initialize(**args)
3373
+ update!(**args)
3374
+ end
3375
+
3376
+ # Update properties of this object
3377
+ def update!(**args)
3378
+ @environment = args[:environment] if args.key?(:environment)
3379
+ @name = args[:name] if args.key?(:name)
3380
+ end
3381
+ end
3382
+
3383
+ # The response message for TestCases.RunTestCase.
3384
+ class GoogleCloudDialogflowCxV3RunTestCaseResponse
3385
+ include Google::Apis::Core::Hashable
3386
+
3387
+ # Represents a result from running a test case in an agent environment.
3388
+ # Corresponds to the JSON property `result`
3389
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCaseResult]
3390
+ attr_accessor :result
3391
+
3392
+ def initialize(**args)
3393
+ update!(**args)
3394
+ end
3395
+
3396
+ # Update properties of this object
3397
+ def update!(**args)
3398
+ @result = args[:result] if args.key?(:result)
3399
+ end
3400
+ end
3401
+
2725
3402
  # Represents the settings related to security issues, such as data redaction and
2726
3403
  # data retention. It may take hours for updates on the settings to propagate to
2727
3404
  # all the related components and take effect.
@@ -2967,15 +3644,56 @@ module Google
2967
3644
  end
2968
3645
  end
2969
3646
 
2970
- # Represents the natural language text to be processed.
2971
- class GoogleCloudDialogflowCxV3TextInput
3647
+ # Represents a test case.
3648
+ class GoogleCloudDialogflowCxV3TestCase
2972
3649
  include Google::Apis::Core::Hashable
2973
3650
 
2974
- # Required. The UTF-8 encoded natural language text to be processed. Text length
2975
- # must not exceed 256 characters.
2976
- # Corresponds to the JSON property `text`
3651
+ # Output only. When the test was created.
3652
+ # Corresponds to the JSON property `creationTime`
2977
3653
  # @return [String]
2978
- attr_accessor :text
3654
+ attr_accessor :creation_time
3655
+
3656
+ # Required. The human-readable name of the test case, unique within the agent.
3657
+ # Limit of 200 characters.
3658
+ # Corresponds to the JSON property `displayName`
3659
+ # @return [String]
3660
+ attr_accessor :display_name
3661
+
3662
+ # Represents a result from running a test case in an agent environment.
3663
+ # Corresponds to the JSON property `lastTestResult`
3664
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCaseResult]
3665
+ attr_accessor :last_test_result
3666
+
3667
+ # The unique identifier of the test case. TestCases.CreateTestCase will populate
3668
+ # the name automatically. Otherwise use format: `projects//locations//agents/ /
3669
+ # testCases/`.
3670
+ # Corresponds to the JSON property `name`
3671
+ # @return [String]
3672
+ attr_accessor :name
3673
+
3674
+ # Additional freeform notes about the test case. Limit of 400 characters.
3675
+ # Corresponds to the JSON property `notes`
3676
+ # @return [String]
3677
+ attr_accessor :notes
3678
+
3679
+ # Tags are short descriptions that users may apply to test cases for
3680
+ # organizational and filtering purposes. Each tag should start with "#" and has
3681
+ # a limit of 30 characters.
3682
+ # Corresponds to the JSON property `tags`
3683
+ # @return [Array<String>]
3684
+ attr_accessor :tags
3685
+
3686
+ # The conversation turns uttered when the test case was created, in
3687
+ # chronological order. These include the canonical set of agent utterances that
3688
+ # should occur when the agent is working properly.
3689
+ # Corresponds to the JSON property `testCaseConversationTurns`
3690
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ConversationTurn>]
3691
+ attr_accessor :test_case_conversation_turns
3692
+
3693
+ # Represents configurations for a test case.
3694
+ # Corresponds to the JSON property `testConfig`
3695
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestConfig]
3696
+ attr_accessor :test_config
2979
3697
 
2980
3698
  def initialize(**args)
2981
3699
  update!(**args)
@@ -2983,7 +3701,197 @@ module Google
2983
3701
 
2984
3702
  # Update properties of this object
2985
3703
  def update!(**args)
2986
- @text = args[:text] if args.key?(:text)
3704
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
3705
+ @display_name = args[:display_name] if args.key?(:display_name)
3706
+ @last_test_result = args[:last_test_result] if args.key?(:last_test_result)
3707
+ @name = args[:name] if args.key?(:name)
3708
+ @notes = args[:notes] if args.key?(:notes)
3709
+ @tags = args[:tags] if args.key?(:tags)
3710
+ @test_case_conversation_turns = args[:test_case_conversation_turns] if args.key?(:test_case_conversation_turns)
3711
+ @test_config = args[:test_config] if args.key?(:test_config)
3712
+ end
3713
+ end
3714
+
3715
+ # Error info for importing a test.
3716
+ class GoogleCloudDialogflowCxV3TestCaseError
3717
+ include Google::Apis::Core::Hashable
3718
+
3719
+ # The `Status` type defines a logical error model that is suitable for different
3720
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3721
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3722
+ # data: error code, error message, and error details. You can find out more
3723
+ # about this error model and how to work with it in the [API Design Guide](https:
3724
+ # //cloud.google.com/apis/design/errors).
3725
+ # Corresponds to the JSON property `status`
3726
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
3727
+ attr_accessor :status
3728
+
3729
+ # Represents a test case.
3730
+ # Corresponds to the JSON property `testCase`
3731
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TestCase]
3732
+ attr_accessor :test_case
3733
+
3734
+ def initialize(**args)
3735
+ update!(**args)
3736
+ end
3737
+
3738
+ # Update properties of this object
3739
+ def update!(**args)
3740
+ @status = args[:status] if args.key?(:status)
3741
+ @test_case = args[:test_case] if args.key?(:test_case)
3742
+ end
3743
+ end
3744
+
3745
+ # Represents a result from running a test case in an agent environment.
3746
+ class GoogleCloudDialogflowCxV3TestCaseResult
3747
+ include Google::Apis::Core::Hashable
3748
+
3749
+ # The conversation turns uttered during the test case replay in chronological
3750
+ # order.
3751
+ # Corresponds to the JSON property `conversationTurns`
3752
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ConversationTurn>]
3753
+ attr_accessor :conversation_turns
3754
+
3755
+ # Optional. Environment where the test was run. If not set, it indicates the
3756
+ # draft environment.
3757
+ # Corresponds to the JSON property `environment`
3758
+ # @return [String]
3759
+ attr_accessor :environment
3760
+
3761
+ # The resource name for the test case result. Format: `projects//locations//
3762
+ # agents//testCases/ /results/`.
3763
+ # Corresponds to the JSON property `name`
3764
+ # @return [String]
3765
+ attr_accessor :name
3766
+
3767
+ # Whether the test case passed in the agent environment.
3768
+ # Corresponds to the JSON property `testResult`
3769
+ # @return [String]
3770
+ attr_accessor :test_result
3771
+
3772
+ # The time that the test was run.
3773
+ # Corresponds to the JSON property `testTime`
3774
+ # @return [String]
3775
+ attr_accessor :test_time
3776
+
3777
+ def initialize(**args)
3778
+ update!(**args)
3779
+ end
3780
+
3781
+ # Update properties of this object
3782
+ def update!(**args)
3783
+ @conversation_turns = args[:conversation_turns] if args.key?(:conversation_turns)
3784
+ @environment = args[:environment] if args.key?(:environment)
3785
+ @name = args[:name] if args.key?(:name)
3786
+ @test_result = args[:test_result] if args.key?(:test_result)
3787
+ @test_time = args[:test_time] if args.key?(:test_time)
3788
+ end
3789
+ end
3790
+
3791
+ # Represents configurations for a test case.
3792
+ class GoogleCloudDialogflowCxV3TestConfig
3793
+ include Google::Apis::Core::Hashable
3794
+
3795
+ # Flow name. If not set, default start flow is assumed. Format: `projects//
3796
+ # locations//agents//flows/`.
3797
+ # Corresponds to the JSON property `flow`
3798
+ # @return [String]
3799
+ attr_accessor :flow
3800
+
3801
+ # Session parameters to be compared when calculating differences.
3802
+ # Corresponds to the JSON property `trackingParameters`
3803
+ # @return [Array<String>]
3804
+ attr_accessor :tracking_parameters
3805
+
3806
+ def initialize(**args)
3807
+ update!(**args)
3808
+ end
3809
+
3810
+ # Update properties of this object
3811
+ def update!(**args)
3812
+ @flow = args[:flow] if args.key?(:flow)
3813
+ @tracking_parameters = args[:tracking_parameters] if args.key?(:tracking_parameters)
3814
+ end
3815
+ end
3816
+
3817
+ # Error info for running a test.
3818
+ class GoogleCloudDialogflowCxV3TestError
3819
+ include Google::Apis::Core::Hashable
3820
+
3821
+ # The `Status` type defines a logical error model that is suitable for different
3822
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3823
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3824
+ # data: error code, error message, and error details. You can find out more
3825
+ # about this error model and how to work with it in the [API Design Guide](https:
3826
+ # //cloud.google.com/apis/design/errors).
3827
+ # Corresponds to the JSON property `status`
3828
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
3829
+ attr_accessor :status
3830
+
3831
+ # The test case resource name.
3832
+ # Corresponds to the JSON property `testCase`
3833
+ # @return [String]
3834
+ attr_accessor :test_case
3835
+
3836
+ # The timestamp when the test was completed.
3837
+ # Corresponds to the JSON property `testTime`
3838
+ # @return [String]
3839
+ attr_accessor :test_time
3840
+
3841
+ def initialize(**args)
3842
+ update!(**args)
3843
+ end
3844
+
3845
+ # Update properties of this object
3846
+ def update!(**args)
3847
+ @status = args[:status] if args.key?(:status)
3848
+ @test_case = args[:test_case] if args.key?(:test_case)
3849
+ @test_time = args[:test_time] if args.key?(:test_time)
3850
+ end
3851
+ end
3852
+
3853
+ # The description of differences between original and replayed agent output.
3854
+ class GoogleCloudDialogflowCxV3TestRunDifference
3855
+ include Google::Apis::Core::Hashable
3856
+
3857
+ # A description of the diff, showing the actual output vs expected output.
3858
+ # Corresponds to the JSON property `description`
3859
+ # @return [String]
3860
+ attr_accessor :description
3861
+
3862
+ # The type of diff.
3863
+ # Corresponds to the JSON property `type`
3864
+ # @return [String]
3865
+ attr_accessor :type
3866
+
3867
+ def initialize(**args)
3868
+ update!(**args)
3869
+ end
3870
+
3871
+ # Update properties of this object
3872
+ def update!(**args)
3873
+ @description = args[:description] if args.key?(:description)
3874
+ @type = args[:type] if args.key?(:type)
3875
+ end
3876
+ end
3877
+
3878
+ # Represents the natural language text to be processed.
3879
+ class GoogleCloudDialogflowCxV3TextInput
3880
+ include Google::Apis::Core::Hashable
3881
+
3882
+ # Required. The UTF-8 encoded natural language text to be processed. Text length
3883
+ # must not exceed 256 characters.
3884
+ # Corresponds to the JSON property `text`
3885
+ # @return [String]
3886
+ attr_accessor :text
3887
+
3888
+ def initialize(**args)
3889
+ update!(**args)
3890
+ end
3891
+
3892
+ # Update properties of this object
3893
+ def update!(**args)
3894
+ @text = args[:text] if args.key?(:text)
2987
3895
  end
2988
3896
  end
2989
3897
 
@@ -3000,6 +3908,140 @@ module Google
3000
3908
  end
3001
3909
  end
3002
3910
 
3911
+ # Transition coverage represents the percentage of all possible transitions
3912
+ # present within any of a parent's test cases.
3913
+ class GoogleCloudDialogflowCxV3TransitionCoverage
3914
+ include Google::Apis::Core::Hashable
3915
+
3916
+ # The percent of transitions in the agent that are covered.
3917
+ # Corresponds to the JSON property `coverageScore`
3918
+ # @return [Float]
3919
+ attr_accessor :coverage_score
3920
+
3921
+ # The list of Transitions present in the agent.
3922
+ # Corresponds to the JSON property `transitions`
3923
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TransitionCoverageTransition>]
3924
+ attr_accessor :transitions
3925
+
3926
+ def initialize(**args)
3927
+ update!(**args)
3928
+ end
3929
+
3930
+ # Update properties of this object
3931
+ def update!(**args)
3932
+ @coverage_score = args[:coverage_score] if args.key?(:coverage_score)
3933
+ @transitions = args[:transitions] if args.key?(:transitions)
3934
+ end
3935
+ end
3936
+
3937
+ # A transition in the agent's graph.
3938
+ class GoogleCloudDialogflowCxV3TransitionCoverageTransition
3939
+ include Google::Apis::Core::Hashable
3940
+
3941
+ # Whether or not the transition is covered by at least one of the agent's test
3942
+ # cases.
3943
+ # Corresponds to the JSON property `covered`
3944
+ # @return [Boolean]
3945
+ attr_accessor :covered
3946
+ alias_method :covered?, :covered
3947
+
3948
+ # An event handler specifies an event that can be handled during a session. When
3949
+ # the specified event happens, the following actions are taken in order: * If
3950
+ # there is a `trigger_fulfillment` associated with the event, it will be called.
3951
+ # * If there is a `target_page` associated with the event, the session will
3952
+ # transition into the specified page. * If there is a `target_flow` associated
3953
+ # with the event, the session will transition into the specified flow.
3954
+ # Corresponds to the JSON property `eventHandler`
3955
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3EventHandler]
3956
+ attr_accessor :event_handler
3957
+
3958
+ # The index of a transition in the transition list. Starting from 0.
3959
+ # Corresponds to the JSON property `index`
3960
+ # @return [Fixnum]
3961
+ attr_accessor :index
3962
+
3963
+ # The source or target of a transition.
3964
+ # Corresponds to the JSON property `source`
3965
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode]
3966
+ attr_accessor :source
3967
+
3968
+ # The source or target of a transition.
3969
+ # Corresponds to the JSON property `target`
3970
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode]
3971
+ attr_accessor :target
3972
+
3973
+ # A transition route specifies a intent that can be matched and/or a data
3974
+ # condition that can be evaluated during a session. When a specified transition
3975
+ # is matched, the following actions are taken in order: * If there is a `
3976
+ # trigger_fulfillment` associated with the transition, it will be called. * If
3977
+ # there is a `target_page` associated with the transition, the session will
3978
+ # transition into the specified page. * If there is a `target_flow` associated
3979
+ # with the transition, the session will transition into the specified flow.
3980
+ # Corresponds to the JSON property `transitionRoute`
3981
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3TransitionRoute]
3982
+ attr_accessor :transition_route
3983
+
3984
+ def initialize(**args)
3985
+ update!(**args)
3986
+ end
3987
+
3988
+ # Update properties of this object
3989
+ def update!(**args)
3990
+ @covered = args[:covered] if args.key?(:covered)
3991
+ @event_handler = args[:event_handler] if args.key?(:event_handler)
3992
+ @index = args[:index] if args.key?(:index)
3993
+ @source = args[:source] if args.key?(:source)
3994
+ @target = args[:target] if args.key?(:target)
3995
+ @transition_route = args[:transition_route] if args.key?(:transition_route)
3996
+ end
3997
+ end
3998
+
3999
+ # The source or target of a transition.
4000
+ class GoogleCloudDialogflowCxV3TransitionCoverageTransitionNode
4001
+ include Google::Apis::Core::Hashable
4002
+
4003
+ # Flows represents the conversation flows when you build your chatbot agent. A
4004
+ # flow consists of many pages connected by the transition routes. Conversations
4005
+ # always start with the built-in Start Flow (with an all-0 ID). Transition
4006
+ # routes can direct the conversation session from the current flow (parent flow)
4007
+ # to another flow (sub flow). When the sub flow is finished, Dialogflow will
4008
+ # bring the session back to the parent flow, where the sub flow is started.
4009
+ # Usually, when a transition route is followed by a matched intent, the intent
4010
+ # will be "consumed". This means the intent won't activate more transition
4011
+ # routes. However, when the followed transition route moves the conversation
4012
+ # session into a different flow, the matched intent can be carried over and to
4013
+ # be consumed in the target flow.
4014
+ # Corresponds to the JSON property `flow`
4015
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Flow]
4016
+ attr_accessor :flow
4017
+
4018
+ # A Dialogflow CX conversation (session) can be described and visualized as a
4019
+ # state machine. The states of a CX session are represented by pages. For each
4020
+ # flow, you define many pages, where your combined pages can handle a complete
4021
+ # conversation on the topics the flow is designed for. At any given moment,
4022
+ # exactly one page is the current page, the current page is considered active,
4023
+ # and the flow associated with that page is considered active. Every flow has a
4024
+ # special start page. When a flow initially becomes active, the start page page
4025
+ # becomes the current page. For each conversational turn, the current page will
4026
+ # either stay the same or transition to another page. You configure each page to
4027
+ # collect information from the end-user that is relevant for the conversational
4028
+ # state represented by the page. For more information, see the [Page guide](
4029
+ # https://cloud.google.com/dialogflow/cx/docs/concept/page).
4030
+ # Corresponds to the JSON property `page`
4031
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Page]
4032
+ attr_accessor :page
4033
+
4034
+ def initialize(**args)
4035
+ update!(**args)
4036
+ end
4037
+
4038
+ # Update properties of this object
4039
+ def update!(**args)
4040
+ @flow = args[:flow] if args.key?(:flow)
4041
+ @page = args[:page] if args.key?(:page)
4042
+ end
4043
+ end
4044
+
3003
4045
  # A transition route specifies a intent that can be matched and/or a data
3004
4046
  # condition that can be evaluated during a session. When a specified transition
3005
4047
  # is matched, the following actions are taken in order: * If there is a `
@@ -3108,6 +4150,25 @@ module Google
3108
4150
  end
3109
4151
  end
3110
4152
 
4153
+ # Metadata for UpdateDocument operation.
4154
+ class GoogleCloudDialogflowCxV3UpdateDocumentOperationMetadata
4155
+ include Google::Apis::Core::Hashable
4156
+
4157
+ # Metadata in google::longrunning::Operation for Knowledge operations.
4158
+ # Corresponds to the JSON property `genericMetadata`
4159
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata]
4160
+ attr_accessor :generic_metadata
4161
+
4162
+ def initialize(**args)
4163
+ update!(**args)
4164
+ end
4165
+
4166
+ # Update properties of this object
4167
+ def update!(**args)
4168
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
4169
+ end
4170
+ end
4171
+
3111
4172
  # Represents a version of a flow.
3112
4173
  class GoogleCloudDialogflowCxV3Version
3113
4174
  include Google::Apis::Core::Hashable
@@ -3486,15 +4547,25 @@ module Google
3486
4547
  end
3487
4548
  end
3488
4549
 
3489
- # Metadata associated with the long running operation for Versions.CreateVersion.
3490
- class GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata
4550
+ # Represents the natural speech audio to be processed.
4551
+ class GoogleCloudDialogflowCxV3beta1AudioInput
3491
4552
  include Google::Apis::Core::Hashable
3492
4553
 
3493
- # Name of the created version. Format: `projects//locations//agents//flows//
3494
- # versions/`.
3495
- # Corresponds to the JSON property `version`
4554
+ # The natural language speech audio to be processed. A single request can
4555
+ # contain up to 1 minute of speech audio data. The transcribed text cannot
4556
+ # contain more than 256 bytes. For non-streaming audio detect intent, both `
4557
+ # config` and `audio` must be provided. For streaming audio detect intent, `
4558
+ # config` must be provided in the first request and `audio` must be provided in
4559
+ # all following requests.
4560
+ # Corresponds to the JSON property `audio`
4561
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3496
4562
  # @return [String]
3497
- attr_accessor :version
4563
+ attr_accessor :audio
4564
+
4565
+ # Instructs the speech recognizer on how to process the audio content.
4566
+ # Corresponds to the JSON property `config`
4567
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1InputAudioConfig]
4568
+ attr_accessor :config
3498
4569
 
3499
4570
  def initialize(**args)
3500
4571
  update!(**args)
@@ -3502,25 +4573,19 @@ module Google
3502
4573
 
3503
4574
  # Update properties of this object
3504
4575
  def update!(**args)
3505
- @version = args[:version] if args.key?(:version)
4576
+ @audio = args[:audio] if args.key?(:audio)
4577
+ @config = args[:config] if args.key?(:config)
3506
4578
  end
3507
4579
  end
3508
4580
 
3509
- # The response message for Agents.ExportAgent.
3510
- class GoogleCloudDialogflowCxV3beta1ExportAgentResponse
4581
+ # Metadata returned for the TestCases.BatchRunTestCases long running operation.
4582
+ class GoogleCloudDialogflowCxV3beta1BatchRunTestCasesMetadata
3511
4583
  include Google::Apis::Core::Hashable
3512
4584
 
3513
- # Uncompressed raw byte content for agent.
3514
- # Corresponds to the JSON property `agentContent`
3515
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
3516
- # @return [String]
3517
- attr_accessor :agent_content
3518
-
3519
- # The URI to a file containing the exported agent. This field is populated only
3520
- # if `agent_uri` is specified in ExportAgentRequest.
3521
- # Corresponds to the JSON property `agentUri`
3522
- # @return [String]
3523
- attr_accessor :agent_uri
4585
+ # The test errors.
4586
+ # Corresponds to the JSON property `errors`
4587
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestError>]
4588
+ attr_accessor :errors
3524
4589
 
3525
4590
  def initialize(**args)
3526
4591
  update!(**args)
@@ -3528,26 +4593,19 @@ module Google
3528
4593
 
3529
4594
  # Update properties of this object
3530
4595
  def update!(**args)
3531
- @agent_content = args[:agent_content] if args.key?(:agent_content)
3532
- @agent_uri = args[:agent_uri] if args.key?(:agent_uri)
4596
+ @errors = args[:errors] if args.key?(:errors)
3533
4597
  end
3534
4598
  end
3535
4599
 
3536
- # Represents page information communicated to and from the webhook.
3537
- class GoogleCloudDialogflowCxV3beta1PageInfo
4600
+ # The response message for TestCases.BatchRunTestCases.
4601
+ class GoogleCloudDialogflowCxV3beta1BatchRunTestCasesResponse
3538
4602
  include Google::Apis::Core::Hashable
3539
4603
 
3540
- # Always present for WebhookRequest. Ignored for WebhookResponse. The unique
3541
- # identifier of the current page. Format: `projects//locations//agents//flows//
3542
- # pages/`.
3543
- # Corresponds to the JSON property `currentPage`
3544
- # @return [String]
3545
- attr_accessor :current_page
3546
-
3547
- # Represents form information.
3548
- # Corresponds to the JSON property `formInfo`
3549
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1PageInfoFormInfo]
3550
- attr_accessor :form_info
4604
+ # The test case results. The detailed conversation turns are empty in this
4605
+ # response.
4606
+ # Corresponds to the JSON property `results`
4607
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestCaseResult>]
4608
+ attr_accessor :results
3551
4609
 
3552
4610
  def initialize(**args)
3553
4611
  update!(**args)
@@ -3555,20 +4613,24 @@ module Google
3555
4613
 
3556
4614
  # Update properties of this object
3557
4615
  def update!(**args)
3558
- @current_page = args[:current_page] if args.key?(:current_page)
3559
- @form_info = args[:form_info] if args.key?(:form_info)
4616
+ @results = args[:results] if args.key?(:results)
3560
4617
  end
3561
4618
  end
3562
4619
 
3563
- # Represents form information.
3564
- class GoogleCloudDialogflowCxV3beta1PageInfoFormInfo
4620
+ # One interaction between a human and virtual agent. The human provides some
4621
+ # input and the virtual agent provides a response.
4622
+ class GoogleCloudDialogflowCxV3beta1ConversationTurn
3565
4623
  include Google::Apis::Core::Hashable
3566
4624
 
3567
- # Optional for both WebhookRequest and WebhookResponse. The parameters contained
3568
- # in the form. Note that the webhook cannot add or remove any form parameter.
3569
- # Corresponds to the JSON property `parameterInfo`
3570
- # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo>]
3571
- attr_accessor :parameter_info
4625
+ # The input from the human user.
4626
+ # Corresponds to the JSON property `userInput`
4627
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput]
4628
+ attr_accessor :user_input
4629
+
4630
+ # The output from the virtual agent.
4631
+ # Corresponds to the JSON property `virtualAgentOutput`
4632
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput]
4633
+ attr_accessor :virtual_agent_output
3572
4634
 
3573
4635
  def initialize(**args)
3574
4636
  update!(**args)
@@ -3576,7 +4638,1173 @@ module Google
3576
4638
 
3577
4639
  # Update properties of this object
3578
4640
  def update!(**args)
3579
- @parameter_info = args[:parameter_info] if args.key?(:parameter_info)
4641
+ @user_input = args[:user_input] if args.key?(:user_input)
4642
+ @virtual_agent_output = args[:virtual_agent_output] if args.key?(:virtual_agent_output)
4643
+ end
4644
+ end
4645
+
4646
+ # The input from the human user.
4647
+ class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput
4648
+ include Google::Apis::Core::Hashable
4649
+
4650
+ # Parameters that need to be injected into the conversation during intent
4651
+ # detection.
4652
+ # Corresponds to the JSON property `injectedParameters`
4653
+ # @return [Hash<String,Object>]
4654
+ attr_accessor :injected_parameters
4655
+
4656
+ # Represents the query input. It can contain one of: 1. A conversational query
4657
+ # in the form of text. 2. An intent query that specifies which intent to trigger.
4658
+ # 3. Natural language speech audio to be processed. 4. An event to be triggered.
4659
+ #
4660
+ # Corresponds to the JSON property `input`
4661
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1QueryInput]
4662
+ attr_accessor :input
4663
+
4664
+ # If webhooks should be allowed to trigger in response to the user utterance.
4665
+ # Often if parameters are injected, webhooks should not be enabled.
4666
+ # Corresponds to the JSON property `isWebhookEnabled`
4667
+ # @return [Boolean]
4668
+ attr_accessor :is_webhook_enabled
4669
+ alias_method :is_webhook_enabled?, :is_webhook_enabled
4670
+
4671
+ def initialize(**args)
4672
+ update!(**args)
4673
+ end
4674
+
4675
+ # Update properties of this object
4676
+ def update!(**args)
4677
+ @injected_parameters = args[:injected_parameters] if args.key?(:injected_parameters)
4678
+ @input = args[:input] if args.key?(:input)
4679
+ @is_webhook_enabled = args[:is_webhook_enabled] if args.key?(:is_webhook_enabled)
4680
+ end
4681
+ end
4682
+
4683
+ # The output from the virtual agent.
4684
+ class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput
4685
+ include Google::Apis::Core::Hashable
4686
+
4687
+ # A Dialogflow CX conversation (session) can be described and visualized as a
4688
+ # state machine. The states of a CX session are represented by pages. For each
4689
+ # flow, you define many pages, where your combined pages can handle a complete
4690
+ # conversation on the topics the flow is designed for. At any given moment,
4691
+ # exactly one page is the current page, the current page is considered active,
4692
+ # and the flow associated with that page is considered active. Every flow has a
4693
+ # special start page. When a flow initially becomes active, the start page page
4694
+ # becomes the current page. For each conversational turn, the current page will
4695
+ # either stay the same or transition to another page. You configure each page to
4696
+ # collect information from the end-user that is relevant for the conversational
4697
+ # state represented by the page. For more information, see the [Page guide](
4698
+ # https://cloud.google.com/dialogflow/cx/docs/concept/page).
4699
+ # Corresponds to the JSON property `currentPage`
4700
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Page]
4701
+ attr_accessor :current_page
4702
+
4703
+ # Required. Input only. The diagnostic info output for the turn.
4704
+ # Corresponds to the JSON property `diagnosticInfo`
4705
+ # @return [Hash<String,Object>]
4706
+ attr_accessor :diagnostic_info
4707
+
4708
+ # Output only. If this is part of a result conversation turn, the list of
4709
+ # differences between the original run and the replay for this output, if any.
4710
+ # Corresponds to the JSON property `differences`
4711
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestRunDifference>]
4712
+ attr_accessor :differences
4713
+
4714
+ # The session parameters available to the bot at this point.
4715
+ # Corresponds to the JSON property `sessionParameters`
4716
+ # @return [Hash<String,Object>]
4717
+ attr_accessor :session_parameters
4718
+
4719
+ # The `Status` type defines a logical error model that is suitable for different
4720
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4721
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4722
+ # data: error code, error message, and error details. You can find out more
4723
+ # about this error model and how to work with it in the [API Design Guide](https:
4724
+ # //cloud.google.com/apis/design/errors).
4725
+ # Corresponds to the JSON property `status`
4726
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
4727
+ attr_accessor :status
4728
+
4729
+ # The text responses from the agent for the turn.
4730
+ # Corresponds to the JSON property `textResponses`
4731
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageText>]
4732
+ attr_accessor :text_responses
4733
+
4734
+ # An intent represents a user's intent to interact with a conversational agent.
4735
+ # You can provide information for the Dialogflow API to use to match user input
4736
+ # to an intent by adding training phrases (i.e., examples of user input) to your
4737
+ # intent.
4738
+ # Corresponds to the JSON property `triggeredIntent`
4739
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Intent]
4740
+ attr_accessor :triggered_intent
4741
+
4742
+ def initialize(**args)
4743
+ update!(**args)
4744
+ end
4745
+
4746
+ # Update properties of this object
4747
+ def update!(**args)
4748
+ @current_page = args[:current_page] if args.key?(:current_page)
4749
+ @diagnostic_info = args[:diagnostic_info] if args.key?(:diagnostic_info)
4750
+ @differences = args[:differences] if args.key?(:differences)
4751
+ @session_parameters = args[:session_parameters] if args.key?(:session_parameters)
4752
+ @status = args[:status] if args.key?(:status)
4753
+ @text_responses = args[:text_responses] if args.key?(:text_responses)
4754
+ @triggered_intent = args[:triggered_intent] if args.key?(:triggered_intent)
4755
+ end
4756
+ end
4757
+
4758
+ # Metadata for CreateDocument operation.
4759
+ class GoogleCloudDialogflowCxV3beta1CreateDocumentOperationMetadata
4760
+ include Google::Apis::Core::Hashable
4761
+
4762
+ # Metadata in google::longrunning::Operation for Knowledge operations.
4763
+ # Corresponds to the JSON property `genericMetadata`
4764
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata]
4765
+ attr_accessor :generic_metadata
4766
+
4767
+ def initialize(**args)
4768
+ update!(**args)
4769
+ end
4770
+
4771
+ # Update properties of this object
4772
+ def update!(**args)
4773
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
4774
+ end
4775
+ end
4776
+
4777
+ # Metadata associated with the long running operation for Versions.CreateVersion.
4778
+ class GoogleCloudDialogflowCxV3beta1CreateVersionOperationMetadata
4779
+ include Google::Apis::Core::Hashable
4780
+
4781
+ # Name of the created version. Format: `projects//locations//agents//flows//
4782
+ # versions/`.
4783
+ # Corresponds to the JSON property `version`
4784
+ # @return [String]
4785
+ attr_accessor :version
4786
+
4787
+ def initialize(**args)
4788
+ update!(**args)
4789
+ end
4790
+
4791
+ # Update properties of this object
4792
+ def update!(**args)
4793
+ @version = args[:version] if args.key?(:version)
4794
+ end
4795
+ end
4796
+
4797
+ # Metadata for DeleteDocument operation.
4798
+ class GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata
4799
+ include Google::Apis::Core::Hashable
4800
+
4801
+ # Metadata in google::longrunning::Operation for Knowledge operations.
4802
+ # Corresponds to the JSON property `genericMetadata`
4803
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata]
4804
+ attr_accessor :generic_metadata
4805
+
4806
+ def initialize(**args)
4807
+ update!(**args)
4808
+ end
4809
+
4810
+ # Update properties of this object
4811
+ def update!(**args)
4812
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
4813
+ end
4814
+ end
4815
+
4816
+ # Represents the input for dtmf event.
4817
+ class GoogleCloudDialogflowCxV3beta1DtmfInput
4818
+ include Google::Apis::Core::Hashable
4819
+
4820
+ # The dtmf digits.
4821
+ # Corresponds to the JSON property `digits`
4822
+ # @return [String]
4823
+ attr_accessor :digits
4824
+
4825
+ # The finish digit (if any).
4826
+ # Corresponds to the JSON property `finishDigit`
4827
+ # @return [String]
4828
+ attr_accessor :finish_digit
4829
+
4830
+ def initialize(**args)
4831
+ update!(**args)
4832
+ end
4833
+
4834
+ # Update properties of this object
4835
+ def update!(**args)
4836
+ @digits = args[:digits] if args.key?(:digits)
4837
+ @finish_digit = args[:finish_digit] if args.key?(:finish_digit)
4838
+ end
4839
+ end
4840
+
4841
+ # An event handler specifies an event that can be handled during a session. When
4842
+ # the specified event happens, the following actions are taken in order: * If
4843
+ # there is a `trigger_fulfillment` associated with the event, it will be called.
4844
+ # * If there is a `target_page` associated with the event, the session will
4845
+ # transition into the specified page. * If there is a `target_flow` associated
4846
+ # with the event, the session will transition into the specified flow.
4847
+ class GoogleCloudDialogflowCxV3beta1EventHandler
4848
+ include Google::Apis::Core::Hashable
4849
+
4850
+ # Required. The name of the event to handle.
4851
+ # Corresponds to the JSON property `event`
4852
+ # @return [String]
4853
+ attr_accessor :event
4854
+
4855
+ # Output only. The unique identifier of this event handler.
4856
+ # Corresponds to the JSON property `name`
4857
+ # @return [String]
4858
+ attr_accessor :name
4859
+
4860
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
4861
+ # .
4862
+ # Corresponds to the JSON property `targetFlow`
4863
+ # @return [String]
4864
+ attr_accessor :target_flow
4865
+
4866
+ # The target page to transition to. Format: `projects//locations//agents//flows//
4867
+ # pages/`.
4868
+ # Corresponds to the JSON property `targetPage`
4869
+ # @return [String]
4870
+ attr_accessor :target_page
4871
+
4872
+ # A fulfillment can do one or more of the following actions at the same time: *
4873
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
4874
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
4875
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
4876
+ # the page's entry fulfillment can add a static response to the QueryResult in
4877
+ # the returning DetectIntentResponse, call the webhook (for example, to load
4878
+ # user data from a database), or both.
4879
+ # Corresponds to the JSON property `triggerFulfillment`
4880
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Fulfillment]
4881
+ attr_accessor :trigger_fulfillment
4882
+
4883
+ def initialize(**args)
4884
+ update!(**args)
4885
+ end
4886
+
4887
+ # Update properties of this object
4888
+ def update!(**args)
4889
+ @event = args[:event] if args.key?(:event)
4890
+ @name = args[:name] if args.key?(:name)
4891
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
4892
+ @target_page = args[:target_page] if args.key?(:target_page)
4893
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
4894
+ end
4895
+ end
4896
+
4897
+ # Represents the event to trigger.
4898
+ class GoogleCloudDialogflowCxV3beta1EventInput
4899
+ include Google::Apis::Core::Hashable
4900
+
4901
+ # Name of the event.
4902
+ # Corresponds to the JSON property `event`
4903
+ # @return [String]
4904
+ attr_accessor :event
4905
+
4906
+ def initialize(**args)
4907
+ update!(**args)
4908
+ end
4909
+
4910
+ # Update properties of this object
4911
+ def update!(**args)
4912
+ @event = args[:event] if args.key?(:event)
4913
+ end
4914
+ end
4915
+
4916
+ # The response message for Agents.ExportAgent.
4917
+ class GoogleCloudDialogflowCxV3beta1ExportAgentResponse
4918
+ include Google::Apis::Core::Hashable
4919
+
4920
+ # Uncompressed raw byte content for agent.
4921
+ # Corresponds to the JSON property `agentContent`
4922
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4923
+ # @return [String]
4924
+ attr_accessor :agent_content
4925
+
4926
+ # The URI to a file containing the exported agent. This field is populated only
4927
+ # if `agent_uri` is specified in ExportAgentRequest.
4928
+ # Corresponds to the JSON property `agentUri`
4929
+ # @return [String]
4930
+ attr_accessor :agent_uri
4931
+
4932
+ def initialize(**args)
4933
+ update!(**args)
4934
+ end
4935
+
4936
+ # Update properties of this object
4937
+ def update!(**args)
4938
+ @agent_content = args[:agent_content] if args.key?(:agent_content)
4939
+ @agent_uri = args[:agent_uri] if args.key?(:agent_uri)
4940
+ end
4941
+ end
4942
+
4943
+ # Metadata returned for the TestCases.ExportTestCases long running operation.
4944
+ class GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata
4945
+ include Google::Apis::Core::Hashable
4946
+
4947
+ def initialize(**args)
4948
+ update!(**args)
4949
+ end
4950
+
4951
+ # Update properties of this object
4952
+ def update!(**args)
4953
+ end
4954
+ end
4955
+
4956
+ # The response message for TestCases.ExportTestCases.
4957
+ class GoogleCloudDialogflowCxV3beta1ExportTestCasesResponse
4958
+ include Google::Apis::Core::Hashable
4959
+
4960
+ # Uncompressed raw byte content for test cases.
4961
+ # Corresponds to the JSON property `content`
4962
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4963
+ # @return [String]
4964
+ attr_accessor :content
4965
+
4966
+ # The URI to a file containing the exported test cases. This field is populated
4967
+ # only if `gcs_uri` is specified in ExportTestCasesRequest.
4968
+ # Corresponds to the JSON property `gcsUri`
4969
+ # @return [String]
4970
+ attr_accessor :gcs_uri
4971
+
4972
+ def initialize(**args)
4973
+ update!(**args)
4974
+ end
4975
+
4976
+ # Update properties of this object
4977
+ def update!(**args)
4978
+ @content = args[:content] if args.key?(:content)
4979
+ @gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
4980
+ end
4981
+ end
4982
+
4983
+ # A form is a data model that groups related parameters that can be collected
4984
+ # from the user. The process in which the agent prompts the user and collects
4985
+ # parameter values from the user is called form filling. A form can be added to
4986
+ # a page. When form filling is done, the filled parameters will be written to
4987
+ # the session.
4988
+ class GoogleCloudDialogflowCxV3beta1Form
4989
+ include Google::Apis::Core::Hashable
4990
+
4991
+ # Parameters to collect from the user.
4992
+ # Corresponds to the JSON property `parameters`
4993
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FormParameter>]
4994
+ attr_accessor :parameters
4995
+
4996
+ def initialize(**args)
4997
+ update!(**args)
4998
+ end
4999
+
5000
+ # Update properties of this object
5001
+ def update!(**args)
5002
+ @parameters = args[:parameters] if args.key?(:parameters)
5003
+ end
5004
+ end
5005
+
5006
+ # Represents a form parameter.
5007
+ class GoogleCloudDialogflowCxV3beta1FormParameter
5008
+ include Google::Apis::Core::Hashable
5009
+
5010
+ # The default value of an optional parameter. If the parameter is required, the
5011
+ # default value will be ignored.
5012
+ # Corresponds to the JSON property `defaultValue`
5013
+ # @return [Object]
5014
+ attr_accessor :default_value
5015
+
5016
+ # Required. The human-readable name of the parameter, unique within the form.
5017
+ # Corresponds to the JSON property `displayName`
5018
+ # @return [String]
5019
+ attr_accessor :display_name
5020
+
5021
+ # Required. The entity type of the parameter. Format: `projects/-/locations/-/
5022
+ # agents/-/entityTypes/` for system entity types (for example, `projects/-/
5023
+ # locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//
5024
+ # entityTypes/` for developer entity types.
5025
+ # Corresponds to the JSON property `entityType`
5026
+ # @return [String]
5027
+ attr_accessor :entity_type
5028
+
5029
+ # Configuration for how the filling of a parameter should be handled.
5030
+ # Corresponds to the JSON property `fillBehavior`
5031
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior]
5032
+ attr_accessor :fill_behavior
5033
+
5034
+ # Indicates whether the parameter represents a list of values.
5035
+ # Corresponds to the JSON property `isList`
5036
+ # @return [Boolean]
5037
+ attr_accessor :is_list
5038
+ alias_method :is_list?, :is_list
5039
+
5040
+ # Indicates whether the parameter content is logged in text and audio. If it is
5041
+ # set to true, the parameter content will be replaced to parameter name in both
5042
+ # request and response. The default value is false.
5043
+ # Corresponds to the JSON property `redact`
5044
+ # @return [Boolean]
5045
+ attr_accessor :redact
5046
+ alias_method :redact?, :redact
5047
+
5048
+ # Indicates whether the parameter is required. Optional parameters will not
5049
+ # trigger prompts; however, they are filled if the user specifies them. Required
5050
+ # parameters must be filled before form filling concludes.
5051
+ # Corresponds to the JSON property `required`
5052
+ # @return [Boolean]
5053
+ attr_accessor :required
5054
+ alias_method :required?, :required
5055
+
5056
+ def initialize(**args)
5057
+ update!(**args)
5058
+ end
5059
+
5060
+ # Update properties of this object
5061
+ def update!(**args)
5062
+ @default_value = args[:default_value] if args.key?(:default_value)
5063
+ @display_name = args[:display_name] if args.key?(:display_name)
5064
+ @entity_type = args[:entity_type] if args.key?(:entity_type)
5065
+ @fill_behavior = args[:fill_behavior] if args.key?(:fill_behavior)
5066
+ @is_list = args[:is_list] if args.key?(:is_list)
5067
+ @redact = args[:redact] if args.key?(:redact)
5068
+ @required = args[:required] if args.key?(:required)
5069
+ end
5070
+ end
5071
+
5072
+ # Configuration for how the filling of a parameter should be handled.
5073
+ class GoogleCloudDialogflowCxV3beta1FormParameterFillBehavior
5074
+ include Google::Apis::Core::Hashable
5075
+
5076
+ # A fulfillment can do one or more of the following actions at the same time: *
5077
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
5078
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
5079
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
5080
+ # the page's entry fulfillment can add a static response to the QueryResult in
5081
+ # the returning DetectIntentResponse, call the webhook (for example, to load
5082
+ # user data from a database), or both.
5083
+ # Corresponds to the JSON property `initialPromptFulfillment`
5084
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Fulfillment]
5085
+ attr_accessor :initial_prompt_fulfillment
5086
+
5087
+ # The handlers for parameter-level events, used to provide reprompt for the
5088
+ # parameter or transition to a different page/flow. The supported events are: * `
5089
+ # sys.no-match-`, where N can be from 1 to 6 * `sys.no-match-default` * `sys.no-
5090
+ # input-`, where N can be from 1 to 6 * `sys.no-input-default` * `sys.invalid-
5091
+ # parameter` `initial_prompt_fulfillment` provides the first prompt for the
5092
+ # parameter. If the user's response does not fill the parameter, a no-match/no-
5093
+ # input event will be triggered, and the fulfillment associated with the `sys.no-
5094
+ # match-1`/`sys.no-input-1` handler (if defined) will be called to provide a
5095
+ # prompt. The `sys.no-match-2`/`sys.no-input-2` handler (if defined) will
5096
+ # respond to the next no-match/no-input event, and so on. A `sys.no-match-
5097
+ # default` or `sys.no-input-default` handler will be used to handle all
5098
+ # following no-match/no-input events after all numbered no-match/no-input
5099
+ # handlers for the parameter are consumed. A `sys.invalid-parameter` handler can
5100
+ # be defined to handle the case where the parameter values have been `
5101
+ # invalidated` by webhook. For example, if the user's response fill the
5102
+ # parameter, however the parameter was invalidated by webhook, the fulfillment
5103
+ # associated with the `sys.invalid-parameter` handler (if defined) will be
5104
+ # called to provide a prompt. If the event handler for the corresponding event
5105
+ # can't be found on the parameter, `initial_prompt_fulfillment` will be re-
5106
+ # prompted.
5107
+ # Corresponds to the JSON property `repromptEventHandlers`
5108
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1EventHandler>]
5109
+ attr_accessor :reprompt_event_handlers
5110
+
5111
+ def initialize(**args)
5112
+ update!(**args)
5113
+ end
5114
+
5115
+ # Update properties of this object
5116
+ def update!(**args)
5117
+ @initial_prompt_fulfillment = args[:initial_prompt_fulfillment] if args.key?(:initial_prompt_fulfillment)
5118
+ @reprompt_event_handlers = args[:reprompt_event_handlers] if args.key?(:reprompt_event_handlers)
5119
+ end
5120
+ end
5121
+
5122
+ # A fulfillment can do one or more of the following actions at the same time: *
5123
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
5124
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
5125
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
5126
+ # the page's entry fulfillment can add a static response to the QueryResult in
5127
+ # the returning DetectIntentResponse, call the webhook (for example, to load
5128
+ # user data from a database), or both.
5129
+ class GoogleCloudDialogflowCxV3beta1Fulfillment
5130
+ include Google::Apis::Core::Hashable
5131
+
5132
+ # Conditional cases for this fulfillment.
5133
+ # Corresponds to the JSON property `conditionalCases`
5134
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases>]
5135
+ attr_accessor :conditional_cases
5136
+
5137
+ # The list of rich message responses to present to the user.
5138
+ # Corresponds to the JSON property `messages`
5139
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessage>]
5140
+ attr_accessor :messages
5141
+
5142
+ # Set parameter values before executing the webhook.
5143
+ # Corresponds to the JSON property `setParameterActions`
5144
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction>]
5145
+ attr_accessor :set_parameter_actions
5146
+
5147
+ # The tag used by the webhook to identify which fulfillment is being called.
5148
+ # This field is required if `webhook` is specified.
5149
+ # Corresponds to the JSON property `tag`
5150
+ # @return [String]
5151
+ attr_accessor :tag
5152
+
5153
+ # The webhook to call. Format: `projects//locations//agents//webhooks/`.
5154
+ # Corresponds to the JSON property `webhook`
5155
+ # @return [String]
5156
+ attr_accessor :webhook
5157
+
5158
+ def initialize(**args)
5159
+ update!(**args)
5160
+ end
5161
+
5162
+ # Update properties of this object
5163
+ def update!(**args)
5164
+ @conditional_cases = args[:conditional_cases] if args.key?(:conditional_cases)
5165
+ @messages = args[:messages] if args.key?(:messages)
5166
+ @set_parameter_actions = args[:set_parameter_actions] if args.key?(:set_parameter_actions)
5167
+ @tag = args[:tag] if args.key?(:tag)
5168
+ @webhook = args[:webhook] if args.key?(:webhook)
5169
+ end
5170
+ end
5171
+
5172
+ # A list of cascading if-else conditions. Cases are mutually exclusive. The
5173
+ # first one with a matching condition is selected, all the rest ignored.
5174
+ class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases
5175
+ include Google::Apis::Core::Hashable
5176
+
5177
+ # A list of cascading if-else conditions.
5178
+ # Corresponds to the JSON property `cases`
5179
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase>]
5180
+ attr_accessor :cases
5181
+
5182
+ def initialize(**args)
5183
+ update!(**args)
5184
+ end
5185
+
5186
+ # Update properties of this object
5187
+ def update!(**args)
5188
+ @cases = args[:cases] if args.key?(:cases)
5189
+ end
5190
+ end
5191
+
5192
+ # Each case has a Boolean condition. When it is evaluated to be True, the
5193
+ # corresponding messages will be selected and evaluated recursively.
5194
+ class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCase
5195
+ include Google::Apis::Core::Hashable
5196
+
5197
+ # A list of case content.
5198
+ # Corresponds to the JSON property `caseContent`
5199
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent>]
5200
+ attr_accessor :case_content
5201
+
5202
+ # The condition to activate and select this case. Empty means the condition is
5203
+ # always true. The condition is evaluated against form parameters or session
5204
+ # parameters. See the [conditions reference](https://cloud.google.com/dialogflow/
5205
+ # cx/docs/reference/condition).
5206
+ # Corresponds to the JSON property `condition`
5207
+ # @return [String]
5208
+ attr_accessor :condition
5209
+
5210
+ def initialize(**args)
5211
+ update!(**args)
5212
+ end
5213
+
5214
+ # Update properties of this object
5215
+ def update!(**args)
5216
+ @case_content = args[:case_content] if args.key?(:case_content)
5217
+ @condition = args[:condition] if args.key?(:condition)
5218
+ end
5219
+ end
5220
+
5221
+ # The list of messages or conditional cases to activate for this case.
5222
+ class GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCasesCaseCaseContent
5223
+ include Google::Apis::Core::Hashable
5224
+
5225
+ # A list of cascading if-else conditions. Cases are mutually exclusive. The
5226
+ # first one with a matching condition is selected, all the rest ignored.
5227
+ # Corresponds to the JSON property `additionalCases`
5228
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases]
5229
+ attr_accessor :additional_cases
5230
+
5231
+ # Represents a response message that can be returned by a conversational agent.
5232
+ # Response messages are also used for output audio synthesis. The approach is as
5233
+ # follows: * If at least one OutputAudioText response is present, then all
5234
+ # OutputAudioText responses are linearly concatenated, and the result is used
5235
+ # for output audio synthesis. * If the OutputAudioText responses are a mixture
5236
+ # of text and SSML, then the concatenated result is treated as SSML; otherwise,
5237
+ # the result is treated as either text or SSML as appropriate. The agent
5238
+ # designer should ideally use either text or SSML consistently throughout the
5239
+ # bot design. * Otherwise, all Text responses are linearly concatenated, and the
5240
+ # result is used for output audio synthesis. This approach allows for more
5241
+ # sophisticated user experience scenarios, where the text displayed to the user
5242
+ # may differ from what is heard.
5243
+ # Corresponds to the JSON property `message`
5244
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessage]
5245
+ attr_accessor :message
5246
+
5247
+ def initialize(**args)
5248
+ update!(**args)
5249
+ end
5250
+
5251
+ # Update properties of this object
5252
+ def update!(**args)
5253
+ @additional_cases = args[:additional_cases] if args.key?(:additional_cases)
5254
+ @message = args[:message] if args.key?(:message)
5255
+ end
5256
+ end
5257
+
5258
+ # Setting a parameter value.
5259
+ class GoogleCloudDialogflowCxV3beta1FulfillmentSetParameterAction
5260
+ include Google::Apis::Core::Hashable
5261
+
5262
+ # Display name of the parameter.
5263
+ # Corresponds to the JSON property `parameter`
5264
+ # @return [String]
5265
+ attr_accessor :parameter
5266
+
5267
+ # The new value of the parameter. A null value clears the parameter.
5268
+ # Corresponds to the JSON property `value`
5269
+ # @return [Object]
5270
+ attr_accessor :value
5271
+
5272
+ def initialize(**args)
5273
+ update!(**args)
5274
+ end
5275
+
5276
+ # Update properties of this object
5277
+ def update!(**args)
5278
+ @parameter = args[:parameter] if args.key?(:parameter)
5279
+ @value = args[:value] if args.key?(:value)
5280
+ end
5281
+ end
5282
+
5283
+ # Metadata in google::longrunning::Operation for Knowledge operations.
5284
+ class GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata
5285
+ include Google::Apis::Core::Hashable
5286
+
5287
+ # Required. Output only. The current state of this operation.
5288
+ # Corresponds to the JSON property `state`
5289
+ # @return [String]
5290
+ attr_accessor :state
5291
+
5292
+ def initialize(**args)
5293
+ update!(**args)
5294
+ end
5295
+
5296
+ # Update properties of this object
5297
+ def update!(**args)
5298
+ @state = args[:state] if args.key?(:state)
5299
+ end
5300
+ end
5301
+
5302
+ # Metadata for ImportDocuments operation.
5303
+ class GoogleCloudDialogflowCxV3beta1ImportDocumentsOperationMetadata
5304
+ include Google::Apis::Core::Hashable
5305
+
5306
+ # Metadata in google::longrunning::Operation for Knowledge operations.
5307
+ # Corresponds to the JSON property `genericMetadata`
5308
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata]
5309
+ attr_accessor :generic_metadata
5310
+
5311
+ def initialize(**args)
5312
+ update!(**args)
5313
+ end
5314
+
5315
+ # Update properties of this object
5316
+ def update!(**args)
5317
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
5318
+ end
5319
+ end
5320
+
5321
+ # Response message for Documents.ImportDocuments.
5322
+ class GoogleCloudDialogflowCxV3beta1ImportDocumentsResponse
5323
+ include Google::Apis::Core::Hashable
5324
+
5325
+ # Includes details about skipped documents or any other warnings.
5326
+ # Corresponds to the JSON property `warnings`
5327
+ # @return [Array<Google::Apis::DialogflowV3::GoogleRpcStatus>]
5328
+ attr_accessor :warnings
5329
+
5330
+ def initialize(**args)
5331
+ update!(**args)
5332
+ end
5333
+
5334
+ # Update properties of this object
5335
+ def update!(**args)
5336
+ @warnings = args[:warnings] if args.key?(:warnings)
5337
+ end
5338
+ end
5339
+
5340
+ # Metadata returned for the TestCases.ImportTestCases long running operation.
5341
+ class GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata
5342
+ include Google::Apis::Core::Hashable
5343
+
5344
+ # Errors for failed test cases.
5345
+ # Corresponds to the JSON property `errors`
5346
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestCaseError>]
5347
+ attr_accessor :errors
5348
+
5349
+ def initialize(**args)
5350
+ update!(**args)
5351
+ end
5352
+
5353
+ # Update properties of this object
5354
+ def update!(**args)
5355
+ @errors = args[:errors] if args.key?(:errors)
5356
+ end
5357
+ end
5358
+
5359
+ # The response message for TestCases.ImportTestCases.
5360
+ class GoogleCloudDialogflowCxV3beta1ImportTestCasesResponse
5361
+ include Google::Apis::Core::Hashable
5362
+
5363
+ # The unique identifiers of the new test cases. Format: `projects//locations//
5364
+ # agents//testCases/`.
5365
+ # Corresponds to the JSON property `names`
5366
+ # @return [Array<String>]
5367
+ attr_accessor :names
5368
+
5369
+ def initialize(**args)
5370
+ update!(**args)
5371
+ end
5372
+
5373
+ # Update properties of this object
5374
+ def update!(**args)
5375
+ @names = args[:names] if args.key?(:names)
5376
+ end
5377
+ end
5378
+
5379
+ # Instructs the speech recognizer on how to process the audio content.
5380
+ class GoogleCloudDialogflowCxV3beta1InputAudioConfig
5381
+ include Google::Apis::Core::Hashable
5382
+
5383
+ # Required. Audio encoding of the audio content to process.
5384
+ # Corresponds to the JSON property `audioEncoding`
5385
+ # @return [String]
5386
+ attr_accessor :audio_encoding
5387
+
5388
+ # Optional. If `true`, Dialogflow returns SpeechWordInfo in
5389
+ # StreamingRecognitionResult with information about the recognized speech words,
5390
+ # e.g. start and end time offsets. If false or unspecified, Speech doesn't
5391
+ # return any word-level information.
5392
+ # Corresponds to the JSON property `enableWordInfo`
5393
+ # @return [Boolean]
5394
+ attr_accessor :enable_word_info
5395
+ alias_method :enable_word_info?, :enable_word_info
5396
+
5397
+ # Optional. Which Speech model to select for the given request. Select the model
5398
+ # best suited to your domain to get best results. If a model is not explicitly
5399
+ # specified, then we auto-select a model based on the parameters in the
5400
+ # InputAudioConfig. If enhanced speech model is enabled for the agent and an
5401
+ # enhanced version of the specified model for the language does not exist, then
5402
+ # the speech is recognized using the standard version of the specified model.
5403
+ # Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-
5404
+ # text/docs/basics#select-model) for more details.
5405
+ # Corresponds to the JSON property `model`
5406
+ # @return [String]
5407
+ attr_accessor :model
5408
+
5409
+ # Optional. Which variant of the Speech model to use.
5410
+ # Corresponds to the JSON property `modelVariant`
5411
+ # @return [String]
5412
+ attr_accessor :model_variant
5413
+
5414
+ # Optional. A list of strings containing words and phrases that the speech
5415
+ # recognizer should recognize with higher likelihood. See [the Cloud Speech
5416
+ # documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-
5417
+ # hints) for more details.
5418
+ # Corresponds to the JSON property `phraseHints`
5419
+ # @return [Array<String>]
5420
+ attr_accessor :phrase_hints
5421
+
5422
+ # Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud
5423
+ # Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics)
5424
+ # for more details.
5425
+ # Corresponds to the JSON property `sampleRateHertz`
5426
+ # @return [Fixnum]
5427
+ attr_accessor :sample_rate_hertz
5428
+
5429
+ # Optional. If `false` (default), recognition does not cease until the client
5430
+ # closes the stream. If `true`, the recognizer will detect a single spoken
5431
+ # utterance in input audio. Recognition ceases when it detects the audio's voice
5432
+ # has stopped or paused. In this case, once a detected intent is received, the
5433
+ # client should close the stream and start a new request with a new stream as
5434
+ # needed. Note: This setting is relevant only for streaming methods.
5435
+ # Corresponds to the JSON property `singleUtterance`
5436
+ # @return [Boolean]
5437
+ attr_accessor :single_utterance
5438
+ alias_method :single_utterance?, :single_utterance
5439
+
5440
+ def initialize(**args)
5441
+ update!(**args)
5442
+ end
5443
+
5444
+ # Update properties of this object
5445
+ def update!(**args)
5446
+ @audio_encoding = args[:audio_encoding] if args.key?(:audio_encoding)
5447
+ @enable_word_info = args[:enable_word_info] if args.key?(:enable_word_info)
5448
+ @model = args[:model] if args.key?(:model)
5449
+ @model_variant = args[:model_variant] if args.key?(:model_variant)
5450
+ @phrase_hints = args[:phrase_hints] if args.key?(:phrase_hints)
5451
+ @sample_rate_hertz = args[:sample_rate_hertz] if args.key?(:sample_rate_hertz)
5452
+ @single_utterance = args[:single_utterance] if args.key?(:single_utterance)
5453
+ end
5454
+ end
5455
+
5456
+ # An intent represents a user's intent to interact with a conversational agent.
5457
+ # You can provide information for the Dialogflow API to use to match user input
5458
+ # to an intent by adding training phrases (i.e., examples of user input) to your
5459
+ # intent.
5460
+ class GoogleCloudDialogflowCxV3beta1Intent
5461
+ include Google::Apis::Core::Hashable
5462
+
5463
+ # Optional. Human readable description for better understanding an intent like
5464
+ # its scope, content, result etc. Maximum character limit: 140 characters.
5465
+ # Corresponds to the JSON property `description`
5466
+ # @return [String]
5467
+ attr_accessor :description
5468
+
5469
+ # Required. The human-readable name of the intent, unique within the agent.
5470
+ # Corresponds to the JSON property `displayName`
5471
+ # @return [String]
5472
+ attr_accessor :display_name
5473
+
5474
+ # Indicates whether this is a fallback intent. Currently only default fallback
5475
+ # intent is allowed in the agent, which is added upon agent creation. Adding
5476
+ # training phrases to fallback intent is useful in the case of requests that are
5477
+ # mistakenly matched, since training phrases assigned to fallback intents act as
5478
+ # negative examples that triggers no-match event.
5479
+ # Corresponds to the JSON property `isFallback`
5480
+ # @return [Boolean]
5481
+ attr_accessor :is_fallback
5482
+ alias_method :is_fallback?, :is_fallback
5483
+
5484
+ # Optional. The key/value metadata to label an intent. Labels can contain
5485
+ # lowercase letters, digits and the symbols '-' and '_'. International
5486
+ # characters are allowed, including letters from unicase alphabets. Keys must
5487
+ # start with a letter. Keys and values can be no longer than 63 characters and
5488
+ # no more than 128 bytes. Prefix "sys-" is reserved for Dialogflow defined
5489
+ # labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-
5490
+ # contextual The above labels do not require value. "sys-head" means the intent
5491
+ # is a head intent. "sys-contextual" means the intent is a contextual intent.
5492
+ # Corresponds to the JSON property `labels`
5493
+ # @return [Hash<String,String>]
5494
+ attr_accessor :labels
5495
+
5496
+ # The unique identifier of the intent. Required for the Intents.UpdateIntent
5497
+ # method. Intents.CreateIntent populates the name automatically. Format: `
5498
+ # projects//locations//agents//intents/`.
5499
+ # Corresponds to the JSON property `name`
5500
+ # @return [String]
5501
+ attr_accessor :name
5502
+
5503
+ # The collection of parameters associated with the intent.
5504
+ # Corresponds to the JSON property `parameters`
5505
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1IntentParameter>]
5506
+ attr_accessor :parameters
5507
+
5508
+ # The priority of this intent. Higher numbers represent higher priorities. - If
5509
+ # the supplied value is unspecified or 0, the service translates the value to
5510
+ # 500,000, which corresponds to the `Normal` priority in the console. - If the
5511
+ # supplied value is negative, the intent is ignored in runtime detect intent
5512
+ # requests.
5513
+ # Corresponds to the JSON property `priority`
5514
+ # @return [Fixnum]
5515
+ attr_accessor :priority
5516
+
5517
+ # The collection of training phrases the agent is trained on to identify the
5518
+ # intent.
5519
+ # Corresponds to the JSON property `trainingPhrases`
5520
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase>]
5521
+ attr_accessor :training_phrases
5522
+
5523
+ def initialize(**args)
5524
+ update!(**args)
5525
+ end
5526
+
5527
+ # Update properties of this object
5528
+ def update!(**args)
5529
+ @description = args[:description] if args.key?(:description)
5530
+ @display_name = args[:display_name] if args.key?(:display_name)
5531
+ @is_fallback = args[:is_fallback] if args.key?(:is_fallback)
5532
+ @labels = args[:labels] if args.key?(:labels)
5533
+ @name = args[:name] if args.key?(:name)
5534
+ @parameters = args[:parameters] if args.key?(:parameters)
5535
+ @priority = args[:priority] if args.key?(:priority)
5536
+ @training_phrases = args[:training_phrases] if args.key?(:training_phrases)
5537
+ end
5538
+ end
5539
+
5540
+ # Represents the intent to trigger programmatically rather than as a result of
5541
+ # natural language processing.
5542
+ class GoogleCloudDialogflowCxV3beta1IntentInput
5543
+ include Google::Apis::Core::Hashable
5544
+
5545
+ # Required. The unique identifier of the intent. Format: `projects//locations//
5546
+ # agents//intents/`.
5547
+ # Corresponds to the JSON property `intent`
5548
+ # @return [String]
5549
+ attr_accessor :intent
5550
+
5551
+ def initialize(**args)
5552
+ update!(**args)
5553
+ end
5554
+
5555
+ # Update properties of this object
5556
+ def update!(**args)
5557
+ @intent = args[:intent] if args.key?(:intent)
5558
+ end
5559
+ end
5560
+
5561
+ # Represents an intent parameter.
5562
+ class GoogleCloudDialogflowCxV3beta1IntentParameter
5563
+ include Google::Apis::Core::Hashable
5564
+
5565
+ # Required. The entity type of the parameter. Format: `projects/-/locations/-/
5566
+ # agents/-/entityTypes/` for system entity types (for example, `projects/-/
5567
+ # locations/-/agents/-/entityTypes/sys.date`), or `projects//locations//agents//
5568
+ # entityTypes/` for developer entity types.
5569
+ # Corresponds to the JSON property `entityType`
5570
+ # @return [String]
5571
+ attr_accessor :entity_type
5572
+
5573
+ # Required. The unique identifier of the parameter. This field is used by
5574
+ # training phrases to annotate their parts.
5575
+ # Corresponds to the JSON property `id`
5576
+ # @return [String]
5577
+ attr_accessor :id
5578
+
5579
+ # Indicates whether the parameter represents a list of values.
5580
+ # Corresponds to the JSON property `isList`
5581
+ # @return [Boolean]
5582
+ attr_accessor :is_list
5583
+ alias_method :is_list?, :is_list
5584
+
5585
+ # Indicates whether the parameter content is logged in text and audio. If it is
5586
+ # set to true, the parameter content will be replaced to parameter id in both
5587
+ # request and response. The default value is false.
5588
+ # Corresponds to the JSON property `redact`
5589
+ # @return [Boolean]
5590
+ attr_accessor :redact
5591
+ alias_method :redact?, :redact
5592
+
5593
+ def initialize(**args)
5594
+ update!(**args)
5595
+ end
5596
+
5597
+ # Update properties of this object
5598
+ def update!(**args)
5599
+ @entity_type = args[:entity_type] if args.key?(:entity_type)
5600
+ @id = args[:id] if args.key?(:id)
5601
+ @is_list = args[:is_list] if args.key?(:is_list)
5602
+ @redact = args[:redact] if args.key?(:redact)
5603
+ end
5604
+ end
5605
+
5606
+ # Represents an example that the agent is trained on to identify the intent.
5607
+ class GoogleCloudDialogflowCxV3beta1IntentTrainingPhrase
5608
+ include Google::Apis::Core::Hashable
5609
+
5610
+ # Output only. The unique identifier of the training phrase.
5611
+ # Corresponds to the JSON property `id`
5612
+ # @return [String]
5613
+ attr_accessor :id
5614
+
5615
+ # Required. The ordered list of training phrase parts. The parts are
5616
+ # concatenated in order to form the training phrase. Note: The API does not
5617
+ # automatically annotate training phrases like the Dialogflow Console does. Note:
5618
+ # Do not forget to include whitespace at part boundaries, so the training
5619
+ # phrase is well formatted when the parts are concatenated. If the training
5620
+ # phrase does not need to be annotated with parameters, you just need a single
5621
+ # part with only the Part.text field set. If you want to annotate the training
5622
+ # phrase, you must create multiple parts, where the fields of each part are
5623
+ # populated in one of two ways: - `Part.text` is set to a part of the phrase
5624
+ # that has no parameters. - `Part.text` is set to a part of the phrase that you
5625
+ # want to annotate, and the `parameter_id` field is set.
5626
+ # Corresponds to the JSON property `parts`
5627
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart>]
5628
+ attr_accessor :parts
5629
+
5630
+ # Indicates how many times this example was added to the intent.
5631
+ # Corresponds to the JSON property `repeatCount`
5632
+ # @return [Fixnum]
5633
+ attr_accessor :repeat_count
5634
+
5635
+ def initialize(**args)
5636
+ update!(**args)
5637
+ end
5638
+
5639
+ # Update properties of this object
5640
+ def update!(**args)
5641
+ @id = args[:id] if args.key?(:id)
5642
+ @parts = args[:parts] if args.key?(:parts)
5643
+ @repeat_count = args[:repeat_count] if args.key?(:repeat_count)
5644
+ end
5645
+ end
5646
+
5647
+ # Represents a part of a training phrase.
5648
+ class GoogleCloudDialogflowCxV3beta1IntentTrainingPhrasePart
5649
+ include Google::Apis::Core::Hashable
5650
+
5651
+ # The parameter used to annotate this part of the training phrase. This field is
5652
+ # required for annotated parts of the training phrase.
5653
+ # Corresponds to the JSON property `parameterId`
5654
+ # @return [String]
5655
+ attr_accessor :parameter_id
5656
+
5657
+ # Required. The text for this part.
5658
+ # Corresponds to the JSON property `text`
5659
+ # @return [String]
5660
+ attr_accessor :text
5661
+
5662
+ def initialize(**args)
5663
+ update!(**args)
5664
+ end
5665
+
5666
+ # Update properties of this object
5667
+ def update!(**args)
5668
+ @parameter_id = args[:parameter_id] if args.key?(:parameter_id)
5669
+ @text = args[:text] if args.key?(:text)
5670
+ end
5671
+ end
5672
+
5673
+ # A Dialogflow CX conversation (session) can be described and visualized as a
5674
+ # state machine. The states of a CX session are represented by pages. For each
5675
+ # flow, you define many pages, where your combined pages can handle a complete
5676
+ # conversation on the topics the flow is designed for. At any given moment,
5677
+ # exactly one page is the current page, the current page is considered active,
5678
+ # and the flow associated with that page is considered active. Every flow has a
5679
+ # special start page. When a flow initially becomes active, the start page page
5680
+ # becomes the current page. For each conversational turn, the current page will
5681
+ # either stay the same or transition to another page. You configure each page to
5682
+ # collect information from the end-user that is relevant for the conversational
5683
+ # state represented by the page. For more information, see the [Page guide](
5684
+ # https://cloud.google.com/dialogflow/cx/docs/concept/page).
5685
+ class GoogleCloudDialogflowCxV3beta1Page
5686
+ include Google::Apis::Core::Hashable
5687
+
5688
+ # Required. The human-readable name of the page, unique within the agent.
5689
+ # Corresponds to the JSON property `displayName`
5690
+ # @return [String]
5691
+ attr_accessor :display_name
5692
+
5693
+ # A fulfillment can do one or more of the following actions at the same time: *
5694
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
5695
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
5696
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
5697
+ # the page's entry fulfillment can add a static response to the QueryResult in
5698
+ # the returning DetectIntentResponse, call the webhook (for example, to load
5699
+ # user data from a database), or both.
5700
+ # Corresponds to the JSON property `entryFulfillment`
5701
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Fulfillment]
5702
+ attr_accessor :entry_fulfillment
5703
+
5704
+ # Handlers associated with the page to handle events such as webhook errors, no
5705
+ # match or no input.
5706
+ # Corresponds to the JSON property `eventHandlers`
5707
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1EventHandler>]
5708
+ attr_accessor :event_handlers
5709
+
5710
+ # A form is a data model that groups related parameters that can be collected
5711
+ # from the user. The process in which the agent prompts the user and collects
5712
+ # parameter values from the user is called form filling. A form can be added to
5713
+ # a page. When form filling is done, the filled parameters will be written to
5714
+ # the session.
5715
+ # Corresponds to the JSON property `form`
5716
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Form]
5717
+ attr_accessor :form
5718
+
5719
+ # The unique identifier of the page. Required for the Pages.UpdatePage method.
5720
+ # Pages.CreatePage populates the name automatically. Format: `projects//
5721
+ # locations//agents//flows//pages/`.
5722
+ # Corresponds to the JSON property `name`
5723
+ # @return [String]
5724
+ attr_accessor :name
5725
+
5726
+ # Ordered list of `TransitionRouteGroups` associated with the page. Transition
5727
+ # route groups must be unique within a page. * If multiple transition routes
5728
+ # within a page scope refer to the same intent, then the precedence order is:
5729
+ # page's transition route -> page's transition route group -> flow's transition
5730
+ # routes. * If multiple transition route groups within a page contain the same
5731
+ # intent, then the first group in the ordered list takes precedence. Format:`
5732
+ # projects//locations//agents//flows//transitionRouteGroups/`.
5733
+ # Corresponds to the JSON property `transitionRouteGroups`
5734
+ # @return [Array<String>]
5735
+ attr_accessor :transition_route_groups
5736
+
5737
+ # A list of transitions for the transition rules of this page. They route the
5738
+ # conversation to another page in the same flow, or another flow. When we are in
5739
+ # a certain page, the TransitionRoutes are evalauted in the following order: *
5740
+ # TransitionRoutes defined in the page with intent specified. * TransitionRoutes
5741
+ # defined in the transition route groups. * TransitionRoutes defined in flow
5742
+ # with intent specified. * TransitionRoutes defined in the page with only
5743
+ # condition specified.
5744
+ # Corresponds to the JSON property `transitionRoutes`
5745
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TransitionRoute>]
5746
+ attr_accessor :transition_routes
5747
+
5748
+ def initialize(**args)
5749
+ update!(**args)
5750
+ end
5751
+
5752
+ # Update properties of this object
5753
+ def update!(**args)
5754
+ @display_name = args[:display_name] if args.key?(:display_name)
5755
+ @entry_fulfillment = args[:entry_fulfillment] if args.key?(:entry_fulfillment)
5756
+ @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
5757
+ @form = args[:form] if args.key?(:form)
5758
+ @name = args[:name] if args.key?(:name)
5759
+ @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
5760
+ @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
5761
+ end
5762
+ end
5763
+
5764
+ # Represents page information communicated to and from the webhook.
5765
+ class GoogleCloudDialogflowCxV3beta1PageInfo
5766
+ include Google::Apis::Core::Hashable
5767
+
5768
+ # Always present for WebhookRequest. Ignored for WebhookResponse. The unique
5769
+ # identifier of the current page. Format: `projects//locations//agents//flows//
5770
+ # pages/`.
5771
+ # Corresponds to the JSON property `currentPage`
5772
+ # @return [String]
5773
+ attr_accessor :current_page
5774
+
5775
+ # Represents form information.
5776
+ # Corresponds to the JSON property `formInfo`
5777
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1PageInfoFormInfo]
5778
+ attr_accessor :form_info
5779
+
5780
+ def initialize(**args)
5781
+ update!(**args)
5782
+ end
5783
+
5784
+ # Update properties of this object
5785
+ def update!(**args)
5786
+ @current_page = args[:current_page] if args.key?(:current_page)
5787
+ @form_info = args[:form_info] if args.key?(:form_info)
5788
+ end
5789
+ end
5790
+
5791
+ # Represents form information.
5792
+ class GoogleCloudDialogflowCxV3beta1PageInfoFormInfo
5793
+ include Google::Apis::Core::Hashable
5794
+
5795
+ # Optional for both WebhookRequest and WebhookResponse. The parameters contained
5796
+ # in the form. Note that the webhook cannot add or remove any form parameter.
5797
+ # Corresponds to the JSON property `parameterInfo`
5798
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo>]
5799
+ attr_accessor :parameter_info
5800
+
5801
+ def initialize(**args)
5802
+ update!(**args)
5803
+ end
5804
+
5805
+ # Update properties of this object
5806
+ def update!(**args)
5807
+ @parameter_info = args[:parameter_info] if args.key?(:parameter_info)
3580
5808
  end
3581
5809
  end
3582
5810
 
@@ -3584,41 +5812,398 @@ module Google
3584
5812
  class GoogleCloudDialogflowCxV3beta1PageInfoFormInfoParameterInfo
3585
5813
  include Google::Apis::Core::Hashable
3586
5814
 
3587
- # Always present for WebhookRequest. Required for WebhookResponse. The human-
3588
- # readable name of the parameter, unique within the form. This field cannot be
3589
- # modified by the webhook.
3590
- # Corresponds to the JSON property `displayName`
5815
+ # Always present for WebhookRequest. Required for WebhookResponse. The human-
5816
+ # readable name of the parameter, unique within the form. This field cannot be
5817
+ # modified by the webhook.
5818
+ # Corresponds to the JSON property `displayName`
5819
+ # @return [String]
5820
+ attr_accessor :display_name
5821
+
5822
+ # Optional for WebhookRequest. Ignored for WebhookResponse. Indicates if the
5823
+ # parameter value was just collected on the last conversation turn.
5824
+ # Corresponds to the JSON property `justCollected`
5825
+ # @return [Boolean]
5826
+ attr_accessor :just_collected
5827
+ alias_method :just_collected?, :just_collected
5828
+
5829
+ # Optional for both WebhookRequest and WebhookResponse. Indicates whether the
5830
+ # parameter is required. Optional parameters will not trigger prompts; however,
5831
+ # they are filled if the user specifies them. Required parameters must be filled
5832
+ # before form filling concludes.
5833
+ # Corresponds to the JSON property `required`
5834
+ # @return [Boolean]
5835
+ attr_accessor :required
5836
+ alias_method :required?, :required
5837
+
5838
+ # Always present for WebhookRequest. Required for WebhookResponse. The state of
5839
+ # the parameter. This field can be set to INVALID by the webhook to invalidate
5840
+ # the parameter; other values set by the webhook will be ignored.
5841
+ # Corresponds to the JSON property `state`
5842
+ # @return [String]
5843
+ attr_accessor :state
5844
+
5845
+ # Optional for both WebhookRequest and WebhookResponse. The value of the
5846
+ # parameter. This field can be set by the webhook to change the parameter value.
5847
+ # Corresponds to the JSON property `value`
5848
+ # @return [Object]
5849
+ attr_accessor :value
5850
+
5851
+ def initialize(**args)
5852
+ update!(**args)
5853
+ end
5854
+
5855
+ # Update properties of this object
5856
+ def update!(**args)
5857
+ @display_name = args[:display_name] if args.key?(:display_name)
5858
+ @just_collected = args[:just_collected] if args.key?(:just_collected)
5859
+ @required = args[:required] if args.key?(:required)
5860
+ @state = args[:state] if args.key?(:state)
5861
+ @value = args[:value] if args.key?(:value)
5862
+ end
5863
+ end
5864
+
5865
+ # Represents the query input. It can contain one of: 1. A conversational query
5866
+ # in the form of text. 2. An intent query that specifies which intent to trigger.
5867
+ # 3. Natural language speech audio to be processed. 4. An event to be triggered.
5868
+ #
5869
+ class GoogleCloudDialogflowCxV3beta1QueryInput
5870
+ include Google::Apis::Core::Hashable
5871
+
5872
+ # Represents the natural speech audio to be processed.
5873
+ # Corresponds to the JSON property `audio`
5874
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AudioInput]
5875
+ attr_accessor :audio
5876
+
5877
+ # Represents the input for dtmf event.
5878
+ # Corresponds to the JSON property `dtmf`
5879
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1DtmfInput]
5880
+ attr_accessor :dtmf
5881
+
5882
+ # Represents the event to trigger.
5883
+ # Corresponds to the JSON property `event`
5884
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1EventInput]
5885
+ attr_accessor :event
5886
+
5887
+ # Represents the intent to trigger programmatically rather than as a result of
5888
+ # natural language processing.
5889
+ # Corresponds to the JSON property `intent`
5890
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1IntentInput]
5891
+ attr_accessor :intent
5892
+
5893
+ # Required. The language of the input. See [Language Support](https://cloud.
5894
+ # google.com/dialogflow/docs/reference/language) for a list of the currently
5895
+ # supported language codes. Note that queries in the same session do not
5896
+ # necessarily need to specify the same language.
5897
+ # Corresponds to the JSON property `languageCode`
5898
+ # @return [String]
5899
+ attr_accessor :language_code
5900
+
5901
+ # Represents the natural language text to be processed.
5902
+ # Corresponds to the JSON property `text`
5903
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TextInput]
5904
+ attr_accessor :text
5905
+
5906
+ def initialize(**args)
5907
+ update!(**args)
5908
+ end
5909
+
5910
+ # Update properties of this object
5911
+ def update!(**args)
5912
+ @audio = args[:audio] if args.key?(:audio)
5913
+ @dtmf = args[:dtmf] if args.key?(:dtmf)
5914
+ @event = args[:event] if args.key?(:event)
5915
+ @intent = args[:intent] if args.key?(:intent)
5916
+ @language_code = args[:language_code] if args.key?(:language_code)
5917
+ @text = args[:text] if args.key?(:text)
5918
+ end
5919
+ end
5920
+
5921
+ # Metadata for ReloadDocument operation.
5922
+ class GoogleCloudDialogflowCxV3beta1ReloadDocumentOperationMetadata
5923
+ include Google::Apis::Core::Hashable
5924
+
5925
+ # Metadata in google::longrunning::Operation for Knowledge operations.
5926
+ # Corresponds to the JSON property `genericMetadata`
5927
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata]
5928
+ attr_accessor :generic_metadata
5929
+
5930
+ def initialize(**args)
5931
+ update!(**args)
5932
+ end
5933
+
5934
+ # Update properties of this object
5935
+ def update!(**args)
5936
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
5937
+ end
5938
+ end
5939
+
5940
+ # Represents a response message that can be returned by a conversational agent.
5941
+ # Response messages are also used for output audio synthesis. The approach is as
5942
+ # follows: * If at least one OutputAudioText response is present, then all
5943
+ # OutputAudioText responses are linearly concatenated, and the result is used
5944
+ # for output audio synthesis. * If the OutputAudioText responses are a mixture
5945
+ # of text and SSML, then the concatenated result is treated as SSML; otherwise,
5946
+ # the result is treated as either text or SSML as appropriate. The agent
5947
+ # designer should ideally use either text or SSML consistently throughout the
5948
+ # bot design. * Otherwise, all Text responses are linearly concatenated, and the
5949
+ # result is used for output audio synthesis. This approach allows for more
5950
+ # sophisticated user experience scenarios, where the text displayed to the user
5951
+ # may differ from what is heard.
5952
+ class GoogleCloudDialogflowCxV3beta1ResponseMessage
5953
+ include Google::Apis::Core::Hashable
5954
+
5955
+ # Indicates that the conversation succeeded, i.e., the bot handled the issue
5956
+ # that the customer talked to it about. Dialogflow only uses this to determine
5957
+ # which conversations should be counted as successful and doesn't process the
5958
+ # metadata in this message in any way. Note that Dialogflow also considers
5959
+ # conversations that get to the conversation end page as successful even if they
5960
+ # don't return ConversationSuccess. You may set this, for example: * In the
5961
+ # entry_fulfillment of a Page if entering the page indicates that the
5962
+ # conversation succeeded. * In a webhook response when you determine that you
5963
+ # handled the customer issue.
5964
+ # Corresponds to the JSON property `conversationSuccess`
5965
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess]
5966
+ attr_accessor :conversation_success
5967
+
5968
+ # Indicates that interaction with the Dialogflow agent has ended. This message
5969
+ # is generated by Dialogflow only and not supposed to be defined by the user.
5970
+ # Corresponds to the JSON property `endInteraction`
5971
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction]
5972
+ attr_accessor :end_interaction
5973
+
5974
+ # Indicates that the conversation should be handed off to a live agent.
5975
+ # Dialogflow only uses this to determine which conversations were handed off to
5976
+ # a human agent for measurement purposes. What else to do with this signal is up
5977
+ # to you and your handoff procedures. You may set this, for example: * In the
5978
+ # entry_fulfillment of a Page if entering the page indicates something went
5979
+ # extremely wrong in the conversation. * In a webhook response when you
5980
+ # determine that the customer issue can only be handled by a human.
5981
+ # Corresponds to the JSON property `liveAgentHandoff`
5982
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff]
5983
+ attr_accessor :live_agent_handoff
5984
+
5985
+ # Represents an audio message that is composed of both segments synthesized from
5986
+ # the Dialogflow agent prompts and ones hosted externally at the specified URIs.
5987
+ # The external URIs are specified via play_audio. This message is generated by
5988
+ # Dialogflow only and not supposed to be defined by the user.
5989
+ # Corresponds to the JSON property `mixedAudio`
5990
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio]
5991
+ attr_accessor :mixed_audio
5992
+
5993
+ # A text or ssml response that is preferentially used for TTS output audio
5994
+ # synthesis, as described in the comment on the ResponseMessage message.
5995
+ # Corresponds to the JSON property `outputAudioText`
5996
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText]
5997
+ attr_accessor :output_audio_text
5998
+
5999
+ # Returns a response containing a custom, platform-specific payload.
6000
+ # Corresponds to the JSON property `payload`
6001
+ # @return [Hash<String,Object>]
6002
+ attr_accessor :payload
6003
+
6004
+ # Specifies an audio clip to be played by the client as part of the response.
6005
+ # Corresponds to the JSON property `playAudio`
6006
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio]
6007
+ attr_accessor :play_audio
6008
+
6009
+ # The text response message.
6010
+ # Corresponds to the JSON property `text`
6011
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageText]
6012
+ attr_accessor :text
6013
+
6014
+ def initialize(**args)
6015
+ update!(**args)
6016
+ end
6017
+
6018
+ # Update properties of this object
6019
+ def update!(**args)
6020
+ @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
6021
+ @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
6022
+ @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
6023
+ @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
6024
+ @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
6025
+ @payload = args[:payload] if args.key?(:payload)
6026
+ @play_audio = args[:play_audio] if args.key?(:play_audio)
6027
+ @text = args[:text] if args.key?(:text)
6028
+ end
6029
+ end
6030
+
6031
+ # Indicates that the conversation succeeded, i.e., the bot handled the issue
6032
+ # that the customer talked to it about. Dialogflow only uses this to determine
6033
+ # which conversations should be counted as successful and doesn't process the
6034
+ # metadata in this message in any way. Note that Dialogflow also considers
6035
+ # conversations that get to the conversation end page as successful even if they
6036
+ # don't return ConversationSuccess. You may set this, for example: * In the
6037
+ # entry_fulfillment of a Page if entering the page indicates that the
6038
+ # conversation succeeded. * In a webhook response when you determine that you
6039
+ # handled the customer issue.
6040
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess
6041
+ include Google::Apis::Core::Hashable
6042
+
6043
+ # Custom metadata. Dialogflow doesn't impose any structure on this.
6044
+ # Corresponds to the JSON property `metadata`
6045
+ # @return [Hash<String,Object>]
6046
+ attr_accessor :metadata
6047
+
6048
+ def initialize(**args)
6049
+ update!(**args)
6050
+ end
6051
+
6052
+ # Update properties of this object
6053
+ def update!(**args)
6054
+ @metadata = args[:metadata] if args.key?(:metadata)
6055
+ end
6056
+ end
6057
+
6058
+ # Indicates that interaction with the Dialogflow agent has ended. This message
6059
+ # is generated by Dialogflow only and not supposed to be defined by the user.
6060
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction
6061
+ include Google::Apis::Core::Hashable
6062
+
6063
+ def initialize(**args)
6064
+ update!(**args)
6065
+ end
6066
+
6067
+ # Update properties of this object
6068
+ def update!(**args)
6069
+ end
6070
+ end
6071
+
6072
+ # Indicates that the conversation should be handed off to a live agent.
6073
+ # Dialogflow only uses this to determine which conversations were handed off to
6074
+ # a human agent for measurement purposes. What else to do with this signal is up
6075
+ # to you and your handoff procedures. You may set this, for example: * In the
6076
+ # entry_fulfillment of a Page if entering the page indicates something went
6077
+ # extremely wrong in the conversation. * In a webhook response when you
6078
+ # determine that the customer issue can only be handled by a human.
6079
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff
6080
+ include Google::Apis::Core::Hashable
6081
+
6082
+ # Custom metadata for your handoff procedure. Dialogflow doesn't impose any
6083
+ # structure on this.
6084
+ # Corresponds to the JSON property `metadata`
6085
+ # @return [Hash<String,Object>]
6086
+ attr_accessor :metadata
6087
+
6088
+ def initialize(**args)
6089
+ update!(**args)
6090
+ end
6091
+
6092
+ # Update properties of this object
6093
+ def update!(**args)
6094
+ @metadata = args[:metadata] if args.key?(:metadata)
6095
+ end
6096
+ end
6097
+
6098
+ # Represents an audio message that is composed of both segments synthesized from
6099
+ # the Dialogflow agent prompts and ones hosted externally at the specified URIs.
6100
+ # The external URIs are specified via play_audio. This message is generated by
6101
+ # Dialogflow only and not supposed to be defined by the user.
6102
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio
6103
+ include Google::Apis::Core::Hashable
6104
+
6105
+ # Segments this audio response is composed of.
6106
+ # Corresponds to the JSON property `segments`
6107
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment>]
6108
+ attr_accessor :segments
6109
+
6110
+ def initialize(**args)
6111
+ update!(**args)
6112
+ end
6113
+
6114
+ # Update properties of this object
6115
+ def update!(**args)
6116
+ @segments = args[:segments] if args.key?(:segments)
6117
+ end
6118
+ end
6119
+
6120
+ # Represents one segment of audio.
6121
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment
6122
+ include Google::Apis::Core::Hashable
6123
+
6124
+ # Output only. Whether the playback of this segment can be interrupted by the
6125
+ # end user's speech and the client should then start the next Dialogflow request.
6126
+ # Corresponds to the JSON property `allowPlaybackInterruption`
6127
+ # @return [Boolean]
6128
+ attr_accessor :allow_playback_interruption
6129
+ alias_method :allow_playback_interruption?, :allow_playback_interruption
6130
+
6131
+ # Raw audio synthesized from the Dialogflow agent's response using the output
6132
+ # config specified in the request.
6133
+ # Corresponds to the JSON property `audio`
6134
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3591
6135
  # @return [String]
3592
- attr_accessor :display_name
6136
+ attr_accessor :audio
6137
+
6138
+ # Client-specific URI that points to an audio clip accessible to the client.
6139
+ # Dialogflow does not impose any validation on it.
6140
+ # Corresponds to the JSON property `uri`
6141
+ # @return [String]
6142
+ attr_accessor :uri
6143
+
6144
+ def initialize(**args)
6145
+ update!(**args)
6146
+ end
6147
+
6148
+ # Update properties of this object
6149
+ def update!(**args)
6150
+ @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
6151
+ @audio = args[:audio] if args.key?(:audio)
6152
+ @uri = args[:uri] if args.key?(:uri)
6153
+ end
6154
+ end
6155
+
6156
+ # A text or ssml response that is preferentially used for TTS output audio
6157
+ # synthesis, as described in the comment on the ResponseMessage message.
6158
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText
6159
+ include Google::Apis::Core::Hashable
6160
+
6161
+ # Output only. Whether the playback of this message can be interrupted by the
6162
+ # end user's speech and the client can then starts the next Dialogflow request.
6163
+ # Corresponds to the JSON property `allowPlaybackInterruption`
6164
+ # @return [Boolean]
6165
+ attr_accessor :allow_playback_interruption
6166
+ alias_method :allow_playback_interruption?, :allow_playback_interruption
6167
+
6168
+ # The SSML text to be synthesized. For more information, see [SSML](/speech/text-
6169
+ # to-speech/docs/ssml).
6170
+ # Corresponds to the JSON property `ssml`
6171
+ # @return [String]
6172
+ attr_accessor :ssml
6173
+
6174
+ # The raw text to be synthesized.
6175
+ # Corresponds to the JSON property `text`
6176
+ # @return [String]
6177
+ attr_accessor :text
6178
+
6179
+ def initialize(**args)
6180
+ update!(**args)
6181
+ end
6182
+
6183
+ # Update properties of this object
6184
+ def update!(**args)
6185
+ @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
6186
+ @ssml = args[:ssml] if args.key?(:ssml)
6187
+ @text = args[:text] if args.key?(:text)
6188
+ end
6189
+ end
3593
6190
 
3594
- # Optional for WebhookRequest. Ignored for WebhookResponse. Indicates if the
3595
- # parameter value was just collected on the last conversation turn.
3596
- # Corresponds to the JSON property `justCollected`
3597
- # @return [Boolean]
3598
- attr_accessor :just_collected
3599
- alias_method :just_collected?, :just_collected
6191
+ # Specifies an audio clip to be played by the client as part of the response.
6192
+ class GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio
6193
+ include Google::Apis::Core::Hashable
3600
6194
 
3601
- # Optional for both WebhookRequest and WebhookResponse. Indicates whether the
3602
- # parameter is required. Optional parameters will not trigger prompts; however,
3603
- # they are filled if the user specifies them. Required parameters must be filled
3604
- # before form filling concludes.
3605
- # Corresponds to the JSON property `required`
6195
+ # Output only. Whether the playback of this message can be interrupted by the
6196
+ # end user's speech and the client can then starts the next Dialogflow request.
6197
+ # Corresponds to the JSON property `allowPlaybackInterruption`
3606
6198
  # @return [Boolean]
3607
- attr_accessor :required
3608
- alias_method :required?, :required
6199
+ attr_accessor :allow_playback_interruption
6200
+ alias_method :allow_playback_interruption?, :allow_playback_interruption
3609
6201
 
3610
- # Always present for WebhookRequest. Required for WebhookResponse. The state of
3611
- # the parameter. This field can be set to INVALID by the webhook to invalidate
3612
- # the parameter; other values set by the webhook will be ignored.
3613
- # Corresponds to the JSON property `state`
6202
+ # Required. URI of the audio clip. Dialogflow does not impose any validation on
6203
+ # this value. It is specific to the client that reads it.
6204
+ # Corresponds to the JSON property `audioUri`
3614
6205
  # @return [String]
3615
- attr_accessor :state
3616
-
3617
- # Optional for both WebhookRequest and WebhookResponse. The value of the
3618
- # parameter. This field can be set by the webhook to change the parameter value.
3619
- # Corresponds to the JSON property `value`
3620
- # @return [Object]
3621
- attr_accessor :value
6206
+ attr_accessor :audio_uri
3622
6207
 
3623
6208
  def initialize(**args)
3624
6209
  update!(**args)
@@ -3626,87 +6211,59 @@ module Google
3626
6211
 
3627
6212
  # Update properties of this object
3628
6213
  def update!(**args)
3629
- @display_name = args[:display_name] if args.key?(:display_name)
3630
- @just_collected = args[:just_collected] if args.key?(:just_collected)
3631
- @required = args[:required] if args.key?(:required)
3632
- @state = args[:state] if args.key?(:state)
3633
- @value = args[:value] if args.key?(:value)
6214
+ @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
6215
+ @audio_uri = args[:audio_uri] if args.key?(:audio_uri)
3634
6216
  end
3635
6217
  end
3636
6218
 
3637
- # Represents a response message that can be returned by a conversational agent.
3638
- # Response messages are also used for output audio synthesis. The approach is as
3639
- # follows: * If at least one OutputAudioText response is present, then all
3640
- # OutputAudioText responses are linearly concatenated, and the result is used
3641
- # for output audio synthesis. * If the OutputAudioText responses are a mixture
3642
- # of text and SSML, then the concatenated result is treated as SSML; otherwise,
3643
- # the result is treated as either text or SSML as appropriate. The agent
3644
- # designer should ideally use either text or SSML consistently throughout the
3645
- # bot design. * Otherwise, all Text responses are linearly concatenated, and the
3646
- # result is used for output audio synthesis. This approach allows for more
3647
- # sophisticated user experience scenarios, where the text displayed to the user
3648
- # may differ from what is heard.
3649
- class GoogleCloudDialogflowCxV3beta1ResponseMessage
6219
+ # The text response message.
6220
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageText
3650
6221
  include Google::Apis::Core::Hashable
3651
6222
 
3652
- # Indicates that the conversation succeeded, i.e., the bot handled the issue
3653
- # that the customer talked to it about. Dialogflow only uses this to determine
3654
- # which conversations should be counted as successful and doesn't process the
3655
- # metadata in this message in any way. Note that Dialogflow also considers
3656
- # conversations that get to the conversation end page as successful even if they
3657
- # don't return ConversationSuccess. You may set this, for example: * In the
3658
- # entry_fulfillment of a Page if entering the page indicates that the
3659
- # conversation succeeded. * In a webhook response when you determine that you
3660
- # handled the customer issue.
3661
- # Corresponds to the JSON property `conversationSuccess`
3662
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess]
3663
- attr_accessor :conversation_success
6223
+ # Output only. Whether the playback of this message can be interrupted by the
6224
+ # end user's speech and the client can then starts the next Dialogflow request.
6225
+ # Corresponds to the JSON property `allowPlaybackInterruption`
6226
+ # @return [Boolean]
6227
+ attr_accessor :allow_playback_interruption
6228
+ alias_method :allow_playback_interruption?, :allow_playback_interruption
3664
6229
 
3665
- # Indicates that interaction with the Dialogflow agent has ended. This message
3666
- # is generated by Dialogflow only and not supposed to be defined by the user.
3667
- # Corresponds to the JSON property `endInteraction`
3668
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction]
3669
- attr_accessor :end_interaction
6230
+ # Required. A collection of text responses.
6231
+ # Corresponds to the JSON property `text`
6232
+ # @return [Array<String>]
6233
+ attr_accessor :text
3670
6234
 
3671
- # Indicates that the conversation should be handed off to a live agent.
3672
- # Dialogflow only uses this to determine which conversations were handed off to
3673
- # a human agent for measurement purposes. What else to do with this signal is up
3674
- # to you and your handoff procedures. You may set this, for example: * In the
3675
- # entry_fulfillment of a Page if entering the page indicates something went
3676
- # extremely wrong in the conversation. * In a webhook response when you
3677
- # determine that the customer issue can only be handled by a human.
3678
- # Corresponds to the JSON property `liveAgentHandoff`
3679
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff]
3680
- attr_accessor :live_agent_handoff
6235
+ def initialize(**args)
6236
+ update!(**args)
6237
+ end
3681
6238
 
3682
- # Represents an audio message that is composed of both segments synthesized from
3683
- # the Dialogflow agent prompts and ones hosted externally at the specified URIs.
3684
- # The external URIs are specified via play_audio. This message is generated by
3685
- # Dialogflow only and not supposed to be defined by the user.
3686
- # Corresponds to the JSON property `mixedAudio`
3687
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio]
3688
- attr_accessor :mixed_audio
6239
+ # Update properties of this object
6240
+ def update!(**args)
6241
+ @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
6242
+ @text = args[:text] if args.key?(:text)
6243
+ end
6244
+ end
3689
6245
 
3690
- # A text or ssml response that is preferentially used for TTS output audio
3691
- # synthesis, as described in the comment on the ResponseMessage message.
3692
- # Corresponds to the JSON property `outputAudioText`
3693
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText]
3694
- attr_accessor :output_audio_text
6246
+ # Metadata returned for the TestCases.RunTestCase long running operation.
6247
+ class GoogleCloudDialogflowCxV3beta1RunTestCaseMetadata
6248
+ include Google::Apis::Core::Hashable
3695
6249
 
3696
- # Returns a response containing a custom, platform-specific payload.
3697
- # Corresponds to the JSON property `payload`
3698
- # @return [Hash<String,Object>]
3699
- attr_accessor :payload
6250
+ def initialize(**args)
6251
+ update!(**args)
6252
+ end
3700
6253
 
3701
- # Specifies an audio clip to be played by the client as part of the response.
3702
- # Corresponds to the JSON property `playAudio`
3703
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio]
3704
- attr_accessor :play_audio
6254
+ # Update properties of this object
6255
+ def update!(**args)
6256
+ end
6257
+ end
3705
6258
 
3706
- # The text response message.
3707
- # Corresponds to the JSON property `text`
3708
- # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageText]
3709
- attr_accessor :text
6259
+ # The response message for TestCases.RunTestCase.
6260
+ class GoogleCloudDialogflowCxV3beta1RunTestCaseResponse
6261
+ include Google::Apis::Core::Hashable
6262
+
6263
+ # Represents a result from running a test case in an agent environment.
6264
+ # Corresponds to the JSON property `result`
6265
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestCaseResult]
6266
+ attr_accessor :result
3710
6267
 
3711
6268
  def initialize(**args)
3712
6269
  update!(**args)
@@ -3714,33 +6271,29 @@ module Google
3714
6271
 
3715
6272
  # Update properties of this object
3716
6273
  def update!(**args)
3717
- @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
3718
- @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
3719
- @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
3720
- @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
3721
- @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
3722
- @payload = args[:payload] if args.key?(:payload)
3723
- @play_audio = args[:play_audio] if args.key?(:play_audio)
3724
- @text = args[:text] if args.key?(:text)
6274
+ @result = args[:result] if args.key?(:result)
3725
6275
  end
3726
6276
  end
3727
6277
 
3728
- # Indicates that the conversation succeeded, i.e., the bot handled the issue
3729
- # that the customer talked to it about. Dialogflow only uses this to determine
3730
- # which conversations should be counted as successful and doesn't process the
3731
- # metadata in this message in any way. Note that Dialogflow also considers
3732
- # conversations that get to the conversation end page as successful even if they
3733
- # don't return ConversationSuccess. You may set this, for example: * In the
3734
- # entry_fulfillment of a Page if entering the page indicates that the
3735
- # conversation succeeded. * In a webhook response when you determine that you
3736
- # handled the customer issue.
3737
- class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess
6278
+ # Represents session information communicated to and from the webhook.
6279
+ class GoogleCloudDialogflowCxV3beta1SessionInfo
3738
6280
  include Google::Apis::Core::Hashable
3739
6281
 
3740
- # Custom metadata. Dialogflow doesn't impose any structure on this.
3741
- # Corresponds to the JSON property `metadata`
6282
+ # Optional for WebhookRequest. Optional for WebhookResponse. All parameters
6283
+ # collected from forms and intents during the session. Parameters can be created,
6284
+ # updated, or removed by the webhook. To remove a parameter from the session,
6285
+ # the webhook should explicitly set the parameter value to null in
6286
+ # WebhookResponse. The map is keyed by parameters' display names.
6287
+ # Corresponds to the JSON property `parameters`
3742
6288
  # @return [Hash<String,Object>]
3743
- attr_accessor :metadata
6289
+ attr_accessor :parameters
6290
+
6291
+ # Always present for WebhookRequest. Ignored for WebhookResponse. The unique
6292
+ # identifier of the session. This field can be used by the webhook to identify a
6293
+ # user. Format: `projects//locations//agents//sessions/`.
6294
+ # Corresponds to the JSON property `session`
6295
+ # @return [String]
6296
+ attr_accessor :session
3744
6297
 
3745
6298
  def initialize(**args)
3746
6299
  update!(**args)
@@ -3748,39 +6301,140 @@ module Google
3748
6301
 
3749
6302
  # Update properties of this object
3750
6303
  def update!(**args)
3751
- @metadata = args[:metadata] if args.key?(:metadata)
6304
+ @parameters = args[:parameters] if args.key?(:parameters)
6305
+ @session = args[:session] if args.key?(:session)
3752
6306
  end
3753
6307
  end
3754
6308
 
3755
- # Indicates that interaction with the Dialogflow agent has ended. This message
3756
- # is generated by Dialogflow only and not supposed to be defined by the user.
3757
- class GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction
6309
+ # Represents a test case.
6310
+ class GoogleCloudDialogflowCxV3beta1TestCase
6311
+ include Google::Apis::Core::Hashable
6312
+
6313
+ # Output only. When the test was created.
6314
+ # Corresponds to the JSON property `creationTime`
6315
+ # @return [String]
6316
+ attr_accessor :creation_time
6317
+
6318
+ # Required. The human-readable name of the test case, unique within the agent.
6319
+ # Limit of 200 characters.
6320
+ # Corresponds to the JSON property `displayName`
6321
+ # @return [String]
6322
+ attr_accessor :display_name
6323
+
6324
+ # Represents a result from running a test case in an agent environment.
6325
+ # Corresponds to the JSON property `lastTestResult`
6326
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestCaseResult]
6327
+ attr_accessor :last_test_result
6328
+
6329
+ # The unique identifier of the test case. TestCases.CreateTestCase will populate
6330
+ # the name automatically. Otherwise use format: `projects//locations//agents/ /
6331
+ # testCases/`.
6332
+ # Corresponds to the JSON property `name`
6333
+ # @return [String]
6334
+ attr_accessor :name
6335
+
6336
+ # Additional freeform notes about the test case. Limit of 400 characters.
6337
+ # Corresponds to the JSON property `notes`
6338
+ # @return [String]
6339
+ attr_accessor :notes
6340
+
6341
+ # Tags are short descriptions that users may apply to test cases for
6342
+ # organizational and filtering purposes. Each tag should start with "#" and has
6343
+ # a limit of 30 characters.
6344
+ # Corresponds to the JSON property `tags`
6345
+ # @return [Array<String>]
6346
+ attr_accessor :tags
6347
+
6348
+ # The conversation turns uttered when the test case was created, in
6349
+ # chronological order. These include the canonical set of agent utterances that
6350
+ # should occur when the agent is working properly.
6351
+ # Corresponds to the JSON property `testCaseConversationTurns`
6352
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ConversationTurn>]
6353
+ attr_accessor :test_case_conversation_turns
6354
+
6355
+ # Represents configurations for a test case.
6356
+ # Corresponds to the JSON property `testConfig`
6357
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestConfig]
6358
+ attr_accessor :test_config
6359
+
6360
+ def initialize(**args)
6361
+ update!(**args)
6362
+ end
6363
+
6364
+ # Update properties of this object
6365
+ def update!(**args)
6366
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
6367
+ @display_name = args[:display_name] if args.key?(:display_name)
6368
+ @last_test_result = args[:last_test_result] if args.key?(:last_test_result)
6369
+ @name = args[:name] if args.key?(:name)
6370
+ @notes = args[:notes] if args.key?(:notes)
6371
+ @tags = args[:tags] if args.key?(:tags)
6372
+ @test_case_conversation_turns = args[:test_case_conversation_turns] if args.key?(:test_case_conversation_turns)
6373
+ @test_config = args[:test_config] if args.key?(:test_config)
6374
+ end
6375
+ end
6376
+
6377
+ # Error info for importing a test.
6378
+ class GoogleCloudDialogflowCxV3beta1TestCaseError
3758
6379
  include Google::Apis::Core::Hashable
3759
6380
 
6381
+ # The `Status` type defines a logical error model that is suitable for different
6382
+ # programming environments, including REST APIs and RPC APIs. It is used by [
6383
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
6384
+ # data: error code, error message, and error details. You can find out more
6385
+ # about this error model and how to work with it in the [API Design Guide](https:
6386
+ # //cloud.google.com/apis/design/errors).
6387
+ # Corresponds to the JSON property `status`
6388
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
6389
+ attr_accessor :status
6390
+
6391
+ # Represents a test case.
6392
+ # Corresponds to the JSON property `testCase`
6393
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1TestCase]
6394
+ attr_accessor :test_case
6395
+
3760
6396
  def initialize(**args)
3761
6397
  update!(**args)
3762
6398
  end
3763
6399
 
3764
6400
  # Update properties of this object
3765
6401
  def update!(**args)
6402
+ @status = args[:status] if args.key?(:status)
6403
+ @test_case = args[:test_case] if args.key?(:test_case)
3766
6404
  end
3767
6405
  end
3768
6406
 
3769
- # Indicates that the conversation should be handed off to a live agent.
3770
- # Dialogflow only uses this to determine which conversations were handed off to
3771
- # a human agent for measurement purposes. What else to do with this signal is up
3772
- # to you and your handoff procedures. You may set this, for example: * In the
3773
- # entry_fulfillment of a Page if entering the page indicates something went
3774
- # extremely wrong in the conversation. * In a webhook response when you
3775
- # determine that the customer issue can only be handled by a human.
3776
- class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff
6407
+ # Represents a result from running a test case in an agent environment.
6408
+ class GoogleCloudDialogflowCxV3beta1TestCaseResult
3777
6409
  include Google::Apis::Core::Hashable
3778
6410
 
3779
- # Custom metadata for your handoff procedure. Dialogflow doesn't impose any
3780
- # structure on this.
3781
- # Corresponds to the JSON property `metadata`
3782
- # @return [Hash<String,Object>]
3783
- attr_accessor :metadata
6411
+ # The conversation turns uttered during the test case replay in chronological
6412
+ # order.
6413
+ # Corresponds to the JSON property `conversationTurns`
6414
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ConversationTurn>]
6415
+ attr_accessor :conversation_turns
6416
+
6417
+ # Optional. Environment where the test was run. If not set, it indicates the
6418
+ # draft environment.
6419
+ # Corresponds to the JSON property `environment`
6420
+ # @return [String]
6421
+ attr_accessor :environment
6422
+
6423
+ # The resource name for the test case result. Format: `projects//locations//
6424
+ # agents//testCases/ /results/`.
6425
+ # Corresponds to the JSON property `name`
6426
+ # @return [String]
6427
+ attr_accessor :name
6428
+
6429
+ # Whether the test case passed in the agent environment.
6430
+ # Corresponds to the JSON property `testResult`
6431
+ # @return [String]
6432
+ attr_accessor :test_result
6433
+
6434
+ # The time that the test was run.
6435
+ # Corresponds to the JSON property `testTime`
6436
+ # @return [String]
6437
+ attr_accessor :test_time
3784
6438
 
3785
6439
  def initialize(**args)
3786
6440
  update!(**args)
@@ -3788,21 +6442,28 @@ module Google
3788
6442
 
3789
6443
  # Update properties of this object
3790
6444
  def update!(**args)
3791
- @metadata = args[:metadata] if args.key?(:metadata)
6445
+ @conversation_turns = args[:conversation_turns] if args.key?(:conversation_turns)
6446
+ @environment = args[:environment] if args.key?(:environment)
6447
+ @name = args[:name] if args.key?(:name)
6448
+ @test_result = args[:test_result] if args.key?(:test_result)
6449
+ @test_time = args[:test_time] if args.key?(:test_time)
3792
6450
  end
3793
6451
  end
3794
6452
 
3795
- # Represents an audio message that is composed of both segments synthesized from
3796
- # the Dialogflow agent prompts and ones hosted externally at the specified URIs.
3797
- # The external URIs are specified via play_audio. This message is generated by
3798
- # Dialogflow only and not supposed to be defined by the user.
3799
- class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudio
6453
+ # Represents configurations for a test case.
6454
+ class GoogleCloudDialogflowCxV3beta1TestConfig
3800
6455
  include Google::Apis::Core::Hashable
3801
6456
 
3802
- # Segments this audio response is composed of.
3803
- # Corresponds to the JSON property `segments`
3804
- # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment>]
3805
- attr_accessor :segments
6457
+ # Flow name. If not set, default start flow is assumed. Format: `projects//
6458
+ # locations//agents//flows/`.
6459
+ # Corresponds to the JSON property `flow`
6460
+ # @return [String]
6461
+ attr_accessor :flow
6462
+
6463
+ # Session parameters to be compared when calculating differences.
6464
+ # Corresponds to the JSON property `trackingParameters`
6465
+ # @return [Array<String>]
6466
+ attr_accessor :tracking_parameters
3806
6467
 
3807
6468
  def initialize(**args)
3808
6469
  update!(**args)
@@ -3810,33 +6471,34 @@ module Google
3810
6471
 
3811
6472
  # Update properties of this object
3812
6473
  def update!(**args)
3813
- @segments = args[:segments] if args.key?(:segments)
6474
+ @flow = args[:flow] if args.key?(:flow)
6475
+ @tracking_parameters = args[:tracking_parameters] if args.key?(:tracking_parameters)
3814
6476
  end
3815
6477
  end
3816
6478
 
3817
- # Represents one segment of audio.
3818
- class GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioSegment
6479
+ # Error info for running a test.
6480
+ class GoogleCloudDialogflowCxV3beta1TestError
3819
6481
  include Google::Apis::Core::Hashable
3820
6482
 
3821
- # Output only. Whether the playback of this segment can be interrupted by the
3822
- # end user's speech and the client should then start the next Dialogflow request.
3823
- # Corresponds to the JSON property `allowPlaybackInterruption`
3824
- # @return [Boolean]
3825
- attr_accessor :allow_playback_interruption
3826
- alias_method :allow_playback_interruption?, :allow_playback_interruption
6483
+ # The `Status` type defines a logical error model that is suitable for different
6484
+ # programming environments, including REST APIs and RPC APIs. It is used by [
6485
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
6486
+ # data: error code, error message, and error details. You can find out more
6487
+ # about this error model and how to work with it in the [API Design Guide](https:
6488
+ # //cloud.google.com/apis/design/errors).
6489
+ # Corresponds to the JSON property `status`
6490
+ # @return [Google::Apis::DialogflowV3::GoogleRpcStatus]
6491
+ attr_accessor :status
3827
6492
 
3828
- # Raw audio synthesized from the Dialogflow agent's response using the output
3829
- # config specified in the request.
3830
- # Corresponds to the JSON property `audio`
3831
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
6493
+ # The test case resource name.
6494
+ # Corresponds to the JSON property `testCase`
3832
6495
  # @return [String]
3833
- attr_accessor :audio
6496
+ attr_accessor :test_case
3834
6497
 
3835
- # Client-specific URI that points to an audio clip accessible to the client.
3836
- # Dialogflow does not impose any validation on it.
3837
- # Corresponds to the JSON property `uri`
6498
+ # The timestamp when the test was completed.
6499
+ # Corresponds to the JSON property `testTime`
3838
6500
  # @return [String]
3839
- attr_accessor :uri
6501
+ attr_accessor :test_time
3840
6502
 
3841
6503
  def initialize(**args)
3842
6504
  update!(**args)
@@ -3844,34 +6506,25 @@ module Google
3844
6506
 
3845
6507
  # Update properties of this object
3846
6508
  def update!(**args)
3847
- @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
3848
- @audio = args[:audio] if args.key?(:audio)
3849
- @uri = args[:uri] if args.key?(:uri)
6509
+ @status = args[:status] if args.key?(:status)
6510
+ @test_case = args[:test_case] if args.key?(:test_case)
6511
+ @test_time = args[:test_time] if args.key?(:test_time)
3850
6512
  end
3851
6513
  end
3852
6514
 
3853
- # A text or ssml response that is preferentially used for TTS output audio
3854
- # synthesis, as described in the comment on the ResponseMessage message.
3855
- class GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText
6515
+ # The description of differences between original and replayed agent output.
6516
+ class GoogleCloudDialogflowCxV3beta1TestRunDifference
3856
6517
  include Google::Apis::Core::Hashable
3857
6518
 
3858
- # Output only. Whether the playback of this message can be interrupted by the
3859
- # end user's speech and the client can then starts the next Dialogflow request.
3860
- # Corresponds to the JSON property `allowPlaybackInterruption`
3861
- # @return [Boolean]
3862
- attr_accessor :allow_playback_interruption
3863
- alias_method :allow_playback_interruption?, :allow_playback_interruption
3864
-
3865
- # The SSML text to be synthesized. For more information, see [SSML](/speech/text-
3866
- # to-speech/docs/ssml).
3867
- # Corresponds to the JSON property `ssml`
6519
+ # A description of the diff, showing the actual output vs expected output.
6520
+ # Corresponds to the JSON property `description`
3868
6521
  # @return [String]
3869
- attr_accessor :ssml
6522
+ attr_accessor :description
3870
6523
 
3871
- # The raw text to be synthesized.
3872
- # Corresponds to the JSON property `text`
6524
+ # The type of diff.
6525
+ # Corresponds to the JSON property `type`
3873
6526
  # @return [String]
3874
- attr_accessor :text
6527
+ attr_accessor :type
3875
6528
 
3876
6529
  def initialize(**args)
3877
6530
  update!(**args)
@@ -3879,28 +6532,20 @@ module Google
3879
6532
 
3880
6533
  # Update properties of this object
3881
6534
  def update!(**args)
3882
- @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
3883
- @ssml = args[:ssml] if args.key?(:ssml)
3884
- @text = args[:text] if args.key?(:text)
6535
+ @description = args[:description] if args.key?(:description)
6536
+ @type = args[:type] if args.key?(:type)
3885
6537
  end
3886
6538
  end
3887
6539
 
3888
- # Specifies an audio clip to be played by the client as part of the response.
3889
- class GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio
6540
+ # Represents the natural language text to be processed.
6541
+ class GoogleCloudDialogflowCxV3beta1TextInput
3890
6542
  include Google::Apis::Core::Hashable
3891
6543
 
3892
- # Output only. Whether the playback of this message can be interrupted by the
3893
- # end user's speech and the client can then starts the next Dialogflow request.
3894
- # Corresponds to the JSON property `allowPlaybackInterruption`
3895
- # @return [Boolean]
3896
- attr_accessor :allow_playback_interruption
3897
- alias_method :allow_playback_interruption?, :allow_playback_interruption
3898
-
3899
- # Required. URI of the audio clip. Dialogflow does not impose any validation on
3900
- # this value. It is specific to the client that reads it.
3901
- # Corresponds to the JSON property `audioUri`
6544
+ # Required. The UTF-8 encoded natural language text to be processed. Text length
6545
+ # must not exceed 256 characters.
6546
+ # Corresponds to the JSON property `text`
3902
6547
  # @return [String]
3903
- attr_accessor :audio_uri
6548
+ attr_accessor :text
3904
6549
 
3905
6550
  def initialize(**args)
3906
6551
  update!(**args)
@@ -3908,26 +6553,65 @@ module Google
3908
6553
 
3909
6554
  # Update properties of this object
3910
6555
  def update!(**args)
3911
- @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
3912
- @audio_uri = args[:audio_uri] if args.key?(:audio_uri)
6556
+ @text = args[:text] if args.key?(:text)
3913
6557
  end
3914
6558
  end
3915
6559
 
3916
- # The text response message.
3917
- class GoogleCloudDialogflowCxV3beta1ResponseMessageText
6560
+ # A transition route specifies a intent that can be matched and/or a data
6561
+ # condition that can be evaluated during a session. When a specified transition
6562
+ # is matched, the following actions are taken in order: * If there is a `
6563
+ # trigger_fulfillment` associated with the transition, it will be called. * If
6564
+ # there is a `target_page` associated with the transition, the session will
6565
+ # transition into the specified page. * If there is a `target_flow` associated
6566
+ # with the transition, the session will transition into the specified flow.
6567
+ class GoogleCloudDialogflowCxV3beta1TransitionRoute
3918
6568
  include Google::Apis::Core::Hashable
3919
6569
 
3920
- # Output only. Whether the playback of this message can be interrupted by the
3921
- # end user's speech and the client can then starts the next Dialogflow request.
3922
- # Corresponds to the JSON property `allowPlaybackInterruption`
3923
- # @return [Boolean]
3924
- attr_accessor :allow_playback_interruption
3925
- alias_method :allow_playback_interruption?, :allow_playback_interruption
6570
+ # The condition to evaluate against form parameters or session parameters. See
6571
+ # the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/
6572
+ # reference/condition). At least one of `intent` or `condition` must be
6573
+ # specified. When both `intent` and `condition` are specified, the transition
6574
+ # can only happen when both are fulfilled.
6575
+ # Corresponds to the JSON property `condition`
6576
+ # @return [String]
6577
+ attr_accessor :condition
3926
6578
 
3927
- # Required. A collection of text responses.
3928
- # Corresponds to the JSON property `text`
3929
- # @return [Array<String>]
3930
- attr_accessor :text
6579
+ # The unique identifier of an Intent. Format: `projects//locations//agents//
6580
+ # intents/`. Indicates that the transition can only happen when the given intent
6581
+ # is matched. At least one of `intent` or `condition` must be specified. When
6582
+ # both `intent` and `condition` are specified, the transition can only happen
6583
+ # when both are fulfilled.
6584
+ # Corresponds to the JSON property `intent`
6585
+ # @return [String]
6586
+ attr_accessor :intent
6587
+
6588
+ # Output only. The unique identifier of this transition route.
6589
+ # Corresponds to the JSON property `name`
6590
+ # @return [String]
6591
+ attr_accessor :name
6592
+
6593
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
6594
+ # .
6595
+ # Corresponds to the JSON property `targetFlow`
6596
+ # @return [String]
6597
+ attr_accessor :target_flow
6598
+
6599
+ # The target page to transition to. Format: `projects//locations//agents//flows//
6600
+ # pages/`.
6601
+ # Corresponds to the JSON property `targetPage`
6602
+ # @return [String]
6603
+ attr_accessor :target_page
6604
+
6605
+ # A fulfillment can do one or more of the following actions at the same time: *
6606
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
6607
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
6608
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
6609
+ # the page's entry fulfillment can add a static response to the QueryResult in
6610
+ # the returning DetectIntentResponse, call the webhook (for example, to load
6611
+ # user data from a database), or both.
6612
+ # Corresponds to the JSON property `triggerFulfillment`
6613
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Fulfillment]
6614
+ attr_accessor :trigger_fulfillment
3931
6615
 
3932
6616
  def initialize(**args)
3933
6617
  update!(**args)
@@ -3935,30 +6619,23 @@ module Google
3935
6619
 
3936
6620
  # Update properties of this object
3937
6621
  def update!(**args)
3938
- @allow_playback_interruption = args[:allow_playback_interruption] if args.key?(:allow_playback_interruption)
3939
- @text = args[:text] if args.key?(:text)
6622
+ @condition = args[:condition] if args.key?(:condition)
6623
+ @intent = args[:intent] if args.key?(:intent)
6624
+ @name = args[:name] if args.key?(:name)
6625
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
6626
+ @target_page = args[:target_page] if args.key?(:target_page)
6627
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
3940
6628
  end
3941
6629
  end
3942
6630
 
3943
- # Represents session information communicated to and from the webhook.
3944
- class GoogleCloudDialogflowCxV3beta1SessionInfo
6631
+ # Metadata for UpdateDocument operation.
6632
+ class GoogleCloudDialogflowCxV3beta1UpdateDocumentOperationMetadata
3945
6633
  include Google::Apis::Core::Hashable
3946
6634
 
3947
- # Optional for WebhookRequest. Optional for WebhookResponse. All parameters
3948
- # collected from forms and intents during the session. Parameters can be created,
3949
- # updated, or removed by the webhook. To remove a parameter from the session,
3950
- # the webhook should explicitly set the parameter value to null in
3951
- # WebhookResponse. The map is keyed by parameters' display names.
3952
- # Corresponds to the JSON property `parameters`
3953
- # @return [Hash<String,Object>]
3954
- attr_accessor :parameters
3955
-
3956
- # Always present for WebhookRequest. Ignored for WebhookResponse. The unique
3957
- # identifier of the session. This field can be used by the webhook to identify a
3958
- # user. Format: `projects//locations//agents//sessions/`.
3959
- # Corresponds to the JSON property `session`
3960
- # @return [String]
3961
- attr_accessor :session
6635
+ # Metadata in google::longrunning::Operation for Knowledge operations.
6636
+ # Corresponds to the JSON property `genericMetadata`
6637
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata]
6638
+ attr_accessor :generic_metadata
3962
6639
 
3963
6640
  def initialize(**args)
3964
6641
  update!(**args)
@@ -3966,8 +6643,7 @@ module Google
3966
6643
 
3967
6644
  # Update properties of this object
3968
6645
  def update!(**args)
3969
- @parameters = args[:parameters] if args.key?(:parameters)
3970
- @session = args[:session] if args.key?(:session)
6646
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
3971
6647
  end
3972
6648
  end
3973
6649
 
@@ -8768,6 +11444,139 @@ module Google
8768
11444
  end
8769
11445
  end
8770
11446
 
11447
+ # Metadata for CreateDocument operation.
11448
+ class GoogleCloudDialogflowV3alpha1CreateDocumentOperationMetadata
11449
+ include Google::Apis::Core::Hashable
11450
+
11451
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11452
+ # Corresponds to the JSON property `genericMetadata`
11453
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata]
11454
+ attr_accessor :generic_metadata
11455
+
11456
+ def initialize(**args)
11457
+ update!(**args)
11458
+ end
11459
+
11460
+ # Update properties of this object
11461
+ def update!(**args)
11462
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
11463
+ end
11464
+ end
11465
+
11466
+ # Metadata for DeleteDocument operation.
11467
+ class GoogleCloudDialogflowV3alpha1DeleteDocumentOperationMetadata
11468
+ include Google::Apis::Core::Hashable
11469
+
11470
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11471
+ # Corresponds to the JSON property `genericMetadata`
11472
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata]
11473
+ attr_accessor :generic_metadata
11474
+
11475
+ def initialize(**args)
11476
+ update!(**args)
11477
+ end
11478
+
11479
+ # Update properties of this object
11480
+ def update!(**args)
11481
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
11482
+ end
11483
+ end
11484
+
11485
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11486
+ class GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata
11487
+ include Google::Apis::Core::Hashable
11488
+
11489
+ # Required. Output only. The current state of this operation.
11490
+ # Corresponds to the JSON property `state`
11491
+ # @return [String]
11492
+ attr_accessor :state
11493
+
11494
+ def initialize(**args)
11495
+ update!(**args)
11496
+ end
11497
+
11498
+ # Update properties of this object
11499
+ def update!(**args)
11500
+ @state = args[:state] if args.key?(:state)
11501
+ end
11502
+ end
11503
+
11504
+ # Metadata for ImportDocuments operation.
11505
+ class GoogleCloudDialogflowV3alpha1ImportDocumentsOperationMetadata
11506
+ include Google::Apis::Core::Hashable
11507
+
11508
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11509
+ # Corresponds to the JSON property `genericMetadata`
11510
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata]
11511
+ attr_accessor :generic_metadata
11512
+
11513
+ def initialize(**args)
11514
+ update!(**args)
11515
+ end
11516
+
11517
+ # Update properties of this object
11518
+ def update!(**args)
11519
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
11520
+ end
11521
+ end
11522
+
11523
+ # Response message for Documents.ImportDocuments.
11524
+ class GoogleCloudDialogflowV3alpha1ImportDocumentsResponse
11525
+ include Google::Apis::Core::Hashable
11526
+
11527
+ # Includes details about skipped documents or any other warnings.
11528
+ # Corresponds to the JSON property `warnings`
11529
+ # @return [Array<Google::Apis::DialogflowV3::GoogleRpcStatus>]
11530
+ attr_accessor :warnings
11531
+
11532
+ def initialize(**args)
11533
+ update!(**args)
11534
+ end
11535
+
11536
+ # Update properties of this object
11537
+ def update!(**args)
11538
+ @warnings = args[:warnings] if args.key?(:warnings)
11539
+ end
11540
+ end
11541
+
11542
+ # Metadata for ReloadDocument operation.
11543
+ class GoogleCloudDialogflowV3alpha1ReloadDocumentOperationMetadata
11544
+ include Google::Apis::Core::Hashable
11545
+
11546
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11547
+ # Corresponds to the JSON property `genericMetadata`
11548
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata]
11549
+ attr_accessor :generic_metadata
11550
+
11551
+ def initialize(**args)
11552
+ update!(**args)
11553
+ end
11554
+
11555
+ # Update properties of this object
11556
+ def update!(**args)
11557
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
11558
+ end
11559
+ end
11560
+
11561
+ # Metadata for UpdateDocument operation.
11562
+ class GoogleCloudDialogflowV3alpha1UpdateDocumentOperationMetadata
11563
+ include Google::Apis::Core::Hashable
11564
+
11565
+ # Metadata in google::longrunning::Operation for Knowledge operations.
11566
+ # Corresponds to the JSON property `genericMetadata`
11567
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowV3alpha1GenericKnowledgeOperationMetadata]
11568
+ attr_accessor :generic_metadata
11569
+
11570
+ def initialize(**args)
11571
+ update!(**args)
11572
+ end
11573
+
11574
+ # Update properties of this object
11575
+ def update!(**args)
11576
+ @generic_metadata = args[:generic_metadata] if args.key?(:generic_metadata)
11577
+ end
11578
+ end
11579
+
8771
11580
  # The response message for Operations.ListOperations.
8772
11581
  class GoogleLongrunningListOperationsResponse
8773
11582
  include Google::Apis::Core::Hashable