google-cloud-ces-v1beta 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/ces/v1beta/agent_card_pb.rb +26 -0
  4. data/lib/google/cloud/ces/v1beta/agent_pb.rb +1 -1
  5. data/lib/google/cloud/ces/v1beta/agent_service/client.rb +10 -4
  6. data/lib/google/cloud/ces/v1beta/agent_service/operations.rb +2 -0
  7. data/lib/google/cloud/ces/v1beta/agent_service/rest/client.rb +10 -4
  8. data/lib/google/cloud/ces/v1beta/agent_service/rest/operations.rb +2 -0
  9. data/lib/google/cloud/ces/v1beta/agent_service_pb.rb +2 -1
  10. data/lib/google/cloud/ces/v1beta/app_pb.rb +4 -1
  11. data/lib/google/cloud/ces/v1beta/conversation_pb.rb +1 -1
  12. data/lib/google/cloud/ces/v1beta/deployment_pb.rb +5 -1
  13. data/lib/google/cloud/ces/v1beta/evaluation_metrics_config_pb.rb +31 -0
  14. data/lib/google/cloud/ces/v1beta/evaluation_pb.rb +2 -1
  15. data/lib/google/cloud/ces/v1beta/evaluation_service/client.rb +318 -0
  16. data/lib/google/cloud/ces/v1beta/evaluation_service/operations.rb +2 -0
  17. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/client.rb +297 -0
  18. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/operations.rb +2 -0
  19. data/lib/google/cloud/ces/v1beta/evaluation_service/rest/service_stub.rb +186 -0
  20. data/lib/google/cloud/ces/v1beta/evaluation_service_pb.rb +8 -1
  21. data/lib/google/cloud/ces/v1beta/evaluation_service_services_pb.rb +6 -0
  22. data/lib/google/cloud/ces/v1beta/mcp_tool_pb.rb +2 -1
  23. data/lib/google/cloud/ces/v1beta/mcp_toolset_pb.rb +4 -1
  24. data/lib/google/cloud/ces/v1beta/python_function_pb.rb +2 -1
  25. data/lib/google/cloud/ces/v1beta/session_service/client.rb +2 -0
  26. data/lib/google/cloud/ces/v1beta/session_service/rest/client.rb +2 -0
  27. data/lib/google/cloud/ces/v1beta/session_service_pb.rb +2 -1
  28. data/lib/google/cloud/ces/v1beta/tool_pb.rb +3 -1
  29. data/lib/google/cloud/ces/v1beta/tool_service/client.rb +7 -1
  30. data/lib/google/cloud/ces/v1beta/tool_service/rest/client.rb +7 -1
  31. data/lib/google/cloud/ces/v1beta/tool_service_pb.rb +2 -1
  32. data/lib/google/cloud/ces/v1beta/version.rb +1 -1
  33. data/lib/google/cloud/ces/v1beta/widget_service/client.rb +2 -0
  34. data/lib/google/cloud/ces/v1beta/widget_service/rest/client.rb +2 -0
  35. data/lib/google/cloud/ces/v1beta/widget_tool_pb.rb +3 -1
  36. data/proto_docs/google/cloud/ces/v1beta/agent.rb +9 -0
  37. data/proto_docs/google/cloud/ces/v1beta/agent_card.rb +122 -0
  38. data/proto_docs/google/cloud/ces/v1beta/agent_service.rb +24 -3
  39. data/proto_docs/google/cloud/ces/v1beta/app.rb +50 -3
  40. data/proto_docs/google/cloud/ces/v1beta/conversation.rb +9 -6
  41. data/proto_docs/google/cloud/ces/v1beta/deployment.rb +61 -0
  42. data/proto_docs/google/cloud/ces/v1beta/evaluation.rb +82 -13
  43. data/proto_docs/google/cloud/ces/v1beta/evaluation_metrics_config.rb +151 -0
  44. data/proto_docs/google/cloud/ces/v1beta/evaluation_service.rb +80 -2
  45. data/proto_docs/google/cloud/ces/v1beta/mcp_tool.rb +25 -0
  46. data/proto_docs/google/cloud/ces/v1beta/mcp_toolset.rb +47 -0
  47. data/proto_docs/google/cloud/ces/v1beta/python_function.rb +3 -0
  48. data/proto_docs/google/cloud/ces/v1beta/session_service.rb +3 -0
  49. data/proto_docs/google/cloud/ces/v1beta/tool.rb +21 -11
  50. data/proto_docs/google/cloud/ces/v1beta/tool_service.rb +12 -0
  51. data/proto_docs/google/cloud/ces/v1beta/widget_tool.rb +36 -0
  52. metadata +7 -3
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Ces
23
+ module V1beta
24
+ # AgentCard conveys key information about a remote agent.
25
+ # It is a trimmed version of the AgentCard defined in the A2A protocol
26
+ # https://a2a-protocol.org/dev/specification/#441-agentcard
27
+ # @!attribute [rw] name
28
+ # @return [::String]
29
+ # Required. A human-readable name for the agent.
30
+ # @!attribute [rw] description
31
+ # @return [::String]
32
+ # Required. A description of the agent's domain of action/solution space.
33
+ # @!attribute [rw] supported_interfaces
34
+ # @return [::Array<::Google::Cloud::Ces::V1beta::AgentInterface>]
35
+ # Required. Ordered list of supported interfaces. The first entry is
36
+ # preferred.
37
+ # @!attribute [rw] version
38
+ # @return [::String]
39
+ # Required. The version of the agent.
40
+ # @!attribute [rw] skills
41
+ # @return [::Array<::Google::Cloud::Ces::V1beta::AgentSkill>]
42
+ # Required. Skills represent a unit of ability an agent can perform. This may
43
+ # somewhat abstract but represents a more focused set of actions that the
44
+ # agent is highly likely to succeed at.
45
+ class AgentCard
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # Declares a combination of a target URL, transport and protocol version for
51
+ # interacting with the agent. This allows agents to expose the same
52
+ # functionality over multiple protocol binding mechanisms.
53
+ # @!attribute [rw] url
54
+ # @return [::String]
55
+ # Required. The URL where this interface is available. Must be a valid
56
+ # absolute HTTPS URL in production. Example:
57
+ # "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"
58
+ # @!attribute [rw] protocol_binding
59
+ # @return [::String]
60
+ # Required. The protocol binding supported at this URL. This is an open form
61
+ # string, to be easily extended for other protocol bindings. The core ones
62
+ # officially supported are `JSONRPC`, `GRPC` and `HTTP+JSON`.
63
+ # @!attribute [rw] tenant
64
+ # @return [::String]
65
+ # Tenant ID to be used in the request when calling the agent.
66
+ # @!attribute [rw] protocol_version
67
+ # @return [::String]
68
+ # Required. The version of the A2A protocol this interface exposes.
69
+ # Use the latest supported minor version per major version.
70
+ # Examples: "0.3", "1.0"
71
+ class AgentInterface
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Represents a distinct capability or function that an agent can perform.
77
+ # @!attribute [rw] id
78
+ # @return [::String]
79
+ # Required. A unique identifier for the agent's skill.
80
+ # @!attribute [rw] name
81
+ # @return [::String]
82
+ # Required. A human-readable name for the skill.
83
+ # @!attribute [rw] description
84
+ # @return [::String]
85
+ # Required. A detailed description of the skill.
86
+ # @!attribute [rw] tags
87
+ # @return [::Array<::String>]
88
+ # Required. A set of keywords describing the skill's capabilities.
89
+ # @!attribute [rw] examples
90
+ # @return [::Array<::String>]
91
+ # Example prompts or scenarios that this skill can handle.
92
+ # @!attribute [rw] input_modes
93
+ # @return [::Array<::String>]
94
+ # The set of supported input media types for this skill, overriding the
95
+ # agent's defaults.
96
+ # @!attribute [rw] output_modes
97
+ # @return [::Array<::String>]
98
+ # The set of supported output media types for this skill, overriding the
99
+ # agent's defaults.
100
+ class AgentSkill
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # Represents a tool that allows the agent to call another remote agent.
106
+ # @!attribute [rw] name
107
+ # @return [::String]
108
+ # Required. The name of the tool.
109
+ # @!attribute [rw] description
110
+ # @return [::String]
111
+ # Required. The description of the tool.
112
+ # @!attribute [rw] agent_card
113
+ # @return [::Google::Cloud::Ces::V1beta::AgentCard]
114
+ # Required. The agent card of the remote agent that this tool invokes.
115
+ class RemoteAgentTool
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -1185,19 +1185,24 @@ module Google
1185
1185
  # The agent resource to be used by the LLM assistant, can be empty for
