google-apis-dialogflow_v3 0.66.0 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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)