google-cloud-dialogflow-cx-v3 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/dialogflow/cx/v3/agent_pb.rb +2 -1
  3. data/lib/google/cloud/dialogflow/cx/v3/audio_config_pb.rb +2 -1
  4. data/lib/google/cloud/dialogflow/cx/v3/entity_type_pb.rb +1 -1
  5. data/lib/google/cloud/dialogflow/cx/v3/entity_type_services_pb.rb +2 -2
  6. data/lib/google/cloud/dialogflow/cx/v3/entity_types/client.rb +119 -119
  7. data/lib/google/cloud/dialogflow/cx/v3/entity_types/rest/client.rb +112 -112
  8. data/lib/google/cloud/dialogflow/cx/v3/entity_types/rest/service_stub.rb +50 -50
  9. data/lib/google/cloud/dialogflow/cx/v3/generator_pb.rb +60 -0
  10. data/lib/google/cloud/dialogflow/cx/v3/generator_services_pb.rb +55 -0
  11. data/lib/google/cloud/dialogflow/cx/v3/generators/client.rb +827 -0
  12. data/lib/google/cloud/dialogflow/cx/v3/generators/credentials.rb +54 -0
  13. data/lib/google/cloud/dialogflow/cx/v3/generators/paths.rb +75 -0
  14. data/lib/google/cloud/dialogflow/cx/v3/generators/rest/client.rb +771 -0
  15. data/lib/google/cloud/dialogflow/cx/v3/generators/rest/service_stub.rb +347 -0
  16. data/lib/google/cloud/dialogflow/cx/v3/generators/rest.rb +55 -0
  17. data/lib/google/cloud/dialogflow/cx/v3/generators.rb +57 -0
  18. data/lib/google/cloud/dialogflow/cx/v3/rest.rb +1 -0
  19. data/lib/google/cloud/dialogflow/cx/v3/session_pb.rb +12 -1
  20. data/lib/google/cloud/dialogflow/cx/v3/session_services_pb.rb +3 -0
  21. data/lib/google/cloud/dialogflow/cx/v3/sessions/client.rb +101 -0
  22. data/lib/google/cloud/dialogflow/cx/v3/sessions/paths.rb +45 -0
  23. data/lib/google/cloud/dialogflow/cx/v3/sessions/rest/client.rb +94 -0
  24. data/lib/google/cloud/dialogflow/cx/v3/sessions/rest/service_stub.rb +60 -0
  25. data/lib/google/cloud/dialogflow/cx/v3/version.rb +1 -1
  26. data/lib/google/cloud/dialogflow/cx/v3.rb +1 -0
  27. data/proto_docs/google/api/client.rb +13 -0
  28. data/proto_docs/google/cloud/dialogflow/cx/v3/agent.rb +15 -0
  29. data/proto_docs/google/cloud/dialogflow/cx/v3/audio_config.rb +47 -3
  30. data/proto_docs/google/cloud/dialogflow/cx/v3/generator.rb +187 -0
  31. data/proto_docs/google/cloud/dialogflow/cx/v3/session.rb +185 -0
  32. metadata +13 -3
@@ -571,6 +571,100 @@ module Google
571
571
  raise ::Google::Cloud::Error.from_error(e)
572
572
  end
573
573
 