1186
1186
  # generating a new agent.
1187
1187
  #
1188
- # Note: The following fields are mutually exclusive: `agent`, `tool`, `toolset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1188
+ # Note: The following fields are mutually exclusive: `agent`, `tool`, `toolset`, `app_version_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1189
1189
  # @!attribute [rw] tool
1190
1190
  # @return [::Google::Cloud::Ces::V1beta::Tool]
1191
1191
  # The tool resource to be used by the LLM assistant, can be empty for
1192
1192
  # generating a new tool.
1193
1193
  #
1194
- # Note: The following fields are mutually exclusive: `tool`, `agent`, `toolset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1194
+ # Note: The following fields are mutually exclusive: `tool`, `agent`, `toolset`, `app_version_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1195
1195
  # @!attribute [rw] toolset
1196
1196
  # @return [::Google::Cloud::Ces::V1beta::Toolset]
1197
1197
  # The toolset resource to be used by the LLM assistant, can be empty for
1198
1198
  # generating a new toolset.
1199
1199
  #
1200
- # Note: The following fields are mutually exclusive: `toolset`, `agent`, `tool`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1200
+ # Note: The following fields are mutually exclusive: `toolset`, `agent`, `tool`, `app_version_context`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1201
+ # @!attribute [rw] app_version_context
1202
+ # @return [::Google::Cloud::Ces::V1beta::GenerateAppResourceRequest::AppVersionContext]
1203
+ # The app version context specifying the base snapshot and target agent.
1204
+ #
1205
+ # Note: The following fields are mutually exclusive: `app_version_context`, `agent`, `tool`, `toolset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1201
1206
  # @!attribute [rw] parent
