google-apis-dialogflow_v2 0.67.0 → 0.69.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 DialogflowV2
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::DialogflowV2::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::DialogflowV2::GoogleCloudDialogflowCxV3AdvancedSettingsDtmfSettings]
45
+ attr_accessor :dtmf_settings
46
+
47
+ # Define behaviors on logging.
48
+ # Corresponds to the JSON property `loggingSettings`
49
+ # @return [Google::Apis::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::GoogleCloudDialogflowCxV3beta1AdvancedSettingsDtmfSettings]
3433
+ attr_accessor :dtmf_settings
3434
+
3435
+ # Define behaviors on logging.
3436
+ # Corresponds to the JSON property `loggingSettings`
3437
+ # @return [Google::Apis::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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
@@ -4570,8 +5054,62 @@ module Google
4570
5054
 
4571
5055
  # Update properties of this object
4572
5056
  def update!(**args)
4573
- @parameter_id = args[:parameter_id] if args.key?(:parameter_id)
4574
- @text = args[:text] if args.key?(:text)
5057
+ @parameter_id = args[:parameter_id] if args.key?(:parameter_id)
5058
+ @text = args[:text] if args.key?(:text)
5059
+ end
5060
+ end
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::DialogflowV2::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::DialogflowV2::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)
4575
5113
  end
4576
5114
  end
4577
5115
 
@@ -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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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::DialogflowV2::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)
@@ -6337,6 +6929,11 @@ module Google
6337
6929
  # @return [String]
6338
6930
  attr_accessor :document_efficiency
6339
6931
 
6932
+ # Feedback for knowledge search.
6933
+ # Corresponds to the JSON property `knowledgeSearchFeedback`
6934
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2AgentAssistantFeedbackKnowledgeSearchFeedback]
6935
+ attr_accessor :knowledge_search_feedback
6936
+
6340
6937
  # Feedback for conversation summarization.
6341
6938
  # Corresponds to the JSON property `summarizationFeedback`
6342
6939
  # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2AgentAssistantFeedbackSummarizationFeedback]
@@ -6351,10 +6948,40 @@ module Google
6351
6948
  @answer_relevance = args[:answer_relevance] if args.key?(:answer_relevance)
6352
6949
  @document_correctness = args[:document_correctness] if args.key?(:document_correctness)
6353
6950
  @document_efficiency = args[:document_efficiency] if args.key?(:document_efficiency)
6951
+ @knowledge_search_feedback = args[:knowledge_search_feedback] if args.key?(:knowledge_search_feedback)
6354
6952
  @summarization_feedback = args[:summarization_feedback] if args.key?(:summarization_feedback)
6355
6953
  end
6356
6954
  end
6357
6955
 
6956
+ # Feedback for knowledge search.
6957
+ class GoogleCloudDialogflowV2AgentAssistantFeedbackKnowledgeSearchFeedback
6958
+ include Google::Apis::Core::Hashable
6959
+
6960
+ # Whether the answer was copied by the human agent or not. If the value is set
6961
+ # to be true, AnswerFeedback.clicked will be updated to be true.
6962
+ # Corresponds to the JSON property `answerCopied`
6963
+ # @return [Boolean]
6964
+ attr_accessor :answer_copied
6965
+ alias_method :answer_copied?, :answer_copied
6966
+
6967
+ # The URIs clicked by the human agent. The value is appended for each
6968
+ # UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked
6969
+ # will be updated to be true.
6970
+ # Corresponds to the JSON property `clickedUris`
6971
+ # @return [Array<String>]
6972
+ attr_accessor :clicked_uris
6973
+
6974
+ def initialize(**args)
6975
+ update!(**args)
6976
+ end
6977
+
6978
+ # Update properties of this object
6979
+ def update!(**args)
6980
+ @answer_copied = args[:answer_copied] if args.key?(:answer_copied)
6981
+ @clicked_uris = args[:clicked_uris] if args.key?(:clicked_uris)
6982
+ end
6983
+ end
6984
+
6358
6985
  # Feedback for conversation summarization.