574
+ ##
575
+ # Updates the feedback received from the user for a single turn of the bot
576
+ # response.
577
+ #
578
+ # @overload submit_answer_feedback(request, options = nil)
579
+ # Pass arguments to `submit_answer_feedback` via a request object, either of type
580
+ # {::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest} or an equivalent Hash.
581
+ #
582
+ # @param request [::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest, ::Hash]
583
+ # A request object representing the call parameters. Required. To specify no
584
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
585
+ # @param options [::Gapic::CallOptions, ::Hash]
586
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
587
+ #
588
+ # @overload submit_answer_feedback(session: nil, response_id: nil, answer_feedback: nil, update_mask: nil)
589
+ # Pass arguments to `submit_answer_feedback` via keyword arguments. Note that at
590
+ # least one keyword argument is required. To specify no parameters, or to keep all
591
+ # the default parameter values, pass an empty Hash as a request object (see above).
592
+ #
593
+ # @param session [::String]
594
+ # Required. The name of the session the feedback was sent to.
595
+ # @param response_id [::String]
596
+ # Required. ID of the response to update its feedback. This is the same as
597
+ # DetectIntentResponse.response_id.
598
+ # @param answer_feedback [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback, ::Hash]
599
+ # Required. Feedback provided for a bot answer.
600
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
601
+ # Optional. The mask to control which fields to update. If the mask is not
602
+ # present, all fields will be updated.
603
+ #
604
+ # @yield [response, operation] Access the result along with the RPC operation
605
+ # @yieldparam response [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
606
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
607
+ #
608
+ # @return [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
609
+ #
610
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
611
+ #
612
+ # @example Basic example
613
+ # require "google/cloud/dialogflow/cx/v3"
614
+ #
615
+ # # Create a client object. The client can be reused for multiple calls.
616
+ # client = Google::Cloud::Dialogflow::CX::V3::Sessions::Client.new
617
+ #
618
+ # # Create a request. To set request fields, pass in keyword arguments.
619
+ # request = Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest.new
620
+ #
621
+ # # Call the submit_answer_feedback method.
622
+ # result = client.submit_answer_feedback request
623
+ #
624
+ # # The returned object is of type Google::Cloud::Dialogflow::CX::V3::AnswerFeedback.
625
+ # p result
626
+ #
627
+ def submit_answer_feedback request, options = nil
628
+ raise ::ArgumentError, "request must be provided" if request.nil?
629
+
630
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest
631
+
632
+ # Converts hash and nil to an options object
633
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
634
+
635
+ # Customize the options with defaults
636
+ metadata = @config.rpcs.submit_answer_feedback.metadata.to_h
637
+
638
+ # Set x-goog-api-client and x-goog-user-project headers
639
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
640
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
641
+ gapic_version: ::Google::Cloud::Dialogflow::CX::V3::VERSION
642
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
643
+
644
+ header_params = {}
645
+ if request.session
646
+ header_params["session"] = request.session
647
+ end
648
+
649
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
650
+ metadata[:"x-goog-request-params"] ||= request_params_header
651
+
652
+ options.apply_defaults timeout: @config.rpcs.submit_answer_feedback.timeout,
653
+ metadata: metadata,
654
+ retry_policy: @config.rpcs.submit_answer_feedback.retry_policy
655
+
656
+ options.apply_defaults timeout: @config.timeout,
657
+ metadata: @config.metadata,
658
+ retry_policy: @config.retry_policy
659
+
660
+ @sessions_stub.call_rpc :submit_answer_feedback, request, options: options do |response, operation|
661
+ yield response, operation if block_given?
662
+ return response
663
+ end
664
+ rescue ::GRPC::BadStatus => e
665
+ raise ::Google::Cloud::Error.from_error(e)
666
+ end
667
+
574
668
  ##
575
669
  # Configuration class for the Sessions API.
576
670
  #
@@ -736,6 +830,11 @@ module Google
736
830
  # @return [::Gapic::Config::Method]
737
831
  #
738
832
  attr_reader :fulfill_intent
833
+ ##
834
+ # RPC-specific configuration for `submit_answer_feedback`
835
+ # @return [::Gapic::Config::Method]
836
+ #
837
+ attr_reader :submit_answer_feedback
739
838
 
740
839
  # @private
741
840
  def initialize parent_rpcs = nil
@@ -747,6 +846,8 @@ module Google
747
846
  @match_intent = ::Gapic::Config::Method.new match_intent_config
748
847
  fulfill_intent_config = parent_rpcs.fulfill_intent if parent_rpcs.respond_to? :fulfill_intent
749
848
  @fulfill_intent = ::Gapic::Config::Method.new fulfill_intent_config
849
+ submit_answer_feedback_config = parent_rpcs.submit_answer_feedback if parent_rpcs.respond_to? :submit_answer_feedback
850
+ @submit_answer_feedback = ::Gapic::Config::Method.new submit_answer_feedback_config
750
851
 
751
852
  yield self if block_given?
752
853
  end
