Skip to content

Commit 1fa95b7

Browse files
Google APIscopybara-github
authored andcommitted
feat: update public libraries for CES v1beta
fix!: An existing google.api.http annotation `http_uri` is changed for method `UploadEvaluationAudio` in service `EvaluationService` fix!: An existing method_signature `app,audio_content` is removed from method `UploadEvaluationAudio` in service `EvaluationService` fix!: An existing field `app` is renamed to `name` in message `.google.cloud.ces.v1beta.UploadEvaluationAudioRequest` fix!: An existing field `audio_transcript` is renamed to `transcript` in message `.google.cloud.ces.v1beta.UploadEvaluationAudioResponse` fix!: An existing field `audio_duration` is renamed to `duration` in message `.google.cloud.ces.v1beta.UploadEvaluationAudioResponse` fix!: An existing field `variables` is moved in to oneof in message `.google.cloud.ces.v1beta.ExecuteToolRequest` docs: A comment for field `cert` in message `.google.cloud.ces.v1beta.TlsConfig` is changed docs: A comment for field `entry_agent` in message `.google.cloud.ces.v1beta.SessionConfig` is changed docs: A comment for field `name` in message `.google.cloud.ces.v1beta.Tool` is changed PiperOrigin-RevId: 878047537
1 parent 5c9602d commit 1fa95b7

File tree

10 files changed

+223
-22
lines changed

10 files changed

+223
-22
lines changed

