google-apis-dialogflow_v2beta1 0.66.0 → 0.68.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,6 +22,108 @@ module Google
22
22
  module Apis
23
23
  module DialogflowV2beta1
24
24
 
25
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
26
+ # Settings exposed at lower level overrides the settings exposed at higher level.
27
+ # Overriding occurs at the sub-setting level. For example, the
28
+ # playback_interruption_settings at fulfillment level only overrides the
29
+ # playback_interruption_settings at the agent level, leaving other settings at
30
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
31
+ # settings set at different levels define DTMF detections running in parallel.
32
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
33
+ class GoogleCloudDialogflowCxV3AdvancedSettings
34
+ include Google::Apis::Core::Hashable
35
+
36
+ # Google Cloud Storage location for a Dialogflow operation that writes or
37
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
38
+ # Corresponds to the JSON property `audioExportGcsDestination`
39
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3GcsDestination]
40
+ attr_accessor :audio_export_gcs_destination
41
+
42
+ # Define behaviors for DTMF (dual tone multi frequency).
43
+ # Corresponds to the JSON property `dtmfSettings`
44
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings]
45
+ attr_accessor :dtmf_settings
46
+
47
+ # Define behaviors on logging.
48
+ # Corresponds to the JSON property `loggingSettings`
49
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings]
50
+ attr_accessor :logging_settings
51
+
52
+ def initialize(**args)
53
+ update!(**args)
54
+ end
55
+
56
+ # Update properties of this object
57
+ def update!(**args)
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)
60
+ @logging_settings = args[:logging_settings] if args.key?(:logging_settings)
61
+ end
62
+ end
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
+
100
+ # Define behaviors on logging.
101
+ class GoogleCloudDialogflowCxV3AdvancedSettingsLoggingSettings
102
+ include Google::Apis::Core::Hashable
103
+
104
+ # If true, DF Interaction logging is currently enabled.
105
+ # Corresponds to the JSON property `enableInteractionLogging`
106
+ # @return [Boolean]
107
+ attr_accessor :enable_interaction_logging
108
+ alias_method :enable_interaction_logging?, :enable_interaction_logging
109
+
110
+ # If true, StackDriver logging is currently enabled.
111
+ # Corresponds to the JSON property `enableStackdriverLogging`
112
+ # @return [Boolean]
113
+ attr_accessor :enable_stackdriver_logging
114
+ alias_method :enable_stackdriver_logging?, :enable_stackdriver_logging
115
+
116
+ def initialize(**args)
117
+ update!(**args)
118
+ end
119
+
120
+ # Update properties of this object
121
+ def update!(**args)
122
+ @enable_interaction_logging = args[:enable_interaction_logging] if args.key?(:enable_interaction_logging)
123
+ @enable_stackdriver_logging = args[:enable_stackdriver_logging] if args.key?(:enable_stackdriver_logging)
124
+ end
125
+ end
126
+
25
127
  # Represents the natural speech audio to be processed.
26
128
  class GoogleCloudDialogflowCxV3AudioInput
27
129
  include Google::Apis::Core::Hashable
@@ -337,6 +439,34 @@ module Google
337
439
  end
338
440
  end
339
441
 
442
+ # A data store connection. It represents a data store in Discovery Engine and
443
+ # the type of the contents it contains.
444
+ class GoogleCloudDialogflowCxV3DataStoreConnection
445
+ include Google::Apis::Core::Hashable
446
+
447
+ # The full name of the referenced data store. Formats: `projects/`project`/
448
+ # locations/`location`/collections/`collection`/dataStores/`data_store`` `
449
+ # projects/`project`/locations/`location`/dataStores/`data_store``
450
+ # Corresponds to the JSON property `dataStore`
451
+ # @return [String]
452
+ attr_accessor :data_store
453
+
454
+ # The type of the connected data store.
455
+ # Corresponds to the JSON property `dataStoreType`
456
+ # @return [String]
457
+ attr_accessor :data_store_type
458
+
459
+ def initialize(**args)
460
+ update!(**args)
461
+ end
462
+
463
+ # Update properties of this object
464
+ def update!(**args)
465
+ @data_store = args[:data_store] if args.key?(:data_store)
466
+ @data_store_type = args[:data_store_type] if args.key?(:data_store_type)
467
+ end
468
+ end
469
+
340
470
  # Metadata for DeleteDocument operation.
341
471
  class GoogleCloudDialogflowCxV3DeleteDocumentOperationMetadata
342
472
  include Google::Apis::Core::Hashable
@@ -779,6 +909,18 @@ module Google
779
909
  class GoogleCloudDialogflowCxV3FormParameter
780
910
  include Google::Apis::Core::Hashable
781
911
 
912
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
913
+ # Settings exposed at lower level overrides the settings exposed at higher level.
914
+ # Overriding occurs at the sub-setting level. For example, the
915
+ # playback_interruption_settings at fulfillment level only overrides the
916
+ # playback_interruption_settings at the agent level, leaving other settings at
917
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
918
+ # settings set at different levels define DTMF detections running in parallel.
919
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
920
+ # Corresponds to the JSON property `advancedSettings`
921
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3AdvancedSettings]
922
+ attr_accessor :advanced_settings
923
+
782
924
  # The default value of an optional parameter. If the parameter is required, the
783
925
  # default value will be ignored.
784
926
  # Corresponds to the JSON property `defaultValue`
@@ -832,6 +974,7 @@ module Google
832
974
 
833
975
  # Update properties of this object
834
976
  def update!(**args)
977
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
835
978
  @default_value = args[:default_value] if args.key?(:default_value)
836
979
  @display_name = args[:display_name] if args.key?(:display_name)
837
980
  @entity_type = args[:entity_type] if args.key?(:entity_type)
@@ -902,11 +1045,32 @@ module Google
902
1045
  class GoogleCloudDialogflowCxV3Fulfillment
903
1046
  include Google::Apis::Core::Hashable
904
1047
 
1048
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
1049
+ # Settings exposed at lower level overrides the settings exposed at higher level.
1050
+ # Overriding occurs at the sub-setting level. For example, the
1051
+ # playback_interruption_settings at fulfillment level only overrides the
1052
+ # playback_interruption_settings at the agent level, leaving other settings at
1053
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
1054
+ # settings set at different levels define DTMF detections running in parallel.
1055
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
1056
+ # Corresponds to the JSON property `advancedSettings`
1057
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3AdvancedSettings]
1058
+ attr_accessor :advanced_settings
1059
+
905
1060
  # Conditional cases for this fulfillment.
906
1061
  # Corresponds to the JSON property `conditionalCases`
907
1062
  # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3FulfillmentConditionalCases>]
908
1063
  attr_accessor :conditional_cases
909
1064
 