1202
1207
  # @return [::String]
1203
1208
  # Required. The resource name of the app to generate the resource for.
@@ -1226,6 +1231,22 @@ module Google
1226
1231
  include ::Google::Protobuf::MessageExts
1227
1232
  extend ::Google::Protobuf::MessageExts::ClassMethods
1228
1233
 
1234
+ # The app version context specifying the base snapshot and target agent.
1235
+ # @!attribute [rw] app_version
1236
+ # @return [::String]
1237
+ # The resource name of the app version to be used by the LLM assistant.
1238
+ # Format:
1239
+ # `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
1240
+ # @!attribute [rw] agent_resource_name
1241
+ # @return [::String]
1242
+ # The resource name of the target agent to be used by the LLM assistant.
1243
+ # Format:
1244
+ # `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
1245
+ class AppVersionContext
1246
+ include ::Google::Protobuf::MessageExts
1247
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1248
+ end
1249
+
1229
1250
  # The instructions to be used to refine a part of the resource. The part of
1230
1251
  # the resource can be specified with a start index, end index and a field
1231
1252
  # mask. For example, if you want to refine a part of the agent instructions
@@ -112,6 +112,9 @@ module Google
112
112
  # @!attribute [rw] client_certificate_settings
113
113
  # @return [::Google::Cloud::Ces::V1beta::ClientCertificateSettings]
114
114
  # Optional. The default client certificate settings for the app.
115
+ # @!attribute [rw] vpc_sc_settings
116
+ # @return [::Google::Cloud::Ces::V1beta::VpcScSettings]
117
+ # Optional. VPC-SC settings for the app.
115
118
  # @!attribute [rw] locked
116
119
  # @return [::Boolean]
117
120
  # Optional. Indicates whether the app is locked for changes. If the app is
@@ -124,6 +127,9 @@ module Google
124
127
  # @!attribute [rw] evaluation_settings
125
128
  # @return [::Google::Cloud::Ces::V1beta::EvaluationSettings]
126
129
  # Optional. The evaluation settings for the app.
130
+ # @!attribute [r] validation_errors
131
+ # @return [::Array<::String>]
132
+ # Output only. Misconfigurations or warnings in the app.
127
133
  class App
128
134
  include ::Google::Protobuf::MessageExts
129
135
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -384,11 +390,20 @@ module Google
384
390
  # Optional. Configuration for how sensitive data should be redacted.
385
391
  # @!attribute [rw] audio_recording_config
386
392
  # @return [::Google::Cloud::Ces::V1beta::AudioRecordingConfig]
