# frozen_string_literal: true # Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module Dialogflow module CX module V3 # Represents a response message that can be returned by a conversational agent. # # Response messages are also used for output audio synthesis. The approach is # as follows: # # * If at least one OutputAudioText response is present, then all # OutputAudioText responses are linearly concatenated, and the result is used # for output audio synthesis. # * If the OutputAudioText responses are a mixture of text and SSML, then the # concatenated result is treated as SSML; otherwise, the result is treated as # either text or SSML as appropriate. The agent designer should ideally use # either text or SSML consistently throughout the bot design. # * Otherwise, all Text responses are linearly concatenated, and the result is # used for output audio synthesis. # # This approach allows for more sophisticated user experience scenarios, where # the text displayed to the user may differ from what is heard. # @!attribute [rw] text # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::Text] # Returns a text response. # @!attribute [rw] payload # @return [::Google::Protobuf::Struct] # Returns a response containing a custom, platform-specific payload. # @!attribute [rw] conversation_success # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess] # Indicates that the conversation succeeded. # @!attribute [rw] output_audio_text # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::OutputAudioText] # A text or ssml response that is preferentially used for TTS output audio # synthesis, as described in the comment on the ResponseMessage message. # @!attribute [rw] live_agent_handoff # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::LiveAgentHandoff] # Hands off conversation to a human agent. # @!attribute [r] end_interaction # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::EndInteraction] # Output only. A signal that indicates the interaction with the Dialogflow agent has # ended. # This message is generated by Dialogflow only when the conversation # reaches `END_SESSION` page. It is not supposed to be defined by the user. # # It's guaranteed that there is at most one such message in each response. # @!attribute [rw] play_audio # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::PlayAudio] # Signal that the client should play an audio clip hosted at a # client-specific URI. Dialogflow uses this to construct # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#mixed_audio mixed_audio}. However, Dialogflow itself # does not try to read or process the URI in any way. # @!attribute [r] mixed_audio # @return [::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio] # Output only. An audio response message composed of both the synthesized Dialogflow # agent responses and responses defined via # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}. # This message is generated by Dialogflow only and not supposed to be # defined by the user. class ResponseMessage include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The text response message. # @!attribute [rw] text # @return [::Array<::String>] # Required. A collection of text responses. # @!attribute [r] allow_playback_interruption # @return [::Boolean] # Output only. Whether the playback of this message can be interrupted by the end # user's speech and the client can then starts the next Dialogflow # request. class Text include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Indicates that the conversation should be handed off to a live agent. # # Dialogflow only uses this to determine which conversations were handed off # to a human agent for measurement purposes. What else to do with this signal # is up to you and your handoff procedures. # # You may set this, for example: # * In the {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment} of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if # entering the page indicates something went extremely wrong in the # conversation. # * In a webhook response when you determine that the customer issue can only # be handled by a human. # @!attribute [rw] metadata # @return [::Google::Protobuf::Struct] # Custom metadata for your handoff procedure. Dialogflow doesn't impose # any structure on this. class LiveAgentHandoff include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Indicates that the conversation succeeded, i.e., the bot handled the issue # that the customer talked to it about. # # Dialogflow only uses this to determine which conversations should be # counted as successful and doesn't process the metadata in this message in # any way. Note that Dialogflow also considers conversations that get to the # conversation end page as successful even if they don't return # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}. # # You may set this, for example: # * In the {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment} of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if # entering the page indicates that the conversation succeeded. # * In a webhook response when you determine that you handled the customer # issue. # @!attribute [rw] metadata # @return [::Google::Protobuf::Struct] # Custom metadata. Dialogflow doesn't impose any structure on this. class ConversationSuccess include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A text or ssml response that is preferentially used for TTS output audio # synthesis, as described in the comment on the ResponseMessage message. # @!attribute [rw] text # @return [::String] # The raw text to be synthesized. # @!attribute [rw] ssml # @return [::String] # The SSML text to be synthesized. For more information, see # [SSML](/speech/text-to-speech/docs/ssml). # @!attribute [r] allow_playback_interruption # @return [::Boolean] # Output only. Whether the playback of this message can be interrupted by the end # user's speech and the client can then starts the next Dialogflow # request. class OutputAudioText include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Indicates that interaction with the Dialogflow agent has ended. # This message is generated by Dialogflow only and not supposed to be # defined by the user. class EndInteraction include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Specifies an audio clip to be played by the client as part of the response. # @!attribute [rw] audio_uri # @return [::String] # Required. URI of the audio clip. Dialogflow does not impose any validation on this # value. It is specific to the client that reads it. # @!attribute [r] allow_playback_interruption # @return [::Boolean] # Output only. Whether the playback of this message can be interrupted by the end # user's speech and the client can then starts the next Dialogflow # request. class PlayAudio include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents an audio message that is composed of both segments # synthesized from the Dialogflow agent prompts and ones hosted externally # at the specified URIs. # The external URIs are specified via # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}. # This message is generated by Dialogflow only and not supposed to be # defined by the user. # @!attribute [rw] segments # @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>] # Segments this audio response is composed of. class MixedAudio include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents one segment of audio. # @!attribute [rw] audio # @return [::String] # Raw audio synthesized from the Dialogflow agent's response using # the output config specified in the request. # @!attribute [rw] uri # @return [::String] # Client-specific URI that points to an audio clip accessible to the # client. Dialogflow does not impose any validation on it. # @!attribute [r] allow_playback_interruption # @return [::Boolean] # Output only. Whether the playback of this segment can be interrupted by the end # user's speech and the client should then start the next Dialogflow # request. class Segment include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end end end end