1065
+ # If the flag is true, the agent will utilize LLM to generate a text response.
1066
+ # If LLM generation fails, the defined responses in the fulfillment will be
1067
+ # respected. This flag is only useful for fulfillments associated with no-match
1068
+ # event handlers.
1069
+ # Corresponds to the JSON property `enableGenerativeFallback`
1070
+ # @return [Boolean]
1071
+ attr_accessor :enable_generative_fallback
1072
+ alias_method :enable_generative_fallback?, :enable_generative_fallback
1073
+
910
1074
  # The list of rich message responses to present to the user.
911
1075
  # Corresponds to the JSON property `messages`
912
1076
  # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3ResponseMessage>]
@@ -949,7 +1113,9 @@ module Google
949
1113
 
950
1114
  # Update properties of this object
951
1115
  def update!(**args)
1116
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
952
1117
  @conditional_cases = args[:conditional_cases] if args.key?(:conditional_cases)
1118
+ @enable_generative_fallback = args[:enable_generative_fallback] if args.key?(:enable_generative_fallback)
953
1119
  @messages = args[:messages] if args.key?(:messages)
954
1120
  @return_partial_responses = args[:return_partial_responses] if args.key?(:return_partial_responses)
955
1121
  @set_parameter_actions = args[:set_parameter_actions] if args.key?(:set_parameter_actions)
@@ -1069,6 +1235,28 @@ module Google
1069
1235
  end
1070
1236
  end
1071
1237
 
1238
+ # Google Cloud Storage location for a Dialogflow operation that writes or
1239
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
1240
+ class GoogleCloudDialogflowCxV3GcsDestination
1241
+ include Google::Apis::Core::Hashable
1242
+
1243
+ # Required. The Google Cloud Storage URI for the exported objects. A URI is of
1244
+ # the form: `gs://bucket/object-name-or-prefix` Whether a full object name, or
1245
+ # just a prefix, its usage depends on the Dialogflow operation.
1246
+ # Corresponds to the JSON property `uri`
1247
+ # @return [String]
1248
+ attr_accessor :uri
1249
+
1250
+ def initialize(**args)
1251
+ update!(**args)
1252
+ end
1253
+
1254
+ # Update properties of this object
1255
+ def update!(**args)
1256
+ @uri = args[:uri] if args.key?(:uri)
1257
+ end
1258
+ end
1259
+
1072
1260
  # Metadata in google::longrunning::Operation for Knowledge operations.
1073
1261
  class GoogleCloudDialogflowCxV3GenericKnowledgeOperationMetadata
1074
1262
  include Google::Apis::Core::Hashable
@@ -1483,6 +1671,60 @@ module Google
1483
1671
  end
1484
1672
  end
1485
1673
 
1674
+ # The Knowledge Connector settings for this page or flow. This includes
1675
+ # information such as the attached Knowledge Bases, and the way to execute
1676
+ # fulfillment.
1677
+ class GoogleCloudDialogflowCxV3KnowledgeConnectorSettings
1678
+ include Google::Apis::Core::Hashable
1679
+
1680
+ # Optional. List of related data store connections.
1681
+ # Corresponds to the JSON property `dataStoreConnections`
1682
+ # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3DataStoreConnection>]
1683
+ attr_accessor :data_store_connections
1684
+
1685
+ # Whether Knowledge Connector is enabled or not.
1686
+ # Corresponds to the JSON property `enabled`
1687
+ # @return [Boolean]
1688
+ attr_accessor :enabled
1689
+ alias_method :enabled?, :enabled
1690
+
1691
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
1692
+ # .
1693
+ # Corresponds to the JSON property `targetFlow`
1694
+ # @return [String]
1695
+ attr_accessor :target_flow
1696
+
1697
+ # The target page to transition to. Format: `projects//locations//agents//flows//
1698
+ # pages/`.
1699
+ # Corresponds to the JSON property `targetPage`
1700
+ # @return [String]
1701
+ attr_accessor :target_page
1702
+
1703
+ # A fulfillment can do one or more of the following actions at the same time: *
1704
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
1705
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
1706
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
1707
+ # the page's entry fulfillment can add a static response to the QueryResult in
1708
+ # the returning DetectIntentResponse, call the webhook (for example, to load
1709
+ # user data from a database), or both.
1710
+ # Corresponds to the JSON property `triggerFulfillment`
1711
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3Fulfillment]
1712
+ attr_accessor :trigger_fulfillment
1713
+
1714
+ def initialize(**args)
1715
+ update!(**args)
1716
+ end
1717
+
1718
+ # Update properties of this object
1719
+ def update!(**args)
1720
+ @data_store_connections = args[:data_store_connections] if args.key?(:data_store_connections)
1721
+ @enabled = args[:enabled] if args.key?(:enabled)
1722
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
1723
+ @target_page = args[:target_page] if args.key?(:target_page)
1724
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
1725
+ end
1726
+ end
1727
+
1486
1728
  # A Dialogflow CX conversation (session) can be described and visualized as a
1487
1729
  # state machine. The states of a CX session are represented by pages. For each
1488
1730
  # flow, you define many pages, where your combined pages can handle a complete
@@ -1498,6 +1740,18 @@ module Google
1498
1740
  class GoogleCloudDialogflowCxV3Page
1499
1741
  include Google::Apis::Core::Hashable
1500
1742
 
1743
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
1744
+ # Settings exposed at lower level overrides the settings exposed at higher level.
1745
+ # Overriding occurs at the sub-setting level. For example, the
1746
+ # playback_interruption_settings at fulfillment level only overrides the
1747
+ # playback_interruption_settings at the agent level, leaving other settings at
1748
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
1749
+ # settings set at different levels define DTMF detections running in parallel.
1750
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
1751
+ # Corresponds to the JSON property `advancedSettings`
1752
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3AdvancedSettings]
1753
+ attr_accessor :advanced_settings
1754
+
1501
1755
  # Required. The human-readable name of the page, unique within the flow.
1502
1756
  # Corresponds to the JSON property `displayName`
1503
1757
  # @return [String]
@@ -1529,6 +1783,13 @@ module Google
1529
1783
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3Form]
1530
1784
  attr_accessor :form
1531
1785
 
1786
+ # The Knowledge Connector settings for this page or flow. This includes
1787
+ # information such as the attached Knowledge Bases, and the way to execute
1788
+ # fulfillment.
1789
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
1790
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3KnowledgeConnectorSettings]
1791
+ attr_accessor :knowledge_connector_settings
1792
+
1532
1793
  # The unique identifier of the page. Required for the Pages.UpdatePage method.
1533
1794
  # Pages.CreatePage populates the name automatically. Format: `projects//
1534
1795
  # locations//agents//flows//pages/`.
@@ -1536,14 +1797,17 @@ module Google
1536
1797
  # @return [String]
1537
1798
  attr_accessor :name
1538
1799
 
