Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/google-cloud-ces/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
| upload evaluation audio | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/evaluation_service.upload_evaluation_audio.js) |
| bidi run session | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/session_service.bidi_run_session.js) |
| run session | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/session_service.run_session.js) |
| stream run session | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/session_service.stream_run_session.js) |
| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/snippet_metadata_google.cloud.ces.v1beta.json) |
| execute tool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/tool_service.execute_tool.js) |
| retrieve tool schema | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-ces/samples/generated/v1beta/tool_service.retrieve_tool_schema.js) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,14 @@ message ExportAppRequest {
// app. The format of this URI must be `gs://<bucket-name>/<object-name>`. The
// exported app archive will be written directly to the specified GCS object.
string gcs_uri = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The resource name of the app version to export.
// Format:
// `projects/{project}/locations/{location}/apps/{app}/versions/{version}`.
string app_version = 4 [
(google.api.field_behavior) = OPTIONAL,
(google.api.resource_reference) = { type: "ces.googleapis.com/AppVersion" }
];
}

// Response message for
Expand Down Expand Up @@ -1701,12 +1709,53 @@ message GenerateAppResourceResponse {

// The app resources generated by the LLM assistant.
AppResources app_resources = 7;

// The quality report generated by the LLM assistant.
QualityReport quality_report = 8;
}

// Additional information about the generated result.
GenerateResultInfo generate_result_info = 2;
}

// The report describing any identified quality issues in the app.
message QualityReport {
// The issue identified.
message Issue {
// Optional. Description of the issue found.
string description = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. How many times this issue occurred.
int32 occurrence_count = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Proposed solution to fix the issue by modifying instructions or
// tools.
string proposed_solution = 3 [(google.api.field_behavior) = OPTIONAL];
}

// Issues identified for a single agent.
message AgentIssues {
// Optional. The name of the agent to which the issues are related.
// Format:
// `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`
string agent = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. List of issues found for this agent.
repeated Issue issues = 2 [(google.api.field_behavior) = OPTIONAL];
}

// Optional. The issues grouped by agent.
repeated AgentIssues issues = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. A list of evaluation runs used to generate the quality report.
// Format:
// `projects/{project}/locations/{location}/evaluationRuns/{evaluationRun}`.
repeated string evaluation_runs = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. General issues not specific to any agent.
repeated Issue general_issues = 3 [(google.api.field_behavior) = OPTIONAL];
}