387
- # Optional. Configuration for how audio interactions should be recorded.
393
+ # Optional. Configuration for how audio interactions should be recorded. The
394
+ # audio is subject to redaction as configured in
395
+ # {::Google::Cloud::Ces::V1beta::LoggingSettings#redaction_config RedactionConfig}.
396
+ # @!attribute [rw] unredacted_audio_recording_config
397
+ # @return [::Google::Cloud::Ces::V1beta::AudioRecordingConfig]
398
+ # Optional. Configures an additional recording of unredacted audio. This can
399
+ # be used to maintain a raw audio copy when audio redaction is
400
+ # {::Google::Cloud::Ces::V1beta::RedactionConfig#enable_redaction enabled},
401
+ # typically for auditing or monitoring purposes.
388
402
  # @!attribute [rw] bigquery_export_settings
389
403
  # @return [::Google::Cloud::Ces::V1beta::BigQueryExportSettings]
390
- # Optional. Settings to describe the BigQuery export behaviors for the app.
391
- # The conversation data will be exported to BigQuery tables if it is enabled.
404
+ # Optional. Configures the BigQuery export behaviors for the app. The
405
+ # conversation data is subject to redaction as configured in
406
+ # {::Google::Cloud::Ces::V1beta::LoggingSettings#redaction_config RedactionConfig}.
392
407
  # @!attribute [rw] cloud_logging_settings
393
408
  # @return [::Google::Cloud::Ces::V1beta::CloudLoggingSettings]
394
409
  # Optional. Settings to describe the Cloud Logging behaviors for the app.
@@ -613,6 +628,13 @@ module Google
613
628
  # @return [::Google::Cloud::Ces::V1beta::EvaluationToolCallBehaviour]
614
629
  # Optional. Configures the default tool call behaviour for scenario
615
630
  # evaluations.
631
+ # @!attribute [rw] metrics_config
632
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsConfig]
633
+ # Optional. Configures the default metrics for evaluations.
634
+ # @!attribute [rw] scenario_execution_mode
635
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationSettings::ScenarioExecutionMode]
636
+ # Optional. The execution mode for scenario evaluations. If not provided,
637
+ # will default to QUALITY_OPTIMIZED.
616
638
  class EvaluationSettings
617
639
  include ::Google::Protobuf::MessageExts
618
640
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -628,6 +650,18 @@ module Google
628
650
  # The agent starts the conversation.
629
651
  AGENT = 2
630
652
  end
653
+
654
+ # The execution mode for scenario evaluations.
655
+ module ScenarioExecutionMode
656
+ # Unspecified execution mode. Defaults to QUALITY_OPTIMIZED.
657
+ SCENARIO_EXECUTION_MODE_UNSPECIFIED = 0
658
+
659
+ # Quality optimized mode.
660
+ QUALITY_OPTIMIZED = 1
661
+
662
+ # Speed optimized mode.
663
+ SPEED_OPTIMIZED = 2
664
+ end
631
665
  end
632
666
 
633
667
  # Settings for custom client certificates.
@@ -651,6 +685,19 @@ module Google
651
685
  extend ::Google::Protobuf::MessageExts::ClassMethods
652
686
  end
653
687
 
688
+ # VPC-SC settings for the app.
689
+ # @!attribute [rw] allowed_origins
690
+ # @return [::Array<::String>]
691
+ # Optional. The allowed HTTP(s) origins that OpenAPI tools in the App are
692
+ # able to directly call when VPC Service Controls are enabled. These strings
693
+ # must match the origin exactly, including the port if specified. For
694
+ # example, "https://example.com" or "https://example.com:443". This list does
695
+ # not yet apply to Python tools that may make direct HTTP calls.
696
+ class VpcScSettings
697
+ include ::Google::Protobuf::MessageExts
698
+ extend ::Google::Protobuf::MessageExts::ClassMethods
699
+ end
700
+
654
701
  # Settings to describe the conversation logging behaviors for the app.
655
702
  # @!attribute [rw] disable_conversation_logging
656
703
  # @return [::Boolean]
@@ -131,22 +131,25 @@ module Google
131
131
  # Unspecified input type.
132
132
  INPUT_TYPE_UNSPECIFIED = 0
133
133
 
134
- # The input message is text.
134
+ # Text input.
135
135
  INPUT_TYPE_TEXT = 1
136
136
 
137
- # The input message is audio.
137
+ # Event input.
138
+ INPUT_TYPE_EVENT = 7
139
+
140
+ # Audio input.
138
141
  INPUT_TYPE_AUDIO = 2
139
142
 
140
- # The input message is image.
143
+ # Image input.
141
144
  INPUT_TYPE_IMAGE = 3
142
145
 
143
- # The input message is blob file.
146
+ # Blob input.
144
147
  INPUT_TYPE_BLOB = 4