1539
- # Ordered list of `TransitionRouteGroups` associated with the page. Transition
1540
- # route groups must be unique within a page. * If multiple transition routes
1541
- # within a page scope refer to the same intent, then the precedence order is:
1542
- # page's transition route -> page's transition route group -> flow's transition
1543
- # routes. * If multiple transition route groups within a page contain the same
1544
- # intent, then the first group in the ordered list takes precedence. Format:`
1545
- # projects//locations//agents//flows//transitionRouteGroups/` or `projects//
1546
- # locations//agents//transitionRouteGroups/` for agent-level groups.
1800
+ # Ordered list of `TransitionRouteGroups` added to the page. Transition route
1801
+ # groups must be unique within a page. If the page links both flow-level
1802
+ # transition route groups and agent-level transition route groups, the flow-
1803
+ # level ones will have higher priority and will be put before the agent-level
1804
+ # ones. * If multiple transition routes within a page scope refer to the same
1805
+ # intent, then the precedence order is: page's transition route -> page's
1806
+ # transition route group -> flow's transition routes. * If multiple transition
1807
+ # route groups within a page contain the same intent, then the first group in
1808
+ # the ordered list takes precedence. Format:`projects//locations//agents//flows//
1809
+ # transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/
1810
+ # ` for agent-level groups.
1547
1811
  # Corresponds to the JSON property `transitionRouteGroups`
1548
1812
  # @return [Array<String>]
1549
1813
  attr_accessor :transition_route_groups
@@ -1568,10 +1832,12 @@ module Google
1568
1832
 
1569
1833
  # Update properties of this object
1570
1834
  def update!(**args)
1835
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
1571
1836
  @display_name = args[:display_name] if args.key?(:display_name)
1572
1837
  @entry_fulfillment = args[:entry_fulfillment] if args.key?(:entry_fulfillment)
1573
1838
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
1574
1839
  @form = args[:form] if args.key?(:form)
1840
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
1575
1841
  @name = args[:name] if args.key?(:name)
1576
1842
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
1577
1843
  @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
@@ -1802,6 +2068,13 @@ module Google
1802
2068
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3ResponseMessageEndInteraction]
1803
2069
  attr_accessor :end_interaction
1804
2070
 
2071
+ # Represents info card response. If the response contains generative knowledge
2072
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
2073
+ # info card. Otherwise, the info card response is skipped.
2074
+ # Corresponds to the JSON property `knowledgeInfoCard`
2075
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard]
2076
+ attr_accessor :knowledge_info_card
2077
+
1805
2078
  # Indicates that the conversation should be handed off to a live agent.
1806
2079
  # Dialogflow only uses this to determine which conversations were handed off to
1807
2080
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -1862,6 +2135,7 @@ module Google
1862
2135
  @channel = args[:channel] if args.key?(:channel)
1863
2136
  @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
1864
2137
  @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
2138
+ @knowledge_info_card = args[:knowledge_info_card] if args.key?(:knowledge_info_card)
1865
2139
  @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
1866
2140
  @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
1867
2141
  @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
@@ -1914,6 +2188,21 @@ module Google
1914
2188
  end
1915
2189
  end
1916
2190
 
2191
+ # Represents info card response. If the response contains generative knowledge
2192
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
2193
+ # info card. Otherwise, the info card response is skipped.
2194
+ class GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard
2195
+ include Google::Apis::Core::Hashable
2196
+
2197
+ def initialize(**args)
2198
+ update!(**args)
2199
+ end
2200
+
2201
+ # Update properties of this object
2202
+ def update!(**args)
2203
+ end
2204
+ end
2205
+
1917
2206
  # Indicates that the conversation should be handed off to a live agent.
1918
2207
  # Dialogflow only uses this to determine which conversations were handed off to
1919
2208
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -2497,6 +2786,12 @@ module Google
2497
2786
  # @return [String]
2498
2787
  attr_accessor :condition
2499
2788
 
2789
+ # Optional. The description of the transition route. The maximum length is 500
2790
+ # characters.
2791
+ # Corresponds to the JSON property `description`
2792
+ # @return [String]
2793
+ attr_accessor :description
2794
+
2500
2795
  # The unique identifier of an Intent. Format: `projects//locations//agents//
2501
2796
  # intents/`. Indicates that the transition can only happen when the given intent
2502
2797
  # is matched. At least one of `intent` or `condition` must be specified. When
@@ -2541,6 +2836,7 @@ module Google
2541
2836
  # Update properties of this object
2542
2837
  def update!(**args)
2543
2838
  @condition = args[:condition] if args.key?(:condition)
2839
+ @description = args[:description] if args.key?(:description)
2544
2840
  @intent = args[:intent] if args.key?(:intent)
2545
2841
  @name = args[:name] if args.key?(:name)
2546
2842
  @target_flow = args[:target_flow] if args.key?(:target_flow)
@@ -3114,6 +3410,108 @@ module Google
3114
3410
  end
3115
3411
  end
3116
3412
 