@@ -25,6 +25,51 @@ module Google
25
25
  module Sessions
26
26
  # Path helper methods for the Sessions API.
27
27
  module Paths
28
+ ##
29
+ # Create a fully-qualified DataStore resource string.
30
+ #
31
+ # @overload data_store_path(project:, location:, data_store:)
32
+ # The resource will be in the following format:
33
+ #
34
+ # `projects/{project}/locations/{location}/dataStores/{data_store}`
35
+ #
36
+ # @param project [String]
37
+ # @param location [String]
38
+ # @param data_store [String]
39
+ #
40
+ # @overload data_store_path(project:, location:, collection:, data_store:)
41
+ # The resource will be in the following format:
42
+ #
43
+ # `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`
44
+ #
45
+ # @param project [String]
46
+ # @param location [String]
47
+ # @param collection [String]
48
+ # @param data_store [String]
49
+ #
50
+ # @return [::String]
51
+ def data_store_path **args
52
+ resources = {
53
+ "data_store:location:project" => (proc do |project:, location:, data_store:|
54
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
55
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
56
+
57
+ "projects/#{project}/locations/#{location}/dataStores/#{data_store}"
58
+ end),
59
+ "collection:data_store:location:project" => (proc do |project:, location:, collection:, data_store:|
60
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
61
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
62
+ raise ::ArgumentError, "collection cannot contain /" if collection.to_s.include? "/"
63
+
64
+ "projects/#{project}/locations/#{location}/collections/#{collection}/dataStores/#{data_store}"
65
+ end)
66
+ }
67
+
68
+ resource = resources[args.keys.sort.join(":")]
69
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
70
+ resource.call(**args)
71
+ end
72
+
28
73
  ##
29
74
  # Create a fully-qualified EntityType resource string.
30
75
  #
@@ -455,6 +455,93 @@ module Google
455
455
  raise ::Google::Cloud::Error.from_error(e)
456
456
  end
457
457
 
458
+ ##
459
+ # Updates the feedback received from the user for a single turn of the bot
460
+ # response.
461
+ #
462
+ # @overload submit_answer_feedback(request, options = nil)
463
+ # Pass arguments to `submit_answer_feedback` via a request object, either of type
464
+ # {::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest} or an equivalent Hash.
465
+ #
466
+ # @param request [::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest, ::Hash]
467
+ # A request object representing the call parameters. Required. To specify no
468
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
469
+ # @param options [::Gapic::CallOptions, ::Hash]
470
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
471
+ #
472
+ # @overload submit_answer_feedback(session: nil, response_id: nil, answer_feedback: nil, update_mask: nil)
473
+ # Pass arguments to `submit_answer_feedback` via keyword arguments. Note that at
474
+ # least one keyword argument is required. To specify no parameters, or to keep all
475
+ # the default parameter values, pass an empty Hash as a request object (see above).
476
+ #
477
+ # @param session [::String]
478
+ # Required. The name of the session the feedback was sent to.
479
+ # @param response_id [::String]
480
+ # Required. ID of the response to update its feedback. This is the same as
481
+ # DetectIntentResponse.response_id.
482
+ # @param answer_feedback [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback, ::Hash]
483
+ # Required. Feedback provided for a bot answer.
484
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
485
+ # Optional. The mask to control which fields to update. If the mask is not
486
+ # present, all fields will be updated.
487
+ # @yield [result, operation] Access the result along with the TransportOperation object
488
+ # @yieldparam result [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
489
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
490
+ #
491
+ # @return [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
492
+ #
493
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
494
+ #
495
+ # @example Basic example
496
+ # require "google/cloud/dialogflow/cx/v3"
497
+ #
498
+ # # Create a client object. The client can be reused for multiple calls.
499
+ # client = Google::Cloud::Dialogflow::CX::V3::Sessions::Rest::Client.new
500
+ #
501
+ # # Create a request. To set request fields, pass in keyword arguments.
502
+ # request = Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest.new
503
+ #
504
+ # # Call the submit_answer_feedback method.
505
+ # result = client.submit_answer_feedback request
506
+ #
507
+ # # The returned object is of type Google::Cloud::Dialogflow::CX::V3::AnswerFeedback.
508
+ # p result
509
+ #
510
+ def submit_answer_feedback request, options = nil
511
+ raise ::ArgumentError, "request must be provided" if request.nil?
512
+
513
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest
514
+
515
+ # Converts hash and nil to an options object
516
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
517
+
518
+ # Customize the options with defaults
519
+ call_metadata = @config.rpcs.submit_answer_feedback.metadata.to_h
520
+
521
+ # Set x-goog-api-client and x-goog-user-project headers
522
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
523
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
524
+ gapic_version: ::Google::Cloud::Dialogflow::CX::V3::VERSION,
525
+ transports_version_send: [:rest]
526
+
527
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
528
+
529
+ options.apply_defaults timeout: @config.rpcs.submit_answer_feedback.timeout,
530
+ metadata: call_metadata,
531
+ retry_policy: @config.rpcs.submit_answer_feedback.retry_policy
532
+
533
+ options.apply_defaults timeout: @config.timeout,
534
+ metadata: @config.metadata,
535
+ retry_policy: @config.retry_policy
536
+
537
+ @sessions_stub.submit_answer_feedback request, options do |result, operation|
538
+ yield result, operation if block_given?
539
+ return result
540
+ end
541
+ rescue ::Gapic::Rest::Error => e
542
+ raise ::Google::Cloud::Error.from_error(e)
543
+ end
544
+
458
545
  ##