145
148
 
146
- # The input message is client function tool response.
149
+ # Client function tool response input.
147
150
  INPUT_TYPE_TOOL_RESPONSE = 5
148
151
 
149
- # The input message are variables.
152
+ # Variables input.
150
153
  INPUT_TYPE_VARIABLES = 6
151
154
  end
152
155
  end
@@ -21,6 +21,64 @@ module Google
21
21
  module Cloud
22
22
  module Ces
23
23
  module V1beta
24
+ # Experiment for the deployment.
25
+ # @!attribute [rw] version_release
26
+ # @return [::Google::Cloud::Ces::V1beta::ExperimentConfig::VersionRelease]
27
+ # Optional. Version release for the experiment.
28
+ class ExperimentConfig
29
+ include ::Google::Protobuf::MessageExts
30
+ extend ::Google::Protobuf::MessageExts::ClassMethods
31
+
32
+ # Version release for the experiment.
33
+ # @!attribute [rw] state
34
+ # @return [::Google::Cloud::Ces::V1beta::ExperimentConfig::State]
35
+ # Optional. State of the version release.
36
+ # @!attribute [rw] traffic_allocations
37
+ # @return [::Array<::Google::Cloud::Ces::V1beta::ExperimentConfig::VersionRelease::TrafficAllocation>]
38
+ # Optional. Traffic allocations for the version release.
39
+ class VersionRelease
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+
43
+ # Traffic allocation for the version release.
44
+ # @!attribute [rw] id
45
+ # @return [::String]
46
+ # Optional. Id of the traffic allocation.
47
+ # Free format string, up to 128 characters.
48
+ # @!attribute [rw] traffic_percentage
49
+ # @return [::Integer]
50
+ # Optional. Traffic percentage of the traffic allocation.
51
+ # Must be between 0 and 100.
52
+ # @!attribute [rw] app_version
53
+ # @return [::String]
54
+ # Optional. App version of the traffic allocation.
55
+ # Format:
56
+ # `projects/{project}/locations/{location}/apps/{app}/versions/{version}`
57
+ class TrafficAllocation
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+ end
62
+
63
+ # State of the experiment.
64
+ module State
65
+ # Unspecified state.
66
+ STATE_UNSPECIFIED = 0
67
+
68
+ # Pending state. Experiment is pending and not valid.
69
+ PENDING = 1
70
+
71
+ # Running state. Experiment is running and valid.
72
+ RUNNING = 2
73
+
74
+ # Done state. Experiment is done and no longer valid.
75
+ DONE = 3
76
+
77
+ # Expired state. Experiment is expired and no longer valid.
78
+ EXPIRED = 4
79
+ end
80
+ end
81
+
24
82
  # A deployment represents an immutable, queryable version of the app.
25
83
  # It is used to deploy an app version with a specific channel profile.
26
84
  # @!attribute [rw] name
@@ -52,6 +110,9 @@ module Google
52
110
  # Output only. Etag used to ensure the object hasn't changed during a
53
111
  # read-modify-write operation. If the etag is empty, the update will
54
112
  # overwrite any concurrent changes.
113
+ # @!attribute [rw] experiment_config
114
+ # @return [::Google::Cloud::Ces::V1beta::ExperimentConfig]
115
+ # Optional. Experiment configuration for the deployment.
55
116
  class Deployment
56
117
  include ::Google::Protobuf::MessageExts
57
118
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -209,6 +209,12 @@ module Google
209
209
  # Output only. The last 10 evaluation results for this evaluation. This is
210
210
  # only populated if include_last_ten_results is set to true in the
211
211
  # ListEvaluationsRequest or GetEvaluationRequest.
212
+ # @!attribute [rw] evaluation_metrics_threshold_override
213
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsThresholds]
214
+ # Optional. Overrides metrics thresholds for this specific evaluation.
215
+ # @!attribute [rw] evaluation_metrics_config_override
216
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsConfig]
217
+ # Optional. Overrides metrics config for this specific evaluation.
212
218
  class Evaluation
213
219
  include ::Google::Protobuf::MessageExts
214
220
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -218,42 +224,63 @@ module Google
218
224
  # @return [::Google::Cloud::Ces::V1beta::ToolCall]
219
225
  # Optional. Check that a specific tool was called with the parameters.
220
226
  #
221
- # Note: The following fields are mutually exclusive: `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
227
+ # Note: The following fields are mutually exclusive: `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
222
228
  # @!attribute [rw] tool_response
