google-apis-dialogflow_v3 0.66.0 → 0.68.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -39,6 +39,11 @@ module Google
39
39
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GcsDestination]
40
40
  attr_accessor :audio_export_gcs_destination
41
41
 
42
+ # Define behaviors for DTMF (dual tone multi frequency).
43
+ # Corresponds to the JSON property `dtmfSettings`
44
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings]
45
+ attr_accessor :dtmf_settings
46
+
42
47
  # Define behaviors on logging.
43
48
  # Corresponds to the JSON property `loggingSettings`
44
49
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings]
@@ -51,10 +56,47 @@ module Google
51
56
  # Update properties of this object
52
57
  def update!(**args)
53
58
  @audio_export_gcs_destination = args[:audio_export_gcs_destination] if args.key?(:audio_export_gcs_destination)
59
+ @dtmf_settings = args[:dtmf_settings] if args.key?(:dtmf_settings)
54
60
  @logging_settings = args[:logging_settings] if args.key?(:logging_settings)
55
61
  end
56
62
  end
57
63
 
64
+ # Define behaviors for DTMF (dual tone multi frequency).
65
+ class GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # If true, incoming audio is processed for DTMF (dual tone multi frequency)
69
+ # events. For example, if the caller presses a button on their telephone keypad
70
+ # and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3"
71
+ # was pressed) in the incoming audio and pass the event to the bot to drive
72
+ # business logic (e.g. when 3 is pressed, return the account balance).
73
+ # Corresponds to the JSON property `enabled`
74
+ # @return [Boolean]
75
+ attr_accessor :enabled
76
+ alias_method :enabled?, :enabled
77
+
78
+ # The digit that terminates a DTMF digit sequence.
79
+ # Corresponds to the JSON property `finishDigit`
80
+ # @return [String]
81
+ attr_accessor :finish_digit
82
+
83
+ # Max length of DTMF digits.
84
+ # Corresponds to the JSON property `maxDigits`
85
+ # @return [Fixnum]
86
+ attr_accessor :max_digits
87
+
88
+ def initialize(**args)
89
+ update!(**args)
90
+ end
91
+
92
+ # Update properties of this object
93
+ def update!(**args)
94
+ @enabled = args[:enabled] if args.key?(:enabled)
95
+ @finish_digit = args[:finish_digit] if args.key?(:finish_digit)
96
+ @max_digits = args[:max_digits] if args.key?(:max_digits)
97
+ end
98
+ end
99
+
58
100
  # Define behaviors on logging.
59
101
  class GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings
60
102
  include Google::Apis::Core::Hashable
@@ -142,6 +184,11 @@ module Google
142
184
  attr_accessor :enable_stackdriver_logging
143
185
  alias_method :enable_stackdriver_logging?, :enable_stackdriver_logging
144
186
 
187
+ # Settings for Gen App Builder.
188
+ # Corresponds to the JSON property `genAppBuilderSettings`
189
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AgentGenAppBuilderSettings]
190
+ attr_accessor :gen_app_builder_settings
191
+
145
192
  # Settings for connecting to Git repository for an agent.
146
193
  # Corresponds to the JSON property `gitIntegrationSettings`
147
194
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AgentGitIntegrationSettings]
@@ -209,6 +256,7 @@ module Google
209
256
  @display_name = args[:display_name] if args.key?(:display_name)
210
257
  @enable_spell_correction = args[:enable_spell_correction] if args.key?(:enable_spell_correction)
211
258
  @enable_stackdriver_logging = args[:enable_stackdriver_logging] if args.key?(:enable_stackdriver_logging)
259
+ @gen_app_builder_settings = args[:gen_app_builder_settings] if args.key?(:gen_app_builder_settings)
212
260
  @git_integration_settings = args[:git_integration_settings] if args.key?(:git_integration_settings)
213
261
  @locked = args[:locked] if args.key?(:locked)
214
262
  @name = args[:name] if args.key?(:name)
@@ -221,6 +269,27 @@ module Google
221
269
  end
222
270
  end
223
271
 
272
+ # Settings for Gen App Builder.
273
+ class GoogleCloudDialogflowCxV3AgentGenAppBuilderSettings
274
+ include Google::Apis::Core::Hashable
275
+
276
+ # Required. The full name of the Gen App Builder engine related to this agent if
277
+ # there is one. Format: `projects/`Project ID`/locations/`Location ID`/
278
+ # collections/`Collection ID`/engines/`Engine ID``
279
+ # Corresponds to the JSON property `engine`
280
+ # @return [String]
281
+ attr_accessor :engine
282
+
283
+ def initialize(**args)
284
+ update!(**args)
285
+ end
286
+
287
+ # Update properties of this object
288
+ def update!(**args)
289
+ @engine = args[:engine] if args.key?(:engine)
290
+ end
291
+ end
292
+
224
293
  # Settings for connecting to Git repository for an agent.
225
294
  class GoogleCloudDialogflowCxV3AgentGitIntegrationSettings
226
295
  include Google::Apis::Core::Hashable
@@ -829,6 +898,34 @@ module Google
829
898
  end
830
899
  end
831
900
 
901
+ # A data store connection. It represents a data store in Discovery Engine and
902
+ # the type of the contents it contains.
903
+ class GoogleCloudDialogflowCxV3DataStoreConnection
904
+ include Google::Apis::Core::Hashable
905
+
906
+ # The full name of the referenced data store. Formats: `projects/`project`/
907
+ # locations/`location`/collections/`collection`/dataStores/`data_store`` `
908
+ # projects/`project`/locations/`location`/dataStores/`data_store``
909
+ # Corresponds to the JSON property `dataStore`
910
+ # @return [String]
911
+ attr_accessor :data_store
912
+
913
+ # The type of the connected data store.
914
+ # Corresponds to the JSON property `dataStoreType`
915
+ # @return [String]
916
+ attr_accessor :data_store_type
917
+
918
+ def initialize(**args)
919
+ update!(**args)
920
+ end
921
+
922
+ # Update properties of this object
923
+ def update!(**args)
924
+ @data_store = args[:data_store] if args.key?(:data_store)
925
+ @data_store_type = args[:data_store_type] if args.key?(:data_store_type)
926
+ end
927
+ end
928
+
832
929
  # Metadata for DeleteDocument operation.
833
930
  class GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata
834
931
  include Google::Apis::Core::Hashable
@@ -2026,6 +2123,18 @@ module Google
2026
2123
  class GoogleCloudDialogflowCxV3Flow
2027
2124
  include Google::Apis::Core::Hashable
2028
2125
 