3413
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
3414
+ # Settings exposed at lower level overrides the settings exposed at higher level.
3415
+ # Overriding occurs at the sub-setting level. For example, the
3416
+ # playback_interruption_settings at fulfillment level only overrides the
3417
+ # playback_interruption_settings at the agent level, leaving other settings at
3418
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
3419
+ # settings set at different levels define DTMF detections running in parallel.
3420
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
3421
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettings
3422
+ include Google::Apis::Core::Hashable
3423
+
3424
+ # Google Cloud Storage location for a Dialogflow operation that writes or
3425
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
3426
+ # Corresponds to the JSON property `audioExportGcsDestination`
3427
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1GcsDestination]
3428
+ attr_accessor :audio_export_gcs_destination
3429
+
3430
+ # Define behaviors for DTMF (dual tone multi frequency).
3431
+ # Corresponds to the JSON property `dtmfSettings`
3432
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings]
3433
+ attr_accessor :dtmf_settings
3434
+
3435
+ # Define behaviors on logging.
3436
+ # Corresponds to the JSON property `loggingSettings`
3437
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings]
3438
+ attr_accessor :logging_settings
3439
+
3440
+ def initialize(**args)
3441
+ update!(**args)
3442
+ end
3443
+
3444
+ # Update properties of this object
3445
+ def update!(**args)
3446
+ @audio_export_gcs_destination = args[:audio_export_gcs_destination] if args.key?(:audio_export_gcs_destination)
3447
+ @dtmf_settings = args[:dtmf_settings] if args.key?(:dtmf_settings)
3448
+ @logging_settings = args[:logging_settings] if args.key?(:logging_settings)
3449
+ end
3450
+ end
3451
+
3452
+ # Define behaviors for DTMF (dual tone multi frequency).
3453
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings
3454
+ include Google::Apis::Core::Hashable
3455
+
3456
+ # If true, incoming audio is processed for DTMF (dual tone multi frequency)
3457
+ # events. For example, if the caller presses a button on their telephone keypad
3458
+ # and DTMF processing is enabled, Dialogflow will detect the event (e.g. a "3"
3459
+ # was pressed) in the incoming audio and pass the event to the bot to drive
3460
+ # business logic (e.g. when 3 is pressed, return the account balance).
3461
+ # Corresponds to the JSON property `enabled`
3462
+ # @return [Boolean]
3463
+ attr_accessor :enabled
3464
+ alias_method :enabled?, :enabled
3465
+
3466
+ # The digit that terminates a DTMF digit sequence.
3467
+ # Corresponds to the JSON property `finishDigit`
3468
+ # @return [String]
3469
+ attr_accessor :finish_digit
3470
+
3471
+ # Max length of DTMF digits.
3472
+ # Corresponds to the JSON property `maxDigits`
3473
+ # @return [Fixnum]
3474
+ attr_accessor :max_digits
3475
+
3476
+ def initialize(**args)
3477
+ update!(**args)
3478
+ end
3479
+
3480
+ # Update properties of this object
3481
+ def update!(**args)
3482
+ @enabled = args[:enabled] if args.key?(:enabled)
3483
+ @finish_digit = args[:finish_digit] if args.key?(:finish_digit)
3484
+ @max_digits = args[:max_digits] if args.key?(:max_digits)
3485
+ end
3486
+ end
3487
+
3488
+ # Define behaviors on logging.
3489
+ class GoogleCloudDialogflowCxV3beta1AdvancedSettingsLoggingSettings
3490
+ include Google::Apis::Core::Hashable
3491
+
3492
+ # If true, DF Interaction logging is currently enabled.
3493
+ # Corresponds to the JSON property `enableInteractionLogging`
3494
+ # @return [Boolean]
3495
+ attr_accessor :enable_interaction_logging
3496
+ alias_method :enable_interaction_logging?, :enable_interaction_logging
3497
+
3498
+ # If true, StackDriver logging is currently enabled.
3499
+ # Corresponds to the JSON property `enableStackdriverLogging`
3500
+ # @return [Boolean]
3501
+ attr_accessor :enable_stackdriver_logging
3502
+ alias_method :enable_stackdriver_logging?, :enable_stackdriver_logging
3503
+
3504
+ def initialize(**args)
3505
+ update!(**args)
3506
+ end
3507
+
3508
+ # Update properties of this object
3509
+ def update!(**args)
3510
+ @enable_interaction_logging = args[:enable_interaction_logging] if args.key?(:enable_interaction_logging)
3511
+ @enable_stackdriver_logging = args[:enable_stackdriver_logging] if args.key?(:enable_stackdriver_logging)
3512
+ end
3513
+ end
3514
+
3117
3515
  # Represents the natural speech audio to be processed.
3118
3516
  class GoogleCloudDialogflowCxV3beta1AudioInput
3119
3517
  include Google::Apis::Core::Hashable
@@ -3429,6 +3827,34 @@ module Google
3429
3827
  end
3430
3828
  end
3431
3829
 
3830
+ # A data store connection. It represents a data store in Discovery Engine and
3831
+ # the type of the contents it contains.
3832
+ class GoogleCloudDialogflowCxV3beta1DataStoreConnection
3833
+ include Google::Apis::Core::Hashable
3834
+
3835
+ # The full name of the referenced data store. Formats: `projects/`project`/
3836
+ # locations/`location`/collections/`collection`/dataStores/`data_store`` `
3837
+ # projects/`project`/locations/`location`/dataStores/`data_store``
3838
+ # Corresponds to the JSON property `dataStore`
3839
+ # @return [String]
3840
+ attr_accessor :data_store
3841
+
3842
+ # The type of the connected data store.
3843
+ # Corresponds to the JSON property `dataStoreType`
3844
+ # @return [String]
3845
+ attr_accessor :data_store_type
3846
+
3847
+ def initialize(**args)
3848
+ update!(**args)
3849
+ end
3850
+
3851
+ # Update properties of this object
3852
+ def update!(**args)
3853
+ @data_store = args[:data_store] if args.key?(:data_store)
3854
+ @data_store_type = args[:data_store_type] if args.key?(:data_store_type)
3855
+ end
3856
+ end
3857
+
3432
3858
  # Metadata for DeleteDocument operation.
3433
3859
  class GoogleCloudDialogflowCxV3beta1DeleteDocumentOperationMetadata
3434
3860
  include Google::Apis::Core::Hashable
@@ -3871,6 +4297,18 @@ module Google
3871
4297
  class GoogleCloudDialogflowCxV3beta1FormParameter
3872
4298
  include Google::Apis::Core::Hashable
3873
4299
 
4300
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
4301
+ # Settings exposed at lower level overrides the settings exposed at higher level.
4302
+ # Overriding occurs at the sub-setting level. For example, the
4303
+ # playback_interruption_settings at fulfillment level only overrides the
4304
+ # playback_interruption_settings at the agent level, leaving other settings at
4305
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
4306
+ # settings set at different levels define DTMF detections running in parallel.
4307
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
4308
+ # Corresponds to the JSON property `advancedSettings`
4309
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
4310
+ attr_accessor :advanced_settings
4311
+
3874
4312
  # The default value of an optional parameter. If the parameter is required, the
3875
4313
  # default value will be ignored.
3876
4314
  # Corresponds to the JSON property `defaultValue`
@@ -3924,6 +4362,7 @@ module Google
3924
4362
 
3925
4363
  # Update properties of this object
3926
4364
  def update!(**args)
4365
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
3927
4366
  @default_value = args[:default_value] if args.key?(:default_value)
3928
4367
  @display_name = args[:display_name] if args.key?(:display_name)
3929
4368
  @entity_type = args[:entity_type] if args.key?(:entity_type)
@@ -3994,11 +4433,32 @@ module Google
3994
4433
  class GoogleCloudDialogflowCxV3beta1Fulfillment
3995
4434
  include Google::Apis::Core::Hashable
3996
4435
 
4436
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
4437
+ # Settings exposed at lower level overrides the settings exposed at higher level.
4438
+ # Overriding occurs at the sub-setting level. For example, the
4439
+ # playback_interruption_settings at fulfillment level only overrides the
4440
+ # playback_interruption_settings at the agent level, leaving other settings at
4441
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
4442
+ # settings set at different levels define DTMF detections running in parallel.
4443
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
4444
+ # Corresponds to the JSON property `advancedSettings`
4445
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
4446
+ attr_accessor :advanced_settings
4447
+
3997
4448
  # Conditional cases for this fulfillment.
3998
4449
  # Corresponds to the JSON property `conditionalCases`
3999
4450
  # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1FulfillmentConditionalCases>]
4000
4451
  attr_accessor :conditional_cases
4001
4452
 