459
546
  # Configuration class for the Sessions REST API.
460
547
  #
@@ -602,6 +689,11 @@ module Google
602
689
  # @return [::Gapic::Config::Method]
603
690
  #
604
691
  attr_reader :fulfill_intent
692
+ ##
693
+ # RPC-specific configuration for `submit_answer_feedback`
694
+ # @return [::Gapic::Config::Method]
695
+ #
696
+ attr_reader :submit_answer_feedback
605
697
 
606
698
  # @private
607
699
  def initialize parent_rpcs = nil
@@ -611,6 +703,8 @@ module Google
611
703
  @match_intent = ::Gapic::Config::Method.new match_intent_config
612
704
  fulfill_intent_config = parent_rpcs.fulfill_intent if parent_rpcs.respond_to? :fulfill_intent
613
705
  @fulfill_intent = ::Gapic::Config::Method.new fulfill_intent_config
706
+ submit_answer_feedback_config = parent_rpcs.submit_answer_feedback if parent_rpcs.respond_to? :submit_answer_feedback
707
+ @submit_answer_feedback = ::Gapic::Config::Method.new submit_answer_feedback_config
614
708
 
615
709
  yield self if block_given?
616
710
  end
@@ -155,6 +155,44 @@ module Google
155
155
  result
156
156
  end
157
157
 
158
+ ##
159
+ # Baseline implementation for the submit_answer_feedback REST call
160
+ #
161
+ # @param request_pb [::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest]
162
+ # A request object representing the call parameters. Required.
163
+ # @param options [::Gapic::CallOptions]
164
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
165
+ #
166
+ # @yield [result, operation] Access the result along with the TransportOperation object
167
+ # @yieldparam result [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
168
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
169
+ #
170
+ # @return [::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback]
171
+ # A result object deserialized from the server's reply
172
+ def submit_answer_feedback request_pb, options = nil
173
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
174
+
175
+ verb, uri, query_string_params, body = ServiceStub.transcode_submit_answer_feedback_request request_pb
176
+ query_string_params = if query_string_params.any?
177
+ query_string_params.to_h { |p| p.split "=", 2 }
178
+ else
179
+ {}
180
+ end
181
+
182
+ response = @client_stub.make_http_request(
183
+ verb,
184
+ uri: uri,
185
+ body: body || "",
186
+ params: query_string_params,
187
+ options: options
188
+ )
189
+ operation = ::Gapic::Rest::TransportOperation.new response
190
+ result = ::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback.decode_json response.body, ignore_unknown_fields: true
191
+
192
+ yield result, operation if block_given?
193
+ result
194
+ end
195
+
158
196
  ##
159
197
  # @private
160
198
  #