2126
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
2127
+ # Settings exposed at lower level overrides the settings exposed at higher level.
2128
+ # Overriding occurs at the sub-setting level. For example, the
2129
+ # playback_interruption_settings at fulfillment level only overrides the
2130
+ # playback_interruption_settings at the agent level, leaving other settings at
2131
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
2132
+ # settings set at different levels define DTMF detections running in parallel.
2133
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
2134
+ # Corresponds to the JSON property `advancedSettings`
2135
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettings]
2136
+ attr_accessor :advanced_settings
2137
+
2029
2138
  # The description of the flow. The maximum length is 500 characters. If exceeded,
2030
2139
  # the request is rejected.
2031
2140
  # Corresponds to the JSON property `description`
@@ -2048,6 +2157,13 @@ module Google
2048
2157
  # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3EventHandler>]
2049
2158
  attr_accessor :event_handlers
2050
2159
 
2160
+ # The Knowledge Connector settings for this page or flow. This includes
2161
+ # information such as the attached Knowledge Bases, and the way to execute
2162
+ # fulfillment.
2163
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
2164
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3KnowledgeConnectorSettings]
2165
+ attr_accessor :knowledge_connector_settings
2166
+
2051
2167
  # The unique identifier of the flow. Format: `projects//locations//agents//flows/
2052
2168
  # `.
2053
2169
  # Corresponds to the JSON property `name`
@@ -2088,9 +2204,11 @@ module Google
2088
2204
 
2089
2205
  # Update properties of this object
2090
2206
  def update!(**args)
2207
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
2091
2208
  @description = args[:description] if args.key?(:description)
2092
2209
  @display_name = args[:display_name] if args.key?(:display_name)
2093
2210
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
2211
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
2094
2212
  @name = args[:name] if args.key?(:name)
2095
2213
  @nlu_settings = args[:nlu_settings] if args.key?(:nlu_settings)
2096
2214
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
@@ -2179,6 +2297,18 @@ module Google
2179
2297
  class GoogleCloudDialogflowCxV3FormParameter
2180
2298
  include Google::Apis::Core::Hashable
2181
2299
 
2300
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
2301
+ # Settings exposed at lower level overrides the settings exposed at higher level.
2302
+ # Overriding occurs at the sub-setting level. For example, the
2303
+ # playback_interruption_settings at fulfillment level only overrides the
2304
+ # playback_interruption_settings at the agent level, leaving other settings at
2305
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
2306
+ # settings set at different levels define DTMF detections running in parallel.
2307
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
2308
+ # Corresponds to the JSON property `advancedSettings`
2309
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettings]
2310
+ attr_accessor :advanced_settings
2311
+
2182
2312
  # The default value of an optional parameter. If the parameter is required, the
2183
2313
  # default value will be ignored.
2184
2314
  # Corresponds to the JSON property `defaultValue`
@@ -2232,6 +2362,7 @@ module Google
2232
2362
 
2233
2363
  # Update properties of this object
2234
2364
  def update!(**args)
2365
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
2235
2366
  @default_value = args[:default_value] if args.key?(:default_value)
2236
2367
  @display_name = args[:display_name] if args.key?(:display_name)
2237
2368
  @entity_type = args[:entity_type] if args.key?(:entity_type)
@@ -2379,11 +2510,32 @@ module Google
2379
2510
  class GoogleCloudDialogflowCxV3Fulfillment
2380
2511
  include Google::Apis::Core::Hashable
2381
2512
 
2513
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
2514
+ # Settings exposed at lower level overrides the settings exposed at higher level.
2515
+ # Overriding occurs at the sub-setting level. For example, the
2516
+ # playback_interruption_settings at fulfillment level only overrides the
2517
+ # playback_interruption_settings at the agent level, leaving other settings at
2518
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
2519
+ # settings set at different levels define DTMF detections running in parallel.
2520
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
2521
+ # Corresponds to the JSON property `advancedSettings`
2522
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettings]
2523
+ attr_accessor :advanced_settings
2524
+
2382
2525
  # Conditional cases for this fulfillment.
2383
2526
  # Corresponds to the JSON property `conditionalCases`
2384
2527
  # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3FulfillmentConditionalCases>]
2385
2528
  attr_accessor :conditional_cases
2386
2529
 
2530
+ # If the flag is true, the agent will utilize LLM to generate a text response.
2531
+ # If LLM generation fails, the defined responses in the fulfillment will be
2532
+ # respected. This flag is only useful for fulfillments associated with no-match
2533
+ # event handlers.
2534
+ # Corresponds to the JSON property `enableGenerativeFallback`
2535
+ # @return [Boolean]
2536
+ attr_accessor :enable_generative_fallback
2537
+ alias_method :enable_generative_fallback?, :enable_generative_fallback
2538
+
2387
2539
  # The list of rich message responses to present to the user.
2388
2540
  # Corresponds to the JSON property `messages`
2389
2541
  # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessage>]
@@ -2426,7 +2578,9 @@ module Google
2426
2578
 
2427
2579
  # Update properties of this object
2428
2580
  def update!(**args)
2581
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
2429
2582
  @conditional_cases = args[:conditional_cases] if args.key?(:conditional_cases)
2583
+ @enable_generative_fallback = args[:enable_generative_fallback] if args.key?(:enable_generative_fallback)
2430
2584
  @messages = args[:messages] if args.key?(:messages)
2431
2585
  @return_partial_responses = args[:return_partial_responses] if args.key?(:return_partial_responses)
2432
2586
  @set_parameter_actions = args[:set_parameter_actions] if args.key?(:set_parameter_actions)
@@ -2568,6 +2722,159 @@ module Google
2568
2722
  end
2569
2723
  end
2570
2724
 