4453
+ # If the flag is true, the agent will utilize LLM to generate a text response.
4454
+ # If LLM generation fails, the defined responses in the fulfillment will be
4455
+ # respected. This flag is only useful for fulfillments associated with no-match
4456
+ # event handlers.
4457
+ # Corresponds to the JSON property `enableGenerativeFallback`
4458
+ # @return [Boolean]
4459
+ attr_accessor :enable_generative_fallback
4460
+ alias_method :enable_generative_fallback?, :enable_generative_fallback
4461
+
4002
4462
  # The list of rich message responses to present to the user.
4003
4463
  # Corresponds to the JSON property `messages`
4004
4464
  # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1ResponseMessage>]
@@ -4041,7 +4501,9 @@ module Google
4041
4501
 
4042
4502
  # Update properties of this object
4043
4503
  def update!(**args)
4504
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
4044
4505
  @conditional_cases = args[:conditional_cases] if args.key?(:conditional_cases)
4506
+ @enable_generative_fallback = args[:enable_generative_fallback] if args.key?(:enable_generative_fallback)
4045
4507
  @messages = args[:messages] if args.key?(:messages)
4046
4508
  @return_partial_responses = args[:return_partial_responses] if args.key?(:return_partial_responses)
4047
4509
  @set_parameter_actions = args[:set_parameter_actions] if args.key?(:set_parameter_actions)
@@ -4161,6 +4623,28 @@ module Google
4161
4623
  end
4162
4624
  end
4163
4625
 
4626
+ # Google Cloud Storage location for a Dialogflow operation that writes or
4627
+ # exports objects (e.g. exported agent or transcripts) outside of Dialogflow.
4628
+ class GoogleCloudDialogflowCxV3beta1GcsDestination
4629
+ include Google::Apis::Core::Hashable
4630
+
4631
+ # Required. The Google Cloud Storage URI for the exported objects. A URI is of
4632
+ # the form: `gs://bucket/object-name-or-prefix` Whether a full object name, or
4633
+ # just a prefix, its usage depends on the Dialogflow operation.
4634
+ # Corresponds to the JSON property `uri`
4635
+ # @return [String]
4636
+ attr_accessor :uri
4637
+
4638
+ def initialize(**args)
4639
+ update!(**args)
4640
+ end
4641
+
4642
+ # Update properties of this object
4643
+ def update!(**args)
4644
+ @uri = args[:uri] if args.key?(:uri)
4645
+ end
4646
+ end
4647
+
4164
4648
  # Metadata in google::longrunning::Operation for Knowledge operations.
4165
4649
  class GoogleCloudDialogflowCxV3beta1GenericKnowledgeOperationMetadata
4166
4650
  include Google::Apis::Core::Hashable
@@ -4575,6 +5059,60 @@ module Google
4575
5059
  end
4576
5060
  end
4577
5061
 
5062
+ # The Knowledge Connector settings for this page or flow. This includes
5063
+ # information such as the attached Knowledge Bases, and the way to execute
5064
+ # fulfillment.
5065
+ class GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings
5066
+ include Google::Apis::Core::Hashable
5067
+
5068
+ # Optional. List of related data store connections.
5069
+ # Corresponds to the JSON property `dataStoreConnections`
5070
+ # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1DataStoreConnection>]
5071
+ attr_accessor :data_store_connections
5072
+
5073
+ # Whether Knowledge Connector is enabled or not.
5074
+ # Corresponds to the JSON property `enabled`
5075
+ # @return [Boolean]
5076
+ attr_accessor :enabled
5077
+ alias_method :enabled?, :enabled
5078
+
5079
+ # The target flow to transition to. Format: `projects//locations//agents//flows/`
5080
+ # .
5081
+ # Corresponds to the JSON property `targetFlow`
5082
+ # @return [String]
5083
+ attr_accessor :target_flow
5084
+
5085
+ # The target page to transition to. Format: `projects//locations//agents//flows//
5086
+ # pages/`.
5087
+ # Corresponds to the JSON property `targetPage`
5088
+ # @return [String]
5089
+ attr_accessor :target_page
5090
+
5091
+ # A fulfillment can do one or more of the following actions at the same time: *
5092
+ # Generate rich message responses. * Set parameter values. * Call the webhook.
5093
+ # Fulfillments can be called at various stages in the Page or Form lifecycle.
5094
+ # For example, when a DetectIntentRequest drives a session to enter a new page,
5095
+ # the page's entry fulfillment can add a static response to the QueryResult in
5096
+ # the returning DetectIntentResponse, call the webhook (for example, to load
5097
+ # user data from a database), or both.
5098
+ # Corresponds to the JSON property `triggerFulfillment`
5099
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1Fulfillment]
5100
+ attr_accessor :trigger_fulfillment
5101
+
5102
+ def initialize(**args)
5103
+ update!(**args)
5104
+ end
5105
+
5106
+ # Update properties of this object
5107
+ def update!(**args)
5108
+ @data_store_connections = args[:data_store_connections] if args.key?(:data_store_connections)
5109
+ @enabled = args[:enabled] if args.key?(:enabled)
5110
+ @target_flow = args[:target_flow] if args.key?(:target_flow)
5111
+ @target_page = args[:target_page] if args.key?(:target_page)
5112
+ @trigger_fulfillment = args[:trigger_fulfillment] if args.key?(:trigger_fulfillment)
5113
+ end
5114
+ end
5115
+
4578
5116
  # A Dialogflow CX conversation (session) can be described and visualized as a
4579
5117
  # state machine. The states of a CX session are represented by pages. For each
4580
5118
  # flow, you define many pages, where your combined pages can handle a complete
@@ -4590,6 +5128,18 @@ module Google
4590
5128
  class GoogleCloudDialogflowCxV3beta1Page
4591
5129
  include Google::Apis::Core::Hashable
4592
5130
 
5131
+ # Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
5132
+ # Settings exposed at lower level overrides the settings exposed at higher level.
5133
+ # Overriding occurs at the sub-setting level. For example, the
5134
+ # playback_interruption_settings at fulfillment level only overrides the
5135
+ # playback_interruption_settings at the agent level, leaving other settings at
5136
+ # the agent level unchanged. DTMF settings does not override each other. DTMF
5137
+ # settings set at different levels define DTMF detections running in parallel.
5138
+ # Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
5139
+ # Corresponds to the JSON property `advancedSettings`
5140
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1AdvancedSettings]
5141
+ attr_accessor :advanced_settings
5142
+
4593
5143
  # Required. The human-readable name of the page, unique within the flow.
4594
5144
  # Corresponds to the JSON property `displayName`
4595
5145
  # @return [String]
@@ -4621,6 +5171,13 @@ module Google
4621
5171
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1Form]
4622
5172
  attr_accessor :form
4623
5173
 