223
229
  # @return [::Google::Cloud::Ces::V1beta::ToolResponse]
224
230
  # Optional. Check that a specific tool had the expected response.
225
231
  #
226
- # Note: The following fields are mutually exclusive: `tool_response`, `tool_call`, `agent_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
232
+ # Note: The following fields are mutually exclusive: `tool_response`, `tool_call`, `agent_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
227
233
  # @!attribute [rw] agent_response
228
234
  # @return [::Google::Cloud::Ces::V1beta::Message]
229
235
  # Optional. Check that the agent responded with the correct response. The
230
236
  # role "agent" is implied.
231
237
  #
232
- # Note: The following fields are mutually exclusive: `agent_response`, `tool_call`, `tool_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
238
+ # Note: The following fields are mutually exclusive: `agent_response`, `tool_call`, `tool_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
233
239
  # @!attribute [rw] agent_transfer
234
240
  # @return [::Google::Cloud::Ces::V1beta::AgentTransfer]
235
241
  # Optional. Check that the agent transferred the conversation to a
236
242
  # different agent.
237
243
  #
238
- # Note: The following fields are mutually exclusive: `agent_transfer`, `tool_call`, `tool_response`, `agent_response`, `updated_variables`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
244
+ # Note: The following fields are mutually exclusive: `agent_transfer`, `tool_call`, `tool_response`, `agent_response`, `updated_variables`, `mock_tool_response`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
239
245
  # @!attribute [rw] updated_variables
240
246
  # @return [::Google::Protobuf::Struct]
241
247
  # Optional. Check that the agent updated the session variables to the
242
248
  # expected values. Used to also capture agent variable updates for golden
243
249
  # evals.
244
250
  #
245
- # Note: The following fields are mutually exclusive: `updated_variables`, `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
251
+ # Note: The following fields are mutually exclusive: `updated_variables`, `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `mock_tool_response`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
246
252
  # @!attribute [rw] mock_tool_response
247
253
  # @return [::Google::Cloud::Ces::V1beta::ToolResponse]
248
254
  # Optional. The tool response to mock, with the parameters of interest
249
255
  # specified. Any parameters not specified will be hallucinated by the
250
256
  # LLM.
251
257
  #
252
- # Note: The following fields are mutually exclusive: `mock_tool_response`, `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `updated_variables`. If a field in that set is populated, all other fields in the set will automatically be cleared.
258
+ # Note: The following fields are mutually exclusive: `mock_tool_response`, `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `updated_variables`, `no_tool_calls`. If a field in that set is populated, all other fields in the set will automatically be cleared.
259
+ # @!attribute [rw] no_tool_calls
260
+ # @return [::Boolean]
261
+ # Optional. Check that no tools were called during this turn.
262
+ #
263
+ # Note: The following fields are mutually exclusive: `no_tool_calls`, `tool_call`, `tool_response`, `agent_response`, `agent_transfer`, `updated_variables`, `mock_tool_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
253
264
  # @!attribute [rw] note
254
265
  # @return [::String]
255
266
  # Optional. A note for this requirement, useful in reporting when specific
256
267
  # checks fail. E.g., "Check_Payment_Tool_Called".
268
+ # @!attribute [rw] skip_evaluation
269
+ # @return [::Boolean]
270
+ # Optional. If set to true, this specific expectation will not be
271
+ # evaluated.
272
+ # @!attribute [rw] expectation_level_metrics_thresholds_override
273
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsThresholds::GoldenEvaluationMetricsThresholds::ExpectationLevelMetricsThresholds]
274
+ # Optional. Overrides metrics at the step level.
275
+ # @!attribute [rw] agent_response_semantic_similarity_metrics_config_override
276
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsConfig::SemanticSimilarityMetricsConfig]
277
+ # Optional. Overrides for agent_response semantic similarity metrics.
278
+ # @!attribute [rw] agent_response_hallucination_metrics_config_override
279
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsConfig::HallucinationMetricsConfig]
280
+ # Optional. Overrides for agent_response hallucination metrics.
281
+ # @!attribute [rw] comparison_type
282
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsConfig::ComparisonType]
283
+ # Optional. The comparison type to use for the expectation check.
257
284
  class GoldenExpectation
258
285
  include ::Google::Protobuf::MessageExts
259
286
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -287,7 +314,14 @@ module Google
287
314
  # @!attribute [rw] root_span