@@ -244,6 +282,28 @@ module Google
244
282
  )
245
283
  transcoder.transcode request_pb
246
284
  end
285
+
286
+ ##
287
+ # @private
288
+ #
289
+ # GRPC transcoding helper method for the submit_answer_feedback REST call
290
+ #
291
+ # @param request_pb [::Google::Cloud::Dialogflow::CX::V3::SubmitAnswerFeedbackRequest]
292
+ # A request object representing the call parameters. Required.
293
+ # @return [Array(String, [String, nil], Hash{String => String})]
294
+ # Uri, Body, Query string parameters
295
+ def self.transcode_submit_answer_feedback_request request_pb
296
+ transcoder = Gapic::Rest::GrpcTranscoder.new
297
+ .with_bindings(
298
+ uri_method: :post,
299
+ uri_template: "/v3/{session}:submitAnswerFeedback",
300
+ body: "*",
301
+ matches: [
302
+ ["session", %r{^projects/[^/]+/locations/[^/]+/agents/[^/]+/sessions/[^/]+/?$}, false]
303
+ ]
304
+ )
305
+ transcoder.transcode request_pb
306
+ end
247
307
  end
248
308
  end
249
309
  end
@@ -22,7 +22,7 @@ module Google
22
22
  module Dialogflow
23
23
  module CX
24
24
  module V3
25
- VERSION = "0.22.0"
25
+ VERSION = "0.23.0"
26
26
  end
27
27
  end
28
28
  end
@@ -30,6 +30,7 @@ require "google/cloud/dialogflow/cx/v3/test_cases"
30
30
  require "google/cloud/dialogflow/cx/v3/webhooks"
31
31
  require "google/cloud/dialogflow/cx/v3/environments"
32
32
  require "google/cloud/dialogflow/cx/v3/experiments"
33
+ require "google/cloud/dialogflow/cx/v3/generators"
33
34
  require "google/cloud/dialogflow/cx/v3/security_settings_service"
34
35
  require "google/cloud/dialogflow/cx/v3/versions"
35
36
  require "google/cloud/dialogflow/cx/v3/version"
@@ -304,6 +304,19 @@ module Google
304
304
  # seconds: 360 # 6 minutes
305
305
  # total_poll_timeout:
306
306
  # seconds: 54000 # 90 minutes
307
+ # @!attribute [rw] auto_populated_fields
308
+ # @return [::Array<::String>]
309
+ # List of top-level fields of the request message, that should be
310
+ # automatically populated by the client libraries based on their
311
+ # (google.api.field_info).format. Currently supported format: UUID4.
312
+ #
313
+ # Example of a YAML configuration:
314
+ #
315
+ # publishing:
316
+ # method_settings:
317
+ # - selector: google.example.v1.ExampleService.CreateExample
318
+ # auto_populated_fields:
319
+ # - request_id
307
320
  class MethodSettings
308
321
  include ::Google::Protobuf::MessageExts
309
322
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -127,6 +127,9 @@ module Google
127
127
  # @!attribute [rw] gen_app_builder_settings
128
128
  # @return [::Google::Cloud::Dialogflow::CX::V3::Agent::GenAppBuilderSettings]
129
129
  # Gen App Builder-related agent-level settings.
130
+ # @!attribute [rw] answer_feedback_settings
131
+ # @return [::Google::Cloud::Dialogflow::CX::V3::Agent::AnswerFeedbackSettings]
132
+ # Optional. Answer feedback collection settings.
130
133
  class Agent
131
134
  include ::Google::Protobuf::MessageExts
132
135
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -172,6 +175,18 @@ module Google
172
175
  include ::Google::Protobuf::MessageExts
173
176
  extend ::Google::Protobuf::MessageExts::ClassMethods
174
177
  end
178
+
179
+ # Settings for answer feedback collection.
180
+ # @!attribute [rw] enable_answer_feedback
181
+ # @return [::Boolean]
182
+ # Optional. If enabled, end users will be able to provide
183
+ # {::Google::Cloud::Dialogflow::CX::V3::AnswerFeedback answer feedback} to
184
+ # Dialogflow responses. Feature works only if interaction logging is
185
+ # enabled in the Dialogflow agent.
186
+ class AnswerFeedbackSettings
187
+ include ::Google::Protobuf::MessageExts
188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
189
+ end
175
190
  end