5174
+ # The Knowledge Connector settings for this page or flow. This includes
5175
+ # information such as the attached Knowledge Bases, and the way to execute
5176
+ # fulfillment.
5177
+ # Corresponds to the JSON property `knowledgeConnectorSettings`
5178
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1KnowledgeConnectorSettings]
5179
+ attr_accessor :knowledge_connector_settings
5180
+
4624
5181
  # The unique identifier of the page. Required for the Pages.UpdatePage method.
4625
5182
  # Pages.CreatePage populates the name automatically. Format: `projects//
4626
5183
  # locations//agents//flows//pages/`.
@@ -4628,14 +5185,17 @@ module Google
4628
5185
  # @return [String]
4629
5186
  attr_accessor :name
4630
5187
 
4631
- # Ordered list of `TransitionRouteGroups` associated with the page. Transition
4632
- # route groups must be unique within a page. * If multiple transition routes
4633
- # within a page scope refer to the same intent, then the precedence order is:
4634
- # page's transition route -> page's transition route group -> flow's transition
4635
- # routes. * If multiple transition route groups within a page contain the same
4636
- # intent, then the first group in the ordered list takes precedence. Format:`
4637
- # projects//locations//agents//flows//transitionRouteGroups/` or `projects//
4638
- # locations//agents//transitionRouteGroups/` for agent-level groups.
5188
+ # Ordered list of `TransitionRouteGroups` added to the page. Transition route
5189
+ # groups must be unique within a page. If the page links both flow-level
5190
+ # transition route groups and agent-level transition route groups, the flow-
5191
+ # level ones will have higher priority and will be put before the agent-level
5192
+ # ones. * If multiple transition routes within a page scope refer to the same
5193
+ # intent, then the precedence order is: page's transition route -> page's
5194
+ # transition route group -> flow's transition routes. * If multiple transition
5195
+ # route groups within a page contain the same intent, then the first group in
5196
+ # the ordered list takes precedence. Format:`projects//locations//agents//flows//
5197
+ # transitionRouteGroups/` or `projects//locations//agents//transitionRouteGroups/
5198
+ # ` for agent-level groups.
4639
5199
  # Corresponds to the JSON property `transitionRouteGroups`
4640
5200
  # @return [Array<String>]
4641
5201
  attr_accessor :transition_route_groups
@@ -4660,10 +5220,12 @@ module Google
4660
5220
 
4661
5221
  # Update properties of this object
4662
5222
  def update!(**args)
5223
+ @advanced_settings = args[:advanced_settings] if args.key?(:advanced_settings)
4663
5224
  @display_name = args[:display_name] if args.key?(:display_name)
4664
5225
  @entry_fulfillment = args[:entry_fulfillment] if args.key?(:entry_fulfillment)
4665
5226
  @event_handlers = args[:event_handlers] if args.key?(:event_handlers)
4666
5227
  @form = args[:form] if args.key?(:form)
5228
+ @knowledge_connector_settings = args[:knowledge_connector_settings] if args.key?(:knowledge_connector_settings)
4667
5229
  @name = args[:name] if args.key?(:name)
4668
5230
  @transition_route_groups = args[:transition_route_groups] if args.key?(:transition_route_groups)
4669
5231
  @transition_routes = args[:transition_routes] if args.key?(:transition_routes)
@@ -4894,6 +5456,13 @@ module Google
4894
5456
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1ResponseMessageEndInteraction]
4895
5457
  attr_accessor :end_interaction
4896
5458
 
5459
+ # Represents info card response. If the response contains generative knowledge
5460
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
5461
+ # info card. Otherwise, the info card response is skipped.
5462
+ # Corresponds to the JSON property `knowledgeInfoCard`
5463
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard]
5464
+ attr_accessor :knowledge_info_card
5465
+
4897
5466
  # Indicates that the conversation should be handed off to a live agent.
4898
5467
  # Dialogflow only uses this to determine which conversations were handed off to
4899
5468
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -4949,6 +5518,7 @@ module Google
4949
5518
  @channel = args[:channel] if args.key?(:channel)
4950
5519
  @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
4951
5520
  @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
5521
+ @knowledge_info_card = args[:knowledge_info_card] if args.key?(:knowledge_info_card)
4952
5522
  @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
4953
5523
  @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
4954
5524
  @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
@@ -5000,6 +5570,21 @@ module Google
5000
5570
  end
5001
5571
  end
5002
5572
 
5573
+ # Represents info card response. If the response contains generative knowledge
5574
+ # prediction, Dialogflow will return a payload with Infobot Messenger compatible
5575
+ # info card. Otherwise, the info card response is skipped.
5576
+ class GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCard
5577
+ include Google::Apis::Core::Hashable
5578
+
5579
+ def initialize(**args)
5580
+ update!(**args)
5581
+ end
5582
+
5583
+ # Update properties of this object
5584
+ def update!(**args)
5585
+ end
5586
+ end
5587
+
5003
5588
  # Indicates that the conversation should be handed off to a live agent.
5004
5589
  # Dialogflow only uses this to determine which conversations were handed off to
5005
5590
  # a human agent for measurement purposes. What else to do with this signal is up
@@ -5583,6 +6168,12 @@ module Google
5583
6168
  # @return [String]
5584
6169
  attr_accessor :condition
5585
6170
 
6171
+ # Optional. The description of the transition route. The maximum length is 500
6172
+ # characters.
6173
+ # Corresponds to the JSON property `description`
6174
+ # @return [String]
6175
+ attr_accessor :description
6176
+
5586
6177
  # The unique identifier of an Intent. Format: `projects//locations//agents//
5587
6178
  # intents/`. Indicates that the transition can only happen when the given intent
5588
6179
  # is matched. At least one of `intent` or `condition` must be specified. When
@@ -5627,6 +6218,7 @@ module Google
5627
6218
  # Update properties of this object
5628
6219
  def update!(**args)
5629
6220
  @condition = args[:condition] if args.key?(:condition)
6221
+ @description = args[:description] if args.key?(:description)
5630
6222
  @intent = args[:intent] if args.key?(:intent)
5631
6223
  @name = args[:name] if args.key?(:name)
5632
6224
  @target_flow = args[:target_flow] if args.key?(:target_flow)
@@ -9334,6 +9926,11 @@ module Google
9334
9926
  # @return [String]
9335
9927
  attr_accessor :document_efficiency
9336
9928
 
9929
+ # Feedback for knowledge search.
9930
+ # Corresponds to the JSON property `knowledgeSearchFeedback`
9931
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1AgentAssistantFeedbackKnowledgeSearchFeedback]
9932
+ attr_accessor :knowledge_search_feedback
9933
+
9337
9934
  # Feedback for conversation summarization.
9338
9935
  # Corresponds to the JSON property `summarizationFeedback`
9339
9936
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1AgentAssistantFeedbackSummarizationFeedback]
@@ -9348,10 +9945,40 @@ module Google
9348
9945
  @answer_relevance = args[:answer_relevance] if args.key?(:answer_relevance)