// Request message for
// [AgentService.ListChangelogs][google.cloud.ces.v1beta.AgentService.ListChangelogs].
message ListChangelogsRequest {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,11 @@ message LanguageSettings {
// pre-built instructions to improve handling of multilingual input.
bool enable_multilingual_support = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The action to perform when an agent receives input in an
// unsupported language.
// Optional. Deprecated: This feature is no longer supported. Use
// `enable_multilingual_support` instead to improve handling of multilingual
// input.
// The action to perform when an agent receives input in an unsupported
// language.
//
// This can be a predefined action or a custom tool call.
// Valid values are:
Expand All @@ -242,7 +245,8 @@ message LanguageSettings {
// an [EndSession][google.cloud.ces.v1beta.EndSession] signal with
// corresponding [metadata][google.cloud.ces.v1beta.EndSession.metadata] to
// terminate the conversation.
string fallback_action = 4 [(google.api.field_behavior) = OPTIONAL];
string fallback_action = 4
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
}

// Configuration for how the input and output audio should be processed and
Expand Down Expand Up @@ -422,15 +426,19 @@ message LoggingSettings {
message ErrorHandlingSettings {
// Defines the strategy for handling errors.
enum ErrorHandlingStrategy {
// Unspecified error handling strategy. Defaults to FALLBACK_RESPONSE.
// Unspecified error handling strategy.
ERROR_HANDLING_STRATEGY_UNSPECIFIED = 0;

// No specific handling is enabled.
NONE = 1;

// A fallback message will be returned to the user in case of
// LLM errors.
// system errors (e.g. LLM errors).
FALLBACK_RESPONSE = 2;

// An [EndSession][google.cloud.ces.v1beta.EndSession] signal will be
// emitted in case of system errors (e.g. LLM errors).
END_SESSION = 3;
}

// Optional. The strategy to use for error handling.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ message BigQueryExportSettings {
// Optional. Indicates whether the BigQuery export is enabled.
bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. The project ID of the BigQuery dataset to export the data to.
// Optional. The **project ID** of the BigQuery dataset to export the data to.
//
// Note: If the BigQuery dataset is in a different project from the app,
// you should grant `roles/bigquery.admin` role to the CES service agent
// `service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com`.
string project = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. The BigQuery dataset to export the data to.
// Optional. The BigQuery **dataset ID** to export the data to.
string dataset = 3 [(google.api.field_behavior) = OPTIONAL];
}
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,9 @@ message ChannelProfile {

// Widget supports only chat input.
CHAT_ONLY = 3;

// Widget supports chat, voice, and video input.
CHAT_VOICE_AND_VIDEO = 4;
}

// Theme of the web widget.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ message RunEvaluationResponse {
}

// Operation metadata for
// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation]
// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation].
message RunEvaluationOperationMetadata {
// Output only. The list of evaluations that were run.
// Format:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,12 @@ message McpTool {
// service names within a perimeter.
ServiceDirectoryConfig service_directory_config = 8
[(google.api.field_behavior) = OPTIONAL];

// Optional. The custom headers to send in the request to the MCP server. The
// values must be in the format `$context.variables.<name_of_variable>` and
// can be set in the session variables. See
// https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
// for more details.
map<string, string> custom_headers = 9
[(google.api.field_behavior) = OPTIONAL];
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,12 @@ message McpToolset {
// Optional. The TLS configuration. Includes the custom server certificates
// that the client should trust.
TlsConfig tls_config = 4 [(google.api.field_behavior) = OPTIONAL];

// Optional. The custom headers to send in the request to the MCP server. The
// values must be in the format `$context.variables.<name_of_variable>` and
// can be set in the session variables. See
// https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection
// for more details.
map<string, string> custom_headers = 5
[(google.api.field_behavior) = OPTIONAL];
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,30 @@ service SessionService {
"https://www.googleapis.com/auth/ces,"
"https://www.googleapis.com/auth/cloud-platform";

// Initiates a single turn interaction with the CES agent within a
// session.
// Initiates a single-turn interaction with the CES agent within a session.
rpc RunSession(RunSessionRequest) returns (RunSessionResponse) {
option (google.api.http) = {
post: "/v1beta/{config.session=projects/*/locations/*/apps/*/sessions/*}:runSession"
body: "*"
};
}

// Initiates a single-turn interaction with the CES agent. Uses server-side
// streaming to deliver incremental results and partial responses as they are
// generated.
//
// By default, complete responses (e.g., messages from callbacks or full LLM
// responses) are sent to the client as soon as they are available. To enable
// streaming individual text chunks directly from the model, set
// [enable_text_streaming][google.cloud.ces.v1beta.SessionConfig.enable_text_streaming]
// to true.
rpc StreamRunSession(RunSessionRequest) returns (stream RunSessionResponse) {
option (google.api.http) = {
post: "/v1beta/{config.session=projects/*/locations/*/apps/*/sessions/*}:streamRunSession"
body: "*"
};
}

// Establishes a bidirectional streaming connection with the CES agent.
// The agent processes continuous multimodal inputs (e.g., text, audio) and
// generates real-time multimodal output streams.
Expand Down Expand Up @@ -237,6 +252,14 @@ message SessionConfig {
// agent when the session control is transferred to the remote agent.
RemoteDialogflowQueryParameters remote_dialogflow_query_parameters = 15
[(google.api.field_behavior) = OPTIONAL];

// Optional. Whether to enable streaming text outputs from the model.
// By default, text outputs from the model are collected before sending to the
// client.
// NOTE: This is only supported for text (non-voice) sessions via
// [StreamRunSession][google.cloud.ces.v1beta.SessionService.StreamRunSession]
// or [BidiRunSession][google.cloud.ces.v1beta.SessionService.BidiRunSession].
bool enable_text_streaming = 18 [(google.api.field_behavior) = OPTIONAL];
}

// Request for the client to execute the tools and return the execution results
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ message GenerateChatTokenRequest {

// Optional. The reCAPTCHA token generated by the client-side chat widget.
string recaptcha_token = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. Indicates if live handoff is enabled for the session.
bool live_handoff_enabled = 4 [(google.api.field_behavior) = OPTIONAL];
}

// Response message for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ syntax = "proto3";
package google.cloud.ces.v1beta;

import "google/api/field_behavior.proto";
import "google/cloud/ces/v1beta/python_function.proto";
import "google/cloud/ces/v1beta/schema.proto";
import "google/protobuf/struct.proto";

option go_package = "cloud.google.com/go/ces/apiv1beta/cespb;cespb";
option java_multiple_files = true;
Expand All @@ -29,6 +31,42 @@ option java_package = "com.google.cloud.ces.v1beta";
// responsible for processing the widget and generating the next user query to
// continue the interaction with the agent.
message WidgetTool {
// Configuration for mapping data from a source tool to the widget's input
// parameters.
message DataMapping {
// The strategy used to map data from the source tool to the widget.
enum Mode {
// Unspecified mode.
MODE_UNSPECIFIED = 0;

// Use the `field_mappings` map for data transformation.
FIELD_MAPPING = 1;

// Use the `python_script` for data transformation.
PYTHON_SCRIPT = 2;
}

// Optional. The resource name of the tool that provides the data for the
// widget (e.g., a search tool or a custom function). Format:
// `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}`
string source_tool_name = 1 [(google.api.field_behavior) = OPTIONAL];

// Optional. A map of widget input parameter fields to the corresponding
// output fields of the source tool.
map<string, string> field_mappings = 2
[(google.api.field_behavior) = OPTIONAL];

// Optional. Configuration for a Python function used to transform the
// source tool's output into the widget's input format.
PythonFunction python_function = 5 [(google.api.field_behavior) = OPTIONAL];

// Optional. The mode of the data mapping.
Mode mode = 4 [(google.api.field_behavior) = OPTIONAL];

// Deprecated: Use `python_function` instead.
string python_script = 3 [deprecated = true];
}

// All available widget types.
// New values may be added to this enum in the future.
enum WidgetType {
Expand Down Expand Up @@ -87,4 +125,11 @@ message WidgetTool {
// Optional. The type of the widget tool. If not specified, the default type
// will be CUSTOMIZED.
WidgetType widget_type = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. Configuration for rendering the widget.
google.protobuf.Struct ui_config = 5 [(google.api.field_behavior) = OPTIONAL];

// Optional. The mapping that defines how data from a source tool is mapped to
// the widget's input parameters.
DataMapping data_mapping = 6 [(google.api.field_behavior) = OPTIONAL];
}
Loading
Loading