6359
6986
  class GoogleCloudDialogflowV2AgentAssistantFeedbackSummarizationFeedback
6360
6987
  include Google::Apis::Core::Hashable
@@ -6395,6 +7022,11 @@ module Google
6395
7022
  # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2ArticleAnswer]
6396
7023
  attr_accessor :article_suggestion_answer
6397
7024
 
7025
+ # Represents a Dialogflow assist answer.
7026
+ # Corresponds to the JSON property `dialogflowAssistAnswer`
7027
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2DialogflowAssistAnswer]
7028
+ attr_accessor :dialogflow_assist_answer
7029
+
6398
7030
  # Represents answer from "frequently asked questions".
6399
7031
  # Corresponds to the JSON property `faqAnswer`
6400
7032
  # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2FaqAnswer]
@@ -6407,6 +7039,7 @@ module Google
6407
7039
  # Update properties of this object
6408
7040
  def update!(**args)
6409
7041
  @article_suggestion_answer = args[:article_suggestion_answer] if args.key?(:article_suggestion_answer)
7042
+ @dialogflow_assist_answer = args[:dialogflow_assist_answer] if args.key?(:dialogflow_assist_answer)
6410
7043
  @faq_answer = args[:faq_answer] if args.key?(:faq_answer)
6411
7044
  end
6412
7045
  end
@@ -6455,6 +7088,11 @@ module Google
6455
7088
  # @return [String]
6456
7089
  attr_accessor :request_id
6457
7090
 
7091
+ # Represents the selection of a suggestion.
7092
+ # Corresponds to the JSON property `suggestionInput`
7093
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2SuggestionInput]
7094
+ attr_accessor :suggestion_input
7095
+
6458
7096
  # Auxiliary proto messages. Represents the natural language text to be processed.
6459
7097
  # Corresponds to the JSON property `textInput`
6460
7098
  # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2TextInput]
@@ -6472,6 +7110,7 @@ module Google
6472
7110
  @query_params = args[:query_params] if args.key?(:query_params)
6473
7111
  @reply_audio_config = args[:reply_audio_config] if args.key?(:reply_audio_config)
6474
7112
  @request_id = args[:request_id] if args.key?(:request_id)
7113
+ @suggestion_input = args[:suggestion_input] if args.key?(:suggestion_input)
6475
7114
  @text_input = args[:text_input] if args.key?(:text_input)
6476
7115
  end
6477
7116
  end
@@ -8010,6 +8649,38 @@ module Google
8010
8649
  end
8011
8650
  end
8012
8651
 
8652
+ # Represents a Dialogflow assist answer.
8653
+ class GoogleCloudDialogflowV2DialogflowAssistAnswer
8654
+ include Google::Apis::Core::Hashable
8655
+
8656
+ # The name of answer record, in the format of "projects//locations//
8657
+ # answerRecords/"
8658
+ # Corresponds to the JSON property `answerRecord`
8659
+ # @return [String]
8660
+ attr_accessor :answer_record
8661
+
8662
+ # Represents an intent suggestion.
8663
+ # Corresponds to the JSON property `intentSuggestion`
8664
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2IntentSuggestion]
8665
+ attr_accessor :intent_suggestion
8666
+
8667
+ # Represents the result of conversational query or event processing.
8668
+ # Corresponds to the JSON property `queryResult`
8669
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2QueryResult]
8670
+ attr_accessor :query_result
8671
+
8672
+ def initialize(**args)
8673
+ update!(**args)
8674
+ end
8675
+
8676
+ # Update properties of this object
8677
+ def update!(**args)
8678
+ @answer_record = args[:answer_record] if args.key?(:answer_record)
8679
+ @intent_suggestion = args[:intent_suggestion] if args.key?(:intent_suggestion)
8680
+ @query_result = args[:query_result] if args.key?(:query_result)
8681
+ end
8682
+ end
8683
+
8013
8684
  # A knowledge document to be used by a KnowledgeBase. For more information, see
8014
8685
  # the [knowledge base guide](https://cloud.google.com/dialogflow/docs/how/