2725
+ # Settings for Generative AI.
2726
+ class GoogleCloudDialogflowCxV3GenerativeSettings
2727
+ include Google::Apis::Core::Hashable
2728
+
2729
+ # Settings for Generative Fallback.
2730
+ # Corresponds to the JSON property `fallbackSettings`
2731
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenerativeSettingsFallbackSettings]
2732
+ attr_accessor :fallback_settings
2733
+
2734
+ # Settings for Generative Safety.
2735
+ # Corresponds to the JSON property `generativeSafetySettings`
2736
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3SafetySettings]
2737
+ attr_accessor :generative_safety_settings
2738
+
2739
+ # Settings for knowledge connector. These parameters are used for LLM prompt
2740
+ # like "You are . You are a helpful and verbose at , . Your task is to help
2741
+ # humans on ".
2742
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
2743
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenerativeSettingsKnowledgeConnectorSettings]
2744
+ attr_accessor :knowledge_connector_settings
2745
+
2746
+ # Language for this settings.
2747
+ # Corresponds to the JSON property `languageCode`
2748
+ # @return [String]
2749
+ attr_accessor :language_code
2750
+
2751
+ # Format: `projects//locations//agents//generativeSettings`.
2752
+ # Corresponds to the JSON property `name`
2753
+ # @return [String]
2754
+ attr_accessor :name
2755
+
2756
+ def initialize(**args)
2757
+ update!(**args)
2758
+ end
2759
+
2760
+ # Update properties of this object
2761
+ def update!(**args)
2762
+ @fallback_settings = args[:fallback_settings] if args.key?(:fallback_settings)
2763
+ @generative_safety_settings = args[:generative_safety_settings] if args.key?(:generative_safety_settings)
2764
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
2765
+ @language_code = args[:language_code] if args.key?(:language_code)
2766
+ @name = args[:name] if args.key?(:name)
2767
+ end
2768
+ end
2769
+
2770
+ # Settings for Generative Fallback.
2771
+ class GoogleCloudDialogflowCxV3GenerativeSettingsFallbackSettings
2772
+ include Google::Apis::Core::Hashable
2773
+
2774
+ # Stored prompts that can be selected, for example default templates like "
2775
+ # conservative" or "chatty", or user defined ones.
2776
+ # Corresponds to the JSON property `promptTemplates`
2777
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3GenerativeSettingsFallbackSettingsPromptTemplate>]
2778
+ attr_accessor :prompt_templates
2779
+
2780
+ # Display name of the selected prompt.
2781
+ # Corresponds to the JSON property `selectedPrompt`
2782
+ # @return [String]
2783
+ attr_accessor :selected_prompt
2784
+
2785
+ def initialize(**args)
2786
+ update!(**args)
2787
+ end
2788
+
2789
+ # Update properties of this object
2790
+ def update!(**args)
2791
+ @prompt_templates = args[:prompt_templates] if args.key?(:prompt_templates)
2792
+ @selected_prompt = args[:selected_prompt] if args.key?(:selected_prompt)
2793
+ end
2794
+ end
2795
+
2796
+ # Prompt template.
2797
+ class GoogleCloudDialogflowCxV3GenerativeSettingsFallbackSettingsPromptTemplate
2798
+ include Google::Apis::Core::Hashable
2799
+
2800
+ # Prompt name.
2801
+ # Corresponds to the JSON property `displayName`
2802
+ # @return [String]
2803
+ attr_accessor :display_name
2804
+
2805
+ # If the flag is true, the prompt is frozen and cannot be modified by users.
2806
+ # Corresponds to the JSON property `frozen`
2807
+ # @return [Boolean]
2808
+ attr_accessor :frozen
2809
+ alias_method :frozen?, :frozen
2810
+
2811
+ # Prompt text that is sent to a LLM on no-match default, placeholders are filled
2812
+ # downstream. For example: "Here is a conversation $conversation, a response is:
2813
+ # "
2814
+ # Corresponds to the JSON property `promptText`
2815
+ # @return [String]
2816
+ attr_accessor :prompt_text
2817
+
2818
+ def initialize(**args)
2819
+ update!(**args)
2820
+ end
2821
+
2822
+ # Update properties of this object
2823
+ def update!(**args)
2824
+ @display_name = args[:display_name] if args.key?(:display_name)
2825
+ @frozen = args[:frozen] if args.key?(:frozen)
2826
+ @prompt_text = args[:prompt_text] if args.key?(:prompt_text)
2827
+ end
2828
+ end
2829
+
2830
+ # Settings for knowledge connector. These parameters are used for LLM prompt
2831
+ # like "You are . You are a helpful and verbose at , . Your task is to help
2832
+ # humans on ".
2833
+ class GoogleCloudDialogflowCxV3GenerativeSettingsKnowledgeConnectorSettings
2834
+ include Google::Apis::Core::Hashable
2835
+
2836
+ # Name of the virtual agent. Used for LLM prompt. Can be left empty.
2837
+ # Corresponds to the JSON property `agent`
2838
+ # @return [String]
2839
+ attr_accessor :agent
2840
+
2841
+ # Identity of the agent, e.g. "virtual agent", "AI assistant".
2842
+ # Corresponds to the JSON property `agentIdentity`
2843
+ # @return [String]
2844
+ attr_accessor :agent_identity
2845
+
2846
+ # Agent scope, e.g. "Example company website", "internal Example company website
2847
+ # for employees", "manual of car owner".
2848
+ # Corresponds to the JSON property `agentScope`
2849
+ # @return [String]
2850
+ attr_accessor :agent_scope
2851
+
2852
+ # Name of the company, organization or other entity that the agent represents.
2853
+ # Used for knowledge connector LLM prompt and for knowledge search.
2854
+ # Corresponds to the JSON property `business`
2855
+ # @return [String]
2856
+ attr_accessor :business
2857
+
2858
+ # Company description, used for LLM prompt, e.g. "a family company selling
2859
+ # freshly roasted coffee beans".
2860
+ # Corresponds to the JSON property `businessDescription`
2861
+ # @return [String]
2862
+ attr_accessor :business_description
2863
+
2864
+ def initialize(**args)
2865
+ update!(**args)
2866
+ end
2867
+
2868
+ # Update properties of this object
2869
+ def update!(**args)
2870
+ @agent = args[:agent] if args.key?(:agent)
2871
+ @agent_identity = args[:agent_identity] if args.key?(:agent_identity)
2872
+ @agent_scope = args[:agent_scope] if args.key?(:agent_scope)
2873
+ @business = args[:business] if args.key?(:business)
2874
+ @business_description = args[:business_description] if args.key?(:business_description)
2875
+ end
2876
+ end
2877
+
2571
2878
  # Metadata in google::longrunning::Operation for Knowledge operations.
2572
2879
  class GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata
2573
2880
  include Google::Apis::Core::Hashable
@@ -3109,6 +3416,60 @@ module Google
3109
3416
  end
3110
3417
  end
3111
3418
 