google/cloud/ces/v1beta/BUILD.bazel

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ proto_library(
2626
srcs = [
2727
"agent.proto",
2828
"agent_service.proto",
29+
"agent_tool.proto",
2930
"agent_transfers.proto",
3031
"app.proto",
3132
"app_version.proto",
@@ -57,6 +58,7 @@ proto_library(
5758
"python_function.proto",
5859
"schema.proto",
5960
"search_suggestions.proto",
61+
"security_settings.proto",
6062
"session_service.proto",
6163
"system_tool.proto",
6264
"tool.proto",
@@ -388,7 +390,6 @@ load(
388390

389391
csharp_proto_library(
390392
name = "ces_csharp_proto",
391-
extra_opts = [],
392393
deps = [":ces_proto"],
393394
)
394395

google/cloud/ces/v1beta/agent_service.proto

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import "google/cloud/ces/v1beta/deployment.proto";
2929
import "google/cloud/ces/v1beta/evaluation.proto";
3030
import "google/cloud/ces/v1beta/example.proto";
3131
import "google/cloud/ces/v1beta/guardrail.proto";
32+
import "google/cloud/ces/v1beta/security_settings.proto";
3233
import "google/cloud/ces/v1beta/tool.proto";
3334
import "google/cloud/ces/v1beta/toolset.proto";
3435
import "google/longrunning/operations.proto";
@@ -130,6 +131,25 @@ service AgentService {
130131
};
131132
}
132133

134+
// Retrieves the security settings for the project and location.
135+
rpc GetSecuritySettings(GetSecuritySettingsRequest)
136+
returns (SecuritySettings) {
137+
option (google.api.http) = {
138+
get: "/v1beta/{name=projects/*/locations/*/securitySettings}"
139+
};
140+
option (google.api.method_signature) = "name";
141+
}
142+
143+
// Updates the security settings for the project and location.
144+
rpc UpdateSecuritySettings(UpdateSecuritySettingsRequest)
145+
returns (SecuritySettings) {
146+
option (google.api.http) = {
147+
patch: "/v1beta/{security_settings.name=projects/*/locations/*/securitySettings}"
148+
body: "security_settings"
149+
};
150+
option (google.api.method_signature) = "security_settings,update_mask";
151+
}
152+
133153
// Lists agents in the given app.
134154
rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) {
135155
option (google.api.http) = {
@@ -1754,3 +1774,29 @@ message GetChangelogRequest {
17541774
(google.api.resource_reference) = { type: "ces.googleapis.com/Changelog" }
17551775
];
17561776
}
1777+
1778+
// Request message for
1779+
// [AgentService.GetSecuritySettings][google.cloud.ces.v1beta.AgentService.GetSecuritySettings].
1780+
message GetSecuritySettingsRequest {
1781+
// Required. The resource name of the security settings to retrieve.
1782+
// Format: `projects/{project}/locations/{location}/securitySettings`
1783+
string name = 1 [
1784+
(google.api.field_behavior) = REQUIRED,
1785+
(google.api.resource_reference) = {
1786+
type: "ces.googleapis.com/SecuritySettings"
1787+
}
1788+
];
1789+
}
1790+
1791+
// Request message for
1792+
// [AgentService.UpdateSecuritySettings][google.cloud.ces.v1beta.AgentService.UpdateSecuritySettings].
1793+
message UpdateSecuritySettingsRequest {
1794+
// Required. The security settings to update.
1795+
SecuritySettings security_settings = 1
1796+
[(google.api.field_behavior) = REQUIRED];
1797+
1798+
// Optional. Field mask is used to control which fields get updated. If the
1799+
// mask is not present, all fields will be updated.
1800+
google.protobuf.FieldMask update_mask = 2
1801+
[(google.api.field_behavior) = OPTIONAL];
1802+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Copyright 2026 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.ces.v1beta;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
22+
option go_package = "cloud.google.com/go/ces/apiv1beta/cespb;cespb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "AgentToolProto";
25+
option java_package = "com.google.cloud.ces.v1beta";
26+
27+
// Represents a tool that allows the agent to call another agent.
28+
message AgentTool {
29+
// Required. The name of the agent tool.
30+
string name = 1 [(google.api.field_behavior) = REQUIRED];
31+
32+
// Optional. Description of the tool's purpose.
33+
string description = 2 [(google.api.field_behavior) = OPTIONAL];
34+
35+
// Optional. The resource name of the root agent that is the entry point of
36+
// the tool. Format: `projects/{project}/locations/{location}/agents/{agent}`
37+
string root_agent = 3 [
38+
(google.api.field_behavior) = OPTIONAL,
39+
(google.api.resource_reference) = { type: "ces.googleapis.com/Agent" }
40+
];
41+
}

google/cloud/ces/v1beta/ces_v1beta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ types:
2424
- name: google.cloud.ces.v1beta.Omnichannel
2525
- name: google.cloud.ces.v1beta.OmnichannelOperationMetadata
2626
- name: google.cloud.ces.v1beta.OperationMetadata
27+
- name: google.cloud.ces.v1beta.SecuritySettings
2728

2829
documentation:
2930
rules:

google/cloud/ces/v1beta/common.proto

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,14 @@ message TlsConfig {
148148
// is empty or unspecified, CES will use Google's default trust
149149
// store to verify certificates. N.B. Make sure the HTTPS server
150150
// certificates are signed with "subject alt name". For instance a
151-
// certificate can be self-signed using the following command,
151+
// certificate can be self-signed using the following command:
152+
//
153+
// ```
152154
// openssl x509 -req -days 200 -in example.com.csr \
153155
// -signkey example.com.key \
154156
// -out example.com.crt \
155157
// -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")
158+
// ```
156159
bytes cert = 2 [(google.api.field_behavior) = REQUIRED];
157160
}
158161

google/cloud/ces/v1beta/evaluation_service.proto

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ service EvaluationService {
6161
rpc UploadEvaluationAudio(UploadEvaluationAudioRequest)
6262
returns (UploadEvaluationAudioResponse) {
6363
option (google.api.http) = {
64-
post: "/v1beta/{app=projects/*/locations/*/apps/*}:uploadEvaluationAudio"
64+
post: "/v1beta/{name=projects/*/locations/*/apps/*/evaluations/*}:uploadEvaluationAudio"
6565
body: "*"
6666
};
67-
option (google.api.method_signature) = "app,audio_content";
67+
option (google.api.method_signature) = "name,audio_content";
6868
}
6969

7070
// Creates an evaluation.
@@ -1044,17 +1044,22 @@ message TestPersonaVoiceRequest {
10441044
// Request message for
10451045
// [EvaluationService.UploadEvaluationAudio][google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio].
10461046
message UploadEvaluationAudioRequest {
1047-
// Required. The resource name of the App for which to upload the evaluation
1048-
// audio. Format: `projects/{project}/locations/{location}/apps/{app}`
1049-
string app = 1 [
1047+
// Required. The resource name of the Evaluation for which to upload the
1048+
// evaluation audio. Format:
1049+
// `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}`
1050+
string name = 1 [
10501051
(google.api.field_behavior) = REQUIRED,
1051-
(google.api.resource_reference) = { type: "ces.googleapis.com/App" }
1052+
(google.api.resource_reference) = { type: "ces.googleapis.com/Evaluation" }
10521053
];
10531054

10541055
// Required. The raw audio bytes.
10551056
// The format of the audio must be single-channel LINEAR16 with a sample
10561057
// rate of 16kHz (default InputAudioConfig).
10571058
bytes audio_content = 2 [(google.api.field_behavior) = REQUIRED];
1059+
1060+
// Optional. The Google Cloud Storage URI of the previously uploaded audio
1061+
// file to be deleted. Format: `gs://<bucket-name>/<object-name>`
1062+
string previous_audio_gcs_uri = 3 [(google.api.field_behavior) = OPTIONAL];
10581063
}
10591064

10601065
// Response message for
@@ -1064,11 +1069,11 @@ message UploadEvaluationAudioResponse {
10641069
// Format: `gs://<bucket-name>/<object-name>`
10651070
string audio_gcs_uri = 1;
10661071

1067-
// The transcribed text from the audio, generated by Cloud Speech-to-Text.
1068-
string audio_transcript = 2;
1072+
// The transcript of the audio, generated by Cloud Speech-to-Text.
1073+
string transcript = 2;
10691074

10701075
// The duration of the audio.
1071-
google.protobuf.Duration audio_duration = 3;
1076+
google.protobuf.Duration duration = 3;
10721077
}
10731078

10741079
// Response message for
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
// Copyright 2026 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.ces.v1beta;
18+
19+
import "google/api/field_behavior.proto";
20+
import "google/api/resource.proto";
21+
import "google/protobuf/timestamp.proto";
22+
23+
option go_package = "cloud.google.com/go/ces/apiv1beta/cespb;cespb";
24+
option java_multiple_files = true;
25+
option java_outer_classname = "SecuritySettingsProto";
26+
option java_package = "com.google.cloud.ces.v1beta";
27+
28+
// Project/Location level security settings for CES.
29+
message SecuritySettings {
30+
option (google.api.resource) = {
31+
type: "ces.googleapis.com/SecuritySettings"
32+
pattern: "projects/{project}/locations/{location}/securitySettings"
33+
plural: "securitySettings"
34+
singular: "securitySettings"
35+
};
36+
37+
// Identifier. The unique identifier of the security settings.
38+
// Format: `projects/{project}/locations/{location}/securitySettings`
39+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
40+
41+
// Optional. Endpoint control related settings.
42+
EndpointControlPolicy endpoint_control_policy = 2
43+
[(google.api.field_behavior) = OPTIONAL];
44+
45+
// Output only. Create time of the security settings.
46+
google.protobuf.Timestamp create_time = 3
47+
[(google.api.field_behavior) = OUTPUT_ONLY];
48+
49+
// Output only. Last update time of the security settings.
50+
google.protobuf.Timestamp update_time = 4
51+
[(google.api.field_behavior) = OUTPUT_ONLY];
52+
53+
// Output only. Etag of the security settings.
54+
string etag = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
55+
}
56+
57+
// Defines project/location level endpoint control policy.
58+
message EndpointControlPolicy {
59+
// Defines the scope in which this policy's allowed_origins list is
60+
// enforced.
61+
enum EnforcementScope {
62+
// Unspecified. This policy will be treated as VPCSC_ONLY.
63+
ENFORCEMENT_SCOPE_UNSPECIFIED = 0;
64+
65+
// This policy applies only when VPC-SC is active.
66+
VPCSC_ONLY = 1;
67+
68+
// This policy ALWAYS applies, regardless of VPC-SC status.
69+
ALWAYS = 2;
70+
}
71+
72+
// Optional. The scope in which this policy's allowed_origins list is
73+
// enforced.
74+
EnforcementScope enforcement_scope = 1
75+
[(google.api.field_behavior) = OPTIONAL];
76+
77+
// Optional. The allowed HTTP(s) origins that tools in the App are able to
78+
// directly call. The enforcement depends on the value of
79+
// enforcement_scope and the VPC-SC status of the project.
80+
// If a port number is not provided, all ports will be allowed. Otherwise,
81+
// the port number must match exactly. For example, "https://example.com"
82+
// will match "https://example.com:443" and any other port.
83+
// "https://example.com:443" will only match "https://example.com:443".
84+
repeated string allowed_origins = 2 [(google.api.field_behavior) = OPTIONAL];
85+
}

google/cloud/ces/v1beta/session_service.proto

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ message SessionConfig {
206206
// Optional. The entry agent to handle the session. If not specified, the
207207
// session will be handled by the [root
208208
// agent][google.cloud.ces.v1beta.App.root_agent] of the app. Format:
209-
// `projects/{project}/locations/{location}/agents/{agent}`
209+
// `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
210210
string entry_agent = 12 [
211211
(google.api.field_behavior) = OPTIONAL,
212212
(google.api.resource_reference) = { type: "ces.googleapis.com/Agent" }
@@ -225,6 +225,11 @@ message SessionConfig {
225225
// "America/Los_Angeles".
226226
string time_zone = 11 [(google.api.field_behavior) = OPTIONAL];
227227

228+
// Optional. Whether to use tool fakes for the session.
229+
// If this field is set, the agent will attempt use tool fakes instead of
230+
// calling the real tools.
231+
bool use_tool_fakes = 14 [(google.api.field_behavior) = OPTIONAL];
232+
228233
// Optional.
229234
// [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters)
230235
// to send to the remote

google/cloud/ces/v1beta/tool.proto

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package google.cloud.ces.v1beta;
1818

1919
import "google/api/field_behavior.proto";
2020
import "google/api/resource.proto";
21+
import "google/cloud/ces/v1beta/agent_tool.proto";
2122
import "google/cloud/ces/v1beta/client_function.proto";
2223
import "google/cloud/ces/v1beta/common.proto";
2324
import "google/cloud/ces/v1beta/connector_tool.proto";
@@ -80,18 +81,22 @@ message Tool {
8081
// Optional. The system tool.
8182
SystemTool system_tool = 18 [(google.api.field_behavior) = OPTIONAL];
8283

84+
// Optional. The agent tool.
85+
AgentTool agent_tool = 23 [(google.api.field_behavior) = OPTIONAL];
86+
8387
// Optional. The widget tool.
8488
WidgetTool widget_tool = 24 [(google.api.field_behavior) = OPTIONAL];
8589
}
8690

87-
// Identifier. The unique identifier of the tool.
88-
// Format:
89-
// - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for
90-
// ## standalone tools.
91+
// Identifier. The resource name of the tool. Format:
92+
//
93+
// * `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`
94+
// for standalone tools.
95+
// * `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}`
96+
// for tools retrieved from a toolset.
9197
//
92-
// `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}`
93-
// for tools retrieved from a toolset. These tools are dynamic and
94-
// output-only, they cannot be referenced directly where a tool is expected.
98+
// These tools are dynamic and output-only; they cannot be referenced directly
99+
// where a tool is expected.
95100
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
96101

97102
// Output only. The display name of the tool, derived based on the tool's

google/cloud/ces/v1beta/tool_service.proto

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ message ExecuteToolRequest {
8383
ToolsetTool toolset_tool = 3 [(google.api.field_behavior) = OPTIONAL];
8484
}
8585

86+
// Additional context to be provided for the tool execution
87+
oneof tool_execution_context {
88+
// Optional. The variables that are available for the tool execution.
89+
google.protobuf.Struct variables = 5
90+
[(google.api.field_behavior) = OPTIONAL];
91+
92+
// Optional. The
93+
// [ToolCallContext](https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/python#environment
94+
// for details) to be passed to the Python tool.
95+
google.protobuf.Struct context = 6 [(google.api.field_behavior) = OPTIONAL];
96+
}
97+
8698
// Required. The resource name of the app which the tool/toolset belongs to.
8799
// Format: `projects/{project}/locations/{location}/apps/{app}`
88100
string parent = 4 [
@@ -93,9 +105,6 @@ message ExecuteToolRequest {
93105
// Optional. The input parameters and values for the tool in JSON object
94106
// format.
95107
google.protobuf.Struct args = 2 [(google.api.field_behavior) = OPTIONAL];
96-
97-
// Optional. The variables that are available for the tool execution.
98-
google.protobuf.Struct variables = 5 [(google.api.field_behavior) = OPTIONAL];
99108
}
100109

101110
// Response message for

0 commit comments

Comments
 (0)