9349
9946
  @document_correctness = args[:document_correctness] if args.key?(:document_correctness)
9350
9947
  @document_efficiency = args[:document_efficiency] if args.key?(:document_efficiency)
9948
+ @knowledge_search_feedback = args[:knowledge_search_feedback] if args.key?(:knowledge_search_feedback)
9351
9949
  @summarization_feedback = args[:summarization_feedback] if args.key?(:summarization_feedback)
9352
9950
  end
9353
9951
  end
9354
9952
 
9953
+ # Feedback for knowledge search.
9954
+ class GoogleCloudDialogflowV2beta1AgentAssistantFeedbackKnowledgeSearchFeedback
9955
+ include Google::Apis::Core::Hashable
9956
+
9957
+ # Whether the answer was copied by the human agent or not. If the value is set
9958
+ # to be true, AnswerFeedback.clicked will be updated to be true.
9959
+ # Corresponds to the JSON property `answerCopied`
9960
+ # @return [Boolean]
9961
+ attr_accessor :answer_copied
9962
+ alias_method :answer_copied?, :answer_copied
9963
+
9964
+ # The URIs clicked by the human agent. The value is appended for each
9965
+ # UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked
9966
+ # will be updated to be true.
9967
+ # Corresponds to the JSON property `clickedUris`
9968
+ # @return [Array<String>]
9969
+ attr_accessor :clicked_uris
9970
+
9971
+ def initialize(**args)
9972
+ update!(**args)
9973
+ end
9974
+
9975
+ # Update properties of this object
9976
+ def update!(**args)
9977
+ @answer_copied = args[:answer_copied] if args.key?(:answer_copied)
9978
+ @clicked_uris = args[:clicked_uris] if args.key?(:clicked_uris)
9979
+ end
9980
+ end
9981
+
9355
9982
  # Feedback for conversation summarization.
9356
9983
  class GoogleCloudDialogflowV2beta1AgentAssistantFeedbackSummarizationFeedback
9357
9984
  include Google::Apis::Core::Hashable
@@ -11793,6 +12420,12 @@ module Google
11793
12420
  class GoogleCloudDialogflowV2beta1GenerateStatelessSummaryResponseSummary
11794
12421
  include Google::Apis::Core::Hashable
11795
12422
 
12423
+ # The baseline model version used to generate this summary. It is empty if a
12424
+ # baseline model was not used to generate this summary.
12425
+ # Corresponds to the JSON property `baselineModelVersion`
12426
+ # @return [String]
12427
+ attr_accessor :baseline_model_version
12428
+
11796
12429
  # The summary content that is concatenated into one string.
11797
12430
  # Corresponds to the JSON property `text`
11798
12431
  # @return [String]
@@ -11811,6 +12444,7 @@ module Google
11811
12444
 
11812
12445
  # Update properties of this object
11813
12446
  def update!(**args)
12447
+ @baseline_model_version = args[:baseline_model_version] if args.key?(:baseline_model_version)
11814
12448
  @text = args[:text] if args.key?(:text)
11815
12449
  @text_sections = args[:text_sections] if args.key?(:text_sections)
11816
12450
  end
@@ -11992,9 +12626,17 @@ module Google
11992
12626
  # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig]
11993
12627
  attr_accessor :conversation_process_config
11994
12628
 
12629
+ # Optional. Disable the logging of search queries sent by human agents. It can
12630
+ # prevent those queries from being stored at answer records. Supported features:
12631
+ # KNOWLEDGE_SEARCH.
12632
+ # Corresponds to the JSON property `disableAgentQueryLogging`
12633
+ # @return [Boolean]
12634
+ attr_accessor :disable_agent_query_logging
12635
+ alias_method :disable_agent_query_logging?, :disable_agent_query_logging
12636
+
11995
12637
  # Automatically iterates all participants and tries to compile suggestions.
11996
12638
  # Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST,
11997
- # ENTITY_EXTRACTION.
12639
+ # ENTITY_EXTRACTION, KNOWLEDGE_ASSIST.
11998
12640
  # Corresponds to the JSON property `enableEventBasedSuggestion`
11999
12641
  # @return [Boolean]
12000
12642
  attr_accessor :enable_event_based_suggestion
@@ -12025,6 +12667,7 @@ module Google
12025
12667
  def update!(**args)
12026
12668
  @conversation_model_config = args[:conversation_model_config] if args.key?(:conversation_model_config)
12027
12669
  @conversation_process_config = args[:conversation_process_config] if args.key?(:conversation_process_config)
12670
+ @disable_agent_query_logging = args[:disable_agent_query_logging] if args.key?(:disable_agent_query_logging)
12028
12671
  @enable_event_based_suggestion = args[:enable_event_based_suggestion] if args.key?(:enable_event_based_suggestion)
12029
12672
  @query_config = args[:query_config] if args.key?(:query_config)
12030
12673
  @suggestion_feature = args[:suggestion_feature] if args.key?(:suggestion_feature)
@@ -15880,6 +16523,153 @@ module Google
15880
16523
  end
15881
16524
  end
15882
16525
 
