Skip to content

Commit 77042f5

Browse files
feat: [ces] add public libraries for CES v1beta (#7285)
* feat: add public libraries for CES v1beta PiperOrigin-RevId: 872569929 Source-Link: googleapis/googleapis@3a4f028 Source-Link: googleapis/googleapis-gen@6e30b98 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWNlcy8uT3dsQm90LnlhbWwiLCJoIjoiNmUzMGI5ODhjYzgxNDU5Y2Q3YmMwMDMyMGFmNmYyOTExYjY3OWNjOSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent b23e571 commit 77042f5

154 files changed

Lines changed: 210353 additions & 2 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/google-cloud-ces/README.md

Lines changed: 86 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
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/cloud/ces/v1beta/agent_transfers.proto";
22+
import "google/cloud/ces/v1beta/common.proto";
23+
import "google/protobuf/timestamp.proto";
24+
25+
option go_package = "cloud.google.com/go/ces/apiv1beta/cespb;cespb";
26+
option java_multiple_files = true;
27+
option java_outer_classname = "AgentProto";
28+
option java_package = "com.google.cloud.ces.v1beta";
29+
option (google.api.resource_definition) = {
30+
type: "dialogflow.googleapis.com/DialogflowAgent"
31+
pattern: "projects/{project}/locations/{location}/agents/{agent}"
32+
};
33+
34+
// An agent acts as the fundamental building block that provides instructions to
35+
// the Large Language Model (LLM) for executing specific tasks.
36+
message Agent {
37+
option (google.api.resource) = {
38+
type: "ces.googleapis.com/Agent"
39+
pattern: "projects/{project}/locations/{location}/apps/{app}/agents/{agent}"
40+
plural: "agents"
41+
singular: "agent"
42+
};
43+
44+
// Default agent type. The agent uses instructions and callbacks specified in
45+
// the agent to perform the task using a large language model.
46+
message LlmAgent {}
47+
48+
// The agent which will transfer execution to a remote
49+
// [Dialogflow
50+
// CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent.
51+
// The Dialogflow agent will process subsequent user queries until the session
52+
// ends or flow ends, and the control is transferred back to the parent CES
53+
// agent.
54+
message RemoteDialogflowAgent {
55+
// Required. The
56+
// [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent)
57+
// agent resource name.
58+
// Format: `projects/{project}/locations/{location}/agents/{agent}`
59+
string agent = 1 [
60+
(google.api.field_behavior) = REQUIRED,
61+
(google.api.resource_reference) = {
62+
type: "dialogflow.googleapis.com/DialogflowAgent"
63+
}
64+
];
65+
66+
// Optional. The flow ID of the flow in the Dialogflow agent.
67+
string flow_id = 2 [(google.api.field_behavior) = OPTIONAL];
68+
69+
// Optional. The environment ID of the Dialogflow agent to be used for the
70+
// agent execution. If not specified, the draft environment will be used.
71+
string environment_id = 3 [(google.api.field_behavior) = OPTIONAL];
72+
73+
// Optional. The mapping of the app variables names to the Dialogflow
74+
// session parameters names to be sent to the Dialogflow agent as input.
75+
map<string, string> input_variable_mapping = 4
76+
[(google.api.field_behavior) = OPTIONAL];
77+
78+
// Optional. The mapping of the Dialogflow session parameters names to the
79+
// app variables names to be sent back to the CES agent after the Dialogflow
80+
// agent execution ends.
81+
map<string, string> output_variable_mapping = 5
82+
[(google.api.field_behavior) = OPTIONAL];
83+
84+
// Optional. Indicates whether to respect the message-level interruption
85+
// settings configured in the Dialogflow agent.
86+
//
87+
// * If false: all response messages from the Dialogflow agent follow the
88+
// app-level barge-in settings.
89+
// * If true: only response messages with
90+
// [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text)
91+
// set to true will be interruptable, all other messages follow the
92+
// app-level barge-in settings.
93+
bool respect_response_interruption_settings = 6
94+
[(google.api.field_behavior) = OPTIONAL];
95+
}
96+
97+
// A toolset with a selection of its tools.
98+
message AgentToolset {
99+
// Required. The resource name of the toolset.
100+
// Format:
101+
// `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}`
102+
string toolset = 1 [
103+
(google.api.field_behavior) = REQUIRED,
104+
(google.api.resource_reference) = { type: "ces.googleapis.com/Toolset" }
105+
];
106+
107+
// Optional. The tools IDs to filter the toolset.
108+
repeated string tool_ids = 4 [(google.api.field_behavior) = OPTIONAL];
109+
}
110+
111+
// The type of agent.
112+
oneof agent_type {
113+
// Optional. The default agent type.
114+
LlmAgent llm_agent = 26 [(google.api.field_behavior) = OPTIONAL];
115+
116+
// Optional. The remote
117+
// [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents)
118+
// agent to be used for the agent execution. If this field is set, all other
119+
// agent level properties will be ignored.
120+
//
121+
// Note: If the Dialogflow agent is in a different project from the app, you
122+
// should grant `roles/dialogflow.client` to the CES service agent
123+
// `service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com`.
124+
RemoteDialogflowAgent remote_dialogflow_agent = 27
125+
[(google.api.field_behavior) = OPTIONAL];
126+
}
127+
128+
// Identifier. The unique identifier of the agent.
129+
// Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
130+
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
131+
132+
// Required. Display name of the agent.
133+
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
134+
135+
// Optional. Human-readable description of the agent.
136+
string description = 3 [(google.api.field_behavior) = OPTIONAL];
137+
138+
// Optional. Configurations for the LLM model.
139+
ModelSettings model_settings = 4 [(google.api.field_behavior) = OPTIONAL];
140+
141+
// Optional. Instructions for the LLM model to guide the agent's behavior.
142+
string instruction = 6 [(google.api.field_behavior) = OPTIONAL];
143+
144+
// Optional. List of available tools for the agent.
145+
// Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`
146+
repeated string tools = 7 [
147+
(google.api.field_behavior) = OPTIONAL,
148+
(google.api.resource_reference) = { type: "ces.googleapis.com/Tool" }
149+
];
150+
151+
// Optional. List of child agents in the agent tree.
152+
// Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
153+
repeated string child_agents = 8 [
154+
(google.api.field_behavior) = OPTIONAL,
155+
(google.api.resource_reference) = { type: "ces.googleapis.com/Agent" }
156+
];
157+
158+
// Optional. The callbacks to execute before the agent is called.
159+
// The provided callbacks are executed sequentially in the exact order they
160+
// are given in the list. If a callback returns an overridden response,
161+
// execution stops and any remaining callbacks are skipped.
162+
repeated Callback before_agent_callbacks = 18
163+
[(google.api.field_behavior) = OPTIONAL];
164+
165+
// Optional. The callbacks to execute after the agent is called.
166+
// The provided callbacks are executed sequentially in the exact order they
167+
// are given in the list. If a callback returns an overridden response,
168+
// execution stops and any remaining callbacks are skipped.
169+
repeated Callback after_agent_callbacks = 19
170+
[(google.api.field_behavior) = OPTIONAL];
171+
172+
// Optional. The callbacks to execute before the model is called. If there are
173+
// multiple calls to the model, the callback will be executed multiple times.
174+
// The provided callbacks are executed sequentially in the exact order they
175+
// are given in the list. If a callback returns an overridden response,
176+
// execution stops and any remaining callbacks are skipped.
177+
repeated Callback before_model_callbacks = 20
178+
[(google.api.field_behavior) = OPTIONAL];
179+
180+
// Optional. The callbacks to execute after the model is called. If there are
181+
// multiple calls to the model, the callback will be executed multiple times.
182+
// The provided callbacks are executed sequentially in the exact order they
183+
// are given in the list. If a callback returns an overridden response,
184+
// execution stops and any remaining callbacks are skipped.
185+
repeated Callback after_model_callbacks = 21
186+
[(google.api.field_behavior) = OPTIONAL];
187+
188+
// Optional. The callbacks to execute before the tool is invoked. If there are
189+
// multiple tool invocations, the callback will be executed multiple times.
190+
// The provided callbacks are executed sequentially in the exact order they
191+
// are given in the list. If a callback returns an overridden response,
192+
// execution stops and any remaining callbacks are skipped.
193+
repeated Callback before_tool_callbacks = 22
194+
[(google.api.field_behavior) = OPTIONAL];
195+
196+
// Optional. The callbacks to execute after the tool is invoked. If there are
197+
// multiple tool invocations, the callback will be executed multiple times.
198+
// The provided callbacks are executed sequentially in the exact order they
199+
// are given in the list. If a callback returns an overridden response,
200+
// execution stops and any remaining callbacks are skipped.
201+
repeated Callback after_tool_callbacks = 23
202+
[(google.api.field_behavior) = OPTIONAL];
203+
204+
// Output only. Timestamp when the agent was created.
205+
google.protobuf.Timestamp create_time = 15
206+
[(google.api.field_behavior) = OUTPUT_ONLY];
207+
208+
// Output only. Timestamp when the agent was last updated.
209+
google.protobuf.Timestamp update_time = 16
210+
[(google.api.field_behavior) = OUTPUT_ONLY];
211+
212+
// Optional. List of guardrails for the agent.
213+
// Format:
214+
// `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`
215+
repeated string guardrails = 17 [
216+
(google.api.field_behavior) = OPTIONAL,
217+
(google.api.resource_reference) = { type: "ces.googleapis.com/Guardrail" }
218+
];
219+
220+
// Etag used to ensure the object hasn't changed during a read-modify-write
221+
// operation. If the etag is empty, the update will overwrite any concurrent
222+
// changes.
223+
string etag = 24;
224+
225+
// Optional. List of toolsets for the agent.
226+
repeated AgentToolset toolsets = 28 [(google.api.field_behavior) = OPTIONAL];
227+
228+
// Output only. If the agent is generated by the LLM assistant, this field
229+
// contains a descriptive summary of the generation.
230+
string generated_summary = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
231+
232+
// Optional. Agent transfer rules.
233+
// If multiple rules match, the first one in the list will be used.
234+
repeated TransferRule transfer_rules = 30
235+
[(google.api.field_behavior) = OPTIONAL];
236+
}

0 commit comments

Comments
 (0)