3419
+ # The Knowledge Connector settings for this page or flow. This includes
3420
+ # information such as the attached Knowledge Bases, and the way to execute
3421
+ # fulfillment.
3422
+ class GoogleCloudDialogflowCxV3KnowledgeConnectorSettings
3423
+ include Google::Apis::Core::Hashable
3424
+
3425
+ # Optional. List of related data store connections.
3426
+ # Corresponds to the JSON property `dataStoreConnections`
3427
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3DataStoreConnection>]
3428
+ attr_accessor :data_store_connections
3429
+
3430
+ # Whether Knowledge Connector is enabled or not.
3431
+ # Corresponds to the JSON property `enabled`
3432
+ # @return [Boolean]
3433
+ attr_accessor :enabled
3434
+ alias_method :enabled?, :enabled
3435
+
3436
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
3437
+ # .
3438
+ # Corresponds to the JSON property `targetFlow`
3439
+ # @return [String]
3440
+ attr_accessor :target_flow
3441
+
3442
+ # The target page to transition to. Format: `projects//locations//agents//flows//
3443
+ # pages/`.
3444
+ # Corresponds to the JSON property `targetPage`
3445
+ # @return [String]
3446
+ attr_accessor :target_page
3447
+
3448
+ # A fulfillment can do one or more of the following actions at the same time: *
3449
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
3450
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
3451
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
3452
+ # the page's entry fulfillment can add a static response to the QueryResult in
3453
+ # the returning DetectIntentResponse, call the webhook (for example, to load
3454
+ # user data from a database), or both.
3455
+ # Corresponds to the JSON property `triggerFulfillment`
3456
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Fulfillment]
3457
+ attr_accessor :trigger_fulfillment
3458
+
3459
+ def initialize(**args)
3460
+ update!(**args)
3461
+ end
3462
+
3463
+ # Update properties of this object
3464
+ def update!(**args)
3465
+ @data_store_connections = args[:data_store_connections] if args.key?(:data_store_connections)
3466
+ @enabled = args[:enabled] if args.key?(:enabled)
3467
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
3468
+ @target_page = args[:target_page] if args.key?(:target_page)
3469
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
3470
+ end
3471
+ end
3472
+
3112
3473
  # The response message for Agents.ListAgents.
3113
3474
  class GoogleCloudDialogflowCxV3ListAgentsResponse
3114
3475
  include Google::Apis::Core::Hashable
@@ -3875,6 +4236,18 @@ module Google
3875
4236
  class GoogleCloudDialogflowCxV3Page
3876
4237
  include Google::Apis::Core::Hashable
3877
4238
 
4239
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
4240
+ # Settings exposed at lower level overrides the settings exposed at higher level.
4241
+ # Overriding occurs at the sub-setting level. For example, the
4242
+ # playback_interruption_settings at fulfillment level only overrides the
4243
+ # playback_interruption_settings at the agent level, leaving other settings at
4244
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
4245
+ # settings set at different levels define DTMF detections running in parallel.
4246
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
4247
+ # Corresponds to the JSON property `advancedSettings`
4248
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettings]
4249
+ attr_accessor :advanced_settings
4250
+
3878
4251
  # Required. The human-readable name of the page, unique within the flow.
3879
4252
  # Corresponds to the JSON property `displayName`
3880
4253
  # @return [String]
@@ -3906,6 +4279,13 @@ module Google
3906
4279
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3Form]
3907
4280
  attr_accessor :form
3908
4281
 
4282
+ # The Knowledge Connector settings for this page or flow. This includes
4283
+ # information such as the attached Knowledge Bases, and the way to execute
4284
+ # fulfillment.
4285
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
4286
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3KnowledgeConnectorSettings]
4287
+ attr_accessor :knowledge_connector_settings
4288
+
3909
4289
  # The unique identifier of the page. Required for the Pages.UpdatePage method.
3910
4290
  # Pages.CreatePage populates the name automatically. Format: `projects//
3911
4291
  # locations//agents//flows//pages/`.
@@ -3913,14 +4293,17 @@ module Google
3913
4293
  # @return [String]
3914
4294
  attr_accessor :name
3915
4295
 
3916
- # Ordered list of `TransitionRouteGroups` associated with the page. Transition
3917
- # route groups must be unique within a page. * If multiple transition routes
3918
- # within a page scope refer to the same intent, then the precedence order is:
3919
- # page's transition route -> page's transition route group -> flow's transition
3920
- # routes. * If multiple transition route groups within a page contain the same
3921
- # intent, then the first group in the ordered list takes precedence. Format:`
3922
- # projects//locations//agents//flows//transitionRouteGroups/` or `projects//
3923
- # locations//agents//transitionRouteGroups/` for agent-level groups.
4296
+ # Ordered list of `TransitionRouteGroups` added to the page. Transition route
4297
+ # groups must be unique within a page. If the page links both flow-level
4298
+ # transition route groups and agent-level transition route groups, the flow-
4299
+ # level ones will have higher priority and will be put before the agent-level
4300
+ # ones. * If multiple transition routes within a page scope refer to the same
4301
+ # intent, then the precedence order is: page's transition route -> page's
4302
+ # transition route group -> flow's transition routes. * If multiple transition
4303
+ # route groups within a page contain the same intent, then the first group in
4304
+ # the ordered list takes precedence. Format:`projects//locations//agents//flows//
4305
+ # transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/
4306
+ # ` for agent-level groups.
3924
4307
  # Corresponds to the JSON property `transitionRouteGroups`
3925
4308
  # @return [Array<String>]
3926
4309
  attr_accessor :transition_route_groups
@@ -3945,10 +4328,12 @@ module Google
3945
4328
 
3946
4329
  # Update properties of this object
3947
4330
  def update!(**args)
4331
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
3948
4332
  @display_name = args[:display_name] if args.key?(:display_name)
3949
4333
  @entry_fulfillment = args[:entry_fulfillment] if args.key?(:entry_fulfillment)
3950
4334
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
3951
4335
  @form = args[:form] if args.key?(:form)
4336
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
3952
4337
  @name = args[:name] if args.key?(:name)
3953
4338
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
3954
4339
  @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
@@ -4255,6 +4640,18 @@ module Google
4255
4640
  class GoogleCloudDialogflowCxV3QueryResult
4256
4641
  include Google::Apis::Core::Hashable
4257
4642
 
4643
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
4644
+ # Settings exposed at lower level overrides the settings exposed at higher level.
4645
+ # Overriding occurs at the sub-setting level. For example, the
4646
+ # playback_interruption_settings at fulfillment level only overrides the
4647
+ # playback_interruption_settings at the agent level, leaving other settings at
4648
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
4649
+ # settings set at different levels define DTMF detections running in parallel.
4650
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
4651
+ # Corresponds to the JSON property `advancedSettings`
4652
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3AdvancedSettings]
4653
+ attr_accessor :advanced_settings
4654
+
4258
4655
  # A Dialogflow CX conversation (session) can be described and visualized as a
4259
4656
  # state machine. The states of a CX session are represented by pages. For each
4260
4657
  # flow, you define many pages, where your combined pages can handle a complete
@@ -4391,6 +4788,7 @@ module Google
4391
4788
 
4392
4789
  # Update properties of this object