288
315
  # @return [::Google::Cloud::Ces::V1beta::Span]
289
316
  # Optional. The root span of the golden turn for processing and maintaining
290
- # audio information.
317
+ # audio information. The uri for the audio must contain audio saved in
318
+ # 16Khz sample rate.
319
+ # @!attribute [rw] turn_level_metrics_thresholds_override
320
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsThresholds::GoldenEvaluationMetricsThresholds::TurnLevelMetricsThresholds]
321
+ # Optional. Overrides for turn-level metric thresholds.
322
+ # @!attribute [rw] hallucination_metric_behavior_override
323
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationMetricsThresholds::HallucinationMetricBehavior]
324
+ # Optional. Override for turn-level hallucination metric behavior.
291
325
  class GoldenTurn
292
326
  include ::Google::Protobuf::MessageExts
293
327
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,6 +331,7 @@ module Google
297
331
  # @!attribute [rw] turns
298
332
  # @return [::Array<::Google::Cloud::Ces::V1beta::Evaluation::GoldenTurn>]
299
333
  # Required. The golden turns required to replay a golden conversation.
334
+ # The maximum number of allowed turns is 100.
300
335
  # @!attribute [rw] evaluation_expectations
301
336
  # @return [::Array<::String>]
302
337
  # Optional. The evaluation expectations to evaluate the replayed
@@ -348,8 +383,8 @@ module Google
348
383
  # Optional. The user facts to be used by the scenario.
349
384
  # @!attribute [rw] max_turns
350
385
  # @return [::Integer]
351
- # Optional. The maximum number of turns to simulate. If not specified, the
352
- # simulation will continue until the task is complete.
386
+ # Optional. The maximum number of turns to simulate. The maximum allowed
387
+ # value is 100. The default value is 100.
353
388
  # @!attribute [rw] rubrics
354
389
  # @return [::Array<::String>]
355
390
  # Required. The rubrics to score the scenario against.
@@ -378,6 +413,9 @@ module Google
378
413
  # Optional. The evaluation expectations to evaluate the conversation
379
414
  # produced by the simulation against. Format:
380
415
  # `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}`
416
+ # @!attribute [rw] scenario_execution_mode
417
+ # @return [::Google::Cloud::Ces::V1beta::EvaluationSettings::ScenarioExecutionMode]
418
+ # Optional. The execution mode for scenario evaluations.
381
419
  class Scenario
382
420
  include ::Google::Protobuf::MessageExts
383
421
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -555,22 +593,29 @@ module Google
555
593
  # @return [::Google::Cloud::Ces::V1beta::ToolCall]
556
594
  # Output only. The result of the tool call expectation.
557
595
  #
558
- # Note: The following fields are mutually exclusive: `observed_tool_call`, `observed_tool_response`, `observed_agent_response`, `observed_agent_transfer`. If a field in that set is populated, all other fields in the set will automatically be cleared.
596
+ # Note: The following fields are mutually exclusive: `observed_tool_call`, `observed_tool_response`, `observed_agent_response`, `observed_agent_transfer`, `observed_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
559
597
  # @!attribute [r] observed_tool_response
560
598
  # @return [::Google::Cloud::Ces::V1beta::ToolResponse]
561
599
  # Output only. The result of the tool response expectation.
562
600
  #
563
- # Note: The following fields are mutually exclusive: `observed_tool_response`, `observed_tool_call`, `observed_agent_response`, `observed_agent_transfer`. If a field in that set is populated, all other fields in the set will automatically be cleared.
601
+ # Note: The following fields are mutually exclusive: `observed_tool_response`, `observed_tool_call`, `observed_agent_response`, `observed_agent_transfer`, `observed_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
564
602
  # @!attribute [r] observed_agent_response
565
603
  # @return [::Google::Cloud::Ces::V1beta::Message]
566
604
  # Output only. The result of the agent response expectation.
567
605
  #
568
- # Note: The following fields are mutually exclusive: `observed_agent_response`, `observed_tool_call`, `observed_tool_response`, `observed_agent_transfer`. If a field in that set is populated, all other fields in the set will automatically be cleared.
606
+ # Note: The following fields are mutually exclusive: `observed_agent_response`, `observed_tool_call`, `observed_tool_response`, `observed_agent_transfer`, `observed_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
569
607
  # @!attribute [r] observed_agent_transfer
570
608
  # @return [::Google::Cloud::Ces::V1beta::AgentTransfer]