8015
8686
  # knowledge-bases). Note: The `projects.agent.knowledgeBases.documents` resource
@@ -8984,6 +9655,12 @@ module Google
8984
9655
  class GoogleCloudDialogflowV2GenerateStatelessSummaryResponseSummary
8985
9656
  include Google::Apis::Core::Hashable
8986
9657
 
9658
+ # The baseline model version used to generate this summary. It is empty if a
9659
+ # baseline model was not used to generate this summary.
9660
+ # Corresponds to the JSON property `baselineModelVersion`
9661
+ # @return [String]
9662
+ attr_accessor :baseline_model_version
9663
+
8987
9664
  # The summary content that is concatenated into one string.
8988
9665
  # Corresponds to the JSON property `text`
8989
9666
  # @return [String]
@@ -9002,6 +9679,7 @@ module Google
9002
9679
 
9003
9680
  # Update properties of this object
9004
9681
  def update!(**args)
9682
+ @baseline_model_version = args[:baseline_model_version] if args.key?(:baseline_model_version)
9005
9683
  @text = args[:text] if args.key?(:text)
9006
9684
  @text_sections = args[:text_sections] if args.key?(:text_sections)
9007
9685
  end
@@ -9183,8 +9861,17 @@ module Google
9183
9861
  # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2HumanAgentAssistantConfigConversationProcessConfig]
9184
9862
  attr_accessor :conversation_process_config
9185
9863
 
9864
+ # Optional. Disable the logging of search queries sent by human agents. It can
9865
+ # prevent those queries from being stored at answer records. Supported features:
9866
+ # KNOWLEDGE_SEARCH.
9867
+ # Corresponds to the JSON property `disableAgentQueryLogging`
9868
+ # @return [Boolean]
9869
+ attr_accessor :disable_agent_query_logging
9870
+ alias_method :disable_agent_query_logging?, :disable_agent_query_logging
9871
+
9186
9872
  # Automatically iterates all participants and tries to compile suggestions.
9187
- # Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
9873
+ # Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST,
9874
+ # KNOWLEDGE_ASSIST.
9188
9875
  # Corresponds to the JSON property `enableEventBasedSuggestion`
9189
9876
  # @return [Boolean]
9190
9877
  attr_accessor :enable_event_based_suggestion
@@ -9215,6 +9902,7 @@ module Google
9215
9902
  def update!(**args)
9216
9903
  @conversation_model_config = args[:conversation_model_config] if args.key?(:conversation_model_config)
9217
9904
  @conversation_process_config = args[:conversation_process_config] if args.key?(:conversation_process_config)
9905
+ @disable_agent_query_logging = args[:disable_agent_query_logging] if args.key?(:disable_agent_query_logging)
9218
9906
  @enable_event_based_suggestion = args[:enable_event_based_suggestion] if args.key?(:enable_event_based_suggestion)
9219
9907
  @query_config = args[:query_config] if args.key?(:query_config)
9220
9908
  @suggestion_feature = args[:suggestion_feature] if args.key?(:suggestion_feature)
@@ -9330,6 +10018,32 @@ module Google
9330
10018
  # @return [String]
9331
10019
  attr_accessor :agent
9332
10020
 
10021
+ # The configuration used for human agent side Dialogflow assist suggestion.
10022
+ # Corresponds to the JSON property `humanAgentSideConfig`
10023
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySourceHumanAgentSideConfig]
10024
+ attr_accessor :human_agent_side_config
10025
+
10026
+ def initialize(**args)
10027
+ update!(**args)
10028
+ end
10029
+
10030
+ # Update properties of this object
10031
+ def update!(**args)
10032
+ @agent = args[:agent] if args.key?(:agent)
10033
+ @human_agent_side_config = args[:human_agent_side_config] if args.key?(:human_agent_side_config)
10034
+ end
10035
+ end
10036
+
10037
+ # The configuration used for human agent side Dialogflow assist suggestion.
10038
+ class GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySourceHumanAgentSideConfig
10039
+ include Google::Apis::Core::Hashable
10040
+
10041
+ # Optional. The name of a dialogflow virtual agent used for intent detection and
10042
+ # suggestion triggered by human agent. Format: `projects//locations//agent`.
10043
+ # Corresponds to the JSON property `agent`
10044
+ # @return [String]
10045
+ attr_accessor :agent
10046
+
9333
10047
  def initialize(**args)