4393
4790
  def update!(**args)
4791
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
4394
4792
  @current_page = args[:current_page] if args.key?(:current_page)
4395
4793
  @diagnostic_info = args[:diagnostic_info] if args.key?(:diagnostic_info)
4396
4794
  @dtmf = args[:dtmf] if args.key?(:dtmf)
@@ -4495,6 +4893,13 @@ module Google
4495
4893
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageEndInteraction]
4496
4894
  attr_accessor :end_interaction
4497
4895
 
4896
+ # Represents info card response. If the response contains generative knowledge
4897
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
4898
+ # info card. Otherwise, the info card response is skipped.
4899
+ # Corresponds to the JSON property `knowledgeInfoCard`
4900
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard]
4901
+ attr_accessor :knowledge_info_card
4902
+
4498
4903
  # Indicates that the conversation should be handed off to a live agent.
4499
4904
  # Dialogflow only uses this to determine which conversations were handed off to
4500
4905
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -4555,6 +4960,7 @@ module Google
4555
4960
  @channel = args[:channel] if args.key?(:channel)
4556
4961
  @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
4557
4962
  @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
4963
+ @knowledge_info_card = args[:knowledge_info_card] if args.key?(:knowledge_info_card)
4558
4964
  @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
4559
4965
  @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
4560
4966
  @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
@@ -4607,6 +5013,21 @@ module Google
4607
5013
  end
4608
5014
  end
4609
5015
 
5016
+ # Represents info card response. If the response contains generative knowledge
5017
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
5018
+ # info card. Otherwise, the info card response is skipped.
5019
+ class GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard
5020
+ include Google::Apis::Core::Hashable
5021
+
5022
+ def initialize(**args)
5023
+ update!(**args)
5024
+ end
5025
+
5026
+ # Update properties of this object
5027
+ def update!(**args)
5028
+ end
5029
+ end
5030
+
4610
5031
  # Indicates that the conversation should be handed off to a live agent.
4611
5032
  # Dialogflow only uses this to determine which conversations were handed off to
4612
5033
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -5072,6 +5493,50 @@ module Google
5072
5493
  end
5073
5494
  end
5074
5495
 
5496
+ # Settings for Generative Safety.
5497
+ class GoogleCloudDialogflowCxV3SafetySettings
5498
+ include Google::Apis::Core::Hashable
5499
+
5500
+ # Banned phrases for generated text.
5501
+ # Corresponds to the JSON property `bannedPhrases`
5502
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3SafetySettingsPhrase>]
5503
+ attr_accessor :banned_phrases
5504
+
5505
+ def initialize(**args)
5506
+ update!(**args)
5507
+ end
5508
+
5509
+ # Update properties of this object
5510
+ def update!(**args)
5511
+ @banned_phrases = args[:banned_phrases] if args.key?(:banned_phrases)
5512
+ end
5513
+ end
5514
+
5515
+ # Text input which can be used for prompt or banned phrases.
5516
+ class GoogleCloudDialogflowCxV3SafetySettingsPhrase
5517
+ include Google::Apis::Core::Hashable
5518
+
5519
+ # Required. Language code of the phrase.
5520
+ # Corresponds to the JSON property `languageCode`
5521
+ # @return [String]
5522
+ attr_accessor :language_code
5523
+
5524
+ # Required. Text input which can be used for prompt or banned phrases.
5525
+ # Corresponds to the JSON property `text`
5526
+ # @return [String]
5527
+ attr_accessor :text
5528
+
5529
+ def initialize(**args)
5530
+ update!(**args)
5531
+ end
5532
+
5533
+ # Update properties of this object
5534
+ def update!(**args)
5535
+ @language_code = args[:language_code] if args.key?(:language_code)
5536
+ @text = args[:text] if args.key?(:text)
5537
+ end
5538
+ end
5539
+
5075
5540
  # Represents the settings related to security issues, such as data redaction and
5076
5541
  # data retention. It may take hours for updates on the settings to propagate to
5077
5542
  # all the related components and take effect.
@@ -5145,6 +5610,11 @@ module Google
5145
5610
  # @return [String]
5146
5611
  attr_accessor :redaction_strategy
5147
5612
 
5613
+ # Specifies the retention behavior defined by SecuritySettings.RetentionStrategy.
5614
+ # Corresponds to the JSON property `retentionStrategy`
5615
+ # @return [String]
5616
+ attr_accessor :retention_strategy
5617
+
5148
5618
  # Retains the data for the specified number of days. User must set a value lower
5149
5619
  # than Dialogflow's default 365d TTL (30 days for Agent Assist traffic), higher
5150
5620
  # value will be ignored and use default. Setting a value higher than that has no
@@ -5168,6 +5638,7 @@ module Google
5168
5638
  @purge_data_types = args[:purge_data_types] if args.key?(:purge_data_types)
5169
5639
  @redaction_scope = args[:redaction_scope] if args.key?(:redaction_scope)
5170
5640
  @redaction_strategy = args[:redaction_strategy] if args.key?(:redaction_strategy)
5641
+ @retention_strategy = args[:retention_strategy] if args.key?(:retention_strategy)
5171
5642
  @retention_window_days = args[:retention_window_days] if args.key?(:retention_window_days)
5172
5643
  end
5173
5644
  end
@@ -5897,6 +6368,12 @@ module Google
5897
6368
  # @return [String]
5898
6369
  attr_accessor :condition
5899
6370
 
6371
+ # Optional. The description of the transition route. The maximum length is 500
6372
+ # characters.
6373
+ # Corresponds to the JSON property `description`
6374
+ # @return [String]
6375
+ attr_accessor :description
6376
+
5900
6377
  # The unique identifier of an Intent. Format: `projects//locations//agents//
5901
6378
  # intents/`. Indicates that the transition can only happen when the given intent
5902
6379
  # is matched. At least one of `intent` or `condition` must be specified. When
@@ -5941,6 +6418,7 @@ module Google
5941
6418
  # Update properties of this object
5942
6419
  def update!(**args)
5943
6420
  @condition = args[:condition] if args.key?(:condition)
6421
+ @description = args[:description] if args.key?(:description)
5944
6422
  @intent = args[:intent] if args.key?(:intent)
5945
6423
  @name = args[:name] if args.key?(:name)
5946
6424
  @target_flow = args[:target_flow] if args.key?(:target_flow)
@@ -6886,6 +7364,108 @@ module Google
6886
7364
  end
6887
7365
  end
6888
7366
 