176
191
 
177
192
  # The request message for
@@ -50,6 +50,42 @@ module Google
50
50
  extend ::Google::Protobuf::MessageExts::ClassMethods
51
51
  end
52
52
 
53
+ # Configuration of the barge-in behavior. Barge-in instructs the API to return
54
+ # a detected utterance at a proper time while the client is playing back the
55
+ # response audio from a previous request. When the client sees the
56
+ # utterance, it should stop the playback and immediately get ready for
57
+ # receiving the responses for the current request.
58
+ #
59
+ # The barge-in handling requires the client to start streaming audio input
60
+ # as soon as it starts playing back the audio from the previous response. The
61
+ # playback is modeled into two phases:
62
+ #
63
+ # * No barge-in phase: which goes first and during which speech detection
64
+ # should not be carried out.
65
+ #
66
+ # * Barge-in phase: which follows the no barge-in phase and during which
67
+ # the API starts speech detection and may inform the client that an utterance
68
+ # has been detected. Note that no-speech event is not expected in this
69
+ # phase.
70
+ #
71
+ # The client provides this configuration in terms of the durations of those
72
+ # two phases. The durations are measured in terms of the audio length from the
73
+ # the start of the input audio.
74
+ #
75
+ # No-speech event is a response with END_OF_UTTERANCE without any transcript
76
+ # following up.
77
+ # @!attribute [rw] no_barge_in_duration
78
+ # @return [::Google::Protobuf::Duration]
79
+ # Duration that is not eligible for barge-in at the beginning of the input
80
+ # audio.
81
+ # @!attribute [rw] total_duration
82
+ # @return [::Google::Protobuf::Duration]
83
+ # Total duration for the playback at the beginning of the input audio.
84
+ class BargeInConfig
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+ end
88
+
53
89
  # Instructs the speech recognizer on how to process the audio content.
54
90
  # @!attribute [rw] audio_encoding
55
91
  # @return [::Google::Cloud::Dialogflow::CX::V3::AudioEncoding]
@@ -81,8 +117,8 @@ module Google
81
117
  # @return [::String]
82
118
  # Optional. Which Speech model to select for the given request. Select the
83
119
  # model best suited to your domain to get best results. If a model is not
84
- # explicitly specified, then we auto-select a model based on the parameters
85
- # in the InputAudioConfig.
120
+ # explicitly specified, then Dialogflow auto-selects a model based on other
121
+ # parameters in the InputAudioConfig and Agent settings.
86
122
  # If enhanced speech model is enabled for the agent and an enhanced
87
123
  # version of the specified model for the language does not exist, then the
88
124
  # speech is recognized using the standard version of the specified model.
@@ -95,7 +131,12 @@ module Google
95
131
  #
96
132
  # - phone_call (best for Agent Assist and telephony)
97
133
  # - latest_short (best for Dialogflow non-telephony)
98
- # - command_and_search (best for very short utterances and commands)
134
+ # - command_and_search
135
+ #
136
+ # Leave this field unspecified to use
137
+ # [Agent Speech
138
+ # settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech)
139
+ # for model selection.
99
140
  # @!attribute [rw] model_variant
100
141
  # @return [::Google::Cloud::Dialogflow::CX::V3::SpeechModelVariant]
101
142
  # Optional. Which variant of the [Speech
@@ -110,6 +151,9 @@ module Google
110
151
  # client should close the stream and start a new request with a new stream as
111
152
  # needed.
112
153
  # Note: This setting is relevant only for streaming methods.
154
+ # @!attribute [rw] barge_in_config
155
+ # @return [::Google::Cloud::Dialogflow::CX::V3::BargeInConfig]
156
+ # Configuration of barge-in behavior during the streaming of input audio.
113
157
  class InputAudioConfig
114
158
  include ::Google::Protobuf::MessageExts
115
159
  extend ::Google::Protobuf::MessageExts::ClassMethods