9334
10048
  update!(**args)
9335
10049
  end
@@ -11061,6 +11775,39 @@ module Google
11061
11775
  end
11062
11776
  end
11063
11777
 
11778
+ # Represents an intent suggestion.
11779
+ class GoogleCloudDialogflowV2IntentSuggestion
11780
+ include Google::Apis::Core::Hashable
11781
+
11782
+ # Human readable description for better understanding an intent like its scope,
11783
+ # content, result etc. Maximum character limit: 140 characters.
11784
+ # Corresponds to the JSON property `description`
11785
+ # @return [String]
11786
+ attr_accessor :description
11787
+
11788
+ # The display name of the intent.
11789
+ # Corresponds to the JSON property `displayName`
11790
+ # @return [String]
11791
+ attr_accessor :display_name
11792
+
11793
+ # The unique identifier of this intent. Format: `projects//locations//agent/
11794
+ # intents/`.
11795
+ # Corresponds to the JSON property `intentV2`
11796
+ # @return [String]
11797
+ attr_accessor :intent_v2
11798
+
11799
+ def initialize(**args)
11800
+ update!(**args)
11801
+ end
11802
+
11803
+ # Update properties of this object
11804
+ def update!(**args)
11805
+ @description = args[:description] if args.key?(:description)
11806
+ @display_name = args[:display_name] if args.key?(:display_name)
11807
+ @intent_v2 = args[:intent_v2] if args.key?(:intent_v2)
11808
+ end
11809
+ end
11810
+
11064
11811
  # Represents an example that the agent is trained on.
11065
11812
  class GoogleCloudDialogflowV2IntentTrainingPhrase
11066
11813
  include Google::Apis::Core::Hashable
@@ -12366,6 +13113,153 @@ module Google
12366
13113
  end
12367
13114
  end
12368
13115
 