7367
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
7368
+ # Settings exposed at lower level overrides the settings exposed at higher level.
7369
+ # Overriding occurs at the sub-setting level. For example, the
7370
+ # playback_interruption_settings at fulfillment level only overrides the
7371
+ # playback_interruption_settings at the agent level, leaving other settings at
7372
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
7373
+ # settings set at different levels define DTMF detections running in parallel.
7374
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
7375
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettings
7376
+ include Google::Apis::Core::Hashable
7377
+
7378
+ # Google Cloud Storage location for a Dialogflow operation that writes or
7379
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
7380
+ # Corresponds to the JSON property `audioExportGcsDestination`
7381
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1GcsDestination]
7382
+ attr_accessor :audio_export_gcs_destination
7383
+
7384
+ # Define behaviors for DTMF (dual tone multi frequency).
7385
+ # Corresponds to the JSON property `dtmfSettings`
7386
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings]
7387
+ attr_accessor :dtmf_settings
7388
+
7389
+ # Define behaviors on logging.
7390
+ # Corresponds to the JSON property `loggingSettings`
7391
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings]
7392
+ attr_accessor :logging_settings
7393
+
7394
+ def initialize(**args)
7395
+ update!(**args)
7396
+ end
7397
+
7398
+ # Update properties of this object
7399
+ def update!(**args)
7400
+ @audio_export_gcs_destination = args[:audio_export_gcs_destination] if args.key?(:audio_export_gcs_destination)
7401
+ @dtmf_settings = args[:dtmf_settings] if args.key?(:dtmf_settings)
7402
+ @logging_settings = args[:logging_settings] if args.key?(:logging_settings)
7403
+ end
7404
+ end
7405
+
7406
+ # Define behaviors for DTMF (dual tone multi frequency).
7407
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings
7408
+ include Google::Apis::Core::Hashable
7409
+
7410
+ # If true, incoming audio is processed for DTMF (dual tone multi frequency)
7411
+ # events. For example, if the caller presses a button on their telephone keypad
7412
+ # and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3"
7413
+ # was pressed) in the incoming audio and pass the event to the bot to drive
7414
+ # business logic (e.g. when 3 is pressed, return the account balance).
7415
+ # Corresponds to the JSON property `enabled`
7416
+ # @return [Boolean]
7417
+ attr_accessor :enabled
7418
+ alias_method :enabled?, :enabled
7419
+
7420
+ # The digit that terminates a DTMF digit sequence.
7421
+ # Corresponds to the JSON property `finishDigit`
7422
+ # @return [String]
7423
+ attr_accessor :finish_digit
7424
+
7425
+ # Max length of DTMF digits.
7426
+ # Corresponds to the JSON property `maxDigits`
7427
+ # @return [Fixnum]
7428
+ attr_accessor :max_digits
7429
+
7430
+ def initialize(**args)
7431
+ update!(**args)
7432
+ end
7433
+
7434
+ # Update properties of this object
7435
+ def update!(**args)
7436
+ @enabled = args[:enabled] if args.key?(:enabled)
7437
+ @finish_digit = args[:finish_digit] if args.key?(:finish_digit)
7438
+ @max_digits = args[:max_digits] if args.key?(:max_digits)
7439
+ end
7440
+ end
7441
+
7442
+ # Define behaviors on logging.
7443
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings
7444
+ include Google::Apis::Core::Hashable
7445
+
7446
+ # If true, DF Interaction logging is currently enabled.
7447
+ # Corresponds to the JSON property `enableInteractionLogging`
7448
+ # @return [Boolean]
7449
+ attr_accessor :enable_interaction_logging
7450
+ alias_method :enable_interaction_logging?, :enable_interaction_logging
7451
+
7452
+ # If true, StackDriver logging is currently enabled.
7453
+ # Corresponds to the JSON property `enableStackdriverLogging`
7454
+ # @return [Boolean]
7455
+ attr_accessor :enable_stackdriver_logging
7456
+ alias_method :enable_stackdriver_logging?, :enable_stackdriver_logging
7457
+
7458
+ def initialize(**args)
7459
+ update!(**args)
7460
+ end
7461
+
7462
+ # Update properties of this object
7463
+ def update!(**args)
7464
+ @enable_interaction_logging = args[:enable_interaction_logging] if args.key?(:enable_interaction_logging)
7465
+ @enable_stackdriver_logging = args[:enable_stackdriver_logging] if args.key?(:enable_stackdriver_logging)
7466
+ end
7467
+ end
7468
+
6889
7469
  # Represents the natural speech audio to be processed.
6890
7470
  class GoogleCloudDialogflowCxV3beta1AudioInput
6891
7471
  include Google::Apis::Core::Hashable
@@ -7201,6 +7781,34 @@ module Google
7201
7781
  end
7202
7782
  end
7203
7783
 
7784
+ # A data store connection. It represents a data store in Discovery Engine and
7785
+ # the type of the contents it contains.
7786
+ class GoogleCloudDialogflowCxV3beta1DataStoreConnection
7787
+ include Google::Apis::Core::Hashable
7788
+
7789
+ # The full name of the referenced data store. Formats: `projects/`project`/
7790
+ # locations/`location`/collections/`collection`/dataStores/`data_store`` `
7791
+ # projects/`project`/locations/`location`/dataStores/`data_store``
7792
+ # Corresponds to the JSON property `dataStore`
7793
+ # @return [String]
7794
+ attr_accessor :data_store
7795
+
7796
+ # The type of the connected data store.
7797
+ # Corresponds to the JSON property `dataStoreType`
7798
+ # @return [String]
7799
+ attr_accessor :data_store_type
7800
+
7801
+ def initialize(**args)
7802
+ update!(**args)
7803
+ end
7804
+
7805
+ # Update properties of this object
7806
+ def update!(**args)
7807
+ @data_store = args[:data_store] if args.key?(:data_store)
7808
+ @data_store_type = args[:data_store_type] if args.key?(:data_store_type)
7809
+ end
7810
+ end
7811
+
7204
7812
  # Metadata for DeleteDocument operation.
7205
7813
  class GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata
7206
7814
  include Google::Apis::Core::Hashable
@@ -7643,6 +8251,18 @@ module Google
7643
8251
  class GoogleCloudDialogflowCxV3beta1FormParameter
7644
8252
  include Google::Apis::Core::Hashable
7645
8253
 
8254
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
8255
+ # Settings exposed at lower level overrides the settings exposed at higher level.
8256
+ # Overriding occurs at the sub-setting level. For example, the
8257
+ # playback_interruption_settings at fulfillment level only overrides the
8258
+ # playback_interruption_settings at the agent level, leaving other settings at
8259
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
8260
+ # settings set at different levels define DTMF detections running in parallel.
8261
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
8262
+ # Corresponds to the JSON property `advancedSettings`
8263
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
8264
+ attr_accessor :advanced_settings
8265
+
7646
8266
  # The default value of an optional parameter. If the parameter is required, the