571
609
  # Output only. The result of the agent transfer expectation.
572
610
  #
573
- # Note: The following fields are mutually exclusive: `observed_agent_transfer`, `observed_tool_call`, `observed_tool_response`, `observed_agent_response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
611
+ # Note: The following fields are mutually exclusive: `observed_agent_transfer`, `observed_tool_call`, `observed_tool_response`, `observed_agent_response`, `observed_payload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
612
+ # @!attribute [r] observed_payload
613
+ # @return [::Google::Protobuf::Struct]
614
+ # Output only. An observed custom payload.
615
+ # There are no expectations for custom payloads. This is only used for
616
+ # metrics calculation. The outcome is always SKIPPED.
617
+ #
618
+ # Note: The following fields are mutually exclusive: `observed_payload`, `observed_tool_call`, `observed_tool_response`, `observed_agent_response`, `observed_agent_transfer`. If a field in that set is populated, all other fields in the set will automatically be cleared.
574
619
  # @!attribute [r] expectation
575
620
  # @return [::Google::Cloud::Ces::V1beta::Evaluation::GoldenExpectation]
576
621
  # Output only. The expectation that was evaluated.
@@ -989,6 +1034,9 @@ module Google
989
1034
  # Evaluation result execution state is not specified.
990
1035
  EXECUTION_STATE_UNSPECIFIED = 0
991
1036
 
1037
+ # Evaluation result execution is queued.
1038
+ QUEUED = 5
1039
+
992
1040
  # Evaluation result execution is running.
993
1041
  RUNNING = 1
994
1042
 
@@ -997,6 +1045,9 @@ module Google
997
1045
 
998
1046
  # Evaluation result execution failed due to an internal error.
999
1047
  ERROR = 3
1048
+
1049
+ # Evaluation result execution was cancelled.
1050
+ CANCELLED = 4
1000
1051
  end
1001
1052
  end
1002
1053
 
@@ -1098,6 +1149,11 @@ module Google
1098
1149
  # @!attribute [r] golden_run_method
1099
1150
  # @return [::Google::Cloud::Ces::V1beta::GoldenRunMethod]
1100
1151
  # Output only. The method used to run the evaluation.
1152
+ # @!attribute [r] operation
1153
+ # @return [::String]
1154
+ # Output only. The operation that created this evaluation run.
1155
+ # Format:
1156
+ # `projects/{project}/locations/{location}/operations/{operation}`
1101
1157
  class EvaluationRun
1102
1158
  include ::Google::Protobuf::MessageExts
1103
1159
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1124,6 +1180,10 @@ module Google
1124
1180
  # Output only. Number of completed evaluation results with an outcome of
1125
1181
  # PASS. (EvaluationResult.execution_state is COMPLETED and
1126
1182
  # EvaluationResult.evaluation_status is PASS).
1183
+ # @!attribute [r] cancelled_count
1184
+ # @return [::Integer]
1185
+ # Output only. Number of evaluation results that were cancelled.
1186
+ # (EvaluationResult.execution_state is CANCELLED).
1127
1187
  class Progress
1128
1188
  include ::Google::Protobuf::MessageExts
1129
1189
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1178,6 +1238,9 @@ module Google
1178
1238
  # Evaluation run state is not specified.
1179
1239
  EVALUATION_RUN_STATE_UNSPECIFIED = 0
1180
1240
 
1241
+ # Indicates the evaluation run is queued.
1242
+ QUEUED = 5
1243
+
1181
1244
  # Evaluation run is running.
1182
1245
  RUNNING = 1
1183
1246
 
@@ -1186,6 +1249,9 @@ module Google
1186
1249
 
1187
1250
  # The evaluation run has an error.
1188
1251
  ERROR = 3
1252
+
1253
+ # Evaluation run was cancelled.
1254
+ CANCELLED = 4
1189
1255
  end
1190
1256
  end
1191
1257
 
@@ -1376,6 +1442,9 @@ module Google
1376
1442
  # @!attribute [r] session_id
1377
1443
  # @return [::String]
1378
1444
  # Output only. The session ID for the conversation that caused the error.
1445
+ # @!attribute [r] user_facing_error_message
1446
+ # @return [::String]
1447
+ # Output only. The user facing error message.
1379
1448
  class EvaluationErrorInfo
1380
1449
  include ::Google::Protobuf::MessageExts
1381
1450
  extend ::Google::Protobuf::MessageExts::ClassMethods