16526
+ # Represents a SearchKnowledge answer.
16527
+ class GoogleCloudDialogflowV2beta1SearchKnowledgeAnswer
16528
+ include Google::Apis::Core::Hashable
16529
+
16530
+ # The piece of text from the knowledge base documents that answers the search
16531
+ # query
16532
+ # Corresponds to the JSON property `answer`
16533
+ # @return [String]
16534
+ attr_accessor :answer
16535
+
16536
+ # The name of the answer record. Format: `projects//locations//answer Records/`
16537
+ # Corresponds to the JSON property `answerRecord`
16538
+ # @return [String]
16539
+ attr_accessor :answer_record
16540
+
16541
+ # All sources used to generate the answer.
16542
+ # Corresponds to the JSON property `answerSources`
16543
+ # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource>]
16544
+ attr_accessor :answer_sources
16545
+
16546
+ # The type of the answer.
16547
+ # Corresponds to the JSON property `answerType`
16548
+ # @return [String]
16549
+ attr_accessor :answer_type
16550
+
16551
+ def initialize(**args)
16552
+ update!(**args)
16553
+ end
16554
+
16555
+ # Update properties of this object
16556
+ def update!(**args)
16557
+ @answer = args[:answer] if args.key?(:answer)
16558
+ @answer_record = args[:answer_record] if args.key?(:answer_record)
16559
+ @answer_sources = args[:answer_sources] if args.key?(:answer_sources)
16560
+ @answer_type = args[:answer_type] if args.key?(:answer_type)
16561
+ end
16562
+ end
16563
+
16564
+ # The sources of the answers.
16565
+ class GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource
16566
+ include Google::Apis::Core::Hashable
16567
+
16568
+ # The relevant snippet of the article.
16569
+ # Corresponds to the JSON property `snippet`
16570
+ # @return [String]
16571
+ attr_accessor :snippet
16572
+
16573
+ # The title of the article.
16574
+ # Corresponds to the JSON property `title`
16575
+ # @return [String]
16576
+ attr_accessor :title
16577
+
16578
+ # The URI of the article.
16579
+ # Corresponds to the JSON property `uri`
16580
+ # @return [String]
16581
+ attr_accessor :uri
16582
+
16583
+ def initialize(**args)
16584
+ update!(**args)
16585
+ end
16586
+
16587
+ # Update properties of this object
16588
+ def update!(**args)
16589
+ @snippet = args[:snippet] if args.key?(:snippet)
16590
+ @title = args[:title] if args.key?(:title)
16591
+ @uri = args[:uri] if args.key?(:uri)
16592
+ end
16593
+ end
16594
+
16595
+ # The request message for Conversations.SearchKnowledge.
16596
+ class GoogleCloudDialogflowV2beta1SearchKnowledgeRequest
16597
+ include Google::Apis::Core::Hashable
16598
+
16599
+ # The conversation (between human agent and end user) where the search request
16600
+ # is triggered. Format: `projects//locations//conversations/`.
16601
+ # Corresponds to the JSON property `conversation`
16602
+ # @return [String]
16603
+ attr_accessor :conversation
16604
+
16605
+ # Required. The conversation profile used to configure the search. Format: `
16606
+ # projects//locations//conversationProfiles/`.
16607
+ # Corresponds to the JSON property `conversationProfile`
16608
+ # @return [String]
16609
+ attr_accessor :conversation_profile
16610
+
16611
+ # The name of the latest conversation message when the request is triggered.
16612
+ # Format: `projects//locations//conversations//messages/`.
16613
+ # Corresponds to the JSON property `latestMessage`
16614
+ # @return [String]
16615
+ attr_accessor :latest_message
16616
+
16617
+ # The parent resource contains the conversation profile Format: 'projects/' or `
16618
+ # projects//locations/`.
16619
+ # Corresponds to the JSON property `parent`
16620
+ # @return [String]
16621
+ attr_accessor :parent
16622
+
16623
+ # Represents the natural language text to be processed.
16624
+ # Corresponds to the JSON property `query`
16625
+ # @return [Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1TextInput]
16626
+ attr_accessor :query
16627
+
16628
+ # The ID of the search session. The session_id can be combined with Dialogflow
16629
+ # V3 Agent ID retrieved from conversation profile or on its own to identify a
16630
+ # search session. The search history of the same session will impact the search
16631
+ # result. It's up to the API caller to choose an appropriate `Session ID`. It
16632
+ # can be a random number or some type of session identifiers (preferably hashed).
16633
+ # The length must not exceed 36 characters.
16634
+ # Corresponds to the JSON property `sessionId`
16635
+ # @return [String]
16636
+ attr_accessor :session_id
16637
+
16638
+ def initialize(**args)
16639
+ update!(**args)
16640
+ end
16641
+
16642
+ # Update properties of this object
16643
+ def update!(**args)
16644
+ @conversation = args[:conversation] if args.key?(:conversation)
16645
+ @conversation_profile = args[:conversation_profile] if args.key?(:conversation_profile)
16646
+ @latest_message = args[:latest_message] if args.key?(:latest_message)
16647
+ @parent = args[:parent] if args.key?(:parent)
16648
+ @query = args[:query] if args.key?(:query)
16649
+ @session_id = args[:session_id] if args.key?(:session_id)
16650
+ end
16651
+ end
16652
+
16653
+ # The response message for Conversations.SearchKnowledge.
16654
+ class GoogleCloudDialogflowV2beta1SearchKnowledgeResponse
16655
+ include Google::Apis::Core::Hashable
16656
+
16657
+ # Most relevant snippets extracted from articles in the given knowledge base,
16658
+ # ordered by confidence.
16659
+ # Corresponds to the JSON property `answers`
16660
+ # @return [Array<Google::Apis::DialogflowV2beta1::GoogleCloudDialogflowV2beta1SearchKnowledgeAnswer>]
16661
+ attr_accessor :answers
16662
+
16663
+ def initialize(**args)
16664
+ update!(**args)
16665
+ end
16666
+
16667
+ # Update properties of this object
16668
+ def update!(**args)
16669
+ @answers = args[:answers] if args.key?(:answers)
16670
+ end
16671
+ end
16672
+
15883
16673
  # The sentiment, such as positive/negative feeling or association, for a unit of
15884
16674
  # analysis, such as the query text. See: https://cloud.google.com/natural-
15885
16675
  # language/docs/basics#interpreting_sentiment_analysis_values for how to
@@ -16161,6 +16951,13 @@ module Google
16161
16951
  # @return [String]
16162
16952
  attr_accessor :speech_model_variant
16163
16953
 
16954
+ # Use timeout based endpointing, interpreting endpointer sensitivy as seconds of
16955
+ # timeout value.
16956
+ # Corresponds to the JSON property `useTimeoutBasedEndpointing`
16957
+ # @return [Boolean]
16958
+ attr_accessor :use_timeout_based_endpointing
16959
+ alias_method :use_timeout_based_endpointing?, :use_timeout_based_endpointing
16960
+
16164
16961
  def initialize(**args)
16165
16962
  update!(**args)
16166
16963
  end
@@ -16169,6 +16966,7 @@ module Google
16169
16966
  def update!(**args)
16170
16967
  @model = args[:model] if args.key?(:model)
16171
16968
  @speech_model_variant = args[:speech_model_variant] if args.key?(:speech_model_variant)
16969
+ @use_timeout_based_endpointing = args[:use_timeout_based_endpointing] if args.key?(:use_timeout_based_endpointing)
16172
16970
  end
16173
16971
  end
16174
16972
 
@@ -16346,6 +17144,12 @@ module Google
16346
17144
  # @return [String]
16347
17145
  attr_accessor :answer_record
16348
17146
 
17147
+ # The baseline model version used to generate this summary. It is empty if a
17148
+ # baseline model was not used to generate this summary.
17149
+ # Corresponds to the JSON property `baselineModelVersion`
17150
+ # @return [String]
17151
+ attr_accessor :baseline_model_version
17152
+
16349
17153
  # The summary content that is concatenated into one string.
16350
17154
  # Corresponds to the JSON property `text`
16351
17155
  # @return [String]
@@ -16365,6 +17169,7 @@ module Google
16365
17169
  # Update properties of this object
16366
17170
  def update!(**args)
16367
17171
  @answer_record = args[:answer_record] if args.key?(:answer_record)
17172
+ @baseline_model_version = args[:baseline_model_version] if args.key?(:baseline_model_version)
16368
17173
  @text = args[:text] if args.key?(:text)
16369
17174
  @text_sections = args[:text_sections] if args.key?(:text_sections)
16370
17175
  end