7647
8267
  # default value will be ignored.
7648
8268
  # Corresponds to the JSON property `defaultValue`
@@ -7696,6 +8316,7 @@ module Google
7696
8316
 
7697
8317
  # Update properties of this object
7698
8318
  def update!(**args)
8319
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
7699
8320
  @default_value = args[:default_value] if args.key?(:default_value)
7700
8321
  @display_name = args[:display_name] if args.key?(:display_name)
7701
8322
  @entity_type = args[:entity_type] if args.key?(:entity_type)
@@ -7766,11 +8387,32 @@ module Google
7766
8387
  class GoogleCloudDialogflowCxV3beta1Fulfillment
7767
8388
  include Google::Apis::Core::Hashable
7768
8389
 
8390
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
8391
+ # Settings exposed at lower level overrides the settings exposed at higher level.
8392
+ # Overriding occurs at the sub-setting level. For example, the
8393
+ # playback_interruption_settings at fulfillment level only overrides the
8394
+ # playback_interruption_settings at the agent level, leaving other settings at
8395
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
8396
+ # settings set at different levels define DTMF detections running in parallel.
8397
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
8398
+ # Corresponds to the JSON property `advancedSettings`
8399
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
8400
+ attr_accessor :advanced_settings
8401
+
7769
8402
  # Conditional cases for this fulfillment.
7770
8403
  # Corresponds to the JSON property `conditionalCases`
7771
8404
  # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases>]
7772
8405
  attr_accessor :conditional_cases
7773
8406
 
8407
+ # If the flag is true, the agent will utilize LLM to generate a text response.
8408
+ # If LLM generation fails, the defined responses in the fulfillment will be
8409
+ # respected. This flag is only useful for fulfillments associated with no-match
8410
+ # event handlers.
8411
+ # Corresponds to the JSON property `enableGenerativeFallback`
8412
+ # @return [Boolean]
8413
+ attr_accessor :enable_generative_fallback
8414
+ alias_method :enable_generative_fallback?, :enable_generative_fallback
8415
+
7774
8416
  # The list of rich message responses to present to the user.
7775
8417
  # Corresponds to the JSON property `messages`
7776
8418
  # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessage>]
@@ -7813,7 +8455,9 @@ module Google
7813
8455
 
7814
8456
  # Update properties of this object
7815
8457
  def update!(**args)
8458
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
7816
8459
  @conditional_cases = args[:conditional_cases] if args.key?(:conditional_cases)
8460
+ @enable_generative_fallback = args[:enable_generative_fallback] if args.key?(:enable_generative_fallback)
7817
8461
  @messages = args[:messages] if args.key?(:messages)
7818
8462
  @return_partial_responses = args[:return_partial_responses] if args.key?(:return_partial_responses)
7819
8463
  @set_parameter_actions = args[:set_parameter_actions] if args.key?(:set_parameter_actions)
@@ -7933,6 +8577,28 @@ module Google
7933
8577
  end
7934
8578
  end
7935
8579
 
8580
+ # Google Cloud Storage location for a Dialogflow operation that writes or
8581
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
8582
+ class GoogleCloudDialogflowCxV3beta1GcsDestination
8583
+ include Google::Apis::Core::Hashable
8584
+
8585
+ # Required. The Google Cloud Storage URI for the exported objects. A URI is of
8586
+ # the form: `gs://bucket/object-name-or-prefix` Whether a full object name, or
8587
+ # just a prefix, its usage depends on the Dialogflow operation.
8588
+ # Corresponds to the JSON property `uri`
8589
+ # @return [String]
8590
+ attr_accessor :uri
8591
+
8592
+ def initialize(**args)
8593
+ update!(**args)
8594
+ end
8595
+
8596
+ # Update properties of this object
8597
+ def update!(**args)
8598
+ @uri = args[:uri] if args.key?(:uri)
8599
+ end
8600
+ end
8601
+
7936
8602
  # Metadata in google::longrunning::Operation for Knowledge operations.
7937
8603
  class GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata
7938
8604
  include Google::Apis::Core::Hashable
@@ -8347,6 +9013,60 @@ module Google
8347
9013
  end
8348
9014
  end
8349
9015
 
9016
+ # The Knowledge Connector settings for this page or flow. This includes
9017
+ # information such as the attached Knowledge Bases, and the way to execute
9018
+ # fulfillment.
9019
+ class GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings
9020
+ include Google::Apis::Core::Hashable
9021
+
9022
+ # Optional. List of related data store connections.
9023
+ # Corresponds to the JSON property `dataStoreConnections`
9024
+ # @return [Array<Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1DataStoreConnection>]
9025
+ attr_accessor :data_store_connections
9026
+
9027
+ # Whether Knowledge Connector is enabled or not.
9028
+ # Corresponds to the JSON property `enabled`
9029
+ # @return [Boolean]
9030
+ attr_accessor :enabled
9031
+ alias_method :enabled?, :enabled
9032
+
9033
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
9034
+ # .
9035
+ # Corresponds to the JSON property `targetFlow`
9036
+ # @return [String]
9037
+ attr_accessor :target_flow
9038
+
9039
+ # The target page to transition to. Format: `projects//locations//agents//flows//
9040
+ # pages/`.
9041
+ # Corresponds to the JSON property `targetPage`
9042
+ # @return [String]
9043
+ attr_accessor :target_page
9044
+
9045
+ # A fulfillment can do one or more of the following actions at the same time: *
9046
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
9047
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
9048
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
9049
+ # the page's entry fulfillment can add a static response to the QueryResult in
9050
+ # the returning DetectIntentResponse, call the webhook (for example, to load
9051
+ # user data from a database), or both.
9052
+ # Corresponds to the JSON property `triggerFulfillment`
9053
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Fulfillment]
9054
+ attr_accessor :trigger_fulfillment
9055
+
9056
+ def initialize(**args)
9057
+ update!(**args)
9058
+ end
9059
+
9060
+ # Update properties of this object
9061
+ def update!(**args)
9062
+ @data_store_connections = args[:data_store_connections] if args.key?(:data_store_connections)
9063
+ @enabled = args[:enabled] if args.key?(:enabled)
9064
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
9065
+ @target_page = args[:target_page] if args.key?(:target_page)
9066
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
9067
+ end
9068
+ end
9069
+
8350
9070
  # A Dialogflow CX conversation (session) can be described and visualized as a
8351
9071
  # state machine. The states of a CX session are represented by pages. For each