13116
+ # Represents a SearchKnowledge answer.
13117
+ class GoogleCloudDialogflowV2SearchKnowledgeAnswer
13118
+ include Google::Apis::Core::Hashable
13119
+
13120
+ # The piece of text from the knowledge base documents that answers the search
13121
+ # query
13122
+ # Corresponds to the JSON property `answer`
13123
+ # @return [String]
13124
+ attr_accessor :answer
13125
+
13126
+ # The name of the answer record. Format: `projects//locations//answer Records/`
13127
+ # Corresponds to the JSON property `answerRecord`
13128
+ # @return [String]
13129
+ attr_accessor :answer_record
13130
+
13131
+ # All sources used to generate the answer.
13132
+ # Corresponds to the JSON property `answerSources`
13133
+ # @return [Array<Google::Apis::DialogflowV2::GoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource>]
13134
+ attr_accessor :answer_sources
13135
+
13136
+ # The type of the answer.
13137
+ # Corresponds to the JSON property `answerType`
13138
+ # @return [String]
13139
+ attr_accessor :answer_type
13140
+
13141
+ def initialize(**args)
13142
+ update!(**args)
13143
+ end
13144
+
13145
+ # Update properties of this object
13146
+ def update!(**args)
13147
+ @answer = args[:answer] if args.key?(:answer)
13148
+ @answer_record = args[:answer_record] if args.key?(:answer_record)
13149
+ @answer_sources = args[:answer_sources] if args.key?(:answer_sources)
13150
+ @answer_type = args[:answer_type] if args.key?(:answer_type)
13151
+ end
13152
+ end
13153
+
13154
+ # The sources of the answers.
13155
+ class GoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource
13156
+ include Google::Apis::Core::Hashable
13157
+
13158
+ # The relevant snippet of the article.
13159
+ # Corresponds to the JSON property `snippet`
13160
+ # @return [String]
13161
+ attr_accessor :snippet
13162
+
13163
+ # The title of the article.
13164
+ # Corresponds to the JSON property `title`
13165
+ # @return [String]
13166
+ attr_accessor :title
13167
+
13168
+ # The URI of the article.
13169
+ # Corresponds to the JSON property `uri`
13170
+ # @return [String]
13171
+ attr_accessor :uri
13172
+
13173
+ def initialize(**args)
13174
+ update!(**args)
13175
+ end
13176
+
13177
+ # Update properties of this object
13178
+ def update!(**args)
13179
+ @snippet = args[:snippet] if args.key?(:snippet)
13180
+ @title = args[:title] if args.key?(:title)
13181
+ @uri = args[:uri] if args.key?(:uri)
13182
+ end
13183
+ end
13184
+
13185
+ # The request message for Conversations.SearchKnowledge.
13186
+ class GoogleCloudDialogflowV2SearchKnowledgeRequest
13187
+ include Google::Apis::Core::Hashable
13188
+
13189
+ # The conversation (between human agent and end user) where the search request
13190
+ # is triggered. Format: `projects//locations//conversations/`.
13191
+ # Corresponds to the JSON property `conversation`
13192
+ # @return [String]
13193
+ attr_accessor :conversation
13194
+
13195
+ # Required. The conversation profile used to configure the search. Format: `
13196
+ # projects//locations//conversationProfiles/`.
13197
+ # Corresponds to the JSON property `conversationProfile`
13198
+ # @return [String]
13199
+ attr_accessor :conversation_profile
13200
+
13201
+ # The name of the latest conversation message when the request is triggered.
13202
+ # Format: `projects//locations//conversations//messages/`.
13203
+ # Corresponds to the JSON property `latestMessage`
13204
+ # @return [String]
13205
+ attr_accessor :latest_message
13206
+
13207
+ # The parent resource contains the conversation profile Format: 'projects/' or `
13208
+ # projects//locations/`.
13209
+ # Corresponds to the JSON property `parent`
13210
+ # @return [String]
13211
+ attr_accessor :parent
13212
+
13213
+ # Auxiliary proto messages. Represents the natural language text to be processed.
13214
+ # Corresponds to the JSON property `query`
13215
+ # @return [Google::Apis::DialogflowV2::GoogleCloudDialogflowV2TextInput]
13216
+ attr_accessor :query
13217
+
13218
+ # The ID of the search session. The session_id can be combined with Dialogflow
13219
+ # V3 Agent ID retrieved from conversation profile or on its own to identify a
13220
+ # search session. The search history of the same session will impact the search
13221
+ # result. It's up to the API caller to choose an appropriate `Session ID`. It
13222
+ # can be a random number or some type of session identifiers (preferably hashed).
13223
+ # The length must not exceed 36 characters.
13224
+ # Corresponds to the JSON property `sessionId`
13225
+ # @return [String]
13226
+ attr_accessor :session_id
13227
+
13228
+ def initialize(**args)
13229
+ update!(**args)
13230
+ end
13231
+
13232
+ # Update properties of this object
13233
+ def update!(**args)
13234
+ @conversation = args[:conversation] if args.key?(:conversation)
13235
+ @conversation_profile = args[:conversation_profile] if args.key?(:conversation_profile)
13236
+ @latest_message = args[:latest_message] if args.key?(:latest_message)
13237
+ @parent = args[:parent] if args.key?(:parent)
13238
+ @query = args[:query] if args.key?(:query)
13239
+ @session_id = args[:session_id] if args.key?(:session_id)
13240
+ end
13241
+ end
13242
+
13243
+ # The response message for Conversations.SearchKnowledge.
13244
+ class GoogleCloudDialogflowV2SearchKnowledgeResponse
13245
+ include Google::Apis::Core::Hashable
13246
+
13247
+ # Most relevant snippets extracted from articles in the given knowledge base,
13248
+ # ordered by confidence.
13249
+ # Corresponds to the JSON property `answers`
13250
+ # @return [Array<Google::Apis::DialogflowV2::GoogleCloudDialogflowV2SearchKnowledgeAnswer>]
13251
+ attr_accessor :answers
13252
+
13253
+ def initialize(**args)
13254
+ update!(**args)
13255
+ end
13256
+
13257
+ # Update properties of this object
13258
+ def update!(**args)
13259
+ @answers = args[:answers] if args.key?(:answers)
13260
+ end
13261
+ end
13262
+
12369
13263
  # The sentiment, such as positive/negative feeling or association, for a unit of