8352
9072
  # flow, you define many pages, where your combined pages can handle a complete
@@ -8362,6 +9082,18 @@ module Google
8362
9082
  class GoogleCloudDialogflowCxV3beta1Page
8363
9083
  include Google::Apis::Core::Hashable
8364
9084
 
9085
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
9086
+ # Settings exposed at lower level overrides the settings exposed at higher level.
9087
+ # Overriding occurs at the sub-setting level. For example, the
9088
+ # playback_interruption_settings at fulfillment level only overrides the
9089
+ # playback_interruption_settings at the agent level, leaving other settings at
9090
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
9091
+ # settings set at different levels define DTMF detections running in parallel.
9092
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
9093
+ # Corresponds to the JSON property `advancedSettings`
9094
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
9095
+ attr_accessor :advanced_settings
9096
+
8365
9097
  # Required. The human-readable name of the page, unique within the flow.
8366
9098
  # Corresponds to the JSON property `displayName`
8367
9099
  # @return [String]
@@ -8393,6 +9125,13 @@ module Google
8393
9125
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1Form]
8394
9126
  attr_accessor :form
8395
9127
 
9128
+ # The Knowledge Connector settings for this page or flow. This includes
9129
+ # information such as the attached Knowledge Bases, and the way to execute
9130
+ # fulfillment.
9131
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
9132
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings]
9133
+ attr_accessor :knowledge_connector_settings
9134
+
8396
9135
  # The unique identifier of the page. Required for the Pages.UpdatePage method.
8397
9136
  # Pages.CreatePage populates the name automatically. Format: `projects//
8398
9137
  # locations//agents//flows//pages/`.
@@ -8400,14 +9139,17 @@ module Google
8400
9139
  # @return [String]
8401
9140
  attr_accessor :name
8402
9141
 
8403
- # Ordered list of `TransitionRouteGroups` associated with the page. Transition
8404
- # route groups must be unique within a page. * If multiple transition routes
8405
- # within a page scope refer to the same intent, then the precedence order is:
8406
- # page's transition route -> page's transition route group -> flow's transition
8407
- # routes. * If multiple transition route groups within a page contain the same
8408
- # intent, then the first group in the ordered list takes precedence. Format:`
8409
- # projects//locations//agents//flows//transitionRouteGroups/` or `projects//
8410
- # locations//agents//transitionRouteGroups/` for agent-level groups.
9142
+ # Ordered list of `TransitionRouteGroups` added to the page. Transition route
9143
+ # groups must be unique within a page. If the page links both flow-level
9144
+ # transition route groups and agent-level transition route groups, the flow-
9145
+ # level ones will have higher priority and will be put before the agent-level
9146
+ # ones. * If multiple transition routes within a page scope refer to the same
9147
+ # intent, then the precedence order is: page's transition route -> page's
9148
+ # transition route group -> flow's transition routes. * If multiple transition
9149
+ # route groups within a page contain the same intent, then the first group in
9150
+ # the ordered list takes precedence. Format:`projects//locations//agents//flows//
9151
+ # transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/
9152
+ # ` for agent-level groups.
8411
9153
  # Corresponds to the JSON property `transitionRouteGroups`
8412
9154
  # @return [Array<String>]
8413
9155
  attr_accessor :transition_route_groups
@@ -8432,10 +9174,12 @@ module Google
8432
9174
 
8433
9175
  # Update properties of this object
8434
9176
  def update!(**args)
9177
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
8435
9178
  @display_name = args[:display_name] if args.key?(:display_name)
8436
9179
  @entry_fulfillment = args[:entry_fulfillment] if args.key?(:entry_fulfillment)
8437
9180
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
8438
9181
  @form = args[:form] if args.key?(:form)
9182
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
8439
9183
  @name = args[:name] if args.key?(:name)
8440
9184
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
8441
9185
  @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
@@ -8666,6 +9410,13 @@ module Google
8666
9410
  # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction]
8667
9411
  attr_accessor :end_interaction
8668
9412
 
9413
+ # Represents info card response. If the response contains generative knowledge
9414
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
9415
+ # info card. Otherwise, the info card response is skipped.
9416
+ # Corresponds to the JSON property `knowledgeInfoCard`
9417
+ # @return [Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard]
9418
+ attr_accessor :knowledge_info_card
9419
+
8669
9420
  # Indicates that the conversation should be handed off to a live agent.
8670
9421
  # Dialogflow only uses this to determine which conversations were handed off to
8671
9422
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -8721,6 +9472,7 @@ module Google
8721
9472
  @channel = args[:channel] if args.key?(:channel)
8722
9473
  @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
8723
9474
  @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
9475
+ @knowledge_info_card = args[:knowledge_info_card] if args.key?(:knowledge_info_card)
8724
9476
  @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
8725
9477
  @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
8726
9478
  @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
@@ -8772,6 +9524,21 @@ module Google
8772
9524
  end
8773
9525
  end
8774
9526
 
9527
+ # Represents info card response. If the response contains generative knowledge
9528
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
9529
+ # info card. Otherwise, the info card response is skipped.
9530
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard
9531
+ include Google::Apis::Core::Hashable
9532
+
9533
+ def initialize(**args)
9534
+ update!(**args)
9535
+ end
9536
+
9537
+ # Update properties of this object
9538
+ def update!(**args)
9539
+ end
9540
+ end
9541
+
8775
9542
  # Indicates that the conversation should be handed off to a live agent.
8776
9543
  # Dialogflow only uses this to determine which conversations were handed off to
8777
9544
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -9355,6 +10122,12 @@ module Google
9355
10122
  # @return [String]
9356
10123
  attr_accessor :condition
9357
10124
 
10125
+ # Optional. The description of the transition route. The maximum length is 500
10126
+ # characters.
10127
+ # Corresponds to the JSON property `description`
10128
+ # @return [String]
10129
+ attr_accessor :description
10130
+
9358
10131
  # The unique identifier of an Intent. Format: `projects//locations//agents//
9359
10132
  # intents/`. Indicates that the transition can only happen when the given intent
9360
10133
  # is matched. At least one of `intent` or `condition` must be specified. When
@@ -9399,6 +10172,7 @@ module Google
9399
10172
  # Update properties of this object
9400
10173
  def update!(**args)
9401
10174
  @condition = args[:condition] if args.key?(:condition)
10175
+ @description = args[:description] if args.key?(:description)
9402
10176
  @intent = args[:intent] if args.key?(:intent)
9403
10177
  @name = args[:name] if args.key?(:name)
9404
10178
  @target_flow = args[:target_flow] if args.key?(:target_flow)