12370
13264
  # analysis, such as the query text. See: https://cloud.google.com/natural-
12371
13265
  # language/docs/basics#interpreting_sentiment_analysis_values for how to
@@ -12725,6 +13619,13 @@ module Google
12725
13619
  # @return [String]
12726
13620
  attr_accessor :speech_model_variant
12727
13621
 
13622
+ # Use timeout based endpointing, interpreting endpointer sensitivy as seconds of
13623
+ # timeout value.
13624
+ # Corresponds to the JSON property `useTimeoutBasedEndpointing`
13625
+ # @return [Boolean]
13626
+ attr_accessor :use_timeout_based_endpointing
13627
+ alias_method :use_timeout_based_endpointing?, :use_timeout_based_endpointing
13628
+
12728
13629
  def initialize(**args)
12729
13630
  update!(**args)
12730
13631
  end
@@ -12733,6 +13634,7 @@ module Google
12733
13634
  def update!(**args)
12734
13635
  @model = args[:model] if args.key?(:model)
12735
13636
  @speech_model_variant = args[:speech_model_variant] if args.key?(:speech_model_variant)
13637
+ @use_timeout_based_endpointing = args[:use_timeout_based_endpointing] if args.key?(:use_timeout_based_endpointing)
12736
13638
  end
12737
13639
  end
12738
13640
 
@@ -12882,6 +13784,12 @@ module Google
12882
13784
  # @return [String]
12883
13785
  attr_accessor :answer_record
12884
13786
 
13787
+ # The baseline model version used to generate this summary. It is empty if a
13788
+ # baseline model was not used to generate this summary.
13789
+ # Corresponds to the JSON property `baselineModelVersion`
13790
+ # @return [String]
13791
+ attr_accessor :baseline_model_version
13792
+
12885
13793
  # The summary content that is concatenated into one string.
12886
13794
  # Corresponds to the JSON property `text`
12887
13795
  # @return [String]
@@ -12901,6 +13809,7 @@ module Google
12901
13809
  # Update properties of this object
12902
13810
  def update!(**args)
12903
13811
  @answer_record = args[:answer_record] if args.key?(:answer_record)
13812
+ @baseline_model_version = args[:baseline_model_version] if args.key?(:baseline_model_version)
12904
13813
  @text = args[:text] if args.key?(:text)
12905
13814
  @text_sections = args[:text_sections] if args.key?(:text_sections)
12906
13815
  end
@@ -13065,6 +13974,27 @@ module Google
13065
13974
  end
13066
13975
  end
13067
13976
 
13977
+ # Represents the selection of a suggestion.
13978
+ class GoogleCloudDialogflowV2SuggestionInput
13979
+ include Google::Apis::Core::Hashable
13980
+
13981
+ # Required. The ID of a suggestion selected by the human agent. The suggestion(s)
13982
+ # were generated in a previous call to request Dialogflow assist. The format is:
13983
+ # `projects//locations//answerRecords/` where is an alphanumeric string.
13984
+ # Corresponds to the JSON property `answerRecord`
13985
+ # @return [String]
13986
+ attr_accessor :answer_record
13987
+
13988
+ def initialize(**args)
13989
+ update!(**args)
13990
+ end
13991
+
13992
+ # Update properties of this object
13993
+ def update!(**args)
13994
+ @answer_record = args[:answer_record] if args.key?(:answer_record)
13995
+ end
13996
+ end
13997
+
13068
13998
  # One response of different type of suggestion response which is used in the
13069
13999
  # response of Participants.AnalyzeContent and Participants.AnalyzeContent, as
13070
14000
  # well as HumanAgentAssistantEvent.