diff --git a/.librarian/state.yaml b/.librarian/state.yaml index a1e60c8451c6..5ef4929f77ab 100644 --- a/.librarian/state.yaml +++ b/.librarian/state.yaml @@ -1361,6 +1361,29 @@ libraries: release_exclude_paths: - internal/generated/snippets/certificatemanager/ tag_format: '{id}/v{version}' + - id: ces + version: 0.0.0 + last_generated_commit: 258563af0e9d6e7219de9afdffe74687d1eb7b83 + apis: + - path: google/cloud/ces/v1beta + service_config: ces_v1beta.yaml + source_roots: + - ces + - internal/generated/snippets/ces + preserve_regex: [] + remove_regex: + - ^internal/generated/snippets/ces/ + - ^ces/apiv1beta/[^/]*_client\.go$ + - ^ces/apiv1beta/[^/]*_client_example_go123_test\.go$ + - ^ces/apiv1beta/[^/]*_client_example_test\.go$ + - ^ces/apiv1beta/auxiliary\.go$ + - ^ces/apiv1beta/auxiliary_go123\.go$ + - ^ces/apiv1beta/doc\.go$ + - ^ces/apiv1beta/gapic_metadata\.json$ + - ^ces/apiv1beta/helpers\.go$ + - ^ces/apiv1beta/\.repo-metadata\.json$ + - ^ces/apiv1beta/cespb/.*$ + tag_format: '{id}/v{version}' - id: channel version: 1.21.0 last_generated_commit: 535d161c24965e9ed1a0b27032cc1c8b4beab818 diff --git a/ces/CHANGES.md b/ces/CHANGES.md new file mode 100644 index 000000000000..b671f0bbcdd2 --- /dev/null +++ b/ces/CHANGES.md @@ -0,0 +1 @@ +# Changes diff --git a/ces/README.md b/ces/README.md new file mode 100644 index 000000000000..eb611e876303 --- /dev/null +++ b/ces/README.md @@ -0,0 +1,55 @@ +# Gemini Enterprise for Customer Experience API + +[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/ces.svg)](https://pkg.go.dev/cloud.google.com/go/ces) + +Go Client Library for Gemini Enterprise for Customer Experience API. + +## Install + +```bash +go get cloud.google.com/go/ces +``` + +## Stability + +The stability of this module is indicated by SemVer. + +However, a `v1+` module may have breaking changes in two scenarios: + +* Packages with `alpha` or `beta` in the import path +* The GoDoc has an explicit stability disclaimer (for example, for an experimental feature). + +### Which package to use? + +Generated client library surfaces can be found in packages whose import path +ends in `.../apivXXX`. The `XXX` could be something like `1` or `2` in the case +of a stable service backend or may be like `1beta2` or `2beta` in the case of a +more experimental service backend. Because of this fact, a given module can have +multiple clients for different service backends. In these cases it is generally +recommended to use clients with stable service backends, with import suffixes like +`apiv1`, unless you need to use features that are only present in a beta backend +or there is not yet a stable backend available. + +## Google Cloud Samples + +To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples?l=go). + +## Go Version Support + +See the [Go Versions Supported](https://github.com/googleapis/google-cloud-go#go-versions-supported) +section in the root directory's README. + +## Authorization + +See the [Authorization](https://github.com/googleapis/google-cloud-go#authorization) +section in the root directory's README. + +## Contributing + +Contributions are welcome. Please, see the [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md) +document for details. + +Please note that this project is released with a Contributor Code of Conduct. +By participating in this project you agree to abide by its terms. See +[Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct) +for more information. diff --git a/ces/apiv1beta/.repo-metadata.json b/ces/apiv1beta/.repo-metadata.json new file mode 100644 index 000000000000..1880d85b0f6f --- /dev/null +++ b/ces/apiv1beta/.repo-metadata.json @@ -0,0 +1,10 @@ +{ + "api_shortname": "ces", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/ces/latest/apiv1beta", + "client_library_type": "generated", + "description": "Gemini Enterprise for Customer Experience API", + "distribution_name": "cloud.google.com/go/ces/apiv1beta", + "language": "go", + "library_type": "GAPIC_AUTO", + "release_level": "preview" +} diff --git a/ces/apiv1beta/agent_client.go b/ces/apiv1beta/agent_client.go new file mode 100644 index 000000000000..06eae3e02878 --- /dev/null +++ b/ces/apiv1beta/agent_client.go @@ -0,0 +1,6580 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "bytes" + "context" + "fmt" + "log/slog" + "math" + "net/http" + "net/url" + "time" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newAgentClientHook clientHook + +// AgentCallOptions contains the retry settings for each method of AgentClient. +type AgentCallOptions struct { + ListApps []gax.CallOption + GetApp []gax.CallOption + CreateApp []gax.CallOption + UpdateApp []gax.CallOption + DeleteApp []gax.CallOption + ExportApp []gax.CallOption + ImportApp []gax.CallOption + ListAgents []gax.CallOption + GetAgent []gax.CallOption + CreateAgent []gax.CallOption + UpdateAgent []gax.CallOption + DeleteAgent []gax.CallOption + ListExamples []gax.CallOption + GetExample []gax.CallOption + CreateExample []gax.CallOption + UpdateExample []gax.CallOption + DeleteExample []gax.CallOption + ListTools []gax.CallOption + GetTool []gax.CallOption + ListConversations []gax.CallOption + GetConversation []gax.CallOption + DeleteConversation []gax.CallOption + BatchDeleteConversations []gax.CallOption + CreateTool []gax.CallOption + UpdateTool []gax.CallOption + DeleteTool []gax.CallOption + ListGuardrails []gax.CallOption + GetGuardrail []gax.CallOption + CreateGuardrail []gax.CallOption + UpdateGuardrail []gax.CallOption + DeleteGuardrail []gax.CallOption + ListDeployments []gax.CallOption + GetDeployment []gax.CallOption + CreateDeployment []gax.CallOption + UpdateDeployment []gax.CallOption + DeleteDeployment []gax.CallOption + ListToolsets []gax.CallOption + GetToolset []gax.CallOption + CreateToolset []gax.CallOption + UpdateToolset []gax.CallOption + DeleteToolset []gax.CallOption + ListAppVersions []gax.CallOption + GetAppVersion []gax.CallOption + CreateAppVersion []gax.CallOption + DeleteAppVersion []gax.CallOption + RestoreAppVersion []gax.CallOption + ListChangelogs []gax.CallOption + GetChangelog []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultAgentGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("ces.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("ces.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("ces.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultAgentCallOptions() *AgentCallOptions { + return &AgentCallOptions{ + ListApps: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ExportApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ImportApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListAgents: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListExamples: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListTools: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListConversations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetConversation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteConversation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + BatchDeleteConversations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListGuardrails: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListDeployments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListToolsets: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListAppVersions: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + RestoreAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListChangelogs: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetChangelog: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultAgentRESTCallOptions() *AgentCallOptions { + return &AgentCallOptions{ + ListApps: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ExportApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ImportApp: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListAgents: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteAgent: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListExamples: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteExample: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListTools: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListConversations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetConversation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteConversation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + BatchDeleteConversations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListGuardrails: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteGuardrail: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListDeployments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteDeployment: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListToolsets: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteToolset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListAppVersions: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + RestoreAppVersion: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListChangelogs: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetChangelog: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalAgentClient is an interface that defines the methods available from Gemini Enterprise for Customer Experience API. +type internalAgentClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ListApps(context.Context, *cespb.ListAppsRequest, ...gax.CallOption) *AppIterator + GetApp(context.Context, *cespb.GetAppRequest, ...gax.CallOption) (*cespb.App, error) + CreateApp(context.Context, *cespb.CreateAppRequest, ...gax.CallOption) (*CreateAppOperation, error) + CreateAppOperation(name string) *CreateAppOperation + UpdateApp(context.Context, *cespb.UpdateAppRequest, ...gax.CallOption) (*cespb.App, error) + DeleteApp(context.Context, *cespb.DeleteAppRequest, ...gax.CallOption) (*DeleteAppOperation, error) + DeleteAppOperation(name string) *DeleteAppOperation + ExportApp(context.Context, *cespb.ExportAppRequest, ...gax.CallOption) (*ExportAppOperation, error) + ExportAppOperation(name string) *ExportAppOperation + ImportApp(context.Context, *cespb.ImportAppRequest, ...gax.CallOption) (*ImportAppOperation, error) + ImportAppOperation(name string) *ImportAppOperation + ListAgents(context.Context, *cespb.ListAgentsRequest, ...gax.CallOption) *AgentIterator + GetAgent(context.Context, *cespb.GetAgentRequest, ...gax.CallOption) (*cespb.Agent, error) + CreateAgent(context.Context, *cespb.CreateAgentRequest, ...gax.CallOption) (*cespb.Agent, error) + UpdateAgent(context.Context, *cespb.UpdateAgentRequest, ...gax.CallOption) (*cespb.Agent, error) + DeleteAgent(context.Context, *cespb.DeleteAgentRequest, ...gax.CallOption) error + ListExamples(context.Context, *cespb.ListExamplesRequest, ...gax.CallOption) *ExampleIterator + GetExample(context.Context, *cespb.GetExampleRequest, ...gax.CallOption) (*cespb.Example, error) + CreateExample(context.Context, *cespb.CreateExampleRequest, ...gax.CallOption) (*cespb.Example, error) + UpdateExample(context.Context, *cespb.UpdateExampleRequest, ...gax.CallOption) (*cespb.Example, error) + DeleteExample(context.Context, *cespb.DeleteExampleRequest, ...gax.CallOption) error + ListTools(context.Context, *cespb.ListToolsRequest, ...gax.CallOption) *ToolIterator + GetTool(context.Context, *cespb.GetToolRequest, ...gax.CallOption) (*cespb.Tool, error) + ListConversations(context.Context, *cespb.ListConversationsRequest, ...gax.CallOption) *ConversationIterator + GetConversation(context.Context, *cespb.GetConversationRequest, ...gax.CallOption) (*cespb.Conversation, error) + DeleteConversation(context.Context, *cespb.DeleteConversationRequest, ...gax.CallOption) error + BatchDeleteConversations(context.Context, *cespb.BatchDeleteConversationsRequest, ...gax.CallOption) (*BatchDeleteConversationsOperation, error) + BatchDeleteConversationsOperation(name string) *BatchDeleteConversationsOperation + CreateTool(context.Context, *cespb.CreateToolRequest, ...gax.CallOption) (*cespb.Tool, error) + UpdateTool(context.Context, *cespb.UpdateToolRequest, ...gax.CallOption) (*cespb.Tool, error) + DeleteTool(context.Context, *cespb.DeleteToolRequest, ...gax.CallOption) error + ListGuardrails(context.Context, *cespb.ListGuardrailsRequest, ...gax.CallOption) *GuardrailIterator + GetGuardrail(context.Context, *cespb.GetGuardrailRequest, ...gax.CallOption) (*cespb.Guardrail, error) + CreateGuardrail(context.Context, *cespb.CreateGuardrailRequest, ...gax.CallOption) (*cespb.Guardrail, error) + UpdateGuardrail(context.Context, *cespb.UpdateGuardrailRequest, ...gax.CallOption) (*cespb.Guardrail, error) + DeleteGuardrail(context.Context, *cespb.DeleteGuardrailRequest, ...gax.CallOption) error + ListDeployments(context.Context, *cespb.ListDeploymentsRequest, ...gax.CallOption) *DeploymentIterator + GetDeployment(context.Context, *cespb.GetDeploymentRequest, ...gax.CallOption) (*cespb.Deployment, error) + CreateDeployment(context.Context, *cespb.CreateDeploymentRequest, ...gax.CallOption) (*cespb.Deployment, error) + UpdateDeployment(context.Context, *cespb.UpdateDeploymentRequest, ...gax.CallOption) (*cespb.Deployment, error) + DeleteDeployment(context.Context, *cespb.DeleteDeploymentRequest, ...gax.CallOption) error + ListToolsets(context.Context, *cespb.ListToolsetsRequest, ...gax.CallOption) *ToolsetIterator + GetToolset(context.Context, *cespb.GetToolsetRequest, ...gax.CallOption) (*cespb.Toolset, error) + CreateToolset(context.Context, *cespb.CreateToolsetRequest, ...gax.CallOption) (*cespb.Toolset, error) + UpdateToolset(context.Context, *cespb.UpdateToolsetRequest, ...gax.CallOption) (*cespb.Toolset, error) + DeleteToolset(context.Context, *cespb.DeleteToolsetRequest, ...gax.CallOption) error + ListAppVersions(context.Context, *cespb.ListAppVersionsRequest, ...gax.CallOption) *AppVersionIterator + GetAppVersion(context.Context, *cespb.GetAppVersionRequest, ...gax.CallOption) (*cespb.AppVersion, error) + CreateAppVersion(context.Context, *cespb.CreateAppVersionRequest, ...gax.CallOption) (*cespb.AppVersion, error) + DeleteAppVersion(context.Context, *cespb.DeleteAppVersionRequest, ...gax.CallOption) error + RestoreAppVersion(context.Context, *cespb.RestoreAppVersionRequest, ...gax.CallOption) (*RestoreAppVersionOperation, error) + RestoreAppVersionOperation(name string) *RestoreAppVersionOperation + ListChangelogs(context.Context, *cespb.ListChangelogsRequest, ...gax.CallOption) *ChangelogIterator + GetChangelog(context.Context, *cespb.GetChangelogRequest, ...gax.CallOption) (*cespb.Changelog, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// AgentClient is a client for interacting with Gemini Enterprise for Customer Experience API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// The service that manages agent-related resources in Gemini Enterprise for +// Customer Engagement (CES). +type AgentClient struct { + // The internal transport-dependent client. + internalClient internalAgentClient + + // The call options for this service. + CallOptions *AgentCallOptions + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *AgentClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *AgentClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *AgentClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ListApps lists apps in the given project and location. +func (c *AgentClient) ListApps(ctx context.Context, req *cespb.ListAppsRequest, opts ...gax.CallOption) *AppIterator { + return c.internalClient.ListApps(ctx, req, opts...) +} + +// GetApp gets details of the specified app. +func (c *AgentClient) GetApp(ctx context.Context, req *cespb.GetAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + return c.internalClient.GetApp(ctx, req, opts...) +} + +// CreateApp creates a new app in the given project and location. +func (c *AgentClient) CreateApp(ctx context.Context, req *cespb.CreateAppRequest, opts ...gax.CallOption) (*CreateAppOperation, error) { + return c.internalClient.CreateApp(ctx, req, opts...) +} + +// CreateAppOperation returns a new CreateAppOperation from a given name. +// The name must be that of a previously created CreateAppOperation, possibly from a different process. +func (c *AgentClient) CreateAppOperation(name string) *CreateAppOperation { + return c.internalClient.CreateAppOperation(name) +} + +// UpdateApp updates the specified app. +func (c *AgentClient) UpdateApp(ctx context.Context, req *cespb.UpdateAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + return c.internalClient.UpdateApp(ctx, req, opts...) +} + +// DeleteApp deletes the specified app. +func (c *AgentClient) DeleteApp(ctx context.Context, req *cespb.DeleteAppRequest, opts ...gax.CallOption) (*DeleteAppOperation, error) { + return c.internalClient.DeleteApp(ctx, req, opts...) +} + +// DeleteAppOperation returns a new DeleteAppOperation from a given name. +// The name must be that of a previously created DeleteAppOperation, possibly from a different process. +func (c *AgentClient) DeleteAppOperation(name string) *DeleteAppOperation { + return c.internalClient.DeleteAppOperation(name) +} + +// ExportApp exports the specified app. +func (c *AgentClient) ExportApp(ctx context.Context, req *cespb.ExportAppRequest, opts ...gax.CallOption) (*ExportAppOperation, error) { + return c.internalClient.ExportApp(ctx, req, opts...) +} + +// ExportAppOperation returns a new ExportAppOperation from a given name. +// The name must be that of a previously created ExportAppOperation, possibly from a different process. +func (c *AgentClient) ExportAppOperation(name string) *ExportAppOperation { + return c.internalClient.ExportAppOperation(name) +} + +// ImportApp imports the specified app. +func (c *AgentClient) ImportApp(ctx context.Context, req *cespb.ImportAppRequest, opts ...gax.CallOption) (*ImportAppOperation, error) { + return c.internalClient.ImportApp(ctx, req, opts...) +} + +// ImportAppOperation returns a new ImportAppOperation from a given name. +// The name must be that of a previously created ImportAppOperation, possibly from a different process. +func (c *AgentClient) ImportAppOperation(name string) *ImportAppOperation { + return c.internalClient.ImportAppOperation(name) +} + +// ListAgents lists agents in the given app. +func (c *AgentClient) ListAgents(ctx context.Context, req *cespb.ListAgentsRequest, opts ...gax.CallOption) *AgentIterator { + return c.internalClient.ListAgents(ctx, req, opts...) +} + +// GetAgent gets details of the specified agent. +func (c *AgentClient) GetAgent(ctx context.Context, req *cespb.GetAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + return c.internalClient.GetAgent(ctx, req, opts...) +} + +// CreateAgent creates a new agent in the given app. +func (c *AgentClient) CreateAgent(ctx context.Context, req *cespb.CreateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + return c.internalClient.CreateAgent(ctx, req, opts...) +} + +// UpdateAgent updates the specified agent. +func (c *AgentClient) UpdateAgent(ctx context.Context, req *cespb.UpdateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + return c.internalClient.UpdateAgent(ctx, req, opts...) +} + +// DeleteAgent deletes the specified agent. +func (c *AgentClient) DeleteAgent(ctx context.Context, req *cespb.DeleteAgentRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteAgent(ctx, req, opts...) +} + +// ListExamples lists examples in the given app. +func (c *AgentClient) ListExamples(ctx context.Context, req *cespb.ListExamplesRequest, opts ...gax.CallOption) *ExampleIterator { + return c.internalClient.ListExamples(ctx, req, opts...) +} + +// GetExample gets details of the specified example. +func (c *AgentClient) GetExample(ctx context.Context, req *cespb.GetExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + return c.internalClient.GetExample(ctx, req, opts...) +} + +// CreateExample creates a new example in the given app. +func (c *AgentClient) CreateExample(ctx context.Context, req *cespb.CreateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + return c.internalClient.CreateExample(ctx, req, opts...) +} + +// UpdateExample updates the specified example. +func (c *AgentClient) UpdateExample(ctx context.Context, req *cespb.UpdateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + return c.internalClient.UpdateExample(ctx, req, opts...) +} + +// DeleteExample deletes the specified example. +func (c *AgentClient) DeleteExample(ctx context.Context, req *cespb.DeleteExampleRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteExample(ctx, req, opts...) +} + +// ListTools lists tools in the given app. +func (c *AgentClient) ListTools(ctx context.Context, req *cespb.ListToolsRequest, opts ...gax.CallOption) *ToolIterator { + return c.internalClient.ListTools(ctx, req, opts...) +} + +// GetTool gets details of the specified tool. +func (c *AgentClient) GetTool(ctx context.Context, req *cespb.GetToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + return c.internalClient.GetTool(ctx, req, opts...) +} + +// ListConversations lists conversations in the given app. +func (c *AgentClient) ListConversations(ctx context.Context, req *cespb.ListConversationsRequest, opts ...gax.CallOption) *ConversationIterator { + return c.internalClient.ListConversations(ctx, req, opts...) +} + +// GetConversation gets details of the specified conversation. +func (c *AgentClient) GetConversation(ctx context.Context, req *cespb.GetConversationRequest, opts ...gax.CallOption) (*cespb.Conversation, error) { + return c.internalClient.GetConversation(ctx, req, opts...) +} + +// DeleteConversation deletes the specified conversation. +func (c *AgentClient) DeleteConversation(ctx context.Context, req *cespb.DeleteConversationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteConversation(ctx, req, opts...) +} + +// BatchDeleteConversations batch deletes the specified conversations. +func (c *AgentClient) BatchDeleteConversations(ctx context.Context, req *cespb.BatchDeleteConversationsRequest, opts ...gax.CallOption) (*BatchDeleteConversationsOperation, error) { + return c.internalClient.BatchDeleteConversations(ctx, req, opts...) +} + +// BatchDeleteConversationsOperation returns a new BatchDeleteConversationsOperation from a given name. +// The name must be that of a previously created BatchDeleteConversationsOperation, possibly from a different process. +func (c *AgentClient) BatchDeleteConversationsOperation(name string) *BatchDeleteConversationsOperation { + return c.internalClient.BatchDeleteConversationsOperation(name) +} + +// CreateTool creates a new tool in the given app. +func (c *AgentClient) CreateTool(ctx context.Context, req *cespb.CreateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + return c.internalClient.CreateTool(ctx, req, opts...) +} + +// UpdateTool updates the specified tool. +func (c *AgentClient) UpdateTool(ctx context.Context, req *cespb.UpdateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + return c.internalClient.UpdateTool(ctx, req, opts...) +} + +// DeleteTool deletes the specified tool. +func (c *AgentClient) DeleteTool(ctx context.Context, req *cespb.DeleteToolRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteTool(ctx, req, opts...) +} + +// ListGuardrails lists guardrails in the given app. +func (c *AgentClient) ListGuardrails(ctx context.Context, req *cespb.ListGuardrailsRequest, opts ...gax.CallOption) *GuardrailIterator { + return c.internalClient.ListGuardrails(ctx, req, opts...) +} + +// GetGuardrail gets details of the specified guardrail. +func (c *AgentClient) GetGuardrail(ctx context.Context, req *cespb.GetGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + return c.internalClient.GetGuardrail(ctx, req, opts...) +} + +// CreateGuardrail creates a new guardrail in the given app. +func (c *AgentClient) CreateGuardrail(ctx context.Context, req *cespb.CreateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + return c.internalClient.CreateGuardrail(ctx, req, opts...) +} + +// UpdateGuardrail updates the specified guardrail. +func (c *AgentClient) UpdateGuardrail(ctx context.Context, req *cespb.UpdateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + return c.internalClient.UpdateGuardrail(ctx, req, opts...) +} + +// DeleteGuardrail deletes the specified guardrail. +func (c *AgentClient) DeleteGuardrail(ctx context.Context, req *cespb.DeleteGuardrailRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteGuardrail(ctx, req, opts...) +} + +// ListDeployments lists deployments in the given app. +func (c *AgentClient) ListDeployments(ctx context.Context, req *cespb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + return c.internalClient.ListDeployments(ctx, req, opts...) +} + +// GetDeployment gets details of the specified deployment. +func (c *AgentClient) GetDeployment(ctx context.Context, req *cespb.GetDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + return c.internalClient.GetDeployment(ctx, req, opts...) +} + +// CreateDeployment creates a new deployment in the given app. +func (c *AgentClient) CreateDeployment(ctx context.Context, req *cespb.CreateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + return c.internalClient.CreateDeployment(ctx, req, opts...) +} + +// UpdateDeployment updates the specified deployment. +func (c *AgentClient) UpdateDeployment(ctx context.Context, req *cespb.UpdateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + return c.internalClient.UpdateDeployment(ctx, req, opts...) +} + +// DeleteDeployment deletes the specified deployment. +func (c *AgentClient) DeleteDeployment(ctx context.Context, req *cespb.DeleteDeploymentRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteDeployment(ctx, req, opts...) +} + +// ListToolsets lists toolsets in the given app. +func (c *AgentClient) ListToolsets(ctx context.Context, req *cespb.ListToolsetsRequest, opts ...gax.CallOption) *ToolsetIterator { + return c.internalClient.ListToolsets(ctx, req, opts...) +} + +// GetToolset gets details of the specified toolset. +func (c *AgentClient) GetToolset(ctx context.Context, req *cespb.GetToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + return c.internalClient.GetToolset(ctx, req, opts...) +} + +// CreateToolset creates a new toolset in the given app. +func (c *AgentClient) CreateToolset(ctx context.Context, req *cespb.CreateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + return c.internalClient.CreateToolset(ctx, req, opts...) +} + +// UpdateToolset updates the specified toolset. +func (c *AgentClient) UpdateToolset(ctx context.Context, req *cespb.UpdateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + return c.internalClient.UpdateToolset(ctx, req, opts...) +} + +// DeleteToolset deletes the specified toolset. +func (c *AgentClient) DeleteToolset(ctx context.Context, req *cespb.DeleteToolsetRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteToolset(ctx, req, opts...) +} + +// ListAppVersions lists all app versions in the given app. +func (c *AgentClient) ListAppVersions(ctx context.Context, req *cespb.ListAppVersionsRequest, opts ...gax.CallOption) *AppVersionIterator { + return c.internalClient.ListAppVersions(ctx, req, opts...) +} + +// GetAppVersion gets details of the specified app version. +func (c *AgentClient) GetAppVersion(ctx context.Context, req *cespb.GetAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + return c.internalClient.GetAppVersion(ctx, req, opts...) +} + +// CreateAppVersion creates a new app version in the given app. +func (c *AgentClient) CreateAppVersion(ctx context.Context, req *cespb.CreateAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + return c.internalClient.CreateAppVersion(ctx, req, opts...) +} + +// DeleteAppVersion deletes the specified app version. +func (c *AgentClient) DeleteAppVersion(ctx context.Context, req *cespb.DeleteAppVersionRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteAppVersion(ctx, req, opts...) +} + +// RestoreAppVersion restores the specified app version. +// This will create a new app version from the current draft app and overwrite +// the current draft with the specified app version. +func (c *AgentClient) RestoreAppVersion(ctx context.Context, req *cespb.RestoreAppVersionRequest, opts ...gax.CallOption) (*RestoreAppVersionOperation, error) { + return c.internalClient.RestoreAppVersion(ctx, req, opts...) +} + +// RestoreAppVersionOperation returns a new RestoreAppVersionOperation from a given name. +// The name must be that of a previously created RestoreAppVersionOperation, possibly from a different process. +func (c *AgentClient) RestoreAppVersionOperation(name string) *RestoreAppVersionOperation { + return c.internalClient.RestoreAppVersionOperation(name) +} + +// ListChangelogs lists the changelogs of the specified app. +func (c *AgentClient) ListChangelogs(ctx context.Context, req *cespb.ListChangelogsRequest, opts ...gax.CallOption) *ChangelogIterator { + return c.internalClient.ListChangelogs(ctx, req, opts...) +} + +// GetChangelog gets the specified changelog. +func (c *AgentClient) GetChangelog(ctx context.Context, req *cespb.GetChangelogRequest, opts ...gax.CallOption) (*cespb.Changelog, error) { + return c.internalClient.GetChangelog(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *AgentClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *AgentClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *AgentClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *AgentClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *AgentClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *AgentClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// agentGRPCClient is a client for interacting with Gemini Enterprise for Customer Experience API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type agentGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing AgentClient + CallOptions **AgentCallOptions + + // The gRPC API client. + agentClient cespb.AgentServiceClient + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string + + logger *slog.Logger +} + +// NewAgentClient creates a new agent service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// The service that manages agent-related resources in Gemini Enterprise for +// Customer Engagement (CES). +func NewAgentClient(ctx context.Context, opts ...option.ClientOption) (*AgentClient, error) { + clientOpts := defaultAgentGRPCClientOptions() + if newAgentClientHook != nil { + hookOpts, err := newAgentClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := AgentClient{CallOptions: defaultAgentCallOptions()} + + c := &agentGRPCClient{ + connPool: connPool, + agentClient: cespb.NewAgentServiceClient(connPool), + CallOptions: &client.CallOptions, + logger: internaloption.GetLogger(opts), + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool)) + if err != nil { + // This error "should not happen", since we are just reusing old connection pool + // and never actually need to dial. + // If this does happen, we could leak connp. However, we cannot close conn: + // If the user invoked the constructor with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO: investigate error conditions. + return nil, err + } + c.LROClient = &client.LROClient + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *agentGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *agentGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *agentGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type agentRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing AgentClient + CallOptions **AgentCallOptions + + logger *slog.Logger +} + +// NewAgentRESTClient creates a new agent service rest client. +// +// The service that manages agent-related resources in Gemini Enterprise for +// Customer Engagement (CES). +func NewAgentRESTClient(ctx context.Context, opts ...option.ClientOption) (*AgentClient, error) { + clientOpts := append(defaultAgentRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultAgentRESTCallOptions() + c := &agentRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + logger: internaloption.GetLogger(opts), + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &AgentClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultAgentRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://ces.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://ces.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://ces.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *agentRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *agentRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *agentRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *agentGRPCClient) ListApps(ctx context.Context, req *cespb.ListAppsRequest, opts ...gax.CallOption) *AppIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListApps[0:len((*c.CallOptions).ListApps):len((*c.CallOptions).ListApps)], opts...) + it := &AppIterator{} + req = proto.Clone(req).(*cespb.ListAppsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.App, string, error) { + resp := &cespb.ListAppsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListApps, req, settings.GRPC, c.logger, "ListApps") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetApps(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetApp(ctx context.Context, req *cespb.GetAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetApp[0:len((*c.CallOptions).GetApp):len((*c.CallOptions).GetApp)], opts...) + var resp *cespb.App + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetApp, req, settings.GRPC, c.logger, "GetApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateApp(ctx context.Context, req *cespb.CreateAppRequest, opts ...gax.CallOption) (*CreateAppOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateApp[0:len((*c.CallOptions).CreateApp):len((*c.CallOptions).CreateApp)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateApp, req, settings.GRPC, c.logger, "CreateApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) UpdateApp(ctx context.Context, req *cespb.UpdateAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app.name", url.QueryEscape(req.GetApp().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateApp[0:len((*c.CallOptions).UpdateApp):len((*c.CallOptions).UpdateApp)], opts...) + var resp *cespb.App + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateApp, req, settings.GRPC, c.logger, "UpdateApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteApp(ctx context.Context, req *cespb.DeleteAppRequest, opts ...gax.CallOption) (*DeleteAppOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteApp[0:len((*c.CallOptions).DeleteApp):len((*c.CallOptions).DeleteApp)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.DeleteApp, req, settings.GRPC, c.logger, "DeleteApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) ExportApp(ctx context.Context, req *cespb.ExportAppRequest, opts ...gax.CallOption) (*ExportAppOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ExportApp[0:len((*c.CallOptions).ExportApp):len((*c.CallOptions).ExportApp)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ExportApp, req, settings.GRPC, c.logger, "ExportApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return &ExportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) ImportApp(ctx context.Context, req *cespb.ImportAppRequest, opts ...gax.CallOption) (*ImportAppOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ImportApp[0:len((*c.CallOptions).ImportApp):len((*c.CallOptions).ImportApp)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ImportApp, req, settings.GRPC, c.logger, "ImportApp") + return err + }, opts...) + if err != nil { + return nil, err + } + return &ImportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) ListAgents(ctx context.Context, req *cespb.ListAgentsRequest, opts ...gax.CallOption) *AgentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListAgents[0:len((*c.CallOptions).ListAgents):len((*c.CallOptions).ListAgents)], opts...) + it := &AgentIterator{} + req = proto.Clone(req).(*cespb.ListAgentsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Agent, string, error) { + resp := &cespb.ListAgentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListAgents, req, settings.GRPC, c.logger, "ListAgents") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetAgents(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetAgent(ctx context.Context, req *cespb.GetAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetAgent[0:len((*c.CallOptions).GetAgent):len((*c.CallOptions).GetAgent)], opts...) + var resp *cespb.Agent + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetAgent, req, settings.GRPC, c.logger, "GetAgent") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateAgent(ctx context.Context, req *cespb.CreateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateAgent[0:len((*c.CallOptions).CreateAgent):len((*c.CallOptions).CreateAgent)], opts...) + var resp *cespb.Agent + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateAgent, req, settings.GRPC, c.logger, "CreateAgent") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateAgent(ctx context.Context, req *cespb.UpdateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "agent.name", url.QueryEscape(req.GetAgent().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateAgent[0:len((*c.CallOptions).UpdateAgent):len((*c.CallOptions).UpdateAgent)], opts...) + var resp *cespb.Agent + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateAgent, req, settings.GRPC, c.logger, "UpdateAgent") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteAgent(ctx context.Context, req *cespb.DeleteAgentRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteAgent[0:len((*c.CallOptions).DeleteAgent):len((*c.CallOptions).DeleteAgent)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteAgent, req, settings.GRPC, c.logger, "DeleteAgent") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListExamples(ctx context.Context, req *cespb.ListExamplesRequest, opts ...gax.CallOption) *ExampleIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListExamples[0:len((*c.CallOptions).ListExamples):len((*c.CallOptions).ListExamples)], opts...) + it := &ExampleIterator{} + req = proto.Clone(req).(*cespb.ListExamplesRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Example, string, error) { + resp := &cespb.ListExamplesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListExamples, req, settings.GRPC, c.logger, "ListExamples") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetExamples(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetExample(ctx context.Context, req *cespb.GetExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetExample[0:len((*c.CallOptions).GetExample):len((*c.CallOptions).GetExample)], opts...) + var resp *cespb.Example + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetExample, req, settings.GRPC, c.logger, "GetExample") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateExample(ctx context.Context, req *cespb.CreateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateExample[0:len((*c.CallOptions).CreateExample):len((*c.CallOptions).CreateExample)], opts...) + var resp *cespb.Example + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateExample, req, settings.GRPC, c.logger, "CreateExample") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateExample(ctx context.Context, req *cespb.UpdateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "example.name", url.QueryEscape(req.GetExample().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateExample[0:len((*c.CallOptions).UpdateExample):len((*c.CallOptions).UpdateExample)], opts...) + var resp *cespb.Example + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateExample, req, settings.GRPC, c.logger, "UpdateExample") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteExample(ctx context.Context, req *cespb.DeleteExampleRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteExample[0:len((*c.CallOptions).DeleteExample):len((*c.CallOptions).DeleteExample)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteExample, req, settings.GRPC, c.logger, "DeleteExample") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListTools(ctx context.Context, req *cespb.ListToolsRequest, opts ...gax.CallOption) *ToolIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListTools[0:len((*c.CallOptions).ListTools):len((*c.CallOptions).ListTools)], opts...) + it := &ToolIterator{} + req = proto.Clone(req).(*cespb.ListToolsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Tool, string, error) { + resp := &cespb.ListToolsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListTools, req, settings.GRPC, c.logger, "ListTools") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetTools(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetTool(ctx context.Context, req *cespb.GetToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetTool[0:len((*c.CallOptions).GetTool):len((*c.CallOptions).GetTool)], opts...) + var resp *cespb.Tool + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetTool, req, settings.GRPC, c.logger, "GetTool") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) ListConversations(ctx context.Context, req *cespb.ListConversationsRequest, opts ...gax.CallOption) *ConversationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListConversations[0:len((*c.CallOptions).ListConversations):len((*c.CallOptions).ListConversations)], opts...) + it := &ConversationIterator{} + req = proto.Clone(req).(*cespb.ListConversationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Conversation, string, error) { + resp := &cespb.ListConversationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListConversations, req, settings.GRPC, c.logger, "ListConversations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetConversations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetConversation(ctx context.Context, req *cespb.GetConversationRequest, opts ...gax.CallOption) (*cespb.Conversation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetConversation[0:len((*c.CallOptions).GetConversation):len((*c.CallOptions).GetConversation)], opts...) + var resp *cespb.Conversation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetConversation, req, settings.GRPC, c.logger, "GetConversation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteConversation(ctx context.Context, req *cespb.DeleteConversationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteConversation[0:len((*c.CallOptions).DeleteConversation):len((*c.CallOptions).DeleteConversation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteConversation, req, settings.GRPC, c.logger, "DeleteConversation") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) BatchDeleteConversations(ctx context.Context, req *cespb.BatchDeleteConversationsRequest, opts ...gax.CallOption) (*BatchDeleteConversationsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).BatchDeleteConversations[0:len((*c.CallOptions).BatchDeleteConversations):len((*c.CallOptions).BatchDeleteConversations)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.BatchDeleteConversations, req, settings.GRPC, c.logger, "BatchDeleteConversations") + return err + }, opts...) + if err != nil { + return nil, err + } + return &BatchDeleteConversationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) CreateTool(ctx context.Context, req *cespb.CreateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateTool[0:len((*c.CallOptions).CreateTool):len((*c.CallOptions).CreateTool)], opts...) + var resp *cespb.Tool + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateTool, req, settings.GRPC, c.logger, "CreateTool") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateTool(ctx context.Context, req *cespb.UpdateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "tool.name", url.QueryEscape(req.GetTool().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateTool[0:len((*c.CallOptions).UpdateTool):len((*c.CallOptions).UpdateTool)], opts...) + var resp *cespb.Tool + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateTool, req, settings.GRPC, c.logger, "UpdateTool") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteTool(ctx context.Context, req *cespb.DeleteToolRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteTool[0:len((*c.CallOptions).DeleteTool):len((*c.CallOptions).DeleteTool)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteTool, req, settings.GRPC, c.logger, "DeleteTool") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListGuardrails(ctx context.Context, req *cespb.ListGuardrailsRequest, opts ...gax.CallOption) *GuardrailIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListGuardrails[0:len((*c.CallOptions).ListGuardrails):len((*c.CallOptions).ListGuardrails)], opts...) + it := &GuardrailIterator{} + req = proto.Clone(req).(*cespb.ListGuardrailsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Guardrail, string, error) { + resp := &cespb.ListGuardrailsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListGuardrails, req, settings.GRPC, c.logger, "ListGuardrails") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetGuardrails(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetGuardrail(ctx context.Context, req *cespb.GetGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetGuardrail[0:len((*c.CallOptions).GetGuardrail):len((*c.CallOptions).GetGuardrail)], opts...) + var resp *cespb.Guardrail + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetGuardrail, req, settings.GRPC, c.logger, "GetGuardrail") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateGuardrail(ctx context.Context, req *cespb.CreateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateGuardrail[0:len((*c.CallOptions).CreateGuardrail):len((*c.CallOptions).CreateGuardrail)], opts...) + var resp *cespb.Guardrail + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateGuardrail, req, settings.GRPC, c.logger, "CreateGuardrail") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateGuardrail(ctx context.Context, req *cespb.UpdateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "guardrail.name", url.QueryEscape(req.GetGuardrail().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateGuardrail[0:len((*c.CallOptions).UpdateGuardrail):len((*c.CallOptions).UpdateGuardrail)], opts...) + var resp *cespb.Guardrail + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateGuardrail, req, settings.GRPC, c.logger, "UpdateGuardrail") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteGuardrail(ctx context.Context, req *cespb.DeleteGuardrailRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteGuardrail[0:len((*c.CallOptions).DeleteGuardrail):len((*c.CallOptions).DeleteGuardrail)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteGuardrail, req, settings.GRPC, c.logger, "DeleteGuardrail") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListDeployments(ctx context.Context, req *cespb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListDeployments[0:len((*c.CallOptions).ListDeployments):len((*c.CallOptions).ListDeployments)], opts...) + it := &DeploymentIterator{} + req = proto.Clone(req).(*cespb.ListDeploymentsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Deployment, string, error) { + resp := &cespb.ListDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListDeployments, req, settings.GRPC, c.logger, "ListDeployments") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetDeployment(ctx context.Context, req *cespb.GetDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetDeployment[0:len((*c.CallOptions).GetDeployment):len((*c.CallOptions).GetDeployment)], opts...) + var resp *cespb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetDeployment, req, settings.GRPC, c.logger, "GetDeployment") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateDeployment(ctx context.Context, req *cespb.CreateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateDeployment[0:len((*c.CallOptions).CreateDeployment):len((*c.CallOptions).CreateDeployment)], opts...) + var resp *cespb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateDeployment, req, settings.GRPC, c.logger, "CreateDeployment") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateDeployment(ctx context.Context, req *cespb.UpdateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "deployment.name", url.QueryEscape(req.GetDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateDeployment[0:len((*c.CallOptions).UpdateDeployment):len((*c.CallOptions).UpdateDeployment)], opts...) + var resp *cespb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateDeployment, req, settings.GRPC, c.logger, "UpdateDeployment") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteDeployment(ctx context.Context, req *cespb.DeleteDeploymentRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteDeployment[0:len((*c.CallOptions).DeleteDeployment):len((*c.CallOptions).DeleteDeployment)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteDeployment, req, settings.GRPC, c.logger, "DeleteDeployment") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListToolsets(ctx context.Context, req *cespb.ListToolsetsRequest, opts ...gax.CallOption) *ToolsetIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListToolsets[0:len((*c.CallOptions).ListToolsets):len((*c.CallOptions).ListToolsets)], opts...) + it := &ToolsetIterator{} + req = proto.Clone(req).(*cespb.ListToolsetsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Toolset, string, error) { + resp := &cespb.ListToolsetsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListToolsets, req, settings.GRPC, c.logger, "ListToolsets") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetToolsets(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetToolset(ctx context.Context, req *cespb.GetToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetToolset[0:len((*c.CallOptions).GetToolset):len((*c.CallOptions).GetToolset)], opts...) + var resp *cespb.Toolset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetToolset, req, settings.GRPC, c.logger, "GetToolset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateToolset(ctx context.Context, req *cespb.CreateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateToolset[0:len((*c.CallOptions).CreateToolset):len((*c.CallOptions).CreateToolset)], opts...) + var resp *cespb.Toolset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateToolset, req, settings.GRPC, c.logger, "CreateToolset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) UpdateToolset(ctx context.Context, req *cespb.UpdateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "toolset.name", url.QueryEscape(req.GetToolset().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateToolset[0:len((*c.CallOptions).UpdateToolset):len((*c.CallOptions).UpdateToolset)], opts...) + var resp *cespb.Toolset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.UpdateToolset, req, settings.GRPC, c.logger, "UpdateToolset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteToolset(ctx context.Context, req *cespb.DeleteToolsetRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteToolset[0:len((*c.CallOptions).DeleteToolset):len((*c.CallOptions).DeleteToolset)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteToolset, req, settings.GRPC, c.logger, "DeleteToolset") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) ListAppVersions(ctx context.Context, req *cespb.ListAppVersionsRequest, opts ...gax.CallOption) *AppVersionIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListAppVersions[0:len((*c.CallOptions).ListAppVersions):len((*c.CallOptions).ListAppVersions)], opts...) + it := &AppVersionIterator{} + req = proto.Clone(req).(*cespb.ListAppVersionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.AppVersion, string, error) { + resp := &cespb.ListAppVersionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListAppVersions, req, settings.GRPC, c.logger, "ListAppVersions") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetAppVersions(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetAppVersion(ctx context.Context, req *cespb.GetAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetAppVersion[0:len((*c.CallOptions).GetAppVersion):len((*c.CallOptions).GetAppVersion)], opts...) + var resp *cespb.AppVersion + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetAppVersion, req, settings.GRPC, c.logger, "GetAppVersion") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) CreateAppVersion(ctx context.Context, req *cespb.CreateAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateAppVersion[0:len((*c.CallOptions).CreateAppVersion):len((*c.CallOptions).CreateAppVersion)], opts...) + var resp *cespb.AppVersion + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.CreateAppVersion, req, settings.GRPC, c.logger, "CreateAppVersion") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) DeleteAppVersion(ctx context.Context, req *cespb.DeleteAppVersionRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteAppVersion[0:len((*c.CallOptions).DeleteAppVersion):len((*c.CallOptions).DeleteAppVersion)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.agentClient.DeleteAppVersion, req, settings.GRPC, c.logger, "DeleteAppVersion") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) RestoreAppVersion(ctx context.Context, req *cespb.RestoreAppVersionRequest, opts ...gax.CallOption) (*RestoreAppVersionOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RestoreAppVersion[0:len((*c.CallOptions).RestoreAppVersion):len((*c.CallOptions).RestoreAppVersion)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.RestoreAppVersion, req, settings.GRPC, c.logger, "RestoreAppVersion") + return err + }, opts...) + if err != nil { + return nil, err + } + return &RestoreAppVersionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *agentGRPCClient) ListChangelogs(ctx context.Context, req *cespb.ListChangelogsRequest, opts ...gax.CallOption) *ChangelogIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListChangelogs[0:len((*c.CallOptions).ListChangelogs):len((*c.CallOptions).ListChangelogs)], opts...) + it := &ChangelogIterator{} + req = proto.Clone(req).(*cespb.ListChangelogsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Changelog, string, error) { + resp := &cespb.ListChangelogsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.ListChangelogs, req, settings.GRPC, c.logger, "ListChangelogs") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetChangelogs(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) GetChangelog(ctx context.Context, req *cespb.GetChangelogRequest, opts ...gax.CallOption) (*cespb.Changelog, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetChangelog[0:len((*c.CallOptions).GetChangelog):len((*c.CallOptions).GetChangelog)], opts...) + var resp *cespb.Changelog + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.agentClient.GetChangelog, req, settings.GRPC, c.logger, "GetChangelog") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *agentGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation") + return err + }, opts...) + return err +} + +func (c *agentGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *agentGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListApps lists apps in the given project and location. +func (c *agentRESTClient) ListApps(ctx context.Context, req *cespb.ListAppsRequest, opts ...gax.CallOption) *AppIterator { + it := &AppIterator{} + req = proto.Clone(req).(*cespb.ListAppsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.App, string, error) { + resp := &cespb.ListAppsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/apps", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListApps") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetApps(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetApp gets details of the specified app. +func (c *agentRESTClient) GetApp(ctx context.Context, req *cespb.GetAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetApp[0:len((*c.CallOptions).GetApp):len((*c.CallOptions).GetApp)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.App{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetApp") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateApp creates a new app in the given project and location. +func (c *agentRESTClient) CreateApp(ctx context.Context, req *cespb.CreateAppRequest, opts ...gax.CallOption) (*CreateAppOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetApp() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/apps", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAppId() != "" { + params.Add("appId", fmt.Sprintf("%v", req.GetAppId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateApp") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &CreateAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UpdateApp updates the specified app. +func (c *agentRESTClient) UpdateApp(ctx context.Context, req *cespb.UpdateAppRequest, opts ...gax.CallOption) (*cespb.App, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetApp() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetApp().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app.name", url.QueryEscape(req.GetApp().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateApp[0:len((*c.CallOptions).UpdateApp):len((*c.CallOptions).UpdateApp)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.App{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateApp") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteApp deletes the specified app. +func (c *agentRESTClient) DeleteApp(ctx context.Context, req *cespb.DeleteAppRequest, opts ...gax.CallOption) (*DeleteAppOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteApp") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &DeleteAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ExportApp exports the specified app. +func (c *agentRESTClient) ExportApp(ctx context.Context, req *cespb.ExportAppRequest, opts ...gax.CallOption) (*ExportAppOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:exportApp", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "ExportApp") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &ExportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ImportApp imports the specified app. +func (c *agentRESTClient) ImportApp(ctx context.Context, req *cespb.ImportAppRequest, opts ...gax.CallOption) (*ImportAppOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/apps:importApp", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "ImportApp") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &ImportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListAgents lists agents in the given app. +func (c *agentRESTClient) ListAgents(ctx context.Context, req *cespb.ListAgentsRequest, opts ...gax.CallOption) *AgentIterator { + it := &AgentIterator{} + req = proto.Clone(req).(*cespb.ListAgentsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Agent, string, error) { + resp := &cespb.ListAgentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/agents", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListAgents") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetAgents(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetAgent gets details of the specified agent. +func (c *agentRESTClient) GetAgent(ctx context.Context, req *cespb.GetAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetAgent[0:len((*c.CallOptions).GetAgent):len((*c.CallOptions).GetAgent)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Agent{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetAgent") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateAgent creates a new agent in the given app. +func (c *agentRESTClient) CreateAgent(ctx context.Context, req *cespb.CreateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetAgent() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/agents", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAgentId() != "" { + params.Add("agentId", fmt.Sprintf("%v", req.GetAgentId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateAgent[0:len((*c.CallOptions).CreateAgent):len((*c.CallOptions).CreateAgent)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Agent{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateAgent") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateAgent updates the specified agent. +func (c *agentRESTClient) UpdateAgent(ctx context.Context, req *cespb.UpdateAgentRequest, opts ...gax.CallOption) (*cespb.Agent, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetAgent() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetAgent().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "agent.name", url.QueryEscape(req.GetAgent().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateAgent[0:len((*c.CallOptions).UpdateAgent):len((*c.CallOptions).UpdateAgent)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Agent{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateAgent") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteAgent deletes the specified agent. +func (c *agentRESTClient) DeleteAgent(ctx context.Context, req *cespb.DeleteAgentRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteAgent") + return err + }, opts...) +} + +// ListExamples lists examples in the given app. +func (c *agentRESTClient) ListExamples(ctx context.Context, req *cespb.ListExamplesRequest, opts ...gax.CallOption) *ExampleIterator { + it := &ExampleIterator{} + req = proto.Clone(req).(*cespb.ListExamplesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Example, string, error) { + resp := &cespb.ListExamplesResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/examples", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListExamples") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetExamples(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetExample gets details of the specified example. +func (c *agentRESTClient) GetExample(ctx context.Context, req *cespb.GetExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetExample[0:len((*c.CallOptions).GetExample):len((*c.CallOptions).GetExample)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Example{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetExample") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateExample creates a new example in the given app. +func (c *agentRESTClient) CreateExample(ctx context.Context, req *cespb.CreateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExample() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/examples", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetExampleId() != "" { + params.Add("exampleId", fmt.Sprintf("%v", req.GetExampleId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateExample[0:len((*c.CallOptions).CreateExample):len((*c.CallOptions).CreateExample)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Example{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateExample") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateExample updates the specified example. +func (c *agentRESTClient) UpdateExample(ctx context.Context, req *cespb.UpdateExampleRequest, opts ...gax.CallOption) (*cespb.Example, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetExample() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetExample().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "example.name", url.QueryEscape(req.GetExample().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateExample[0:len((*c.CallOptions).UpdateExample):len((*c.CallOptions).UpdateExample)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Example{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateExample") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteExample deletes the specified example. +func (c *agentRESTClient) DeleteExample(ctx context.Context, req *cespb.DeleteExampleRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteExample") + return err + }, opts...) +} + +// ListTools lists tools in the given app. +func (c *agentRESTClient) ListTools(ctx context.Context, req *cespb.ListToolsRequest, opts ...gax.CallOption) *ToolIterator { + it := &ToolIterator{} + req = proto.Clone(req).(*cespb.ListToolsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Tool, string, error) { + resp := &cespb.ListToolsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/tools", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListTools") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetTools(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetTool gets details of the specified tool. +func (c *agentRESTClient) GetTool(ctx context.Context, req *cespb.GetToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetTool[0:len((*c.CallOptions).GetTool):len((*c.CallOptions).GetTool)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Tool{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetTool") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListConversations lists conversations in the given app. +func (c *agentRESTClient) ListConversations(ctx context.Context, req *cespb.ListConversationsRequest, opts ...gax.CallOption) *ConversationIterator { + it := &ConversationIterator{} + req = proto.Clone(req).(*cespb.ListConversationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Conversation, string, error) { + resp := &cespb.ListConversationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/conversations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetSource() != 0 { + params.Add("source", fmt.Sprintf("%v", req.GetSource())) + } + if items := req.GetSources(); len(items) > 0 { + for _, item := range items { + params.Add("sources", fmt.Sprintf("%v", item)) + } + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListConversations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetConversations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetConversation gets details of the specified conversation. +func (c *agentRESTClient) GetConversation(ctx context.Context, req *cespb.GetConversationRequest, opts ...gax.CallOption) (*cespb.Conversation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetSource() != 0 { + params.Add("source", fmt.Sprintf("%v", req.GetSource())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetConversation[0:len((*c.CallOptions).GetConversation):len((*c.CallOptions).GetConversation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Conversation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetConversation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteConversation deletes the specified conversation. +func (c *agentRESTClient) DeleteConversation(ctx context.Context, req *cespb.DeleteConversationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetSource() != 0 { + params.Add("source", fmt.Sprintf("%v", req.GetSource())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteConversation") + return err + }, opts...) +} + +// BatchDeleteConversations batch deletes the specified conversations. +func (c *agentRESTClient) BatchDeleteConversations(ctx context.Context, req *cespb.BatchDeleteConversationsRequest, opts ...gax.CallOption) (*BatchDeleteConversationsOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/conversations:batchDelete", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "BatchDeleteConversations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &BatchDeleteConversationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// CreateTool creates a new tool in the given app. +func (c *agentRESTClient) CreateTool(ctx context.Context, req *cespb.CreateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetTool() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/tools", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetToolId() != "" { + params.Add("toolId", fmt.Sprintf("%v", req.GetToolId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateTool[0:len((*c.CallOptions).CreateTool):len((*c.CallOptions).CreateTool)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Tool{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateTool") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateTool updates the specified tool. +func (c *agentRESTClient) UpdateTool(ctx context.Context, req *cespb.UpdateToolRequest, opts ...gax.CallOption) (*cespb.Tool, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetTool() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetTool().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "tool.name", url.QueryEscape(req.GetTool().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateTool[0:len((*c.CallOptions).UpdateTool):len((*c.CallOptions).UpdateTool)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Tool{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateTool") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteTool deletes the specified tool. +func (c *agentRESTClient) DeleteTool(ctx context.Context, req *cespb.DeleteToolRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteTool") + return err + }, opts...) +} + +// ListGuardrails lists guardrails in the given app. +func (c *agentRESTClient) ListGuardrails(ctx context.Context, req *cespb.ListGuardrailsRequest, opts ...gax.CallOption) *GuardrailIterator { + it := &GuardrailIterator{} + req = proto.Clone(req).(*cespb.ListGuardrailsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Guardrail, string, error) { + resp := &cespb.ListGuardrailsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/guardrails", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListGuardrails") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetGuardrails(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetGuardrail gets details of the specified guardrail. +func (c *agentRESTClient) GetGuardrail(ctx context.Context, req *cespb.GetGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetGuardrail[0:len((*c.CallOptions).GetGuardrail):len((*c.CallOptions).GetGuardrail)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Guardrail{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetGuardrail") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateGuardrail creates a new guardrail in the given app. +func (c *agentRESTClient) CreateGuardrail(ctx context.Context, req *cespb.CreateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetGuardrail() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/guardrails", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetGuardrailId() != "" { + params.Add("guardrailId", fmt.Sprintf("%v", req.GetGuardrailId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateGuardrail[0:len((*c.CallOptions).CreateGuardrail):len((*c.CallOptions).CreateGuardrail)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Guardrail{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateGuardrail") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateGuardrail updates the specified guardrail. +func (c *agentRESTClient) UpdateGuardrail(ctx context.Context, req *cespb.UpdateGuardrailRequest, opts ...gax.CallOption) (*cespb.Guardrail, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetGuardrail() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetGuardrail().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "guardrail.name", url.QueryEscape(req.GetGuardrail().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateGuardrail[0:len((*c.CallOptions).UpdateGuardrail):len((*c.CallOptions).UpdateGuardrail)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Guardrail{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateGuardrail") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteGuardrail deletes the specified guardrail. +func (c *agentRESTClient) DeleteGuardrail(ctx context.Context, req *cespb.DeleteGuardrailRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteGuardrail") + return err + }, opts...) +} + +// ListDeployments lists deployments in the given app. +func (c *agentRESTClient) ListDeployments(ctx context.Context, req *cespb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + it := &DeploymentIterator{} + req = proto.Clone(req).(*cespb.ListDeploymentsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Deployment, string, error) { + resp := &cespb.ListDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/deployments", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListDeployments") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetDeployment gets details of the specified deployment. +func (c *agentRESTClient) GetDeployment(ctx context.Context, req *cespb.GetDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetDeployment[0:len((*c.CallOptions).GetDeployment):len((*c.CallOptions).GetDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetDeployment") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateDeployment creates a new deployment in the given app. +func (c *agentRESTClient) CreateDeployment(ctx context.Context, req *cespb.CreateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDeployment() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/deployments", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetDeploymentId() != "" { + params.Add("deploymentId", fmt.Sprintf("%v", req.GetDeploymentId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateDeployment[0:len((*c.CallOptions).CreateDeployment):len((*c.CallOptions).CreateDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateDeployment") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateDeployment updates the specified deployment. +func (c *agentRESTClient) UpdateDeployment(ctx context.Context, req *cespb.UpdateDeploymentRequest, opts ...gax.CallOption) (*cespb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDeployment() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetDeployment().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "deployment.name", url.QueryEscape(req.GetDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateDeployment[0:len((*c.CallOptions).UpdateDeployment):len((*c.CallOptions).UpdateDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateDeployment") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteDeployment deletes the specified deployment. +func (c *agentRESTClient) DeleteDeployment(ctx context.Context, req *cespb.DeleteDeploymentRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteDeployment") + return err + }, opts...) +} + +// ListToolsets lists toolsets in the given app. +func (c *agentRESTClient) ListToolsets(ctx context.Context, req *cespb.ListToolsetsRequest, opts ...gax.CallOption) *ToolsetIterator { + it := &ToolsetIterator{} + req = proto.Clone(req).(*cespb.ListToolsetsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Toolset, string, error) { + resp := &cespb.ListToolsetsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/toolsets", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListToolsets") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetToolsets(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetToolset gets details of the specified toolset. +func (c *agentRESTClient) GetToolset(ctx context.Context, req *cespb.GetToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetToolset[0:len((*c.CallOptions).GetToolset):len((*c.CallOptions).GetToolset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Toolset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetToolset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateToolset creates a new toolset in the given app. +func (c *agentRESTClient) CreateToolset(ctx context.Context, req *cespb.CreateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetToolset() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/toolsets", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetToolsetId() != "" { + params.Add("toolsetId", fmt.Sprintf("%v", req.GetToolsetId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateToolset[0:len((*c.CallOptions).CreateToolset):len((*c.CallOptions).CreateToolset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Toolset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateToolset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateToolset updates the specified toolset. +func (c *agentRESTClient) UpdateToolset(ctx context.Context, req *cespb.UpdateToolsetRequest, opts ...gax.CallOption) (*cespb.Toolset, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetToolset() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetToolset().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "toolset.name", url.QueryEscape(req.GetToolset().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateToolset[0:len((*c.CallOptions).UpdateToolset):len((*c.CallOptions).UpdateToolset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Toolset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateToolset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteToolset deletes the specified toolset. +func (c *agentRESTClient) DeleteToolset(ctx context.Context, req *cespb.DeleteToolsetRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteToolset") + return err + }, opts...) +} + +// ListAppVersions lists all app versions in the given app. +func (c *agentRESTClient) ListAppVersions(ctx context.Context, req *cespb.ListAppVersionsRequest, opts ...gax.CallOption) *AppVersionIterator { + it := &AppVersionIterator{} + req = proto.Clone(req).(*cespb.ListAppVersionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.AppVersion, string, error) { + resp := &cespb.ListAppVersionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/versions", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListAppVersions") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetAppVersions(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetAppVersion gets details of the specified app version. +func (c *agentRESTClient) GetAppVersion(ctx context.Context, req *cespb.GetAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetAppVersion[0:len((*c.CallOptions).GetAppVersion):len((*c.CallOptions).GetAppVersion)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.AppVersion{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetAppVersion") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateAppVersion creates a new app version in the given app. +func (c *agentRESTClient) CreateAppVersion(ctx context.Context, req *cespb.CreateAppVersionRequest, opts ...gax.CallOption) (*cespb.AppVersion, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetAppVersion() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/versions", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetAppVersionId() != "" { + params.Add("appVersionId", fmt.Sprintf("%v", req.GetAppVersionId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateAppVersion[0:len((*c.CallOptions).CreateAppVersion):len((*c.CallOptions).CreateAppVersion)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.AppVersion{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateAppVersion") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteAppVersion deletes the specified app version. +func (c *agentRESTClient) DeleteAppVersion(ctx context.Context, req *cespb.DeleteAppVersionRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteAppVersion") + return err + }, opts...) +} + +// RestoreAppVersion restores the specified app version. +// This will create a new app version from the current draft app and overwrite +// the current draft with the specified app version. +func (c *agentRESTClient) RestoreAppVersion(ctx context.Context, req *cespb.RestoreAppVersionRequest, opts ...gax.CallOption) (*RestoreAppVersionOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:restore", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RestoreAppVersion") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &RestoreAppVersionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListChangelogs lists the changelogs of the specified app. +func (c *agentRESTClient) ListChangelogs(ctx context.Context, req *cespb.ListChangelogsRequest, opts ...gax.CallOption) *ChangelogIterator { + it := &ChangelogIterator{} + req = proto.Clone(req).(*cespb.ListChangelogsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Changelog, string, error) { + resp := &cespb.ListChangelogsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/changelogs", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListChangelogs") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetChangelogs(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetChangelog gets the specified changelog. +func (c *agentRESTClient) GetChangelog(ctx context.Context, req *cespb.GetChangelogRequest, opts ...gax.CallOption) (*cespb.Changelog, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetChangelog[0:len((*c.CallOptions).GetChangelog):len((*c.CallOptions).GetChangelog)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Changelog{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetChangelog") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *agentRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *agentRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *agentRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CancelOperation") + return err + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *agentRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteOperation") + return err + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *agentRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetOperation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *agentRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReturnPartialSuccess() { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListOperations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// BatchDeleteConversationsOperation returns a new BatchDeleteConversationsOperation from a given name. +// The name must be that of a previously created BatchDeleteConversationsOperation, possibly from a different process. +func (c *agentGRPCClient) BatchDeleteConversationsOperation(name string) *BatchDeleteConversationsOperation { + return &BatchDeleteConversationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// BatchDeleteConversationsOperation returns a new BatchDeleteConversationsOperation from a given name. +// The name must be that of a previously created BatchDeleteConversationsOperation, possibly from a different process. +func (c *agentRESTClient) BatchDeleteConversationsOperation(name string) *BatchDeleteConversationsOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &BatchDeleteConversationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateAppOperation returns a new CreateAppOperation from a given name. +// The name must be that of a previously created CreateAppOperation, possibly from a different process. +func (c *agentGRPCClient) CreateAppOperation(name string) *CreateAppOperation { + return &CreateAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateAppOperation returns a new CreateAppOperation from a given name. +// The name must be that of a previously created CreateAppOperation, possibly from a different process. +func (c *agentRESTClient) CreateAppOperation(name string) *CreateAppOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &CreateAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteAppOperation returns a new DeleteAppOperation from a given name. +// The name must be that of a previously created DeleteAppOperation, possibly from a different process. +func (c *agentGRPCClient) DeleteAppOperation(name string) *DeleteAppOperation { + return &DeleteAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteAppOperation returns a new DeleteAppOperation from a given name. +// The name must be that of a previously created DeleteAppOperation, possibly from a different process. +func (c *agentRESTClient) DeleteAppOperation(name string) *DeleteAppOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &DeleteAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// ExportAppOperation returns a new ExportAppOperation from a given name. +// The name must be that of a previously created ExportAppOperation, possibly from a different process. +func (c *agentGRPCClient) ExportAppOperation(name string) *ExportAppOperation { + return &ExportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ExportAppOperation returns a new ExportAppOperation from a given name. +// The name must be that of a previously created ExportAppOperation, possibly from a different process. +func (c *agentRESTClient) ExportAppOperation(name string) *ExportAppOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &ExportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// ImportAppOperation returns a new ImportAppOperation from a given name. +// The name must be that of a previously created ImportAppOperation, possibly from a different process. +func (c *agentGRPCClient) ImportAppOperation(name string) *ImportAppOperation { + return &ImportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ImportAppOperation returns a new ImportAppOperation from a given name. +// The name must be that of a previously created ImportAppOperation, possibly from a different process. +func (c *agentRESTClient) ImportAppOperation(name string) *ImportAppOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &ImportAppOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// RestoreAppVersionOperation returns a new RestoreAppVersionOperation from a given name. +// The name must be that of a previously created RestoreAppVersionOperation, possibly from a different process. +func (c *agentGRPCClient) RestoreAppVersionOperation(name string) *RestoreAppVersionOperation { + return &RestoreAppVersionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// RestoreAppVersionOperation returns a new RestoreAppVersionOperation from a given name. +// The name must be that of a previously created RestoreAppVersionOperation, possibly from a different process. +func (c *agentRESTClient) RestoreAppVersionOperation(name string) *RestoreAppVersionOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &RestoreAppVersionOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/ces/apiv1beta/agent_client_example_go123_test.go b/ces/apiv1beta/agent_client_example_go123_test.go new file mode 100644 index 000000000000..cf66191ab033 --- /dev/null +++ b/ces/apiv1beta/agent_client_example_go123_test.go @@ -0,0 +1,340 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleAgentClient_ListAgents_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAgentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAgentsRequest. + } + for resp, err := range c.ListAgents(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListAppVersions_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppVersionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppVersionsRequest. + } + for resp, err := range c.ListAppVersions(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListApps_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppsRequest. + } + for resp, err := range c.ListApps(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListChangelogs_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListChangelogsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListChangelogsRequest. + } + for resp, err := range c.ListChangelogs(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListConversations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListConversationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListConversationsRequest. + } + for resp, err := range c.ListConversations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListDeployments_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListDeploymentsRequest. + } + for resp, err := range c.ListDeployments(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListExamples_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListExamplesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListExamplesRequest. + } + for resp, err := range c.ListExamples(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListGuardrails_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListGuardrailsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListGuardrailsRequest. + } + for resp, err := range c.ListGuardrails(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListTools_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsRequest. + } + for resp, err := range c.ListTools(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListToolsets_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsetsRequest. + } + for resp, err := range c.ListToolsets(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleAgentClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/ces/apiv1beta/agent_client_example_test.go b/ces/apiv1beta/agent_client_example_test.go new file mode 100644 index 000000000000..d3d3553af35c --- /dev/null +++ b/ces/apiv1beta/agent_client_example_test.go @@ -0,0 +1,1563 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewAgentClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewAgentRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleAgentClient_BatchDeleteConversations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.BatchDeleteConversationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#BatchDeleteConversationsRequest. + } + op, err := c.BatchDeleteConversations(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateAgent() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAgentRequest. + } + resp, err := c.CreateAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAppRequest. + } + op, err := c.CreateApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateAppVersion() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAppVersionRequest. + } + resp, err := c.CreateAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateDeploymentRequest. + } + resp, err := c.CreateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateExample() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateExampleRequest. + } + resp, err := c.CreateExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateGuardrail() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateGuardrailRequest. + } + resp, err := c.CreateGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateTool() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateToolRequest. + } + resp, err := c.CreateTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_CreateToolset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateToolsetRequest. + } + resp, err := c.CreateToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_DeleteAgent() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAgentRequest. + } + err = c.DeleteAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAppRequest. + } + op, err := c.DeleteApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteAppVersion() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAppVersionRequest. + } + err = c.DeleteAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteConversation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteConversationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteConversationRequest. + } + err = c.DeleteConversation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteDeploymentRequest. + } + err = c.DeleteDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteExample() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteExampleRequest. + } + err = c.DeleteExample(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteGuardrail() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteGuardrailRequest. + } + err = c.DeleteGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteTool() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteToolRequest. + } + err = c.DeleteTool(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteToolset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteToolsetRequest. + } + err = c.DeleteToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_ExportApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ExportAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ExportAppRequest. + } + op, err := c.ExportApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetAgent() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAgentRequest. + } + resp, err := c.GetAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAppRequest. + } + resp, err := c.GetApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetAppVersion() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAppVersionRequest. + } + resp, err := c.GetAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetChangelog() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetChangelogRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetChangelogRequest. + } + resp, err := c.GetChangelog(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetConversation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetConversationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetConversationRequest. + } + resp, err := c.GetConversation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetDeploymentRequest. + } + resp, err := c.GetDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetExample() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetExampleRequest. + } + resp, err := c.GetExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetGuardrail() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetGuardrailRequest. + } + resp, err := c.GetGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetTool() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetToolRequest. + } + resp, err := c.GetTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetToolset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetToolsetRequest. + } + resp, err := c.GetToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_ImportApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ImportAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ImportAppRequest. + } + op, err := c.ImportApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_ListAgents() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAgentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAgentsRequest. + } + it := c.ListAgents(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAgentsResponse) + } +} + +func ExampleAgentClient_ListAppVersions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppVersionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppVersionsRequest. + } + it := c.ListAppVersions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAppVersionsResponse) + } +} + +func ExampleAgentClient_ListApps() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppsRequest. + } + it := c.ListApps(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAppsResponse) + } +} + +func ExampleAgentClient_ListChangelogs() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListChangelogsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListChangelogsRequest. + } + it := c.ListChangelogs(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListChangelogsResponse) + } +} + +func ExampleAgentClient_ListConversations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListConversationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListConversationsRequest. + } + it := c.ListConversations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListConversationsResponse) + } +} + +func ExampleAgentClient_ListDeployments() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListDeploymentsRequest. + } + it := c.ListDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListDeploymentsResponse) + } +} + +func ExampleAgentClient_ListExamples() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListExamplesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListExamplesRequest. + } + it := c.ListExamples(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListExamplesResponse) + } +} + +func ExampleAgentClient_ListGuardrails() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListGuardrailsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListGuardrailsRequest. + } + it := c.ListGuardrails(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListGuardrailsResponse) + } +} + +func ExampleAgentClient_ListTools() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsRequest. + } + it := c.ListTools(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListToolsResponse) + } +} + +func ExampleAgentClient_ListToolsets() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsetsRequest. + } + it := c.ListToolsets(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListToolsetsResponse) + } +} + +func ExampleAgentClient_RestoreAppVersion() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RestoreAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RestoreAppVersionRequest. + } + op, err := c.RestoreAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateAgent() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateAgentRequest. + } + resp, err := c.UpdateAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateApp() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateAppRequest. + } + resp, err := c.UpdateApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateDeploymentRequest. + } + resp, err := c.UpdateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateExample() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateExampleRequest. + } + resp, err := c.UpdateExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateGuardrail() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateGuardrailRequest. + } + resp, err := c.UpdateGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateTool() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateToolRequest. + } + resp, err := c.UpdateTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_UpdateToolset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateToolsetRequest. + } + resp, err := c.UpdateToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleAgentClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleAgentClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleAgentClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} diff --git a/ces/apiv1beta/auxiliary.go b/ces/apiv1beta/auxiliary.go new file mode 100644 index 000000000000..a833eb3639f1 --- /dev/null +++ b/ces/apiv1beta/auxiliary.go @@ -0,0 +1,1493 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "context" + "time" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "cloud.google.com/go/longrunning" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +// BatchDeleteConversationsOperation manages a long-running operation from BatchDeleteConversations. +type BatchDeleteConversationsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *BatchDeleteConversationsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.BatchDeleteConversationsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.BatchDeleteConversationsResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *BatchDeleteConversationsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.BatchDeleteConversationsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.BatchDeleteConversationsResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *BatchDeleteConversationsOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *BatchDeleteConversationsOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *BatchDeleteConversationsOperation) Name() string { + return op.lro.Name() +} + +// CreateAppOperation manages a long-running operation from CreateApp. +type CreateAppOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateAppOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.App, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.App + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateAppOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.App, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.App + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateAppOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateAppOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateAppOperation) Name() string { + return op.lro.Name() +} + +// DeleteAppOperation manages a long-running operation from DeleteApp. +type DeleteAppOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteAppOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteAppOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteAppOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteAppOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteAppOperation) Name() string { + return op.lro.Name() +} + +// DeleteEvaluationRunOperation manages a long-running operation from DeleteEvaluationRun. +type DeleteEvaluationRunOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteEvaluationRunOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteEvaluationRunOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteEvaluationRunOperation) Metadata() (*cespb.DeleteEvaluationRunOperationMetadata, error) { + var meta cespb.DeleteEvaluationRunOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteEvaluationRunOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteEvaluationRunOperation) Name() string { + return op.lro.Name() +} + +// ExportAppOperation manages a long-running operation from ExportApp. +type ExportAppOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ExportAppOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.ExportAppResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ExportAppResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ExportAppOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.ExportAppResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ExportAppResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ExportAppOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ExportAppOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ExportAppOperation) Name() string { + return op.lro.Name() +} + +// GenerateEvaluationOperation manages a long-running operation from GenerateEvaluation. +type GenerateEvaluationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *GenerateEvaluationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.Evaluation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.Evaluation + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *GenerateEvaluationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.Evaluation, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.Evaluation + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *GenerateEvaluationOperation) Metadata() (*cespb.GenerateEvaluationOperationMetadata, error) { + var meta cespb.GenerateEvaluationOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *GenerateEvaluationOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *GenerateEvaluationOperation) Name() string { + return op.lro.Name() +} + +// ImportAppOperation manages a long-running operation from ImportApp. +type ImportAppOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ImportAppOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.ImportAppResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ImportAppResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ImportAppOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.ImportAppResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ImportAppResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ImportAppOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ImportAppOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ImportAppOperation) Name() string { + return op.lro.Name() +} + +// ImportEvaluationsOperation manages a long-running operation from ImportEvaluations. +type ImportEvaluationsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ImportEvaluationsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.ImportEvaluationsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ImportEvaluationsResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ImportEvaluationsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.ImportEvaluationsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.ImportEvaluationsResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ImportEvaluationsOperation) Metadata() (*cespb.ImportEvaluationsOperationMetadata, error) { + var meta cespb.ImportEvaluationsOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ImportEvaluationsOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ImportEvaluationsOperation) Name() string { + return op.lro.Name() +} + +// RestoreAppVersionOperation manages a long-running operation from RestoreAppVersion. +type RestoreAppVersionOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *RestoreAppVersionOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.RestoreAppVersionResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.RestoreAppVersionResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *RestoreAppVersionOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.RestoreAppVersionResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.RestoreAppVersionResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *RestoreAppVersionOperation) Metadata() (*cespb.OperationMetadata, error) { + var meta cespb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *RestoreAppVersionOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *RestoreAppVersionOperation) Name() string { + return op.lro.Name() +} + +// RunEvaluationOperation manages a long-running operation from RunEvaluation. +type RunEvaluationOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *RunEvaluationOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*cespb.RunEvaluationResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.RunEvaluationResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *RunEvaluationOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*cespb.RunEvaluationResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp cespb.RunEvaluationResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *RunEvaluationOperation) Metadata() (*cespb.RunEvaluationOperationMetadata, error) { + var meta cespb.RunEvaluationOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *RunEvaluationOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *RunEvaluationOperation) Name() string { + return op.lro.Name() +} + +// AgentIterator manages a stream of *cespb.Agent. +type AgentIterator struct { + items []*cespb.Agent + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Agent, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *AgentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AgentIterator) Next() (*cespb.Agent, error) { + var item *cespb.Agent + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AgentIterator) bufLen() int { + return len(it.items) +} + +func (it *AgentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AppIterator manages a stream of *cespb.App. +type AppIterator struct { + items []*cespb.App + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.App, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *AppIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AppIterator) Next() (*cespb.App, error) { + var item *cespb.App + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AppIterator) bufLen() int { + return len(it.items) +} + +func (it *AppIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AppVersionIterator manages a stream of *cespb.AppVersion. +type AppVersionIterator struct { + items []*cespb.AppVersion + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.AppVersion, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *AppVersionIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AppVersionIterator) Next() (*cespb.AppVersion, error) { + var item *cespb.AppVersion + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AppVersionIterator) bufLen() int { + return len(it.items) +} + +func (it *AppVersionIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ChangelogIterator manages a stream of *cespb.Changelog. +type ChangelogIterator struct { + items []*cespb.Changelog + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Changelog, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ChangelogIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ChangelogIterator) Next() (*cespb.Changelog, error) { + var item *cespb.Changelog + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ChangelogIterator) bufLen() int { + return len(it.items) +} + +func (it *ChangelogIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ConversationIterator manages a stream of *cespb.Conversation. +type ConversationIterator struct { + items []*cespb.Conversation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Conversation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ConversationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ConversationIterator) Next() (*cespb.Conversation, error) { + var item *cespb.Conversation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ConversationIterator) bufLen() int { + return len(it.items) +} + +func (it *ConversationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DeploymentIterator manages a stream of *cespb.Deployment. +type DeploymentIterator struct { + items []*cespb.Deployment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Deployment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *DeploymentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DeploymentIterator) Next() (*cespb.Deployment, error) { + var item *cespb.Deployment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DeploymentIterator) bufLen() int { + return len(it.items) +} + +func (it *DeploymentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EvaluationDatasetIterator manages a stream of *cespb.EvaluationDataset. +type EvaluationDatasetIterator struct { + items []*cespb.EvaluationDataset + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.EvaluationDataset, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *EvaluationDatasetIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EvaluationDatasetIterator) Next() (*cespb.EvaluationDataset, error) { + var item *cespb.EvaluationDataset + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EvaluationDatasetIterator) bufLen() int { + return len(it.items) +} + +func (it *EvaluationDatasetIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EvaluationExpectationIterator manages a stream of *cespb.EvaluationExpectation. +type EvaluationExpectationIterator struct { + items []*cespb.EvaluationExpectation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.EvaluationExpectation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *EvaluationExpectationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EvaluationExpectationIterator) Next() (*cespb.EvaluationExpectation, error) { + var item *cespb.EvaluationExpectation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EvaluationExpectationIterator) bufLen() int { + return len(it.items) +} + +func (it *EvaluationExpectationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EvaluationIterator manages a stream of *cespb.Evaluation. +type EvaluationIterator struct { + items []*cespb.Evaluation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Evaluation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *EvaluationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EvaluationIterator) Next() (*cespb.Evaluation, error) { + var item *cespb.Evaluation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EvaluationIterator) bufLen() int { + return len(it.items) +} + +func (it *EvaluationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EvaluationResultIterator manages a stream of *cespb.EvaluationResult. +type EvaluationResultIterator struct { + items []*cespb.EvaluationResult + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.EvaluationResult, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *EvaluationResultIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EvaluationResultIterator) Next() (*cespb.EvaluationResult, error) { + var item *cespb.EvaluationResult + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EvaluationResultIterator) bufLen() int { + return len(it.items) +} + +func (it *EvaluationResultIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EvaluationRunIterator manages a stream of *cespb.EvaluationRun. +type EvaluationRunIterator struct { + items []*cespb.EvaluationRun + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.EvaluationRun, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *EvaluationRunIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EvaluationRunIterator) Next() (*cespb.EvaluationRun, error) { + var item *cespb.EvaluationRun + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EvaluationRunIterator) bufLen() int { + return len(it.items) +} + +func (it *EvaluationRunIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ExampleIterator manages a stream of *cespb.Example. +type ExampleIterator struct { + items []*cespb.Example + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Example, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ExampleIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ExampleIterator) Next() (*cespb.Example, error) { + var item *cespb.Example + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ExampleIterator) bufLen() int { + return len(it.items) +} + +func (it *ExampleIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// GuardrailIterator manages a stream of *cespb.Guardrail. +type GuardrailIterator struct { + items []*cespb.Guardrail + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Guardrail, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *GuardrailIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *GuardrailIterator) Next() (*cespb.Guardrail, error) { + var item *cespb.Guardrail + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *GuardrailIterator) bufLen() int { + return len(it.items) +} + +func (it *GuardrailIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// LocationIterator manages a stream of *locationpb.Location. +type LocationIterator struct { + items []*locationpb.Location + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*locationpb.Location, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *LocationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *LocationIterator) Next() (*locationpb.Location, error) { + var item *locationpb.Location + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LocationIterator) bufLen() int { + return len(it.items) +} + +func (it *LocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OperationIterator manages a stream of *longrunningpb.Operation. +type OperationIterator struct { + items []*longrunningpb.Operation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *OperationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationIterator) Next() (*longrunningpb.Operation, error) { + var item *longrunningpb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ScheduledEvaluationRunIterator manages a stream of *cespb.ScheduledEvaluationRun. +type ScheduledEvaluationRunIterator struct { + items []*cespb.ScheduledEvaluationRun + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.ScheduledEvaluationRun, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ScheduledEvaluationRunIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ScheduledEvaluationRunIterator) Next() (*cespb.ScheduledEvaluationRun, error) { + var item *cespb.ScheduledEvaluationRun + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ScheduledEvaluationRunIterator) bufLen() int { + return len(it.items) +} + +func (it *ScheduledEvaluationRunIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ToolIterator manages a stream of *cespb.Tool. +type ToolIterator struct { + items []*cespb.Tool + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Tool, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ToolIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ToolIterator) Next() (*cespb.Tool, error) { + var item *cespb.Tool + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ToolIterator) bufLen() int { + return len(it.items) +} + +func (it *ToolIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ToolsetIterator manages a stream of *cespb.Toolset. +type ToolsetIterator struct { + items []*cespb.Toolset + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*cespb.Toolset, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details. +func (it *ToolsetIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ToolsetIterator) Next() (*cespb.Toolset, error) { + var item *cespb.Toolset + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ToolsetIterator) bufLen() int { + return len(it.items) +} + +func (it *ToolsetIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/ces/apiv1beta/auxiliary_go123.go b/ces/apiv1beta/auxiliary_go123.go new file mode 100644 index 000000000000..b247a0c7e037 --- /dev/null +++ b/ces/apiv1beta/auxiliary_go123.go @@ -0,0 +1,136 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces + +import ( + "iter" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "github.com/googleapis/gax-go/v2/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *AgentIterator) All() iter.Seq2[*cespb.Agent, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *AppIterator) All() iter.Seq2[*cespb.App, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *AppVersionIterator) All() iter.Seq2[*cespb.AppVersion, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ChangelogIterator) All() iter.Seq2[*cespb.Changelog, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ConversationIterator) All() iter.Seq2[*cespb.Conversation, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *DeploymentIterator) All() iter.Seq2[*cespb.Deployment, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *EvaluationDatasetIterator) All() iter.Seq2[*cespb.EvaluationDataset, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *EvaluationExpectationIterator) All() iter.Seq2[*cespb.EvaluationExpectation, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *EvaluationIterator) All() iter.Seq2[*cespb.Evaluation, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *EvaluationResultIterator) All() iter.Seq2[*cespb.EvaluationResult, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *EvaluationRunIterator) All() iter.Seq2[*cespb.EvaluationRun, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ExampleIterator) All() iter.Seq2[*cespb.Example, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *GuardrailIterator) All() iter.Seq2[*cespb.Guardrail, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *LocationIterator) All() iter.Seq2[*locationpb.Location, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *OperationIterator) All() iter.Seq2[*longrunningpb.Operation, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ScheduledEvaluationRunIterator) All() iter.Seq2[*cespb.ScheduledEvaluationRun, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ToolIterator) All() iter.Seq2[*cespb.Tool, error] { + return iterator.RangeAdapter(it.Next) +} + +// All returns an iterator. If an error is returned by the iterator, the +// iterator will stop after that iteration. +func (it *ToolsetIterator) All() iter.Seq2[*cespb.Toolset, error] { + return iterator.RangeAdapter(it.Next) +} diff --git a/ces/apiv1beta/cespb/agent.pb.go b/ces/apiv1beta/cespb/agent.pb.go new file mode 100644 index 000000000000..cb399f6ccaf4 --- /dev/null +++ b/ces/apiv1beta/cespb/agent.pb.go @@ -0,0 +1,816 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/agent.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An agent acts as the fundamental building block that provides instructions to +// the Large Language Model (LLM) for executing specific tasks. +type Agent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of agent. + // + // Types that are assignable to AgentType: + // + // *Agent_LlmAgent_ + // *Agent_RemoteDialogflowAgent_ + AgentType isAgent_AgentType `protobuf_oneof:"agent_type"` + // Identifier. The unique identifier of the agent. + // Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the agent. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Human-readable description of the agent. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Configurations for the LLM model. + ModelSettings *ModelSettings `protobuf:"bytes,4,opt,name=model_settings,json=modelSettings,proto3" json:"model_settings,omitempty"` + // Optional. Instructions for the LLM model to guide the agent's behavior. + Instruction string `protobuf:"bytes,6,opt,name=instruction,proto3" json:"instruction,omitempty"` + // Optional. List of available tools for the agent. + // Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` + Tools []string `protobuf:"bytes,7,rep,name=tools,proto3" json:"tools,omitempty"` + // Optional. List of child agents in the agent tree. + // Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + ChildAgents []string `protobuf:"bytes,8,rep,name=child_agents,json=childAgents,proto3" json:"child_agents,omitempty"` + // Optional. The callbacks to execute before the agent is called. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + BeforeAgentCallbacks []*Callback `protobuf:"bytes,18,rep,name=before_agent_callbacks,json=beforeAgentCallbacks,proto3" json:"before_agent_callbacks,omitempty"` + // Optional. The callbacks to execute after the agent is called. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + AfterAgentCallbacks []*Callback `protobuf:"bytes,19,rep,name=after_agent_callbacks,json=afterAgentCallbacks,proto3" json:"after_agent_callbacks,omitempty"` + // Optional. The callbacks to execute before the model is called. If there are + // multiple calls to the model, the callback will be executed multiple times. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + BeforeModelCallbacks []*Callback `protobuf:"bytes,20,rep,name=before_model_callbacks,json=beforeModelCallbacks,proto3" json:"before_model_callbacks,omitempty"` + // Optional. The callbacks to execute after the model is called. If there are + // multiple calls to the model, the callback will be executed multiple times. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + AfterModelCallbacks []*Callback `protobuf:"bytes,21,rep,name=after_model_callbacks,json=afterModelCallbacks,proto3" json:"after_model_callbacks,omitempty"` + // Optional. The callbacks to execute before the tool is invoked. If there are + // multiple tool invocations, the callback will be executed multiple times. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + BeforeToolCallbacks []*Callback `protobuf:"bytes,22,rep,name=before_tool_callbacks,json=beforeToolCallbacks,proto3" json:"before_tool_callbacks,omitempty"` + // Optional. The callbacks to execute after the tool is invoked. If there are + // multiple tool invocations, the callback will be executed multiple times. + // The provided callbacks are executed sequentially in the exact order they + // are given in the list. If a callback returns an overridden response, + // execution stops and any remaining callbacks are skipped. + AfterToolCallbacks []*Callback `protobuf:"bytes,23,rep,name=after_tool_callbacks,json=afterToolCallbacks,proto3" json:"after_tool_callbacks,omitempty"` + // Output only. Timestamp when the agent was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the agent was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. List of guardrails for the agent. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}` + Guardrails []string `protobuf:"bytes,17,rep,name=guardrails,proto3" json:"guardrails,omitempty"` + // Etag used to ensure the object hasn't changed during a read-modify-write + // operation. If the etag is empty, the update will overwrite any concurrent + // changes. + Etag string `protobuf:"bytes,24,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. List of toolsets for the agent. + Toolsets []*Agent_AgentToolset `protobuf:"bytes,28,rep,name=toolsets,proto3" json:"toolsets,omitempty"` + // Output only. If the agent is generated by the LLM assistant, this field + // contains a descriptive summary of the generation. + GeneratedSummary string `protobuf:"bytes,29,opt,name=generated_summary,json=generatedSummary,proto3" json:"generated_summary,omitempty"` + // Optional. Agent transfer rules. + // If multiple rules match, the first one in the list will be used. + TransferRules []*TransferRule `protobuf:"bytes,30,rep,name=transfer_rules,json=transferRules,proto3" json:"transfer_rules,omitempty"` +} + +func (x *Agent) Reset() { + *x = Agent{} + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Agent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Agent) ProtoMessage() {} + +func (x *Agent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Agent.ProtoReflect.Descriptor instead. +func (*Agent) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_proto_rawDescGZIP(), []int{0} +} + +func (m *Agent) GetAgentType() isAgent_AgentType { + if m != nil { + return m.AgentType + } + return nil +} + +func (x *Agent) GetLlmAgent() *Agent_LlmAgent { + if x, ok := x.GetAgentType().(*Agent_LlmAgent_); ok { + return x.LlmAgent + } + return nil +} + +func (x *Agent) GetRemoteDialogflowAgent() *Agent_RemoteDialogflowAgent { + if x, ok := x.GetAgentType().(*Agent_RemoteDialogflowAgent_); ok { + return x.RemoteDialogflowAgent + } + return nil +} + +func (x *Agent) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Agent) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Agent) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Agent) GetModelSettings() *ModelSettings { + if x != nil { + return x.ModelSettings + } + return nil +} + +func (x *Agent) GetInstruction() string { + if x != nil { + return x.Instruction + } + return "" +} + +func (x *Agent) GetTools() []string { + if x != nil { + return x.Tools + } + return nil +} + +func (x *Agent) GetChildAgents() []string { + if x != nil { + return x.ChildAgents + } + return nil +} + +func (x *Agent) GetBeforeAgentCallbacks() []*Callback { + if x != nil { + return x.BeforeAgentCallbacks + } + return nil +} + +func (x *Agent) GetAfterAgentCallbacks() []*Callback { + if x != nil { + return x.AfterAgentCallbacks + } + return nil +} + +func (x *Agent) GetBeforeModelCallbacks() []*Callback { + if x != nil { + return x.BeforeModelCallbacks + } + return nil +} + +func (x *Agent) GetAfterModelCallbacks() []*Callback { + if x != nil { + return x.AfterModelCallbacks + } + return nil +} + +func (x *Agent) GetBeforeToolCallbacks() []*Callback { + if x != nil { + return x.BeforeToolCallbacks + } + return nil +} + +func (x *Agent) GetAfterToolCallbacks() []*Callback { + if x != nil { + return x.AfterToolCallbacks + } + return nil +} + +func (x *Agent) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Agent) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Agent) GetGuardrails() []string { + if x != nil { + return x.Guardrails + } + return nil +} + +func (x *Agent) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Agent) GetToolsets() []*Agent_AgentToolset { + if x != nil { + return x.Toolsets + } + return nil +} + +func (x *Agent) GetGeneratedSummary() string { + if x != nil { + return x.GeneratedSummary + } + return "" +} + +func (x *Agent) GetTransferRules() []*TransferRule { + if x != nil { + return x.TransferRules + } + return nil +} + +type isAgent_AgentType interface { + isAgent_AgentType() +} + +type Agent_LlmAgent_ struct { + // Optional. The default agent type. + LlmAgent *Agent_LlmAgent `protobuf:"bytes,26,opt,name=llm_agent,json=llmAgent,proto3,oneof"` +} + +type Agent_RemoteDialogflowAgent_ struct { + // Optional. The remote + // [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) + // agent to be used for the agent execution. If this field is set, all other + // agent level properties will be ignored. + // + // Note: If the Dialogflow agent is in a different project from the app, you + // should grant `roles/dialogflow.client` to the CES service agent + // `service-@gcp-sa-ces.iam.gserviceaccount.com`. + RemoteDialogflowAgent *Agent_RemoteDialogflowAgent `protobuf:"bytes,27,opt,name=remote_dialogflow_agent,json=remoteDialogflowAgent,proto3,oneof"` +} + +func (*Agent_LlmAgent_) isAgent_AgentType() {} + +func (*Agent_RemoteDialogflowAgent_) isAgent_AgentType() {} + +// Default agent type. The agent uses instructions and callbacks specified in +// the agent to perform the task using a large language model. +type Agent_LlmAgent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Agent_LlmAgent) Reset() { + *x = Agent_LlmAgent{} + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Agent_LlmAgent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Agent_LlmAgent) ProtoMessage() {} + +func (x *Agent_LlmAgent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Agent_LlmAgent.ProtoReflect.Descriptor instead. +func (*Agent_LlmAgent) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_proto_rawDescGZIP(), []int{0, 0} +} + +// The agent which will transfer execution to a remote +// [Dialogflow +// CX](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) agent. +// The Dialogflow agent will process subsequent user queries until the session +// ends or flow ends, and the control is transferred back to the parent CES +// agent. +type Agent_RemoteDialogflowAgent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The + // [Dialogflow](https://docs.cloud.google.com/dialogflow/cx/docs/concept/agent) + // agent resource name. + // Format: `projects/{project}/locations/{location}/agents/{agent}` + Agent string `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"` + // Optional. The flow ID of the flow in the Dialogflow agent. + FlowId string `protobuf:"bytes,2,opt,name=flow_id,json=flowId,proto3" json:"flow_id,omitempty"` + // Optional. The environment ID of the Dialogflow agent to be used for the + // agent execution. If not specified, the draft environment will be used. + EnvironmentId string `protobuf:"bytes,3,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"` + // Optional. The mapping of the app variables names to the Dialogflow + // session parameters names to be sent to the Dialogflow agent as input. + InputVariableMapping map[string]string `protobuf:"bytes,4,rep,name=input_variable_mapping,json=inputVariableMapping,proto3" json:"input_variable_mapping,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The mapping of the Dialogflow session parameters names to the + // app variables names to be sent back to the CES agent after the Dialogflow + // agent execution ends. + OutputVariableMapping map[string]string `protobuf:"bytes,5,rep,name=output_variable_mapping,json=outputVariableMapping,proto3" json:"output_variable_mapping,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Indicates whether to respect the message-level interruption + // settings configured in the Dialogflow agent. + // + // * If false: all response messages from the Dialogflow agent follow the + // app-level barge-in settings. + // * If true: only response messages with + // [`allow_playback_interruption`](https://docs.cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#text) + // set to true will be interruptable, all other messages follow the + // app-level barge-in settings. + RespectResponseInterruptionSettings bool `protobuf:"varint,6,opt,name=respect_response_interruption_settings,json=respectResponseInterruptionSettings,proto3" json:"respect_response_interruption_settings,omitempty"` +} + +func (x *Agent_RemoteDialogflowAgent) Reset() { + *x = Agent_RemoteDialogflowAgent{} + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Agent_RemoteDialogflowAgent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Agent_RemoteDialogflowAgent) ProtoMessage() {} + +func (x *Agent_RemoteDialogflowAgent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Agent_RemoteDialogflowAgent.ProtoReflect.Descriptor instead. +func (*Agent_RemoteDialogflowAgent) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Agent_RemoteDialogflowAgent) GetAgent() string { + if x != nil { + return x.Agent + } + return "" +} + +func (x *Agent_RemoteDialogflowAgent) GetFlowId() string { + if x != nil { + return x.FlowId + } + return "" +} + +func (x *Agent_RemoteDialogflowAgent) GetEnvironmentId() string { + if x != nil { + return x.EnvironmentId + } + return "" +} + +func (x *Agent_RemoteDialogflowAgent) GetInputVariableMapping() map[string]string { + if x != nil { + return x.InputVariableMapping + } + return nil +} + +func (x *Agent_RemoteDialogflowAgent) GetOutputVariableMapping() map[string]string { + if x != nil { + return x.OutputVariableMapping + } + return nil +} + +func (x *Agent_RemoteDialogflowAgent) GetRespectResponseInterruptionSettings() bool { + if x != nil { + return x.RespectResponseInterruptionSettings + } + return false +} + +// A toolset with a selection of its tools. +type Agent_AgentToolset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the toolset. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` + Toolset string `protobuf:"bytes,1,opt,name=toolset,proto3" json:"toolset,omitempty"` + // Optional. The tools IDs to filter the toolset. + ToolIds []string `protobuf:"bytes,4,rep,name=tool_ids,json=toolIds,proto3" json:"tool_ids,omitempty"` +} + +func (x *Agent_AgentToolset) Reset() { + *x = Agent_AgentToolset{} + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Agent_AgentToolset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Agent_AgentToolset) ProtoMessage() {} + +func (x *Agent_AgentToolset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Agent_AgentToolset.ProtoReflect.Descriptor instead. +func (*Agent_AgentToolset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *Agent_AgentToolset) GetToolset() string { + if x != nil { + return x.Toolset + } + return "" +} + +func (x *Agent_AgentToolset) GetToolIds() []string { + if x != nil { + return x.ToolIds + } + return nil +} + +var File_google_cloud_ces_v1beta_agent_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_agent_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xb1, 0x13, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x6c, 0x6c, + 0x6d, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6c, + 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x6c, + 0x6c, 0x6d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, + 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x35, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1f, + 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x52, + 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, + 0x01, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x0b, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x62, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x14, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x5c, 0x0a, 0x16, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, + 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x62, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x15, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, + 0x5a, 0x0a, 0x15, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x54, 0x6f, + 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x12, 0x61, 0x66, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x42, 0x24, 0xe0, + 0x41, 0x01, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x52, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x12, 0x4c, 0x0a, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x18, + 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x30, 0x0a, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x75, + 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x0a, 0x0a, 0x08, 0x4c, 0x6c, 0x6d, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x1a, 0xb2, 0x05, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x05, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x6c, 0x6f, + 0x77, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x89, 0x01, 0x0a, 0x16, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, + 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x8c, 0x01, 0x0a, 0x17, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x58, 0x0a, 0x26, 0x72, 0x65, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x23, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x47, 0x0a, 0x19, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x48, 0x0a, + 0x1a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6c, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, + 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x07, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x74, 0x6f, + 0x6f, 0x6c, 0x49, 0x64, 0x73, 0x3a, 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x32, + 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x42, 0xc0, 0x01, 0xea, 0x41, 0x63, 0x0a, 0x29, 0x64, 0x69, 0x61, 0x6c, + 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x0a, 0x1b, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0a, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, + 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_agent_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_agent_proto_rawDescData = file_google_cloud_ces_v1beta_agent_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_agent_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_agent_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_agent_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_agent_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_agent_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_ces_v1beta_agent_proto_goTypes = []any{ + (*Agent)(nil), // 0: google.cloud.ces.v1beta.Agent + (*Agent_LlmAgent)(nil), // 1: google.cloud.ces.v1beta.Agent.LlmAgent + (*Agent_RemoteDialogflowAgent)(nil), // 2: google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent + (*Agent_AgentToolset)(nil), // 3: google.cloud.ces.v1beta.Agent.AgentToolset + nil, // 4: google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.InputVariableMappingEntry + nil, // 5: google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.OutputVariableMappingEntry + (*ModelSettings)(nil), // 6: google.cloud.ces.v1beta.ModelSettings + (*Callback)(nil), // 7: google.cloud.ces.v1beta.Callback + (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*TransferRule)(nil), // 9: google.cloud.ces.v1beta.TransferRule +} +var file_google_cloud_ces_v1beta_agent_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Agent.llm_agent:type_name -> google.cloud.ces.v1beta.Agent.LlmAgent + 2, // 1: google.cloud.ces.v1beta.Agent.remote_dialogflow_agent:type_name -> google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent + 6, // 2: google.cloud.ces.v1beta.Agent.model_settings:type_name -> google.cloud.ces.v1beta.ModelSettings + 7, // 3: google.cloud.ces.v1beta.Agent.before_agent_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 7, // 4: google.cloud.ces.v1beta.Agent.after_agent_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 7, // 5: google.cloud.ces.v1beta.Agent.before_model_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 7, // 6: google.cloud.ces.v1beta.Agent.after_model_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 7, // 7: google.cloud.ces.v1beta.Agent.before_tool_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 7, // 8: google.cloud.ces.v1beta.Agent.after_tool_callbacks:type_name -> google.cloud.ces.v1beta.Callback + 8, // 9: google.cloud.ces.v1beta.Agent.create_time:type_name -> google.protobuf.Timestamp + 8, // 10: google.cloud.ces.v1beta.Agent.update_time:type_name -> google.protobuf.Timestamp + 3, // 11: google.cloud.ces.v1beta.Agent.toolsets:type_name -> google.cloud.ces.v1beta.Agent.AgentToolset + 9, // 12: google.cloud.ces.v1beta.Agent.transfer_rules:type_name -> google.cloud.ces.v1beta.TransferRule + 4, // 13: google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.input_variable_mapping:type_name -> google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.InputVariableMappingEntry + 5, // 14: google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.output_variable_mapping:type_name -> google.cloud.ces.v1beta.Agent.RemoteDialogflowAgent.OutputVariableMappingEntry + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_agent_proto_init() } +func file_google_cloud_ces_v1beta_agent_proto_init() { + if File_google_cloud_ces_v1beta_agent_proto != nil { + return + } + file_google_cloud_ces_v1beta_agent_transfers_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_agent_proto_msgTypes[0].OneofWrappers = []any{ + (*Agent_LlmAgent_)(nil), + (*Agent_RemoteDialogflowAgent_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_agent_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_agent_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_agent_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_agent_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_agent_proto = out.File + file_google_cloud_ces_v1beta_agent_proto_rawDesc = nil + file_google_cloud_ces_v1beta_agent_proto_goTypes = nil + file_google_cloud_ces_v1beta_agent_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/agent_service.pb.go b/ces/apiv1beta/cespb/agent_service.pb.go new file mode 100644 index 000000000000..7b72e91d643b --- /dev/null +++ b/ces/apiv1beta/cespb/agent_service.pb.go @@ -0,0 +1,6441 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/agent_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Export format for the app. +type ExportAppRequest_ExportFormat int32 + +const ( + // The export format is unspecified. + ExportAppRequest_EXPORT_FORMAT_UNSPECIFIED ExportAppRequest_ExportFormat = 0 + // The export format is JSON. + ExportAppRequest_JSON ExportAppRequest_ExportFormat = 1 + // The export format is YAML. + ExportAppRequest_YAML ExportAppRequest_ExportFormat = 2 +) + +// Enum value maps for ExportAppRequest_ExportFormat. +var ( + ExportAppRequest_ExportFormat_name = map[int32]string{ + 0: "EXPORT_FORMAT_UNSPECIFIED", + 1: "JSON", + 2: "YAML", + } + ExportAppRequest_ExportFormat_value = map[string]int32{ + "EXPORT_FORMAT_UNSPECIFIED": 0, + "JSON": 1, + "YAML": 2, + } +) + +func (x ExportAppRequest_ExportFormat) Enum() *ExportAppRequest_ExportFormat { + p := new(ExportAppRequest_ExportFormat) + *p = x + return p +} + +func (x ExportAppRequest_ExportFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExportAppRequest_ExportFormat) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_agent_service_proto_enumTypes[0].Descriptor() +} + +func (ExportAppRequest_ExportFormat) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_agent_service_proto_enumTypes[0] +} + +func (x ExportAppRequest_ExportFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExportAppRequest_ExportFormat.Descriptor instead. +func (ExportAppRequest_ExportFormat) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{6, 0} +} + +// Defines the strategy for handling conflicts when an app with the same ID +// already exists, or when imported resources (like Agents, Tools, etc.) +// have the same display names as existing resources within that app. +type ImportAppRequest_ImportOptions_ConflictResolutionStrategy int32 + +const ( + // The conflict resolution strategy is unspecified. + ImportAppRequest_ImportOptions_CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED ImportAppRequest_ImportOptions_ConflictResolutionStrategy = 0 + // Replace existing data with imported data. + // If an app with the same `app_id` already exists, its content will be + // updated based on the imported app. + // - Resources (App, Agents, Tools, Examples, Guardrails, Toolsets) in the + // imported app that have the same display name as existing resources + // will overwrite the existing ones. + // - Imported resources with new display names will be created. + // - Existing resources that do not have a matching display name in the + // imported app will remain untouched. + ImportAppRequest_ImportOptions_REPLACE ImportAppRequest_ImportOptions_ConflictResolutionStrategy = 1 + // Overwrite existing data with imported data. + // If an app with the same `app_id` already exists, its content will be + // overwritten with the imported app. + // - Existing resources (Agents, Tools, Examples, Guardrails, Toolsets) in + // the app will be deleted. + // - Imported resources will be created as new resources. + ImportAppRequest_ImportOptions_OVERWRITE ImportAppRequest_ImportOptions_ConflictResolutionStrategy = 2 +) + +// Enum value maps for ImportAppRequest_ImportOptions_ConflictResolutionStrategy. +var ( + ImportAppRequest_ImportOptions_ConflictResolutionStrategy_name = map[int32]string{ + 0: "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + 1: "REPLACE", + 2: "OVERWRITE", + } + ImportAppRequest_ImportOptions_ConflictResolutionStrategy_value = map[string]int32{ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED": 0, + "REPLACE": 1, + "OVERWRITE": 2, + } +) + +func (x ImportAppRequest_ImportOptions_ConflictResolutionStrategy) Enum() *ImportAppRequest_ImportOptions_ConflictResolutionStrategy { + p := new(ImportAppRequest_ImportOptions_ConflictResolutionStrategy) + *p = x + return p +} + +func (x ImportAppRequest_ImportOptions_ConflictResolutionStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportAppRequest_ImportOptions_ConflictResolutionStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_agent_service_proto_enumTypes[1].Descriptor() +} + +func (ImportAppRequest_ImportOptions_ConflictResolutionStrategy) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_agent_service_proto_enumTypes[1] +} + +func (x ImportAppRequest_ImportOptions_ConflictResolutionStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ImportAppRequest_ImportOptions_ConflictResolutionStrategy.Descriptor instead. +func (ImportAppRequest_ImportOptions_ConflictResolutionStrategy) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{8, 0, 0} +} + +// Request message for +// [AgentService.ListApps][google.cloud.ces.v1beta.AgentService.ListApps]. +type ListAppsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to list apps from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListAppsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListApps][google.cloud.ces.v1beta.AgentService.ListApps] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the apps. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListAppsRequest) Reset() { + *x = ListAppsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAppsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAppsRequest) ProtoMessage() {} + +func (x *ListAppsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAppsRequest.ProtoReflect.Descriptor instead. +func (*ListAppsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ListAppsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAppsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAppsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListAppsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListAppsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListApps][google.cloud.ces.v1beta.AgentService.ListApps]. +type ListAppsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of apps. + Apps []*App `protobuf:"bytes,1,rep,name=apps,proto3" json:"apps,omitempty"` + // A token that can be sent as + // [ListAppsRequest.page_token][google.cloud.ces.v1beta.ListAppsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Unordered list. Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListAppsResponse) Reset() { + *x = ListAppsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAppsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAppsResponse) ProtoMessage() {} + +func (x *ListAppsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAppsResponse.ProtoReflect.Descriptor instead. +func (*ListAppsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListAppsResponse) GetApps() []*App { + if x != nil { + return x.Apps + } + return nil +} + +func (x *ListAppsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListAppsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for +// [AgentService.GetApp][google.cloud.ces.v1beta.AgentService.GetApp]. +type GetAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetAppRequest) Reset() { + *x = GetAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAppRequest) ProtoMessage() {} + +func (x *GetAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAppRequest.ProtoReflect.Descriptor instead. +func (*GetAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetAppRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateApp][google.cloud.ces.v1beta.AgentService.CreateApp]. +type CreateAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the location to create an app in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the app, which will become the final component + // of the app's resource name. If not provided, a unique ID will be + // automatically assigned for the app. + AppId string `protobuf:"bytes,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + // Required. The app to create. + App *App `protobuf:"bytes,3,opt,name=app,proto3" json:"app,omitempty"` +} + +func (x *CreateAppRequest) Reset() { + *x = CreateAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAppRequest) ProtoMessage() {} + +func (x *CreateAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAppRequest.ProtoReflect.Descriptor instead. +func (*CreateAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{3} +} + +func (x *CreateAppRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateAppRequest) GetAppId() string { + if x != nil { + return x.AppId + } + return "" +} + +func (x *CreateAppRequest) GetApp() *App { + if x != nil { + return x.App + } + return nil +} + +// Request message for +// [AgentService.UpdateApp][google.cloud.ces.v1beta.AgentService.UpdateApp]. +type UpdateAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to update. + App *App `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateAppRequest) Reset() { + *x = UpdateAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAppRequest) ProtoMessage() {} + +func (x *UpdateAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAppRequest.ProtoReflect.Descriptor instead. +func (*UpdateAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateAppRequest) GetApp() *App { + if x != nil { + return x.App + } + return nil +} + +func (x *UpdateAppRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteApp][google.cloud.ces.v1beta.AgentService.DeleteApp]. +type DeleteAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The current etag of the app. If an etag is not provided, the + // deletion will overwrite any concurrent changes. If an etag is provided and + // does not match the current etag of the app, deletion will be blocked and an + // ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteAppRequest) Reset() { + *x = DeleteAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAppRequest) ProtoMessage() {} + +func (x *DeleteAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAppRequest.ProtoReflect.Descriptor instead. +func (*DeleteAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteAppRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteAppRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ExportApp][google.cloud.ces.v1beta.AgentService.ExportApp]. +type ExportAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to export. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The format to export the app in. + ExportFormat ExportAppRequest_ExportFormat `protobuf:"varint,2,opt,name=export_format,json=exportFormat,proto3,enum=google.cloud.ces.v1beta.ExportAppRequest_ExportFormat" json:"export_format,omitempty"` + // Optional. The [Google Cloud + // Storage](https://cloud.google.com/storage/docs/) URI to which to export the + // app. The format of this URI must be `gs:///`. The + // exported app archive will be written directly to the specified GCS object. + GcsUri string `protobuf:"bytes,3,opt,name=gcs_uri,json=gcsUri,proto3" json:"gcs_uri,omitempty"` +} + +func (x *ExportAppRequest) Reset() { + *x = ExportAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExportAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAppRequest) ProtoMessage() {} + +func (x *ExportAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportAppRequest.ProtoReflect.Descriptor instead. +func (*ExportAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{6} +} + +func (x *ExportAppRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportAppRequest) GetExportFormat() ExportAppRequest_ExportFormat { + if x != nil { + return x.ExportFormat + } + return ExportAppRequest_EXPORT_FORMAT_UNSPECIFIED +} + +func (x *ExportAppRequest) GetGcsUri() string { + if x != nil { + return x.GcsUri + } + return "" +} + +// Response message for +// [AgentService.ExportApp][google.cloud.ces.v1beta.AgentService.ExportApp]. +type ExportAppResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The exported app. + // + // Types that are assignable to App: + // + // *ExportAppResponse_AppContent + // *ExportAppResponse_AppUri + App isExportAppResponse_App `protobuf_oneof:"app"` +} + +func (x *ExportAppResponse) Reset() { + *x = ExportAppResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExportAppResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportAppResponse) ProtoMessage() {} + +func (x *ExportAppResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportAppResponse.ProtoReflect.Descriptor instead. +func (*ExportAppResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{7} +} + +func (m *ExportAppResponse) GetApp() isExportAppResponse_App { + if m != nil { + return m.App + } + return nil +} + +func (x *ExportAppResponse) GetAppContent() []byte { + if x, ok := x.GetApp().(*ExportAppResponse_AppContent); ok { + return x.AppContent + } + return nil +} + +func (x *ExportAppResponse) GetAppUri() string { + if x, ok := x.GetApp().(*ExportAppResponse_AppUri); ok { + return x.AppUri + } + return "" +} + +type isExportAppResponse_App interface { + isExportAppResponse_App() +} + +type ExportAppResponse_AppContent struct { + // App folder compressed as a zip file. + AppContent []byte `protobuf:"bytes,1,opt,name=app_content,json=appContent,proto3,oneof"` +} + +type ExportAppResponse_AppUri struct { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to which the app was exported. + AppUri string `protobuf:"bytes,2,opt,name=app_uri,json=appUri,proto3,oneof"` +} + +func (*ExportAppResponse_AppContent) isExportAppResponse_App() {} + +func (*ExportAppResponse_AppUri) isExportAppResponse_App() {} + +// Request message for +// [AgentService.ImportApp][google.cloud.ces.v1beta.AgentService.ImportApp]. +type ImportAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The app to import. + // + // Types that are assignable to App: + // + // *ImportAppRequest_GcsUri + // *ImportAppRequest_AppContent + App isImportAppRequest_App `protobuf_oneof:"app"` + // Required. The parent resource name with the location of the app to import. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The display name of the app to import. + // * If the app is created on import, and the display name is specified, + // the imported app will use this display name. If a conflict is detected + // with an existing app, a timestamp will be appended to the display name + // to make it unique. + // * If the app is a reimport, this field should not be set. Providing a + // display name during reimport will result in an INVALID_ARGUMENT error. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The ID to use for the imported app. + // * If not specified, a unique ID will be automatically assigned for + // the app. + // * Otherwise, the imported app will use this ID as the final component of + // its resource name. If an app with the same ID already exists at the + // specified location in the project, the content of the existing app will be + // replaced. + AppId string `protobuf:"bytes,3,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"` + // Optional. Options governing the import process for the app. + ImportOptions *ImportAppRequest_ImportOptions `protobuf:"bytes,6,opt,name=import_options,json=importOptions,proto3" json:"import_options,omitempty"` + // Optional. Flag for overriding the app lock during import. + // If set to true, the import process will ignore the app lock. + IgnoreAppLock bool `protobuf:"varint,7,opt,name=ignore_app_lock,json=ignoreAppLock,proto3" json:"ignore_app_lock,omitempty"` +} + +func (x *ImportAppRequest) Reset() { + *x = ImportAppRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportAppRequest) ProtoMessage() {} + +func (x *ImportAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportAppRequest.ProtoReflect.Descriptor instead. +func (*ImportAppRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{8} +} + +func (m *ImportAppRequest) GetApp() isImportAppRequest_App { + if m != nil { + return m.App + } + return nil +} + +func (x *ImportAppRequest) GetGcsUri() string { + if x, ok := x.GetApp().(*ImportAppRequest_GcsUri); ok { + return x.GcsUri + } + return "" +} + +func (x *ImportAppRequest) GetAppContent() []byte { + if x, ok := x.GetApp().(*ImportAppRequest_AppContent); ok { + return x.AppContent + } + return nil +} + +func (x *ImportAppRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportAppRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ImportAppRequest) GetAppId() string { + if x != nil { + return x.AppId + } + return "" +} + +func (x *ImportAppRequest) GetImportOptions() *ImportAppRequest_ImportOptions { + if x != nil { + return x.ImportOptions + } + return nil +} + +func (x *ImportAppRequest) GetIgnoreAppLock() bool { + if x != nil { + return x.IgnoreAppLock + } + return false +} + +type isImportAppRequest_App interface { + isImportAppRequest_App() +} + +type ImportAppRequest_GcsUri struct { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // from which to import app. The format of this URI must be + // `gs:///`. + GcsUri string `protobuf:"bytes,4,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` +} + +type ImportAppRequest_AppContent struct { + // Raw bytes representing the compressed zip file with the app folder + // structure. + AppContent []byte `protobuf:"bytes,5,opt,name=app_content,json=appContent,proto3,oneof"` +} + +func (*ImportAppRequest_GcsUri) isImportAppRequest_App() {} + +func (*ImportAppRequest_AppContent) isImportAppRequest_App() {} + +// Response message for +// [AgentService.ImportApp][google.cloud.ces.v1beta.AgentService.ImportApp]. +type ImportAppResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The resource name of the app that was imported. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Warning messages generated during the import process. + // If errors occur for specific resources, they will not be included in the + // imported app and the error will be mentioned here. + Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"` +} + +func (x *ImportAppResponse) Reset() { + *x = ImportAppResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportAppResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportAppResponse) ProtoMessage() {} + +func (x *ImportAppResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportAppResponse.ProtoReflect.Descriptor instead. +func (*ImportAppResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{9} +} + +func (x *ImportAppResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ImportAppResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +// Request message for +// [AgentService.ListAgents][google.cloud.ces.v1beta.AgentService.ListAgents]. +type ListAgentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list agents from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListAgentsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListAgents][google.cloud.ces.v1beta.AgentService.ListAgents] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the agents. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListAgentsRequest) Reset() { + *x = ListAgentsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAgentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAgentsRequest) ProtoMessage() {} + +func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAgentsRequest.ProtoReflect.Descriptor instead. +func (*ListAgentsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{10} +} + +func (x *ListAgentsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAgentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAgentsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListAgentsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListAgentsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListAgents][google.cloud.ces.v1beta.AgentService.ListAgents]. +type ListAgentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of agents. + Agents []*Agent `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"` + // A token that can be sent as + // [ListAgentsRequest.page_token][google.cloud.ces.v1beta.ListAgentsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAgentsResponse) Reset() { + *x = ListAgentsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAgentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAgentsResponse) ProtoMessage() {} + +func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAgentsResponse.ProtoReflect.Descriptor instead. +func (*ListAgentsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{11} +} + +func (x *ListAgentsResponse) GetAgents() []*Agent { + if x != nil { + return x.Agents + } + return nil +} + +func (x *ListAgentsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetAgent][google.cloud.ces.v1beta.AgentService.GetAgent]. +type GetAgentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the agent to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetAgentRequest) Reset() { + *x = GetAgentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAgentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAgentRequest) ProtoMessage() {} + +func (x *GetAgentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAgentRequest.ProtoReflect.Descriptor instead. +func (*GetAgentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{12} +} + +func (x *GetAgentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateAgent][google.cloud.ces.v1beta.AgentService.CreateAgent]. +type CreateAgentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create an agent in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the agent, which will become the final + // component of the agent's resource name. If not provided, a unique ID will + // be automatically assigned for the agent. + AgentId string `protobuf:"bytes,2,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"` + // Required. The agent to create. + Agent *Agent `protobuf:"bytes,3,opt,name=agent,proto3" json:"agent,omitempty"` +} + +func (x *CreateAgentRequest) Reset() { + *x = CreateAgentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAgentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAgentRequest) ProtoMessage() {} + +func (x *CreateAgentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAgentRequest.ProtoReflect.Descriptor instead. +func (*CreateAgentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateAgentRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateAgentRequest) GetAgentId() string { + if x != nil { + return x.AgentId + } + return "" +} + +func (x *CreateAgentRequest) GetAgent() *Agent { + if x != nil { + return x.Agent + } + return nil +} + +// Request message for +// [AgentService.UpdateAgent][google.cloud.ces.v1beta.AgentService.UpdateAgent]. +type UpdateAgentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The agent to update. + Agent *Agent `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateAgentRequest) Reset() { + *x = UpdateAgentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAgentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAgentRequest) ProtoMessage() {} + +func (x *UpdateAgentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAgentRequest.ProtoReflect.Descriptor instead. +func (*UpdateAgentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{14} +} + +func (x *UpdateAgentRequest) GetAgent() *Agent { + if x != nil { + return x.Agent + } + return nil +} + +func (x *UpdateAgentRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteAgent][google.cloud.ces.v1beta.AgentService.DeleteAgent]. +type DeleteAgentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the agent to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicates whether to forcefully delete the agent, even if it is + // still referenced by other app/agents/examples. + // + // * If `force = false`, the deletion fails if other agents/examples + // reference it. + // * If `force = true`, delete the agent and remove it from all referencing + // apps/agents/examples. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The current etag of the agent. If an etag is not provided, the + // deletion will overwrite any concurrent changes. If an etag is provided and + // does not match the current etag of the agent, deletion will be blocked and + // an ABORTED error will be returned. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteAgentRequest) Reset() { + *x = DeleteAgentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAgentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAgentRequest) ProtoMessage() {} + +func (x *DeleteAgentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAgentRequest.ProtoReflect.Descriptor instead. +func (*DeleteAgentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteAgentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteAgentRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteAgentRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Represents the metadata of the long-running operation. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation of the + // operation. Operations that have been cancelled successfully have + // [google.longrunning.Operation.error][google.longrunning.Operation.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`, + // corresponding to `Code.CANCELLED`. + RequestedCancellation bool `protobuf:"varint,4,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{16} +} + +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +// Request message for +// [AgentService.ListExamples][google.cloud.ces.v1beta.AgentService.ListExamples]. +type ListExamplesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list examples from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListExamplesResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListExamples][google.cloud.ces.v1beta.AgentService.ListExamples] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the examples. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListExamplesRequest) Reset() { + *x = ListExamplesRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListExamplesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListExamplesRequest) ProtoMessage() {} + +func (x *ListExamplesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListExamplesRequest.ProtoReflect.Descriptor instead. +func (*ListExamplesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{17} +} + +func (x *ListExamplesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListExamplesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListExamplesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListExamplesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListExamplesRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListExamples][google.cloud.ces.v1beta.AgentService.ListExamples]. +type ListExamplesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of examples. + Examples []*Example `protobuf:"bytes,1,rep,name=examples,proto3" json:"examples,omitempty"` + // A token that can be sent as + // [ListExamplesRequest.page_token][google.cloud.ces.v1beta.ListExamplesRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListExamplesResponse) Reset() { + *x = ListExamplesResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListExamplesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListExamplesResponse) ProtoMessage() {} + +func (x *ListExamplesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListExamplesResponse.ProtoReflect.Descriptor instead. +func (*ListExamplesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{18} +} + +func (x *ListExamplesResponse) GetExamples() []*Example { + if x != nil { + return x.Examples + } + return nil +} + +func (x *ListExamplesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetExample][google.cloud.ces.v1beta.AgentService.GetExample]. +type GetExampleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the example to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetExampleRequest) Reset() { + *x = GetExampleRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetExampleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetExampleRequest) ProtoMessage() {} + +func (x *GetExampleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetExampleRequest.ProtoReflect.Descriptor instead. +func (*GetExampleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{19} +} + +func (x *GetExampleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateExample][google.cloud.ces.v1beta.AgentService.CreateExample]. +type CreateExampleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create an example in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the example, which will become the final + // component of the example's resource name. If not provided, a unique ID will + // be automatically assigned for the example. + ExampleId string `protobuf:"bytes,2,opt,name=example_id,json=exampleId,proto3" json:"example_id,omitempty"` + // Required. The example to create. + Example *Example `protobuf:"bytes,3,opt,name=example,proto3" json:"example,omitempty"` +} + +func (x *CreateExampleRequest) Reset() { + *x = CreateExampleRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateExampleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateExampleRequest) ProtoMessage() {} + +func (x *CreateExampleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateExampleRequest.ProtoReflect.Descriptor instead. +func (*CreateExampleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{20} +} + +func (x *CreateExampleRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateExampleRequest) GetExampleId() string { + if x != nil { + return x.ExampleId + } + return "" +} + +func (x *CreateExampleRequest) GetExample() *Example { + if x != nil { + return x.Example + } + return nil +} + +// Request message for +// [AgentService.UpdateExample][google.cloud.ces.v1beta.AgentService.UpdateExample]. +type UpdateExampleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The example to update. + Example *Example `protobuf:"bytes,1,opt,name=example,proto3" json:"example,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateExampleRequest) Reset() { + *x = UpdateExampleRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateExampleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateExampleRequest) ProtoMessage() {} + +func (x *UpdateExampleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateExampleRequest.ProtoReflect.Descriptor instead. +func (*UpdateExampleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{21} +} + +func (x *UpdateExampleRequest) GetExample() *Example { + if x != nil { + return x.Example + } + return nil +} + +func (x *UpdateExampleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteExample][google.cloud.ces.v1beta.AgentService.DeleteExample]. +type DeleteExampleRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the example to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The current etag of the example. If an etag is not provided, the + // deletion will overwrite any concurrent changes. If an etag is provided and + // does not match the current etag of the example, deletion will be blocked + // and an ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteExampleRequest) Reset() { + *x = DeleteExampleRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteExampleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteExampleRequest) ProtoMessage() {} + +func (x *DeleteExampleRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteExampleRequest.ProtoReflect.Descriptor instead. +func (*DeleteExampleRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{22} +} + +func (x *DeleteExampleRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteExampleRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ListTools][google.cloud.ces.v1beta.AgentService.ListTools]. +type ListToolsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list tools from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListToolsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListTools][google.cloud.ces.v1beta.AgentService.ListTools] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the tools. Use + // "include_system_tools=true" to include system tools in the response. See + // https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListToolsRequest) Reset() { + *x = ListToolsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListToolsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListToolsRequest) ProtoMessage() {} + +func (x *ListToolsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListToolsRequest.ProtoReflect.Descriptor instead. +func (*ListToolsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{23} +} + +func (x *ListToolsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListToolsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListToolsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListToolsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListToolsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListTools][google.cloud.ces.v1beta.AgentService.ListTools]. +type ListToolsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of tools. + Tools []*Tool `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"` + // A token that can be sent as + // [ListToolsRequest.page_token][google.cloud.ces.v1beta.ListToolsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListToolsResponse) Reset() { + *x = ListToolsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListToolsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListToolsResponse) ProtoMessage() {} + +func (x *ListToolsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListToolsResponse.ProtoReflect.Descriptor instead. +func (*ListToolsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{24} +} + +func (x *ListToolsResponse) GetTools() []*Tool { + if x != nil { + return x.Tools + } + return nil +} + +func (x *ListToolsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetTool][google.cloud.ces.v1beta.AgentService.GetTool]. +type GetToolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the tool to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetToolRequest) Reset() { + *x = GetToolRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetToolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetToolRequest) ProtoMessage() {} + +func (x *GetToolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetToolRequest.ProtoReflect.Descriptor instead. +func (*GetToolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{25} +} + +func (x *GetToolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateTool][google.cloud.ces.v1beta.AgentService.CreateTool]. +type CreateToolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create a tool in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the tool, which will become the final component + // of the tool's resource name. If not provided, a unique ID will be + // automatically assigned for the tool. + ToolId string `protobuf:"bytes,2,opt,name=tool_id,json=toolId,proto3" json:"tool_id,omitempty"` + // Required. The tool to create. + Tool *Tool `protobuf:"bytes,3,opt,name=tool,proto3" json:"tool,omitempty"` +} + +func (x *CreateToolRequest) Reset() { + *x = CreateToolRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateToolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateToolRequest) ProtoMessage() {} + +func (x *CreateToolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateToolRequest.ProtoReflect.Descriptor instead. +func (*CreateToolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{26} +} + +func (x *CreateToolRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateToolRequest) GetToolId() string { + if x != nil { + return x.ToolId + } + return "" +} + +func (x *CreateToolRequest) GetTool() *Tool { + if x != nil { + return x.Tool + } + return nil +} + +// Request message for +// [AgentService.UpdateTool][google.cloud.ces.v1beta.AgentService.UpdateTool]. +type UpdateToolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The tool to update. + Tool *Tool `protobuf:"bytes,1,opt,name=tool,proto3" json:"tool,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateToolRequest) Reset() { + *x = UpdateToolRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateToolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateToolRequest) ProtoMessage() {} + +func (x *UpdateToolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateToolRequest.ProtoReflect.Descriptor instead. +func (*UpdateToolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{27} +} + +func (x *UpdateToolRequest) GetTool() *Tool { + if x != nil { + return x.Tool + } + return nil +} + +func (x *UpdateToolRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteTool][google.cloud.ces.v1beta.AgentService.DeleteTool]. +type DeleteToolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the tool to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicates whether to forcefully delete the tool, even if it is + // still referenced by agents/examples. + // + // * If `force = false`, the deletion will fail if any agents still + // reference the tool. + // * If `force = true`, all existing references from agents will be removed + // and the tool will be deleted. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The current etag of the tool. If an etag is not provided, the + // deletion will overwrite any concurrent changes. If an etag is provided and + // does not match the current etag of the tool, deletion will be blocked and + // an ABORTED error will be returned. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteToolRequest) Reset() { + *x = DeleteToolRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteToolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteToolRequest) ProtoMessage() {} + +func (x *DeleteToolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteToolRequest.ProtoReflect.Descriptor instead. +func (*DeleteToolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{28} +} + +func (x *DeleteToolRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteToolRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteToolRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ListConversations][google.cloud.ces.v1beta.AgentService.ListConversations]. +type ListConversationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list conversations from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListConversationsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListConversations][google.cloud.ces.v1beta.AgentService.ListConversations] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the conversations. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Indicate the source of the conversation. If not set, Source.Live + // will be applied by default. Will be deprecated in favor of `sources` field. + Source Conversation_Source `protobuf:"varint,5,opt,name=source,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"source,omitempty"` + // Optional. Indicate the sources of the conversations. If not set, all + // available sources will be applied by default. + Sources []Conversation_Source `protobuf:"varint,6,rep,packed,name=sources,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"sources,omitempty"` +} + +func (x *ListConversationsRequest) Reset() { + *x = ListConversationsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListConversationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListConversationsRequest) ProtoMessage() {} + +func (x *ListConversationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListConversationsRequest.ProtoReflect.Descriptor instead. +func (*ListConversationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{29} +} + +func (x *ListConversationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListConversationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListConversationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListConversationsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListConversationsRequest) GetSource() Conversation_Source { + if x != nil { + return x.Source + } + return Conversation_SOURCE_UNSPECIFIED +} + +func (x *ListConversationsRequest) GetSources() []Conversation_Source { + if x != nil { + return x.Sources + } + return nil +} + +// Response message for +// [AgentService.ListConversations][google.cloud.ces.v1beta.AgentService.ListConversations]. +type ListConversationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of conversations. + Conversations []*Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"` + // A token that can be sent as + // [ListConversationsRequest.page_token][google.cloud.ces.v1beta.ListConversationsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListConversationsResponse) Reset() { + *x = ListConversationsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListConversationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListConversationsResponse) ProtoMessage() {} + +func (x *ListConversationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListConversationsResponse.ProtoReflect.Descriptor instead. +func (*ListConversationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListConversationsResponse) GetConversations() []*Conversation { + if x != nil { + return x.Conversations + } + return nil +} + +func (x *ListConversationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetConversation][google.cloud.ces.v1beta.AgentService.GetConversation]. +type GetConversationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the conversation to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicate the source of the conversation. If not set, all source + // will be searched. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/agent_service.proto. + Source Conversation_Source `protobuf:"varint,2,opt,name=source,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"source,omitempty"` +} + +func (x *GetConversationRequest) Reset() { + *x = GetConversationRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetConversationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConversationRequest) ProtoMessage() {} + +func (x *GetConversationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetConversationRequest.ProtoReflect.Descriptor instead. +func (*GetConversationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{31} +} + +func (x *GetConversationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/agent_service.proto. +func (x *GetConversationRequest) GetSource() Conversation_Source { + if x != nil { + return x.Source + } + return Conversation_SOURCE_UNSPECIFIED +} + +// Request message for +// [AgentService.DeleteConversation][google.cloud.ces.v1beta.AgentService.DeleteConversation]. +type DeleteConversationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the conversation to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicate the source of the conversation. If not set, Source.Live + // will be applied by default. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/agent_service.proto. + Source Conversation_Source `protobuf:"varint,2,opt,name=source,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"source,omitempty"` +} + +func (x *DeleteConversationRequest) Reset() { + *x = DeleteConversationRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteConversationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteConversationRequest) ProtoMessage() {} + +func (x *DeleteConversationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteConversationRequest.ProtoReflect.Descriptor instead. +func (*DeleteConversationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{32} +} + +func (x *DeleteConversationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/agent_service.proto. +func (x *DeleteConversationRequest) GetSource() Conversation_Source { + if x != nil { + return x.Source + } + return Conversation_SOURCE_UNSPECIFIED +} + +// Request message for +// [AgentService.BatchDeleteConversations][google.cloud.ces.v1beta.AgentService.BatchDeleteConversations]. +type BatchDeleteConversationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to delete conversations from. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The resource names of the conversations to delete. + Conversations []string `protobuf:"bytes,2,rep,name=conversations,proto3" json:"conversations,omitempty"` +} + +func (x *BatchDeleteConversationsRequest) Reset() { + *x = BatchDeleteConversationsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchDeleteConversationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchDeleteConversationsRequest) ProtoMessage() {} + +func (x *BatchDeleteConversationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchDeleteConversationsRequest.ProtoReflect.Descriptor instead. +func (*BatchDeleteConversationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{33} +} + +func (x *BatchDeleteConversationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchDeleteConversationsRequest) GetConversations() []string { + if x != nil { + return x.Conversations + } + return nil +} + +// Response message for +// [AgentService.BatchDeleteConversations][google.cloud.ces.v1beta.AgentService.BatchDeleteConversations]. +type BatchDeleteConversationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of conversations that were successfully deleted. + DeletedConversations []string `protobuf:"bytes,1,rep,name=deleted_conversations,json=deletedConversations,proto3" json:"deleted_conversations,omitempty"` + // The list of conversations that failed to be deleted. + FailedConversations []string `protobuf:"bytes,2,rep,name=failed_conversations,json=failedConversations,proto3" json:"failed_conversations,omitempty"` + // Optional. A list of error messages associated with conversations that + // failed to be deleted. + ErrorMessages []string `protobuf:"bytes,3,rep,name=error_messages,json=errorMessages,proto3" json:"error_messages,omitempty"` +} + +func (x *BatchDeleteConversationsResponse) Reset() { + *x = BatchDeleteConversationsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchDeleteConversationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchDeleteConversationsResponse) ProtoMessage() {} + +func (x *BatchDeleteConversationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchDeleteConversationsResponse.ProtoReflect.Descriptor instead. +func (*BatchDeleteConversationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{34} +} + +func (x *BatchDeleteConversationsResponse) GetDeletedConversations() []string { + if x != nil { + return x.DeletedConversations + } + return nil +} + +func (x *BatchDeleteConversationsResponse) GetFailedConversations() []string { + if x != nil { + return x.FailedConversations + } + return nil +} + +func (x *BatchDeleteConversationsResponse) GetErrorMessages() []string { + if x != nil { + return x.ErrorMessages + } + return nil +} + +// Request message for +// [AgentService.ListGuardrails][google.cloud.ces.v1beta.AgentService.ListGuardrails]. +type ListGuardrailsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list guardrails from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListGuardrailsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListGuardrails][google.cloud.ces.v1beta.AgentService.ListGuardrails] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the guardrails. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListGuardrailsRequest) Reset() { + *x = ListGuardrailsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListGuardrailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGuardrailsRequest) ProtoMessage() {} + +func (x *ListGuardrailsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGuardrailsRequest.ProtoReflect.Descriptor instead. +func (*ListGuardrailsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{35} +} + +func (x *ListGuardrailsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListGuardrailsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListGuardrailsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListGuardrailsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListGuardrailsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListGuardrails][google.cloud.ces.v1beta.AgentService.ListGuardrails]. +type ListGuardrailsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of guardrails. + Guardrails []*Guardrail `protobuf:"bytes,1,rep,name=guardrails,proto3" json:"guardrails,omitempty"` + // A token that can be sent as + // [ListGuardrailsRequest.page_token][google.cloud.ces.v1beta.ListGuardrailsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListGuardrailsResponse) Reset() { + *x = ListGuardrailsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListGuardrailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListGuardrailsResponse) ProtoMessage() {} + +func (x *ListGuardrailsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListGuardrailsResponse.ProtoReflect.Descriptor instead. +func (*ListGuardrailsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{36} +} + +func (x *ListGuardrailsResponse) GetGuardrails() []*Guardrail { + if x != nil { + return x.Guardrails + } + return nil +} + +func (x *ListGuardrailsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetGuardrail][google.cloud.ces.v1beta.AgentService.GetGuardrail]. +type GetGuardrailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the guardrail to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetGuardrailRequest) Reset() { + *x = GetGuardrailRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGuardrailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGuardrailRequest) ProtoMessage() {} + +func (x *GetGuardrailRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGuardrailRequest.ProtoReflect.Descriptor instead. +func (*GetGuardrailRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{37} +} + +func (x *GetGuardrailRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateGuardrail][google.cloud.ces.v1beta.AgentService.CreateGuardrail]. +type CreateGuardrailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create a guardrail in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the guardrail, which will become the final + // component of the guardrail's resource name. If not provided, a unique ID + // will be automatically assigned for the guardrail. + GuardrailId string `protobuf:"bytes,2,opt,name=guardrail_id,json=guardrailId,proto3" json:"guardrail_id,omitempty"` + // Required. The guardrail to create. + Guardrail *Guardrail `protobuf:"bytes,3,opt,name=guardrail,proto3" json:"guardrail,omitempty"` +} + +func (x *CreateGuardrailRequest) Reset() { + *x = CreateGuardrailRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateGuardrailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateGuardrailRequest) ProtoMessage() {} + +func (x *CreateGuardrailRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateGuardrailRequest.ProtoReflect.Descriptor instead. +func (*CreateGuardrailRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{38} +} + +func (x *CreateGuardrailRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateGuardrailRequest) GetGuardrailId() string { + if x != nil { + return x.GuardrailId + } + return "" +} + +func (x *CreateGuardrailRequest) GetGuardrail() *Guardrail { + if x != nil { + return x.Guardrail + } + return nil +} + +// Request message for +// [AgentService.UpdateGuardrail][google.cloud.ces.v1beta.AgentService.UpdateGuardrail]. +type UpdateGuardrailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The guardrail to update. + Guardrail *Guardrail `protobuf:"bytes,1,opt,name=guardrail,proto3" json:"guardrail,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateGuardrailRequest) Reset() { + *x = UpdateGuardrailRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateGuardrailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGuardrailRequest) ProtoMessage() {} + +func (x *UpdateGuardrailRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGuardrailRequest.ProtoReflect.Descriptor instead. +func (*UpdateGuardrailRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{39} +} + +func (x *UpdateGuardrailRequest) GetGuardrail() *Guardrail { + if x != nil { + return x.Guardrail + } + return nil +} + +func (x *UpdateGuardrailRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteGuardrail][google.cloud.ces.v1beta.AgentService.DeleteGuardrail]. +type DeleteGuardrailRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the guardrail to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicates whether to forcefully delete the guardrail, even if it + // is still referenced by app/agents. + // + // * If `force = false`, the deletion fails if any apps/agents still + // reference the guardrail. + // * If `force = true`, all existing references from apps/agents will be + // removed and the guardrail will be deleted. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The current etag of the guardrail. If an etag is not provided, + // the deletion will overwrite any concurrent changes. If an etag is provided + // and does not match the current etag of the guardrail, deletion will be + // blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteGuardrailRequest) Reset() { + *x = DeleteGuardrailRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteGuardrailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteGuardrailRequest) ProtoMessage() {} + +func (x *DeleteGuardrailRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteGuardrailRequest.ProtoReflect.Descriptor instead. +func (*DeleteGuardrailRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{40} +} + +func (x *DeleteGuardrailRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteGuardrailRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteGuardrailRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ListDeployments][google.cloud.ces.v1beta.AgentService.ListDeployments]. +type ListDeploymentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent app. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of deployments to return. The service may + // return fewer than this value. If unspecified, at most 50 deployments will + // be returned. The maximum value is 1000; values above 1000 will be coerced + // to 1000. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A page token, received from a previous `ListDeployments` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListDeployments` must + // match the call that provided the page token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListDeploymentsRequest) Reset() { + *x = ListDeploymentsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeploymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsRequest) ProtoMessage() {} + +func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{41} +} + +func (x *ListDeploymentsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDeploymentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDeploymentsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListDeploymentsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListDeployments][google.cloud.ces.v1beta.AgentService.ListDeployments]. +type ListDeploymentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of deployments. + Deployments []*Deployment `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDeploymentsResponse) Reset() { + *x = ListDeploymentsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeploymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsResponse) ProtoMessage() {} + +func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{42} +} + +func (x *ListDeploymentsResponse) GetDeployments() []*Deployment { + if x != nil { + return x.Deployments + } + return nil +} + +func (x *ListDeploymentsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetDeployment][google.cloud.ces.v1beta.AgentService.GetDeployment]. +type GetDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetDeploymentRequest) Reset() { + *x = GetDeploymentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeploymentRequest) ProtoMessage() {} + +func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. +func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{43} +} + +func (x *GetDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateDeployment][google.cloud.ces.v1beta.AgentService.CreateDeployment]. +type CreateDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent app. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the deployment, which will become the final + // component of the deployment's resource name. If not provided, a unique ID + // will be automatically assigned for the deployment. + DeploymentId string `protobuf:"bytes,3,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` + // Required. The deployment to create. + Deployment *Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` +} + +func (x *CreateDeploymentRequest) Reset() { + *x = CreateDeploymentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDeploymentRequest) ProtoMessage() {} + +func (x *CreateDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDeploymentRequest.ProtoReflect.Descriptor instead. +func (*CreateDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{44} +} + +func (x *CreateDeploymentRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDeploymentRequest) GetDeploymentId() string { + if x != nil { + return x.DeploymentId + } + return "" +} + +func (x *CreateDeploymentRequest) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// Request message for +// [AgentService.UpdateDeployment][google.cloud.ces.v1beta.AgentService.UpdateDeployment]. +type UpdateDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The deployment to update. + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Optional. The list of fields to update. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateDeploymentRequest) Reset() { + *x = UpdateDeploymentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDeploymentRequest) ProtoMessage() {} + +func (x *UpdateDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDeploymentRequest.ProtoReflect.Descriptor instead. +func (*UpdateDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{45} +} + +func (x *UpdateDeploymentRequest) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *UpdateDeploymentRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteDeployment][google.cloud.ces.v1beta.AgentService.DeleteDeployment]. +type DeleteDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment to delete. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The etag of the deployment. + // If an etag is provided and does not match the current etag of the + // deployment, deletion will be blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteDeploymentRequest) Reset() { + *x = DeleteDeploymentRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteDeploymentRequest) ProtoMessage() {} + +func (x *DeleteDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteDeploymentRequest.ProtoReflect.Descriptor instead. +func (*DeleteDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{46} +} + +func (x *DeleteDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteDeploymentRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ListToolsets][google.cloud.ces.v1beta.AgentService.ListToolsets]. +type ListToolsetsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list toolsets from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListToolsetsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListToolsets][google.cloud.ces.v1beta.AgentService.ListToolsets] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the toolsets. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListToolsetsRequest) Reset() { + *x = ListToolsetsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListToolsetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListToolsetsRequest) ProtoMessage() {} + +func (x *ListToolsetsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListToolsetsRequest.ProtoReflect.Descriptor instead. +func (*ListToolsetsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{47} +} + +func (x *ListToolsetsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListToolsetsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListToolsetsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListToolsetsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListToolsetsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListToolsets][google.cloud.ces.v1beta.AgentService.ListToolsets]. +type ListToolsetsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of toolsets. + Toolsets []*Toolset `protobuf:"bytes,1,rep,name=toolsets,proto3" json:"toolsets,omitempty"` + // A token that can be sent as + // [ListToolsetsRequest.page_token][google.cloud.ces.v1beta.ListToolsetsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListToolsetsResponse) Reset() { + *x = ListToolsetsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListToolsetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListToolsetsResponse) ProtoMessage() {} + +func (x *ListToolsetsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListToolsetsResponse.ProtoReflect.Descriptor instead. +func (*ListToolsetsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{48} +} + +func (x *ListToolsetsResponse) GetToolsets() []*Toolset { + if x != nil { + return x.Toolsets + } + return nil +} + +func (x *ListToolsetsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetToolset][google.cloud.ces.v1beta.AgentService.GetToolset]. +type GetToolsetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the toolset to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetToolsetRequest) Reset() { + *x = GetToolsetRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetToolsetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetToolsetRequest) ProtoMessage() {} + +func (x *GetToolsetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetToolsetRequest.ProtoReflect.Descriptor instead. +func (*GetToolsetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{49} +} + +func (x *GetToolsetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.CreateToolset][google.cloud.ces.v1beta.AgentService.CreateToolset]. +type CreateToolsetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create a toolset in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the toolset, which will become the final + // component of the toolset's resource name. If not provided, a unique ID will + // be automatically assigned for the toolset. + ToolsetId string `protobuf:"bytes,2,opt,name=toolset_id,json=toolsetId,proto3" json:"toolset_id,omitempty"` + // Required. The toolset to create. + Toolset *Toolset `protobuf:"bytes,3,opt,name=toolset,proto3" json:"toolset,omitempty"` +} + +func (x *CreateToolsetRequest) Reset() { + *x = CreateToolsetRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateToolsetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateToolsetRequest) ProtoMessage() {} + +func (x *CreateToolsetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateToolsetRequest.ProtoReflect.Descriptor instead. +func (*CreateToolsetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{50} +} + +func (x *CreateToolsetRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateToolsetRequest) GetToolsetId() string { + if x != nil { + return x.ToolsetId + } + return "" +} + +func (x *CreateToolsetRequest) GetToolset() *Toolset { + if x != nil { + return x.Toolset + } + return nil +} + +// Request message for +// [AgentService.UpdateToolset][google.cloud.ces.v1beta.AgentService.UpdateToolset]. +type UpdateToolsetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The toolset to update. + Toolset *Toolset `protobuf:"bytes,1,opt,name=toolset,proto3" json:"toolset,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateToolsetRequest) Reset() { + *x = UpdateToolsetRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateToolsetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateToolsetRequest) ProtoMessage() {} + +func (x *UpdateToolsetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateToolsetRequest.ProtoReflect.Descriptor instead. +func (*UpdateToolsetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{51} +} + +func (x *UpdateToolsetRequest) GetToolset() *Toolset { + if x != nil { + return x.Toolset + } + return nil +} + +func (x *UpdateToolsetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [AgentService.DeleteToolset][google.cloud.ces.v1beta.AgentService.DeleteToolset]. +type DeleteToolsetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the toolset to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicates whether to forcefully delete the toolset, even if it is + // still referenced by app/agents. + // + // * If `force = false`, the deletion fails if any agents still + // reference the toolset. + // * If `force = true`, all existing references from agents will be + // removed and the toolset will be deleted. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The current etag of the toolset. If an etag is not provided, the + // deletion will overwrite any concurrent changes. If an etag is provided and + // does not match the current etag of the toolset, deletion will be blocked + // and an ABORTED error will be returned. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteToolsetRequest) Reset() { + *x = DeleteToolsetRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteToolsetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteToolsetRequest) ProtoMessage() {} + +func (x *DeleteToolsetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteToolsetRequest.ProtoReflect.Descriptor instead. +func (*DeleteToolsetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{52} +} + +func (x *DeleteToolsetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteToolsetRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteToolsetRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.ListAppVersions][google.cloud.ces.v1beta.AgentService.ListAppVersions]. +type ListAppVersionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list app versions from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListAppVersionsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListAppVersions][google.cloud.ces.v1beta.AgentService.ListAppVersions] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the app versions. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListAppVersionsRequest) Reset() { + *x = ListAppVersionsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAppVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAppVersionsRequest) ProtoMessage() {} + +func (x *ListAppVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAppVersionsRequest.ProtoReflect.Descriptor instead. +func (*ListAppVersionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{53} +} + +func (x *ListAppVersionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListAppVersionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAppVersionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListAppVersionsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListAppVersionsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListAppVersions][google.cloud.ces.v1beta.AgentService.ListAppVersions]. +type ListAppVersionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of app versions. + AppVersions []*AppVersion `protobuf:"bytes,1,rep,name=app_versions,json=appVersions,proto3" json:"app_versions,omitempty"` + // A token that can be sent as + // [ListAppVersionsRequest.page_token][google.cloud.ces.v1beta.ListAppVersionsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListAppVersionsResponse) Reset() { + *x = ListAppVersionsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAppVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAppVersionsResponse) ProtoMessage() {} + +func (x *ListAppVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAppVersionsResponse.ProtoReflect.Descriptor instead. +func (*ListAppVersionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{54} +} + +func (x *ListAppVersionsResponse) GetAppVersions() []*AppVersion { + if x != nil { + return x.AppVersions + } + return nil +} + +func (x *ListAppVersionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetAppVersion][google.cloud.ces.v1beta.AgentService.GetAppVersion]. +type GetAppVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app version to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetAppVersionRequest) Reset() { + *x = GetAppVersionRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAppVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAppVersionRequest) ProtoMessage() {} + +func (x *GetAppVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAppVersionRequest.ProtoReflect.Descriptor instead. +func (*GetAppVersionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{55} +} + +func (x *GetAppVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [AgentService.DeleteAppVersion][google.cloud.ces.v1beta.AgentService.DeleteAppVersion]. +type DeleteAppVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app version to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The current etag of the app version. If an etag is not provided, + // the deletion will overwrite any concurrent changes. If an etag is provided + // and does not match the current etag of the app version, deletion will be + // blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteAppVersionRequest) Reset() { + *x = DeleteAppVersionRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAppVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAppVersionRequest) ProtoMessage() {} + +func (x *DeleteAppVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAppVersionRequest.ProtoReflect.Descriptor instead. +func (*DeleteAppVersionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{56} +} + +func (x *DeleteAppVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteAppVersionRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [AgentService.CreateAppVersion][google.cloud.ces.v1beta.AgentService.CreateAppVersion] +type CreateAppVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to create an app version in. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the app version, which will become the final + // component of the app version's resource name. If not provided, a unique ID + // will be automatically assigned for the app version. + AppVersionId string `protobuf:"bytes,2,opt,name=app_version_id,json=appVersionId,proto3" json:"app_version_id,omitempty"` + // Required. The app version to create. + AppVersion *AppVersion `protobuf:"bytes,3,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` +} + +func (x *CreateAppVersionRequest) Reset() { + *x = CreateAppVersionRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAppVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAppVersionRequest) ProtoMessage() {} + +func (x *CreateAppVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAppVersionRequest.ProtoReflect.Descriptor instead. +func (*CreateAppVersionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{57} +} + +func (x *CreateAppVersionRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateAppVersionRequest) GetAppVersionId() string { + if x != nil { + return x.AppVersionId + } + return "" +} + +func (x *CreateAppVersionRequest) GetAppVersion() *AppVersion { + if x != nil { + return x.AppVersion + } + return nil +} + +// Request message for +// [AgentService.RestoreAppVersion][google.cloud.ces.v1beta.AgentService.RestoreAppVersion] +type RestoreAppVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app version to restore. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RestoreAppVersionRequest) Reset() { + *x = RestoreAppVersionRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestoreAppVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreAppVersionRequest) ProtoMessage() {} + +func (x *RestoreAppVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestoreAppVersionRequest.ProtoReflect.Descriptor instead. +func (*RestoreAppVersionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{58} +} + +func (x *RestoreAppVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Response message for +// [AgentService.RestoreAppVersion][google.cloud.ces.v1beta.AgentService.RestoreAppVersion] +type RestoreAppVersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RestoreAppVersionResponse) Reset() { + *x = RestoreAppVersionResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestoreAppVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreAppVersionResponse) ProtoMessage() {} + +func (x *RestoreAppVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestoreAppVersionResponse.ProtoReflect.Descriptor instead. +func (*RestoreAppVersionResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{59} +} + +// Response message for +// [AgentService.GenerateAppResource][google.cloud.ces.v1beta.AgentService.GenerateAppResource]. +type GenerateAppResourceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The generated resource. + // + // Types that are assignable to GeneratedResource: + // + // *GenerateAppResourceResponse_Agent + // *GenerateAppResourceResponse_Toolset + // *GenerateAppResourceResponse_AppSnapshot + // *GenerateAppResourceResponse_Tools_ + // *GenerateAppResourceResponse_Evaluations_ + // *GenerateAppResourceResponse_AppResources_ + GeneratedResource isGenerateAppResourceResponse_GeneratedResource `protobuf_oneof:"generated_resource"` + // Additional information about the generated result. + GenerateResultInfo *GenerateAppResourceResponse_GenerateResultInfo `protobuf:"bytes,2,opt,name=generate_result_info,json=generateResultInfo,proto3" json:"generate_result_info,omitempty"` +} + +func (x *GenerateAppResourceResponse) Reset() { + *x = GenerateAppResourceResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAppResourceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAppResourceResponse) ProtoMessage() {} + +func (x *GenerateAppResourceResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAppResourceResponse.ProtoReflect.Descriptor instead. +func (*GenerateAppResourceResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{60} +} + +func (m *GenerateAppResourceResponse) GetGeneratedResource() isGenerateAppResourceResponse_GeneratedResource { + if m != nil { + return m.GeneratedResource + } + return nil +} + +func (x *GenerateAppResourceResponse) GetAgent() *Agent { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_Agent); ok { + return x.Agent + } + return nil +} + +func (x *GenerateAppResourceResponse) GetToolset() *Toolset { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_Toolset); ok { + return x.Toolset + } + return nil +} + +func (x *GenerateAppResourceResponse) GetAppSnapshot() *AppSnapshot { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_AppSnapshot); ok { + return x.AppSnapshot + } + return nil +} + +func (x *GenerateAppResourceResponse) GetTools() *GenerateAppResourceResponse_Tools { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_Tools_); ok { + return x.Tools + } + return nil +} + +func (x *GenerateAppResourceResponse) GetEvaluations() *GenerateAppResourceResponse_Evaluations { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_Evaluations_); ok { + return x.Evaluations + } + return nil +} + +func (x *GenerateAppResourceResponse) GetAppResources() *GenerateAppResourceResponse_AppResources { + if x, ok := x.GetGeneratedResource().(*GenerateAppResourceResponse_AppResources_); ok { + return x.AppResources + } + return nil +} + +func (x *GenerateAppResourceResponse) GetGenerateResultInfo() *GenerateAppResourceResponse_GenerateResultInfo { + if x != nil { + return x.GenerateResultInfo + } + return nil +} + +type isGenerateAppResourceResponse_GeneratedResource interface { + isGenerateAppResourceResponse_GeneratedResource() +} + +type GenerateAppResourceResponse_Agent struct { + // Agent generated by the LLM assistant. + Agent *Agent `protobuf:"bytes,1,opt,name=agent,proto3,oneof"` +} + +type GenerateAppResourceResponse_Toolset struct { + // Toolset generated by the LLM assistant. Supports Open API toolset schema + // generation. + Toolset *Toolset `protobuf:"bytes,3,opt,name=toolset,proto3,oneof"` +} + +type GenerateAppResourceResponse_AppSnapshot struct { + // App snapshot generated by the LLM assistant. This snapshot contains the + // app, agents & tools generated by the LLM assistant. + AppSnapshot *AppSnapshot `protobuf:"bytes,4,opt,name=app_snapshot,json=appSnapshot,proto3,oneof"` +} + +type GenerateAppResourceResponse_Tools_ struct { + // The list of tools generated by the LLM assistant. + Tools *GenerateAppResourceResponse_Tools `protobuf:"bytes,5,opt,name=tools,proto3,oneof"` +} + +type GenerateAppResourceResponse_Evaluations_ struct { + // Evaluations generated by the LLM assistant. + Evaluations *GenerateAppResourceResponse_Evaluations `protobuf:"bytes,6,opt,name=evaluations,proto3,oneof"` +} + +type GenerateAppResourceResponse_AppResources_ struct { + // The app resources generated by the LLM assistant. + AppResources *GenerateAppResourceResponse_AppResources `protobuf:"bytes,7,opt,name=app_resources,json=appResources,proto3,oneof"` +} + +func (*GenerateAppResourceResponse_Agent) isGenerateAppResourceResponse_GeneratedResource() {} + +func (*GenerateAppResourceResponse_Toolset) isGenerateAppResourceResponse_GeneratedResource() {} + +func (*GenerateAppResourceResponse_AppSnapshot) isGenerateAppResourceResponse_GeneratedResource() {} + +func (*GenerateAppResourceResponse_Tools_) isGenerateAppResourceResponse_GeneratedResource() {} + +func (*GenerateAppResourceResponse_Evaluations_) isGenerateAppResourceResponse_GeneratedResource() {} + +func (*GenerateAppResourceResponse_AppResources_) isGenerateAppResourceResponse_GeneratedResource() {} + +// Request message for +// [AgentService.ListChangelogs][google.cloud.ces.v1beta.AgentService.ListChangelogs]. +type ListChangelogsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list changelogs from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListChangelogsResponse.next_page_token] + // value returned from a previous list + // [AgentService.ListChangelogs][google.cloud.ces.v1beta.AgentService.ListChangelogs] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the changelogs. + // See https://google.aip.dev/160 for more details. + // + // The filter string can be used to filter by `action`, `resource_type`, + // `resource_name`, `author`, and `create_time`. + // The `:` comparator can be used for case-insensitive partial matching on + // string fields, while `=` performs an exact case-sensitive match. + // + // Examples: + // * `action:update` (case-insensitive partial match) + // * `action="Create"` (case-sensitive exact match) + // * `resource_type:agent` + // * `resource_name:my-agent` + // * `author:me@example.com` + // * `create_time > "2025-01-01T00:00:00Z"` + // * `create_time <= "2025-01-01T00:00:00Z" AND resource_type:tool` + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time" is supported. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListChangelogsRequest) Reset() { + *x = ListChangelogsRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListChangelogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChangelogsRequest) ProtoMessage() {} + +func (x *ListChangelogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListChangelogsRequest.ProtoReflect.Descriptor instead. +func (*ListChangelogsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{61} +} + +func (x *ListChangelogsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListChangelogsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListChangelogsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListChangelogsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListChangelogsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [AgentService.ListChangelogs][google.cloud.ces.v1beta.AgentService.ListChangelogs]. +type ListChangelogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of changelogs. + Changelogs []*Changelog `protobuf:"bytes,1,rep,name=changelogs,proto3" json:"changelogs,omitempty"` + // A token that can be sent as + // [ListChangelogsRequest.page_token][google.cloud.ces.v1beta.ListChangelogsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListChangelogsResponse) Reset() { + *x = ListChangelogsResponse{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListChangelogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListChangelogsResponse) ProtoMessage() {} + +func (x *ListChangelogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListChangelogsResponse.ProtoReflect.Descriptor instead. +func (*ListChangelogsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{62} +} + +func (x *ListChangelogsResponse) GetChangelogs() []*Changelog { + if x != nil { + return x.Changelogs + } + return nil +} + +func (x *ListChangelogsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [AgentService.GetChangelog][google.cloud.ces.v1beta.AgentService.GetChangelog]. +type GetChangelogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the changelog to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetChangelogRequest) Reset() { + *x = GetChangelogRequest{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetChangelogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetChangelogRequest) ProtoMessage() {} + +func (x *GetChangelogRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetChangelogRequest.ProtoReflect.Descriptor instead. +func (*GetChangelogRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{63} +} + +func (x *GetChangelogRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Configuration options for the app import process. +// These options control how the import behaves, particularly when +// conflicts arise with existing app data. +type ImportAppRequest_ImportOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The strategy to use when resolving conflicts during import. + ConflictResolutionStrategy ImportAppRequest_ImportOptions_ConflictResolutionStrategy `protobuf:"varint,1,opt,name=conflict_resolution_strategy,json=conflictResolutionStrategy,proto3,enum=google.cloud.ces.v1beta.ImportAppRequest_ImportOptions_ConflictResolutionStrategy" json:"conflict_resolution_strategy,omitempty"` +} + +func (x *ImportAppRequest_ImportOptions) Reset() { + *x = ImportAppRequest_ImportOptions{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportAppRequest_ImportOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportAppRequest_ImportOptions) ProtoMessage() {} + +func (x *ImportAppRequest_ImportOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportAppRequest_ImportOptions.ProtoReflect.Descriptor instead. +func (*ImportAppRequest_ImportOptions) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *ImportAppRequest_ImportOptions) GetConflictResolutionStrategy() ImportAppRequest_ImportOptions_ConflictResolutionStrategy { + if x != nil { + return x.ConflictResolutionStrategy + } + return ImportAppRequest_ImportOptions_CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED +} + +// The list of evaluations generated by the LLM assistant. +type GenerateAppResourceResponse_Evaluations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of generated evaluations. + Evaluations []*Evaluation `protobuf:"bytes,1,rep,name=evaluations,proto3" json:"evaluations,omitempty"` +} + +func (x *GenerateAppResourceResponse_Evaluations) Reset() { + *x = GenerateAppResourceResponse_Evaluations{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAppResourceResponse_Evaluations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAppResourceResponse_Evaluations) ProtoMessage() {} + +func (x *GenerateAppResourceResponse_Evaluations) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAppResourceResponse_Evaluations.ProtoReflect.Descriptor instead. +func (*GenerateAppResourceResponse_Evaluations) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{60, 0} +} + +func (x *GenerateAppResourceResponse_Evaluations) GetEvaluations() []*Evaluation { + if x != nil { + return x.Evaluations + } + return nil +} + +// The list of tools generated by the LLM assistant. +type GenerateAppResourceResponse_Tools struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of tools generated by the LLM assistant. + Tools []*Tool `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"` +} + +func (x *GenerateAppResourceResponse_Tools) Reset() { + *x = GenerateAppResourceResponse_Tools{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAppResourceResponse_Tools) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAppResourceResponse_Tools) ProtoMessage() {} + +func (x *GenerateAppResourceResponse_Tools) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAppResourceResponse_Tools.ProtoReflect.Descriptor instead. +func (*GenerateAppResourceResponse_Tools) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{60, 1} +} + +func (x *GenerateAppResourceResponse_Tools) GetTools() []*Tool { + if x != nil { + return x.Tools + } + return nil +} + +// The list of app resources generated by the LLM assistant. +type GenerateAppResourceResponse_AppResources struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The app snapshot generated by the LLM assistant. This snapshot contains + // the app, agents & tools generated by the LLM assistant. + AppSnapshot *AppSnapshot `protobuf:"bytes,1,opt,name=app_snapshot,json=appSnapshot,proto3" json:"app_snapshot,omitempty"` + // The list of evaluations generated by the LLM assistant. + Evaluations []*Evaluation `protobuf:"bytes,2,rep,name=evaluations,proto3" json:"evaluations,omitempty"` +} + +func (x *GenerateAppResourceResponse_AppResources) Reset() { + *x = GenerateAppResourceResponse_AppResources{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAppResourceResponse_AppResources) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAppResourceResponse_AppResources) ProtoMessage() {} + +func (x *GenerateAppResourceResponse_AppResources) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAppResourceResponse_AppResources.ProtoReflect.Descriptor instead. +func (*GenerateAppResourceResponse_AppResources) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{60, 2} +} + +func (x *GenerateAppResourceResponse_AppResources) GetAppSnapshot() *AppSnapshot { + if x != nil { + return x.AppSnapshot + } + return nil +} + +func (x *GenerateAppResourceResponse_AppResources) GetEvaluations() []*Evaluation { + if x != nil { + return x.Evaluations + } + return nil +} + +// This provides additional information about the generated result. +type GenerateAppResourceResponse_GenerateResultInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An explanation of the changes in the generated resource. + Explanation string `protobuf:"bytes,1,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *GenerateAppResourceResponse_GenerateResultInfo) Reset() { + *x = GenerateAppResourceResponse_GenerateResultInfo{} + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateAppResourceResponse_GenerateResultInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateAppResourceResponse_GenerateResultInfo) ProtoMessage() {} + +func (x *GenerateAppResourceResponse_GenerateResultInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateAppResourceResponse_GenerateResultInfo.ProtoReflect.Descriptor instead. +func (*GenerateAppResourceResponse_GenerateResultInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP(), []int{60, 3} +} + +func (x *GenerateAppResourceResponse_GenerateResultInfo) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +var File_google_cloud_ces_v1beta_agent_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_agent_service_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, + 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x12, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x70, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x04, 0x61, 0x70, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x06, 0x52, 0x0b, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x43, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x9b, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x12, 0x16, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x06, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x70, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x61, 0x70, 0x70, 0x22, 0x89, 0x01, + 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5f, 0x0a, 0x10, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x89, 0x02, 0x0a, 0x10, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x67, 0x63, 0x73, + 0x55, 0x72, 0x69, 0x22, 0x41, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x02, 0x22, 0x58, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x61, + 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x19, + 0x0a, 0x07, 0x61, 0x70, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x61, 0x70, 0x70, 0x55, 0x72, 0x69, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x70, 0x70, + 0x22, 0xfb, 0x04, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, + 0x12, 0x21, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x12, 0x16, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, + 0x63, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, + 0x70, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x70, 0x4c, 0x6f, 0x63, + 0x6b, 0x1a, 0x93, 0x02, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x99, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, + 0x66, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, + 0x28, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x56, 0x45, 0x52, + 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x22, 0x60, + 0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1b, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x12, 0x18, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x22, 0x74, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x47, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1a, 0x12, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x91, + 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0x7e, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x0a, 0x18, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0xf9, 0x01, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, + 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x12, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x7c, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1c, 0x12, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x67, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, + 0xce, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0x70, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x45, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x12, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x22, 0x8d, + 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7c, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, + 0x6f, 0x6c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xd6, 0x02, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x21, 0x12, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x05, + 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa5, 0x01, + 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x21, 0x12, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x20, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, + 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x1e, 0x12, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, + 0x52, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x12, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, + 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x22, 0xa1, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x86, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x17, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, + 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x6d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xd4, + 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x12, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x7c, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xb7, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1c, 0x12, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x36, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xda, 0x01, 0x0a, 0x16, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, + 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, + 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1b, + 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x08, 0x0a, 0x1b, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x48, 0x00, 0x52, + 0x0b, 0x61, 0x70, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x52, 0x0a, 0x05, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x12, 0x64, 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x79, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x54, 0x0a, 0x0b, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x0b, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x3c, 0x0a, 0x05, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x1a, + 0x9e, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x47, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x70, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0b, 0x61, 0x70, + 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x36, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd8, + 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, + 0x12, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x4f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x32, 0x88, 0x48, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x73, 0x12, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x12, 0x26, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x70, 0x70, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, + 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, + 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0xca, 0x41, 0x18, 0x0a, 0x03, + 0x41, 0x70, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x61, 0x70, 0x70, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x0a, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x70, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x03, 0x61, + 0x70, 0x70, 0x22, 0x2c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x12, 0xa5, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x22, 0x4f, 0xda, 0x41, 0x0f, 0x61, 0x70, 0x70, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x37, 0x3a, 0x03, 0x61, 0x70, 0x70, 0x32, 0x30, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x61, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbf, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x68, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x09, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x71, 0xca, 0x41, 0x26, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, + 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x41, 0x70, 0x70, 0x12, 0xdf, 0x01, 0x0a, 0x09, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x41, 0x70, 0x70, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, + 0xca, 0x41, 0x26, 0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1a, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, + 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, + 0x36, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x3a, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x70, 0x12, 0xad, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x46, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x9a, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x44, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x22, 0x6b, 0xda, 0x41, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x0c, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, + 0x3a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xba, + 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x5e, 0xda, 0x41, 0x11, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x32, 0x3b, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, + 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x98, 0x01, 0x0a, 0x0b, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x44, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, + 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xa2, + 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x46, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x75, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0xc8, 0x01, + 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x22, 0x66, 0xda, 0x41, 0x13, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x3a, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x32, 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x46, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, + 0x2a, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x09, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, + 0x34, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6f, + 0x6c, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x22, 0x43, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc9, + 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xad, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0xca, 0x41, 0x35, 0x0a, + 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0xbf, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x22, 0x66, 0xda, 0x41, 0x13, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0xda, 0x41, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x6f, 0x6f, 0x6c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x22, 0x34, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, + 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x22, 0x5a, 0xda, 0x41, + 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x32, 0x39, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x43, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x2a, 0x34, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xbd, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0xaa, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, + 0x6c, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x47, + 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe7, 0x01, + 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, + 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, + 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x22, 0x7f, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2c, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x46, 0x3a, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x22, 0x39, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x12, 0xd6, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, + 0x22, 0x6e, 0xda, 0x41, 0x15, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, + 0x3a, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x32, 0x43, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xa4, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x48, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x0d, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, + 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf0, 0x01, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x84, 0x01, 0xda, 0x41, 0x1f, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x11, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x3a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0xdd, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x72, 0xda, 0x41, 0x16, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xa7, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x49, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x73, 0x12, 0xa2, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x22, 0x46, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x22, 0x75, 0xda, 0x41, 0x19, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2c, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x07, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, + 0x12, 0xc8, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x74, 0x22, 0x66, 0xda, 0x41, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4a, 0x3a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x32, 0x3f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x46, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x39, 0x2a, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, + 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbe, 0x01, 0x0a, + 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x48, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xab, 0x01, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x46, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf1, 0x01, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xda, 0x41, 0x21, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, + 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0xda, 0x41, + 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0xa4, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x46, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a, 0x37, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x70, + 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, + 0x01, 0xca, 0x41, 0x2e, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, + 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x12, 0xbd, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, + 0x6f, 0x67, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, + 0x1a, 0x6a, 0xca, 0x41, 0x12, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x65, 0x73, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xce, 0x01, 0xea, + 0x41, 0x6a, 0x0a, 0x2c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_agent_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_agent_service_proto_rawDescData = file_google_cloud_ces_v1beta_agent_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_agent_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_agent_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_agent_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_agent_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_agent_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_agent_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_ces_v1beta_agent_service_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_google_cloud_ces_v1beta_agent_service_proto_goTypes = []any{ + (ExportAppRequest_ExportFormat)(0), // 0: google.cloud.ces.v1beta.ExportAppRequest.ExportFormat + (ImportAppRequest_ImportOptions_ConflictResolutionStrategy)(0), // 1: google.cloud.ces.v1beta.ImportAppRequest.ImportOptions.ConflictResolutionStrategy + (*ListAppsRequest)(nil), // 2: google.cloud.ces.v1beta.ListAppsRequest + (*ListAppsResponse)(nil), // 3: google.cloud.ces.v1beta.ListAppsResponse + (*GetAppRequest)(nil), // 4: google.cloud.ces.v1beta.GetAppRequest + (*CreateAppRequest)(nil), // 5: google.cloud.ces.v1beta.CreateAppRequest + (*UpdateAppRequest)(nil), // 6: google.cloud.ces.v1beta.UpdateAppRequest + (*DeleteAppRequest)(nil), // 7: google.cloud.ces.v1beta.DeleteAppRequest + (*ExportAppRequest)(nil), // 8: google.cloud.ces.v1beta.ExportAppRequest + (*ExportAppResponse)(nil), // 9: google.cloud.ces.v1beta.ExportAppResponse + (*ImportAppRequest)(nil), // 10: google.cloud.ces.v1beta.ImportAppRequest + (*ImportAppResponse)(nil), // 11: google.cloud.ces.v1beta.ImportAppResponse + (*ListAgentsRequest)(nil), // 12: google.cloud.ces.v1beta.ListAgentsRequest + (*ListAgentsResponse)(nil), // 13: google.cloud.ces.v1beta.ListAgentsResponse + (*GetAgentRequest)(nil), // 14: google.cloud.ces.v1beta.GetAgentRequest + (*CreateAgentRequest)(nil), // 15: google.cloud.ces.v1beta.CreateAgentRequest + (*UpdateAgentRequest)(nil), // 16: google.cloud.ces.v1beta.UpdateAgentRequest + (*DeleteAgentRequest)(nil), // 17: google.cloud.ces.v1beta.DeleteAgentRequest + (*OperationMetadata)(nil), // 18: google.cloud.ces.v1beta.OperationMetadata + (*ListExamplesRequest)(nil), // 19: google.cloud.ces.v1beta.ListExamplesRequest + (*ListExamplesResponse)(nil), // 20: google.cloud.ces.v1beta.ListExamplesResponse + (*GetExampleRequest)(nil), // 21: google.cloud.ces.v1beta.GetExampleRequest + (*CreateExampleRequest)(nil), // 22: google.cloud.ces.v1beta.CreateExampleRequest + (*UpdateExampleRequest)(nil), // 23: google.cloud.ces.v1beta.UpdateExampleRequest + (*DeleteExampleRequest)(nil), // 24: google.cloud.ces.v1beta.DeleteExampleRequest + (*ListToolsRequest)(nil), // 25: google.cloud.ces.v1beta.ListToolsRequest + (*ListToolsResponse)(nil), // 26: google.cloud.ces.v1beta.ListToolsResponse + (*GetToolRequest)(nil), // 27: google.cloud.ces.v1beta.GetToolRequest + (*CreateToolRequest)(nil), // 28: google.cloud.ces.v1beta.CreateToolRequest + (*UpdateToolRequest)(nil), // 29: google.cloud.ces.v1beta.UpdateToolRequest + (*DeleteToolRequest)(nil), // 30: google.cloud.ces.v1beta.DeleteToolRequest + (*ListConversationsRequest)(nil), // 31: google.cloud.ces.v1beta.ListConversationsRequest + (*ListConversationsResponse)(nil), // 32: google.cloud.ces.v1beta.ListConversationsResponse + (*GetConversationRequest)(nil), // 33: google.cloud.ces.v1beta.GetConversationRequest + (*DeleteConversationRequest)(nil), // 34: google.cloud.ces.v1beta.DeleteConversationRequest + (*BatchDeleteConversationsRequest)(nil), // 35: google.cloud.ces.v1beta.BatchDeleteConversationsRequest + (*BatchDeleteConversationsResponse)(nil), // 36: google.cloud.ces.v1beta.BatchDeleteConversationsResponse + (*ListGuardrailsRequest)(nil), // 37: google.cloud.ces.v1beta.ListGuardrailsRequest + (*ListGuardrailsResponse)(nil), // 38: google.cloud.ces.v1beta.ListGuardrailsResponse + (*GetGuardrailRequest)(nil), // 39: google.cloud.ces.v1beta.GetGuardrailRequest + (*CreateGuardrailRequest)(nil), // 40: google.cloud.ces.v1beta.CreateGuardrailRequest + (*UpdateGuardrailRequest)(nil), // 41: google.cloud.ces.v1beta.UpdateGuardrailRequest + (*DeleteGuardrailRequest)(nil), // 42: google.cloud.ces.v1beta.DeleteGuardrailRequest + (*ListDeploymentsRequest)(nil), // 43: google.cloud.ces.v1beta.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 44: google.cloud.ces.v1beta.ListDeploymentsResponse + (*GetDeploymentRequest)(nil), // 45: google.cloud.ces.v1beta.GetDeploymentRequest + (*CreateDeploymentRequest)(nil), // 46: google.cloud.ces.v1beta.CreateDeploymentRequest + (*UpdateDeploymentRequest)(nil), // 47: google.cloud.ces.v1beta.UpdateDeploymentRequest + (*DeleteDeploymentRequest)(nil), // 48: google.cloud.ces.v1beta.DeleteDeploymentRequest + (*ListToolsetsRequest)(nil), // 49: google.cloud.ces.v1beta.ListToolsetsRequest + (*ListToolsetsResponse)(nil), // 50: google.cloud.ces.v1beta.ListToolsetsResponse + (*GetToolsetRequest)(nil), // 51: google.cloud.ces.v1beta.GetToolsetRequest + (*CreateToolsetRequest)(nil), // 52: google.cloud.ces.v1beta.CreateToolsetRequest + (*UpdateToolsetRequest)(nil), // 53: google.cloud.ces.v1beta.UpdateToolsetRequest + (*DeleteToolsetRequest)(nil), // 54: google.cloud.ces.v1beta.DeleteToolsetRequest + (*ListAppVersionsRequest)(nil), // 55: google.cloud.ces.v1beta.ListAppVersionsRequest + (*ListAppVersionsResponse)(nil), // 56: google.cloud.ces.v1beta.ListAppVersionsResponse + (*GetAppVersionRequest)(nil), // 57: google.cloud.ces.v1beta.GetAppVersionRequest + (*DeleteAppVersionRequest)(nil), // 58: google.cloud.ces.v1beta.DeleteAppVersionRequest + (*CreateAppVersionRequest)(nil), // 59: google.cloud.ces.v1beta.CreateAppVersionRequest + (*RestoreAppVersionRequest)(nil), // 60: google.cloud.ces.v1beta.RestoreAppVersionRequest + (*RestoreAppVersionResponse)(nil), // 61: google.cloud.ces.v1beta.RestoreAppVersionResponse + (*GenerateAppResourceResponse)(nil), // 62: google.cloud.ces.v1beta.GenerateAppResourceResponse + (*ListChangelogsRequest)(nil), // 63: google.cloud.ces.v1beta.ListChangelogsRequest + (*ListChangelogsResponse)(nil), // 64: google.cloud.ces.v1beta.ListChangelogsResponse + (*GetChangelogRequest)(nil), // 65: google.cloud.ces.v1beta.GetChangelogRequest + (*ImportAppRequest_ImportOptions)(nil), // 66: google.cloud.ces.v1beta.ImportAppRequest.ImportOptions + (*GenerateAppResourceResponse_Evaluations)(nil), // 67: google.cloud.ces.v1beta.GenerateAppResourceResponse.Evaluations + (*GenerateAppResourceResponse_Tools)(nil), // 68: google.cloud.ces.v1beta.GenerateAppResourceResponse.Tools + (*GenerateAppResourceResponse_AppResources)(nil), // 69: google.cloud.ces.v1beta.GenerateAppResourceResponse.AppResources + (*GenerateAppResourceResponse_GenerateResultInfo)(nil), // 70: google.cloud.ces.v1beta.GenerateAppResourceResponse.GenerateResultInfo + (*App)(nil), // 71: google.cloud.ces.v1beta.App + (*fieldmaskpb.FieldMask)(nil), // 72: google.protobuf.FieldMask + (*Agent)(nil), // 73: google.cloud.ces.v1beta.Agent + (*timestamppb.Timestamp)(nil), // 74: google.protobuf.Timestamp + (*Example)(nil), // 75: google.cloud.ces.v1beta.Example + (*Tool)(nil), // 76: google.cloud.ces.v1beta.Tool + (Conversation_Source)(0), // 77: google.cloud.ces.v1beta.Conversation.Source + (*Conversation)(nil), // 78: google.cloud.ces.v1beta.Conversation + (*Guardrail)(nil), // 79: google.cloud.ces.v1beta.Guardrail + (*Deployment)(nil), // 80: google.cloud.ces.v1beta.Deployment + (*Toolset)(nil), // 81: google.cloud.ces.v1beta.Toolset + (*AppVersion)(nil), // 82: google.cloud.ces.v1beta.AppVersion + (*AppSnapshot)(nil), // 83: google.cloud.ces.v1beta.AppSnapshot + (*Changelog)(nil), // 84: google.cloud.ces.v1beta.Changelog + (*Evaluation)(nil), // 85: google.cloud.ces.v1beta.Evaluation + (*longrunningpb.Operation)(nil), // 86: google.longrunning.Operation + (*emptypb.Empty)(nil), // 87: google.protobuf.Empty +} +var file_google_cloud_ces_v1beta_agent_service_proto_depIdxs = []int32{ + 71, // 0: google.cloud.ces.v1beta.ListAppsResponse.apps:type_name -> google.cloud.ces.v1beta.App + 71, // 1: google.cloud.ces.v1beta.CreateAppRequest.app:type_name -> google.cloud.ces.v1beta.App + 71, // 2: google.cloud.ces.v1beta.UpdateAppRequest.app:type_name -> google.cloud.ces.v1beta.App + 72, // 3: google.cloud.ces.v1beta.UpdateAppRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 4: google.cloud.ces.v1beta.ExportAppRequest.export_format:type_name -> google.cloud.ces.v1beta.ExportAppRequest.ExportFormat + 66, // 5: google.cloud.ces.v1beta.ImportAppRequest.import_options:type_name -> google.cloud.ces.v1beta.ImportAppRequest.ImportOptions + 73, // 6: google.cloud.ces.v1beta.ListAgentsResponse.agents:type_name -> google.cloud.ces.v1beta.Agent + 73, // 7: google.cloud.ces.v1beta.CreateAgentRequest.agent:type_name -> google.cloud.ces.v1beta.Agent + 73, // 8: google.cloud.ces.v1beta.UpdateAgentRequest.agent:type_name -> google.cloud.ces.v1beta.Agent + 72, // 9: google.cloud.ces.v1beta.UpdateAgentRequest.update_mask:type_name -> google.protobuf.FieldMask + 74, // 10: google.cloud.ces.v1beta.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 74, // 11: google.cloud.ces.v1beta.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 75, // 12: google.cloud.ces.v1beta.ListExamplesResponse.examples:type_name -> google.cloud.ces.v1beta.Example + 75, // 13: google.cloud.ces.v1beta.CreateExampleRequest.example:type_name -> google.cloud.ces.v1beta.Example + 75, // 14: google.cloud.ces.v1beta.UpdateExampleRequest.example:type_name -> google.cloud.ces.v1beta.Example + 72, // 15: google.cloud.ces.v1beta.UpdateExampleRequest.update_mask:type_name -> google.protobuf.FieldMask + 76, // 16: google.cloud.ces.v1beta.ListToolsResponse.tools:type_name -> google.cloud.ces.v1beta.Tool + 76, // 17: google.cloud.ces.v1beta.CreateToolRequest.tool:type_name -> google.cloud.ces.v1beta.Tool + 76, // 18: google.cloud.ces.v1beta.UpdateToolRequest.tool:type_name -> google.cloud.ces.v1beta.Tool + 72, // 19: google.cloud.ces.v1beta.UpdateToolRequest.update_mask:type_name -> google.protobuf.FieldMask + 77, // 20: google.cloud.ces.v1beta.ListConversationsRequest.source:type_name -> google.cloud.ces.v1beta.Conversation.Source + 77, // 21: google.cloud.ces.v1beta.ListConversationsRequest.sources:type_name -> google.cloud.ces.v1beta.Conversation.Source + 78, // 22: google.cloud.ces.v1beta.ListConversationsResponse.conversations:type_name -> google.cloud.ces.v1beta.Conversation + 77, // 23: google.cloud.ces.v1beta.GetConversationRequest.source:type_name -> google.cloud.ces.v1beta.Conversation.Source + 77, // 24: google.cloud.ces.v1beta.DeleteConversationRequest.source:type_name -> google.cloud.ces.v1beta.Conversation.Source + 79, // 25: google.cloud.ces.v1beta.ListGuardrailsResponse.guardrails:type_name -> google.cloud.ces.v1beta.Guardrail + 79, // 26: google.cloud.ces.v1beta.CreateGuardrailRequest.guardrail:type_name -> google.cloud.ces.v1beta.Guardrail + 79, // 27: google.cloud.ces.v1beta.UpdateGuardrailRequest.guardrail:type_name -> google.cloud.ces.v1beta.Guardrail + 72, // 28: google.cloud.ces.v1beta.UpdateGuardrailRequest.update_mask:type_name -> google.protobuf.FieldMask + 80, // 29: google.cloud.ces.v1beta.ListDeploymentsResponse.deployments:type_name -> google.cloud.ces.v1beta.Deployment + 80, // 30: google.cloud.ces.v1beta.CreateDeploymentRequest.deployment:type_name -> google.cloud.ces.v1beta.Deployment + 80, // 31: google.cloud.ces.v1beta.UpdateDeploymentRequest.deployment:type_name -> google.cloud.ces.v1beta.Deployment + 72, // 32: google.cloud.ces.v1beta.UpdateDeploymentRequest.update_mask:type_name -> google.protobuf.FieldMask + 81, // 33: google.cloud.ces.v1beta.ListToolsetsResponse.toolsets:type_name -> google.cloud.ces.v1beta.Toolset + 81, // 34: google.cloud.ces.v1beta.CreateToolsetRequest.toolset:type_name -> google.cloud.ces.v1beta.Toolset + 81, // 35: google.cloud.ces.v1beta.UpdateToolsetRequest.toolset:type_name -> google.cloud.ces.v1beta.Toolset + 72, // 36: google.cloud.ces.v1beta.UpdateToolsetRequest.update_mask:type_name -> google.protobuf.FieldMask + 82, // 37: google.cloud.ces.v1beta.ListAppVersionsResponse.app_versions:type_name -> google.cloud.ces.v1beta.AppVersion + 82, // 38: google.cloud.ces.v1beta.CreateAppVersionRequest.app_version:type_name -> google.cloud.ces.v1beta.AppVersion + 73, // 39: google.cloud.ces.v1beta.GenerateAppResourceResponse.agent:type_name -> google.cloud.ces.v1beta.Agent + 81, // 40: google.cloud.ces.v1beta.GenerateAppResourceResponse.toolset:type_name -> google.cloud.ces.v1beta.Toolset + 83, // 41: google.cloud.ces.v1beta.GenerateAppResourceResponse.app_snapshot:type_name -> google.cloud.ces.v1beta.AppSnapshot + 68, // 42: google.cloud.ces.v1beta.GenerateAppResourceResponse.tools:type_name -> google.cloud.ces.v1beta.GenerateAppResourceResponse.Tools + 67, // 43: google.cloud.ces.v1beta.GenerateAppResourceResponse.evaluations:type_name -> google.cloud.ces.v1beta.GenerateAppResourceResponse.Evaluations + 69, // 44: google.cloud.ces.v1beta.GenerateAppResourceResponse.app_resources:type_name -> google.cloud.ces.v1beta.GenerateAppResourceResponse.AppResources + 70, // 45: google.cloud.ces.v1beta.GenerateAppResourceResponse.generate_result_info:type_name -> google.cloud.ces.v1beta.GenerateAppResourceResponse.GenerateResultInfo + 84, // 46: google.cloud.ces.v1beta.ListChangelogsResponse.changelogs:type_name -> google.cloud.ces.v1beta.Changelog + 1, // 47: google.cloud.ces.v1beta.ImportAppRequest.ImportOptions.conflict_resolution_strategy:type_name -> google.cloud.ces.v1beta.ImportAppRequest.ImportOptions.ConflictResolutionStrategy + 85, // 48: google.cloud.ces.v1beta.GenerateAppResourceResponse.Evaluations.evaluations:type_name -> google.cloud.ces.v1beta.Evaluation + 76, // 49: google.cloud.ces.v1beta.GenerateAppResourceResponse.Tools.tools:type_name -> google.cloud.ces.v1beta.Tool + 83, // 50: google.cloud.ces.v1beta.GenerateAppResourceResponse.AppResources.app_snapshot:type_name -> google.cloud.ces.v1beta.AppSnapshot + 85, // 51: google.cloud.ces.v1beta.GenerateAppResourceResponse.AppResources.evaluations:type_name -> google.cloud.ces.v1beta.Evaluation + 2, // 52: google.cloud.ces.v1beta.AgentService.ListApps:input_type -> google.cloud.ces.v1beta.ListAppsRequest + 4, // 53: google.cloud.ces.v1beta.AgentService.GetApp:input_type -> google.cloud.ces.v1beta.GetAppRequest + 5, // 54: google.cloud.ces.v1beta.AgentService.CreateApp:input_type -> google.cloud.ces.v1beta.CreateAppRequest + 6, // 55: google.cloud.ces.v1beta.AgentService.UpdateApp:input_type -> google.cloud.ces.v1beta.UpdateAppRequest + 7, // 56: google.cloud.ces.v1beta.AgentService.DeleteApp:input_type -> google.cloud.ces.v1beta.DeleteAppRequest + 8, // 57: google.cloud.ces.v1beta.AgentService.ExportApp:input_type -> google.cloud.ces.v1beta.ExportAppRequest + 10, // 58: google.cloud.ces.v1beta.AgentService.ImportApp:input_type -> google.cloud.ces.v1beta.ImportAppRequest + 12, // 59: google.cloud.ces.v1beta.AgentService.ListAgents:input_type -> google.cloud.ces.v1beta.ListAgentsRequest + 14, // 60: google.cloud.ces.v1beta.AgentService.GetAgent:input_type -> google.cloud.ces.v1beta.GetAgentRequest + 15, // 61: google.cloud.ces.v1beta.AgentService.CreateAgent:input_type -> google.cloud.ces.v1beta.CreateAgentRequest + 16, // 62: google.cloud.ces.v1beta.AgentService.UpdateAgent:input_type -> google.cloud.ces.v1beta.UpdateAgentRequest + 17, // 63: google.cloud.ces.v1beta.AgentService.DeleteAgent:input_type -> google.cloud.ces.v1beta.DeleteAgentRequest + 19, // 64: google.cloud.ces.v1beta.AgentService.ListExamples:input_type -> google.cloud.ces.v1beta.ListExamplesRequest + 21, // 65: google.cloud.ces.v1beta.AgentService.GetExample:input_type -> google.cloud.ces.v1beta.GetExampleRequest + 22, // 66: google.cloud.ces.v1beta.AgentService.CreateExample:input_type -> google.cloud.ces.v1beta.CreateExampleRequest + 23, // 67: google.cloud.ces.v1beta.AgentService.UpdateExample:input_type -> google.cloud.ces.v1beta.UpdateExampleRequest + 24, // 68: google.cloud.ces.v1beta.AgentService.DeleteExample:input_type -> google.cloud.ces.v1beta.DeleteExampleRequest + 25, // 69: google.cloud.ces.v1beta.AgentService.ListTools:input_type -> google.cloud.ces.v1beta.ListToolsRequest + 27, // 70: google.cloud.ces.v1beta.AgentService.GetTool:input_type -> google.cloud.ces.v1beta.GetToolRequest + 31, // 71: google.cloud.ces.v1beta.AgentService.ListConversations:input_type -> google.cloud.ces.v1beta.ListConversationsRequest + 33, // 72: google.cloud.ces.v1beta.AgentService.GetConversation:input_type -> google.cloud.ces.v1beta.GetConversationRequest + 34, // 73: google.cloud.ces.v1beta.AgentService.DeleteConversation:input_type -> google.cloud.ces.v1beta.DeleteConversationRequest + 35, // 74: google.cloud.ces.v1beta.AgentService.BatchDeleteConversations:input_type -> google.cloud.ces.v1beta.BatchDeleteConversationsRequest + 28, // 75: google.cloud.ces.v1beta.AgentService.CreateTool:input_type -> google.cloud.ces.v1beta.CreateToolRequest + 29, // 76: google.cloud.ces.v1beta.AgentService.UpdateTool:input_type -> google.cloud.ces.v1beta.UpdateToolRequest + 30, // 77: google.cloud.ces.v1beta.AgentService.DeleteTool:input_type -> google.cloud.ces.v1beta.DeleteToolRequest + 37, // 78: google.cloud.ces.v1beta.AgentService.ListGuardrails:input_type -> google.cloud.ces.v1beta.ListGuardrailsRequest + 39, // 79: google.cloud.ces.v1beta.AgentService.GetGuardrail:input_type -> google.cloud.ces.v1beta.GetGuardrailRequest + 40, // 80: google.cloud.ces.v1beta.AgentService.CreateGuardrail:input_type -> google.cloud.ces.v1beta.CreateGuardrailRequest + 41, // 81: google.cloud.ces.v1beta.AgentService.UpdateGuardrail:input_type -> google.cloud.ces.v1beta.UpdateGuardrailRequest + 42, // 82: google.cloud.ces.v1beta.AgentService.DeleteGuardrail:input_type -> google.cloud.ces.v1beta.DeleteGuardrailRequest + 43, // 83: google.cloud.ces.v1beta.AgentService.ListDeployments:input_type -> google.cloud.ces.v1beta.ListDeploymentsRequest + 45, // 84: google.cloud.ces.v1beta.AgentService.GetDeployment:input_type -> google.cloud.ces.v1beta.GetDeploymentRequest + 46, // 85: google.cloud.ces.v1beta.AgentService.CreateDeployment:input_type -> google.cloud.ces.v1beta.CreateDeploymentRequest + 47, // 86: google.cloud.ces.v1beta.AgentService.UpdateDeployment:input_type -> google.cloud.ces.v1beta.UpdateDeploymentRequest + 48, // 87: google.cloud.ces.v1beta.AgentService.DeleteDeployment:input_type -> google.cloud.ces.v1beta.DeleteDeploymentRequest + 49, // 88: google.cloud.ces.v1beta.AgentService.ListToolsets:input_type -> google.cloud.ces.v1beta.ListToolsetsRequest + 51, // 89: google.cloud.ces.v1beta.AgentService.GetToolset:input_type -> google.cloud.ces.v1beta.GetToolsetRequest + 52, // 90: google.cloud.ces.v1beta.AgentService.CreateToolset:input_type -> google.cloud.ces.v1beta.CreateToolsetRequest + 53, // 91: google.cloud.ces.v1beta.AgentService.UpdateToolset:input_type -> google.cloud.ces.v1beta.UpdateToolsetRequest + 54, // 92: google.cloud.ces.v1beta.AgentService.DeleteToolset:input_type -> google.cloud.ces.v1beta.DeleteToolsetRequest + 55, // 93: google.cloud.ces.v1beta.AgentService.ListAppVersions:input_type -> google.cloud.ces.v1beta.ListAppVersionsRequest + 57, // 94: google.cloud.ces.v1beta.AgentService.GetAppVersion:input_type -> google.cloud.ces.v1beta.GetAppVersionRequest + 59, // 95: google.cloud.ces.v1beta.AgentService.CreateAppVersion:input_type -> google.cloud.ces.v1beta.CreateAppVersionRequest + 58, // 96: google.cloud.ces.v1beta.AgentService.DeleteAppVersion:input_type -> google.cloud.ces.v1beta.DeleteAppVersionRequest + 60, // 97: google.cloud.ces.v1beta.AgentService.RestoreAppVersion:input_type -> google.cloud.ces.v1beta.RestoreAppVersionRequest + 63, // 98: google.cloud.ces.v1beta.AgentService.ListChangelogs:input_type -> google.cloud.ces.v1beta.ListChangelogsRequest + 65, // 99: google.cloud.ces.v1beta.AgentService.GetChangelog:input_type -> google.cloud.ces.v1beta.GetChangelogRequest + 3, // 100: google.cloud.ces.v1beta.AgentService.ListApps:output_type -> google.cloud.ces.v1beta.ListAppsResponse + 71, // 101: google.cloud.ces.v1beta.AgentService.GetApp:output_type -> google.cloud.ces.v1beta.App + 86, // 102: google.cloud.ces.v1beta.AgentService.CreateApp:output_type -> google.longrunning.Operation + 71, // 103: google.cloud.ces.v1beta.AgentService.UpdateApp:output_type -> google.cloud.ces.v1beta.App + 86, // 104: google.cloud.ces.v1beta.AgentService.DeleteApp:output_type -> google.longrunning.Operation + 86, // 105: google.cloud.ces.v1beta.AgentService.ExportApp:output_type -> google.longrunning.Operation + 86, // 106: google.cloud.ces.v1beta.AgentService.ImportApp:output_type -> google.longrunning.Operation + 13, // 107: google.cloud.ces.v1beta.AgentService.ListAgents:output_type -> google.cloud.ces.v1beta.ListAgentsResponse + 73, // 108: google.cloud.ces.v1beta.AgentService.GetAgent:output_type -> google.cloud.ces.v1beta.Agent + 73, // 109: google.cloud.ces.v1beta.AgentService.CreateAgent:output_type -> google.cloud.ces.v1beta.Agent + 73, // 110: google.cloud.ces.v1beta.AgentService.UpdateAgent:output_type -> google.cloud.ces.v1beta.Agent + 87, // 111: google.cloud.ces.v1beta.AgentService.DeleteAgent:output_type -> google.protobuf.Empty + 20, // 112: google.cloud.ces.v1beta.AgentService.ListExamples:output_type -> google.cloud.ces.v1beta.ListExamplesResponse + 75, // 113: google.cloud.ces.v1beta.AgentService.GetExample:output_type -> google.cloud.ces.v1beta.Example + 75, // 114: google.cloud.ces.v1beta.AgentService.CreateExample:output_type -> google.cloud.ces.v1beta.Example + 75, // 115: google.cloud.ces.v1beta.AgentService.UpdateExample:output_type -> google.cloud.ces.v1beta.Example + 87, // 116: google.cloud.ces.v1beta.AgentService.DeleteExample:output_type -> google.protobuf.Empty + 26, // 117: google.cloud.ces.v1beta.AgentService.ListTools:output_type -> google.cloud.ces.v1beta.ListToolsResponse + 76, // 118: google.cloud.ces.v1beta.AgentService.GetTool:output_type -> google.cloud.ces.v1beta.Tool + 32, // 119: google.cloud.ces.v1beta.AgentService.ListConversations:output_type -> google.cloud.ces.v1beta.ListConversationsResponse + 78, // 120: google.cloud.ces.v1beta.AgentService.GetConversation:output_type -> google.cloud.ces.v1beta.Conversation + 87, // 121: google.cloud.ces.v1beta.AgentService.DeleteConversation:output_type -> google.protobuf.Empty + 86, // 122: google.cloud.ces.v1beta.AgentService.BatchDeleteConversations:output_type -> google.longrunning.Operation + 76, // 123: google.cloud.ces.v1beta.AgentService.CreateTool:output_type -> google.cloud.ces.v1beta.Tool + 76, // 124: google.cloud.ces.v1beta.AgentService.UpdateTool:output_type -> google.cloud.ces.v1beta.Tool + 87, // 125: google.cloud.ces.v1beta.AgentService.DeleteTool:output_type -> google.protobuf.Empty + 38, // 126: google.cloud.ces.v1beta.AgentService.ListGuardrails:output_type -> google.cloud.ces.v1beta.ListGuardrailsResponse + 79, // 127: google.cloud.ces.v1beta.AgentService.GetGuardrail:output_type -> google.cloud.ces.v1beta.Guardrail + 79, // 128: google.cloud.ces.v1beta.AgentService.CreateGuardrail:output_type -> google.cloud.ces.v1beta.Guardrail + 79, // 129: google.cloud.ces.v1beta.AgentService.UpdateGuardrail:output_type -> google.cloud.ces.v1beta.Guardrail + 87, // 130: google.cloud.ces.v1beta.AgentService.DeleteGuardrail:output_type -> google.protobuf.Empty + 44, // 131: google.cloud.ces.v1beta.AgentService.ListDeployments:output_type -> google.cloud.ces.v1beta.ListDeploymentsResponse + 80, // 132: google.cloud.ces.v1beta.AgentService.GetDeployment:output_type -> google.cloud.ces.v1beta.Deployment + 80, // 133: google.cloud.ces.v1beta.AgentService.CreateDeployment:output_type -> google.cloud.ces.v1beta.Deployment + 80, // 134: google.cloud.ces.v1beta.AgentService.UpdateDeployment:output_type -> google.cloud.ces.v1beta.Deployment + 87, // 135: google.cloud.ces.v1beta.AgentService.DeleteDeployment:output_type -> google.protobuf.Empty + 50, // 136: google.cloud.ces.v1beta.AgentService.ListToolsets:output_type -> google.cloud.ces.v1beta.ListToolsetsResponse + 81, // 137: google.cloud.ces.v1beta.AgentService.GetToolset:output_type -> google.cloud.ces.v1beta.Toolset + 81, // 138: google.cloud.ces.v1beta.AgentService.CreateToolset:output_type -> google.cloud.ces.v1beta.Toolset + 81, // 139: google.cloud.ces.v1beta.AgentService.UpdateToolset:output_type -> google.cloud.ces.v1beta.Toolset + 87, // 140: google.cloud.ces.v1beta.AgentService.DeleteToolset:output_type -> google.protobuf.Empty + 56, // 141: google.cloud.ces.v1beta.AgentService.ListAppVersions:output_type -> google.cloud.ces.v1beta.ListAppVersionsResponse + 82, // 142: google.cloud.ces.v1beta.AgentService.GetAppVersion:output_type -> google.cloud.ces.v1beta.AppVersion + 82, // 143: google.cloud.ces.v1beta.AgentService.CreateAppVersion:output_type -> google.cloud.ces.v1beta.AppVersion + 87, // 144: google.cloud.ces.v1beta.AgentService.DeleteAppVersion:output_type -> google.protobuf.Empty + 86, // 145: google.cloud.ces.v1beta.AgentService.RestoreAppVersion:output_type -> google.longrunning.Operation + 64, // 146: google.cloud.ces.v1beta.AgentService.ListChangelogs:output_type -> google.cloud.ces.v1beta.ListChangelogsResponse + 84, // 147: google.cloud.ces.v1beta.AgentService.GetChangelog:output_type -> google.cloud.ces.v1beta.Changelog + 100, // [100:148] is the sub-list for method output_type + 52, // [52:100] is the sub-list for method input_type + 52, // [52:52] is the sub-list for extension type_name + 52, // [52:52] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_agent_service_proto_init() } +func file_google_cloud_ces_v1beta_agent_service_proto_init() { + if File_google_cloud_ces_v1beta_agent_service_proto != nil { + return + } + file_google_cloud_ces_v1beta_agent_proto_init() + file_google_cloud_ces_v1beta_app_proto_init() + file_google_cloud_ces_v1beta_app_version_proto_init() + file_google_cloud_ces_v1beta_changelog_proto_init() + file_google_cloud_ces_v1beta_conversation_proto_init() + file_google_cloud_ces_v1beta_deployment_proto_init() + file_google_cloud_ces_v1beta_evaluation_proto_init() + file_google_cloud_ces_v1beta_example_proto_init() + file_google_cloud_ces_v1beta_guardrail_proto_init() + file_google_cloud_ces_v1beta_tool_proto_init() + file_google_cloud_ces_v1beta_toolset_proto_init() + file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[7].OneofWrappers = []any{ + (*ExportAppResponse_AppContent)(nil), + (*ExportAppResponse_AppUri)(nil), + } + file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[8].OneofWrappers = []any{ + (*ImportAppRequest_GcsUri)(nil), + (*ImportAppRequest_AppContent)(nil), + } + file_google_cloud_ces_v1beta_agent_service_proto_msgTypes[60].OneofWrappers = []any{ + (*GenerateAppResourceResponse_Agent)(nil), + (*GenerateAppResourceResponse_Toolset)(nil), + (*GenerateAppResourceResponse_AppSnapshot)(nil), + (*GenerateAppResourceResponse_Tools_)(nil), + (*GenerateAppResourceResponse_Evaluations_)(nil), + (*GenerateAppResourceResponse_AppResources_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_agent_service_proto_rawDesc, + NumEnums: 2, + NumMessages: 69, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_ces_v1beta_agent_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_agent_service_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_agent_service_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_agent_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_agent_service_proto = out.File + file_google_cloud_ces_v1beta_agent_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_agent_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_agent_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/agent_service_grpc.pb.go b/ces/apiv1beta/cespb/agent_service_grpc.pb.go new file mode 100644 index 000000000000..ce0857057666 --- /dev/null +++ b/ces/apiv1beta/cespb/agent_service_grpc.pb.go @@ -0,0 +1,1963 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/ces/v1beta/agent_service.proto + +package cespb + +import ( + context "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + AgentService_ListApps_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListApps" + AgentService_GetApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetApp" + AgentService_CreateApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateApp" + AgentService_UpdateApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateApp" + AgentService_DeleteApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteApp" + AgentService_ExportApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ExportApp" + AgentService_ImportApp_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ImportApp" + AgentService_ListAgents_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListAgents" + AgentService_GetAgent_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetAgent" + AgentService_CreateAgent_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateAgent" + AgentService_UpdateAgent_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateAgent" + AgentService_DeleteAgent_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteAgent" + AgentService_ListExamples_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListExamples" + AgentService_GetExample_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetExample" + AgentService_CreateExample_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateExample" + AgentService_UpdateExample_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateExample" + AgentService_DeleteExample_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteExample" + AgentService_ListTools_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListTools" + AgentService_GetTool_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetTool" + AgentService_ListConversations_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListConversations" + AgentService_GetConversation_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetConversation" + AgentService_DeleteConversation_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteConversation" + AgentService_BatchDeleteConversations_FullMethodName = "/google.cloud.ces.v1beta.AgentService/BatchDeleteConversations" + AgentService_CreateTool_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateTool" + AgentService_UpdateTool_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateTool" + AgentService_DeleteTool_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteTool" + AgentService_ListGuardrails_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListGuardrails" + AgentService_GetGuardrail_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetGuardrail" + AgentService_CreateGuardrail_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateGuardrail" + AgentService_UpdateGuardrail_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateGuardrail" + AgentService_DeleteGuardrail_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteGuardrail" + AgentService_ListDeployments_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListDeployments" + AgentService_GetDeployment_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetDeployment" + AgentService_CreateDeployment_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateDeployment" + AgentService_UpdateDeployment_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateDeployment" + AgentService_DeleteDeployment_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteDeployment" + AgentService_ListToolsets_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListToolsets" + AgentService_GetToolset_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetToolset" + AgentService_CreateToolset_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateToolset" + AgentService_UpdateToolset_FullMethodName = "/google.cloud.ces.v1beta.AgentService/UpdateToolset" + AgentService_DeleteToolset_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteToolset" + AgentService_ListAppVersions_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListAppVersions" + AgentService_GetAppVersion_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetAppVersion" + AgentService_CreateAppVersion_FullMethodName = "/google.cloud.ces.v1beta.AgentService/CreateAppVersion" + AgentService_DeleteAppVersion_FullMethodName = "/google.cloud.ces.v1beta.AgentService/DeleteAppVersion" + AgentService_RestoreAppVersion_FullMethodName = "/google.cloud.ces.v1beta.AgentService/RestoreAppVersion" + AgentService_ListChangelogs_FullMethodName = "/google.cloud.ces.v1beta.AgentService/ListChangelogs" + AgentService_GetChangelog_FullMethodName = "/google.cloud.ces.v1beta.AgentService/GetChangelog" +) + +// AgentServiceClient is the client API for AgentService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AgentServiceClient interface { + // Lists apps in the given project and location. + ListApps(ctx context.Context, in *ListAppsRequest, opts ...grpc.CallOption) (*ListAppsResponse, error) + // Gets details of the specified app. + GetApp(ctx context.Context, in *GetAppRequest, opts ...grpc.CallOption) (*App, error) + // Creates a new app in the given project and location. + CreateApp(ctx context.Context, in *CreateAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Updates the specified app. + UpdateApp(ctx context.Context, in *UpdateAppRequest, opts ...grpc.CallOption) (*App, error) + // Deletes the specified app. + DeleteApp(ctx context.Context, in *DeleteAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Exports the specified app. + ExportApp(ctx context.Context, in *ExportAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Imports the specified app. + ImportApp(ctx context.Context, in *ImportAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists agents in the given app. + ListAgents(ctx context.Context, in *ListAgentsRequest, opts ...grpc.CallOption) (*ListAgentsResponse, error) + // Gets details of the specified agent. + GetAgent(ctx context.Context, in *GetAgentRequest, opts ...grpc.CallOption) (*Agent, error) + // Creates a new agent in the given app. + CreateAgent(ctx context.Context, in *CreateAgentRequest, opts ...grpc.CallOption) (*Agent, error) + // Updates the specified agent. + UpdateAgent(ctx context.Context, in *UpdateAgentRequest, opts ...grpc.CallOption) (*Agent, error) + // Deletes the specified agent. + DeleteAgent(ctx context.Context, in *DeleteAgentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists examples in the given app. + ListExamples(ctx context.Context, in *ListExamplesRequest, opts ...grpc.CallOption) (*ListExamplesResponse, error) + // Gets details of the specified example. + GetExample(ctx context.Context, in *GetExampleRequest, opts ...grpc.CallOption) (*Example, error) + // Creates a new example in the given app. + CreateExample(ctx context.Context, in *CreateExampleRequest, opts ...grpc.CallOption) (*Example, error) + // Updates the specified example. + UpdateExample(ctx context.Context, in *UpdateExampleRequest, opts ...grpc.CallOption) (*Example, error) + // Deletes the specified example. + DeleteExample(ctx context.Context, in *DeleteExampleRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists tools in the given app. + ListTools(ctx context.Context, in *ListToolsRequest, opts ...grpc.CallOption) (*ListToolsResponse, error) + // Gets details of the specified tool. + GetTool(ctx context.Context, in *GetToolRequest, opts ...grpc.CallOption) (*Tool, error) + // Lists conversations in the given app. + ListConversations(ctx context.Context, in *ListConversationsRequest, opts ...grpc.CallOption) (*ListConversationsResponse, error) + // Gets details of the specified conversation. + GetConversation(ctx context.Context, in *GetConversationRequest, opts ...grpc.CallOption) (*Conversation, error) + // Deletes the specified conversation. + DeleteConversation(ctx context.Context, in *DeleteConversationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Batch deletes the specified conversations. + BatchDeleteConversations(ctx context.Context, in *BatchDeleteConversationsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a new tool in the given app. + CreateTool(ctx context.Context, in *CreateToolRequest, opts ...grpc.CallOption) (*Tool, error) + // Updates the specified tool. + UpdateTool(ctx context.Context, in *UpdateToolRequest, opts ...grpc.CallOption) (*Tool, error) + // Deletes the specified tool. + DeleteTool(ctx context.Context, in *DeleteToolRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists guardrails in the given app. + ListGuardrails(ctx context.Context, in *ListGuardrailsRequest, opts ...grpc.CallOption) (*ListGuardrailsResponse, error) + // Gets details of the specified guardrail. + GetGuardrail(ctx context.Context, in *GetGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) + // Creates a new guardrail in the given app. + CreateGuardrail(ctx context.Context, in *CreateGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) + // Updates the specified guardrail. + UpdateGuardrail(ctx context.Context, in *UpdateGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) + // Deletes the specified guardrail. + DeleteGuardrail(ctx context.Context, in *DeleteGuardrailRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists deployments in the given app. + ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) + // Gets details of the specified deployment. + GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Creates a new deployment in the given app. + CreateDeployment(ctx context.Context, in *CreateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Updates the specified deployment. + UpdateDeployment(ctx context.Context, in *UpdateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Deletes the specified deployment. + DeleteDeployment(ctx context.Context, in *DeleteDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists toolsets in the given app. + ListToolsets(ctx context.Context, in *ListToolsetsRequest, opts ...grpc.CallOption) (*ListToolsetsResponse, error) + // Gets details of the specified toolset. + GetToolset(ctx context.Context, in *GetToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) + // Creates a new toolset in the given app. + CreateToolset(ctx context.Context, in *CreateToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) + // Updates the specified toolset. + UpdateToolset(ctx context.Context, in *UpdateToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) + // Deletes the specified toolset. + DeleteToolset(ctx context.Context, in *DeleteToolsetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Lists all app versions in the given app. + ListAppVersions(ctx context.Context, in *ListAppVersionsRequest, opts ...grpc.CallOption) (*ListAppVersionsResponse, error) + // Gets details of the specified app version. + GetAppVersion(ctx context.Context, in *GetAppVersionRequest, opts ...grpc.CallOption) (*AppVersion, error) + // Creates a new app version in the given app. + CreateAppVersion(ctx context.Context, in *CreateAppVersionRequest, opts ...grpc.CallOption) (*AppVersion, error) + // Deletes the specified app version. + DeleteAppVersion(ctx context.Context, in *DeleteAppVersionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Restores the specified app version. + // This will create a new app version from the current draft app and overwrite + // the current draft with the specified app version. + RestoreAppVersion(ctx context.Context, in *RestoreAppVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists the changelogs of the specified app. + ListChangelogs(ctx context.Context, in *ListChangelogsRequest, opts ...grpc.CallOption) (*ListChangelogsResponse, error) + // Gets the specified changelog. + GetChangelog(ctx context.Context, in *GetChangelogRequest, opts ...grpc.CallOption) (*Changelog, error) +} + +type agentServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient { + return &agentServiceClient{cc} +} + +func (c *agentServiceClient) ListApps(ctx context.Context, in *ListAppsRequest, opts ...grpc.CallOption) (*ListAppsResponse, error) { + out := new(ListAppsResponse) + err := c.cc.Invoke(ctx, AgentService_ListApps_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetApp(ctx context.Context, in *GetAppRequest, opts ...grpc.CallOption) (*App, error) { + out := new(App) + err := c.cc.Invoke(ctx, AgentService_GetApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateApp(ctx context.Context, in *CreateAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_CreateApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateApp(ctx context.Context, in *UpdateAppRequest, opts ...grpc.CallOption) (*App, error) { + out := new(App) + err := c.cc.Invoke(ctx, AgentService_UpdateApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteApp(ctx context.Context, in *DeleteAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_DeleteApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ExportApp(ctx context.Context, in *ExportAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_ExportApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ImportApp(ctx context.Context, in *ImportAppRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_ImportApp_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListAgents(ctx context.Context, in *ListAgentsRequest, opts ...grpc.CallOption) (*ListAgentsResponse, error) { + out := new(ListAgentsResponse) + err := c.cc.Invoke(ctx, AgentService_ListAgents_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetAgent(ctx context.Context, in *GetAgentRequest, opts ...grpc.CallOption) (*Agent, error) { + out := new(Agent) + err := c.cc.Invoke(ctx, AgentService_GetAgent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateAgent(ctx context.Context, in *CreateAgentRequest, opts ...grpc.CallOption) (*Agent, error) { + out := new(Agent) + err := c.cc.Invoke(ctx, AgentService_CreateAgent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateAgent(ctx context.Context, in *UpdateAgentRequest, opts ...grpc.CallOption) (*Agent, error) { + out := new(Agent) + err := c.cc.Invoke(ctx, AgentService_UpdateAgent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteAgent(ctx context.Context, in *DeleteAgentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteAgent_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListExamples(ctx context.Context, in *ListExamplesRequest, opts ...grpc.CallOption) (*ListExamplesResponse, error) { + out := new(ListExamplesResponse) + err := c.cc.Invoke(ctx, AgentService_ListExamples_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetExample(ctx context.Context, in *GetExampleRequest, opts ...grpc.CallOption) (*Example, error) { + out := new(Example) + err := c.cc.Invoke(ctx, AgentService_GetExample_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateExample(ctx context.Context, in *CreateExampleRequest, opts ...grpc.CallOption) (*Example, error) { + out := new(Example) + err := c.cc.Invoke(ctx, AgentService_CreateExample_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateExample(ctx context.Context, in *UpdateExampleRequest, opts ...grpc.CallOption) (*Example, error) { + out := new(Example) + err := c.cc.Invoke(ctx, AgentService_UpdateExample_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteExample(ctx context.Context, in *DeleteExampleRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteExample_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListTools(ctx context.Context, in *ListToolsRequest, opts ...grpc.CallOption) (*ListToolsResponse, error) { + out := new(ListToolsResponse) + err := c.cc.Invoke(ctx, AgentService_ListTools_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetTool(ctx context.Context, in *GetToolRequest, opts ...grpc.CallOption) (*Tool, error) { + out := new(Tool) + err := c.cc.Invoke(ctx, AgentService_GetTool_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListConversations(ctx context.Context, in *ListConversationsRequest, opts ...grpc.CallOption) (*ListConversationsResponse, error) { + out := new(ListConversationsResponse) + err := c.cc.Invoke(ctx, AgentService_ListConversations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetConversation(ctx context.Context, in *GetConversationRequest, opts ...grpc.CallOption) (*Conversation, error) { + out := new(Conversation) + err := c.cc.Invoke(ctx, AgentService_GetConversation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteConversation(ctx context.Context, in *DeleteConversationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteConversation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) BatchDeleteConversations(ctx context.Context, in *BatchDeleteConversationsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_BatchDeleteConversations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateTool(ctx context.Context, in *CreateToolRequest, opts ...grpc.CallOption) (*Tool, error) { + out := new(Tool) + err := c.cc.Invoke(ctx, AgentService_CreateTool_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateTool(ctx context.Context, in *UpdateToolRequest, opts ...grpc.CallOption) (*Tool, error) { + out := new(Tool) + err := c.cc.Invoke(ctx, AgentService_UpdateTool_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteTool(ctx context.Context, in *DeleteToolRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteTool_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListGuardrails(ctx context.Context, in *ListGuardrailsRequest, opts ...grpc.CallOption) (*ListGuardrailsResponse, error) { + out := new(ListGuardrailsResponse) + err := c.cc.Invoke(ctx, AgentService_ListGuardrails_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetGuardrail(ctx context.Context, in *GetGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) { + out := new(Guardrail) + err := c.cc.Invoke(ctx, AgentService_GetGuardrail_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateGuardrail(ctx context.Context, in *CreateGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) { + out := new(Guardrail) + err := c.cc.Invoke(ctx, AgentService_CreateGuardrail_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateGuardrail(ctx context.Context, in *UpdateGuardrailRequest, opts ...grpc.CallOption) (*Guardrail, error) { + out := new(Guardrail) + err := c.cc.Invoke(ctx, AgentService_UpdateGuardrail_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteGuardrail(ctx context.Context, in *DeleteGuardrailRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteGuardrail_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) { + out := new(ListDeploymentsResponse) + err := c.cc.Invoke(ctx, AgentService_ListDeployments_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, AgentService_GetDeployment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateDeployment(ctx context.Context, in *CreateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, AgentService_CreateDeployment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateDeployment(ctx context.Context, in *UpdateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, AgentService_UpdateDeployment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteDeployment(ctx context.Context, in *DeleteDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteDeployment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListToolsets(ctx context.Context, in *ListToolsetsRequest, opts ...grpc.CallOption) (*ListToolsetsResponse, error) { + out := new(ListToolsetsResponse) + err := c.cc.Invoke(ctx, AgentService_ListToolsets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetToolset(ctx context.Context, in *GetToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) { + out := new(Toolset) + err := c.cc.Invoke(ctx, AgentService_GetToolset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateToolset(ctx context.Context, in *CreateToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) { + out := new(Toolset) + err := c.cc.Invoke(ctx, AgentService_CreateToolset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) UpdateToolset(ctx context.Context, in *UpdateToolsetRequest, opts ...grpc.CallOption) (*Toolset, error) { + out := new(Toolset) + err := c.cc.Invoke(ctx, AgentService_UpdateToolset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteToolset(ctx context.Context, in *DeleteToolsetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteToolset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListAppVersions(ctx context.Context, in *ListAppVersionsRequest, opts ...grpc.CallOption) (*ListAppVersionsResponse, error) { + out := new(ListAppVersionsResponse) + err := c.cc.Invoke(ctx, AgentService_ListAppVersions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetAppVersion(ctx context.Context, in *GetAppVersionRequest, opts ...grpc.CallOption) (*AppVersion, error) { + out := new(AppVersion) + err := c.cc.Invoke(ctx, AgentService_GetAppVersion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) CreateAppVersion(ctx context.Context, in *CreateAppVersionRequest, opts ...grpc.CallOption) (*AppVersion, error) { + out := new(AppVersion) + err := c.cc.Invoke(ctx, AgentService_CreateAppVersion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) DeleteAppVersion(ctx context.Context, in *DeleteAppVersionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, AgentService_DeleteAppVersion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) RestoreAppVersion(ctx context.Context, in *RestoreAppVersionRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, AgentService_RestoreAppVersion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) ListChangelogs(ctx context.Context, in *ListChangelogsRequest, opts ...grpc.CallOption) (*ListChangelogsResponse, error) { + out := new(ListChangelogsResponse) + err := c.cc.Invoke(ctx, AgentService_ListChangelogs_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentServiceClient) GetChangelog(ctx context.Context, in *GetChangelogRequest, opts ...grpc.CallOption) (*Changelog, error) { + out := new(Changelog) + err := c.cc.Invoke(ctx, AgentService_GetChangelog_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AgentServiceServer is the server API for AgentService service. +// All implementations should embed UnimplementedAgentServiceServer +// for forward compatibility +type AgentServiceServer interface { + // Lists apps in the given project and location. + ListApps(context.Context, *ListAppsRequest) (*ListAppsResponse, error) + // Gets details of the specified app. + GetApp(context.Context, *GetAppRequest) (*App, error) + // Creates a new app in the given project and location. + CreateApp(context.Context, *CreateAppRequest) (*longrunningpb.Operation, error) + // Updates the specified app. + UpdateApp(context.Context, *UpdateAppRequest) (*App, error) + // Deletes the specified app. + DeleteApp(context.Context, *DeleteAppRequest) (*longrunningpb.Operation, error) + // Exports the specified app. + ExportApp(context.Context, *ExportAppRequest) (*longrunningpb.Operation, error) + // Imports the specified app. + ImportApp(context.Context, *ImportAppRequest) (*longrunningpb.Operation, error) + // Lists agents in the given app. + ListAgents(context.Context, *ListAgentsRequest) (*ListAgentsResponse, error) + // Gets details of the specified agent. + GetAgent(context.Context, *GetAgentRequest) (*Agent, error) + // Creates a new agent in the given app. + CreateAgent(context.Context, *CreateAgentRequest) (*Agent, error) + // Updates the specified agent. + UpdateAgent(context.Context, *UpdateAgentRequest) (*Agent, error) + // Deletes the specified agent. + DeleteAgent(context.Context, *DeleteAgentRequest) (*emptypb.Empty, error) + // Lists examples in the given app. + ListExamples(context.Context, *ListExamplesRequest) (*ListExamplesResponse, error) + // Gets details of the specified example. + GetExample(context.Context, *GetExampleRequest) (*Example, error) + // Creates a new example in the given app. + CreateExample(context.Context, *CreateExampleRequest) (*Example, error) + // Updates the specified example. + UpdateExample(context.Context, *UpdateExampleRequest) (*Example, error) + // Deletes the specified example. + DeleteExample(context.Context, *DeleteExampleRequest) (*emptypb.Empty, error) + // Lists tools in the given app. + ListTools(context.Context, *ListToolsRequest) (*ListToolsResponse, error) + // Gets details of the specified tool. + GetTool(context.Context, *GetToolRequest) (*Tool, error) + // Lists conversations in the given app. + ListConversations(context.Context, *ListConversationsRequest) (*ListConversationsResponse, error) + // Gets details of the specified conversation. + GetConversation(context.Context, *GetConversationRequest) (*Conversation, error) + // Deletes the specified conversation. + DeleteConversation(context.Context, *DeleteConversationRequest) (*emptypb.Empty, error) + // Batch deletes the specified conversations. + BatchDeleteConversations(context.Context, *BatchDeleteConversationsRequest) (*longrunningpb.Operation, error) + // Creates a new tool in the given app. + CreateTool(context.Context, *CreateToolRequest) (*Tool, error) + // Updates the specified tool. + UpdateTool(context.Context, *UpdateToolRequest) (*Tool, error) + // Deletes the specified tool. + DeleteTool(context.Context, *DeleteToolRequest) (*emptypb.Empty, error) + // Lists guardrails in the given app. + ListGuardrails(context.Context, *ListGuardrailsRequest) (*ListGuardrailsResponse, error) + // Gets details of the specified guardrail. + GetGuardrail(context.Context, *GetGuardrailRequest) (*Guardrail, error) + // Creates a new guardrail in the given app. + CreateGuardrail(context.Context, *CreateGuardrailRequest) (*Guardrail, error) + // Updates the specified guardrail. + UpdateGuardrail(context.Context, *UpdateGuardrailRequest) (*Guardrail, error) + // Deletes the specified guardrail. + DeleteGuardrail(context.Context, *DeleteGuardrailRequest) (*emptypb.Empty, error) + // Lists deployments in the given app. + ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) + // Gets details of the specified deployment. + GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) + // Creates a new deployment in the given app. + CreateDeployment(context.Context, *CreateDeploymentRequest) (*Deployment, error) + // Updates the specified deployment. + UpdateDeployment(context.Context, *UpdateDeploymentRequest) (*Deployment, error) + // Deletes the specified deployment. + DeleteDeployment(context.Context, *DeleteDeploymentRequest) (*emptypb.Empty, error) + // Lists toolsets in the given app. + ListToolsets(context.Context, *ListToolsetsRequest) (*ListToolsetsResponse, error) + // Gets details of the specified toolset. + GetToolset(context.Context, *GetToolsetRequest) (*Toolset, error) + // Creates a new toolset in the given app. + CreateToolset(context.Context, *CreateToolsetRequest) (*Toolset, error) + // Updates the specified toolset. + UpdateToolset(context.Context, *UpdateToolsetRequest) (*Toolset, error) + // Deletes the specified toolset. + DeleteToolset(context.Context, *DeleteToolsetRequest) (*emptypb.Empty, error) + // Lists all app versions in the given app. + ListAppVersions(context.Context, *ListAppVersionsRequest) (*ListAppVersionsResponse, error) + // Gets details of the specified app version. + GetAppVersion(context.Context, *GetAppVersionRequest) (*AppVersion, error) + // Creates a new app version in the given app. + CreateAppVersion(context.Context, *CreateAppVersionRequest) (*AppVersion, error) + // Deletes the specified app version. + DeleteAppVersion(context.Context, *DeleteAppVersionRequest) (*emptypb.Empty, error) + // Restores the specified app version. + // This will create a new app version from the current draft app and overwrite + // the current draft with the specified app version. + RestoreAppVersion(context.Context, *RestoreAppVersionRequest) (*longrunningpb.Operation, error) + // Lists the changelogs of the specified app. + ListChangelogs(context.Context, *ListChangelogsRequest) (*ListChangelogsResponse, error) + // Gets the specified changelog. + GetChangelog(context.Context, *GetChangelogRequest) (*Changelog, error) +} + +// UnimplementedAgentServiceServer should be embedded to have forward compatible implementations. +type UnimplementedAgentServiceServer struct { +} + +func (UnimplementedAgentServiceServer) ListApps(context.Context, *ListAppsRequest) (*ListAppsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListApps not implemented") +} +func (UnimplementedAgentServiceServer) GetApp(context.Context, *GetAppRequest) (*App, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetApp not implemented") +} +func (UnimplementedAgentServiceServer) CreateApp(context.Context, *CreateAppRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateApp not implemented") +} +func (UnimplementedAgentServiceServer) UpdateApp(context.Context, *UpdateAppRequest) (*App, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateApp not implemented") +} +func (UnimplementedAgentServiceServer) DeleteApp(context.Context, *DeleteAppRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteApp not implemented") +} +func (UnimplementedAgentServiceServer) ExportApp(context.Context, *ExportAppRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportApp not implemented") +} +func (UnimplementedAgentServiceServer) ImportApp(context.Context, *ImportAppRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportApp not implemented") +} +func (UnimplementedAgentServiceServer) ListAgents(context.Context, *ListAgentsRequest) (*ListAgentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAgents not implemented") +} +func (UnimplementedAgentServiceServer) GetAgent(context.Context, *GetAgentRequest) (*Agent, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAgent not implemented") +} +func (UnimplementedAgentServiceServer) CreateAgent(context.Context, *CreateAgentRequest) (*Agent, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAgent not implemented") +} +func (UnimplementedAgentServiceServer) UpdateAgent(context.Context, *UpdateAgentRequest) (*Agent, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateAgent not implemented") +} +func (UnimplementedAgentServiceServer) DeleteAgent(context.Context, *DeleteAgentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAgent not implemented") +} +func (UnimplementedAgentServiceServer) ListExamples(context.Context, *ListExamplesRequest) (*ListExamplesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListExamples not implemented") +} +func (UnimplementedAgentServiceServer) GetExample(context.Context, *GetExampleRequest) (*Example, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetExample not implemented") +} +func (UnimplementedAgentServiceServer) CreateExample(context.Context, *CreateExampleRequest) (*Example, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateExample not implemented") +} +func (UnimplementedAgentServiceServer) UpdateExample(context.Context, *UpdateExampleRequest) (*Example, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateExample not implemented") +} +func (UnimplementedAgentServiceServer) DeleteExample(context.Context, *DeleteExampleRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteExample not implemented") +} +func (UnimplementedAgentServiceServer) ListTools(context.Context, *ListToolsRequest) (*ListToolsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTools not implemented") +} +func (UnimplementedAgentServiceServer) GetTool(context.Context, *GetToolRequest) (*Tool, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTool not implemented") +} +func (UnimplementedAgentServiceServer) ListConversations(context.Context, *ListConversationsRequest) (*ListConversationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListConversations not implemented") +} +func (UnimplementedAgentServiceServer) GetConversation(context.Context, *GetConversationRequest) (*Conversation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConversation not implemented") +} +func (UnimplementedAgentServiceServer) DeleteConversation(context.Context, *DeleteConversationRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteConversation not implemented") +} +func (UnimplementedAgentServiceServer) BatchDeleteConversations(context.Context, *BatchDeleteConversationsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchDeleteConversations not implemented") +} +func (UnimplementedAgentServiceServer) CreateTool(context.Context, *CreateToolRequest) (*Tool, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTool not implemented") +} +func (UnimplementedAgentServiceServer) UpdateTool(context.Context, *UpdateToolRequest) (*Tool, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTool not implemented") +} +func (UnimplementedAgentServiceServer) DeleteTool(context.Context, *DeleteToolRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTool not implemented") +} +func (UnimplementedAgentServiceServer) ListGuardrails(context.Context, *ListGuardrailsRequest) (*ListGuardrailsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListGuardrails not implemented") +} +func (UnimplementedAgentServiceServer) GetGuardrail(context.Context, *GetGuardrailRequest) (*Guardrail, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGuardrail not implemented") +} +func (UnimplementedAgentServiceServer) CreateGuardrail(context.Context, *CreateGuardrailRequest) (*Guardrail, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateGuardrail not implemented") +} +func (UnimplementedAgentServiceServer) UpdateGuardrail(context.Context, *UpdateGuardrailRequest) (*Guardrail, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateGuardrail not implemented") +} +func (UnimplementedAgentServiceServer) DeleteGuardrail(context.Context, *DeleteGuardrailRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteGuardrail not implemented") +} +func (UnimplementedAgentServiceServer) ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDeployments not implemented") +} +func (UnimplementedAgentServiceServer) GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDeployment not implemented") +} +func (UnimplementedAgentServiceServer) CreateDeployment(context.Context, *CreateDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDeployment not implemented") +} +func (UnimplementedAgentServiceServer) UpdateDeployment(context.Context, *UpdateDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDeployment not implemented") +} +func (UnimplementedAgentServiceServer) DeleteDeployment(context.Context, *DeleteDeploymentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDeployment not implemented") +} +func (UnimplementedAgentServiceServer) ListToolsets(context.Context, *ListToolsetsRequest) (*ListToolsetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListToolsets not implemented") +} +func (UnimplementedAgentServiceServer) GetToolset(context.Context, *GetToolsetRequest) (*Toolset, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetToolset not implemented") +} +func (UnimplementedAgentServiceServer) CreateToolset(context.Context, *CreateToolsetRequest) (*Toolset, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateToolset not implemented") +} +func (UnimplementedAgentServiceServer) UpdateToolset(context.Context, *UpdateToolsetRequest) (*Toolset, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateToolset not implemented") +} +func (UnimplementedAgentServiceServer) DeleteToolset(context.Context, *DeleteToolsetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteToolset not implemented") +} +func (UnimplementedAgentServiceServer) ListAppVersions(context.Context, *ListAppVersionsRequest) (*ListAppVersionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListAppVersions not implemented") +} +func (UnimplementedAgentServiceServer) GetAppVersion(context.Context, *GetAppVersionRequest) (*AppVersion, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAppVersion not implemented") +} +func (UnimplementedAgentServiceServer) CreateAppVersion(context.Context, *CreateAppVersionRequest) (*AppVersion, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAppVersion not implemented") +} +func (UnimplementedAgentServiceServer) DeleteAppVersion(context.Context, *DeleteAppVersionRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAppVersion not implemented") +} +func (UnimplementedAgentServiceServer) RestoreAppVersion(context.Context, *RestoreAppVersionRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RestoreAppVersion not implemented") +} +func (UnimplementedAgentServiceServer) ListChangelogs(context.Context, *ListChangelogsRequest) (*ListChangelogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListChangelogs not implemented") +} +func (UnimplementedAgentServiceServer) GetChangelog(context.Context, *GetChangelogRequest) (*Changelog, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetChangelog not implemented") +} + +// UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AgentServiceServer will +// result in compilation errors. +type UnsafeAgentServiceServer interface { + mustEmbedUnimplementedAgentServiceServer() +} + +func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer) { + s.RegisterService(&AgentService_ServiceDesc, srv) +} + +func _AgentService_ListApps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAppsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListApps(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListApps_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListApps(ctx, req.(*ListAppsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetApp(ctx, req.(*GetAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateApp(ctx, req.(*CreateAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateApp(ctx, req.(*UpdateAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteApp(ctx, req.(*DeleteAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ExportApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ExportApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ExportApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ExportApp(ctx, req.(*ExportAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ImportApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportAppRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ImportApp(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ImportApp_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ImportApp(ctx, req.(*ImportAppRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListAgents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAgentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListAgents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListAgents_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListAgents(ctx, req.(*ListAgentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetAgent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAgentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetAgent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetAgent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetAgent(ctx, req.(*GetAgentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateAgent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAgentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateAgent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateAgent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateAgent(ctx, req.(*CreateAgentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateAgent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateAgentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateAgent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateAgent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateAgent(ctx, req.(*UpdateAgentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteAgent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAgentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteAgent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteAgent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteAgent(ctx, req.(*DeleteAgentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListExamples_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListExamplesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListExamples(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListExamples_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListExamples(ctx, req.(*ListExamplesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetExample_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetExampleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetExample(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetExample_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetExample(ctx, req.(*GetExampleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateExample_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateExampleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateExample(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateExample_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateExample(ctx, req.(*CreateExampleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateExample_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateExampleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateExample(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateExample_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateExample(ctx, req.(*UpdateExampleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteExample_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteExampleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteExample(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteExample_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteExample(ctx, req.(*DeleteExampleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListTools_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListToolsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListTools(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListTools_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListTools(ctx, req.(*ListToolsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetTool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetToolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetTool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetTool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetTool(ctx, req.(*GetToolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListConversationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListConversations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListConversations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListConversations(ctx, req.(*ListConversationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetConversationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetConversation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetConversation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetConversation(ctx, req.(*GetConversationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteConversationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteConversation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteConversation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteConversation(ctx, req.(*DeleteConversationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_BatchDeleteConversations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchDeleteConversationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).BatchDeleteConversations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_BatchDeleteConversations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).BatchDeleteConversations(ctx, req.(*BatchDeleteConversationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateTool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateToolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateTool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateTool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateTool(ctx, req.(*CreateToolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateTool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateToolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateTool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateTool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateTool(ctx, req.(*UpdateToolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteTool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteToolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteTool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteTool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteTool(ctx, req.(*DeleteToolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListGuardrails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListGuardrailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListGuardrails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListGuardrails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListGuardrails(ctx, req.(*ListGuardrailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetGuardrail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGuardrailRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetGuardrail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetGuardrail_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetGuardrail(ctx, req.(*GetGuardrailRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateGuardrail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateGuardrailRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateGuardrail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateGuardrail_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateGuardrail(ctx, req.(*CreateGuardrailRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateGuardrail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateGuardrailRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateGuardrail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateGuardrail_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateGuardrail(ctx, req.(*UpdateGuardrailRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteGuardrail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteGuardrailRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteGuardrail(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteGuardrail_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteGuardrail(ctx, req.(*DeleteGuardrailRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDeploymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListDeployments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListDeployments_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListDeployments(ctx, req.(*ListDeploymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetDeployment(ctx, req.(*GetDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateDeployment(ctx, req.(*CreateDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateDeployment(ctx, req.(*UpdateDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteDeployment(ctx, req.(*DeleteDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListToolsets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListToolsetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListToolsets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListToolsets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListToolsets(ctx, req.(*ListToolsetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetToolset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetToolsetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetToolset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetToolset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetToolset(ctx, req.(*GetToolsetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateToolset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateToolsetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateToolset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateToolset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateToolset(ctx, req.(*CreateToolsetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_UpdateToolset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateToolsetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).UpdateToolset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_UpdateToolset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).UpdateToolset(ctx, req.(*UpdateToolsetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteToolset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteToolsetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteToolset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteToolset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteToolset(ctx, req.(*DeleteToolsetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListAppVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListAppVersionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListAppVersions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListAppVersions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListAppVersions(ctx, req.(*ListAppVersionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetAppVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAppVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetAppVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetAppVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetAppVersion(ctx, req.(*GetAppVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_CreateAppVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAppVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).CreateAppVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_CreateAppVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).CreateAppVersion(ctx, req.(*CreateAppVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_DeleteAppVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAppVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).DeleteAppVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_DeleteAppVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).DeleteAppVersion(ctx, req.(*DeleteAppVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_RestoreAppVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreAppVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).RestoreAppVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_RestoreAppVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).RestoreAppVersion(ctx, req.(*RestoreAppVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_ListChangelogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListChangelogsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).ListChangelogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_ListChangelogs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).ListChangelogs(ctx, req.(*ListChangelogsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentService_GetChangelog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChangelogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentServiceServer).GetChangelog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AgentService_GetChangelog_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentServiceServer).GetChangelog(ctx, req.(*GetChangelogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AgentService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ces.v1beta.AgentService", + HandlerType: (*AgentServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListApps", + Handler: _AgentService_ListApps_Handler, + }, + { + MethodName: "GetApp", + Handler: _AgentService_GetApp_Handler, + }, + { + MethodName: "CreateApp", + Handler: _AgentService_CreateApp_Handler, + }, + { + MethodName: "UpdateApp", + Handler: _AgentService_UpdateApp_Handler, + }, + { + MethodName: "DeleteApp", + Handler: _AgentService_DeleteApp_Handler, + }, + { + MethodName: "ExportApp", + Handler: _AgentService_ExportApp_Handler, + }, + { + MethodName: "ImportApp", + Handler: _AgentService_ImportApp_Handler, + }, + { + MethodName: "ListAgents", + Handler: _AgentService_ListAgents_Handler, + }, + { + MethodName: "GetAgent", + Handler: _AgentService_GetAgent_Handler, + }, + { + MethodName: "CreateAgent", + Handler: _AgentService_CreateAgent_Handler, + }, + { + MethodName: "UpdateAgent", + Handler: _AgentService_UpdateAgent_Handler, + }, + { + MethodName: "DeleteAgent", + Handler: _AgentService_DeleteAgent_Handler, + }, + { + MethodName: "ListExamples", + Handler: _AgentService_ListExamples_Handler, + }, + { + MethodName: "GetExample", + Handler: _AgentService_GetExample_Handler, + }, + { + MethodName: "CreateExample", + Handler: _AgentService_CreateExample_Handler, + }, + { + MethodName: "UpdateExample", + Handler: _AgentService_UpdateExample_Handler, + }, + { + MethodName: "DeleteExample", + Handler: _AgentService_DeleteExample_Handler, + }, + { + MethodName: "ListTools", + Handler: _AgentService_ListTools_Handler, + }, + { + MethodName: "GetTool", + Handler: _AgentService_GetTool_Handler, + }, + { + MethodName: "ListConversations", + Handler: _AgentService_ListConversations_Handler, + }, + { + MethodName: "GetConversation", + Handler: _AgentService_GetConversation_Handler, + }, + { + MethodName: "DeleteConversation", + Handler: _AgentService_DeleteConversation_Handler, + }, + { + MethodName: "BatchDeleteConversations", + Handler: _AgentService_BatchDeleteConversations_Handler, + }, + { + MethodName: "CreateTool", + Handler: _AgentService_CreateTool_Handler, + }, + { + MethodName: "UpdateTool", + Handler: _AgentService_UpdateTool_Handler, + }, + { + MethodName: "DeleteTool", + Handler: _AgentService_DeleteTool_Handler, + }, + { + MethodName: "ListGuardrails", + Handler: _AgentService_ListGuardrails_Handler, + }, + { + MethodName: "GetGuardrail", + Handler: _AgentService_GetGuardrail_Handler, + }, + { + MethodName: "CreateGuardrail", + Handler: _AgentService_CreateGuardrail_Handler, + }, + { + MethodName: "UpdateGuardrail", + Handler: _AgentService_UpdateGuardrail_Handler, + }, + { + MethodName: "DeleteGuardrail", + Handler: _AgentService_DeleteGuardrail_Handler, + }, + { + MethodName: "ListDeployments", + Handler: _AgentService_ListDeployments_Handler, + }, + { + MethodName: "GetDeployment", + Handler: _AgentService_GetDeployment_Handler, + }, + { + MethodName: "CreateDeployment", + Handler: _AgentService_CreateDeployment_Handler, + }, + { + MethodName: "UpdateDeployment", + Handler: _AgentService_UpdateDeployment_Handler, + }, + { + MethodName: "DeleteDeployment", + Handler: _AgentService_DeleteDeployment_Handler, + }, + { + MethodName: "ListToolsets", + Handler: _AgentService_ListToolsets_Handler, + }, + { + MethodName: "GetToolset", + Handler: _AgentService_GetToolset_Handler, + }, + { + MethodName: "CreateToolset", + Handler: _AgentService_CreateToolset_Handler, + }, + { + MethodName: "UpdateToolset", + Handler: _AgentService_UpdateToolset_Handler, + }, + { + MethodName: "DeleteToolset", + Handler: _AgentService_DeleteToolset_Handler, + }, + { + MethodName: "ListAppVersions", + Handler: _AgentService_ListAppVersions_Handler, + }, + { + MethodName: "GetAppVersion", + Handler: _AgentService_GetAppVersion_Handler, + }, + { + MethodName: "CreateAppVersion", + Handler: _AgentService_CreateAppVersion_Handler, + }, + { + MethodName: "DeleteAppVersion", + Handler: _AgentService_DeleteAppVersion_Handler, + }, + { + MethodName: "RestoreAppVersion", + Handler: _AgentService_RestoreAppVersion_Handler, + }, + { + MethodName: "ListChangelogs", + Handler: _AgentService_ListChangelogs_Handler, + }, + { + MethodName: "GetChangelog", + Handler: _AgentService_GetChangelog_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/ces/v1beta/agent_service.proto", +} diff --git a/ces/apiv1beta/cespb/agent_transfers.pb.go b/ces/apiv1beta/cespb/agent_transfers.pb.go new file mode 100644 index 000000000000..805a86671f76 --- /dev/null +++ b/ces/apiv1beta/cespb/agent_transfers.pb.go @@ -0,0 +1,581 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/agent_transfers.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The direction of the transfer. +type TransferRule_Direction int32 + +const ( + // Unspecified direction. + TransferRule_DIRECTION_UNSPECIFIED TransferRule_Direction = 0 + // Transfer from the parent agent to the child agent. + TransferRule_PARENT_TO_CHILD TransferRule_Direction = 1 + // Transfer from the child agent to the parent agent. + TransferRule_CHILD_TO_PARENT TransferRule_Direction = 2 +) + +// Enum value maps for TransferRule_Direction. +var ( + TransferRule_Direction_name = map[int32]string{ + 0: "DIRECTION_UNSPECIFIED", + 1: "PARENT_TO_CHILD", + 2: "CHILD_TO_PARENT", + } + TransferRule_Direction_value = map[string]int32{ + "DIRECTION_UNSPECIFIED": 0, + "PARENT_TO_CHILD": 1, + "CHILD_TO_PARENT": 2, + } +) + +func (x TransferRule_Direction) Enum() *TransferRule_Direction { + p := new(TransferRule_Direction) + *p = x + return p +} + +func (x TransferRule_Direction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TransferRule_Direction) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_agent_transfers_proto_enumTypes[0].Descriptor() +} + +func (TransferRule_Direction) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_agent_transfers_proto_enumTypes[0] +} + +func (x TransferRule_Direction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TransferRule_Direction.Descriptor instead. +func (TransferRule_Direction) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{2, 0} +} + +// Expression condition based on session state. +type ExpressionCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The string representation of cloud.api.Expression condition. + Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` +} + +func (x *ExpressionCondition) Reset() { + *x = ExpressionCondition{} + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExpressionCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExpressionCondition) ProtoMessage() {} + +func (x *ExpressionCondition) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExpressionCondition.ProtoReflect.Descriptor instead. +func (*ExpressionCondition) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{0} +} + +func (x *ExpressionCondition) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +// Python code block to evaluate the condition. +type PythonCodeCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The python code to execute. + PythonCode string `protobuf:"bytes,1,opt,name=python_code,json=pythonCode,proto3" json:"python_code,omitempty"` +} + +func (x *PythonCodeCondition) Reset() { + *x = PythonCodeCondition{} + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PythonCodeCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PythonCodeCondition) ProtoMessage() {} + +func (x *PythonCodeCondition) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PythonCodeCondition.ProtoReflect.Descriptor instead. +func (*PythonCodeCondition) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{1} +} + +func (x *PythonCodeCondition) GetPythonCode() string { + if x != nil { + return x.PythonCode + } + return "" +} + +// Rule for transferring to a specific agent. +type TransferRule struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The rule type. + // + // Types that are assignable to RuleType: + // + // *TransferRule_DeterministicTransfer_ + // *TransferRule_DisablePlannerTransfer_ + RuleType isTransferRule_RuleType `protobuf_oneof:"rule_type"` + // Required. The resource name of the child agent the rule applies to. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + ChildAgent string `protobuf:"bytes,1,opt,name=child_agent,json=childAgent,proto3" json:"child_agent,omitempty"` + // Required. The direction of the transfer. + Direction TransferRule_Direction `protobuf:"varint,2,opt,name=direction,proto3,enum=google.cloud.ces.v1beta.TransferRule_Direction" json:"direction,omitempty"` +} + +func (x *TransferRule) Reset() { + *x = TransferRule{} + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferRule) ProtoMessage() {} + +func (x *TransferRule) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferRule.ProtoReflect.Descriptor instead. +func (*TransferRule) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{2} +} + +func (m *TransferRule) GetRuleType() isTransferRule_RuleType { + if m != nil { + return m.RuleType + } + return nil +} + +func (x *TransferRule) GetDeterministicTransfer() *TransferRule_DeterministicTransfer { + if x, ok := x.GetRuleType().(*TransferRule_DeterministicTransfer_); ok { + return x.DeterministicTransfer + } + return nil +} + +func (x *TransferRule) GetDisablePlannerTransfer() *TransferRule_DisablePlannerTransfer { + if x, ok := x.GetRuleType().(*TransferRule_DisablePlannerTransfer_); ok { + return x.DisablePlannerTransfer + } + return nil +} + +func (x *TransferRule) GetChildAgent() string { + if x != nil { + return x.ChildAgent + } + return "" +} + +func (x *TransferRule) GetDirection() TransferRule_Direction { + if x != nil { + return x.Direction + } + return TransferRule_DIRECTION_UNSPECIFIED +} + +type isTransferRule_RuleType interface { + isTransferRule_RuleType() +} + +type TransferRule_DeterministicTransfer_ struct { + // Optional. A rule that immediately transfers to the target agent when the + // condition is met. + DeterministicTransfer *TransferRule_DeterministicTransfer `protobuf:"bytes,3,opt,name=deterministic_transfer,json=deterministicTransfer,proto3,oneof"` +} + +type TransferRule_DisablePlannerTransfer_ struct { + // Optional. Rule that prevents the planner from transferring to the target + // agent. + DisablePlannerTransfer *TransferRule_DisablePlannerTransfer `protobuf:"bytes,4,opt,name=disable_planner_transfer,json=disablePlannerTransfer,proto3,oneof"` +} + +func (*TransferRule_DeterministicTransfer_) isTransferRule_RuleType() {} + +func (*TransferRule_DisablePlannerTransfer_) isTransferRule_RuleType() {} + +// Deterministic transfer rule. When the condition evaluates to true, the +// transfer occurs. +type TransferRule_DeterministicTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The condition to evaluate. + // + // Types that are assignable to ConditionType: + // + // *TransferRule_DeterministicTransfer_ExpressionCondition + // *TransferRule_DeterministicTransfer_PythonCodeCondition + ConditionType isTransferRule_DeterministicTransfer_ConditionType `protobuf_oneof:"condition_type"` +} + +func (x *TransferRule_DeterministicTransfer) Reset() { + *x = TransferRule_DeterministicTransfer{} + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferRule_DeterministicTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferRule_DeterministicTransfer) ProtoMessage() {} + +func (x *TransferRule_DeterministicTransfer) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferRule_DeterministicTransfer.ProtoReflect.Descriptor instead. +func (*TransferRule_DeterministicTransfer) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{2, 0} +} + +func (m *TransferRule_DeterministicTransfer) GetConditionType() isTransferRule_DeterministicTransfer_ConditionType { + if m != nil { + return m.ConditionType + } + return nil +} + +func (x *TransferRule_DeterministicTransfer) GetExpressionCondition() *ExpressionCondition { + if x, ok := x.GetConditionType().(*TransferRule_DeterministicTransfer_ExpressionCondition); ok { + return x.ExpressionCondition + } + return nil +} + +func (x *TransferRule_DeterministicTransfer) GetPythonCodeCondition() *PythonCodeCondition { + if x, ok := x.GetConditionType().(*TransferRule_DeterministicTransfer_PythonCodeCondition); ok { + return x.PythonCodeCondition + } + return nil +} + +type isTransferRule_DeterministicTransfer_ConditionType interface { + isTransferRule_DeterministicTransfer_ConditionType() +} + +type TransferRule_DeterministicTransfer_ExpressionCondition struct { + // Optional. A rule that evaluates a session state condition. + // If the condition evaluates to true, the transfer occurs. + ExpressionCondition *ExpressionCondition `protobuf:"bytes,1,opt,name=expression_condition,json=expressionCondition,proto3,oneof"` +} + +type TransferRule_DeterministicTransfer_PythonCodeCondition struct { + // Optional. A rule that uses Python code block to evaluate the + // conditions. If the condition evaluates to true, the transfer occurs. + PythonCodeCondition *PythonCodeCondition `protobuf:"bytes,2,opt,name=python_code_condition,json=pythonCodeCondition,proto3,oneof"` +} + +func (*TransferRule_DeterministicTransfer_ExpressionCondition) isTransferRule_DeterministicTransfer_ConditionType() { +} + +func (*TransferRule_DeterministicTransfer_PythonCodeCondition) isTransferRule_DeterministicTransfer_ConditionType() { +} + +// A rule that prevents the planner from transferring to the target agent. +type TransferRule_DisablePlannerTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. If the condition evaluates to true, planner will not be allowed + // to transfer to the target agent. + ExpressionCondition *ExpressionCondition `protobuf:"bytes,1,opt,name=expression_condition,json=expressionCondition,proto3" json:"expression_condition,omitempty"` +} + +func (x *TransferRule_DisablePlannerTransfer) Reset() { + *x = TransferRule_DisablePlannerTransfer{} + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferRule_DisablePlannerTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferRule_DisablePlannerTransfer) ProtoMessage() {} + +func (x *TransferRule_DisablePlannerTransfer) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferRule_DisablePlannerTransfer.ProtoReflect.Descriptor instead. +func (*TransferRule_DisablePlannerTransfer) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *TransferRule_DisablePlannerTransfer) GetExpressionCondition() *ExpressionCondition { + if x != nil { + return x.ExpressionCondition + } + return nil +} + +var File_google_cloud_ces_v1beta_agent_transfers_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_agent_transfers_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x3b, 0x0a, 0x13, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xfb, 0x06, + 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x79, + 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, + 0x74, 0x69, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x15, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x7d, 0x0a, 0x18, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x75, + 0x6c, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, + 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, + 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0xfa, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x14, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x67, 0x0a, 0x15, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x7e, 0x0a, 0x16, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x09, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x52, + 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, + 0x4f, 0x5f, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x48, 0x49, + 0x4c, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x42, 0x0b, + 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x63, 0x0a, 0x1b, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescData = file_google_cloud_ces_v1beta_agent_transfers_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_agent_transfers_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_agent_transfers_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_ces_v1beta_agent_transfers_proto_goTypes = []any{ + (TransferRule_Direction)(0), // 0: google.cloud.ces.v1beta.TransferRule.Direction + (*ExpressionCondition)(nil), // 1: google.cloud.ces.v1beta.ExpressionCondition + (*PythonCodeCondition)(nil), // 2: google.cloud.ces.v1beta.PythonCodeCondition + (*TransferRule)(nil), // 3: google.cloud.ces.v1beta.TransferRule + (*TransferRule_DeterministicTransfer)(nil), // 4: google.cloud.ces.v1beta.TransferRule.DeterministicTransfer + (*TransferRule_DisablePlannerTransfer)(nil), // 5: google.cloud.ces.v1beta.TransferRule.DisablePlannerTransfer +} +var file_google_cloud_ces_v1beta_agent_transfers_proto_depIdxs = []int32{ + 4, // 0: google.cloud.ces.v1beta.TransferRule.deterministic_transfer:type_name -> google.cloud.ces.v1beta.TransferRule.DeterministicTransfer + 5, // 1: google.cloud.ces.v1beta.TransferRule.disable_planner_transfer:type_name -> google.cloud.ces.v1beta.TransferRule.DisablePlannerTransfer + 0, // 2: google.cloud.ces.v1beta.TransferRule.direction:type_name -> google.cloud.ces.v1beta.TransferRule.Direction + 1, // 3: google.cloud.ces.v1beta.TransferRule.DeterministicTransfer.expression_condition:type_name -> google.cloud.ces.v1beta.ExpressionCondition + 2, // 4: google.cloud.ces.v1beta.TransferRule.DeterministicTransfer.python_code_condition:type_name -> google.cloud.ces.v1beta.PythonCodeCondition + 1, // 5: google.cloud.ces.v1beta.TransferRule.DisablePlannerTransfer.expression_condition:type_name -> google.cloud.ces.v1beta.ExpressionCondition + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_agent_transfers_proto_init() } +func file_google_cloud_ces_v1beta_agent_transfers_proto_init() { + if File_google_cloud_ces_v1beta_agent_transfers_proto != nil { + return + } + file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[2].OneofWrappers = []any{ + (*TransferRule_DeterministicTransfer_)(nil), + (*TransferRule_DisablePlannerTransfer_)(nil), + } + file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes[3].OneofWrappers = []any{ + (*TransferRule_DeterministicTransfer_ExpressionCondition)(nil), + (*TransferRule_DeterministicTransfer_PythonCodeCondition)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_agent_transfers_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_agent_transfers_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_agent_transfers_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_agent_transfers_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_agent_transfers_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_agent_transfers_proto = out.File + file_google_cloud_ces_v1beta_agent_transfers_proto_rawDesc = nil + file_google_cloud_ces_v1beta_agent_transfers_proto_goTypes = nil + file_google_cloud_ces_v1beta_agent_transfers_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/app.pb.go b/ces/apiv1beta/cespb/app.pb.go new file mode 100644 index 000000000000..74149f8b1ca1 --- /dev/null +++ b/ces/apiv1beta/cespb/app.pb.go @@ -0,0 +1,3431 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/app.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Defines the tool execution behavior if there are **multiple** tools being +// selected by the agent **at the same time**. +type App_ToolExecutionMode int32 + +const ( + // Unspecified tool execution mode. Default to PARALLEL. + App_TOOL_EXECUTION_MODE_UNSPECIFIED App_ToolExecutionMode = 0 + // If there are multiple tools being selected, they will be executed in + // parallel, with the same + // [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context). + App_PARALLEL App_ToolExecutionMode = 1 + // If there are multiple tools being selected, they will be executed + // sequentially. The next tool will only be executed after the previous tool + // completes and it can see updated + // [ToolContext](https://google.github.io/adk-docs/context/#the-different-types-of-context) + // from the previous tool. + App_SEQUENTIAL App_ToolExecutionMode = 2 +) + +// Enum value maps for App_ToolExecutionMode. +var ( + App_ToolExecutionMode_name = map[int32]string{ + 0: "TOOL_EXECUTION_MODE_UNSPECIFIED", + 1: "PARALLEL", + 2: "SEQUENTIAL", + } + App_ToolExecutionMode_value = map[string]int32{ + "TOOL_EXECUTION_MODE_UNSPECIFIED": 0, + "PARALLEL": 1, + "SEQUENTIAL": 2, + } +) + +func (x App_ToolExecutionMode) Enum() *App_ToolExecutionMode { + p := new(App_ToolExecutionMode) + *p = x + return p +} + +func (x App_ToolExecutionMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (App_ToolExecutionMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[0].Descriptor() +} + +func (App_ToolExecutionMode) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[0] +} + +func (x App_ToolExecutionMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use App_ToolExecutionMode.Descriptor instead. +func (App_ToolExecutionMode) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{0, 0} +} + +// Prebuilt ambient noise. +type AmbientSoundConfig_PrebuiltAmbientNoise int32 + +const ( + // Not specified. + AmbientSoundConfig_PREBUILT_AMBIENT_NOISE_UNSPECIFIED AmbientSoundConfig_PrebuiltAmbientNoise = 0 + // Ambient noise of a retail store. + AmbientSoundConfig_RETAIL_STORE AmbientSoundConfig_PrebuiltAmbientNoise = 1 + // Ambient noise of a convention hall. + AmbientSoundConfig_CONVENTION_HALL AmbientSoundConfig_PrebuiltAmbientNoise = 2 + // Ambient noise of a street. + AmbientSoundConfig_OUTDOOR AmbientSoundConfig_PrebuiltAmbientNoise = 3 +) + +// Enum value maps for AmbientSoundConfig_PrebuiltAmbientNoise. +var ( + AmbientSoundConfig_PrebuiltAmbientNoise_name = map[int32]string{ + 0: "PREBUILT_AMBIENT_NOISE_UNSPECIFIED", + 1: "RETAIL_STORE", + 2: "CONVENTION_HALL", + 3: "OUTDOOR", + } + AmbientSoundConfig_PrebuiltAmbientNoise_value = map[string]int32{ + "PREBUILT_AMBIENT_NOISE_UNSPECIFIED": 0, + "RETAIL_STORE": 1, + "CONVENTION_HALL": 2, + "OUTDOOR": 3, + } +) + +func (x AmbientSoundConfig_PrebuiltAmbientNoise) Enum() *AmbientSoundConfig_PrebuiltAmbientNoise { + p := new(AmbientSoundConfig_PrebuiltAmbientNoise) + *p = x + return p +} + +func (x AmbientSoundConfig_PrebuiltAmbientNoise) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AmbientSoundConfig_PrebuiltAmbientNoise) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[1].Descriptor() +} + +func (AmbientSoundConfig_PrebuiltAmbientNoise) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[1] +} + +func (x AmbientSoundConfig_PrebuiltAmbientNoise) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AmbientSoundConfig_PrebuiltAmbientNoise.Descriptor instead. +func (AmbientSoundConfig_PrebuiltAmbientNoise) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{4, 0} +} + +// Defines the strategy for handling errors. +type ErrorHandlingSettings_ErrorHandlingStrategy int32 + +const ( + // Unspecified error handling strategy. Defaults to FALLBACK_RESPONSE. + ErrorHandlingSettings_ERROR_HANDLING_STRATEGY_UNSPECIFIED ErrorHandlingSettings_ErrorHandlingStrategy = 0 + // No specific handling is enabled. + ErrorHandlingSettings_NONE ErrorHandlingSettings_ErrorHandlingStrategy = 1 + // A fallback message will be returned to the user in case of + // LLM errors. + ErrorHandlingSettings_FALLBACK_RESPONSE ErrorHandlingSettings_ErrorHandlingStrategy = 2 +) + +// Enum value maps for ErrorHandlingSettings_ErrorHandlingStrategy. +var ( + ErrorHandlingSettings_ErrorHandlingStrategy_name = map[int32]string{ + 0: "ERROR_HANDLING_STRATEGY_UNSPECIFIED", + 1: "NONE", + 2: "FALLBACK_RESPONSE", + } + ErrorHandlingSettings_ErrorHandlingStrategy_value = map[string]int32{ + "ERROR_HANDLING_STRATEGY_UNSPECIFIED": 0, + "NONE": 1, + "FALLBACK_RESPONSE": 2, + } +) + +func (x ErrorHandlingSettings_ErrorHandlingStrategy) Enum() *ErrorHandlingSettings_ErrorHandlingStrategy { + p := new(ErrorHandlingSettings_ErrorHandlingStrategy) + *p = x + return p +} + +func (x ErrorHandlingSettings_ErrorHandlingStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ErrorHandlingSettings_ErrorHandlingStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[2].Descriptor() +} + +func (ErrorHandlingSettings_ErrorHandlingStrategy) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[2] +} + +func (x ErrorHandlingSettings_ErrorHandlingStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ErrorHandlingSettings_ErrorHandlingStrategy.Descriptor instead. +func (ErrorHandlingSettings_ErrorHandlingStrategy) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{9, 0} +} + +// The hallucination metric behavior. Regardless of the behavior, the metric +// will always be calculated. The difference is that when disabled, the +// metric is not used to calculate the overall evaluation score. +type EvaluationMetricsThresholds_HallucinationMetricBehavior int32 + +const ( + // Unspecified hallucination metric behavior. + EvaluationMetricsThresholds_HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED EvaluationMetricsThresholds_HallucinationMetricBehavior = 0 + // Disable hallucination metric. + EvaluationMetricsThresholds_DISABLED EvaluationMetricsThresholds_HallucinationMetricBehavior = 1 + // Enable hallucination metric. + EvaluationMetricsThresholds_ENABLED EvaluationMetricsThresholds_HallucinationMetricBehavior = 2 +) + +// Enum value maps for EvaluationMetricsThresholds_HallucinationMetricBehavior. +var ( + EvaluationMetricsThresholds_HallucinationMetricBehavior_name = map[int32]string{ + 0: "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED", + 1: "DISABLED", + 2: "ENABLED", + } + EvaluationMetricsThresholds_HallucinationMetricBehavior_value = map[string]int32{ + "HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED": 0, + "DISABLED": 1, + "ENABLED": 2, + } +) + +func (x EvaluationMetricsThresholds_HallucinationMetricBehavior) Enum() *EvaluationMetricsThresholds_HallucinationMetricBehavior { + p := new(EvaluationMetricsThresholds_HallucinationMetricBehavior) + *p = x + return p +} + +func (x EvaluationMetricsThresholds_HallucinationMetricBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationMetricsThresholds_HallucinationMetricBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[3].Descriptor() +} + +func (EvaluationMetricsThresholds_HallucinationMetricBehavior) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[3] +} + +func (x EvaluationMetricsThresholds_HallucinationMetricBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_HallucinationMetricBehavior.Descriptor instead. +func (EvaluationMetricsThresholds_HallucinationMetricBehavior) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 0} +} + +// Semantic similarity channel to use. +type EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel int32 + +const ( + // Metric unspecified. Defaults to TEXT. + EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel = 0 + // Use text semantic similarity. + EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_TEXT EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel = 1 + // Use audio semantic similarity. + EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_AUDIO EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel = 2 +) + +// Enum value maps for EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel. +var ( + EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel_name = map[int32]string{ + 0: "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED", + 1: "TEXT", + 2: "AUDIO", + } + EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel_value = map[string]int32{ + "SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED": 0, + "TEXT": 1, + "AUDIO": 2, + } +) + +func (x EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) Enum() *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel { + p := new(EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) + *p = x + return p +} + +func (x EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[4].Descriptor() +} + +func (EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[4] +} + +func (x EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel.Descriptor instead. +func (EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 0, 0, 0} +} + +// Defines the behavior when an extra tool call is encountered. An extra +// tool call is a tool call that is present in the execution but does not +// match any tool call in the golden expectation. +type EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior int32 + +const ( + // Unspecified behavior. Defaults to FAIL. + EvaluationMetricsThresholds_ToolMatchingSettings_EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior = 0 + // Fail the evaluation if an extra tool call is encountered. + EvaluationMetricsThresholds_ToolMatchingSettings_FAIL EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior = 1 + // Allow the extra tool call. + EvaluationMetricsThresholds_ToolMatchingSettings_ALLOW EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior = 2 +) + +// Enum value maps for EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior. +var ( + EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior_name = map[int32]string{ + 0: "EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED", + 1: "FAIL", + 2: "ALLOW", + } + EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior_value = map[string]int32{ + "EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED": 0, + "FAIL": 1, + "ALLOW": 2, + } +) + +func (x EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) Enum() *EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior { + p := new(EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) + *p = x + return p +} + +func (x EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[5].Descriptor() +} + +func (EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[5] +} + +func (x EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior.Descriptor instead. +func (EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 1, 0} +} + +// Determines who starts the conversation in a scenario evaluation session. +type EvaluationSettings_ScenarioConversationInitiator int32 + +const ( + // Unspecified. Defaults to USER. + EvaluationSettings_SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED EvaluationSettings_ScenarioConversationInitiator = 0 + // The user starts the conversation. + EvaluationSettings_USER EvaluationSettings_ScenarioConversationInitiator = 1 + // The agent starts the conversation. + EvaluationSettings_AGENT EvaluationSettings_ScenarioConversationInitiator = 2 +) + +// Enum value maps for EvaluationSettings_ScenarioConversationInitiator. +var ( + EvaluationSettings_ScenarioConversationInitiator_name = map[int32]string{ + 0: "SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED", + 1: "USER", + 2: "AGENT", + } + EvaluationSettings_ScenarioConversationInitiator_value = map[string]int32{ + "SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED": 0, + "USER": 1, + "AGENT": 2, + } +) + +func (x EvaluationSettings_ScenarioConversationInitiator) Enum() *EvaluationSettings_ScenarioConversationInitiator { + p := new(EvaluationSettings_ScenarioConversationInitiator) + *p = x + return p +} + +func (x EvaluationSettings_ScenarioConversationInitiator) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationSettings_ScenarioConversationInitiator) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[6].Descriptor() +} + +func (EvaluationSettings_ScenarioConversationInitiator) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[6] +} + +func (x EvaluationSettings_ScenarioConversationInitiator) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationSettings_ScenarioConversationInitiator.Descriptor instead. +func (EvaluationSettings_ScenarioConversationInitiator) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{11, 0} +} + +// The type of the engine. +// See the documentation available at +// https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType +// and +// https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest. +type DataStoreSettings_Engine_Type int32 + +const ( + // Unspecified engine type. + DataStoreSettings_Engine_TYPE_UNSPECIFIED DataStoreSettings_Engine_Type = 0 + // The SOLUTION_TYPE_SEARCH engine for the app. All connector data stores + // added to the app will be added to this engine. + DataStoreSettings_Engine_ENGINE_TYPE_SEARCH DataStoreSettings_Engine_Type = 1 + // Chat engine type. + // The SOLUTION_TYPE_CHAT engine for the app. All connector data stores + // added to the app will be added to this engine. + DataStoreSettings_Engine_ENGINE_TYPE_CHAT DataStoreSettings_Engine_Type = 2 +) + +// Enum value maps for DataStoreSettings_Engine_Type. +var ( + DataStoreSettings_Engine_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "ENGINE_TYPE_SEARCH", + 2: "ENGINE_TYPE_CHAT", + } + DataStoreSettings_Engine_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "ENGINE_TYPE_SEARCH": 1, + "ENGINE_TYPE_CHAT": 2, + } +) + +func (x DataStoreSettings_Engine_Type) Enum() *DataStoreSettings_Engine_Type { + p := new(DataStoreSettings_Engine_Type) + *p = x + return p +} + +func (x DataStoreSettings_Engine_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStoreSettings_Engine_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[7].Descriptor() +} + +func (DataStoreSettings_Engine_Type) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[7] +} + +func (x DataStoreSettings_Engine_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStoreSettings_Engine_Type.Descriptor instead. +func (DataStoreSettings_Engine_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{17, 0, 0} +} + +// Simulated audio environment. +type EvaluationPersona_SpeechConfig_BackgroundEnvironment int32 + +const ( + // Background environment unspecified. + EvaluationPersona_SpeechConfig_BACKGROUND_ENVIRONMENT_UNSPECIFIED EvaluationPersona_SpeechConfig_BackgroundEnvironment = 0 + // Call center environment. + EvaluationPersona_SpeechConfig_CALL_CENTER EvaluationPersona_SpeechConfig_BackgroundEnvironment = 3 + // Traffic noise environment. + EvaluationPersona_SpeechConfig_TRAFFIC EvaluationPersona_SpeechConfig_BackgroundEnvironment = 4 + // Kids noise environment. + EvaluationPersona_SpeechConfig_KIDS_NOISE EvaluationPersona_SpeechConfig_BackgroundEnvironment = 5 + // Cafe environment. + EvaluationPersona_SpeechConfig_CAFE EvaluationPersona_SpeechConfig_BackgroundEnvironment = 6 +) + +// Enum value maps for EvaluationPersona_SpeechConfig_BackgroundEnvironment. +var ( + EvaluationPersona_SpeechConfig_BackgroundEnvironment_name = map[int32]string{ + 0: "BACKGROUND_ENVIRONMENT_UNSPECIFIED", + 3: "CALL_CENTER", + 4: "TRAFFIC", + 5: "KIDS_NOISE", + 6: "CAFE", + } + EvaluationPersona_SpeechConfig_BackgroundEnvironment_value = map[string]int32{ + "BACKGROUND_ENVIRONMENT_UNSPECIFIED": 0, + "CALL_CENTER": 3, + "TRAFFIC": 4, + "KIDS_NOISE": 5, + "CAFE": 6, + } +) + +func (x EvaluationPersona_SpeechConfig_BackgroundEnvironment) Enum() *EvaluationPersona_SpeechConfig_BackgroundEnvironment { + p := new(EvaluationPersona_SpeechConfig_BackgroundEnvironment) + *p = x + return p +} + +func (x EvaluationPersona_SpeechConfig_BackgroundEnvironment) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationPersona_SpeechConfig_BackgroundEnvironment) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_app_proto_enumTypes[8].Descriptor() +} + +func (EvaluationPersona_SpeechConfig_BackgroundEnvironment) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_app_proto_enumTypes[8] +} + +func (x EvaluationPersona_SpeechConfig_BackgroundEnvironment) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationPersona_SpeechConfig_BackgroundEnvironment.Descriptor instead. +func (EvaluationPersona_SpeechConfig_BackgroundEnvironment) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{18, 0, 0} +} + +// An app serves as a top-level container for a group of agents, including the +// root agent and its sub-agents, along with their associated configurations. +// These agents work together to achieve specific goals within the app's +// context. +type App struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the app. + // Format: `projects/{project}/locations/{location}/apps/{app}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the app. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Human-readable description of the app. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Whether the app is pinned in the app list. + Pinned bool `protobuf:"varint,31,opt,name=pinned,proto3" json:"pinned,omitempty"` + // Optional. The root agent is the entry point of the app. + // Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + RootAgent string `protobuf:"bytes,4,opt,name=root_agent,json=rootAgent,proto3" json:"root_agent,omitempty"` + // Optional. Language settings of the app. + LanguageSettings *LanguageSettings `protobuf:"bytes,18,opt,name=language_settings,json=languageSettings,proto3" json:"language_settings,omitempty"` + // Optional. TimeZone settings of the app. + TimeZoneSettings *TimeZoneSettings `protobuf:"bytes,27,opt,name=time_zone_settings,json=timeZoneSettings,proto3" json:"time_zone_settings,omitempty"` + // Optional. Audio processing configuration of the app. + AudioProcessingConfig *AudioProcessingConfig `protobuf:"bytes,7,opt,name=audio_processing_config,json=audioProcessingConfig,proto3" json:"audio_processing_config,omitempty"` + // Optional. Logging settings of the app. + LoggingSettings *LoggingSettings `protobuf:"bytes,8,opt,name=logging_settings,json=loggingSettings,proto3" json:"logging_settings,omitempty"` + // Optional. Error handling settings of the app. + ErrorHandlingSettings *ErrorHandlingSettings `protobuf:"bytes,34,opt,name=error_handling_settings,json=errorHandlingSettings,proto3" json:"error_handling_settings,omitempty"` + // Optional. The default LLM model settings for the app. + // Individual resources (e.g. agents, guardrails) can override these + // configurations as needed. + ModelSettings *ModelSettings `protobuf:"bytes,13,opt,name=model_settings,json=modelSettings,proto3" json:"model_settings,omitempty"` + // Optional. The tool execution mode for the app. If not provided, will + // default to PARALLEL. + ToolExecutionMode App_ToolExecutionMode `protobuf:"varint,32,opt,name=tool_execution_mode,json=toolExecutionMode,proto3,enum=google.cloud.ces.v1beta.App_ToolExecutionMode" json:"tool_execution_mode,omitempty"` + // Optional. The evaluation thresholds for the app. + EvaluationMetricsThresholds *EvaluationMetricsThresholds `protobuf:"bytes,24,opt,name=evaluation_metrics_thresholds,json=evaluationMetricsThresholds,proto3" json:"evaluation_metrics_thresholds,omitempty"` + // Optional. The declarations of the variables. + VariableDeclarations []*App_VariableDeclaration `protobuf:"bytes,14,rep,name=variable_declarations,json=variableDeclarations,proto3" json:"variable_declarations,omitempty"` + // Output only. The declarations of predefined variables for the app. + PredefinedVariableDeclarations []*App_VariableDeclaration `protobuf:"bytes,28,rep,name=predefined_variable_declarations,json=predefinedVariableDeclarations,proto3" json:"predefined_variable_declarations,omitempty"` + // Optional. Instructions for all the agents in the app. + // You can use this instruction to set up a stable identity or personality + // across all the agents. + GlobalInstruction string `protobuf:"bytes,17,opt,name=global_instruction,json=globalInstruction,proto3" json:"global_instruction,omitempty"` + // Optional. List of guardrails for the app. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}` + Guardrails []string `protobuf:"bytes,10,rep,name=guardrails,proto3" json:"guardrails,omitempty"` + // Optional. The data store settings for the app. + DataStoreSettings *DataStoreSettings `protobuf:"bytes,15,opt,name=data_store_settings,json=dataStoreSettings,proto3" json:"data_store_settings,omitempty"` + // Optional. The default channel profile used by the app. + DefaultChannelProfile *ChannelProfile `protobuf:"bytes,22,opt,name=default_channel_profile,json=defaultChannelProfile,proto3" json:"default_channel_profile,omitempty"` + // Optional. Metadata about the app. This field can be used to store + // additional information relevant to the app's details or intended usages. + Metadata map[string]string `protobuf:"bytes,11,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Timestamp when the app was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the app was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. Number of deployments in the app. + DeploymentCount int32 `protobuf:"varint,23,opt,name=deployment_count,json=deploymentCount,proto3" json:"deployment_count,omitempty"` + // Optional. The default client certificate settings for the app. + ClientCertificateSettings *ClientCertificateSettings `protobuf:"bytes,25,opt,name=client_certificate_settings,json=clientCertificateSettings,proto3" json:"client_certificate_settings,omitempty"` + // Optional. Indicates whether the app is locked for changes. If the app is + // locked, modifications to the app resources will be rejected. + Locked bool `protobuf:"varint,29,opt,name=locked,proto3" json:"locked,omitempty"` + // Optional. The evaluation personas for the app. This field is used to define + // the personas that can be used for evaluation. Maximum of 30 personas can be + // defined. + EvaluationPersonas []*EvaluationPersona `protobuf:"bytes,30,rep,name=evaluation_personas,json=evaluationPersonas,proto3" json:"evaluation_personas,omitempty"` + // Optional. The evaluation settings for the app. + EvaluationSettings *EvaluationSettings `protobuf:"bytes,33,opt,name=evaluation_settings,json=evaluationSettings,proto3" json:"evaluation_settings,omitempty"` +} + +func (x *App) Reset() { + *x = App{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *App) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*App) ProtoMessage() {} + +func (x *App) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use App.ProtoReflect.Descriptor instead. +func (*App) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{0} +} + +func (x *App) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *App) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *App) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *App) GetPinned() bool { + if x != nil { + return x.Pinned + } + return false +} + +func (x *App) GetRootAgent() string { + if x != nil { + return x.RootAgent + } + return "" +} + +func (x *App) GetLanguageSettings() *LanguageSettings { + if x != nil { + return x.LanguageSettings + } + return nil +} + +func (x *App) GetTimeZoneSettings() *TimeZoneSettings { + if x != nil { + return x.TimeZoneSettings + } + return nil +} + +func (x *App) GetAudioProcessingConfig() *AudioProcessingConfig { + if x != nil { + return x.AudioProcessingConfig + } + return nil +} + +func (x *App) GetLoggingSettings() *LoggingSettings { + if x != nil { + return x.LoggingSettings + } + return nil +} + +func (x *App) GetErrorHandlingSettings() *ErrorHandlingSettings { + if x != nil { + return x.ErrorHandlingSettings + } + return nil +} + +func (x *App) GetModelSettings() *ModelSettings { + if x != nil { + return x.ModelSettings + } + return nil +} + +func (x *App) GetToolExecutionMode() App_ToolExecutionMode { + if x != nil { + return x.ToolExecutionMode + } + return App_TOOL_EXECUTION_MODE_UNSPECIFIED +} + +func (x *App) GetEvaluationMetricsThresholds() *EvaluationMetricsThresholds { + if x != nil { + return x.EvaluationMetricsThresholds + } + return nil +} + +func (x *App) GetVariableDeclarations() []*App_VariableDeclaration { + if x != nil { + return x.VariableDeclarations + } + return nil +} + +func (x *App) GetPredefinedVariableDeclarations() []*App_VariableDeclaration { + if x != nil { + return x.PredefinedVariableDeclarations + } + return nil +} + +func (x *App) GetGlobalInstruction() string { + if x != nil { + return x.GlobalInstruction + } + return "" +} + +func (x *App) GetGuardrails() []string { + if x != nil { + return x.Guardrails + } + return nil +} + +func (x *App) GetDataStoreSettings() *DataStoreSettings { + if x != nil { + return x.DataStoreSettings + } + return nil +} + +func (x *App) GetDefaultChannelProfile() *ChannelProfile { + if x != nil { + return x.DefaultChannelProfile + } + return nil +} + +func (x *App) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *App) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *App) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *App) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *App) GetDeploymentCount() int32 { + if x != nil { + return x.DeploymentCount + } + return 0 +} + +func (x *App) GetClientCertificateSettings() *ClientCertificateSettings { + if x != nil { + return x.ClientCertificateSettings + } + return nil +} + +func (x *App) GetLocked() bool { + if x != nil { + return x.Locked + } + return false +} + +func (x *App) GetEvaluationPersonas() []*EvaluationPersona { + if x != nil { + return x.EvaluationPersonas + } + return nil +} + +func (x *App) GetEvaluationSettings() *EvaluationSettings { + if x != nil { + return x.EvaluationSettings + } + return nil +} + +// TimeZone settings of the app. +type TimeZoneSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The time zone of the app from the [time zone + // database](https://www.iana.org/time-zones), e.g., America/Los_Angeles, + // Europe/Paris. + TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"` +} + +func (x *TimeZoneSettings) Reset() { + *x = TimeZoneSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimeZoneSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeZoneSettings) ProtoMessage() {} + +func (x *TimeZoneSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeZoneSettings.ProtoReflect.Descriptor instead. +func (*TimeZoneSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{1} +} + +func (x *TimeZoneSettings) GetTimeZone() string { + if x != nil { + return x.TimeZone + } + return "" +} + +// Language settings of the app. +type LanguageSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The default language code of the app. + DefaultLanguageCode string `protobuf:"bytes,1,opt,name=default_language_code,json=defaultLanguageCode,proto3" json:"default_language_code,omitempty"` + // Optional. List of languages codes supported by the app, in addition to the + // `default_language_code`. + SupportedLanguageCodes []string `protobuf:"bytes,2,rep,name=supported_language_codes,json=supportedLanguageCodes,proto3" json:"supported_language_codes,omitempty"` + // Optional. Enables multilingual support. If true, agents in the app will use + // pre-built instructions to improve handling of multilingual input. + EnableMultilingualSupport bool `protobuf:"varint,3,opt,name=enable_multilingual_support,json=enableMultilingualSupport,proto3" json:"enable_multilingual_support,omitempty"` + // Optional. 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: + // - A tool's full resource name, which triggers a specific tool execution. + // - A predefined system action, such as "escalate" or "exit", which triggers + // an [EndSession][google.cloud.ces.v1beta.EndSession] signal with + // corresponding [metadata][google.cloud.ces.v1beta.EndSession.metadata] to + // terminate the conversation. + FallbackAction string `protobuf:"bytes,4,opt,name=fallback_action,json=fallbackAction,proto3" json:"fallback_action,omitempty"` +} + +func (x *LanguageSettings) Reset() { + *x = LanguageSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LanguageSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LanguageSettings) ProtoMessage() {} + +func (x *LanguageSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LanguageSettings.ProtoReflect.Descriptor instead. +func (*LanguageSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{2} +} + +func (x *LanguageSettings) GetDefaultLanguageCode() string { + if x != nil { + return x.DefaultLanguageCode + } + return "" +} + +func (x *LanguageSettings) GetSupportedLanguageCodes() []string { + if x != nil { + return x.SupportedLanguageCodes + } + return nil +} + +func (x *LanguageSettings) GetEnableMultilingualSupport() bool { + if x != nil { + return x.EnableMultilingualSupport + } + return false +} + +func (x *LanguageSettings) GetFallbackAction() string { + if x != nil { + return x.FallbackAction + } + return "" +} + +// Configuration for how the input and output audio should be processed and +// delivered. +type AudioProcessingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configuration of how the agent response should be synthesized, + // mapping from the language code to + // [SynthesizeSpeechConfig][google.cloud.ces.v1beta.SynthesizeSpeechConfig]. + // + // If the configuration for the specified language code is not found, the + // configuration for the root language code will be used. For example, if the + // map contains "en-us" and "en", and the specified language code is "en-gb", + // then "en" configuration will be used. + // + // Note: Language code is case-insensitive. + SynthesizeSpeechConfigs map[string]*SynthesizeSpeechConfig `protobuf:"bytes,1,rep,name=synthesize_speech_configs,json=synthesizeSpeechConfigs,proto3" json:"synthesize_speech_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Configures the agent behavior for the user barge-in activities. + BargeInConfig *BargeInConfig `protobuf:"bytes,3,opt,name=barge_in_config,json=bargeInConfig,proto3" json:"barge_in_config,omitempty"` + // Optional. The duration of user inactivity (no speech or interaction) before + // the agent prompts the user for reengagement. If not set, the agent will not + // prompt the user for reengagement. + InactivityTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=inactivity_timeout,json=inactivityTimeout,proto3" json:"inactivity_timeout,omitempty"` + // Optional. Configuration for the ambient sound to be played with the + // synthesized agent response, to enhance the naturalness of the conversation. + AmbientSoundConfig *AmbientSoundConfig `protobuf:"bytes,5,opt,name=ambient_sound_config,json=ambientSoundConfig,proto3" json:"ambient_sound_config,omitempty"` +} + +func (x *AudioProcessingConfig) Reset() { + *x = AudioProcessingConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AudioProcessingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AudioProcessingConfig) ProtoMessage() {} + +func (x *AudioProcessingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AudioProcessingConfig.ProtoReflect.Descriptor instead. +func (*AudioProcessingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{3} +} + +func (x *AudioProcessingConfig) GetSynthesizeSpeechConfigs() map[string]*SynthesizeSpeechConfig { + if x != nil { + return x.SynthesizeSpeechConfigs + } + return nil +} + +func (x *AudioProcessingConfig) GetBargeInConfig() *BargeInConfig { + if x != nil { + return x.BargeInConfig + } + return nil +} + +func (x *AudioProcessingConfig) GetInactivityTimeout() *durationpb.Duration { + if x != nil { + return x.InactivityTimeout + } + return nil +} + +func (x *AudioProcessingConfig) GetAmbientSoundConfig() *AmbientSoundConfig { + if x != nil { + return x.AmbientSoundConfig + } + return nil +} + +// Configuration for the ambient sound to be played with the synthesized agent +// response, to enhance the naturalness of the conversation. +type AmbientSoundConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ambient noise to be played with the synthesized agent response, to + // enhance the naturalness of the conversation. + // + // Types that are assignable to Source: + // + // *AmbientSoundConfig_PrebuiltAmbientNoise_ + // *AmbientSoundConfig_GcsUri + // *AmbientSoundConfig_PrebuiltAmbientSound + Source isAmbientSoundConfig_Source `protobuf_oneof:"source"` + // Optional. Volume gain (in dB) of the normal native volume supported by + // ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of + // 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) + // will play at approximately half the amplitude of the normal native signal + // amplitude. A value of +6.0 (dB) will play at approximately twice the + // amplitude of the normal native signal amplitude. We strongly recommend not + // to exceed +10 (dB) as there's usually no effective increase in loudness for + // any value greater than that. + VolumeGainDb float64 `protobuf:"fixed64,3,opt,name=volume_gain_db,json=volumeGainDb,proto3" json:"volume_gain_db,omitempty"` +} + +func (x *AmbientSoundConfig) Reset() { + *x = AmbientSoundConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AmbientSoundConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AmbientSoundConfig) ProtoMessage() {} + +func (x *AmbientSoundConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AmbientSoundConfig.ProtoReflect.Descriptor instead. +func (*AmbientSoundConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{4} +} + +func (m *AmbientSoundConfig) GetSource() isAmbientSoundConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. +func (x *AmbientSoundConfig) GetPrebuiltAmbientNoise() AmbientSoundConfig_PrebuiltAmbientNoise { + if x, ok := x.GetSource().(*AmbientSoundConfig_PrebuiltAmbientNoise_); ok { + return x.PrebuiltAmbientNoise + } + return AmbientSoundConfig_PREBUILT_AMBIENT_NOISE_UNSPECIFIED +} + +func (x *AmbientSoundConfig) GetGcsUri() string { + if x, ok := x.GetSource().(*AmbientSoundConfig_GcsUri); ok { + return x.GcsUri + } + return "" +} + +func (x *AmbientSoundConfig) GetPrebuiltAmbientSound() string { + if x, ok := x.GetSource().(*AmbientSoundConfig_PrebuiltAmbientSound); ok { + return x.PrebuiltAmbientSound + } + return "" +} + +func (x *AmbientSoundConfig) GetVolumeGainDb() float64 { + if x != nil { + return x.VolumeGainDb + } + return 0 +} + +type isAmbientSoundConfig_Source interface { + isAmbientSoundConfig_Source() +} + +type AmbientSoundConfig_PrebuiltAmbientNoise_ struct { + // Optional. Deprecated: `prebuilt_ambient_noise` is deprecated in favor of + // `prebuilt_ambient_sound`. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. + PrebuiltAmbientNoise AmbientSoundConfig_PrebuiltAmbientNoise `protobuf:"varint,1,opt,name=prebuilt_ambient_noise,json=prebuiltAmbientNoise,proto3,enum=google.cloud.ces.v1beta.AmbientSoundConfig_PrebuiltAmbientNoise,oneof"` +} + +type AmbientSoundConfig_GcsUri struct { + // Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in + // [Cloud Storage](https://cloud.google.com/storage). + // + // Note: Please make sure the CES service agent + // `service-@gcp-sa-ces.iam.gserviceaccount.com` has + // `storage.objects.get` permission to the Cloud Storage object. + GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` +} + +type AmbientSoundConfig_PrebuiltAmbientSound struct { + // Optional. Name of the prebuilt ambient sound. + // Valid values are: + // - "coffee_shop" + // - "keyboard" + // - "keypad" + // - "hum" + // - "office_1" + // - "office_2" + // - "office_3" + // - "room_1" + // - "room_2" + // - "room_3" + // - "room_4" + // - "room_5" + // - "air_conditioner" + PrebuiltAmbientSound string `protobuf:"bytes,4,opt,name=prebuilt_ambient_sound,json=prebuiltAmbientSound,proto3,oneof"` +} + +func (*AmbientSoundConfig_PrebuiltAmbientNoise_) isAmbientSoundConfig_Source() {} + +func (*AmbientSoundConfig_GcsUri) isAmbientSoundConfig_Source() {} + +func (*AmbientSoundConfig_PrebuiltAmbientSound) isAmbientSoundConfig_Source() {} + +// Configuration for how the user barge-in activities should be handled. +type BargeInConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Disables user barge-in while the agent is speaking. If true, user + // input during agent response playback will be ignored. + // + // Deprecated: `disable_barge_in` is deprecated in favor of + // [`disable_barge_in_control`][google.cloud.ces.v1beta.ChannelProfile.disable_barge_in_control] + // in ChannelProfile. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. + DisableBargeIn bool `protobuf:"varint,1,opt,name=disable_barge_in,json=disableBargeIn,proto3" json:"disable_barge_in,omitempty"` + // Optional. If enabled, the agent will adapt its next response based on the + // assumption that the user hasn't heard the full preceding agent message. + // This should not be used in scenarios where agent responses are displayed + // visually. + BargeInAwareness bool `protobuf:"varint,2,opt,name=barge_in_awareness,json=bargeInAwareness,proto3" json:"barge_in_awareness,omitempty"` +} + +func (x *BargeInConfig) Reset() { + *x = BargeInConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BargeInConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BargeInConfig) ProtoMessage() {} + +func (x *BargeInConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BargeInConfig.ProtoReflect.Descriptor instead. +func (*BargeInConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{5} +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. +func (x *BargeInConfig) GetDisableBargeIn() bool { + if x != nil { + return x.DisableBargeIn + } + return false +} + +func (x *BargeInConfig) GetBargeInAwareness() bool { + if x != nil { + return x.BargeInAwareness + } + return false +} + +// Configuration for how the agent response should be synthesized. +type SynthesizeSpeechConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The name of the voice. If not set, the service will choose a + // voice based on the other parameters such as language_code. + // + // For the list of available voices, please refer to [Supported voices and + // languages](https://cloud.google.com/text-to-speech/docs/voices) from Cloud + // Text-to-Speech. + Voice string `protobuf:"bytes,1,opt,name=voice,proto3" json:"voice,omitempty"` + // Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the + // normal native speed supported by the specific voice. 2.0 is twice as fast, + // and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will + // return an error. + SpeakingRate float64 `protobuf:"fixed64,2,opt,name=speaking_rate,json=speakingRate,proto3" json:"speaking_rate,omitempty"` +} + +func (x *SynthesizeSpeechConfig) Reset() { + *x = SynthesizeSpeechConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SynthesizeSpeechConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SynthesizeSpeechConfig) ProtoMessage() {} + +func (x *SynthesizeSpeechConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SynthesizeSpeechConfig.ProtoReflect.Descriptor instead. +func (*SynthesizeSpeechConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{6} +} + +func (x *SynthesizeSpeechConfig) GetVoice() string { + if x != nil { + return x.Voice + } + return "" +} + +func (x *SynthesizeSpeechConfig) GetSpeakingRate() float64 { + if x != nil { + return x.SpeakingRate + } + return 0 +} + +// Settings to describe the conversation data collection behaviors for LLM +// analysis metrics pipeline. +type MetricAnalysisSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Whether to collect conversation data for llm analysis metrics. If + // true, conversation data will not be collected for llm analysis metrics; + // otherwise, conversation data will be collected. + LlmMetricsOptedOut bool `protobuf:"varint,1,opt,name=llm_metrics_opted_out,json=llmMetricsOptedOut,proto3" json:"llm_metrics_opted_out,omitempty"` +} + +func (x *MetricAnalysisSettings) Reset() { + *x = MetricAnalysisSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MetricAnalysisSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricAnalysisSettings) ProtoMessage() {} + +func (x *MetricAnalysisSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricAnalysisSettings.ProtoReflect.Descriptor instead. +func (*MetricAnalysisSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{7} +} + +func (x *MetricAnalysisSettings) GetLlmMetricsOptedOut() bool { + if x != nil { + return x.LlmMetricsOptedOut + } + return false +} + +// Settings to describe the logging behaviors for the app. +type LoggingSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configuration for how sensitive data should be redacted. + RedactionConfig *RedactionConfig `protobuf:"bytes,1,opt,name=redaction_config,json=redactionConfig,proto3" json:"redaction_config,omitempty"` + // Optional. Configuration for how audio interactions should be recorded. + AudioRecordingConfig *AudioRecordingConfig `protobuf:"bytes,2,opt,name=audio_recording_config,json=audioRecordingConfig,proto3" json:"audio_recording_config,omitempty"` + // Optional. Settings to describe the BigQuery export behaviors for the app. + // The conversation data will be exported to BigQuery tables if it is enabled. + BigqueryExportSettings *BigQueryExportSettings `protobuf:"bytes,3,opt,name=bigquery_export_settings,json=bigqueryExportSettings,proto3" json:"bigquery_export_settings,omitempty"` + // Optional. Settings to describe the Cloud Logging behaviors for the app. + CloudLoggingSettings *CloudLoggingSettings `protobuf:"bytes,4,opt,name=cloud_logging_settings,json=cloudLoggingSettings,proto3" json:"cloud_logging_settings,omitempty"` + // Optional. Settings to describe the conversation logging behaviors for the + // app. + ConversationLoggingSettings *ConversationLoggingSettings `protobuf:"bytes,5,opt,name=conversation_logging_settings,json=conversationLoggingSettings,proto3" json:"conversation_logging_settings,omitempty"` + // Optional. Configuration for how audio interactions should be recorded for + // the evaluation. By default, audio recording is not enabled for evaluation + // sessions. + EvaluationAudioRecordingConfig *AudioRecordingConfig `protobuf:"bytes,6,opt,name=evaluation_audio_recording_config,json=evaluationAudioRecordingConfig,proto3" json:"evaluation_audio_recording_config,omitempty"` + // Optional. Settings to describe the conversation data collection behaviors + // for the LLM analysis pipeline for the app. + MetricAnalysisSettings *MetricAnalysisSettings `protobuf:"bytes,7,opt,name=metric_analysis_settings,json=metricAnalysisSettings,proto3" json:"metric_analysis_settings,omitempty"` +} + +func (x *LoggingSettings) Reset() { + *x = LoggingSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoggingSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoggingSettings) ProtoMessage() {} + +func (x *LoggingSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoggingSettings.ProtoReflect.Descriptor instead. +func (*LoggingSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{8} +} + +func (x *LoggingSettings) GetRedactionConfig() *RedactionConfig { + if x != nil { + return x.RedactionConfig + } + return nil +} + +func (x *LoggingSettings) GetAudioRecordingConfig() *AudioRecordingConfig { + if x != nil { + return x.AudioRecordingConfig + } + return nil +} + +func (x *LoggingSettings) GetBigqueryExportSettings() *BigQueryExportSettings { + if x != nil { + return x.BigqueryExportSettings + } + return nil +} + +func (x *LoggingSettings) GetCloudLoggingSettings() *CloudLoggingSettings { + if x != nil { + return x.CloudLoggingSettings + } + return nil +} + +func (x *LoggingSettings) GetConversationLoggingSettings() *ConversationLoggingSettings { + if x != nil { + return x.ConversationLoggingSettings + } + return nil +} + +func (x *LoggingSettings) GetEvaluationAudioRecordingConfig() *AudioRecordingConfig { + if x != nil { + return x.EvaluationAudioRecordingConfig + } + return nil +} + +func (x *LoggingSettings) GetMetricAnalysisSettings() *MetricAnalysisSettings { + if x != nil { + return x.MetricAnalysisSettings + } + return nil +} + +// Settings to describe how errors should be handled in the app. +type ErrorHandlingSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The strategy to use for error handling. + ErrorHandlingStrategy ErrorHandlingSettings_ErrorHandlingStrategy `protobuf:"varint,1,opt,name=error_handling_strategy,json=errorHandlingStrategy,proto3,enum=google.cloud.ces.v1beta.ErrorHandlingSettings_ErrorHandlingStrategy" json:"error_handling_strategy,omitempty"` +} + +func (x *ErrorHandlingSettings) Reset() { + *x = ErrorHandlingSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ErrorHandlingSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorHandlingSettings) ProtoMessage() {} + +func (x *ErrorHandlingSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorHandlingSettings.ProtoReflect.Descriptor instead. +func (*ErrorHandlingSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{9} +} + +func (x *ErrorHandlingSettings) GetErrorHandlingStrategy() ErrorHandlingSettings_ErrorHandlingStrategy { + if x != nil { + return x.ErrorHandlingStrategy + } + return ErrorHandlingSettings_ERROR_HANDLING_STRATEGY_UNSPECIFIED +} + +// Threshold settings for metrics in an Evaluation. +type EvaluationMetricsThresholds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The golden evaluation metrics thresholds. + GoldenEvaluationMetricsThresholds *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds `protobuf:"bytes,1,opt,name=golden_evaluation_metrics_thresholds,json=goldenEvaluationMetricsThresholds,proto3" json:"golden_evaluation_metrics_thresholds,omitempty"` + // Optional. Deprecated: Use `golden_hallucination_metric_behavior` instead. + // The hallucination metric behavior is currently used for golden evaluations. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. + HallucinationMetricBehavior EvaluationMetricsThresholds_HallucinationMetricBehavior `protobuf:"varint,3,opt,name=hallucination_metric_behavior,json=hallucinationMetricBehavior,proto3,enum=google.cloud.ces.v1beta.EvaluationMetricsThresholds_HallucinationMetricBehavior" json:"hallucination_metric_behavior,omitempty"` + // Optional. The hallucination metric behavior for golden evaluations. + GoldenHallucinationMetricBehavior EvaluationMetricsThresholds_HallucinationMetricBehavior `protobuf:"varint,5,opt,name=golden_hallucination_metric_behavior,json=goldenHallucinationMetricBehavior,proto3,enum=google.cloud.ces.v1beta.EvaluationMetricsThresholds_HallucinationMetricBehavior" json:"golden_hallucination_metric_behavior,omitempty"` + // Optional. The hallucination metric behavior for scenario evaluations. + ScenarioHallucinationMetricBehavior EvaluationMetricsThresholds_HallucinationMetricBehavior `protobuf:"varint,4,opt,name=scenario_hallucination_metric_behavior,json=scenarioHallucinationMetricBehavior,proto3,enum=google.cloud.ces.v1beta.EvaluationMetricsThresholds_HallucinationMetricBehavior" json:"scenario_hallucination_metric_behavior,omitempty"` +} + +func (x *EvaluationMetricsThresholds) Reset() { + *x = EvaluationMetricsThresholds{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationMetricsThresholds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationMetricsThresholds) ProtoMessage() {} + +func (x *EvaluationMetricsThresholds) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationMetricsThresholds.ProtoReflect.Descriptor instead. +func (*EvaluationMetricsThresholds) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10} +} + +func (x *EvaluationMetricsThresholds) GetGoldenEvaluationMetricsThresholds() *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds { + if x != nil { + return x.GoldenEvaluationMetricsThresholds + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/app.proto. +func (x *EvaluationMetricsThresholds) GetHallucinationMetricBehavior() EvaluationMetricsThresholds_HallucinationMetricBehavior { + if x != nil { + return x.HallucinationMetricBehavior + } + return EvaluationMetricsThresholds_HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED +} + +func (x *EvaluationMetricsThresholds) GetGoldenHallucinationMetricBehavior() EvaluationMetricsThresholds_HallucinationMetricBehavior { + if x != nil { + return x.GoldenHallucinationMetricBehavior + } + return EvaluationMetricsThresholds_HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED +} + +func (x *EvaluationMetricsThresholds) GetScenarioHallucinationMetricBehavior() EvaluationMetricsThresholds_HallucinationMetricBehavior { + if x != nil { + return x.ScenarioHallucinationMetricBehavior + } + return EvaluationMetricsThresholds_HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED +} + +// Settings for evaluation. +type EvaluationSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Who starts the conversation in a scenario evaluation. + ScenarioConversationInitiator EvaluationSettings_ScenarioConversationInitiator `protobuf:"varint,1,opt,name=scenario_conversation_initiator,json=scenarioConversationInitiator,proto3,enum=google.cloud.ces.v1beta.EvaluationSettings_ScenarioConversationInitiator" json:"scenario_conversation_initiator,omitempty"` + // Optional. The default method used to run golden evaluations. This will be + // used if no golden_run_method is specified in the RunEvaluationRequest. + GoldenRunMethod GoldenRunMethod `protobuf:"varint,4,opt,name=golden_run_method,json=goldenRunMethod,proto3,enum=google.cloud.ces.v1beta.GoldenRunMethod" json:"golden_run_method,omitempty"` + // Optional. Configures the default tool call behaviour for golden + // evaluations. + GoldenEvaluationToolCallBehaviour EvaluationToolCallBehaviour `protobuf:"varint,2,opt,name=golden_evaluation_tool_call_behaviour,json=goldenEvaluationToolCallBehaviour,proto3,enum=google.cloud.ces.v1beta.EvaluationToolCallBehaviour" json:"golden_evaluation_tool_call_behaviour,omitempty"` + // Optional. Configures the default tool call behaviour for scenario + // evaluations. + ScenarioEvaluationToolCallBehaviour EvaluationToolCallBehaviour `protobuf:"varint,3,opt,name=scenario_evaluation_tool_call_behaviour,json=scenarioEvaluationToolCallBehaviour,proto3,enum=google.cloud.ces.v1beta.EvaluationToolCallBehaviour" json:"scenario_evaluation_tool_call_behaviour,omitempty"` +} + +func (x *EvaluationSettings) Reset() { + *x = EvaluationSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationSettings) ProtoMessage() {} + +func (x *EvaluationSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationSettings.ProtoReflect.Descriptor instead. +func (*EvaluationSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{11} +} + +func (x *EvaluationSettings) GetScenarioConversationInitiator() EvaluationSettings_ScenarioConversationInitiator { + if x != nil { + return x.ScenarioConversationInitiator + } + return EvaluationSettings_SCENARIO_CONVERSATION_INITIATOR_UNSPECIFIED +} + +func (x *EvaluationSettings) GetGoldenRunMethod() GoldenRunMethod { + if x != nil { + return x.GoldenRunMethod + } + return GoldenRunMethod_GOLDEN_RUN_METHOD_UNSPECIFIED +} + +func (x *EvaluationSettings) GetGoldenEvaluationToolCallBehaviour() EvaluationToolCallBehaviour { + if x != nil { + return x.GoldenEvaluationToolCallBehaviour + } + return EvaluationToolCallBehaviour_EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED +} + +func (x *EvaluationSettings) GetScenarioEvaluationToolCallBehaviour() EvaluationToolCallBehaviour { + if x != nil { + return x.ScenarioEvaluationToolCallBehaviour + } + return EvaluationToolCallBehaviour_EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED +} + +// Settings for custom client certificates. +type ClientCertificateSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The TLS certificate encoded in PEM format. This string must + // include the begin header and end footer lines. + TlsCertificate string `protobuf:"bytes,1,opt,name=tls_certificate,json=tlsCertificate,proto3" json:"tls_certificate,omitempty"` + // Required. The name of the SecretManager secret version resource storing the + // private key encoded in PEM format. + // Format: `projects/{project}/secrets/{secret}/versions/{version}` + PrivateKey string `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + // Optional. The name of the SecretManager secret version resource storing the + // passphrase to decrypt the private key. Should be left unset if the private + // key is not encrypted. + // Format: `projects/{project}/secrets/{secret}/versions/{version}` + Passphrase string `protobuf:"bytes,3,opt,name=passphrase,proto3" json:"passphrase,omitempty"` +} + +func (x *ClientCertificateSettings) Reset() { + *x = ClientCertificateSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClientCertificateSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientCertificateSettings) ProtoMessage() {} + +func (x *ClientCertificateSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientCertificateSettings.ProtoReflect.Descriptor instead. +func (*ClientCertificateSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{12} +} + +func (x *ClientCertificateSettings) GetTlsCertificate() string { + if x != nil { + return x.TlsCertificate + } + return "" +} + +func (x *ClientCertificateSettings) GetPrivateKey() string { + if x != nil { + return x.PrivateKey + } + return "" +} + +func (x *ClientCertificateSettings) GetPassphrase() string { + if x != nil { + return x.Passphrase + } + return "" +} + +// Settings to describe the conversation logging behaviors for the app. +type ConversationLoggingSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Whether to disable conversation logging for the sessions. + DisableConversationLogging bool `protobuf:"varint,1,opt,name=disable_conversation_logging,json=disableConversationLogging,proto3" json:"disable_conversation_logging,omitempty"` +} + +func (x *ConversationLoggingSettings) Reset() { + *x = ConversationLoggingSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConversationLoggingSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConversationLoggingSettings) ProtoMessage() {} + +func (x *ConversationLoggingSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConversationLoggingSettings.ProtoReflect.Descriptor instead. +func (*ConversationLoggingSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{13} +} + +func (x *ConversationLoggingSettings) GetDisableConversationLogging() bool { + if x != nil { + return x.DisableConversationLogging + } + return false +} + +// Settings to describe the Cloud Logging behaviors for the app. +type CloudLoggingSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Whether to enable Cloud Logging for the sessions. + EnableCloudLogging bool `protobuf:"varint,1,opt,name=enable_cloud_logging,json=enableCloudLogging,proto3" json:"enable_cloud_logging,omitempty"` +} + +func (x *CloudLoggingSettings) Reset() { + *x = CloudLoggingSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CloudLoggingSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudLoggingSettings) ProtoMessage() {} + +func (x *CloudLoggingSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudLoggingSettings.ProtoReflect.Descriptor instead. +func (*CloudLoggingSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{14} +} + +func (x *CloudLoggingSettings) GetEnableCloudLogging() bool { + if x != nil { + return x.EnableCloudLogging + } + return false +} + +// Configuration for how the audio interactions should be recorded. +type AudioRecordingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to + // store the session audio recordings. The URI must start with "gs://". + // + // Please choose a bucket location that meets your data residency + // requirements. + // + // Note: If the Cloud Storage bucket is in a different project from the app, + // you should grant `storage.objects.create` permission to the CES service + // agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. + GcsBucket string `protobuf:"bytes,1,opt,name=gcs_bucket,json=gcsBucket,proto3" json:"gcs_bucket,omitempty"` + // Optional. The Cloud Storage path prefix for audio recordings. + // + // This prefix can include the following placeholders, which will be + // dynamically substituted at serving time: + // - $project: project ID + // - $location: app location + // - $app: app ID + // - $date: session date in YYYY-MM-DD format + // - $session: session ID + // + // If the path prefix is not specified, the default prefix + // `$project/$location/$app/$date/$session/` will be used. + GcsPathPrefix string `protobuf:"bytes,2,opt,name=gcs_path_prefix,json=gcsPathPrefix,proto3" json:"gcs_path_prefix,omitempty"` +} + +func (x *AudioRecordingConfig) Reset() { + *x = AudioRecordingConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AudioRecordingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AudioRecordingConfig) ProtoMessage() {} + +func (x *AudioRecordingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AudioRecordingConfig.ProtoReflect.Descriptor instead. +func (*AudioRecordingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{15} +} + +func (x *AudioRecordingConfig) GetGcsBucket() string { + if x != nil { + return x.GcsBucket + } + return "" +} + +func (x *AudioRecordingConfig) GetGcsPathPrefix() string { + if x != nil { + return x.GcsPathPrefix + } + return "" +} + +// Configuration to instruct how sensitive data should be handled. +type RedactionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. If true, redaction will be applied in various logging scenarios, + // including conversation history, Cloud Logging and audio recording. + EnableRedaction bool `protobuf:"varint,1,opt,name=enable_redaction,json=enableRedaction,proto3" json:"enable_redaction,omitempty"` + // Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to + // configure detection of sensitive data types. + // + // Format: + // `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` + InspectTemplate string `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"` + // Optional. [DLP](https://cloud.google.com/dlp/docs) deidentify template name + // to instruct on how to de-identify content. + // + // Format: + // `projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}` + DeidentifyTemplate string `protobuf:"bytes,3,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"` +} + +func (x *RedactionConfig) Reset() { + *x = RedactionConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RedactionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedactionConfig) ProtoMessage() {} + +func (x *RedactionConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedactionConfig.ProtoReflect.Descriptor instead. +func (*RedactionConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{16} +} + +func (x *RedactionConfig) GetEnableRedaction() bool { + if x != nil { + return x.EnableRedaction + } + return false +} + +func (x *RedactionConfig) GetInspectTemplate() string { + if x != nil { + return x.InspectTemplate + } + return "" +} + +func (x *RedactionConfig) GetDeidentifyTemplate() string { + if x != nil { + return x.DeidentifyTemplate + } + return "" +} + +// Data store related settings for the app. +type DataStoreSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The engines for the app. + Engines []*DataStoreSettings_Engine `protobuf:"bytes,3,rep,name=engines,proto3" json:"engines,omitempty"` +} + +func (x *DataStoreSettings) Reset() { + *x = DataStoreSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreSettings) ProtoMessage() {} + +func (x *DataStoreSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreSettings.ProtoReflect.Descriptor instead. +func (*DataStoreSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{17} +} + +func (x *DataStoreSettings) GetEngines() []*DataStoreSettings_Engine { + if x != nil { + return x.Engines + } + return nil +} + +// A persona represents an end user in an evaluation. +type EvaluationPersona struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The unique identifier of the persona. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The description of the persona. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Required. The display name of the persona. Unique within an app. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. An instruction for the agent on how to behave in the evaluation. + Personality string `protobuf:"bytes,4,opt,name=personality,proto3" json:"personality,omitempty"` + // Optional. Configuration for how the persona sounds (TTS settings). + SpeechConfig *EvaluationPersona_SpeechConfig `protobuf:"bytes,5,opt,name=speech_config,json=speechConfig,proto3" json:"speech_config,omitempty"` +} + +func (x *EvaluationPersona) Reset() { + *x = EvaluationPersona{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationPersona) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationPersona) ProtoMessage() {} + +func (x *EvaluationPersona) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationPersona.ProtoReflect.Descriptor instead. +func (*EvaluationPersona) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{18} +} + +func (x *EvaluationPersona) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EvaluationPersona) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *EvaluationPersona) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationPersona) GetPersonality() string { + if x != nil { + return x.Personality + } + return "" +} + +func (x *EvaluationPersona) GetSpeechConfig() *EvaluationPersona_SpeechConfig { + if x != nil { + return x.SpeechConfig + } + return nil +} + +// Defines the structure and metadata for a variable. +type App_VariableDeclaration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the variable. The name must start with a letter or + // underscore and contain only letters, numbers, or underscores. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The description of the variable. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Required. The schema of the variable. + Schema *Schema `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *App_VariableDeclaration) Reset() { + *x = App_VariableDeclaration{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *App_VariableDeclaration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*App_VariableDeclaration) ProtoMessage() {} + +func (x *App_VariableDeclaration) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use App_VariableDeclaration.ProtoReflect.Descriptor instead. +func (*App_VariableDeclaration) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *App_VariableDeclaration) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *App_VariableDeclaration) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *App_VariableDeclaration) GetSchema() *Schema { + if x != nil { + return x.Schema + } + return nil +} + +// Settings for golden evaluations. +type EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The turn level metrics thresholds. + TurnLevelMetricsThresholds *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds `protobuf:"bytes,1,opt,name=turn_level_metrics_thresholds,json=turnLevelMetricsThresholds,proto3" json:"turn_level_metrics_thresholds,omitempty"` + // Optional. The expectation level metrics thresholds. + ExpectationLevelMetricsThresholds *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds `protobuf:"bytes,2,opt,name=expectation_level_metrics_thresholds,json=expectationLevelMetricsThresholds,proto3" json:"expectation_level_metrics_thresholds,omitempty"` + // Optional. The tool matching settings. An + // extra tool call is a tool call that is present in the execution but does + // not match any tool call in the golden expectation. + ToolMatchingSettings *EvaluationMetricsThresholds_ToolMatchingSettings `protobuf:"bytes,3,opt,name=tool_matching_settings,json=toolMatchingSettings,proto3" json:"tool_matching_settings,omitempty"` +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) Reset() { + *x = EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) ProtoMessage() {} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds.ProtoReflect.Descriptor instead. +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) GetTurnLevelMetricsThresholds() *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds { + if x != nil { + return x.TurnLevelMetricsThresholds + } + return nil +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) GetExpectationLevelMetricsThresholds() *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds { + if x != nil { + return x.ExpectationLevelMetricsThresholds + } + return nil +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds) GetToolMatchingSettings() *EvaluationMetricsThresholds_ToolMatchingSettings { + if x != nil { + return x.ToolMatchingSettings + } + return nil +} + +// Settings for matching tool calls. +type EvaluationMetricsThresholds_ToolMatchingSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Behavior for extra tool calls. + // Defaults to FAIL. + ExtraToolCallBehavior EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior `protobuf:"varint,1,opt,name=extra_tool_call_behavior,json=extraToolCallBehavior,proto3,enum=google.cloud.ces.v1beta.EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior" json:"extra_tool_call_behavior,omitempty"` +} + +func (x *EvaluationMetricsThresholds_ToolMatchingSettings) Reset() { + *x = EvaluationMetricsThresholds_ToolMatchingSettings{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationMetricsThresholds_ToolMatchingSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationMetricsThresholds_ToolMatchingSettings) ProtoMessage() {} + +func (x *EvaluationMetricsThresholds_ToolMatchingSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_ToolMatchingSettings.ProtoReflect.Descriptor instead. +func (*EvaluationMetricsThresholds_ToolMatchingSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 1} +} + +func (x *EvaluationMetricsThresholds_ToolMatchingSettings) GetExtraToolCallBehavior() EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior { + if x != nil { + return x.ExtraToolCallBehavior + } + return EvaluationMetricsThresholds_ToolMatchingSettings_EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED +} + +// Turn level metrics thresholds. +type EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The success threshold for semantic similarity. Must be an + // integer between 0 and 4. Default is >= 3. + SemanticSimilaritySuccessThreshold *int32 `protobuf:"varint,1,opt,name=semantic_similarity_success_threshold,json=semanticSimilaritySuccessThreshold,proto3,oneof" json:"semantic_similarity_success_threshold,omitempty"` + // Optional. The success threshold for overall tool invocation + // correctness. Must be a float between 0 and 1. Default is 1.0. + OverallToolInvocationCorrectnessThreshold *float32 `protobuf:"fixed32,2,opt,name=overall_tool_invocation_correctness_threshold,json=overallToolInvocationCorrectnessThreshold,proto3,oneof" json:"overall_tool_invocation_correctness_threshold,omitempty"` + // Optional. The semantic similarity channel to use for evaluation. + SemanticSimilarityChannel EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel `protobuf:"varint,3,opt,name=semantic_similarity_channel,json=semanticSimilarityChannel,proto3,enum=google.cloud.ces.v1beta.EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel" json:"semantic_similarity_channel,omitempty"` +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) Reset() { + *x = EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) ProtoMessage() { +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds.ProtoReflect.Descriptor instead. +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 0, 0} +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) GetSemanticSimilaritySuccessThreshold() int32 { + if x != nil && x.SemanticSimilaritySuccessThreshold != nil { + return *x.SemanticSimilaritySuccessThreshold + } + return 0 +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) GetOverallToolInvocationCorrectnessThreshold() float32 { + if x != nil && x.OverallToolInvocationCorrectnessThreshold != nil { + return *x.OverallToolInvocationCorrectnessThreshold + } + return 0 +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds) GetSemanticSimilarityChannel() EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel { + if x != nil { + return x.SemanticSimilarityChannel + } + return EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED +} + +// Expectation level metrics thresholds. +type EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The success threshold for individual tool invocation + // parameter correctness. Must be a float between 0 and 1. Default is 1.0. + ToolInvocationParameterCorrectnessThreshold *float32 `protobuf:"fixed32,1,opt,name=tool_invocation_parameter_correctness_threshold,json=toolInvocationParameterCorrectnessThreshold,proto3,oneof" json:"tool_invocation_parameter_correctness_threshold,omitempty"` +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) Reset() { + *x = EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) ProtoMessage() { +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds.ProtoReflect.Descriptor instead. +func (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{10, 0, 1} +} + +func (x *EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds) GetToolInvocationParameterCorrectnessThreshold() float32 { + if x != nil && x.ToolInvocationParameterCorrectnessThreshold != nil { + return *x.ToolInvocationParameterCorrectnessThreshold + } + return 0 +} + +// An engine to which the data stores are connected. +// See Vertex AI Search: +// https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. +type DataStoreSettings_Engine struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the engine. + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The type of the engine. + Type DataStoreSettings_Engine_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.ces.v1beta.DataStoreSettings_Engine_Type" json:"type,omitempty"` +} + +func (x *DataStoreSettings_Engine) Reset() { + *x = DataStoreSettings_Engine{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreSettings_Engine) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreSettings_Engine) ProtoMessage() {} + +func (x *DataStoreSettings_Engine) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreSettings_Engine.ProtoReflect.Descriptor instead. +func (*DataStoreSettings_Engine) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{17, 0} +} + +func (x *DataStoreSettings_Engine) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataStoreSettings_Engine) GetType() DataStoreSettings_Engine_Type { + if x != nil { + return x.Type + } + return DataStoreSettings_Engine_TYPE_UNSPECIFIED +} + +// Configuration for Text-to-Speech generation. +type EvaluationPersona_SpeechConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The speaking rate. 1.0 is normal. + // Lower is slower (e.g., 0.8), higher is faster (e.g., 1.5). + // Useful for testing how the agent handles fast talkers. + SpeakingRate float64 `protobuf:"fixed64,1,opt,name=speaking_rate,json=speakingRate,proto3" json:"speaking_rate,omitempty"` + // Optional. The simulated audio environment. + Environment EvaluationPersona_SpeechConfig_BackgroundEnvironment `protobuf:"varint,2,opt,name=environment,proto3,enum=google.cloud.ces.v1beta.EvaluationPersona_SpeechConfig_BackgroundEnvironment" json:"environment,omitempty"` + // Optional. The specific voice identifier/accent to use. + // Example: "en-US-Wavenet-D" or "en-GB-Standard-A" + VoiceId string `protobuf:"bytes,3,opt,name=voice_id,json=voiceId,proto3" json:"voice_id,omitempty"` +} + +func (x *EvaluationPersona_SpeechConfig) Reset() { + *x = EvaluationPersona_SpeechConfig{} + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationPersona_SpeechConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationPersona_SpeechConfig) ProtoMessage() {} + +func (x *EvaluationPersona_SpeechConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationPersona_SpeechConfig.ProtoReflect.Descriptor instead. +func (*EvaluationPersona_SpeechConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_proto_rawDescGZIP(), []int{18, 0} +} + +func (x *EvaluationPersona_SpeechConfig) GetSpeakingRate() float64 { + if x != nil { + return x.SpeakingRate + } + return 0 +} + +func (x *EvaluationPersona_SpeechConfig) GetEnvironment() EvaluationPersona_SpeechConfig_BackgroundEnvironment { + if x != nil { + return x.Environment + } + return EvaluationPersona_SpeechConfig_BACKGROUND_ENVIRONMENT_UNSPECIFIED +} + +func (x *EvaluationPersona_SpeechConfig) GetVoiceId() string { + if x != nil { + return x.VoiceId + } + return "" +} + +var File_google_cloud_ces_v1beta_app_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_app_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x64, + 0x65, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x14, 0x0a, 0x03, 0x41, 0x70, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, + 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x5b, 0x0a, 0x11, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5c, + 0x0a, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, + 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6b, 0x0a, 0x17, + 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x15, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x6c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x6b, 0x0a, 0x17, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x52, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x63, 0x0a, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x7d, 0x0a, 0x1d, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, + 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6c, + 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x12, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x49, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x24, 0xe0, + 0x41, 0x01, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x52, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x5f, 0x0a, 0x13, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x64, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x77, 0x0a, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x6c, 0x6f, 0x63, + 0x6b, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x13, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x18, 0x1e, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x93, 0x01, 0x0a, 0x13, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, + 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x45, 0x58, 0x45, 0x43, + 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x41, 0x52, 0x41, + 0x4c, 0x4c, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, + 0x54, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x3a, 0x5a, 0xea, 0x41, 0x57, 0x0a, 0x16, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x41, 0x70, 0x70, 0x12, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2a, 0x04, 0x61, 0x70, 0x70, 0x73, 0x32, 0x03, 0x61, + 0x70, 0x70, 0x22, 0x34, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, + 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x10, 0x4c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x37, 0x0a, + 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x6c, 0x69, 0x6e, 0x67, + 0x75, 0x61, 0x6c, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x04, 0x0a, 0x15, 0x41, 0x75, 0x64, + 0x69, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x8c, 0x01, 0x0a, 0x19, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, + 0x65, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, + 0x65, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x73, 0x79, 0x6e, 0x74, 0x68, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x62, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x62, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x12, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x62, 0x0a, 0x14, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6d, + 0x62, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, + 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x7b, 0x0a, 0x1c, 0x53, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, + 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9b, 0x03, 0x0a, 0x12, 0x41, 0x6d, 0x62, 0x69, 0x65, + 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7f, 0x0a, + 0x16, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x53, + 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x65, 0x62, 0x75, + 0x69, 0x6c, 0x74, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x42, + 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x1e, + 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x3b, + 0x0a, 0x16, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6d, 0x62, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x41, + 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x62, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x47, 0x61, 0x69, 0x6e, 0x44, 0x62, 0x22, 0x72, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x62, 0x75, 0x69, + 0x6c, 0x74, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x12, 0x26, + 0x0a, 0x22, 0x50, 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x5f, 0x41, 0x4d, 0x42, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, + 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x56, + 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x4f, 0x55, 0x54, 0x44, 0x4f, 0x4f, 0x52, 0x10, 0x03, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x73, 0x0a, 0x0d, 0x42, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x62, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x62, 0x61, 0x72, 0x67, 0x65, 0x5f, + 0x69, 0x6e, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x62, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, + 0x41, 0x77, 0x61, 0x72, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x22, 0x5d, 0x0a, 0x16, 0x53, 0x79, 0x6e, + 0x74, 0x68, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x28, + 0x0a, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x36, 0x0a, 0x15, 0x6c, 0x6c, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x6c, 0x6c, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x4f, 0x70, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x22, 0x9d, 0x06, 0x0a, 0x0f, 0x4c, + 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x58, + 0x0a, 0x10, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x16, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x18, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, + 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x68, 0x0a, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x7d, 0x0a, 0x1d, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x7d, 0x0a, 0x21, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1e, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x18, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xfe, 0x01, 0x0a, 0x15, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x17, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, + 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x15, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x61, 0x0a, 0x15, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, + 0x79, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x4c, + 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, + 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x02, 0x22, 0xb5, 0x13, 0x0a, 0x1b, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x24, + 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, + 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x9b, 0x01, 0x0a, 0x1d, 0x68, + 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x1b, 0x68, 0x61, 0x6c, + 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0xa6, 0x01, 0x0a, 0x24, 0x67, 0x6f, 0x6c, + 0x64, 0x65, 0x6e, 0x5f, 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x48, 0x61, + 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, + 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x12, 0xaa, 0x01, 0x0a, 0x26, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x68, + 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x23, 0x73, 0x63, 0x65, 0x6e, 0x61, + 0x72, 0x69, 0x6f, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x1a, 0xf8, + 0x0a, 0x0a, 0x21, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x1d, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x71, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x74, 0x75, 0x72, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, + 0x12, 0xce, 0x01, 0x0a, 0x24, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x73, 0x12, 0x84, 0x01, 0x0a, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xf4, 0x04, 0x0a, 0x1a, 0x54, 0x75, 0x72, + 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x25, 0x73, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x22, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x29, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x6f, 0x6c, 0x49, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, + 0x6e, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0xd1, 0x01, 0x0a, 0x1b, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x8b, 0x01, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x47, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, + 0x54, 0x75, 0x72, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x73, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x5d, 0x0a, 0x19, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, + 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x45, 0x4d, 0x41, 0x4e, 0x54, 0x49, 0x43, 0x5f, 0x53, 0x49, + 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, + 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, + 0x4f, 0x10, 0x02, 0x42, 0x28, 0x0a, 0x26, 0x5f, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, + 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x30, 0x0a, + 0x2e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, + 0xc7, 0x01, 0x0a, 0x21, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x6e, 0x0a, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x2b, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x88, 0x01, 0x01, 0x42, 0x32, 0x0a, 0x30, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x8e, 0x02, 0x0a, 0x14, 0x54, 0x6f, + 0x6f, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x18, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x74, 0x6f, 0x6f, + 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x22, 0x56, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x72, 0x61, 0x54, 0x6f, 0x6f, 0x6c, 0x43, + 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x24, 0x45, + 0x58, 0x54, 0x52, 0x41, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x42, + 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, + 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x22, 0x67, 0x0a, 0x1b, 0x48, 0x61, + 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x29, 0x48, 0x41, 0x4c, + 0x4c, 0x55, 0x43, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, + 0x43, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, + 0x44, 0x10, 0x02, 0x22, 0x8f, 0x05, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x1f, 0x73, + 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x59, 0x0a, 0x11, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, + 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x67, + 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x8b, + 0x01, 0x0a, 0x25, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x75, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x21, 0x67, 0x6f, 0x6c, 0x64, 0x65, + 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, + 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x12, 0x8f, 0x01, 0x0a, + 0x27, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x75, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x23, 0x73, 0x63, 0x65, 0x6e, 0x61, + 0x72, 0x69, 0x6f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x22, 0x65, + 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x2f, 0x0a, 0x2b, 0x53, 0x43, 0x45, 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x56, + 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, + 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x47, + 0x45, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x12, 0x53, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, + 0x72, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1b, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x1c, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x22, 0x67, 0x0a, 0x14, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x67, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x0f, + 0x67, 0x63, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x67, 0x63, 0x73, 0x50, + 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xf8, 0x01, 0x0a, 0x0f, 0x52, 0x65, + 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, + 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, + 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x24, 0x0a, + 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x22, 0xd0, 0x02, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x50, 0x0a, 0x07, 0x65, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x1a, 0xe8, 0x01, 0x0a, + 0x06, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, + 0x67, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x47, + 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, + 0x01, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x02, 0x22, 0xcf, 0x04, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x61, 0x0a, 0x0d, + 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x2e, + 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0xc7, 0x02, 0x0a, 0x0c, 0x53, 0x70, 0x65, 0x65, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x70, + 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x74, 0x0a, 0x0b, 0x65, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x2e, 0x53, 0x70, 0x65, 0x65, + 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, + 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1e, 0x0a, 0x08, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x64, + 0x22, 0x77, 0x0a, 0x15, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x42, 0x41, 0x43, + 0x4b, 0x47, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, + 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x44, 0x53, 0x5f, 0x4e, 0x4f, 0x49, 0x53, 0x45, 0x10, 0x05, 0x12, + 0x08, 0x0a, 0x04, 0x43, 0x41, 0x46, 0x45, 0x10, 0x06, 0x42, 0xfc, 0x04, 0xea, 0x41, 0xc8, 0x01, + 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x4b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0xea, 0x41, 0xd7, 0x01, 0x0a, 0x25, 0x64, 0x6c, + 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x5b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, + 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, + 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x7d, 0xea, 0x41, 0x7a, 0x0a, 0x25, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x51, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x7d, + 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x08, 0x41, + 0x70, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, + 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_app_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_app_proto_rawDescData = file_google_cloud_ces_v1beta_app_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_app_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_app_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_app_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_app_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_app_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_app_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_google_cloud_ces_v1beta_app_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_google_cloud_ces_v1beta_app_proto_goTypes = []any{ + (App_ToolExecutionMode)(0), // 0: google.cloud.ces.v1beta.App.ToolExecutionMode + (AmbientSoundConfig_PrebuiltAmbientNoise)(0), // 1: google.cloud.ces.v1beta.AmbientSoundConfig.PrebuiltAmbientNoise + (ErrorHandlingSettings_ErrorHandlingStrategy)(0), // 2: google.cloud.ces.v1beta.ErrorHandlingSettings.ErrorHandlingStrategy + (EvaluationMetricsThresholds_HallucinationMetricBehavior)(0), // 3: google.cloud.ces.v1beta.EvaluationMetricsThresholds.HallucinationMetricBehavior + (EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds_SemanticSimilarityChannel)(0), // 4: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds.SemanticSimilarityChannel + (EvaluationMetricsThresholds_ToolMatchingSettings_ExtraToolCallBehavior)(0), // 5: google.cloud.ces.v1beta.EvaluationMetricsThresholds.ToolMatchingSettings.ExtraToolCallBehavior + (EvaluationSettings_ScenarioConversationInitiator)(0), // 6: google.cloud.ces.v1beta.EvaluationSettings.ScenarioConversationInitiator + (DataStoreSettings_Engine_Type)(0), // 7: google.cloud.ces.v1beta.DataStoreSettings.Engine.Type + (EvaluationPersona_SpeechConfig_BackgroundEnvironment)(0), // 8: google.cloud.ces.v1beta.EvaluationPersona.SpeechConfig.BackgroundEnvironment + (*App)(nil), // 9: google.cloud.ces.v1beta.App + (*TimeZoneSettings)(nil), // 10: google.cloud.ces.v1beta.TimeZoneSettings + (*LanguageSettings)(nil), // 11: google.cloud.ces.v1beta.LanguageSettings + (*AudioProcessingConfig)(nil), // 12: google.cloud.ces.v1beta.AudioProcessingConfig + (*AmbientSoundConfig)(nil), // 13: google.cloud.ces.v1beta.AmbientSoundConfig + (*BargeInConfig)(nil), // 14: google.cloud.ces.v1beta.BargeInConfig + (*SynthesizeSpeechConfig)(nil), // 15: google.cloud.ces.v1beta.SynthesizeSpeechConfig + (*MetricAnalysisSettings)(nil), // 16: google.cloud.ces.v1beta.MetricAnalysisSettings + (*LoggingSettings)(nil), // 17: google.cloud.ces.v1beta.LoggingSettings + (*ErrorHandlingSettings)(nil), // 18: google.cloud.ces.v1beta.ErrorHandlingSettings + (*EvaluationMetricsThresholds)(nil), // 19: google.cloud.ces.v1beta.EvaluationMetricsThresholds + (*EvaluationSettings)(nil), // 20: google.cloud.ces.v1beta.EvaluationSettings + (*ClientCertificateSettings)(nil), // 21: google.cloud.ces.v1beta.ClientCertificateSettings + (*ConversationLoggingSettings)(nil), // 22: google.cloud.ces.v1beta.ConversationLoggingSettings + (*CloudLoggingSettings)(nil), // 23: google.cloud.ces.v1beta.CloudLoggingSettings + (*AudioRecordingConfig)(nil), // 24: google.cloud.ces.v1beta.AudioRecordingConfig + (*RedactionConfig)(nil), // 25: google.cloud.ces.v1beta.RedactionConfig + (*DataStoreSettings)(nil), // 26: google.cloud.ces.v1beta.DataStoreSettings + (*EvaluationPersona)(nil), // 27: google.cloud.ces.v1beta.EvaluationPersona + (*App_VariableDeclaration)(nil), // 28: google.cloud.ces.v1beta.App.VariableDeclaration + nil, // 29: google.cloud.ces.v1beta.App.MetadataEntry + nil, // 30: google.cloud.ces.v1beta.AudioProcessingConfig.SynthesizeSpeechConfigsEntry + (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds)(nil), // 31: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds + (*EvaluationMetricsThresholds_ToolMatchingSettings)(nil), // 32: google.cloud.ces.v1beta.EvaluationMetricsThresholds.ToolMatchingSettings + (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_TurnLevelMetricsThresholds)(nil), // 33: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds + (*EvaluationMetricsThresholds_GoldenEvaluationMetricsThresholds_ExpectationLevelMetricsThresholds)(nil), // 34: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.ExpectationLevelMetricsThresholds + (*DataStoreSettings_Engine)(nil), // 35: google.cloud.ces.v1beta.DataStoreSettings.Engine + (*EvaluationPersona_SpeechConfig)(nil), // 36: google.cloud.ces.v1beta.EvaluationPersona.SpeechConfig + (*ModelSettings)(nil), // 37: google.cloud.ces.v1beta.ModelSettings + (*ChannelProfile)(nil), // 38: google.cloud.ces.v1beta.ChannelProfile + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 40: google.protobuf.Duration + (*BigQueryExportSettings)(nil), // 41: google.cloud.ces.v1beta.BigQueryExportSettings + (GoldenRunMethod)(0), // 42: google.cloud.ces.v1beta.GoldenRunMethod + (EvaluationToolCallBehaviour)(0), // 43: google.cloud.ces.v1beta.EvaluationToolCallBehaviour + (*Schema)(nil), // 44: google.cloud.ces.v1beta.Schema +} +var file_google_cloud_ces_v1beta_app_proto_depIdxs = []int32{ + 11, // 0: google.cloud.ces.v1beta.App.language_settings:type_name -> google.cloud.ces.v1beta.LanguageSettings + 10, // 1: google.cloud.ces.v1beta.App.time_zone_settings:type_name -> google.cloud.ces.v1beta.TimeZoneSettings + 12, // 2: google.cloud.ces.v1beta.App.audio_processing_config:type_name -> google.cloud.ces.v1beta.AudioProcessingConfig + 17, // 3: google.cloud.ces.v1beta.App.logging_settings:type_name -> google.cloud.ces.v1beta.LoggingSettings + 18, // 4: google.cloud.ces.v1beta.App.error_handling_settings:type_name -> google.cloud.ces.v1beta.ErrorHandlingSettings + 37, // 5: google.cloud.ces.v1beta.App.model_settings:type_name -> google.cloud.ces.v1beta.ModelSettings + 0, // 6: google.cloud.ces.v1beta.App.tool_execution_mode:type_name -> google.cloud.ces.v1beta.App.ToolExecutionMode + 19, // 7: google.cloud.ces.v1beta.App.evaluation_metrics_thresholds:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds + 28, // 8: google.cloud.ces.v1beta.App.variable_declarations:type_name -> google.cloud.ces.v1beta.App.VariableDeclaration + 28, // 9: google.cloud.ces.v1beta.App.predefined_variable_declarations:type_name -> google.cloud.ces.v1beta.App.VariableDeclaration + 26, // 10: google.cloud.ces.v1beta.App.data_store_settings:type_name -> google.cloud.ces.v1beta.DataStoreSettings + 38, // 11: google.cloud.ces.v1beta.App.default_channel_profile:type_name -> google.cloud.ces.v1beta.ChannelProfile + 29, // 12: google.cloud.ces.v1beta.App.metadata:type_name -> google.cloud.ces.v1beta.App.MetadataEntry + 39, // 13: google.cloud.ces.v1beta.App.create_time:type_name -> google.protobuf.Timestamp + 39, // 14: google.cloud.ces.v1beta.App.update_time:type_name -> google.protobuf.Timestamp + 21, // 15: google.cloud.ces.v1beta.App.client_certificate_settings:type_name -> google.cloud.ces.v1beta.ClientCertificateSettings + 27, // 16: google.cloud.ces.v1beta.App.evaluation_personas:type_name -> google.cloud.ces.v1beta.EvaluationPersona + 20, // 17: google.cloud.ces.v1beta.App.evaluation_settings:type_name -> google.cloud.ces.v1beta.EvaluationSettings + 30, // 18: google.cloud.ces.v1beta.AudioProcessingConfig.synthesize_speech_configs:type_name -> google.cloud.ces.v1beta.AudioProcessingConfig.SynthesizeSpeechConfigsEntry + 14, // 19: google.cloud.ces.v1beta.AudioProcessingConfig.barge_in_config:type_name -> google.cloud.ces.v1beta.BargeInConfig + 40, // 20: google.cloud.ces.v1beta.AudioProcessingConfig.inactivity_timeout:type_name -> google.protobuf.Duration + 13, // 21: google.cloud.ces.v1beta.AudioProcessingConfig.ambient_sound_config:type_name -> google.cloud.ces.v1beta.AmbientSoundConfig + 1, // 22: google.cloud.ces.v1beta.AmbientSoundConfig.prebuilt_ambient_noise:type_name -> google.cloud.ces.v1beta.AmbientSoundConfig.PrebuiltAmbientNoise + 25, // 23: google.cloud.ces.v1beta.LoggingSettings.redaction_config:type_name -> google.cloud.ces.v1beta.RedactionConfig + 24, // 24: google.cloud.ces.v1beta.LoggingSettings.audio_recording_config:type_name -> google.cloud.ces.v1beta.AudioRecordingConfig + 41, // 25: google.cloud.ces.v1beta.LoggingSettings.bigquery_export_settings:type_name -> google.cloud.ces.v1beta.BigQueryExportSettings + 23, // 26: google.cloud.ces.v1beta.LoggingSettings.cloud_logging_settings:type_name -> google.cloud.ces.v1beta.CloudLoggingSettings + 22, // 27: google.cloud.ces.v1beta.LoggingSettings.conversation_logging_settings:type_name -> google.cloud.ces.v1beta.ConversationLoggingSettings + 24, // 28: google.cloud.ces.v1beta.LoggingSettings.evaluation_audio_recording_config:type_name -> google.cloud.ces.v1beta.AudioRecordingConfig + 16, // 29: google.cloud.ces.v1beta.LoggingSettings.metric_analysis_settings:type_name -> google.cloud.ces.v1beta.MetricAnalysisSettings + 2, // 30: google.cloud.ces.v1beta.ErrorHandlingSettings.error_handling_strategy:type_name -> google.cloud.ces.v1beta.ErrorHandlingSettings.ErrorHandlingStrategy + 31, // 31: google.cloud.ces.v1beta.EvaluationMetricsThresholds.golden_evaluation_metrics_thresholds:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds + 3, // 32: google.cloud.ces.v1beta.EvaluationMetricsThresholds.hallucination_metric_behavior:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.HallucinationMetricBehavior + 3, // 33: google.cloud.ces.v1beta.EvaluationMetricsThresholds.golden_hallucination_metric_behavior:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.HallucinationMetricBehavior + 3, // 34: google.cloud.ces.v1beta.EvaluationMetricsThresholds.scenario_hallucination_metric_behavior:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.HallucinationMetricBehavior + 6, // 35: google.cloud.ces.v1beta.EvaluationSettings.scenario_conversation_initiator:type_name -> google.cloud.ces.v1beta.EvaluationSettings.ScenarioConversationInitiator + 42, // 36: google.cloud.ces.v1beta.EvaluationSettings.golden_run_method:type_name -> google.cloud.ces.v1beta.GoldenRunMethod + 43, // 37: google.cloud.ces.v1beta.EvaluationSettings.golden_evaluation_tool_call_behaviour:type_name -> google.cloud.ces.v1beta.EvaluationToolCallBehaviour + 43, // 38: google.cloud.ces.v1beta.EvaluationSettings.scenario_evaluation_tool_call_behaviour:type_name -> google.cloud.ces.v1beta.EvaluationToolCallBehaviour + 35, // 39: google.cloud.ces.v1beta.DataStoreSettings.engines:type_name -> google.cloud.ces.v1beta.DataStoreSettings.Engine + 36, // 40: google.cloud.ces.v1beta.EvaluationPersona.speech_config:type_name -> google.cloud.ces.v1beta.EvaluationPersona.SpeechConfig + 44, // 41: google.cloud.ces.v1beta.App.VariableDeclaration.schema:type_name -> google.cloud.ces.v1beta.Schema + 15, // 42: google.cloud.ces.v1beta.AudioProcessingConfig.SynthesizeSpeechConfigsEntry.value:type_name -> google.cloud.ces.v1beta.SynthesizeSpeechConfig + 33, // 43: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.turn_level_metrics_thresholds:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds + 34, // 44: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.expectation_level_metrics_thresholds:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.ExpectationLevelMetricsThresholds + 32, // 45: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.tool_matching_settings:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.ToolMatchingSettings + 5, // 46: google.cloud.ces.v1beta.EvaluationMetricsThresholds.ToolMatchingSettings.extra_tool_call_behavior:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.ToolMatchingSettings.ExtraToolCallBehavior + 4, // 47: google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds.semantic_similarity_channel:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds.GoldenEvaluationMetricsThresholds.TurnLevelMetricsThresholds.SemanticSimilarityChannel + 7, // 48: google.cloud.ces.v1beta.DataStoreSettings.Engine.type:type_name -> google.cloud.ces.v1beta.DataStoreSettings.Engine.Type + 8, // 49: google.cloud.ces.v1beta.EvaluationPersona.SpeechConfig.environment:type_name -> google.cloud.ces.v1beta.EvaluationPersona.SpeechConfig.BackgroundEnvironment + 50, // [50:50] is the sub-list for method output_type + 50, // [50:50] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_app_proto_init() } +func file_google_cloud_ces_v1beta_app_proto_init() { + if File_google_cloud_ces_v1beta_app_proto != nil { + return + } + file_google_cloud_ces_v1beta_bigquery_export_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_fakes_proto_init() + file_google_cloud_ces_v1beta_golden_run_proto_init() + file_google_cloud_ces_v1beta_schema_proto_init() + file_google_cloud_ces_v1beta_app_proto_msgTypes[4].OneofWrappers = []any{ + (*AmbientSoundConfig_PrebuiltAmbientNoise_)(nil), + (*AmbientSoundConfig_GcsUri)(nil), + (*AmbientSoundConfig_PrebuiltAmbientSound)(nil), + } + file_google_cloud_ces_v1beta_app_proto_msgTypes[24].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_app_proto_msgTypes[25].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_app_proto_rawDesc, + NumEnums: 9, + NumMessages: 28, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_app_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_app_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_app_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_app_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_app_proto = out.File + file_google_cloud_ces_v1beta_app_proto_rawDesc = nil + file_google_cloud_ces_v1beta_app_proto_goTypes = nil + file_google_cloud_ces_v1beta_app_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/app_version.pb.go b/ces/apiv1beta/cespb/app_version.pb.go new file mode 100644 index 000000000000..9dbd5b9a147d --- /dev/null +++ b/ces/apiv1beta/cespb/app_version.pb.go @@ -0,0 +1,397 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/app_version.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A snapshot of the app. +type AppSnapshot struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The basic settings for the app. + App *App `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` + // Optional. List of agents in the app. + Agents []*Agent `protobuf:"bytes,2,rep,name=agents,proto3" json:"agents,omitempty"` + // Optional. List of tools in the app. + Tools []*Tool `protobuf:"bytes,3,rep,name=tools,proto3" json:"tools,omitempty"` + // Optional. List of examples in the app. + Examples []*Example `protobuf:"bytes,4,rep,name=examples,proto3" json:"examples,omitempty"` + // Optional. List of guardrails in the app. + Guardrails []*Guardrail `protobuf:"bytes,5,rep,name=guardrails,proto3" json:"guardrails,omitempty"` + // Optional. List of toolsets in the app. + Toolsets []*Toolset `protobuf:"bytes,6,rep,name=toolsets,proto3" json:"toolsets,omitempty"` +} + +func (x *AppSnapshot) Reset() { + *x = AppSnapshot{} + mi := &file_google_cloud_ces_v1beta_app_version_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AppSnapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppSnapshot) ProtoMessage() {} + +func (x *AppSnapshot) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_version_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppSnapshot.ProtoReflect.Descriptor instead. +func (*AppSnapshot) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_version_proto_rawDescGZIP(), []int{0} +} + +func (x *AppSnapshot) GetApp() *App { + if x != nil { + return x.App + } + return nil +} + +func (x *AppSnapshot) GetAgents() []*Agent { + if x != nil { + return x.Agents + } + return nil +} + +func (x *AppSnapshot) GetTools() []*Tool { + if x != nil { + return x.Tools + } + return nil +} + +func (x *AppSnapshot) GetExamples() []*Example { + if x != nil { + return x.Examples + } + return nil +} + +func (x *AppSnapshot) GetGuardrails() []*Guardrail { + if x != nil { + return x.Guardrails + } + return nil +} + +func (x *AppSnapshot) GetToolsets() []*Toolset { + if x != nil { + return x.Toolsets + } + return nil +} + +// In Customer Engagement Suite (CES), an app version is a snapshot of the app +// at a specific point in time. It is immutable and cannot be modified once +// created. +type AppVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the app version. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The display name of the app version. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The description of the app version. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Email of the user who created the app version. + Creator string `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"` + // Output only. Timestamp when the app version was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The snapshot of the app when the version is created. + Snapshot *AppSnapshot `protobuf:"bytes,8,opt,name=snapshot,proto3" json:"snapshot,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *AppVersion) Reset() { + *x = AppVersion{} + mi := &file_google_cloud_ces_v1beta_app_version_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AppVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppVersion) ProtoMessage() {} + +func (x *AppVersion) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_app_version_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppVersion.ProtoReflect.Descriptor instead. +func (*AppVersion) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_app_version_proto_rawDescGZIP(), []int{1} +} + +func (x *AppVersion) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AppVersion) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *AppVersion) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *AppVersion) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *AppVersion) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *AppVersion) GetSnapshot() *AppSnapshot { + if x != nil { + return x.Snapshot + } + return nil +} + +func (x *AppVersion) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_google_cloud_ces_v1beta_app_version_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_app_version_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, + 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x03, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x33, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x12, 0x41, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x08, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x22, + 0xba, 0x03, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x17, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x82, 0x01, 0xea, 0x41, 0x7f, 0x0a, 0x1d, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, + 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x7d, 0x2a, 0x0b, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x32, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x5f, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0f, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_app_version_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_app_version_proto_rawDescData = file_google_cloud_ces_v1beta_app_version_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_app_version_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_app_version_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_app_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_app_version_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_app_version_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_app_version_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_app_version_proto_goTypes = []any{ + (*AppSnapshot)(nil), // 0: google.cloud.ces.v1beta.AppSnapshot + (*AppVersion)(nil), // 1: google.cloud.ces.v1beta.AppVersion + (*App)(nil), // 2: google.cloud.ces.v1beta.App + (*Agent)(nil), // 3: google.cloud.ces.v1beta.Agent + (*Tool)(nil), // 4: google.cloud.ces.v1beta.Tool + (*Example)(nil), // 5: google.cloud.ces.v1beta.Example + (*Guardrail)(nil), // 6: google.cloud.ces.v1beta.Guardrail + (*Toolset)(nil), // 7: google.cloud.ces.v1beta.Toolset + (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_app_version_proto_depIdxs = []int32{ + 2, // 0: google.cloud.ces.v1beta.AppSnapshot.app:type_name -> google.cloud.ces.v1beta.App + 3, // 1: google.cloud.ces.v1beta.AppSnapshot.agents:type_name -> google.cloud.ces.v1beta.Agent + 4, // 2: google.cloud.ces.v1beta.AppSnapshot.tools:type_name -> google.cloud.ces.v1beta.Tool + 5, // 3: google.cloud.ces.v1beta.AppSnapshot.examples:type_name -> google.cloud.ces.v1beta.Example + 6, // 4: google.cloud.ces.v1beta.AppSnapshot.guardrails:type_name -> google.cloud.ces.v1beta.Guardrail + 7, // 5: google.cloud.ces.v1beta.AppSnapshot.toolsets:type_name -> google.cloud.ces.v1beta.Toolset + 8, // 6: google.cloud.ces.v1beta.AppVersion.create_time:type_name -> google.protobuf.Timestamp + 0, // 7: google.cloud.ces.v1beta.AppVersion.snapshot:type_name -> google.cloud.ces.v1beta.AppSnapshot + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_app_version_proto_init() } +func file_google_cloud_ces_v1beta_app_version_proto_init() { + if File_google_cloud_ces_v1beta_app_version_proto != nil { + return + } + file_google_cloud_ces_v1beta_agent_proto_init() + file_google_cloud_ces_v1beta_app_proto_init() + file_google_cloud_ces_v1beta_example_proto_init() + file_google_cloud_ces_v1beta_guardrail_proto_init() + file_google_cloud_ces_v1beta_tool_proto_init() + file_google_cloud_ces_v1beta_toolset_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_app_version_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_app_version_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_app_version_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_app_version_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_app_version_proto = out.File + file_google_cloud_ces_v1beta_app_version_proto_rawDesc = nil + file_google_cloud_ces_v1beta_app_version_proto_goTypes = nil + file_google_cloud_ces_v1beta_app_version_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/auth.pb.go b/ces/apiv1beta/cespb/auth.pb.go new file mode 100644 index 000000000000..6c005c9b9355 --- /dev/null +++ b/ces/apiv1beta/cespb/auth.pb.go @@ -0,0 +1,1014 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/auth.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The location of the API key in the request. +type ApiKeyConfig_RequestLocation int32 + +const ( + // Unspecified. This value should not be used. + ApiKeyConfig_REQUEST_LOCATION_UNSPECIFIED ApiKeyConfig_RequestLocation = 0 + // Represents the key in http header. + ApiKeyConfig_HEADER ApiKeyConfig_RequestLocation = 1 + // Represents the key in query string. + ApiKeyConfig_QUERY_STRING ApiKeyConfig_RequestLocation = 2 +) + +// Enum value maps for ApiKeyConfig_RequestLocation. +var ( + ApiKeyConfig_RequestLocation_name = map[int32]string{ + 0: "REQUEST_LOCATION_UNSPECIFIED", + 1: "HEADER", + 2: "QUERY_STRING", + } + ApiKeyConfig_RequestLocation_value = map[string]int32{ + "REQUEST_LOCATION_UNSPECIFIED": 0, + "HEADER": 1, + "QUERY_STRING": 2, + } +) + +func (x ApiKeyConfig_RequestLocation) Enum() *ApiKeyConfig_RequestLocation { + p := new(ApiKeyConfig_RequestLocation) + *p = x + return p +} + +func (x ApiKeyConfig_RequestLocation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApiKeyConfig_RequestLocation) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_auth_proto_enumTypes[0].Descriptor() +} + +func (ApiKeyConfig_RequestLocation) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_auth_proto_enumTypes[0] +} + +func (x ApiKeyConfig_RequestLocation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApiKeyConfig_RequestLocation.Descriptor instead. +func (ApiKeyConfig_RequestLocation) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{0, 0} +} + +// OAuth grant types. Only [client credential +// grant](https://oauth.net/2/grant-types/client-credentials) is supported. +type OAuthConfig_OauthGrantType int32 + +const ( + // Unspecified. Defaults to CLIENT_CREDENTIAL. + OAuthConfig_OAUTH_GRANT_TYPE_UNSPECIFIED OAuthConfig_OauthGrantType = 0 + // Represents the [client credential + // flow](https://oauth.net/2/grant-types/client-credentials). + OAuthConfig_CLIENT_CREDENTIAL OAuthConfig_OauthGrantType = 1 +) + +// Enum value maps for OAuthConfig_OauthGrantType. +var ( + OAuthConfig_OauthGrantType_name = map[int32]string{ + 0: "OAUTH_GRANT_TYPE_UNSPECIFIED", + 1: "CLIENT_CREDENTIAL", + } + OAuthConfig_OauthGrantType_value = map[string]int32{ + "OAUTH_GRANT_TYPE_UNSPECIFIED": 0, + "CLIENT_CREDENTIAL": 1, + } +) + +func (x OAuthConfig_OauthGrantType) Enum() *OAuthConfig_OauthGrantType { + p := new(OAuthConfig_OauthGrantType) + *p = x + return p +} + +func (x OAuthConfig_OauthGrantType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OAuthConfig_OauthGrantType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_auth_proto_enumTypes[1].Descriptor() +} + +func (OAuthConfig_OauthGrantType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_auth_proto_enumTypes[1] +} + +func (x OAuthConfig_OauthGrantType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OAuthConfig_OauthGrantType.Descriptor instead. +func (OAuthConfig_OauthGrantType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{1, 0} +} + +// Configurations for authentication with API key. +type ApiKeyConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parameter name or the header name of the API key. + // E.g., If the API request is "https://example.com/act?X-Api-Key=", "X-Api-Key" would be the parameter name. + KeyName string `protobuf:"bytes,1,opt,name=key_name,json=keyName,proto3" json:"key_name,omitempty"` + // Required. The name of the SecretManager secret version resource storing the + // API key. Format: `projects/{project}/secrets/{secret}/versions/{version}` + // + // Note: You should grant `roles/secretmanager.secretAccessor` role to the CES + // service agent + // `service-@gcp-sa-ces.iam.gserviceaccount.com`. + ApiKeySecretVersion string `protobuf:"bytes,2,opt,name=api_key_secret_version,json=apiKeySecretVersion,proto3" json:"api_key_secret_version,omitempty"` + // Required. Key location in the request. + RequestLocation ApiKeyConfig_RequestLocation `protobuf:"varint,3,opt,name=request_location,json=requestLocation,proto3,enum=google.cloud.ces.v1beta.ApiKeyConfig_RequestLocation" json:"request_location,omitempty"` +} + +func (x *ApiKeyConfig) Reset() { + *x = ApiKeyConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApiKeyConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiKeyConfig) ProtoMessage() {} + +func (x *ApiKeyConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiKeyConfig.ProtoReflect.Descriptor instead. +func (*ApiKeyConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{0} +} + +func (x *ApiKeyConfig) GetKeyName() string { + if x != nil { + return x.KeyName + } + return "" +} + +func (x *ApiKeyConfig) GetApiKeySecretVersion() string { + if x != nil { + return x.ApiKeySecretVersion + } + return "" +} + +func (x *ApiKeyConfig) GetRequestLocation() ApiKeyConfig_RequestLocation { + if x != nil { + return x.RequestLocation + } + return ApiKeyConfig_REQUEST_LOCATION_UNSPECIFIED +} + +// Configurations for authentication with OAuth. +type OAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. OAuth grant types. + OauthGrantType OAuthConfig_OauthGrantType `protobuf:"varint,1,opt,name=oauth_grant_type,json=oauthGrantType,proto3,enum=google.cloud.ces.v1beta.OAuthConfig_OauthGrantType" json:"oauth_grant_type,omitempty"` + // Required. The client ID from the OAuth provider. + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Required. The name of the SecretManager secret version resource storing the + // client secret. + // Format: `projects/{project}/secrets/{secret}/versions/{version}` + // + // Note: You should grant `roles/secretmanager.secretAccessor` role to the CES + // service agent + // `service-@gcp-sa-ces.iam.gserviceaccount.com`. + ClientSecretVersion string `protobuf:"bytes,3,opt,name=client_secret_version,json=clientSecretVersion,proto3" json:"client_secret_version,omitempty"` + // Required. The token endpoint in the OAuth provider to exchange for an + // access token. + TokenEndpoint string `protobuf:"bytes,4,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // Optional. The OAuth scopes to grant. + Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *OAuthConfig) Reset() { + *x = OAuthConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuthConfig) ProtoMessage() {} + +func (x *OAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuthConfig.ProtoReflect.Descriptor instead. +func (*OAuthConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{1} +} + +func (x *OAuthConfig) GetOauthGrantType() OAuthConfig_OauthGrantType { + if x != nil { + return x.OauthGrantType + } + return OAuthConfig_OAUTH_GRANT_TYPE_UNSPECIFIED +} + +func (x *OAuthConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *OAuthConfig) GetClientSecretVersion() string { + if x != nil { + return x.ClientSecretVersion + } + return "" +} + +func (x *OAuthConfig) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *OAuthConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +// Configurations for authentication with [ID +// token](https://cloud.google.com/docs/authentication/token-types#id) generated +// from service agent. +type ServiceAgentIdTokenAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ServiceAgentIdTokenAuthConfig) Reset() { + *x = ServiceAgentIdTokenAuthConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServiceAgentIdTokenAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAgentIdTokenAuthConfig) ProtoMessage() {} + +func (x *ServiceAgentIdTokenAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceAgentIdTokenAuthConfig.ProtoReflect.Descriptor instead. +func (*ServiceAgentIdTokenAuthConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{2} +} + +// Configurations for authentication using a custom service account. +type ServiceAccountAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The email address of the service account used for authentication. + // CES uses this service account to exchange an access token and the access + // token is then sent in the `Authorization` header of the request. + // + // The service account must have the + // `roles/iam.serviceAccountTokenCreator` role granted to the + // CES service agent + // `service-@gcp-sa-ces.iam.gserviceaccount.com`. + ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + // Optional. The OAuth scopes to grant. If not specified, the default scope + // `https://www.googleapis.com/auth/cloud-platform` is used. + Scopes []string `protobuf:"bytes,2,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *ServiceAccountAuthConfig) Reset() { + *x = ServiceAccountAuthConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServiceAccountAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAccountAuthConfig) ProtoMessage() {} + +func (x *ServiceAccountAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceAccountAuthConfig.ProtoReflect.Descriptor instead. +func (*ServiceAccountAuthConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{3} +} + +func (x *ServiceAccountAuthConfig) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *ServiceAccountAuthConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +// Configurations for authentication with a bearer token. +type BearerTokenConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The bearer token. + // Must be in the format `$context.variables.`. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *BearerTokenConfig) Reset() { + *x = BearerTokenConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BearerTokenConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BearerTokenConfig) ProtoMessage() {} + +func (x *BearerTokenConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BearerTokenConfig.ProtoReflect.Descriptor instead. +func (*BearerTokenConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{4} +} + +func (x *BearerTokenConfig) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +// End-user authentication configuration used for Connection calls. +// The field values must be the names of context variables in the format +// `$context.variables.`. +type EndUserAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The auth configuration. + // + // Types that are assignable to AuthConfig: + // + // *EndUserAuthConfig_Oauth2AuthCodeConfig_ + // *EndUserAuthConfig_Oauth2JwtBearerConfig_ + AuthConfig isEndUserAuthConfig_AuthConfig `protobuf_oneof:"auth_config"` +} + +func (x *EndUserAuthConfig) Reset() { + *x = EndUserAuthConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndUserAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndUserAuthConfig) ProtoMessage() {} + +func (x *EndUserAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndUserAuthConfig.ProtoReflect.Descriptor instead. +func (*EndUserAuthConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{5} +} + +func (m *EndUserAuthConfig) GetAuthConfig() isEndUserAuthConfig_AuthConfig { + if m != nil { + return m.AuthConfig + } + return nil +} + +func (x *EndUserAuthConfig) GetOauth2AuthCodeConfig() *EndUserAuthConfig_Oauth2AuthCodeConfig { + if x, ok := x.GetAuthConfig().(*EndUserAuthConfig_Oauth2AuthCodeConfig_); ok { + return x.Oauth2AuthCodeConfig + } + return nil +} + +func (x *EndUserAuthConfig) GetOauth2JwtBearerConfig() *EndUserAuthConfig_Oauth2JwtBearerConfig { + if x, ok := x.GetAuthConfig().(*EndUserAuthConfig_Oauth2JwtBearerConfig_); ok { + return x.Oauth2JwtBearerConfig + } + return nil +} + +type isEndUserAuthConfig_AuthConfig interface { + isEndUserAuthConfig_AuthConfig() +} + +type EndUserAuthConfig_Oauth2AuthCodeConfig_ struct { + // Oauth 2.0 Authorization Code authentication. + Oauth2AuthCodeConfig *EndUserAuthConfig_Oauth2AuthCodeConfig `protobuf:"bytes,2,opt,name=oauth2_auth_code_config,json=oauth2AuthCodeConfig,proto3,oneof"` +} + +type EndUserAuthConfig_Oauth2JwtBearerConfig_ struct { + // JWT Profile Oauth 2.0 Authorization Grant authentication. + Oauth2JwtBearerConfig *EndUserAuthConfig_Oauth2JwtBearerConfig `protobuf:"bytes,3,opt,name=oauth2_jwt_bearer_config,json=oauth2JwtBearerConfig,proto3,oneof"` +} + +func (*EndUserAuthConfig_Oauth2AuthCodeConfig_) isEndUserAuthConfig_AuthConfig() {} + +func (*EndUserAuthConfig_Oauth2JwtBearerConfig_) isEndUserAuthConfig_AuthConfig() {} + +// Authentication information required for API calls. +type ApiAuthentication struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The auth configuration. + // + // Types that are assignable to AuthConfig: + // + // *ApiAuthentication_ApiKeyConfig + // *ApiAuthentication_OauthConfig + // *ApiAuthentication_ServiceAgentIdTokenAuthConfig + // *ApiAuthentication_ServiceAccountAuthConfig + // *ApiAuthentication_BearerTokenConfig + AuthConfig isApiAuthentication_AuthConfig `protobuf_oneof:"auth_config"` +} + +func (x *ApiAuthentication) Reset() { + *x = ApiAuthentication{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApiAuthentication) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiAuthentication) ProtoMessage() {} + +func (x *ApiAuthentication) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiAuthentication.ProtoReflect.Descriptor instead. +func (*ApiAuthentication) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{6} +} + +func (m *ApiAuthentication) GetAuthConfig() isApiAuthentication_AuthConfig { + if m != nil { + return m.AuthConfig + } + return nil +} + +func (x *ApiAuthentication) GetApiKeyConfig() *ApiKeyConfig { + if x, ok := x.GetAuthConfig().(*ApiAuthentication_ApiKeyConfig); ok { + return x.ApiKeyConfig + } + return nil +} + +func (x *ApiAuthentication) GetOauthConfig() *OAuthConfig { + if x, ok := x.GetAuthConfig().(*ApiAuthentication_OauthConfig); ok { + return x.OauthConfig + } + return nil +} + +func (x *ApiAuthentication) GetServiceAgentIdTokenAuthConfig() *ServiceAgentIdTokenAuthConfig { + if x, ok := x.GetAuthConfig().(*ApiAuthentication_ServiceAgentIdTokenAuthConfig); ok { + return x.ServiceAgentIdTokenAuthConfig + } + return nil +} + +func (x *ApiAuthentication) GetServiceAccountAuthConfig() *ServiceAccountAuthConfig { + if x, ok := x.GetAuthConfig().(*ApiAuthentication_ServiceAccountAuthConfig); ok { + return x.ServiceAccountAuthConfig + } + return nil +} + +func (x *ApiAuthentication) GetBearerTokenConfig() *BearerTokenConfig { + if x, ok := x.GetAuthConfig().(*ApiAuthentication_BearerTokenConfig); ok { + return x.BearerTokenConfig + } + return nil +} + +type isApiAuthentication_AuthConfig interface { + isApiAuthentication_AuthConfig() +} + +type ApiAuthentication_ApiKeyConfig struct { + // Optional. Config for API key auth. + ApiKeyConfig *ApiKeyConfig `protobuf:"bytes,1,opt,name=api_key_config,json=apiKeyConfig,proto3,oneof"` +} + +type ApiAuthentication_OauthConfig struct { + // Optional. Config for OAuth. + OauthConfig *OAuthConfig `protobuf:"bytes,2,opt,name=oauth_config,json=oauthConfig,proto3,oneof"` +} + +type ApiAuthentication_ServiceAgentIdTokenAuthConfig struct { + // Optional. Config for ID token auth generated from CES service agent. + ServiceAgentIdTokenAuthConfig *ServiceAgentIdTokenAuthConfig `protobuf:"bytes,3,opt,name=service_agent_id_token_auth_config,json=serviceAgentIdTokenAuthConfig,proto3,oneof"` +} + +type ApiAuthentication_ServiceAccountAuthConfig struct { + // Optional. Config for service account authentication. + ServiceAccountAuthConfig *ServiceAccountAuthConfig `protobuf:"bytes,4,opt,name=service_account_auth_config,json=serviceAccountAuthConfig,proto3,oneof"` +} + +type ApiAuthentication_BearerTokenConfig struct { + // Optional. Config for bearer token auth. + BearerTokenConfig *BearerTokenConfig `protobuf:"bytes,5,opt,name=bearer_token_config,json=bearerTokenConfig,proto3,oneof"` +} + +func (*ApiAuthentication_ApiKeyConfig) isApiAuthentication_AuthConfig() {} + +func (*ApiAuthentication_OauthConfig) isApiAuthentication_AuthConfig() {} + +func (*ApiAuthentication_ServiceAgentIdTokenAuthConfig) isApiAuthentication_AuthConfig() {} + +func (*ApiAuthentication_ServiceAccountAuthConfig) isApiAuthentication_AuthConfig() {} + +func (*ApiAuthentication_BearerTokenConfig) isApiAuthentication_AuthConfig() {} + +// Oauth 2.0 Authorization Code authentication configuration. +type EndUserAuthConfig_Oauth2AuthCodeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Oauth token parameter name to pass through. + // Must be in the format `$context.variables.`. + OauthToken string `protobuf:"bytes,1,opt,name=oauth_token,json=oauthToken,proto3" json:"oauth_token,omitempty"` +} + +func (x *EndUserAuthConfig_Oauth2AuthCodeConfig) Reset() { + *x = EndUserAuthConfig_Oauth2AuthCodeConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndUserAuthConfig_Oauth2AuthCodeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndUserAuthConfig_Oauth2AuthCodeConfig) ProtoMessage() {} + +func (x *EndUserAuthConfig_Oauth2AuthCodeConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndUserAuthConfig_Oauth2AuthCodeConfig.ProtoReflect.Descriptor instead. +func (*EndUserAuthConfig_Oauth2AuthCodeConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *EndUserAuthConfig_Oauth2AuthCodeConfig) GetOauthToken() string { + if x != nil { + return x.OauthToken + } + return "" +} + +// JWT Profile Oauth 2.0 Authorization Grant authentication configuration. +type EndUserAuthConfig_Oauth2JwtBearerConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Issuer parameter name to pass through. + // Must be in the format `$context.variables.`. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // Required. Subject parameter name to pass through. + // Must be in the format `$context.variables.`. + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"` + // Required. Client parameter name to pass through. + // Must be in the format `$context.variables.`. + ClientKey string `protobuf:"bytes,3,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"` +} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) Reset() { + *x = EndUserAuthConfig_Oauth2JwtBearerConfig{} + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndUserAuthConfig_Oauth2JwtBearerConfig) ProtoMessage() {} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_auth_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndUserAuthConfig_Oauth2JwtBearerConfig.ProtoReflect.Descriptor instead. +func (*EndUserAuthConfig_Oauth2JwtBearerConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *EndUserAuthConfig_Oauth2JwtBearerConfig) GetClientKey() string { + if x != nil { + return x.ClientKey + } + return "" +} + +var File_google_cloud_ces_v1beta_auth_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_auth_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0c, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x08, 0x6b, 0x65, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x16, 0x61, 0x70, + 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x2c, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, + 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x1c, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x06, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x51, + 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x8f, 0x03, + 0x0a, 0x0b, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, + 0x10, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x61, + 0x75, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x66, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x22, 0x49, 0x0a, 0x0e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x5f, + 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x22, + 0x1f, 0x0a, 0x1d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x22, 0x65, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x11, 0x42, 0x65, 0x61, 0x72, 0x65, + 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd0, 0x03, 0x0a, 0x11, 0x45, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x78, 0x0a, + 0x17, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, + 0x32, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x00, 0x52, 0x14, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x18, 0x6f, 0x61, 0x75, 0x74, 0x68, + 0x32, 0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x4a, 0x77, 0x74, 0x42, + 0x65, 0x61, 0x72, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x6f, + 0x61, 0x75, 0x74, 0x68, 0x32, 0x4a, 0x77, 0x74, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3c, 0x0a, 0x14, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0b, + 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x1a, 0x77, 0x0a, 0x15, 0x4f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x4a, 0x77, 0x74, 0x42, + 0x65, 0x61, 0x72, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xad, 0x04, 0x0a, 0x11, 0x41, + 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x52, 0x0a, 0x0e, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x88, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x1d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x77, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, 0x74, + 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x18, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x13, 0x62, 0x65, 0x61, 0x72, + 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x61, + 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc7, 0x01, 0xea, 0x41, 0x6b, + 0x0a, 0x2a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x09, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_auth_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_auth_proto_rawDescData = file_google_cloud_ces_v1beta_auth_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_auth_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_auth_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_auth_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_auth_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_auth_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_ces_v1beta_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_ces_v1beta_auth_proto_goTypes = []any{ + (ApiKeyConfig_RequestLocation)(0), // 0: google.cloud.ces.v1beta.ApiKeyConfig.RequestLocation + (OAuthConfig_OauthGrantType)(0), // 1: google.cloud.ces.v1beta.OAuthConfig.OauthGrantType + (*ApiKeyConfig)(nil), // 2: google.cloud.ces.v1beta.ApiKeyConfig + (*OAuthConfig)(nil), // 3: google.cloud.ces.v1beta.OAuthConfig + (*ServiceAgentIdTokenAuthConfig)(nil), // 4: google.cloud.ces.v1beta.ServiceAgentIdTokenAuthConfig + (*ServiceAccountAuthConfig)(nil), // 5: google.cloud.ces.v1beta.ServiceAccountAuthConfig + (*BearerTokenConfig)(nil), // 6: google.cloud.ces.v1beta.BearerTokenConfig + (*EndUserAuthConfig)(nil), // 7: google.cloud.ces.v1beta.EndUserAuthConfig + (*ApiAuthentication)(nil), // 8: google.cloud.ces.v1beta.ApiAuthentication + (*EndUserAuthConfig_Oauth2AuthCodeConfig)(nil), // 9: google.cloud.ces.v1beta.EndUserAuthConfig.Oauth2AuthCodeConfig + (*EndUserAuthConfig_Oauth2JwtBearerConfig)(nil), // 10: google.cloud.ces.v1beta.EndUserAuthConfig.Oauth2JwtBearerConfig +} +var file_google_cloud_ces_v1beta_auth_proto_depIdxs = []int32{ + 0, // 0: google.cloud.ces.v1beta.ApiKeyConfig.request_location:type_name -> google.cloud.ces.v1beta.ApiKeyConfig.RequestLocation + 1, // 1: google.cloud.ces.v1beta.OAuthConfig.oauth_grant_type:type_name -> google.cloud.ces.v1beta.OAuthConfig.OauthGrantType + 9, // 2: google.cloud.ces.v1beta.EndUserAuthConfig.oauth2_auth_code_config:type_name -> google.cloud.ces.v1beta.EndUserAuthConfig.Oauth2AuthCodeConfig + 10, // 3: google.cloud.ces.v1beta.EndUserAuthConfig.oauth2_jwt_bearer_config:type_name -> google.cloud.ces.v1beta.EndUserAuthConfig.Oauth2JwtBearerConfig + 2, // 4: google.cloud.ces.v1beta.ApiAuthentication.api_key_config:type_name -> google.cloud.ces.v1beta.ApiKeyConfig + 3, // 5: google.cloud.ces.v1beta.ApiAuthentication.oauth_config:type_name -> google.cloud.ces.v1beta.OAuthConfig + 4, // 6: google.cloud.ces.v1beta.ApiAuthentication.service_agent_id_token_auth_config:type_name -> google.cloud.ces.v1beta.ServiceAgentIdTokenAuthConfig + 5, // 7: google.cloud.ces.v1beta.ApiAuthentication.service_account_auth_config:type_name -> google.cloud.ces.v1beta.ServiceAccountAuthConfig + 6, // 8: google.cloud.ces.v1beta.ApiAuthentication.bearer_token_config:type_name -> google.cloud.ces.v1beta.BearerTokenConfig + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_auth_proto_init() } +func file_google_cloud_ces_v1beta_auth_proto_init() { + if File_google_cloud_ces_v1beta_auth_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_msgTypes[5].OneofWrappers = []any{ + (*EndUserAuthConfig_Oauth2AuthCodeConfig_)(nil), + (*EndUserAuthConfig_Oauth2JwtBearerConfig_)(nil), + } + file_google_cloud_ces_v1beta_auth_proto_msgTypes[6].OneofWrappers = []any{ + (*ApiAuthentication_ApiKeyConfig)(nil), + (*ApiAuthentication_OauthConfig)(nil), + (*ApiAuthentication_ServiceAgentIdTokenAuthConfig)(nil), + (*ApiAuthentication_ServiceAccountAuthConfig)(nil), + (*ApiAuthentication_BearerTokenConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_auth_proto_rawDesc, + NumEnums: 2, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_auth_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_auth_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_auth_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_auth_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_auth_proto = out.File + file_google_cloud_ces_v1beta_auth_proto_rawDesc = nil + file_google_cloud_ces_v1beta_auth_proto_goTypes = nil + file_google_cloud_ces_v1beta_auth_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/bigquery_export.pb.go b/ces/apiv1beta/cespb/bigquery_export.pb.go new file mode 100644 index 000000000000..b63a7bc0ca1a --- /dev/null +++ b/ces/apiv1beta/cespb/bigquery_export.pb.go @@ -0,0 +1,181 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/bigquery_export.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Settings to describe the BigQuery export behaviors for the app. +type BigQueryExportSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Indicates whether the BigQuery export is enabled. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // 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-@gcp-sa-ces.iam.gserviceaccount.com`. + Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` + // Optional. The BigQuery dataset to export the data to. + Dataset string `protobuf:"bytes,3,opt,name=dataset,proto3" json:"dataset,omitempty"` +} + +func (x *BigQueryExportSettings) Reset() { + *x = BigQueryExportSettings{} + mi := &file_google_cloud_ces_v1beta_bigquery_export_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BigQueryExportSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQueryExportSettings) ProtoMessage() {} + +func (x *BigQueryExportSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_bigquery_export_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BigQueryExportSettings.ProtoReflect.Descriptor instead. +func (*BigQueryExportSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescGZIP(), []int{0} +} + +func (x *BigQueryExportSettings) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *BigQueryExportSettings) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *BigQueryExportSettings) GetDataset() string { + if x != nil { + return x.Dataset + } + return "" +} + +var File_google_cloud_ces_v1beta_bigquery_export_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_bigquery_export_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x16, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x42, 0x63, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, + 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, + 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescData = file_google_cloud_ces_v1beta_bigquery_export_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_bigquery_export_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_bigquery_export_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_bigquery_export_proto_goTypes = []any{ + (*BigQueryExportSettings)(nil), // 0: google.cloud.ces.v1beta.BigQueryExportSettings +} +var file_google_cloud_ces_v1beta_bigquery_export_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_bigquery_export_proto_init() } +func file_google_cloud_ces_v1beta_bigquery_export_proto_init() { + if File_google_cloud_ces_v1beta_bigquery_export_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_bigquery_export_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_bigquery_export_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_bigquery_export_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_bigquery_export_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_bigquery_export_proto = out.File + file_google_cloud_ces_v1beta_bigquery_export_proto_rawDesc = nil + file_google_cloud_ces_v1beta_bigquery_export_proto_goTypes = nil + file_google_cloud_ces_v1beta_bigquery_export_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/changelog.pb.go b/ces/apiv1beta/cespb/changelog.pb.go new file mode 100644 index 000000000000..bc70e0dfefd7 --- /dev/null +++ b/ces/apiv1beta/cespb/changelog.pb.go @@ -0,0 +1,314 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/changelog.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Changelogs represent a change made to the app or to an resource within the +// app. +type Changelog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the changelog. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/changelogs/{changelog}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Email address of the change author. + Author string `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"` + // Output only. Display name of the change. It typically should be the display + // name of the resource that was changed. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Description of the change. which typically captures the + // changed fields in the resource. + Description string `protobuf:"bytes,11,opt,name=description,proto3" json:"description,omitempty"` + // Output only. The resource that was changed. + Resource string `protobuf:"bytes,4,opt,name=resource,proto3" json:"resource,omitempty"` + // Output only. The type of the resource that was changed. + ResourceType string `protobuf:"bytes,5,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` + // Output only. The action that was performed on the resource. + Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action,omitempty"` + // Output only. The original resource before the change. + OriginalResource *structpb.Struct `protobuf:"bytes,7,opt,name=original_resource,json=originalResource,proto3" json:"original_resource,omitempty"` + // Output only. The new resource after the change. + NewResource *structpb.Struct `protobuf:"bytes,8,opt,name=new_resource,json=newResource,proto3" json:"new_resource,omitempty"` + // Output only. The dependent resources that were changed. + DependentResources []*structpb.Struct `protobuf:"bytes,9,rep,name=dependent_resources,json=dependentResources,proto3" json:"dependent_resources,omitempty"` + // Output only. The time when the change was made. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The monotonically increasing sequence number of the changelog. + SequenceNumber int64 `protobuf:"varint,12,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` +} + +func (x *Changelog) Reset() { + *x = Changelog{} + mi := &file_google_cloud_ces_v1beta_changelog_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Changelog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Changelog) ProtoMessage() {} + +func (x *Changelog) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_changelog_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Changelog.ProtoReflect.Descriptor instead. +func (*Changelog) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_changelog_proto_rawDescGZIP(), []int{0} +} + +func (x *Changelog) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Changelog) GetAuthor() string { + if x != nil { + return x.Author + } + return "" +} + +func (x *Changelog) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Changelog) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Changelog) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *Changelog) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *Changelog) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *Changelog) GetOriginalResource() *structpb.Struct { + if x != nil { + return x.OriginalResource + } + return nil +} + +func (x *Changelog) GetNewResource() *structpb.Struct { + if x != nil { + return x.NewResource + } + return nil +} + +func (x *Changelog) GetDependentResources() []*structpb.Struct { + if x != nil { + return x.DependentResources + } + return nil +} + +func (x *Changelog) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Changelog) GetSequenceNumber() int64 { + if x != nil { + return x.SequenceNumber + } + return 0 +} + +var File_google_cloud_ces_v1beta_changelog_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_changelog_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x05, + 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x11, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x10, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x13, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x12, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, + 0x6f, 0x67, 0x7d, 0x2a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x73, 0x32, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x42, 0x5e, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_changelog_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_changelog_proto_rawDescData = file_google_cloud_ces_v1beta_changelog_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_changelog_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_changelog_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_changelog_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_changelog_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_changelog_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_changelog_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_changelog_proto_goTypes = []any{ + (*Changelog)(nil), // 0: google.cloud.ces.v1beta.Changelog + (*structpb.Struct)(nil), // 1: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_changelog_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Changelog.original_resource:type_name -> google.protobuf.Struct + 1, // 1: google.cloud.ces.v1beta.Changelog.new_resource:type_name -> google.protobuf.Struct + 1, // 2: google.cloud.ces.v1beta.Changelog.dependent_resources:type_name -> google.protobuf.Struct + 2, // 3: google.cloud.ces.v1beta.Changelog.create_time:type_name -> google.protobuf.Timestamp + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_changelog_proto_init() } +func file_google_cloud_ces_v1beta_changelog_proto_init() { + if File_google_cloud_ces_v1beta_changelog_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_changelog_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_changelog_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_changelog_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_changelog_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_changelog_proto = out.File + file_google_cloud_ces_v1beta_changelog_proto_rawDesc = nil + file_google_cloud_ces_v1beta_changelog_proto_goTypes = nil + file_google_cloud_ces_v1beta_changelog_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/client_function.pb.go b/ces/apiv1beta/cespb/client_function.pb.go new file mode 100644 index 000000000000..71c99203ca85 --- /dev/null +++ b/ces/apiv1beta/cespb/client_function.pb.go @@ -0,0 +1,203 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/client_function.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a client-side function that the agent can invoke. When the +// tool is chosen by the agent, control is handed off to the client. +// The client is responsible for executing the function and returning the result +// as a [ToolResponse][google.cloud.ces.v1beta.ToolResponse] to continue the +// interaction with the agent. +type ClientFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The function name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The function description. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. The schema of the function parameters. + Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` + // Optional. The schema of the function response. + Response *Schema `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *ClientFunction) Reset() { + *x = ClientFunction{} + mi := &file_google_cloud_ces_v1beta_client_function_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClientFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientFunction) ProtoMessage() {} + +func (x *ClientFunction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_client_function_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientFunction.ProtoReflect.Descriptor instead. +func (*ClientFunction) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_client_function_proto_rawDescGZIP(), []int{0} +} + +func (x *ClientFunction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ClientFunction) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ClientFunction) GetParameters() *Schema { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *ClientFunction) GetResponse() *Schema { + if x != nil { + return x.Response + } + return nil +} + +var File_google_cloud_ces_v1beta_client_function_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_client_function_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xd8, 0x01, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x63, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_client_function_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_client_function_proto_rawDescData = file_google_cloud_ces_v1beta_client_function_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_client_function_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_client_function_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_client_function_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_client_function_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_client_function_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_client_function_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_client_function_proto_goTypes = []any{ + (*ClientFunction)(nil), // 0: google.cloud.ces.v1beta.ClientFunction + (*Schema)(nil), // 1: google.cloud.ces.v1beta.Schema +} +var file_google_cloud_ces_v1beta_client_function_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.ClientFunction.parameters:type_name -> google.cloud.ces.v1beta.Schema + 1, // 1: google.cloud.ces.v1beta.ClientFunction.response:type_name -> google.cloud.ces.v1beta.Schema + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_client_function_proto_init() } +func file_google_cloud_ces_v1beta_client_function_proto_init() { + if File_google_cloud_ces_v1beta_client_function_proto != nil { + return + } + file_google_cloud_ces_v1beta_schema_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_client_function_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_client_function_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_client_function_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_client_function_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_client_function_proto = out.File + file_google_cloud_ces_v1beta_client_function_proto_rawDesc = nil + file_google_cloud_ces_v1beta_client_function_proto_goTypes = nil + file_google_cloud_ces_v1beta_client_function_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/common.pb.go b/ces/apiv1beta/cespb/common.pb.go new file mode 100644 index 000000000000..edc13fd22b4c --- /dev/null +++ b/ces/apiv1beta/cespb/common.pb.go @@ -0,0 +1,1701 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/common.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The execution type of the tool or toolset. +type ExecutionType int32 + +const ( + // The execution type is unspecified. Defaults to `SYNCHRONOUS` if + // unspecified. + ExecutionType_EXECUTION_TYPE_UNSPECIFIED ExecutionType = 0 + // The tool is executed synchronously. The session is blocked + // until the tool returns. + ExecutionType_SYNCHRONOUS ExecutionType = 1 + // The tool is executed asynchronously. The session will + // continue while the tool is executing. + ExecutionType_ASYNCHRONOUS ExecutionType = 2 +) + +// Enum value maps for ExecutionType. +var ( + ExecutionType_name = map[int32]string{ + 0: "EXECUTION_TYPE_UNSPECIFIED", + 1: "SYNCHRONOUS", + 2: "ASYNCHRONOUS", + } + ExecutionType_value = map[string]int32{ + "EXECUTION_TYPE_UNSPECIFIED": 0, + "SYNCHRONOUS": 1, + "ASYNCHRONOUS": 2, + } +) + +func (x ExecutionType) Enum() *ExecutionType { + p := new(ExecutionType) + *p = x + return p +} + +func (x ExecutionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExecutionType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_common_proto_enumTypes[0].Descriptor() +} + +func (ExecutionType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_common_proto_enumTypes[0] +} + +func (x ExecutionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExecutionType.Descriptor instead. +func (ExecutionType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{0} +} + +// The type of the channel profile. +type ChannelProfile_ChannelType int32 + +const ( + // Unknown channel type. + ChannelProfile_UNKNOWN ChannelProfile_ChannelType = 0 + // Web UI channel. + ChannelProfile_WEB_UI ChannelProfile_ChannelType = 2 + // API channel. + ChannelProfile_API ChannelProfile_ChannelType = 3 + // Twilio channel. + ChannelProfile_TWILIO ChannelProfile_ChannelType = 4 + // Google Telephony Platform channel. + ChannelProfile_GOOGLE_TELEPHONY_PLATFORM ChannelProfile_ChannelType = 5 + // Contact Center as a Service (CCaaS) channel. + ChannelProfile_CONTACT_CENTER_AS_A_SERVICE ChannelProfile_ChannelType = 6 + // Five9 channel. + ChannelProfile_FIVE9 ChannelProfile_ChannelType = 7 + // Third party contact center integration channel. + ChannelProfile_CONTACT_CENTER_INTEGRATION ChannelProfile_ChannelType = 8 +) + +// Enum value maps for ChannelProfile_ChannelType. +var ( + ChannelProfile_ChannelType_name = map[int32]string{ + 0: "UNKNOWN", + 2: "WEB_UI", + 3: "API", + 4: "TWILIO", + 5: "GOOGLE_TELEPHONY_PLATFORM", + 6: "CONTACT_CENTER_AS_A_SERVICE", + 7: "FIVE9", + 8: "CONTACT_CENTER_INTEGRATION", + } + ChannelProfile_ChannelType_value = map[string]int32{ + "UNKNOWN": 0, + "WEB_UI": 2, + "API": 3, + "TWILIO": 4, + "GOOGLE_TELEPHONY_PLATFORM": 5, + "CONTACT_CENTER_AS_A_SERVICE": 6, + "FIVE9": 7, + "CONTACT_CENTER_INTEGRATION": 8, + } +) + +func (x ChannelProfile_ChannelType) Enum() *ChannelProfile_ChannelType { + p := new(ChannelProfile_ChannelType) + *p = x + return p +} + +func (x ChannelProfile_ChannelType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChannelProfile_ChannelType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_common_proto_enumTypes[1].Descriptor() +} + +func (ChannelProfile_ChannelType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_common_proto_enumTypes[1] +} + +func (x ChannelProfile_ChannelType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChannelProfile_ChannelType.Descriptor instead. +func (ChannelProfile_ChannelType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 0} +} + +// The persona of the channel. +type ChannelProfile_PersonaProperty_Persona int32 + +const ( + // UNKNOWN persona. + ChannelProfile_PersonaProperty_UNKNOWN ChannelProfile_PersonaProperty_Persona = 0 + // The agent keeps the responses concise and to the point + ChannelProfile_PersonaProperty_CONCISE ChannelProfile_PersonaProperty_Persona = 1 + // The agent provides additional context, explanations, and details + ChannelProfile_PersonaProperty_CHATTY ChannelProfile_PersonaProperty_Persona = 2 +) + +// Enum value maps for ChannelProfile_PersonaProperty_Persona. +var ( + ChannelProfile_PersonaProperty_Persona_name = map[int32]string{ + 0: "UNKNOWN", + 1: "CONCISE", + 2: "CHATTY", + } + ChannelProfile_PersonaProperty_Persona_value = map[string]int32{ + "UNKNOWN": 0, + "CONCISE": 1, + "CHATTY": 2, + } +) + +func (x ChannelProfile_PersonaProperty_Persona) Enum() *ChannelProfile_PersonaProperty_Persona { + p := new(ChannelProfile_PersonaProperty_Persona) + *p = x + return p +} + +func (x ChannelProfile_PersonaProperty_Persona) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChannelProfile_PersonaProperty_Persona) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_common_proto_enumTypes[2].Descriptor() +} + +func (ChannelProfile_PersonaProperty_Persona) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_common_proto_enumTypes[2] +} + +func (x ChannelProfile_PersonaProperty_Persona) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChannelProfile_PersonaProperty_Persona.Descriptor instead. +func (ChannelProfile_PersonaProperty_Persona) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 0, 0} +} + +// Modality of the web widget. +type ChannelProfile_WebWidgetConfig_Modality int32 + +const ( + // Unknown modality. + ChannelProfile_WebWidgetConfig_MODALITY_UNSPECIFIED ChannelProfile_WebWidgetConfig_Modality = 0 + // Widget supports both chat and voice input. + ChannelProfile_WebWidgetConfig_CHAT_AND_VOICE ChannelProfile_WebWidgetConfig_Modality = 1 + // Widget supports only voice input. + ChannelProfile_WebWidgetConfig_VOICE_ONLY ChannelProfile_WebWidgetConfig_Modality = 2 + // Widget supports only chat input. + ChannelProfile_WebWidgetConfig_CHAT_ONLY ChannelProfile_WebWidgetConfig_Modality = 3 +) + +// Enum value maps for ChannelProfile_WebWidgetConfig_Modality. +var ( + ChannelProfile_WebWidgetConfig_Modality_name = map[int32]string{ + 0: "MODALITY_UNSPECIFIED", + 1: "CHAT_AND_VOICE", + 2: "VOICE_ONLY", + 3: "CHAT_ONLY", + } + ChannelProfile_WebWidgetConfig_Modality_value = map[string]int32{ + "MODALITY_UNSPECIFIED": 0, + "CHAT_AND_VOICE": 1, + "VOICE_ONLY": 2, + "CHAT_ONLY": 3, + } +) + +func (x ChannelProfile_WebWidgetConfig_Modality) Enum() *ChannelProfile_WebWidgetConfig_Modality { + p := new(ChannelProfile_WebWidgetConfig_Modality) + *p = x + return p +} + +func (x ChannelProfile_WebWidgetConfig_Modality) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChannelProfile_WebWidgetConfig_Modality) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_common_proto_enumTypes[3].Descriptor() +} + +func (ChannelProfile_WebWidgetConfig_Modality) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_common_proto_enumTypes[3] +} + +func (x ChannelProfile_WebWidgetConfig_Modality) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChannelProfile_WebWidgetConfig_Modality.Descriptor instead. +func (ChannelProfile_WebWidgetConfig_Modality) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 1, 0} +} + +// Theme of the web widget. +type ChannelProfile_WebWidgetConfig_Theme int32 + +const ( + // Unknown theme. + ChannelProfile_WebWidgetConfig_THEME_UNSPECIFIED ChannelProfile_WebWidgetConfig_Theme = 0 + // Light theme. + ChannelProfile_WebWidgetConfig_LIGHT ChannelProfile_WebWidgetConfig_Theme = 1 + // Dark theme. + ChannelProfile_WebWidgetConfig_DARK ChannelProfile_WebWidgetConfig_Theme = 2 +) + +// Enum value maps for ChannelProfile_WebWidgetConfig_Theme. +var ( + ChannelProfile_WebWidgetConfig_Theme_name = map[int32]string{ + 0: "THEME_UNSPECIFIED", + 1: "LIGHT", + 2: "DARK", + } + ChannelProfile_WebWidgetConfig_Theme_value = map[string]int32{ + "THEME_UNSPECIFIED": 0, + "LIGHT": 1, + "DARK": 2, + } +) + +func (x ChannelProfile_WebWidgetConfig_Theme) Enum() *ChannelProfile_WebWidgetConfig_Theme { + p := new(ChannelProfile_WebWidgetConfig_Theme) + *p = x + return p +} + +func (x ChannelProfile_WebWidgetConfig_Theme) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChannelProfile_WebWidgetConfig_Theme) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_common_proto_enumTypes[4].Descriptor() +} + +func (ChannelProfile_WebWidgetConfig_Theme) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_common_proto_enumTypes[4] +} + +func (x ChannelProfile_WebWidgetConfig_Theme) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChannelProfile_WebWidgetConfig_Theme.Descriptor instead. +func (ChannelProfile_WebWidgetConfig_Theme) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 1, 1} +} + +// A callback defines the custom logic to be executed at various stages of +// agent interaction. +type Callback struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The callback to execute. + // + // Types that are assignable to Callback: + // + // *Callback_PythonCode + Callback isCallback_Callback `protobuf_oneof:"callback"` + // Optional. Human-readable description of the callback. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Whether the callback is disabled. Disabled callbacks are ignored + // by the agent. + Disabled bool `protobuf:"varint,2,opt,name=disabled,proto3" json:"disabled,omitempty"` + // Optional. If enabled, the callback will also be executed on intermediate + // model outputs. This setting only affects after model callback. + // **ENABLE WITH CAUTION**. Typically after model callback only needs to be + // executed after receiving all model responses. Enabling proactive execution + // may have negative implication on the execution cost and latency, and + // should only be enabled in rare situations. + ProactiveExecutionEnabled bool `protobuf:"varint,4,opt,name=proactive_execution_enabled,json=proactiveExecutionEnabled,proto3" json:"proactive_execution_enabled,omitempty"` +} + +func (x *Callback) Reset() { + *x = Callback{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Callback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Callback) ProtoMessage() {} + +func (x *Callback) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Callback.ProtoReflect.Descriptor instead. +func (*Callback) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{0} +} + +func (m *Callback) GetCallback() isCallback_Callback { + if m != nil { + return m.Callback + } + return nil +} + +func (x *Callback) GetPythonCode() string { + if x, ok := x.GetCallback().(*Callback_PythonCode); ok { + return x.PythonCode + } + return "" +} + +func (x *Callback) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Callback) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +func (x *Callback) GetProactiveExecutionEnabled() bool { + if x != nil { + return x.ProactiveExecutionEnabled + } + return false +} + +type isCallback_Callback interface { + isCallback_Callback() +} + +type Callback_PythonCode struct { + // Required. The python code to execute for the callback. + PythonCode string `protobuf:"bytes,1,opt,name=python_code,json=pythonCode,proto3,oneof"` +} + +func (*Callback_PythonCode) isCallback_Callback() {} + +// Model settings contains various configurations for the LLM model. +type ModelSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The LLM model that the agent should use. + // If not set, the agent will inherit the model from its parent agent. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Optional. If set, this temperature will be used for the LLM model. + // Temperature controls the randomness of the model's responses. Lower + // temperatures produce responses that are more predictable. Higher + // temperatures produce responses that are more creative. + Temperature *float64 `protobuf:"fixed64,2,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` +} + +func (x *ModelSettings) Reset() { + *x = ModelSettings{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModelSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelSettings) ProtoMessage() {} + +func (x *ModelSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModelSettings.ProtoReflect.Descriptor instead. +func (*ModelSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{1} +} + +func (x *ModelSettings) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *ModelSettings) GetTemperature() float64 { + if x != nil && x.Temperature != nil { + return *x.Temperature + } + return 0 +} + +// Action that is taken when a certain precondition is met. +type TriggerAction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The action to take. + // + // Types that are assignable to Action: + // + // *TriggerAction_RespondImmediately_ + // *TriggerAction_TransferAgent_ + // *TriggerAction_GenerativeAnswer_ + Action isTriggerAction_Action `protobuf_oneof:"action"` +} + +func (x *TriggerAction) Reset() { + *x = TriggerAction{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerAction) ProtoMessage() {} + +func (x *TriggerAction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerAction.ProtoReflect.Descriptor instead. +func (*TriggerAction) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{2} +} + +func (m *TriggerAction) GetAction() isTriggerAction_Action { + if m != nil { + return m.Action + } + return nil +} + +func (x *TriggerAction) GetRespondImmediately() *TriggerAction_RespondImmediately { + if x, ok := x.GetAction().(*TriggerAction_RespondImmediately_); ok { + return x.RespondImmediately + } + return nil +} + +func (x *TriggerAction) GetTransferAgent() *TriggerAction_TransferAgent { + if x, ok := x.GetAction().(*TriggerAction_TransferAgent_); ok { + return x.TransferAgent + } + return nil +} + +func (x *TriggerAction) GetGenerativeAnswer() *TriggerAction_GenerativeAnswer { + if x, ok := x.GetAction().(*TriggerAction_GenerativeAnswer_); ok { + return x.GenerativeAnswer + } + return nil +} + +type isTriggerAction_Action interface { + isTriggerAction_Action() +} + +type TriggerAction_RespondImmediately_ struct { + // Optional. Immediately respond with a preconfigured response. + RespondImmediately *TriggerAction_RespondImmediately `protobuf:"bytes,1,opt,name=respond_immediately,json=respondImmediately,proto3,oneof"` +} + +type TriggerAction_TransferAgent_ struct { + // Optional. Transfer the conversation to a different agent. + TransferAgent *TriggerAction_TransferAgent `protobuf:"bytes,2,opt,name=transfer_agent,json=transferAgent,proto3,oneof"` +} + +type TriggerAction_GenerativeAnswer_ struct { + // Optional. Respond with a generative answer. + GenerativeAnswer *TriggerAction_GenerativeAnswer `protobuf:"bytes,3,opt,name=generative_answer,json=generativeAnswer,proto3,oneof"` +} + +func (*TriggerAction_RespondImmediately_) isTriggerAction_Action() {} + +func (*TriggerAction_TransferAgent_) isTriggerAction_Action() {} + +func (*TriggerAction_GenerativeAnswer_) isTriggerAction_Action() {} + +// The TLS configuration. +type TlsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Specifies a list of allowed custom CA certificates for HTTPS + // verification. + CaCerts []*TlsConfig_CaCert `protobuf:"bytes,1,rep,name=ca_certs,json=caCerts,proto3" json:"ca_certs,omitempty"` +} + +func (x *TlsConfig) Reset() { + *x = TlsConfig{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TlsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TlsConfig) ProtoMessage() {} + +func (x *TlsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TlsConfig.ProtoReflect.Descriptor instead. +func (*TlsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{3} +} + +func (x *TlsConfig) GetCaCerts() []*TlsConfig_CaCert { + if x != nil { + return x.CaCerts + } + return nil +} + +// Configuration for tools using Service Directory. +type ServiceDirectoryConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of [Service + // Directory](https://cloud.google.com/service-directory) service. + // Format: + // `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. + // Location of the service directory must be the same as the location of the + // app. + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` +} + +func (x *ServiceDirectoryConfig) Reset() { + *x = ServiceDirectoryConfig{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServiceDirectoryConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceDirectoryConfig) ProtoMessage() {} + +func (x *ServiceDirectoryConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServiceDirectoryConfig.ProtoReflect.Descriptor instead. +func (*ServiceDirectoryConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{4} +} + +func (x *ServiceDirectoryConfig) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +// A ChannelProfile configures the agent's behavior for a specific communication +// channel, such as web UI or telephony. +type ChannelProfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The unique identifier of the channel profile. + ProfileId string `protobuf:"bytes,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"` + // Optional. The type of the channel profile. + ChannelType ChannelProfile_ChannelType `protobuf:"varint,3,opt,name=channel_type,json=channelType,proto3,enum=google.cloud.ces.v1beta.ChannelProfile_ChannelType" json:"channel_type,omitempty"` + // Optional. The persona property of the channel profile. + PersonaProperty *ChannelProfile_PersonaProperty `protobuf:"bytes,2,opt,name=persona_property,json=personaProperty,proto3" json:"persona_property,omitempty"` + // Optional. Whether to disable DTMF (dual-tone multi-frequency). + DisableDtmf bool `protobuf:"varint,4,opt,name=disable_dtmf,json=disableDtmf,proto3" json:"disable_dtmf,omitempty"` + // Optional. Whether to disable user barge-in control in the conversation. + // - **true**: User interruptions are disabled while the agent is speaking. + // - **false**: The agent retains automatic control over when the user can + // interrupt. + DisableBargeInControl bool `protobuf:"varint,5,opt,name=disable_barge_in_control,json=disableBargeInControl,proto3" json:"disable_barge_in_control,omitempty"` + // Optional. The configuration for the web widget. + WebWidgetConfig *ChannelProfile_WebWidgetConfig `protobuf:"bytes,7,opt,name=web_widget_config,json=webWidgetConfig,proto3" json:"web_widget_config,omitempty"` + // Optional. The noise suppression level of the channel profile. + // Available values are "low", "moderate", "high", "very_high". + NoiseSuppressionLevel string `protobuf:"bytes,8,opt,name=noise_suppression_level,json=noiseSuppressionLevel,proto3" json:"noise_suppression_level,omitempty"` +} + +func (x *ChannelProfile) Reset() { + *x = ChannelProfile{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChannelProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelProfile) ProtoMessage() {} + +func (x *ChannelProfile) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelProfile.ProtoReflect.Descriptor instead. +func (*ChannelProfile) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5} +} + +func (x *ChannelProfile) GetProfileId() string { + if x != nil { + return x.ProfileId + } + return "" +} + +func (x *ChannelProfile) GetChannelType() ChannelProfile_ChannelType { + if x != nil { + return x.ChannelType + } + return ChannelProfile_UNKNOWN +} + +func (x *ChannelProfile) GetPersonaProperty() *ChannelProfile_PersonaProperty { + if x != nil { + return x.PersonaProperty + } + return nil +} + +func (x *ChannelProfile) GetDisableDtmf() bool { + if x != nil { + return x.DisableDtmf + } + return false +} + +func (x *ChannelProfile) GetDisableBargeInControl() bool { + if x != nil { + return x.DisableBargeInControl + } + return false +} + +func (x *ChannelProfile) GetWebWidgetConfig() *ChannelProfile_WebWidgetConfig { + if x != nil { + return x.WebWidgetConfig + } + return nil +} + +func (x *ChannelProfile) GetNoiseSuppressionLevel() string { + if x != nil { + return x.NoiseSuppressionLevel + } + return "" +} + +// A span is a unit of work or a single operation during the request processing. +type Span struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the span. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The start time of the span. + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. The end time of the span. + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The duration of the span. + Duration *durationpb.Duration `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"` + // Output only. Key-value attributes associated with the span. + Attributes *structpb.Struct `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"` + // Output only. The child spans that are nested under this span. + ChildSpans []*Span `protobuf:"bytes,5,rep,name=child_spans,json=childSpans,proto3" json:"child_spans,omitempty"` +} + +func (x *Span) Reset() { + *x = Span{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Span) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Span) ProtoMessage() {} + +func (x *Span) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Span.ProtoReflect.Descriptor instead. +func (*Span) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{6} +} + +func (x *Span) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Span) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *Span) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *Span) GetDuration() *durationpb.Duration { + if x != nil { + return x.Duration + } + return nil +} + +func (x *Span) GetAttributes() *structpb.Struct { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Span) GetChildSpans() []*Span { + if x != nil { + return x.ChildSpans + } + return nil +} + +// Represents a response from the agent. +type TriggerAction_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Text for the agent to respond with. + Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` + // Optional. Whether the response is disabled. Disabled responses are not + // used by the agent. + Disabled bool `protobuf:"varint,2,opt,name=disabled,proto3" json:"disabled,omitempty"` +} + +func (x *TriggerAction_Response) Reset() { + *x = TriggerAction_Response{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerAction_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerAction_Response) ProtoMessage() {} + +func (x *TriggerAction_Response) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerAction_Response.ProtoReflect.Descriptor instead. +func (*TriggerAction_Response) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *TriggerAction_Response) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +func (x *TriggerAction_Response) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +// The agent will immediately respond with a preconfigured response. +type TriggerAction_RespondImmediately struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The canned responses for the agent to choose from. The response + // is chosen randomly. + Responses []*TriggerAction_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *TriggerAction_RespondImmediately) Reset() { + *x = TriggerAction_RespondImmediately{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerAction_RespondImmediately) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerAction_RespondImmediately) ProtoMessage() {} + +func (x *TriggerAction_RespondImmediately) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerAction_RespondImmediately.ProtoReflect.Descriptor instead. +func (*TriggerAction_RespondImmediately) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *TriggerAction_RespondImmediately) GetResponses() []*TriggerAction_Response { + if x != nil { + return x.Responses + } + return nil +} + +// The agent will immediately respond with a generative answer. +type TriggerAction_GenerativeAnswer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The prompt to use for the generative answer. + Prompt string `protobuf:"bytes,1,opt,name=prompt,proto3" json:"prompt,omitempty"` +} + +func (x *TriggerAction_GenerativeAnswer) Reset() { + *x = TriggerAction_GenerativeAnswer{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerAction_GenerativeAnswer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerAction_GenerativeAnswer) ProtoMessage() {} + +func (x *TriggerAction_GenerativeAnswer) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerAction_GenerativeAnswer.ProtoReflect.Descriptor instead. +func (*TriggerAction_GenerativeAnswer) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{2, 2} +} + +func (x *TriggerAction_GenerativeAnswer) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +// The agent will transfer the conversation to a different agent. +type TriggerAction_TransferAgent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the agent to transfer the conversation to. The + // agent must be in the same app as the current agent. Format: + // `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + Agent string `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"` +} + +func (x *TriggerAction_TransferAgent) Reset() { + *x = TriggerAction_TransferAgent{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerAction_TransferAgent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerAction_TransferAgent) ProtoMessage() {} + +func (x *TriggerAction_TransferAgent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerAction_TransferAgent.ProtoReflect.Descriptor instead. +func (*TriggerAction_TransferAgent) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{2, 3} +} + +func (x *TriggerAction_TransferAgent) GetAgent() string { + if x != nil { + return x.Agent + } + return "" +} + +// The CA certificate. +type TlsConfig_CaCert struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the allowed custom CA certificates. This + // can be used to disambiguate the custom CA certificates. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The allowed custom CA certificates (in DER format) for + // HTTPS verification. This overrides the default SSL trust store. If this + // is empty or unspecified, CES will use Google's default trust + // store to verify certificates. N.B. Make sure the HTTPS server + // certificates are signed with "subject alt name". For instance a + // certificate can be self-signed using the following command, + // + // openssl x509 -req -days 200 -in example.com.csr \ + // -signkey example.com.key \ + // -out example.com.crt \ + // -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") + Cert []byte `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"` +} + +func (x *TlsConfig_CaCert) Reset() { + *x = TlsConfig_CaCert{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TlsConfig_CaCert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TlsConfig_CaCert) ProtoMessage() {} + +func (x *TlsConfig_CaCert) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TlsConfig_CaCert.ProtoReflect.Descriptor instead. +func (*TlsConfig_CaCert) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *TlsConfig_CaCert) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *TlsConfig_CaCert) GetCert() []byte { + if x != nil { + return x.Cert + } + return nil +} + +// Represents the persona property of a channel. +type ChannelProfile_PersonaProperty struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The persona of the channel. + Persona ChannelProfile_PersonaProperty_Persona `protobuf:"varint,1,opt,name=persona,proto3,enum=google.cloud.ces.v1beta.ChannelProfile_PersonaProperty_Persona" json:"persona,omitempty"` +} + +func (x *ChannelProfile_PersonaProperty) Reset() { + *x = ChannelProfile_PersonaProperty{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChannelProfile_PersonaProperty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelProfile_PersonaProperty) ProtoMessage() {} + +func (x *ChannelProfile_PersonaProperty) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelProfile_PersonaProperty.ProtoReflect.Descriptor instead. +func (*ChannelProfile_PersonaProperty) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *ChannelProfile_PersonaProperty) GetPersona() ChannelProfile_PersonaProperty_Persona { + if x != nil { + return x.Persona + } + return ChannelProfile_PersonaProperty_UNKNOWN +} + +// Message for configuration for the web widget. +type ChannelProfile_WebWidgetConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The modality of the web widget. + Modality ChannelProfile_WebWidgetConfig_Modality `protobuf:"varint,1,opt,name=modality,proto3,enum=google.cloud.ces.v1beta.ChannelProfile_WebWidgetConfig_Modality" json:"modality,omitempty"` + // Optional. The theme of the web widget. + Theme ChannelProfile_WebWidgetConfig_Theme `protobuf:"varint,2,opt,name=theme,proto3,enum=google.cloud.ces.v1beta.ChannelProfile_WebWidgetConfig_Theme" json:"theme,omitempty"` + // Optional. The title of the web widget. + WebWidgetTitle string `protobuf:"bytes,3,opt,name=web_widget_title,json=webWidgetTitle,proto3" json:"web_widget_title,omitempty"` + // Optional. The security settings of the web widget. + SecuritySettings *ChannelProfile_WebWidgetConfig_SecuritySettings `protobuf:"bytes,4,opt,name=security_settings,json=securitySettings,proto3" json:"security_settings,omitempty"` +} + +func (x *ChannelProfile_WebWidgetConfig) Reset() { + *x = ChannelProfile_WebWidgetConfig{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChannelProfile_WebWidgetConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelProfile_WebWidgetConfig) ProtoMessage() {} + +func (x *ChannelProfile_WebWidgetConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelProfile_WebWidgetConfig.ProtoReflect.Descriptor instead. +func (*ChannelProfile_WebWidgetConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *ChannelProfile_WebWidgetConfig) GetModality() ChannelProfile_WebWidgetConfig_Modality { + if x != nil { + return x.Modality + } + return ChannelProfile_WebWidgetConfig_MODALITY_UNSPECIFIED +} + +func (x *ChannelProfile_WebWidgetConfig) GetTheme() ChannelProfile_WebWidgetConfig_Theme { + if x != nil { + return x.Theme + } + return ChannelProfile_WebWidgetConfig_THEME_UNSPECIFIED +} + +func (x *ChannelProfile_WebWidgetConfig) GetWebWidgetTitle() string { + if x != nil { + return x.WebWidgetTitle + } + return "" +} + +func (x *ChannelProfile_WebWidgetConfig) GetSecuritySettings() *ChannelProfile_WebWidgetConfig_SecuritySettings { + if x != nil { + return x.SecuritySettings + } + return nil +} + +// Security settings for the web widget. +type ChannelProfile_WebWidgetConfig_SecuritySettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Indicates whether public access to the web widget is enabled. + // If `true`, the web widget will be publicly accessible. + // If `false`, the web widget must be integrated with your own + // authentication and authorization system to return valid credentials for + // accessing the CES agent. + EnablePublicAccess bool `protobuf:"varint,1,opt,name=enable_public_access,json=enablePublicAccess,proto3" json:"enable_public_access,omitempty"` + // Optional. Indicates whether origin check for the web widget is enabled. + // If `true`, the web widget will check the origin of the website that + // loads the web widget and only allow it to be loaded in the same origin + // or any of the allowed origins. + EnableOriginCheck bool `protobuf:"varint,4,opt,name=enable_origin_check,json=enableOriginCheck,proto3" json:"enable_origin_check,omitempty"` + // Optional. The origins that are allowed to host the web widget. An + // origin is defined by RFC 6454. If empty, all origins are allowed. A + // maximum of 100 origins is allowed. Example: "https://example.com" + AllowedOrigins []string `protobuf:"bytes,2,rep,name=allowed_origins,json=allowedOrigins,proto3" json:"allowed_origins,omitempty"` + // Optional. Indicates whether reCAPTCHA verification for the web widget + // is enabled. + EnableRecaptcha bool `protobuf:"varint,3,opt,name=enable_recaptcha,json=enableRecaptcha,proto3" json:"enable_recaptcha,omitempty"` +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) Reset() { + *x = ChannelProfile_WebWidgetConfig_SecuritySettings{} + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelProfile_WebWidgetConfig_SecuritySettings) ProtoMessage() {} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_common_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelProfile_WebWidgetConfig_SecuritySettings.ProtoReflect.Descriptor instead. +func (*ChannelProfile_WebWidgetConfig_SecuritySettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_common_proto_rawDescGZIP(), []int{5, 1, 0} +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) GetEnablePublicAccess() bool { + if x != nil { + return x.EnablePublicAccess + } + return false +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) GetEnableOriginCheck() bool { + if x != nil { + return x.EnableOriginCheck + } + return false +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) GetAllowedOrigins() []string { + if x != nil { + return x.AllowedOrigins + } + return nil +} + +func (x *ChannelProfile_WebWidgetConfig_SecuritySettings) GetEnableRecaptcha() bool { + if x != nil { + return x.EnableRecaptcha + } + return false +} + +var File_google_cloud_ces_v1beta_common_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_common_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x08, 0x43, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x0b, 0x70, 0x79, 0x74, 0x68, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x19, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, + 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x66, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x22, 0x87, 0x05, 0x0a, 0x0d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x5f, 0x69, 0x6d, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x49, + 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x62, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x1a, 0x44, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x68, 0x0a, 0x12, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x6c, 0x79, 0x12, 0x52, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x1a, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x1a, 0x47, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x0a, + 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x09, 0x54, + 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x08, 0x63, 0x61, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, + 0x61, 0x43, 0x65, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, 0x43, 0x65, + 0x72, 0x74, 0x73, 0x1a, 0x49, 0x0a, 0x06, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x22, 0x63, + 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x49, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x29, 0x0a, 0x27, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x22, 0xbe, 0x0c, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x67, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x6d, 0x66, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x6d, 0x66, 0x12, 0x3c, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x15, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x68, 0x0a, 0x11, 0x77, 0x65, 0x62, 0x5f, 0x77, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x57, 0x65, 0x62, 0x57, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0f, 0x77, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x3b, 0x0a, 0x17, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, 0x75, 0x70, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0xa2, 0x01, + 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x12, 0x5e, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x2e, 0x50, 0x65, 0x72, 0x73, + 0x6f, 0x6e, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, + 0x61, 0x22, 0x2f, 0x0a, 0x07, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, + 0x43, 0x49, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x54, 0x54, 0x59, + 0x10, 0x02, 0x1a, 0xe6, 0x05, 0x0a, 0x0f, 0x57, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x61, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x2e, 0x57, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x58, 0x0a, 0x05, 0x74, 0x68, 0x65, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x2e, 0x57, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x68, + 0x65, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x77, 0x65, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x7a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x57, 0x65, 0x62, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xdc, + 0x01, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, + 0x2c, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x2e, 0x0a, + 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x22, 0x57, 0x0a, + 0x08, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, 0x44, + 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, + 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x4f, 0x49, 0x43, 0x45, + 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x48, 0x41, 0x54, 0x5f, + 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x22, 0x33, 0x0a, 0x05, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, + 0x15, 0x0a, 0x11, 0x54, 0x48, 0x45, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, + 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x52, 0x4b, 0x10, 0x02, 0x22, 0xa6, 0x01, 0x0a, 0x0b, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x57, 0x45, 0x42, 0x5f, + 0x55, 0x49, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x50, 0x49, 0x10, 0x03, 0x12, 0x0a, 0x0a, + 0x06, 0x54, 0x57, 0x49, 0x4c, 0x49, 0x4f, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x4f, 0x4f, + 0x47, 0x4c, 0x45, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x50, 0x48, 0x4f, 0x4e, 0x59, 0x5f, 0x50, 0x4c, + 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x4e, 0x54, + 0x41, 0x43, 0x54, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x5f, 0x41, 0x5f, + 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x56, + 0x45, 0x39, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x5f, + 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x08, 0x22, 0xda, 0x02, 0x0a, 0x04, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, + 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0b, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x61, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x61, 0x6e, + 0x73, 0x2a, 0x52, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, 0x4f, 0x55, + 0x53, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x48, 0x52, 0x4f, 0x4e, + 0x4f, 0x55, 0x53, 0x10, 0x02, 0x42, 0xda, 0x01, 0xea, 0x41, 0x7c, 0x0a, 0x27, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_common_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_common_proto_rawDescData = file_google_cloud_ces_v1beta_common_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_common_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_common_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_common_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_common_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_google_cloud_ces_v1beta_common_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_google_cloud_ces_v1beta_common_proto_goTypes = []any{ + (ExecutionType)(0), // 0: google.cloud.ces.v1beta.ExecutionType + (ChannelProfile_ChannelType)(0), // 1: google.cloud.ces.v1beta.ChannelProfile.ChannelType + (ChannelProfile_PersonaProperty_Persona)(0), // 2: google.cloud.ces.v1beta.ChannelProfile.PersonaProperty.Persona + (ChannelProfile_WebWidgetConfig_Modality)(0), // 3: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.Modality + (ChannelProfile_WebWidgetConfig_Theme)(0), // 4: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.Theme + (*Callback)(nil), // 5: google.cloud.ces.v1beta.Callback + (*ModelSettings)(nil), // 6: google.cloud.ces.v1beta.ModelSettings + (*TriggerAction)(nil), // 7: google.cloud.ces.v1beta.TriggerAction + (*TlsConfig)(nil), // 8: google.cloud.ces.v1beta.TlsConfig + (*ServiceDirectoryConfig)(nil), // 9: google.cloud.ces.v1beta.ServiceDirectoryConfig + (*ChannelProfile)(nil), // 10: google.cloud.ces.v1beta.ChannelProfile + (*Span)(nil), // 11: google.cloud.ces.v1beta.Span + (*TriggerAction_Response)(nil), // 12: google.cloud.ces.v1beta.TriggerAction.Response + (*TriggerAction_RespondImmediately)(nil), // 13: google.cloud.ces.v1beta.TriggerAction.RespondImmediately + (*TriggerAction_GenerativeAnswer)(nil), // 14: google.cloud.ces.v1beta.TriggerAction.GenerativeAnswer + (*TriggerAction_TransferAgent)(nil), // 15: google.cloud.ces.v1beta.TriggerAction.TransferAgent + (*TlsConfig_CaCert)(nil), // 16: google.cloud.ces.v1beta.TlsConfig.CaCert + (*ChannelProfile_PersonaProperty)(nil), // 17: google.cloud.ces.v1beta.ChannelProfile.PersonaProperty + (*ChannelProfile_WebWidgetConfig)(nil), // 18: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig + (*ChannelProfile_WebWidgetConfig_SecuritySettings)(nil), // 19: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.SecuritySettings + (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 21: google.protobuf.Duration + (*structpb.Struct)(nil), // 22: google.protobuf.Struct +} +var file_google_cloud_ces_v1beta_common_proto_depIdxs = []int32{ + 13, // 0: google.cloud.ces.v1beta.TriggerAction.respond_immediately:type_name -> google.cloud.ces.v1beta.TriggerAction.RespondImmediately + 15, // 1: google.cloud.ces.v1beta.TriggerAction.transfer_agent:type_name -> google.cloud.ces.v1beta.TriggerAction.TransferAgent + 14, // 2: google.cloud.ces.v1beta.TriggerAction.generative_answer:type_name -> google.cloud.ces.v1beta.TriggerAction.GenerativeAnswer + 16, // 3: google.cloud.ces.v1beta.TlsConfig.ca_certs:type_name -> google.cloud.ces.v1beta.TlsConfig.CaCert + 1, // 4: google.cloud.ces.v1beta.ChannelProfile.channel_type:type_name -> google.cloud.ces.v1beta.ChannelProfile.ChannelType + 17, // 5: google.cloud.ces.v1beta.ChannelProfile.persona_property:type_name -> google.cloud.ces.v1beta.ChannelProfile.PersonaProperty + 18, // 6: google.cloud.ces.v1beta.ChannelProfile.web_widget_config:type_name -> google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig + 20, // 7: google.cloud.ces.v1beta.Span.start_time:type_name -> google.protobuf.Timestamp + 20, // 8: google.cloud.ces.v1beta.Span.end_time:type_name -> google.protobuf.Timestamp + 21, // 9: google.cloud.ces.v1beta.Span.duration:type_name -> google.protobuf.Duration + 22, // 10: google.cloud.ces.v1beta.Span.attributes:type_name -> google.protobuf.Struct + 11, // 11: google.cloud.ces.v1beta.Span.child_spans:type_name -> google.cloud.ces.v1beta.Span + 12, // 12: google.cloud.ces.v1beta.TriggerAction.RespondImmediately.responses:type_name -> google.cloud.ces.v1beta.TriggerAction.Response + 2, // 13: google.cloud.ces.v1beta.ChannelProfile.PersonaProperty.persona:type_name -> google.cloud.ces.v1beta.ChannelProfile.PersonaProperty.Persona + 3, // 14: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.modality:type_name -> google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.Modality + 4, // 15: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.theme:type_name -> google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.Theme + 19, // 16: google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.security_settings:type_name -> google.cloud.ces.v1beta.ChannelProfile.WebWidgetConfig.SecuritySettings + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_common_proto_init() } +func file_google_cloud_ces_v1beta_common_proto_init() { + if File_google_cloud_ces_v1beta_common_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_msgTypes[0].OneofWrappers = []any{ + (*Callback_PythonCode)(nil), + } + file_google_cloud_ces_v1beta_common_proto_msgTypes[1].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_common_proto_msgTypes[2].OneofWrappers = []any{ + (*TriggerAction_RespondImmediately_)(nil), + (*TriggerAction_TransferAgent_)(nil), + (*TriggerAction_GenerativeAnswer_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_common_proto_rawDesc, + NumEnums: 5, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_common_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_common_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_common_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_common_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_common_proto = out.File + file_google_cloud_ces_v1beta_common_proto_rawDesc = nil + file_google_cloud_ces_v1beta_common_proto_goTypes = nil + file_google_cloud_ces_v1beta_common_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/connector_tool.pb.go b/ces/apiv1beta/cespb/connector_tool.pb.go new file mode 100644 index 000000000000..b0853ef3c9fb --- /dev/null +++ b/ces/apiv1beta/cespb/connector_tool.pb.go @@ -0,0 +1,496 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/connector_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The operation to perform on the entity. +type Action_EntityOperation_OperationType int32 + +const ( + // Operation type unspecified. Invalid, ConnectorTool create/update + // will fail. + Action_EntityOperation_OPERATION_TYPE_UNSPECIFIED Action_EntityOperation_OperationType = 0 + // List operation. + Action_EntityOperation_LIST Action_EntityOperation_OperationType = 1 + // Get operation. + Action_EntityOperation_GET Action_EntityOperation_OperationType = 2 + // Create operation. + Action_EntityOperation_CREATE Action_EntityOperation_OperationType = 3 + // Update operation. + Action_EntityOperation_UPDATE Action_EntityOperation_OperationType = 4 + // Delete operation. + Action_EntityOperation_DELETE Action_EntityOperation_OperationType = 5 +) + +// Enum value maps for Action_EntityOperation_OperationType. +var ( + Action_EntityOperation_OperationType_name = map[int32]string{ + 0: "OPERATION_TYPE_UNSPECIFIED", + 1: "LIST", + 2: "GET", + 3: "CREATE", + 4: "UPDATE", + 5: "DELETE", + } + Action_EntityOperation_OperationType_value = map[string]int32{ + "OPERATION_TYPE_UNSPECIFIED": 0, + "LIST": 1, + "GET": 2, + "CREATE": 3, + "UPDATE": 4, + "DELETE": 5, + } +) + +func (x Action_EntityOperation_OperationType) Enum() *Action_EntityOperation_OperationType { + p := new(Action_EntityOperation_OperationType) + *p = x + return p +} + +func (x Action_EntityOperation_OperationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Action_EntityOperation_OperationType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_connector_tool_proto_enumTypes[0].Descriptor() +} + +func (Action_EntityOperation_OperationType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_connector_tool_proto_enumTypes[0] +} + +func (x Action_EntityOperation_OperationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Action_EntityOperation_OperationType.Descriptor instead. +func (Action_EntityOperation_OperationType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_connector_tool_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Configuration of an Action for the tool to use. +// Note: This can be either an Action or an Operation. See +// https://cloud.google.com/integration-connectors/docs/entities-operation-action +// for details. +type Action struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specification for an action to configure for the tool to use. + // + // Types that are assignable to ActionSpec: + // + // *Action_ConnectionActionId + // *Action_EntityOperation_ + ActionSpec isAction_ActionSpec `protobuf_oneof:"action_spec"` + // Optional. Entity fields to use as inputs for the operation. + // If no fields are specified, all fields of the Entity will be used. + InputFields []string `protobuf:"bytes,2,rep,name=input_fields,json=inputFields,proto3" json:"input_fields,omitempty"` + // Optional. Entity fields to return from the operation. + // If no fields are specified, all fields of the Entity will be returned. + OutputFields []string `protobuf:"bytes,3,rep,name=output_fields,json=outputFields,proto3" json:"output_fields,omitempty"` +} + +func (x *Action) Reset() { + *x = Action{} + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Action) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action) ProtoMessage() {} + +func (x *Action) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action.ProtoReflect.Descriptor instead. +func (*Action) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_connector_tool_proto_rawDescGZIP(), []int{0} +} + +func (m *Action) GetActionSpec() isAction_ActionSpec { + if m != nil { + return m.ActionSpec + } + return nil +} + +func (x *Action) GetConnectionActionId() string { + if x, ok := x.GetActionSpec().(*Action_ConnectionActionId); ok { + return x.ConnectionActionId + } + return "" +} + +func (x *Action) GetEntityOperation() *Action_EntityOperation { + if x, ok := x.GetActionSpec().(*Action_EntityOperation_); ok { + return x.EntityOperation + } + return nil +} + +func (x *Action) GetInputFields() []string { + if x != nil { + return x.InputFields + } + return nil +} + +func (x *Action) GetOutputFields() []string { + if x != nil { + return x.OutputFields + } + return nil +} + +type isAction_ActionSpec interface { + isAction_ActionSpec() +} + +type Action_ConnectionActionId struct { + // ID of a Connection action for the tool to use. + ConnectionActionId string `protobuf:"bytes,4,opt,name=connection_action_id,json=connectionActionId,proto3,oneof"` +} + +type Action_EntityOperation_ struct { + // Entity operation configuration for the tool to use. + EntityOperation *Action_EntityOperation `protobuf:"bytes,5,opt,name=entity_operation,json=entityOperation,proto3,oneof"` +} + +func (*Action_ConnectionActionId) isAction_ActionSpec() {} + +func (*Action_EntityOperation_) isAction_ActionSpec() {} + +// A ConnectorTool allows connections to different integrations. +// See: https://cloud.google.com/integration-connectors/docs/overview. +type ConnectorTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The full resource name of the referenced Integration Connectors + // Connection. + // Format: + // `projects/{project}/locations/{location}/connections/{connection}` + Connection string `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"` + // Required. Action for the tool to use. + Action *Action `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + // Optional. Configures how authentication is handled in Integration + // Connectors. By default, an admin authentication is passed in the + // Integration Connectors API requests. You can override it with a different + // end-user authentication config. + // **Note**: The Connection must have authentication override enabled in + // order to specify an EUC configuration here - otherwise, the ConnectorTool + // creation will fail. See + // https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + // for details. + AuthConfig *EndUserAuthConfig `protobuf:"bytes,3,opt,name=auth_config,json=authConfig,proto3" json:"auth_config,omitempty"` + // Optional. The name of the tool that can be used by the Agent to decide + // whether to call this ConnectorTool. + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The description of the tool that can be used by the Agent to + // decide whether to call this ConnectorTool. + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *ConnectorTool) Reset() { + *x = ConnectorTool{} + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorTool) ProtoMessage() {} + +func (x *ConnectorTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectorTool.ProtoReflect.Descriptor instead. +func (*ConnectorTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_connector_tool_proto_rawDescGZIP(), []int{1} +} + +func (x *ConnectorTool) GetConnection() string { + if x != nil { + return x.Connection + } + return "" +} + +func (x *ConnectorTool) GetAction() *Action { + if x != nil { + return x.Action + } + return nil +} + +func (x *ConnectorTool) GetAuthConfig() *EndUserAuthConfig { + if x != nil { + return x.AuthConfig + } + return nil +} + +func (x *ConnectorTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ConnectorTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +// Entity CRUD operation specification. +type Action_EntityOperation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. ID of the entity. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` + // Required. Operation to perform on the entity. + Operation Action_EntityOperation_OperationType `protobuf:"varint,2,opt,name=operation,proto3,enum=google.cloud.ces.v1beta.Action_EntityOperation_OperationType" json:"operation,omitempty"` +} + +func (x *Action_EntityOperation) Reset() { + *x = Action_EntityOperation{} + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Action_EntityOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Action_EntityOperation) ProtoMessage() {} + +func (x *Action_EntityOperation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Action_EntityOperation.ProtoReflect.Descriptor instead. +func (*Action_EntityOperation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_connector_tool_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Action_EntityOperation) GetEntityId() string { + if x != nil { + return x.EntityId + } + return "" +} + +func (x *Action_EntityOperation) GetOperation() Action_EntityOperation_OperationType { + if x != nil { + return x.Operation + } + return Action_EntityOperation_OPERATION_TYPE_UNSPECIFIED +} + +var File_google_cloud_ces_v1beta_connector_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_connector_tool_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x03, 0x0a, + 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x10, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0xfd, 0x01, 0x0a, 0x0f, + 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, + 0x64, 0x12, 0x60, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x07, + 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, + 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x42, 0x0d, 0x0a, 0x0b, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x84, 0x02, 0x0a, 0x0d, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x50, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x62, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x42, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, + 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_connector_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_connector_tool_proto_rawDescData = file_google_cloud_ces_v1beta_connector_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_connector_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_connector_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_connector_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_connector_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_connector_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_connector_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_ces_v1beta_connector_tool_proto_goTypes = []any{ + (Action_EntityOperation_OperationType)(0), // 0: google.cloud.ces.v1beta.Action.EntityOperation.OperationType + (*Action)(nil), // 1: google.cloud.ces.v1beta.Action + (*ConnectorTool)(nil), // 2: google.cloud.ces.v1beta.ConnectorTool + (*Action_EntityOperation)(nil), // 3: google.cloud.ces.v1beta.Action.EntityOperation + (*EndUserAuthConfig)(nil), // 4: google.cloud.ces.v1beta.EndUserAuthConfig +} +var file_google_cloud_ces_v1beta_connector_tool_proto_depIdxs = []int32{ + 3, // 0: google.cloud.ces.v1beta.Action.entity_operation:type_name -> google.cloud.ces.v1beta.Action.EntityOperation + 1, // 1: google.cloud.ces.v1beta.ConnectorTool.action:type_name -> google.cloud.ces.v1beta.Action + 4, // 2: google.cloud.ces.v1beta.ConnectorTool.auth_config:type_name -> google.cloud.ces.v1beta.EndUserAuthConfig + 0, // 3: google.cloud.ces.v1beta.Action.EntityOperation.operation:type_name -> google.cloud.ces.v1beta.Action.EntityOperation.OperationType + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_connector_tool_proto_init() } +func file_google_cloud_ces_v1beta_connector_tool_proto_init() { + if File_google_cloud_ces_v1beta_connector_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes[0].OneofWrappers = []any{ + (*Action_ConnectionActionId)(nil), + (*Action_EntityOperation_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_connector_tool_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_connector_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_connector_tool_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_connector_tool_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_connector_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_connector_tool_proto = out.File + file_google_cloud_ces_v1beta_connector_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_connector_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_connector_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/connector_toolset.pb.go b/ces/apiv1beta/cespb/connector_toolset.pb.go new file mode 100644 index 000000000000..90a5618c7a14 --- /dev/null +++ b/ces/apiv1beta/cespb/connector_toolset.pb.go @@ -0,0 +1,206 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/connector_toolset.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A toolset that generates tools from an Integration Connectors Connection. +type ConnectorToolset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The full resource name of the referenced Integration Connectors + // Connection. + // Format: + // `projects/{project}/locations/{location}/connections/{connection}` + Connection string `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"` + // Optional. Configures how authentication is handled in Integration + // Connectors. By default, an admin authentication is passed in the + // Integration Connectors API requests. You can override it with a different + // end-user authentication config. + // **Note**: The Connection must have authentication override enabled in + // order to specify an EUC configuration here - otherwise, the Toolset + // creation will fail. See: + // https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override + AuthConfig *EndUserAuthConfig `protobuf:"bytes,2,opt,name=auth_config,json=authConfig,proto3" json:"auth_config,omitempty"` + // Required. The list of connector actions/entity operations to generate tools + // for. + ConnectorActions []*Action `protobuf:"bytes,3,rep,name=connector_actions,json=connectorActions,proto3" json:"connector_actions,omitempty"` +} + +func (x *ConnectorToolset) Reset() { + *x = ConnectorToolset{} + mi := &file_google_cloud_ces_v1beta_connector_toolset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectorToolset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorToolset) ProtoMessage() {} + +func (x *ConnectorToolset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_connector_toolset_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectorToolset.ProtoReflect.Descriptor instead. +func (*ConnectorToolset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescGZIP(), []int{0} +} + +func (x *ConnectorToolset) GetConnection() string { + if x != nil { + return x.Connection + } + return "" +} + +func (x *ConnectorToolset) GetAuthConfig() *EndUserAuthConfig { + if x != nil { + return x.AuthConfig + } + return nil +} + +func (x *ConnectorToolset) GetConnectorActions() []*Action { + if x != nil { + return x.ConnectorActions + } + return nil +} + +var File_google_cloud_ces_v1beta_connector_toolset_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_connector_toolset_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01, + 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, + 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x65, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x15, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescData = file_google_cloud_ces_v1beta_connector_toolset_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_connector_toolset_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_connector_toolset_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_connector_toolset_proto_goTypes = []any{ + (*ConnectorToolset)(nil), // 0: google.cloud.ces.v1beta.ConnectorToolset + (*EndUserAuthConfig)(nil), // 1: google.cloud.ces.v1beta.EndUserAuthConfig + (*Action)(nil), // 2: google.cloud.ces.v1beta.Action +} +var file_google_cloud_ces_v1beta_connector_toolset_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.ConnectorToolset.auth_config:type_name -> google.cloud.ces.v1beta.EndUserAuthConfig + 2, // 1: google.cloud.ces.v1beta.ConnectorToolset.connector_actions:type_name -> google.cloud.ces.v1beta.Action + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_connector_toolset_proto_init() } +func file_google_cloud_ces_v1beta_connector_toolset_proto_init() { + if File_google_cloud_ces_v1beta_connector_toolset_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_connector_tool_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_connector_toolset_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_connector_toolset_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_connector_toolset_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_connector_toolset_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_connector_toolset_proto = out.File + file_google_cloud_ces_v1beta_connector_toolset_proto_rawDesc = nil + file_google_cloud_ces_v1beta_connector_toolset_proto_goTypes = nil + file_google_cloud_ces_v1beta_connector_toolset_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/conversation.pb.go b/ces/apiv1beta/cespb/conversation.pb.go new file mode 100644 index 000000000000..5e5cc4b8db99 --- /dev/null +++ b/ces/apiv1beta/cespb/conversation.pb.go @@ -0,0 +1,639 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/conversation.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The channel type of the conversation. +type Conversation_ChannelType int32 + +const ( + // Unspecified channel type. + Conversation_CHANNEL_TYPE_UNSPECIFIED Conversation_ChannelType = 0 + // The conversation only contains text messages between the end user and the + // agent. + Conversation_TEXT Conversation_ChannelType = 1 + // The conversation contains audio messages between the end user and the + // agent. + Conversation_AUDIO Conversation_ChannelType = 2 + // The conversation multi-modal messages (e.g. image) between the end user + // and the agent. + Conversation_MULTIMODAL Conversation_ChannelType = 3 +) + +// Enum value maps for Conversation_ChannelType. +var ( + Conversation_ChannelType_name = map[int32]string{ + 0: "CHANNEL_TYPE_UNSPECIFIED", + 1: "TEXT", + 2: "AUDIO", + 3: "MULTIMODAL", + } + Conversation_ChannelType_value = map[string]int32{ + "CHANNEL_TYPE_UNSPECIFIED": 0, + "TEXT": 1, + "AUDIO": 2, + "MULTIMODAL": 3, + } +) + +func (x Conversation_ChannelType) Enum() *Conversation_ChannelType { + p := new(Conversation_ChannelType) + *p = x + return p +} + +func (x Conversation_ChannelType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Conversation_ChannelType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_conversation_proto_enumTypes[0].Descriptor() +} + +func (Conversation_ChannelType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_conversation_proto_enumTypes[0] +} + +func (x Conversation_ChannelType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Conversation_ChannelType.Descriptor instead. +func (Conversation_ChannelType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP(), []int{0, 0} +} + +// The source of the conversation. +type Conversation_Source int32 + +const ( + // Unspecified source. + Conversation_SOURCE_UNSPECIFIED Conversation_Source = 0 + // The conversation is from the live end user. + Conversation_LIVE Conversation_Source = 1 + // The conversation is from the simulator. + Conversation_SIMULATOR Conversation_Source = 2 + // The conversation is from the evaluation. + Conversation_EVAL Conversation_Source = 3 +) + +// Enum value maps for Conversation_Source. +var ( + Conversation_Source_name = map[int32]string{ + 0: "SOURCE_UNSPECIFIED", + 1: "LIVE", + 2: "SIMULATOR", + 3: "EVAL", + } + Conversation_Source_value = map[string]int32{ + "SOURCE_UNSPECIFIED": 0, + "LIVE": 1, + "SIMULATOR": 2, + "EVAL": 3, + } +) + +func (x Conversation_Source) Enum() *Conversation_Source { + p := new(Conversation_Source) + *p = x + return p +} + +func (x Conversation_Source) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Conversation_Source) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_conversation_proto_enumTypes[1].Descriptor() +} + +func (Conversation_Source) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_conversation_proto_enumTypes[1] +} + +func (x Conversation_Source) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Conversation_Source.Descriptor instead. +func (Conversation_Source) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP(), []int{0, 1} +} + +// Type of the input message. +type Conversation_InputType int32 + +const ( + // Unspecified input type. + Conversation_INPUT_TYPE_UNSPECIFIED Conversation_InputType = 0 + // The input message is text. + Conversation_INPUT_TYPE_TEXT Conversation_InputType = 1 + // The input message is audio. + Conversation_INPUT_TYPE_AUDIO Conversation_InputType = 2 + // The input message is image. + Conversation_INPUT_TYPE_IMAGE Conversation_InputType = 3 + // The input message is blob file. + Conversation_INPUT_TYPE_BLOB Conversation_InputType = 4 + // The input message is client function tool response. + Conversation_INPUT_TYPE_TOOL_RESPONSE Conversation_InputType = 5 + // The input message are variables. + Conversation_INPUT_TYPE_VARIABLES Conversation_InputType = 6 +) + +// Enum value maps for Conversation_InputType. +var ( + Conversation_InputType_name = map[int32]string{ + 0: "INPUT_TYPE_UNSPECIFIED", + 1: "INPUT_TYPE_TEXT", + 2: "INPUT_TYPE_AUDIO", + 3: "INPUT_TYPE_IMAGE", + 4: "INPUT_TYPE_BLOB", + 5: "INPUT_TYPE_TOOL_RESPONSE", + 6: "INPUT_TYPE_VARIABLES", + } + Conversation_InputType_value = map[string]int32{ + "INPUT_TYPE_UNSPECIFIED": 0, + "INPUT_TYPE_TEXT": 1, + "INPUT_TYPE_AUDIO": 2, + "INPUT_TYPE_IMAGE": 3, + "INPUT_TYPE_BLOB": 4, + "INPUT_TYPE_TOOL_RESPONSE": 5, + "INPUT_TYPE_VARIABLES": 6, + } +) + +func (x Conversation_InputType) Enum() *Conversation_InputType { + p := new(Conversation_InputType) + *p = x + return p +} + +func (x Conversation_InputType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Conversation_InputType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_conversation_proto_enumTypes[2].Descriptor() +} + +func (Conversation_InputType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_conversation_proto_enumTypes[2] +} + +func (x Conversation_InputType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Conversation_InputType.Descriptor instead. +func (Conversation_InputType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP(), []int{0, 2} +} + +// A conversation represents an interaction between an end user and the CES app. +type Conversation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the conversation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Timestamp when the conversation was created. + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. Timestamp when the conversation was completed. + EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Required. The turns in the conversation. + Turns []*Conversation_Turn `protobuf:"bytes,6,rep,name=turns,proto3" json:"turns,omitempty"` + // Output only. The number of turns in the conversation. + TurnCount int32 `protobuf:"varint,7,opt,name=turn_count,json=turnCount,proto3" json:"turn_count,omitempty"` + // DEPRECATED. Please use + // [input_types][google.cloud.ces.v1beta.Conversation.input_types] instead. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/conversation.proto. + ChannelType Conversation_ChannelType `protobuf:"varint,8,opt,name=channel_type,json=channelType,proto3,enum=google.cloud.ces.v1beta.Conversation_ChannelType" json:"channel_type,omitempty"` + // Output only. Indicate the source of the conversation. + Source Conversation_Source `protobuf:"varint,9,opt,name=source,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"source,omitempty"` + // Output only. The input types of the conversation. + InputTypes []Conversation_InputType `protobuf:"varint,10,rep,packed,name=input_types,json=inputTypes,proto3,enum=google.cloud.ces.v1beta.Conversation_InputType" json:"input_types,omitempty"` + // Output only. The agent that initially handles the conversation. If not + // specified, the conversation is handled by the root agent. Format: + // `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + EntryAgent string `protobuf:"bytes,11,opt,name=entry_agent,json=entryAgent,proto3" json:"entry_agent,omitempty"` + // Output only. The deployment of the app used for processing the + // conversation. Format: + // `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` + Deployment string `protobuf:"bytes,12,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Output only. The version of the app used for processing the conversation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + AppVersion string `protobuf:"bytes,13,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` + // Output only. The language code of the conversation. + LanguageCode string `protobuf:"bytes,14,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Deprecated. Use turns instead. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/conversation.proto. + Messages []*Message `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` +} + +func (x *Conversation) Reset() { + *x = Conversation{} + mi := &file_google_cloud_ces_v1beta_conversation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Conversation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Conversation) ProtoMessage() {} + +func (x *Conversation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_conversation_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Conversation.ProtoReflect.Descriptor instead. +func (*Conversation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP(), []int{0} +} + +func (x *Conversation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Conversation) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *Conversation) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *Conversation) GetTurns() []*Conversation_Turn { + if x != nil { + return x.Turns + } + return nil +} + +func (x *Conversation) GetTurnCount() int32 { + if x != nil { + return x.TurnCount + } + return 0 +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/conversation.proto. +func (x *Conversation) GetChannelType() Conversation_ChannelType { + if x != nil { + return x.ChannelType + } + return Conversation_CHANNEL_TYPE_UNSPECIFIED +} + +func (x *Conversation) GetSource() Conversation_Source { + if x != nil { + return x.Source + } + return Conversation_SOURCE_UNSPECIFIED +} + +func (x *Conversation) GetInputTypes() []Conversation_InputType { + if x != nil { + return x.InputTypes + } + return nil +} + +func (x *Conversation) GetEntryAgent() string { + if x != nil { + return x.EntryAgent + } + return "" +} + +func (x *Conversation) GetDeployment() string { + if x != nil { + return x.Deployment + } + return "" +} + +func (x *Conversation) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +func (x *Conversation) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/conversation.proto. +func (x *Conversation) GetMessages() []*Message { + if x != nil { + return x.Messages + } + return nil +} + +// All information about a single turn in the conversation. +type Conversation_Turn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. List of messages in the conversation turn, including user + // input, agent responses and intermediate events during the processing. + Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + // Optional. The root span of the action processing. + RootSpan *Span `protobuf:"bytes,2,opt,name=root_span,json=rootSpan,proto3" json:"root_span,omitempty"` +} + +func (x *Conversation_Turn) Reset() { + *x = Conversation_Turn{} + mi := &file_google_cloud_ces_v1beta_conversation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Conversation_Turn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Conversation_Turn) ProtoMessage() {} + +func (x *Conversation_Turn) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_conversation_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Conversation_Turn.ProtoReflect.Descriptor instead. +func (*Conversation_Turn) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Conversation_Turn) GetMessages() []*Message { + if x != nil { + return x.Messages + } + return nil +} + +func (x *Conversation_Turn) GetRootSpan() *Span { + if x != nil { + return x.RootSpan + } + return nil +} + +var File_google_cloud_ces_v1beta_conversation_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_conversation_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xba, 0x0b, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x75, 0x72, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0a, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x58, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0b, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x20, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, + 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x03, + 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x8a, 0x01, 0x0a, 0x04, 0x54, + 0x75, 0x72, 0x6e, 0x12, 0x41, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, + 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, + 0x6f, 0x6f, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x22, 0x50, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, + 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x09, + 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x4c, + 0x54, 0x49, 0x4d, 0x4f, 0x44, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x43, 0x0a, 0x06, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4c, + 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x49, 0x4d, 0x55, 0x4c, 0x41, 0x54, + 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x56, 0x41, 0x4c, 0x10, 0x03, 0x22, 0xb5, + 0x01, 0x0a, 0x09, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, + 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x50, 0x55, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, + 0x4f, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x50, + 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x42, 0x10, 0x04, 0x12, 0x1c, + 0x0a, 0x18, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x4f, + 0x4c, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, + 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, + 0x42, 0x4c, 0x45, 0x53, 0x10, 0x06, 0x3a, 0x93, 0x01, 0xea, 0x41, 0x8f, 0x01, 0x0a, 0x1f, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, + 0x70, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2a, + 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x0c, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x11, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_conversation_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_conversation_proto_rawDescData = file_google_cloud_ces_v1beta_conversation_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_conversation_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_conversation_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_conversation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_conversation_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_conversation_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_conversation_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_google_cloud_ces_v1beta_conversation_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_conversation_proto_goTypes = []any{ + (Conversation_ChannelType)(0), // 0: google.cloud.ces.v1beta.Conversation.ChannelType + (Conversation_Source)(0), // 1: google.cloud.ces.v1beta.Conversation.Source + (Conversation_InputType)(0), // 2: google.cloud.ces.v1beta.Conversation.InputType + (*Conversation)(nil), // 3: google.cloud.ces.v1beta.Conversation + (*Conversation_Turn)(nil), // 4: google.cloud.ces.v1beta.Conversation.Turn + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*Message)(nil), // 6: google.cloud.ces.v1beta.Message + (*Span)(nil), // 7: google.cloud.ces.v1beta.Span +} +var file_google_cloud_ces_v1beta_conversation_proto_depIdxs = []int32{ + 5, // 0: google.cloud.ces.v1beta.Conversation.start_time:type_name -> google.protobuf.Timestamp + 5, // 1: google.cloud.ces.v1beta.Conversation.end_time:type_name -> google.protobuf.Timestamp + 4, // 2: google.cloud.ces.v1beta.Conversation.turns:type_name -> google.cloud.ces.v1beta.Conversation.Turn + 0, // 3: google.cloud.ces.v1beta.Conversation.channel_type:type_name -> google.cloud.ces.v1beta.Conversation.ChannelType + 1, // 4: google.cloud.ces.v1beta.Conversation.source:type_name -> google.cloud.ces.v1beta.Conversation.Source + 2, // 5: google.cloud.ces.v1beta.Conversation.input_types:type_name -> google.cloud.ces.v1beta.Conversation.InputType + 6, // 6: google.cloud.ces.v1beta.Conversation.messages:type_name -> google.cloud.ces.v1beta.Message + 6, // 7: google.cloud.ces.v1beta.Conversation.Turn.messages:type_name -> google.cloud.ces.v1beta.Message + 7, // 8: google.cloud.ces.v1beta.Conversation.Turn.root_span:type_name -> google.cloud.ces.v1beta.Span + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_conversation_proto_init() } +func file_google_cloud_ces_v1beta_conversation_proto_init() { + if File_google_cloud_ces_v1beta_conversation_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_example_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_conversation_proto_rawDesc, + NumEnums: 3, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_conversation_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_conversation_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_conversation_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_conversation_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_conversation_proto = out.File + file_google_cloud_ces_v1beta_conversation_proto_rawDesc = nil + file_google_cloud_ces_v1beta_conversation_proto_goTypes = nil + file_google_cloud_ces_v1beta_conversation_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/data_store.pb.go b/ces/apiv1beta/cespb/data_store.pb.go new file mode 100644 index 000000000000..13c1020e5131 --- /dev/null +++ b/ces/apiv1beta/cespb/data_store.pb.go @@ -0,0 +1,444 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/data_store.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The type of the data store. +type DataStore_DataStoreType int32 + +const ( + // Not specified. This value indicates that the data store type is not + // specified, so it will not be used during search. + DataStore_DATA_STORE_TYPE_UNSPECIFIED DataStore_DataStoreType = 0 + // A data store that contains public web content. + DataStore_PUBLIC_WEB DataStore_DataStoreType = 1 + // A data store that contains unstructured private data. + DataStore_UNSTRUCTURED DataStore_DataStoreType = 2 + // A data store that contains structured data used as FAQ. + DataStore_FAQ DataStore_DataStoreType = 3 + // A data store that is a connector to a first-party or a third-party + // service. + DataStore_CONNECTOR DataStore_DataStoreType = 4 +) + +// Enum value maps for DataStore_DataStoreType. +var ( + DataStore_DataStoreType_name = map[int32]string{ + 0: "DATA_STORE_TYPE_UNSPECIFIED", + 1: "PUBLIC_WEB", + 2: "UNSTRUCTURED", + 3: "FAQ", + 4: "CONNECTOR", + } + DataStore_DataStoreType_value = map[string]int32{ + "DATA_STORE_TYPE_UNSPECIFIED": 0, + "PUBLIC_WEB": 1, + "UNSTRUCTURED": 2, + "FAQ": 3, + "CONNECTOR": 4, + } +) + +func (x DataStore_DataStoreType) Enum() *DataStore_DataStoreType { + p := new(DataStore_DataStoreType) + *p = x + return p +} + +func (x DataStore_DataStoreType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStore_DataStoreType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_proto_enumTypes[0].Descriptor() +} + +func (DataStore_DataStoreType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_proto_enumTypes[0] +} + +func (x DataStore_DataStoreType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStore_DataStoreType.Descriptor instead. +func (DataStore_DataStoreType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_proto_rawDescGZIP(), []int{0, 0} +} + +// The document processing mode of the data store. +type DataStore_DocumentProcessingMode int32 + +const ( + // Not specified. + DataStore_DOCUMENT_PROCESSING_MODE_UNSPECIFIED DataStore_DocumentProcessingMode = 0 + // Documents are processed as documents. + DataStore_DOCUMENTS DataStore_DocumentProcessingMode = 1 + // Documents are converted to chunks. + DataStore_CHUNKS DataStore_DocumentProcessingMode = 2 +) + +// Enum value maps for DataStore_DocumentProcessingMode. +var ( + DataStore_DocumentProcessingMode_name = map[int32]string{ + 0: "DOCUMENT_PROCESSING_MODE_UNSPECIFIED", + 1: "DOCUMENTS", + 2: "CHUNKS", + } + DataStore_DocumentProcessingMode_value = map[string]int32{ + "DOCUMENT_PROCESSING_MODE_UNSPECIFIED": 0, + "DOCUMENTS": 1, + "CHUNKS": 2, + } +) + +func (x DataStore_DocumentProcessingMode) Enum() *DataStore_DocumentProcessingMode { + p := new(DataStore_DocumentProcessingMode) + *p = x + return p +} + +func (x DataStore_DocumentProcessingMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStore_DocumentProcessingMode) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_proto_enumTypes[1].Descriptor() +} + +func (DataStore_DocumentProcessingMode) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_proto_enumTypes[1] +} + +func (x DataStore_DocumentProcessingMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStore_DocumentProcessingMode.Descriptor instead. +func (DataStore_DocumentProcessingMode) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_proto_rawDescGZIP(), []int{0, 1} +} + +// A DataStore resource in Vertex AI Search. +type DataStore struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the DataStore. + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The type of the data store. This field is readonly and + // populated by the server. + Type DataStore_DataStoreType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.ces.v1beta.DataStore_DataStoreType" json:"type,omitempty"` + // Output only. The document processing mode for the data store connection. + // Only set for PUBLIC_WEB and UNSTRUCTURED data stores. + DocumentProcessingMode DataStore_DocumentProcessingMode `protobuf:"varint,4,opt,name=document_processing_mode,json=documentProcessingMode,proto3,enum=google.cloud.ces.v1beta.DataStore_DocumentProcessingMode" json:"document_processing_mode,omitempty"` + // Output only. The display name of the data store. + DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Timestamp when the data store was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The connector config for the data store connection. + ConnectorConfig *DataStore_ConnectorConfig `protobuf:"bytes,7,opt,name=connector_config,json=connectorConfig,proto3" json:"connector_config,omitempty"` +} + +func (x *DataStore) Reset() { + *x = DataStore{} + mi := &file_google_cloud_ces_v1beta_data_store_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStore) ProtoMessage() {} + +func (x *DataStore) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStore.ProtoReflect.Descriptor instead. +func (*DataStore) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_proto_rawDescGZIP(), []int{0} +} + +func (x *DataStore) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataStore) GetType() DataStore_DataStoreType { + if x != nil { + return x.Type + } + return DataStore_DATA_STORE_TYPE_UNSPECIFIED +} + +func (x *DataStore) GetDocumentProcessingMode() DataStore_DocumentProcessingMode { + if x != nil { + return x.DocumentProcessingMode + } + return DataStore_DOCUMENT_PROCESSING_MODE_UNSPECIFIED +} + +func (x *DataStore) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *DataStore) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DataStore) GetConnectorConfig() *DataStore_ConnectorConfig { + if x != nil { + return x.ConnectorConfig + } + return nil +} + +// The connector config for the data store connection. +type DataStore_ConnectorConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Resource name of the collection the data store belongs to. + Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` + // Display name of the collection the data store belongs to. + CollectionDisplayName string `protobuf:"bytes,2,opt,name=collection_display_name,json=collectionDisplayName,proto3" json:"collection_display_name,omitempty"` + // The name of the data source. + // Example: `salesforce`, `jira`, `confluence`, `bigquery`. + DataSource string `protobuf:"bytes,3,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` +} + +func (x *DataStore_ConnectorConfig) Reset() { + *x = DataStore_ConnectorConfig{} + mi := &file_google_cloud_ces_v1beta_data_store_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStore_ConnectorConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStore_ConnectorConfig) ProtoMessage() {} + +func (x *DataStore_ConnectorConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStore_ConnectorConfig.ProtoReflect.Descriptor instead. +func (*DataStore_ConnectorConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DataStore_ConnectorConfig) GetCollection() string { + if x != nil { + return x.Collection + } + return "" +} + +func (x *DataStore_ConnectorConfig) GetCollectionDisplayName() string { + if x != nil { + return x.CollectionDisplayName + } + return "" +} + +func (x *DataStore_ConnectorConfig) GetDataSource() string { + if x != nil { + return x.DataSource + } + return "" +} + +var File_google_cloud_ces_v1beta_data_store_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_data_store_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x06, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x78, 0x0a, 0x18, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, + 0x8a, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6a, 0x0a, 0x0d, + 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x1b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x01, 0x12, 0x10, + 0x0a, 0x0c, 0x55, 0x4e, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x07, 0x0a, 0x03, 0x46, 0x41, 0x51, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x22, 0x5d, 0x0a, 0x16, 0x44, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, + 0x48, 0x55, 0x4e, 0x4b, 0x53, 0x10, 0x02, 0x42, 0x5e, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, + 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_data_store_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_data_store_proto_rawDescData = file_google_cloud_ces_v1beta_data_store_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_data_store_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_data_store_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_data_store_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_data_store_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_data_store_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_data_store_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_ces_v1beta_data_store_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_data_store_proto_goTypes = []any{ + (DataStore_DataStoreType)(0), // 0: google.cloud.ces.v1beta.DataStore.DataStoreType + (DataStore_DocumentProcessingMode)(0), // 1: google.cloud.ces.v1beta.DataStore.DocumentProcessingMode + (*DataStore)(nil), // 2: google.cloud.ces.v1beta.DataStore + (*DataStore_ConnectorConfig)(nil), // 3: google.cloud.ces.v1beta.DataStore.ConnectorConfig + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_data_store_proto_depIdxs = []int32{ + 0, // 0: google.cloud.ces.v1beta.DataStore.type:type_name -> google.cloud.ces.v1beta.DataStore.DataStoreType + 1, // 1: google.cloud.ces.v1beta.DataStore.document_processing_mode:type_name -> google.cloud.ces.v1beta.DataStore.DocumentProcessingMode + 4, // 2: google.cloud.ces.v1beta.DataStore.create_time:type_name -> google.protobuf.Timestamp + 3, // 3: google.cloud.ces.v1beta.DataStore.connector_config:type_name -> google.cloud.ces.v1beta.DataStore.ConnectorConfig + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_data_store_proto_init() } +func file_google_cloud_ces_v1beta_data_store_proto_init() { + if File_google_cloud_ces_v1beta_data_store_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_data_store_proto_rawDesc, + NumEnums: 2, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_data_store_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_data_store_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_data_store_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_data_store_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_data_store_proto = out.File + file_google_cloud_ces_v1beta_data_store_proto_rawDesc = nil + file_google_cloud_ces_v1beta_data_store_proto_goTypes = nil + file_google_cloud_ces_v1beta_data_store_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/data_store_tool.pb.go b/ces/apiv1beta/cespb/data_store_tool.pb.go new file mode 100644 index 000000000000..4aefae10f2ef --- /dev/null +++ b/ces/apiv1beta/cespb/data_store_tool.pb.go @@ -0,0 +1,1445 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/data_store_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Filter parameter behavior. +type DataStoreTool_FilterParameterBehavior int32 + +const ( + // Default filter behavior. + // Include filter parameter for connector datastores. + // For the rest of the datastore types, the filter input parameter is + // omitted. + DataStoreTool_FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED DataStoreTool_FilterParameterBehavior = 0 + // Always include filter parameter for all datastore types. + DataStoreTool_ALWAYS_INCLUDE DataStoreTool_FilterParameterBehavior = 2 + // The filter parameter is never included in the list of tool parameters, + // regardless of the datastore type. + DataStoreTool_NEVER_INCLUDE DataStoreTool_FilterParameterBehavior = 3 +) + +// Enum value maps for DataStoreTool_FilterParameterBehavior. +var ( + DataStoreTool_FilterParameterBehavior_name = map[int32]string{ + 0: "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED", + 2: "ALWAYS_INCLUDE", + 3: "NEVER_INCLUDE", + } + DataStoreTool_FilterParameterBehavior_value = map[string]int32{ + "FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED": 0, + "ALWAYS_INCLUDE": 2, + "NEVER_INCLUDE": 3, + } +) + +func (x DataStoreTool_FilterParameterBehavior) Enum() *DataStoreTool_FilterParameterBehavior { + p := new(DataStoreTool_FilterParameterBehavior) + *p = x + return p +} + +func (x DataStoreTool_FilterParameterBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStoreTool_FilterParameterBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[0].Descriptor() +} + +func (DataStoreTool_FilterParameterBehavior) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[0] +} + +func (x DataStoreTool_FilterParameterBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStoreTool_FilterParameterBehavior.Descriptor instead. +func (DataStoreTool_FilterParameterBehavior) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 0} +} + +// The attribute(or function) for which the custom ranking is to be +// applied. +type DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType int32 + +const ( + // Unspecified AttributeType. + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ATTRIBUTE_TYPE_UNSPECIFIED DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType = 0 + // The value of the numerical field will be used to dynamically update + // the boost amount. In this case, the attribute_value (the x value) + // of the control point will be the actual value of the numerical + // field for which the boost_amount is specified. + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_NUMERICAL DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType = 1 + // For the freshness use case the attribute value will be the duration + // between the current time and the date in the datetime field + // specified. The value must be formatted as an XSD `dayTimeDuration` + // value (a restricted subset of an ISO 8601 duration value). The + // pattern for this is: `[nD][T[nH][nM][nS]]`. + // E.g. `5D`, `3DT12H30M`, `T24H`. + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_FRESHNESS DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType = 2 +) + +// Enum value maps for DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType. +var ( + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType_name = map[int32]string{ + 0: "ATTRIBUTE_TYPE_UNSPECIFIED", + 1: "NUMERICAL", + 2: "FRESHNESS", + } + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType_value = map[string]int32{ + "ATTRIBUTE_TYPE_UNSPECIFIED": 0, + "NUMERICAL": 1, + "FRESHNESS": 2, + } +) + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) Enum() *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType { + p := new(DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) + *p = x + return p +} + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[1].Descriptor() +} + +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[1] +} + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType.Descriptor instead. +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6, 0, 0, 0} +} + +// The interpolation type to be applied. Default will be linear +// (Piecewise Linear). +type DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType int32 + +const ( + // Interpolation type is unspecified. In this case, it defaults to + // Linear. + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_INTERPOLATION_TYPE_UNSPECIFIED DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType = 0 + // Piecewise linear interpolation will be applied. + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_LINEAR DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType = 1 +) + +// Enum value maps for DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType. +var ( + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType_name = map[int32]string{ + 0: "INTERPOLATION_TYPE_UNSPECIFIED", + 1: "LINEAR", + } + DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType_value = map[string]int32{ + "INTERPOLATION_TYPE_UNSPECIFIED": 0, + "LINEAR": 1, + } +) + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) Enum() *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType { + p := new(DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) + *p = x + return p +} + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[2].Descriptor() +} + +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[2] +} + +func (x DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType.Descriptor instead. +func (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6, 0, 0, 1} +} + +// The modality type. +type DataStoreTool_ModalityConfig_ModalityType int32 + +const ( + // Unspecified modality type. + DataStoreTool_ModalityConfig_MODALITY_TYPE_UNSPECIFIED DataStoreTool_ModalityConfig_ModalityType = 0 + // Text modality. + DataStoreTool_ModalityConfig_TEXT DataStoreTool_ModalityConfig_ModalityType = 1 + // Audio modality. + DataStoreTool_ModalityConfig_AUDIO DataStoreTool_ModalityConfig_ModalityType = 2 +) + +// Enum value maps for DataStoreTool_ModalityConfig_ModalityType. +var ( + DataStoreTool_ModalityConfig_ModalityType_name = map[int32]string{ + 0: "MODALITY_TYPE_UNSPECIFIED", + 1: "TEXT", + 2: "AUDIO", + } + DataStoreTool_ModalityConfig_ModalityType_value = map[string]int32{ + "MODALITY_TYPE_UNSPECIFIED": 0, + "TEXT": 1, + "AUDIO": 2, + } +) + +func (x DataStoreTool_ModalityConfig_ModalityType) Enum() *DataStoreTool_ModalityConfig_ModalityType { + p := new(DataStoreTool_ModalityConfig_ModalityType) + *p = x + return p +} + +func (x DataStoreTool_ModalityConfig_ModalityType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DataStoreTool_ModalityConfig_ModalityType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[3].Descriptor() +} + +func (DataStoreTool_ModalityConfig_ModalityType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes[3] +} + +func (x DataStoreTool_ModalityConfig_ModalityType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DataStoreTool_ModalityConfig_ModalityType.Descriptor instead. +func (DataStoreTool_ModalityConfig_ModalityType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 7, 0} +} + +// Tool to retrieve from Vertex AI Search datastore or engine for grounding. +// Accepts either a datastore or an engine, but not both. +// See Vertex AI Search: +// https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction. +type DataStoreTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines the search source, either a single DataStore or an Engine. + // + // Types that are assignable to SearchSource: + // + // *DataStoreTool_DataStoreSource_ + // *DataStoreTool_EngineSource_ + SearchSource isDataStoreTool_SearchSource `protobuf_oneof:"search_source"` + // Required. The data store tool name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The tool description. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Boost specification to boost certain documents. + BoostSpecs []*DataStoreTool_BoostSpecs `protobuf:"bytes,8,rep,name=boost_specs,json=boostSpecs,proto3" json:"boost_specs,omitempty"` + // Optional. The modality configs for the data store. + ModalityConfigs []*DataStoreTool_ModalityConfig `protobuf:"bytes,9,rep,name=modality_configs,json=modalityConfigs,proto3" json:"modality_configs,omitempty"` + // Optional. The filter parameter behavior. + FilterParameterBehavior DataStoreTool_FilterParameterBehavior `protobuf:"varint,10,opt,name=filter_parameter_behavior,json=filterParameterBehavior,proto3,enum=google.cloud.ces.v1beta.DataStoreTool_FilterParameterBehavior" json:"filter_parameter_behavior,omitempty"` +} + +func (x *DataStoreTool) Reset() { + *x = DataStoreTool{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool) ProtoMessage() {} + +func (x *DataStoreTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool.ProtoReflect.Descriptor instead. +func (*DataStoreTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0} +} + +func (m *DataStoreTool) GetSearchSource() isDataStoreTool_SearchSource { + if m != nil { + return m.SearchSource + } + return nil +} + +func (x *DataStoreTool) GetDataStoreSource() *DataStoreTool_DataStoreSource { + if x, ok := x.GetSearchSource().(*DataStoreTool_DataStoreSource_); ok { + return x.DataStoreSource + } + return nil +} + +func (x *DataStoreTool) GetEngineSource() *DataStoreTool_EngineSource { + if x, ok := x.GetSearchSource().(*DataStoreTool_EngineSource_); ok { + return x.EngineSource + } + return nil +} + +func (x *DataStoreTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DataStoreTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *DataStoreTool) GetBoostSpecs() []*DataStoreTool_BoostSpecs { + if x != nil { + return x.BoostSpecs + } + return nil +} + +func (x *DataStoreTool) GetModalityConfigs() []*DataStoreTool_ModalityConfig { + if x != nil { + return x.ModalityConfigs + } + return nil +} + +func (x *DataStoreTool) GetFilterParameterBehavior() DataStoreTool_FilterParameterBehavior { + if x != nil { + return x.FilterParameterBehavior + } + return DataStoreTool_FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED +} + +type isDataStoreTool_SearchSource interface { + isDataStoreTool_SearchSource() +} + +type DataStoreTool_DataStoreSource_ struct { + // Optional. Search within a single specific DataStore. + DataStoreSource *DataStoreTool_DataStoreSource `protobuf:"bytes,3,opt,name=data_store_source,json=dataStoreSource,proto3,oneof"` +} + +type DataStoreTool_EngineSource_ struct { + // Optional. Search within an Engine (potentially across multiple + // DataStores). + EngineSource *DataStoreTool_EngineSource `protobuf:"bytes,4,opt,name=engine_source,json=engineSource,proto3,oneof"` +} + +func (*DataStoreTool_DataStoreSource_) isDataStoreTool_SearchSource() {} + +func (*DataStoreTool_EngineSource_) isDataStoreTool_SearchSource() {} + +// Rewriter configuration. +type DataStoreTool_RewriterConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Configurations for the LLM model. + ModelSettings *ModelSettings `protobuf:"bytes,1,opt,name=model_settings,json=modelSettings,proto3" json:"model_settings,omitempty"` + // Optional. The prompt definition. If not set, default prompt will be used. + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt,omitempty"` + // Optional. Whether the rewriter is disabled. + Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` +} + +func (x *DataStoreTool_RewriterConfig) Reset() { + *x = DataStoreTool_RewriterConfig{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_RewriterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_RewriterConfig) ProtoMessage() {} + +func (x *DataStoreTool_RewriterConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_RewriterConfig.ProtoReflect.Descriptor instead. +func (*DataStoreTool_RewriterConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DataStoreTool_RewriterConfig) GetModelSettings() *ModelSettings { + if x != nil { + return x.ModelSettings + } + return nil +} + +func (x *DataStoreTool_RewriterConfig) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +func (x *DataStoreTool_RewriterConfig) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +// Summarization configuration. +type DataStoreTool_SummarizationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configurations for the LLM model. + ModelSettings *ModelSettings `protobuf:"bytes,1,opt,name=model_settings,json=modelSettings,proto3" json:"model_settings,omitempty"` + // Optional. The prompt definition. If not set, default prompt will be used. + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt,omitempty"` + // Optional. Whether summarization is disabled. + Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` +} + +func (x *DataStoreTool_SummarizationConfig) Reset() { + *x = DataStoreTool_SummarizationConfig{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_SummarizationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_SummarizationConfig) ProtoMessage() {} + +func (x *DataStoreTool_SummarizationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_SummarizationConfig.ProtoReflect.Descriptor instead. +func (*DataStoreTool_SummarizationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *DataStoreTool_SummarizationConfig) GetModelSettings() *ModelSettings { + if x != nil { + return x.ModelSettings + } + return nil +} + +func (x *DataStoreTool_SummarizationConfig) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +func (x *DataStoreTool_SummarizationConfig) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +// Grounding configuration. +type DataStoreTool_GroundingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The groundedness threshold of the answer based on the retrieved + // sources. The value has a configurable range of [1, 5]. The level is used + // to threshold the groundedness of the answer, meaning that all responses + // with a groundedness score below the threshold will fall back to returning + // relevant snippets only. + // + // For example, a level of 3 means that the groundedness score must be + // 3 or higher for the response to be returned. + GroundingLevel float32 `protobuf:"fixed32,1,opt,name=grounding_level,json=groundingLevel,proto3" json:"grounding_level,omitempty"` + // Optional. Whether grounding is disabled. + Disabled bool `protobuf:"varint,2,opt,name=disabled,proto3" json:"disabled,omitempty"` +} + +func (x *DataStoreTool_GroundingConfig) Reset() { + *x = DataStoreTool_GroundingConfig{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_GroundingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_GroundingConfig) ProtoMessage() {} + +func (x *DataStoreTool_GroundingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_GroundingConfig.ProtoReflect.Descriptor instead. +func (*DataStoreTool_GroundingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *DataStoreTool_GroundingConfig) GetGroundingLevel() float32 { + if x != nil { + return x.GroundingLevel + } + return 0 +} + +func (x *DataStoreTool_GroundingConfig) GetDisabled() bool { + if x != nil { + return x.Disabled + } + return false +} + +// Configuration for searching within a specific DataStore. +type DataStoreTool_DataStoreSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Filter specification for the DataStore. + // See: + // https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The data store. + DataStore *DataStore `protobuf:"bytes,4,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"` +} + +func (x *DataStoreTool_DataStoreSource) Reset() { + *x = DataStoreTool_DataStoreSource{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_DataStoreSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_DataStoreSource) ProtoMessage() {} + +func (x *DataStoreTool_DataStoreSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_DataStoreSource.ProtoReflect.Descriptor instead. +func (*DataStoreTool_DataStoreSource) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *DataStoreTool_DataStoreSource) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *DataStoreTool_DataStoreSource) GetDataStore() *DataStore { + if x != nil { + return x.DataStore + } + return nil +} + +// Configuration for searching within an Engine, potentially targeting +// specific DataStores. +type DataStoreTool_EngineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the Engine. + // Format: + // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` + Engine string `protobuf:"bytes,1,opt,name=engine,proto3" json:"engine,omitempty"` + // Optional. Use to target specific DataStores within the Engine. + // If empty, the search applies to all DataStores associated with the + // Engine. + DataStoreSources []*DataStoreTool_DataStoreSource `protobuf:"bytes,2,rep,name=data_store_sources,json=dataStoreSources,proto3" json:"data_store_sources,omitempty"` + // Optional. A filter applied to the search across the Engine. Not relevant + // and not used if 'data_store_sources' is provided. See: + // https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata + Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *DataStoreTool_EngineSource) Reset() { + *x = DataStoreTool_EngineSource{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_EngineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_EngineSource) ProtoMessage() {} + +func (x *DataStoreTool_EngineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_EngineSource.ProtoReflect.Descriptor instead. +func (*DataStoreTool_EngineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *DataStoreTool_EngineSource) GetEngine() string { + if x != nil { + return x.Engine + } + return "" +} + +func (x *DataStoreTool_EngineSource) GetDataStoreSources() []*DataStoreTool_DataStoreSource { + if x != nil { + return x.DataStoreSources + } + return nil +} + +func (x *DataStoreTool_EngineSource) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Boost specifications to boost certain documents. +// For more information, please refer to +// https://cloud.google.com/generative-ai-app-builder/docs/boosting. +type DataStoreTool_BoostSpecs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The Data Store where the boosting configuration is applied. + // Full resource name of DataStore, such as + // projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. + DataStores []string `protobuf:"bytes,1,rep,name=data_stores,json=dataStores,proto3" json:"data_stores,omitempty"` + // Required. A list of boosting specifications. + Spec []*DataStoreTool_BoostSpec `protobuf:"bytes,2,rep,name=spec,proto3" json:"spec,omitempty"` +} + +func (x *DataStoreTool_BoostSpecs) Reset() { + *x = DataStoreTool_BoostSpecs{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_BoostSpecs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_BoostSpecs) ProtoMessage() {} + +func (x *DataStoreTool_BoostSpecs) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_BoostSpecs.ProtoReflect.Descriptor instead. +func (*DataStoreTool_BoostSpecs) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *DataStoreTool_BoostSpecs) GetDataStores() []string { + if x != nil { + return x.DataStores + } + return nil +} + +func (x *DataStoreTool_BoostSpecs) GetSpec() []*DataStoreTool_BoostSpec { + if x != nil { + return x.Spec + } + return nil +} + +// Boost specification to boost certain documents. +type DataStoreTool_BoostSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A list of boosting specifications. + ConditionBoostSpecs []*DataStoreTool_BoostSpec_ConditionBoostSpec `protobuf:"bytes,1,rep,name=condition_boost_specs,json=conditionBoostSpecs,proto3" json:"condition_boost_specs,omitempty"` +} + +func (x *DataStoreTool_BoostSpec) Reset() { + *x = DataStoreTool_BoostSpec{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_BoostSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_BoostSpec) ProtoMessage() {} + +func (x *DataStoreTool_BoostSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec.ProtoReflect.Descriptor instead. +func (*DataStoreTool_BoostSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *DataStoreTool_BoostSpec) GetConditionBoostSpecs() []*DataStoreTool_BoostSpec_ConditionBoostSpec { + if x != nil { + return x.ConditionBoostSpecs + } + return nil +} + +// If specified, will apply the given configuration for the specified +// modality. +type DataStoreTool_ModalityConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The modality type. + ModalityType DataStoreTool_ModalityConfig_ModalityType `protobuf:"varint,1,opt,name=modality_type,json=modalityType,proto3,enum=google.cloud.ces.v1beta.DataStoreTool_ModalityConfig_ModalityType" json:"modality_type,omitempty"` + // Optional. The rewriter config. + RewriterConfig *DataStoreTool_RewriterConfig `protobuf:"bytes,2,opt,name=rewriter_config,json=rewriterConfig,proto3" json:"rewriter_config,omitempty"` + // Optional. The summarization config. + SummarizationConfig *DataStoreTool_SummarizationConfig `protobuf:"bytes,3,opt,name=summarization_config,json=summarizationConfig,proto3" json:"summarization_config,omitempty"` + // Optional. The grounding configuration. + GroundingConfig *DataStoreTool_GroundingConfig `protobuf:"bytes,4,opt,name=grounding_config,json=groundingConfig,proto3" json:"grounding_config,omitempty"` +} + +func (x *DataStoreTool_ModalityConfig) Reset() { + *x = DataStoreTool_ModalityConfig{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_ModalityConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_ModalityConfig) ProtoMessage() {} + +func (x *DataStoreTool_ModalityConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_ModalityConfig.ProtoReflect.Descriptor instead. +func (*DataStoreTool_ModalityConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *DataStoreTool_ModalityConfig) GetModalityType() DataStoreTool_ModalityConfig_ModalityType { + if x != nil { + return x.ModalityType + } + return DataStoreTool_ModalityConfig_MODALITY_TYPE_UNSPECIFIED +} + +func (x *DataStoreTool_ModalityConfig) GetRewriterConfig() *DataStoreTool_RewriterConfig { + if x != nil { + return x.RewriterConfig + } + return nil +} + +func (x *DataStoreTool_ModalityConfig) GetSummarizationConfig() *DataStoreTool_SummarizationConfig { + if x != nil { + return x.SummarizationConfig + } + return nil +} + +func (x *DataStoreTool_ModalityConfig) GetGroundingConfig() *DataStoreTool_GroundingConfig { + if x != nil { + return x.GroundingConfig + } + return nil +} + +// Boost specification for a condition. +type DataStoreTool_BoostSpec_ConditionBoostSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. An expression which specifies a boost condition. The syntax + // is the same as filter expression syntax. Currently, the only supported + // condition is a list of BCP-47 lang codes. Example: To boost suggestions + // in languages en or fr: (lang_code: ANY("en", "fr")) + Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` + // Optional. Strength of the boost, which should be in [-1, 1]. Negative + // boost means demotion. Default is 0.0. + // + // Setting to 1.0 gives the suggestions a big promotion. However, it does + // not necessarily mean that the top result will be a boosted suggestion. + // + // Setting to -1.0 gives the suggestions a big demotion. However, other + // suggestions that are relevant might still be shown. + // + // Setting to 0.0 means no boost applied. The boosting condition is + // ignored. + Boost float32 `protobuf:"fixed32,2,opt,name=boost,proto3" json:"boost,omitempty"` + // Optional. Complex specification for custom ranking based on customer + // defined attribute value. + BoostControlSpec *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec `protobuf:"bytes,4,opt,name=boost_control_spec,json=boostControlSpec,proto3" json:"boost_control_spec,omitempty"` +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) Reset() { + *x = DataStoreTool_BoostSpec_ConditionBoostSpec{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_BoostSpec_ConditionBoostSpec) ProtoMessage() {} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec_ConditionBoostSpec.ProtoReflect.Descriptor instead. +func (*DataStoreTool_BoostSpec_ConditionBoostSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6, 0} +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) GetCondition() string { + if x != nil { + return x.Condition + } + return "" +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) GetBoost() float32 { + if x != nil { + return x.Boost + } + return 0 +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec) GetBoostControlSpec() *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec { + if x != nil { + return x.BoostControlSpec + } + return nil +} + +// Specification for custom ranking based on customer specified attribute +// value. It provides more controls for customized ranking than the simple +// (condition, boost) combination above. +type DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The name of the field whose value will be used to determine + // the boost amount. + FieldName string `protobuf:"bytes,1,opt,name=field_name,json=fieldName,proto3" json:"field_name,omitempty"` + // Optional. The attribute type to be used to determine the boost + // amount. The attribute value can be derived from the field value of + // the specified field_name. In the case of numerical it is + // straightforward i.e. attribute_value = numerical_field_value. In the + // case of freshness however, attribute_value = (time.now() - + // datetime_field_value). + AttributeType DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType `protobuf:"varint,2,opt,name=attribute_type,json=attributeType,proto3,enum=google.cloud.ces.v1beta.DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType" json:"attribute_type,omitempty"` + // Optional. The interpolation type to be applied to connect the control + // points listed below. + InterpolationType DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType `protobuf:"varint,3,opt,name=interpolation_type,json=interpolationType,proto3,enum=google.cloud.ces.v1beta.DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType" json:"interpolation_type,omitempty"` + // Optional. The control points used to define the curve. The monotonic + // function (defined through the interpolation_type above) passes + // through the control points listed here. + ControlPoints []*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint `protobuf:"bytes,4,rep,name=control_points,json=controlPoints,proto3" json:"control_points,omitempty"` +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) Reset() { + *x = DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) ProtoMessage() {} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec.ProtoReflect.Descriptor instead. +func (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6, 0, 0} +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) GetFieldName() string { + if x != nil { + return x.FieldName + } + return "" +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) GetAttributeType() DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType { + if x != nil { + return x.AttributeType + } + return DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ATTRIBUTE_TYPE_UNSPECIFIED +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) GetInterpolationType() DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType { + if x != nil { + return x.InterpolationType + } + return DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_INTERPOLATION_TYPE_UNSPECIFIED +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec) GetControlPoints() []*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint { + if x != nil { + return x.ControlPoints + } + return nil +} + +// The control points used to define the curve. The curve defined +// through these control points can only be monotonically increasing +// or decreasing(constant values are acceptable). +type DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Can be one of: + // 1. The numerical field value. + // 2. The duration spec for freshness: + // The value must be formatted as an XSD `dayTimeDuration` value (a + // restricted subset of an ISO 8601 duration value). The pattern for + // this is: `[nD][T[nH][nM][nS]]`. + AttributeValue string `protobuf:"bytes,1,opt,name=attribute_value,json=attributeValue,proto3" json:"attribute_value,omitempty"` + // Optional. The value between -1 to 1 by which to boost the score if + // the attribute_value evaluates to the value specified above. + BoostAmount float32 `protobuf:"fixed32,2,opt,name=boost_amount,json=boostAmount,proto3" json:"boost_amount,omitempty"` +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) Reset() { + *x = DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint{} + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) ProtoMessage() {} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint.ProtoReflect.Descriptor instead. +func (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP(), []int{0, 6, 0, 0, 0} +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) GetAttributeValue() string { + if x != nil { + return x.AttributeValue + } + return "" +} + +func (x *DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint) GetBoostAmount() float32 { + if x != nil { + return x.BoostAmount + } + return 0 +} + +var File_google_cloud_ces_v1beta_data_store_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_data_store_tool_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x19, 0x0a, 0x0d, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x0d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x6e, 0x67, 0x69, 0x6e, + 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x73, 0x74, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, + 0x12, 0x65, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, + 0x6f, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x7f, 0x0a, 0x19, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, + 0x6f, 0x6c, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x17, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x1a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x1f, 0x0a, 0x08, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0xa7, 0x01, + 0x0a, 0x13, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x60, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0f, 0x67, 0x72, + 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x76, 0x0a, 0x0f, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, + 0x65, 0x1a, 0xb3, 0x01, 0x0a, 0x0c, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, + 0x69, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, + 0x6f, 0x6f, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x7d, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, + 0x6c, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x1a, 0xd9, 0x08, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x7c, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, + 0x63, 0x73, 0x1a, 0xcd, 0x07, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, + 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x12, 0x62, 0x6f, 0x6f, 0x73, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x10, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x70, 0x65, + 0x63, 0x1a, 0xee, 0x05, 0x0a, 0x10, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x6f, 0x6f, 0x73, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x12, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x66, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, + 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, + 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x64, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4d, + 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0d, 0x0a, 0x09, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x46, 0x52, 0x45, 0x53, 0x48, 0x4e, 0x45, 0x53, 0x53, 0x10, 0x02, 0x22, 0x43, 0x0a, + 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x4f, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4e, 0x45, 0x41, 0x52, + 0x10, 0x01, 0x1a, 0x83, 0x04, 0x0a, 0x0e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6c, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x14, 0x73, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x10, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x47, + 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x42, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x44, 0x41, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x22, 0x6b, 0x0a, 0x17, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x42, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x25, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x41, + 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, + 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x43, 0x4c, + 0x55, 0x44, 0x45, 0x10, 0x03, 0x42, 0x0f, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x62, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x12, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescData = file_google_cloud_ces_v1beta_data_store_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_data_store_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_google_cloud_ces_v1beta_data_store_tool_proto_goTypes = []any{ + (DataStoreTool_FilterParameterBehavior)(0), // 0: google.cloud.ces.v1beta.DataStoreTool.FilterParameterBehavior + (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_AttributeType)(0), // 1: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType + (DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_InterpolationType)(0), // 2: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType + (DataStoreTool_ModalityConfig_ModalityType)(0), // 3: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.ModalityType + (*DataStoreTool)(nil), // 4: google.cloud.ces.v1beta.DataStoreTool + (*DataStoreTool_RewriterConfig)(nil), // 5: google.cloud.ces.v1beta.DataStoreTool.RewriterConfig + (*DataStoreTool_SummarizationConfig)(nil), // 6: google.cloud.ces.v1beta.DataStoreTool.SummarizationConfig + (*DataStoreTool_GroundingConfig)(nil), // 7: google.cloud.ces.v1beta.DataStoreTool.GroundingConfig + (*DataStoreTool_DataStoreSource)(nil), // 8: google.cloud.ces.v1beta.DataStoreTool.DataStoreSource + (*DataStoreTool_EngineSource)(nil), // 9: google.cloud.ces.v1beta.DataStoreTool.EngineSource + (*DataStoreTool_BoostSpecs)(nil), // 10: google.cloud.ces.v1beta.DataStoreTool.BoostSpecs + (*DataStoreTool_BoostSpec)(nil), // 11: google.cloud.ces.v1beta.DataStoreTool.BoostSpec + (*DataStoreTool_ModalityConfig)(nil), // 12: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig + (*DataStoreTool_BoostSpec_ConditionBoostSpec)(nil), // 13: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec + (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec)(nil), // 14: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec + (*DataStoreTool_BoostSpec_ConditionBoostSpec_BoostControlSpec_ControlPoint)(nil), // 15: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint + (*ModelSettings)(nil), // 16: google.cloud.ces.v1beta.ModelSettings + (*DataStore)(nil), // 17: google.cloud.ces.v1beta.DataStore +} +var file_google_cloud_ces_v1beta_data_store_tool_proto_depIdxs = []int32{ + 8, // 0: google.cloud.ces.v1beta.DataStoreTool.data_store_source:type_name -> google.cloud.ces.v1beta.DataStoreTool.DataStoreSource + 9, // 1: google.cloud.ces.v1beta.DataStoreTool.engine_source:type_name -> google.cloud.ces.v1beta.DataStoreTool.EngineSource + 10, // 2: google.cloud.ces.v1beta.DataStoreTool.boost_specs:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpecs + 12, // 3: google.cloud.ces.v1beta.DataStoreTool.modality_configs:type_name -> google.cloud.ces.v1beta.DataStoreTool.ModalityConfig + 0, // 4: google.cloud.ces.v1beta.DataStoreTool.filter_parameter_behavior:type_name -> google.cloud.ces.v1beta.DataStoreTool.FilterParameterBehavior + 16, // 5: google.cloud.ces.v1beta.DataStoreTool.RewriterConfig.model_settings:type_name -> google.cloud.ces.v1beta.ModelSettings + 16, // 6: google.cloud.ces.v1beta.DataStoreTool.SummarizationConfig.model_settings:type_name -> google.cloud.ces.v1beta.ModelSettings + 17, // 7: google.cloud.ces.v1beta.DataStoreTool.DataStoreSource.data_store:type_name -> google.cloud.ces.v1beta.DataStore + 8, // 8: google.cloud.ces.v1beta.DataStoreTool.EngineSource.data_store_sources:type_name -> google.cloud.ces.v1beta.DataStoreTool.DataStoreSource + 11, // 9: google.cloud.ces.v1beta.DataStoreTool.BoostSpecs.spec:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec + 13, // 10: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.condition_boost_specs:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec + 3, // 11: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.modality_type:type_name -> google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.ModalityType + 5, // 12: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.rewriter_config:type_name -> google.cloud.ces.v1beta.DataStoreTool.RewriterConfig + 6, // 13: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.summarization_config:type_name -> google.cloud.ces.v1beta.DataStoreTool.SummarizationConfig + 7, // 14: google.cloud.ces.v1beta.DataStoreTool.ModalityConfig.grounding_config:type_name -> google.cloud.ces.v1beta.DataStoreTool.GroundingConfig + 14, // 15: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.boost_control_spec:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec + 1, // 16: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.attribute_type:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType + 2, // 17: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.interpolation_type:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType + 15, // 18: google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.control_points:type_name -> google.cloud.ces.v1beta.DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_data_store_tool_proto_init() } +func file_google_cloud_ces_v1beta_data_store_tool_proto_init() { + if File_google_cloud_ces_v1beta_data_store_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_data_store_proto_init() + file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes[0].OneofWrappers = []any{ + (*DataStoreTool_DataStoreSource_)(nil), + (*DataStoreTool_EngineSource_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_data_store_tool_proto_rawDesc, + NumEnums: 4, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_data_store_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_data_store_tool_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_data_store_tool_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_data_store_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_data_store_tool_proto = out.File + file_google_cloud_ces_v1beta_data_store_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_data_store_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_data_store_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/deployment.pb.go b/ces/apiv1beta/cespb/deployment.pb.go new file mode 100644 index 000000000000..51eef83a129f --- /dev/null +++ b/ces/apiv1beta/cespb/deployment.pb.go @@ -0,0 +1,261 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/deployment.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A deployment represents an immutable, queryable version of the app. +// It is used to deploy an app version with a specific channel profile. +type Deployment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The resource name of the deployment. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the deployment. + DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The resource name of the app version to deploy. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + // Use `projects/{project}/locations/{location}/apps/{app}/versions/-` to use + // the draft app. + AppVersion string `protobuf:"bytes,2,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` + // Required. The channel profile used in the deployment. + ChannelProfile *ChannelProfile `protobuf:"bytes,3,opt,name=channel_profile,json=channelProfile,proto3" json:"channel_profile,omitempty"` + // Output only. Timestamp when this deployment was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when this deployment was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *Deployment) Reset() { + *x = Deployment{} + mi := &file_google_cloud_ces_v1beta_deployment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Deployment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Deployment) ProtoMessage() {} + +func (x *Deployment) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_deployment_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Deployment.ProtoReflect.Descriptor instead. +func (*Deployment) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_deployment_proto_rawDescGZIP(), []int{0} +} + +func (x *Deployment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Deployment) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Deployment) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +func (x *Deployment) GetChannelProfile() *ChannelProfile { + if x != nil { + return x.ChannelProfile + } + return nil +} + +func (x *Deployment) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Deployment) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Deployment) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +var File_google_cloud_ces_v1beta_deployment_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_deployment_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x04, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x01, + 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x55, + 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x3a, 0x89, 0x01, 0xea, 0x41, 0x85, 0x01, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x63, + 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_deployment_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_deployment_proto_rawDescData = file_google_cloud_ces_v1beta_deployment_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_deployment_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_deployment_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_deployment_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_deployment_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_deployment_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_deployment_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_deployment_proto_goTypes = []any{ + (*Deployment)(nil), // 0: google.cloud.ces.v1beta.Deployment + (*ChannelProfile)(nil), // 1: google.cloud.ces.v1beta.ChannelProfile + (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_deployment_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Deployment.channel_profile:type_name -> google.cloud.ces.v1beta.ChannelProfile + 2, // 1: google.cloud.ces.v1beta.Deployment.create_time:type_name -> google.protobuf.Timestamp + 2, // 2: google.cloud.ces.v1beta.Deployment.update_time:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_deployment_proto_init() } +func file_google_cloud_ces_v1beta_deployment_proto_init() { + if File_google_cloud_ces_v1beta_deployment_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_deployment_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_deployment_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_deployment_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_deployment_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_deployment_proto = out.File + file_google_cloud_ces_v1beta_deployment_proto_rawDesc = nil + file_google_cloud_ces_v1beta_deployment_proto_goTypes = nil + file_google_cloud_ces_v1beta_deployment_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/evaluation.pb.go b/ces/apiv1beta/cespb/evaluation.pb.go new file mode 100644 index 000000000000..275464dd171f --- /dev/null +++ b/ces/apiv1beta/cespb/evaluation.pb.go @@ -0,0 +1,7659 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/evaluation.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The expected behavior of the user task. This is used to determine whether +// the scenario is successful. +type Evaluation_Scenario_TaskCompletionBehavior int32 + +const ( + // Behavior unspecified. Will default to TASK_SATISFIED. + Evaluation_Scenario_TASK_COMPLETION_BEHAVIOR_UNSPECIFIED Evaluation_Scenario_TaskCompletionBehavior = 0 + // The user task should be completed successfully. + Evaluation_Scenario_TASK_SATISFIED Evaluation_Scenario_TaskCompletionBehavior = 1 + // The user task should be rejected. + Evaluation_Scenario_TASK_REJECTED Evaluation_Scenario_TaskCompletionBehavior = 2 +) + +// Enum value maps for Evaluation_Scenario_TaskCompletionBehavior. +var ( + Evaluation_Scenario_TaskCompletionBehavior_name = map[int32]string{ + 0: "TASK_COMPLETION_BEHAVIOR_UNSPECIFIED", + 1: "TASK_SATISFIED", + 2: "TASK_REJECTED", + } + Evaluation_Scenario_TaskCompletionBehavior_value = map[string]int32{ + "TASK_COMPLETION_BEHAVIOR_UNSPECIFIED": 0, + "TASK_SATISFIED": 1, + "TASK_REJECTED": 2, + } +) + +func (x Evaluation_Scenario_TaskCompletionBehavior) Enum() *Evaluation_Scenario_TaskCompletionBehavior { + p := new(Evaluation_Scenario_TaskCompletionBehavior) + *p = x + return p +} + +func (x Evaluation_Scenario_TaskCompletionBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Evaluation_Scenario_TaskCompletionBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[0].Descriptor() +} + +func (Evaluation_Scenario_TaskCompletionBehavior) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[0] +} + +func (x Evaluation_Scenario_TaskCompletionBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Evaluation_Scenario_TaskCompletionBehavior.Descriptor instead. +func (Evaluation_Scenario_TaskCompletionBehavior) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 5, 0} +} + +// The expected behavior of the user goal. This is used to determine whether +// the scenario is successful. +type Evaluation_Scenario_UserGoalBehavior int32 + +const ( + // Behavior unspecified. Will default to USER_GOAL_SATISFIED. + Evaluation_Scenario_USER_GOAL_BEHAVIOR_UNSPECIFIED Evaluation_Scenario_UserGoalBehavior = 0 + // The user goal should be completed successfully. + Evaluation_Scenario_USER_GOAL_SATISFIED Evaluation_Scenario_UserGoalBehavior = 1 + // The user goal should be rejected. + Evaluation_Scenario_USER_GOAL_REJECTED Evaluation_Scenario_UserGoalBehavior = 2 + // Ignore the user goal status. + Evaluation_Scenario_USER_GOAL_IGNORED Evaluation_Scenario_UserGoalBehavior = 3 +) + +// Enum value maps for Evaluation_Scenario_UserGoalBehavior. +var ( + Evaluation_Scenario_UserGoalBehavior_name = map[int32]string{ + 0: "USER_GOAL_BEHAVIOR_UNSPECIFIED", + 1: "USER_GOAL_SATISFIED", + 2: "USER_GOAL_REJECTED", + 3: "USER_GOAL_IGNORED", + } + Evaluation_Scenario_UserGoalBehavior_value = map[string]int32{ + "USER_GOAL_BEHAVIOR_UNSPECIFIED": 0, + "USER_GOAL_SATISFIED": 1, + "USER_GOAL_REJECTED": 2, + "USER_GOAL_IGNORED": 3, + } +) + +func (x Evaluation_Scenario_UserGoalBehavior) Enum() *Evaluation_Scenario_UserGoalBehavior { + p := new(Evaluation_Scenario_UserGoalBehavior) + *p = x + return p +} + +func (x Evaluation_Scenario_UserGoalBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Evaluation_Scenario_UserGoalBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[1].Descriptor() +} + +func (Evaluation_Scenario_UserGoalBehavior) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[1] +} + +func (x Evaluation_Scenario_UserGoalBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Evaluation_Scenario_UserGoalBehavior.Descriptor instead. +func (Evaluation_Scenario_UserGoalBehavior) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 5, 1} +} + +// The outcome of the evaluation or expectation. +type EvaluationResult_Outcome int32 + +const ( + // Evaluation outcome is not specified. + EvaluationResult_OUTCOME_UNSPECIFIED EvaluationResult_Outcome = 0 + // Evaluation/Expectation passed. In the case of an evaluation, this means + // that all expectations were met. + EvaluationResult_PASS EvaluationResult_Outcome = 1 + // Evaluation/Expectation failed. In the case of an evaluation, this means + // that at least one expectation was not met. + EvaluationResult_FAIL EvaluationResult_Outcome = 2 +) + +// Enum value maps for EvaluationResult_Outcome. +var ( + EvaluationResult_Outcome_name = map[int32]string{ + 0: "OUTCOME_UNSPECIFIED", + 1: "PASS", + 2: "FAIL", + } + EvaluationResult_Outcome_value = map[string]int32{ + "OUTCOME_UNSPECIFIED": 0, + "PASS": 1, + "FAIL": 2, + } +) + +func (x EvaluationResult_Outcome) Enum() *EvaluationResult_Outcome { + p := new(EvaluationResult_Outcome) + *p = x + return p +} + +func (x EvaluationResult_Outcome) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationResult_Outcome) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[2].Descriptor() +} + +func (EvaluationResult_Outcome) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[2] +} + +func (x EvaluationResult_Outcome) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationResult_Outcome.Descriptor instead. +func (EvaluationResult_Outcome) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 0} +} + +// The state of the evaluation result execution. +type EvaluationResult_ExecutionState int32 + +const ( + // Evaluation result execution state is not specified. + EvaluationResult_EXECUTION_STATE_UNSPECIFIED EvaluationResult_ExecutionState = 0 + // Evaluation result execution is running. + EvaluationResult_RUNNING EvaluationResult_ExecutionState = 1 + // Evaluation result execution has completed. + EvaluationResult_COMPLETED EvaluationResult_ExecutionState = 2 + // Evaluation result execution failed due to an internal error. + EvaluationResult_ERROR EvaluationResult_ExecutionState = 3 +) + +// Enum value maps for EvaluationResult_ExecutionState. +var ( + EvaluationResult_ExecutionState_name = map[int32]string{ + 0: "EXECUTION_STATE_UNSPECIFIED", + 1: "RUNNING", + 2: "COMPLETED", + 3: "ERROR", + } + EvaluationResult_ExecutionState_value = map[string]int32{ + "EXECUTION_STATE_UNSPECIFIED": 0, + "RUNNING": 1, + "COMPLETED": 2, + "ERROR": 3, + } +) + +func (x EvaluationResult_ExecutionState) Enum() *EvaluationResult_ExecutionState { + p := new(EvaluationResult_ExecutionState) + *p = x + return p +} + +func (x EvaluationResult_ExecutionState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationResult_ExecutionState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[3].Descriptor() +} + +func (EvaluationResult_ExecutionState) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[3] +} + +func (x EvaluationResult_ExecutionState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationResult_ExecutionState.Descriptor instead. +func (EvaluationResult_ExecutionState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 1} +} + +// The type of span. +// Additional values may be added in the future. +type EvaluationResult_SpanLatency_Type int32 + +const ( + // Default value. This value is unused. + EvaluationResult_SpanLatency_TYPE_UNSPECIFIED EvaluationResult_SpanLatency_Type = 0 + // Tool call span. + EvaluationResult_SpanLatency_TOOL EvaluationResult_SpanLatency_Type = 1 + // User callback span. + EvaluationResult_SpanLatency_USER_CALLBACK EvaluationResult_SpanLatency_Type = 2 + // Guardrail span. + EvaluationResult_SpanLatency_GUARDRAIL EvaluationResult_SpanLatency_Type = 3 + // LLM span. + EvaluationResult_SpanLatency_LLM EvaluationResult_SpanLatency_Type = 4 +) + +// Enum value maps for EvaluationResult_SpanLatency_Type. +var ( + EvaluationResult_SpanLatency_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "TOOL", + 2: "USER_CALLBACK", + 3: "GUARDRAIL", + 4: "LLM", + } + EvaluationResult_SpanLatency_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "TOOL": 1, + "USER_CALLBACK": 2, + "GUARDRAIL": 3, + "LLM": 4, + } +) + +func (x EvaluationResult_SpanLatency_Type) Enum() *EvaluationResult_SpanLatency_Type { + p := new(EvaluationResult_SpanLatency_Type) + *p = x + return p +} + +func (x EvaluationResult_SpanLatency_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationResult_SpanLatency_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[4].Descriptor() +} + +func (EvaluationResult_SpanLatency_Type) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[4] +} + +func (x EvaluationResult_SpanLatency_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationResult_SpanLatency_Type.Descriptor instead. +func (EvaluationResult_SpanLatency_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 6, 0} +} + +// The type of the evaluations in this run. +// Additional values may be added in the future. +type EvaluationRun_EvaluationType int32 + +const ( + // Evaluation type is not specified. + EvaluationRun_EVALUATION_TYPE_UNSPECIFIED EvaluationRun_EvaluationType = 0 + // Golden evaluation. + EvaluationRun_GOLDEN EvaluationRun_EvaluationType = 1 + // Scenario evaluation. + EvaluationRun_SCENARIO EvaluationRun_EvaluationType = 2 + // Indicates the run includes a mix of golden and scenario evaluations. + EvaluationRun_MIXED EvaluationRun_EvaluationType = 3 +) + +// Enum value maps for EvaluationRun_EvaluationType. +var ( + EvaluationRun_EvaluationType_name = map[int32]string{ + 0: "EVALUATION_TYPE_UNSPECIFIED", + 1: "GOLDEN", + 2: "SCENARIO", + 3: "MIXED", + } + EvaluationRun_EvaluationType_value = map[string]int32{ + "EVALUATION_TYPE_UNSPECIFIED": 0, + "GOLDEN": 1, + "SCENARIO": 2, + "MIXED": 3, + } +) + +func (x EvaluationRun_EvaluationType) Enum() *EvaluationRun_EvaluationType { + p := new(EvaluationRun_EvaluationType) + *p = x + return p +} + +func (x EvaluationRun_EvaluationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationRun_EvaluationType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[5].Descriptor() +} + +func (EvaluationRun_EvaluationType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[5] +} + +func (x EvaluationRun_EvaluationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationRun_EvaluationType.Descriptor instead. +func (EvaluationRun_EvaluationType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{4, 0} +} + +// The state of the evaluation run. +type EvaluationRun_EvaluationRunState int32 + +const ( + // Evaluation run state is not specified. + EvaluationRun_EVALUATION_RUN_STATE_UNSPECIFIED EvaluationRun_EvaluationRunState = 0 + // Evaluation run is running. + EvaluationRun_RUNNING EvaluationRun_EvaluationRunState = 1 + // Evaluation run has completed. + EvaluationRun_COMPLETED EvaluationRun_EvaluationRunState = 2 + // The evaluation run has an error. + EvaluationRun_ERROR EvaluationRun_EvaluationRunState = 3 +) + +// Enum value maps for EvaluationRun_EvaluationRunState. +var ( + EvaluationRun_EvaluationRunState_name = map[int32]string{ + 0: "EVALUATION_RUN_STATE_UNSPECIFIED", + 1: "RUNNING", + 2: "COMPLETED", + 3: "ERROR", + } + EvaluationRun_EvaluationRunState_value = map[string]int32{ + "EVALUATION_RUN_STATE_UNSPECIFIED": 0, + "RUNNING": 1, + "COMPLETED": 2, + "ERROR": 3, + } +) + +func (x EvaluationRun_EvaluationRunState) Enum() *EvaluationRun_EvaluationRunState { + p := new(EvaluationRun_EvaluationRunState) + *p = x + return p +} + +func (x EvaluationRun_EvaluationRunState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationRun_EvaluationRunState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[6].Descriptor() +} + +func (EvaluationRun_EvaluationRunState) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[6] +} + +func (x EvaluationRun_EvaluationRunState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationRun_EvaluationRunState.Descriptor instead. +func (EvaluationRun_EvaluationRunState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{4, 1} +} + +// The channel to evaluate. +type EvaluationConfig_EvaluationChannel int32 + +const ( + // Unspecified evaluation channel. + EvaluationConfig_EVALUATION_CHANNEL_UNSPECIFIED EvaluationConfig_EvaluationChannel = 0 + // Text-only evaluation channel. + EvaluationConfig_TEXT EvaluationConfig_EvaluationChannel = 1 + // Audio evaluation channel. + EvaluationConfig_AUDIO EvaluationConfig_EvaluationChannel = 2 +) + +// Enum value maps for EvaluationConfig_EvaluationChannel. +var ( + EvaluationConfig_EvaluationChannel_name = map[int32]string{ + 0: "EVALUATION_CHANNEL_UNSPECIFIED", + 1: "TEXT", + 2: "AUDIO", + } + EvaluationConfig_EvaluationChannel_value = map[string]int32{ + "EVALUATION_CHANNEL_UNSPECIFIED": 0, + "TEXT": 1, + "AUDIO": 2, + } +) + +func (x EvaluationConfig_EvaluationChannel) Enum() *EvaluationConfig_EvaluationChannel { + p := new(EvaluationConfig_EvaluationChannel) + *p = x + return p +} + +func (x EvaluationConfig_EvaluationChannel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationConfig_EvaluationChannel) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[7].Descriptor() +} + +func (EvaluationConfig_EvaluationChannel) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[7] +} + +func (x EvaluationConfig_EvaluationChannel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationConfig_EvaluationChannel.Descriptor instead. +func (EvaluationConfig_EvaluationChannel) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{7, 0} +} + +// The type of error +type EvaluationErrorInfo_ErrorType int32 + +const ( + // Unspecified error type. + EvaluationErrorInfo_ERROR_TYPE_UNSPECIFIED EvaluationErrorInfo_ErrorType = 0 + // Failure during runtime execution. + EvaluationErrorInfo_RUNTIME_FAILURE EvaluationErrorInfo_ErrorType = 1 + // Failure to retrieve conversation from CES Runtime. + EvaluationErrorInfo_CONVERSATION_RETRIEVAL_FAILURE EvaluationErrorInfo_ErrorType = 2 + // Failure to calculate a metric / outcome. + EvaluationErrorInfo_METRIC_CALCULATION_FAILURE EvaluationErrorInfo_ErrorType = 3 + // Failure to update the evaluation. + EvaluationErrorInfo_EVALUATION_UPDATE_FAILURE EvaluationErrorInfo_ErrorType = 4 + // Ran out of quota. + EvaluationErrorInfo_QUOTA_EXHAUSTED EvaluationErrorInfo_ErrorType = 5 + // Failure during user simulation. + EvaluationErrorInfo_USER_SIMULATION_FAILURE EvaluationErrorInfo_ErrorType = 6 +) + +// Enum value maps for EvaluationErrorInfo_ErrorType. +var ( + EvaluationErrorInfo_ErrorType_name = map[int32]string{ + 0: "ERROR_TYPE_UNSPECIFIED", + 1: "RUNTIME_FAILURE", + 2: "CONVERSATION_RETRIEVAL_FAILURE", + 3: "METRIC_CALCULATION_FAILURE", + 4: "EVALUATION_UPDATE_FAILURE", + 5: "QUOTA_EXHAUSTED", + 6: "USER_SIMULATION_FAILURE", + } + EvaluationErrorInfo_ErrorType_value = map[string]int32{ + "ERROR_TYPE_UNSPECIFIED": 0, + "RUNTIME_FAILURE": 1, + "CONVERSATION_RETRIEVAL_FAILURE": 2, + "METRIC_CALCULATION_FAILURE": 3, + "EVALUATION_UPDATE_FAILURE": 4, + "QUOTA_EXHAUSTED": 5, + "USER_SIMULATION_FAILURE": 6, + } +) + +func (x EvaluationErrorInfo_ErrorType) Enum() *EvaluationErrorInfo_ErrorType { + p := new(EvaluationErrorInfo_ErrorType) + *p = x + return p +} + +func (x EvaluationErrorInfo_ErrorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationErrorInfo_ErrorType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[8].Descriptor() +} + +func (EvaluationErrorInfo_ErrorType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[8] +} + +func (x EvaluationErrorInfo_ErrorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationErrorInfo_ErrorType.Descriptor instead. +func (EvaluationErrorInfo_ErrorType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{8, 0} +} + +// The frequencies evals can be run at +type ScheduledEvaluationRun_SchedulingConfig_Frequency int32 + +const ( + // The frequency is unspecified. + ScheduledEvaluationRun_SchedulingConfig_FREQUENCY_UNSPECIFIED ScheduledEvaluationRun_SchedulingConfig_Frequency = 0 + // Indicates a one-time scheduled run that should not repeat + ScheduledEvaluationRun_SchedulingConfig_NONE ScheduledEvaluationRun_SchedulingConfig_Frequency = 1 + // Run the evaluation daily. + ScheduledEvaluationRun_SchedulingConfig_DAILY ScheduledEvaluationRun_SchedulingConfig_Frequency = 2 + // Run the evaluation weekly. + ScheduledEvaluationRun_SchedulingConfig_WEEKLY ScheduledEvaluationRun_SchedulingConfig_Frequency = 3 + // Run the evaluation biweekly. + ScheduledEvaluationRun_SchedulingConfig_BIWEEKLY ScheduledEvaluationRun_SchedulingConfig_Frequency = 4 +) + +// Enum value maps for ScheduledEvaluationRun_SchedulingConfig_Frequency. +var ( + ScheduledEvaluationRun_SchedulingConfig_Frequency_name = map[int32]string{ + 0: "FREQUENCY_UNSPECIFIED", + 1: "NONE", + 2: "DAILY", + 3: "WEEKLY", + 4: "BIWEEKLY", + } + ScheduledEvaluationRun_SchedulingConfig_Frequency_value = map[string]int32{ + "FREQUENCY_UNSPECIFIED": 0, + "NONE": 1, + "DAILY": 2, + "WEEKLY": 3, + "BIWEEKLY": 4, + } +) + +func (x ScheduledEvaluationRun_SchedulingConfig_Frequency) Enum() *ScheduledEvaluationRun_SchedulingConfig_Frequency { + p := new(ScheduledEvaluationRun_SchedulingConfig_Frequency) + *p = x + return p +} + +func (x ScheduledEvaluationRun_SchedulingConfig_Frequency) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ScheduledEvaluationRun_SchedulingConfig_Frequency) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[9].Descriptor() +} + +func (ScheduledEvaluationRun_SchedulingConfig_Frequency) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[9] +} + +func (x ScheduledEvaluationRun_SchedulingConfig_Frequency) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ScheduledEvaluationRun_SchedulingConfig_Frequency.Descriptor instead. +func (ScheduledEvaluationRun_SchedulingConfig_Frequency) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{10, 0, 0} +} + +// The status of the optimization run. +type OptimizationConfig_OptimizationStatus int32 + +const ( + // Optimization status is not specified. + OptimizationConfig_OPTIMIZATION_STATUS_UNSPECIFIED OptimizationConfig_OptimizationStatus = 0 + // Optimization is running. + OptimizationConfig_RUNNING OptimizationConfig_OptimizationStatus = 1 + // Optimization has completed. + OptimizationConfig_COMPLETED OptimizationConfig_OptimizationStatus = 2 + // Optimization failed due to an internal error. + OptimizationConfig_ERROR OptimizationConfig_OptimizationStatus = 3 +) + +// Enum value maps for OptimizationConfig_OptimizationStatus. +var ( + OptimizationConfig_OptimizationStatus_name = map[int32]string{ + 0: "OPTIMIZATION_STATUS_UNSPECIFIED", + 1: "RUNNING", + 2: "COMPLETED", + 3: "ERROR", + } + OptimizationConfig_OptimizationStatus_value = map[string]int32{ + "OPTIMIZATION_STATUS_UNSPECIFIED": 0, + "RUNNING": 1, + "COMPLETED": 2, + "ERROR": 3, + } +) + +func (x OptimizationConfig_OptimizationStatus) Enum() *OptimizationConfig_OptimizationStatus { + p := new(OptimizationConfig_OptimizationStatus) + *p = x + return p +} + +func (x OptimizationConfig_OptimizationStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OptimizationConfig_OptimizationStatus) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[10].Descriptor() +} + +func (OptimizationConfig_OptimizationStatus) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_proto_enumTypes[10] +} + +func (x OptimizationConfig_OptimizationStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OptimizationConfig_OptimizationStatus.Descriptor instead. +func (OptimizationConfig_OptimizationStatus) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{12, 0} +} + +// Aggregated metrics for an evaluation or evaluation dataset. +type AggregatedMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Aggregated metrics, grouped by app version ID. + MetricsByAppVersion []*AggregatedMetrics_MetricsByAppVersion `protobuf:"bytes,3,rep,name=metrics_by_app_version,json=metricsByAppVersion,proto3" json:"metrics_by_app_version,omitempty"` +} + +func (x *AggregatedMetrics) Reset() { + *x = AggregatedMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0} +} + +func (x *AggregatedMetrics) GetMetricsByAppVersion() []*AggregatedMetrics_MetricsByAppVersion { + if x != nil { + return x.MetricsByAppVersion + } + return nil +} + +// An evaluation represents all of the information needed to simulate and +// evaluate an agent. +type Evaluation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The inputs for the evaluation + // + // Types that are assignable to Inputs: + // + // *Evaluation_Golden_ + // *Evaluation_Scenario_ + Inputs isEvaluation_Inputs `protobuf_oneof:"inputs"` + // Identifier. The unique identifier of this evaluation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User-defined display name of the evaluation. Unique within an + // App. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. User-defined description of the evaluation. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. User defined tags to categorize the evaluation. + Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` + // Output only. List of evaluation datasets the evaluation belongs to. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` + EvaluationDatasets []string `protobuf:"bytes,5,rep,name=evaluation_datasets,json=evaluationDatasets,proto3" json:"evaluation_datasets,omitempty"` + // Output only. Timestamp when the evaluation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The user who created the evaluation. + CreatedBy string `protobuf:"bytes,13,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + // Output only. Timestamp when the evaluation was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The user who last updated the evaluation. + LastUpdatedBy string `protobuf:"bytes,14,opt,name=last_updated_by,json=lastUpdatedBy,proto3" json:"last_updated_by,omitempty"` + // Output only. The EvaluationRuns that this Evaluation is associated with. + EvaluationRuns []string `protobuf:"bytes,15,rep,name=evaluation_runs,json=evaluationRuns,proto3" json:"evaluation_runs,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,10,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. The aggregated metrics for this evaluation across all runs. + AggregatedMetrics *AggregatedMetrics `protobuf:"bytes,16,opt,name=aggregated_metrics,json=aggregatedMetrics,proto3" json:"aggregated_metrics,omitempty"` + // Output only. The latest evaluation result for this evaluation. + LastCompletedResult *EvaluationResult `protobuf:"bytes,17,opt,name=last_completed_result,json=lastCompletedResult,proto3" json:"last_completed_result,omitempty"` + // Output only. Whether the evaluation is invalid. This can happen if an + // evaluation is referencing a tool, toolset, or agent that has since been + // deleted. + Invalid bool `protobuf:"varint,18,opt,name=invalid,proto3" json:"invalid,omitempty"` + // Output only. The last 10 evaluation results for this evaluation. This is + // only populated if include_last_ten_results is set to true in the + // ListEvaluationsRequest or GetEvaluationRequest. + LastTenResults []*EvaluationResult `protobuf:"bytes,19,rep,name=last_ten_results,json=lastTenResults,proto3" json:"last_ten_results,omitempty"` +} + +func (x *Evaluation) Reset() { + *x = Evaluation{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation) ProtoMessage() {} + +func (x *Evaluation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation.ProtoReflect.Descriptor instead. +func (*Evaluation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1} +} + +func (m *Evaluation) GetInputs() isEvaluation_Inputs { + if m != nil { + return m.Inputs + } + return nil +} + +func (x *Evaluation) GetGolden() *Evaluation_Golden { + if x, ok := x.GetInputs().(*Evaluation_Golden_); ok { + return x.Golden + } + return nil +} + +func (x *Evaluation) GetScenario() *Evaluation_Scenario { + if x, ok := x.GetInputs().(*Evaluation_Scenario_); ok { + return x.Scenario + } + return nil +} + +func (x *Evaluation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Evaluation) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Evaluation) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Evaluation) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Evaluation) GetEvaluationDatasets() []string { + if x != nil { + return x.EvaluationDatasets + } + return nil +} + +func (x *Evaluation) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Evaluation) GetCreatedBy() string { + if x != nil { + return x.CreatedBy + } + return "" +} + +func (x *Evaluation) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Evaluation) GetLastUpdatedBy() string { + if x != nil { + return x.LastUpdatedBy + } + return "" +} + +func (x *Evaluation) GetEvaluationRuns() []string { + if x != nil { + return x.EvaluationRuns + } + return nil +} + +func (x *Evaluation) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Evaluation) GetAggregatedMetrics() *AggregatedMetrics { + if x != nil { + return x.AggregatedMetrics + } + return nil +} + +func (x *Evaluation) GetLastCompletedResult() *EvaluationResult { + if x != nil { + return x.LastCompletedResult + } + return nil +} + +func (x *Evaluation) GetInvalid() bool { + if x != nil { + return x.Invalid + } + return false +} + +func (x *Evaluation) GetLastTenResults() []*EvaluationResult { + if x != nil { + return x.LastTenResults + } + return nil +} + +type isEvaluation_Inputs interface { + isEvaluation_Inputs() +} + +type Evaluation_Golden_ struct { + // Optional. The golden steps to be evaluated. + Golden *Evaluation_Golden `protobuf:"bytes,11,opt,name=golden,proto3,oneof"` +} + +type Evaluation_Scenario_ struct { + // Optional. The config for a scenario. + Scenario *Evaluation_Scenario `protobuf:"bytes,12,opt,name=scenario,proto3,oneof"` +} + +func (*Evaluation_Golden_) isEvaluation_Inputs() {} + +func (*Evaluation_Scenario_) isEvaluation_Inputs() {} + +// An evaluation dataset represents a set of evaluations that are grouped +// together basaed on shared tags. +type EvaluationDataset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of this evaluation dataset. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User-defined display name of the evaluation dataset. Unique + // within an App. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Evaluations that are included in this dataset. + Evaluations []string `protobuf:"bytes,3,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // Output only. Timestamp when the evaluation dataset was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the evaluation dataset was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. The user who created the evaluation dataset. + CreatedBy string `protobuf:"bytes,7,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + // Output only. The user who last updated the evaluation dataset. + LastUpdatedBy string `protobuf:"bytes,8,opt,name=last_updated_by,json=lastUpdatedBy,proto3" json:"last_updated_by,omitempty"` + // Output only. The aggregated metrics for this evaluation dataset across all + // runs. + AggregatedMetrics *AggregatedMetrics `protobuf:"bytes,9,opt,name=aggregated_metrics,json=aggregatedMetrics,proto3" json:"aggregated_metrics,omitempty"` +} + +func (x *EvaluationDataset) Reset() { + *x = EvaluationDataset{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationDataset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationDataset) ProtoMessage() {} + +func (x *EvaluationDataset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationDataset.ProtoReflect.Descriptor instead. +func (*EvaluationDataset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{2} +} + +func (x *EvaluationDataset) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EvaluationDataset) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationDataset) GetEvaluations() []string { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *EvaluationDataset) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EvaluationDataset) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *EvaluationDataset) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *EvaluationDataset) GetCreatedBy() string { + if x != nil { + return x.CreatedBy + } + return "" +} + +func (x *EvaluationDataset) GetLastUpdatedBy() string { + if x != nil { + return x.LastUpdatedBy + } + return "" +} + +func (x *EvaluationDataset) GetAggregatedMetrics() *AggregatedMetrics { + if x != nil { + return x.AggregatedMetrics + } + return nil +} + +// An evaluation result represents the output of running an Evaluation. +type EvaluationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the evaluation. Only populated when the execution_state is + // COMPLETED. + // + // Types that are assignable to Result: + // + // *EvaluationResult_GoldenResult_ + // *EvaluationResult_ScenarioResult_ + Result isEvaluationResult_Result `protobuf_oneof:"result"` + // Identifier. The unique identifier of the evaluation result. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the Evaluation Result. Unique within an + // Evaluation. By default, it has the following format: + // " result + // - ". + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Timestamp when the evaluation result was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The outcome of the evaluation. Only populated if + // execution_state is COMPLETE. + EvaluationStatus EvaluationResult_Outcome `protobuf:"varint,4,opt,name=evaluation_status,json=evaluationStatus,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"evaluation_status,omitempty"` + // Output only. The evaluation run that produced this result. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}` + EvaluationRun string `protobuf:"bytes,6,opt,name=evaluation_run,json=evaluationRun,proto3" json:"evaluation_run,omitempty"` + // Output only. The persona used to generate the conversation for the + // evaluation result. + Persona *EvaluationPersona `protobuf:"bytes,17,opt,name=persona,proto3" json:"persona,omitempty"` + // Output only. Error information for the evaluation result. + ErrorInfo *EvaluationErrorInfo `protobuf:"bytes,15,opt,name=error_info,json=errorInfo,proto3" json:"error_info,omitempty"` + // Output only. Deprecated: Use `error_info` instead. Errors encountered + // during execution. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + Error *status.Status `protobuf:"bytes,14,opt,name=error,proto3" json:"error,omitempty"` + // Output only. The user who initiated the evaluation run that resulted in + // this result. + InitiatedBy string `protobuf:"bytes,9,opt,name=initiated_by,json=initiatedBy,proto3" json:"initiated_by,omitempty"` + // Output only. The app version used to generate the conversation that + // resulted in this result. Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + AppVersion string `protobuf:"bytes,10,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` + // Output only. The display name of the `app_version` that the evaluation ran + // against. + AppVersionDisplayName string `protobuf:"bytes,13,opt,name=app_version_display_name,json=appVersionDisplayName,proto3" json:"app_version_display_name,omitempty"` + // Output only. The changelog of the app version that the evaluation ran + // against. This is populated if user runs evaluation on latest/draft. + Changelog string `protobuf:"bytes,21,opt,name=changelog,proto3" json:"changelog,omitempty"` + // Output only. The create time of the changelog of the app version that the + // evaluation ran against. This is populated if user runs evaluation on + // latest/draft. + ChangelogCreateTime *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=changelog_create_time,json=changelogCreateTime,proto3" json:"changelog_create_time,omitempty"` + // Output only. The state of the evaluation result execution. + ExecutionState EvaluationResult_ExecutionState `protobuf:"varint,11,opt,name=execution_state,json=executionState,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_ExecutionState" json:"execution_state,omitempty"` + // Output only. The evaluation thresholds for the result. + EvaluationMetricsThresholds *EvaluationMetricsThresholds `protobuf:"bytes,12,opt,name=evaluation_metrics_thresholds,json=evaluationMetricsThresholds,proto3" json:"evaluation_metrics_thresholds,omitempty"` + // Output only. The configuration used in the evaluation run that resulted in + // this result. + Config *EvaluationConfig `protobuf:"bytes,18,opt,name=config,proto3" json:"config,omitempty"` + // Output only. The method used to run the golden evaluation. + GoldenRunMethod GoldenRunMethod `protobuf:"varint,19,opt,name=golden_run_method,json=goldenRunMethod,proto3,enum=google.cloud.ces.v1beta.GoldenRunMethod" json:"golden_run_method,omitempty"` +} + +func (x *EvaluationResult) Reset() { + *x = EvaluationResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult) ProtoMessage() {} + +func (x *EvaluationResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3} +} + +func (m *EvaluationResult) GetResult() isEvaluationResult_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *EvaluationResult) GetGoldenResult() *EvaluationResult_GoldenResult { + if x, ok := x.GetResult().(*EvaluationResult_GoldenResult_); ok { + return x.GoldenResult + } + return nil +} + +func (x *EvaluationResult) GetScenarioResult() *EvaluationResult_ScenarioResult { + if x, ok := x.GetResult().(*EvaluationResult_ScenarioResult_); ok { + return x.ScenarioResult + } + return nil +} + +func (x *EvaluationResult) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EvaluationResult) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationResult) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EvaluationResult) GetEvaluationStatus() EvaluationResult_Outcome { + if x != nil { + return x.EvaluationStatus + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +func (x *EvaluationResult) GetEvaluationRun() string { + if x != nil { + return x.EvaluationRun + } + return "" +} + +func (x *EvaluationResult) GetPersona() *EvaluationPersona { + if x != nil { + return x.Persona + } + return nil +} + +func (x *EvaluationResult) GetErrorInfo() *EvaluationErrorInfo { + if x != nil { + return x.ErrorInfo + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationResult) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *EvaluationResult) GetInitiatedBy() string { + if x != nil { + return x.InitiatedBy + } + return "" +} + +func (x *EvaluationResult) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +func (x *EvaluationResult) GetAppVersionDisplayName() string { + if x != nil { + return x.AppVersionDisplayName + } + return "" +} + +func (x *EvaluationResult) GetChangelog() string { + if x != nil { + return x.Changelog + } + return "" +} + +func (x *EvaluationResult) GetChangelogCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.ChangelogCreateTime + } + return nil +} + +func (x *EvaluationResult) GetExecutionState() EvaluationResult_ExecutionState { + if x != nil { + return x.ExecutionState + } + return EvaluationResult_EXECUTION_STATE_UNSPECIFIED +} + +func (x *EvaluationResult) GetEvaluationMetricsThresholds() *EvaluationMetricsThresholds { + if x != nil { + return x.EvaluationMetricsThresholds + } + return nil +} + +func (x *EvaluationResult) GetConfig() *EvaluationConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *EvaluationResult) GetGoldenRunMethod() GoldenRunMethod { + if x != nil { + return x.GoldenRunMethod + } + return GoldenRunMethod_GOLDEN_RUN_METHOD_UNSPECIFIED +} + +type isEvaluationResult_Result interface { + isEvaluationResult_Result() +} + +type EvaluationResult_GoldenResult_ struct { + // Output only. The outcome of a golden evaluation. + GoldenResult *EvaluationResult_GoldenResult `protobuf:"bytes,7,opt,name=golden_result,json=goldenResult,proto3,oneof"` +} + +type EvaluationResult_ScenarioResult_ struct { + // Output only. The outcome of a scenario evaluation. + ScenarioResult *EvaluationResult_ScenarioResult `protobuf:"bytes,8,opt,name=scenario_result,json=scenarioResult,proto3,oneof"` +} + +func (*EvaluationResult_GoldenResult_) isEvaluationResult_Result() {} + +func (*EvaluationResult_ScenarioResult_) isEvaluationResult_Result() {} + +// An evaluation run represents an all the evaluation results from an +// evaluation execution. +type EvaluationRun struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the evaluation run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. User-defined display name of the evaluation run. + // default: " run - ". + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. The evaluation results that are part of this run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}` + EvaluationResults []string `protobuf:"bytes,3,rep,name=evaluation_results,json=evaluationResults,proto3" json:"evaluation_results,omitempty"` + // Output only. Timestamp when the evaluation run was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The user who initiated the evaluation run. + InitiatedBy string `protobuf:"bytes,5,opt,name=initiated_by,json=initiatedBy,proto3" json:"initiated_by,omitempty"` + // Output only. The app version to evaluate. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + AppVersion string `protobuf:"bytes,6,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` + // Output only. The display name of the `app_version` that the evaluation ran + // against. + AppVersionDisplayName string `protobuf:"bytes,13,opt,name=app_version_display_name,json=appVersionDisplayName,proto3" json:"app_version_display_name,omitempty"` + // Output only. The changelog of the app version that the evaluation ran + // against. This is populated if user runs evaluation on latest/draft. + Changelog string `protobuf:"bytes,22,opt,name=changelog,proto3" json:"changelog,omitempty"` + // Output only. The create time of the changelog of the app version that the + // evaluation ran against. This is populated if user runs evaluation on + // latest/draft. + ChangelogCreateTime *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=changelog_create_time,json=changelogCreateTime,proto3" json:"changelog_create_time,omitempty"` + // Output only. The evaluations that are part of this run. The list may + // contain evaluations of either type. This field is mutually exclusive with + // `evaluation_dataset`. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}` + Evaluations []string `protobuf:"bytes,7,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // Output only. The evaluation dataset that this run is associated with. This + // field is mutually exclusive with `evaluations`. Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` + EvaluationDataset string `protobuf:"bytes,8,opt,name=evaluation_dataset,json=evaluationDataset,proto3" json:"evaluation_dataset,omitempty"` + // Output only. The type of the evaluations in this run. + EvaluationType EvaluationRun_EvaluationType `protobuf:"varint,9,opt,name=evaluation_type,json=evaluationType,proto3,enum=google.cloud.ces.v1beta.EvaluationRun_EvaluationType" json:"evaluation_type,omitempty"` + // Output only. The state of the evaluation run. + State EvaluationRun_EvaluationRunState `protobuf:"varint,10,opt,name=state,proto3,enum=google.cloud.ces.v1beta.EvaluationRun_EvaluationRunState" json:"state,omitempty"` + // Output only. The progress of the evaluation run. + Progress *EvaluationRun_Progress `protobuf:"bytes,11,opt,name=progress,proto3" json:"progress,omitempty"` + // Output only. The configuration used in the run. + Config *EvaluationConfig `protobuf:"bytes,12,opt,name=config,proto3" json:"config,omitempty"` + // Output only. Deprecated: Use error_info instead. Errors encountered during + // execution. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + Error *status.Status `protobuf:"bytes,14,opt,name=error,proto3" json:"error,omitempty"` + // Output only. Error information for the evaluation run. + ErrorInfo *EvaluationErrorInfo `protobuf:"bytes,17,opt,name=error_info,json=errorInfo,proto3" json:"error_info,omitempty"` + // Output only. Map of evaluation name to EvaluationRunSummary. + EvaluationRunSummaries map[string]*EvaluationRun_EvaluationRunSummary `protobuf:"bytes,15,rep,name=evaluation_run_summaries,json=evaluationRunSummaries,proto3" json:"evaluation_run_summaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Latency report for the evaluation run. + LatencyReport *LatencyReport `protobuf:"bytes,25,opt,name=latency_report,json=latencyReport,proto3" json:"latency_report,omitempty"` + // Output only. The number of times the evaluations inside the run were run. + RunCount int32 `protobuf:"varint,16,opt,name=run_count,json=runCount,proto3" json:"run_count,omitempty"` + // Output only. The configuration to use for the run per persona. + PersonaRunConfigs []*PersonaRunConfig `protobuf:"bytes,18,rep,name=persona_run_configs,json=personaRunConfigs,proto3" json:"persona_run_configs,omitempty"` + // Optional. Configuration for running the optimization step after the + // evaluation run. If not set, the optimization step will not be run. + OptimizationConfig *OptimizationConfig `protobuf:"bytes,19,opt,name=optimization_config,json=optimizationConfig,proto3" json:"optimization_config,omitempty"` + // Output only. The scheduled evaluation run resource name that created this + // evaluation run. This field is only set if the evaluation run was created + // by a scheduled evaluation run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}` + ScheduledEvaluationRun string `protobuf:"bytes,20,opt,name=scheduled_evaluation_run,json=scheduledEvaluationRun,proto3" json:"scheduled_evaluation_run,omitempty"` + // Output only. The method used to run the evaluation. + GoldenRunMethod GoldenRunMethod `protobuf:"varint,21,opt,name=golden_run_method,json=goldenRunMethod,proto3,enum=google.cloud.ces.v1beta.GoldenRunMethod" json:"golden_run_method,omitempty"` +} + +func (x *EvaluationRun) Reset() { + *x = EvaluationRun{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationRun) ProtoMessage() {} + +func (x *EvaluationRun) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationRun.ProtoReflect.Descriptor instead. +func (*EvaluationRun) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{4} +} + +func (x *EvaluationRun) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EvaluationRun) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationRun) GetEvaluationResults() []string { + if x != nil { + return x.EvaluationResults + } + return nil +} + +func (x *EvaluationRun) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EvaluationRun) GetInitiatedBy() string { + if x != nil { + return x.InitiatedBy + } + return "" +} + +func (x *EvaluationRun) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +func (x *EvaluationRun) GetAppVersionDisplayName() string { + if x != nil { + return x.AppVersionDisplayName + } + return "" +} + +func (x *EvaluationRun) GetChangelog() string { + if x != nil { + return x.Changelog + } + return "" +} + +func (x *EvaluationRun) GetChangelogCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.ChangelogCreateTime + } + return nil +} + +func (x *EvaluationRun) GetEvaluations() []string { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *EvaluationRun) GetEvaluationDataset() string { + if x != nil { + return x.EvaluationDataset + } + return "" +} + +func (x *EvaluationRun) GetEvaluationType() EvaluationRun_EvaluationType { + if x != nil { + return x.EvaluationType + } + return EvaluationRun_EVALUATION_TYPE_UNSPECIFIED +} + +func (x *EvaluationRun) GetState() EvaluationRun_EvaluationRunState { + if x != nil { + return x.State + } + return EvaluationRun_EVALUATION_RUN_STATE_UNSPECIFIED +} + +func (x *EvaluationRun) GetProgress() *EvaluationRun_Progress { + if x != nil { + return x.Progress + } + return nil +} + +func (x *EvaluationRun) GetConfig() *EvaluationConfig { + if x != nil { + return x.Config + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationRun) GetError() *status.Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *EvaluationRun) GetErrorInfo() *EvaluationErrorInfo { + if x != nil { + return x.ErrorInfo + } + return nil +} + +func (x *EvaluationRun) GetEvaluationRunSummaries() map[string]*EvaluationRun_EvaluationRunSummary { + if x != nil { + return x.EvaluationRunSummaries + } + return nil +} + +func (x *EvaluationRun) GetLatencyReport() *LatencyReport { + if x != nil { + return x.LatencyReport + } + return nil +} + +func (x *EvaluationRun) GetRunCount() int32 { + if x != nil { + return x.RunCount + } + return 0 +} + +func (x *EvaluationRun) GetPersonaRunConfigs() []*PersonaRunConfig { + if x != nil { + return x.PersonaRunConfigs + } + return nil +} + +func (x *EvaluationRun) GetOptimizationConfig() *OptimizationConfig { + if x != nil { + return x.OptimizationConfig + } + return nil +} + +func (x *EvaluationRun) GetScheduledEvaluationRun() string { + if x != nil { + return x.ScheduledEvaluationRun + } + return "" +} + +func (x *EvaluationRun) GetGoldenRunMethod() GoldenRunMethod { + if x != nil { + return x.GoldenRunMethod + } + return GoldenRunMethod_GOLDEN_RUN_METHOD_UNSPECIFIED +} + +// Latency report for the evaluation run. +type LatencyReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Unordered list. Latency metrics for each tool. + ToolLatencies []*LatencyReport_ToolLatency `protobuf:"bytes,1,rep,name=tool_latencies,json=toolLatencies,proto3" json:"tool_latencies,omitempty"` + // Output only. Unordered list. Latency metrics for each callback. + CallbackLatencies []*LatencyReport_CallbackLatency `protobuf:"bytes,2,rep,name=callback_latencies,json=callbackLatencies,proto3" json:"callback_latencies,omitempty"` + // Output only. Unordered list. Latency metrics for each guardrail. + GuardrailLatencies []*LatencyReport_GuardrailLatency `protobuf:"bytes,3,rep,name=guardrail_latencies,json=guardrailLatencies,proto3" json:"guardrail_latencies,omitempty"` + // Output only. Unordered list. Latency metrics for each LLM call. + LlmCallLatencies []*LatencyReport_LlmCallLatency `protobuf:"bytes,4,rep,name=llm_call_latencies,json=llmCallLatencies,proto3" json:"llm_call_latencies,omitempty"` + // Output only. The total number of sessions considered in the latency report. + SessionCount int32 `protobuf:"varint,5,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"` +} + +func (x *LatencyReport) Reset() { + *x = LatencyReport{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport) ProtoMessage() {} + +func (x *LatencyReport) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport.ProtoReflect.Descriptor instead. +func (*LatencyReport) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5} +} + +func (x *LatencyReport) GetToolLatencies() []*LatencyReport_ToolLatency { + if x != nil { + return x.ToolLatencies + } + return nil +} + +func (x *LatencyReport) GetCallbackLatencies() []*LatencyReport_CallbackLatency { + if x != nil { + return x.CallbackLatencies + } + return nil +} + +func (x *LatencyReport) GetGuardrailLatencies() []*LatencyReport_GuardrailLatency { + if x != nil { + return x.GuardrailLatencies + } + return nil +} + +func (x *LatencyReport) GetLlmCallLatencies() []*LatencyReport_LlmCallLatency { + if x != nil { + return x.LlmCallLatencies + } + return nil +} + +func (x *LatencyReport) GetSessionCount() int32 { + if x != nil { + return x.SessionCount + } + return 0 +} + +// An evaluation expectation represents a specific criteria to evaluate against. +type EvaluationExpectation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The definition of the criteria used for evaluation. + // + // Types that are assignable to Criteria: + // + // *EvaluationExpectation_LlmCriteria_ + Criteria isEvaluationExpectation_Criteria `protobuf_oneof:"criteria"` + // Identifier. The unique identifier of this evaluation expectation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User-defined display name. Must be unique within the app. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. User-defined tags for expectations. Can be used to filter + // expectations. + Tags []string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"` + // Output only. Timestamp when the evaluation expectation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the evaluation expectation was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *EvaluationExpectation) Reset() { + *x = EvaluationExpectation{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationExpectation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationExpectation) ProtoMessage() {} + +func (x *EvaluationExpectation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationExpectation.ProtoReflect.Descriptor instead. +func (*EvaluationExpectation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{6} +} + +func (m *EvaluationExpectation) GetCriteria() isEvaluationExpectation_Criteria { + if m != nil { + return m.Criteria + } + return nil +} + +func (x *EvaluationExpectation) GetLlmCriteria() *EvaluationExpectation_LlmCriteria { + if x, ok := x.GetCriteria().(*EvaluationExpectation_LlmCriteria_); ok { + return x.LlmCriteria + } + return nil +} + +func (x *EvaluationExpectation) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EvaluationExpectation) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationExpectation) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *EvaluationExpectation) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EvaluationExpectation) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *EvaluationExpectation) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +type isEvaluationExpectation_Criteria interface { + isEvaluationExpectation_Criteria() +} + +type EvaluationExpectation_LlmCriteria_ struct { + // Optional. Evaluation criteria based on an LLM prompt. + LlmCriteria *EvaluationExpectation_LlmCriteria `protobuf:"bytes,3,opt,name=llm_criteria,json=llmCriteria,proto3,oneof"` +} + +func (*EvaluationExpectation_LlmCriteria_) isEvaluationExpectation_Criteria() {} + +// EvaluationConfig configures settings for running the evaluation. +type EvaluationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Configuration for processing the input audio. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + InputAudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=input_audio_config,json=inputAudioConfig,proto3" json:"input_audio_config,omitempty"` + // Optional. Configuration for generating the output audio. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,2,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` + // Optional. The channel to evaluate. + EvaluationChannel EvaluationConfig_EvaluationChannel `protobuf:"varint,3,opt,name=evaluation_channel,json=evaluationChannel,proto3,enum=google.cloud.ces.v1beta.EvaluationConfig_EvaluationChannel" json:"evaluation_channel,omitempty"` + // Optional. Specifies whether the evaluation should use real tool calls or + // fake tools. + ToolCallBehaviour EvaluationToolCallBehaviour `protobuf:"varint,4,opt,name=tool_call_behaviour,json=toolCallBehaviour,proto3,enum=google.cloud.ces.v1beta.EvaluationToolCallBehaviour" json:"tool_call_behaviour,omitempty"` +} + +func (x *EvaluationConfig) Reset() { + *x = EvaluationConfig{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationConfig) ProtoMessage() {} + +func (x *EvaluationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationConfig.ProtoReflect.Descriptor instead. +func (*EvaluationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{7} +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationConfig) GetInputAudioConfig() *InputAudioConfig { + if x != nil { + return x.InputAudioConfig + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationConfig) GetOutputAudioConfig() *OutputAudioConfig { + if x != nil { + return x.OutputAudioConfig + } + return nil +} + +func (x *EvaluationConfig) GetEvaluationChannel() EvaluationConfig_EvaluationChannel { + if x != nil { + return x.EvaluationChannel + } + return EvaluationConfig_EVALUATION_CHANNEL_UNSPECIFIED +} + +func (x *EvaluationConfig) GetToolCallBehaviour() EvaluationToolCallBehaviour { + if x != nil { + return x.ToolCallBehaviour + } + return EvaluationToolCallBehaviour_EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED +} + +// Information about an error encountered during an evaluation execution. +type EvaluationErrorInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The type of error. + ErrorType EvaluationErrorInfo_ErrorType `protobuf:"varint,1,opt,name=error_type,json=errorType,proto3,enum=google.cloud.ces.v1beta.EvaluationErrorInfo_ErrorType" json:"error_type,omitempty"` + // Output only. The error message. + ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Output only. The session ID for the conversation that caused the error. + SessionId string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` +} + +func (x *EvaluationErrorInfo) Reset() { + *x = EvaluationErrorInfo{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationErrorInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationErrorInfo) ProtoMessage() {} + +func (x *EvaluationErrorInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationErrorInfo.ProtoReflect.Descriptor instead. +func (*EvaluationErrorInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{8} +} + +func (x *EvaluationErrorInfo) GetErrorType() EvaluationErrorInfo_ErrorType { + if x != nil { + return x.ErrorType + } + return EvaluationErrorInfo_ERROR_TYPE_UNSPECIFIED +} + +func (x *EvaluationErrorInfo) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *EvaluationErrorInfo) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +// Request message for +// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation]. +type RunEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to evaluate. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` + // Optional. List of evaluations to run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}` + Evaluations []string `protobuf:"bytes,2,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // Optional. An evaluation dataset to run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` + EvaluationDataset string `protobuf:"bytes,3,opt,name=evaluation_dataset,json=evaluationDataset,proto3" json:"evaluation_dataset,omitempty"` + // Optional. The display name of the evaluation run. + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The app version to evaluate. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/versions/{version}` + AppVersion string `protobuf:"bytes,6,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"` + // Optional. The configuration to use for the run. + Config *EvaluationConfig `protobuf:"bytes,8,opt,name=config,proto3" json:"config,omitempty"` + // Optional. The number of times to run the evaluation. If not set, the + // default value is 1 per golden, and 5 per scenario. + RunCount *int32 `protobuf:"varint,9,opt,name=run_count,json=runCount,proto3,oneof" json:"run_count,omitempty"` + // Optional. The configuration to use for the run per persona. + PersonaRunConfigs []*PersonaRunConfig `protobuf:"bytes,10,rep,name=persona_run_configs,json=personaRunConfigs,proto3" json:"persona_run_configs,omitempty"` + // Optional. Configuration for running the optimization step after the + // evaluation run. If not set, the optimization step will not be run. + OptimizationConfig *OptimizationConfig `protobuf:"bytes,11,opt,name=optimization_config,json=optimizationConfig,proto3" json:"optimization_config,omitempty"` + // Optional. The resource name of the `ScheduledEvaluationRun` that is + // triggering this evaluation run. + // + // If this field is set, the `scheduled_evaluation_run` field on the created + // `EvaluationRun` resource will be populated from this value. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/scheduledEvaluationRuns/{scheduled_evaluation_run}` + ScheduledEvaluationRun string `protobuf:"bytes,12,opt,name=scheduled_evaluation_run,json=scheduledEvaluationRun,proto3" json:"scheduled_evaluation_run,omitempty"` + // Optional. The method to run the evaluation if it is a golden evaluation. If + // not set, default to STABLE. + GoldenRunMethod GoldenRunMethod `protobuf:"varint,13,opt,name=golden_run_method,json=goldenRunMethod,proto3,enum=google.cloud.ces.v1beta.GoldenRunMethod" json:"golden_run_method,omitempty"` + // Optional. Whether to generate a latency report for the evaluation run. + GenerateLatencyReport bool `protobuf:"varint,14,opt,name=generate_latency_report,json=generateLatencyReport,proto3" json:"generate_latency_report,omitempty"` +} + +func (x *RunEvaluationRequest) Reset() { + *x = RunEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunEvaluationRequest) ProtoMessage() {} + +func (x *RunEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunEvaluationRequest.ProtoReflect.Descriptor instead. +func (*RunEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{9} +} + +func (x *RunEvaluationRequest) GetApp() string { + if x != nil { + return x.App + } + return "" +} + +func (x *RunEvaluationRequest) GetEvaluations() []string { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *RunEvaluationRequest) GetEvaluationDataset() string { + if x != nil { + return x.EvaluationDataset + } + return "" +} + +func (x *RunEvaluationRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *RunEvaluationRequest) GetAppVersion() string { + if x != nil { + return x.AppVersion + } + return "" +} + +func (x *RunEvaluationRequest) GetConfig() *EvaluationConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *RunEvaluationRequest) GetRunCount() int32 { + if x != nil && x.RunCount != nil { + return *x.RunCount + } + return 0 +} + +func (x *RunEvaluationRequest) GetPersonaRunConfigs() []*PersonaRunConfig { + if x != nil { + return x.PersonaRunConfigs + } + return nil +} + +func (x *RunEvaluationRequest) GetOptimizationConfig() *OptimizationConfig { + if x != nil { + return x.OptimizationConfig + } + return nil +} + +func (x *RunEvaluationRequest) GetScheduledEvaluationRun() string { + if x != nil { + return x.ScheduledEvaluationRun + } + return "" +} + +func (x *RunEvaluationRequest) GetGoldenRunMethod() GoldenRunMethod { + if x != nil { + return x.GoldenRunMethod + } + return GoldenRunMethod_GOLDEN_RUN_METHOD_UNSPECIFIED +} + +func (x *RunEvaluationRequest) GetGenerateLatencyReport() bool { + if x != nil { + return x.GenerateLatencyReport + } + return false +} + +// Represents a scheduled evaluation run configuration. +type ScheduledEvaluationRun struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the scheduled evaluation run config. + // Format: + // projects/{projectId}/locations/{locationId}/apps/{appId}/scheduledEvaluationRuns/{scheduledEvaluationRunId} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. User-defined display name of the scheduled evaluation run config. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The RunEvaluationRequest to schedule + Request *RunEvaluationRequest `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` + // Optional. User-defined description of the scheduled evaluation run. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // Required. Configuration for the timing and frequency with which to execute + // the evaluations. + SchedulingConfig *ScheduledEvaluationRun_SchedulingConfig `protobuf:"bytes,5,opt,name=scheduling_config,json=schedulingConfig,proto3" json:"scheduling_config,omitempty"` + // Optional. Whether this config is active + Active bool `protobuf:"varint,6,opt,name=active,proto3" json:"active,omitempty"` + // Output only. The last successful EvaluationRun of this scheduled execution. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}` + LastCompletedRun string `protobuf:"bytes,7,opt,name=last_completed_run,json=lastCompletedRun,proto3" json:"last_completed_run,omitempty"` + // Output only. The total number of times this run has been executed + TotalExecutions int32 `protobuf:"varint,8,opt,name=total_executions,json=totalExecutions,proto3" json:"total_executions,omitempty"` + // Output only. The next time this is scheduled to execute + NextScheduledExecutionTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=next_scheduled_execution_time,json=nextScheduledExecutionTime,proto3" json:"next_scheduled_execution_time,omitempty"` + // Output only. Timestamp when the scheduled evaluation run was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The user who created the scheduled evaluation run. + CreatedBy string `protobuf:"bytes,11,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + // Output only. Timestamp when the evaluation was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The user who last updated the evaluation. + LastUpdatedBy string `protobuf:"bytes,13,opt,name=last_updated_by,json=lastUpdatedBy,proto3" json:"last_updated_by,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. If the etag is empty, the update will + // overwrite any concurrent changes. + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *ScheduledEvaluationRun) Reset() { + *x = ScheduledEvaluationRun{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduledEvaluationRun) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduledEvaluationRun) ProtoMessage() {} + +func (x *ScheduledEvaluationRun) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduledEvaluationRun.ProtoReflect.Descriptor instead. +func (*ScheduledEvaluationRun) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{10} +} + +func (x *ScheduledEvaluationRun) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ScheduledEvaluationRun) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ScheduledEvaluationRun) GetRequest() *RunEvaluationRequest { + if x != nil { + return x.Request + } + return nil +} + +func (x *ScheduledEvaluationRun) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ScheduledEvaluationRun) GetSchedulingConfig() *ScheduledEvaluationRun_SchedulingConfig { + if x != nil { + return x.SchedulingConfig + } + return nil +} + +func (x *ScheduledEvaluationRun) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *ScheduledEvaluationRun) GetLastCompletedRun() string { + if x != nil { + return x.LastCompletedRun + } + return "" +} + +func (x *ScheduledEvaluationRun) GetTotalExecutions() int32 { + if x != nil { + return x.TotalExecutions + } + return 0 +} + +func (x *ScheduledEvaluationRun) GetNextScheduledExecutionTime() *timestamppb.Timestamp { + if x != nil { + return x.NextScheduledExecutionTime + } + return nil +} + +func (x *ScheduledEvaluationRun) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ScheduledEvaluationRun) GetCreatedBy() string { + if x != nil { + return x.CreatedBy + } + return "" +} + +func (x *ScheduledEvaluationRun) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ScheduledEvaluationRun) GetLastUpdatedBy() string { + if x != nil { + return x.LastUpdatedBy + } + return "" +} + +func (x *ScheduledEvaluationRun) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Configuration for running an evaluation for a specific persona. +type PersonaRunConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The persona to use for the evaluation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationPersonas/{evaluationPersona}` + Persona string `protobuf:"bytes,1,opt,name=persona,proto3" json:"persona,omitempty"` + // Optional. The number of tasks to run for the persona. + TaskCount int32 `protobuf:"varint,2,opt,name=task_count,json=taskCount,proto3" json:"task_count,omitempty"` +} + +func (x *PersonaRunConfig) Reset() { + *x = PersonaRunConfig{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PersonaRunConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PersonaRunConfig) ProtoMessage() {} + +func (x *PersonaRunConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PersonaRunConfig.ProtoReflect.Descriptor instead. +func (*PersonaRunConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{11} +} + +func (x *PersonaRunConfig) GetPersona() string { + if x != nil { + return x.Persona + } + return "" +} + +func (x *PersonaRunConfig) GetTaskCount() int32 { + if x != nil { + return x.TaskCount + } + return 0 +} + +// Configuration for running the optimization step after the evaluation run. +type OptimizationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Whether to generate a loss report. + GenerateLossReport bool `protobuf:"varint,1,opt,name=generate_loss_report,json=generateLossReport,proto3" json:"generate_loss_report,omitempty"` + // Output only. The assistant session to use for the optimization based on + // this evaluation run. Format: + // `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}` + AssistantSession string `protobuf:"bytes,2,opt,name=assistant_session,json=assistantSession,proto3" json:"assistant_session,omitempty"` + // Output only. The summary of the loss report. + ReportSummary string `protobuf:"bytes,3,opt,name=report_summary,json=reportSummary,proto3" json:"report_summary,omitempty"` + // Output only. Whether to suggest a fix for the losses. + ShouldSuggestFix bool `protobuf:"varint,5,opt,name=should_suggest_fix,json=shouldSuggestFix,proto3" json:"should_suggest_fix,omitempty"` + // Output only. The status of the optimization run. + Status OptimizationConfig_OptimizationStatus `protobuf:"varint,4,opt,name=status,proto3,enum=google.cloud.ces.v1beta.OptimizationConfig_OptimizationStatus" json:"status,omitempty"` + // Output only. The error message if the optimization run failed. + ErrorMessage string `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // Output only. The generated loss report. + LossReport *structpb.Struct `protobuf:"bytes,7,opt,name=loss_report,json=lossReport,proto3" json:"loss_report,omitempty"` +} + +func (x *OptimizationConfig) Reset() { + *x = OptimizationConfig{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OptimizationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OptimizationConfig) ProtoMessage() {} + +func (x *OptimizationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OptimizationConfig.ProtoReflect.Descriptor instead. +func (*OptimizationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{12} +} + +func (x *OptimizationConfig) GetGenerateLossReport() bool { + if x != nil { + return x.GenerateLossReport + } + return false +} + +func (x *OptimizationConfig) GetAssistantSession() string { + if x != nil { + return x.AssistantSession + } + return "" +} + +func (x *OptimizationConfig) GetReportSummary() string { + if x != nil { + return x.ReportSummary + } + return "" +} + +func (x *OptimizationConfig) GetShouldSuggestFix() bool { + if x != nil { + return x.ShouldSuggestFix + } + return false +} + +func (x *OptimizationConfig) GetStatus() OptimizationConfig_OptimizationStatus { + if x != nil { + return x.Status + } + return OptimizationConfig_OPTIMIZATION_STATUS_UNSPECIFIED +} + +func (x *OptimizationConfig) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *OptimizationConfig) GetLossReport() *structpb.Struct { + if x != nil { + return x.LossReport + } + return nil +} + +// Metrics for a single tool. +type AggregatedMetrics_ToolMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the tool. + Tool string `protobuf:"bytes,1,opt,name=tool,proto3" json:"tool,omitempty"` + // Output only. The number of times the tool passed. + PassCount int32 `protobuf:"varint,2,opt,name=pass_count,json=passCount,proto3" json:"pass_count,omitempty"` + // Output only. The number of times the tool failed. + FailCount int32 `protobuf:"varint,3,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"` +} + +func (x *AggregatedMetrics_ToolMetrics) Reset() { + *x = AggregatedMetrics_ToolMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_ToolMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_ToolMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics_ToolMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_ToolMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_ToolMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AggregatedMetrics_ToolMetrics) GetTool() string { + if x != nil { + return x.Tool + } + return "" +} + +func (x *AggregatedMetrics_ToolMetrics) GetPassCount() int32 { + if x != nil { + return x.PassCount + } + return 0 +} + +func (x *AggregatedMetrics_ToolMetrics) GetFailCount() int32 { + if x != nil { + return x.FailCount + } + return 0 +} + +// Metrics for turn latency. +type AggregatedMetrics_TurnLatencyMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The average latency of the turns. + AverageLatency *durationpb.Duration `protobuf:"bytes,1,opt,name=average_latency,json=averageLatency,proto3" json:"average_latency,omitempty"` +} + +func (x *AggregatedMetrics_TurnLatencyMetrics) Reset() { + *x = AggregatedMetrics_TurnLatencyMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_TurnLatencyMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_TurnLatencyMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics_TurnLatencyMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_TurnLatencyMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_TurnLatencyMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *AggregatedMetrics_TurnLatencyMetrics) GetAverageLatency() *durationpb.Duration { + if x != nil { + return x.AverageLatency + } + return nil +} + +// Metrics for tool call latency. +type AggregatedMetrics_ToolCallLatencyMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the tool. + Tool string `protobuf:"bytes,1,opt,name=tool,proto3" json:"tool,omitempty"` + // Output only. The average latency of the tool calls. + AverageLatency *durationpb.Duration `protobuf:"bytes,2,opt,name=average_latency,json=averageLatency,proto3" json:"average_latency,omitempty"` +} + +func (x *AggregatedMetrics_ToolCallLatencyMetrics) Reset() { + *x = AggregatedMetrics_ToolCallLatencyMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_ToolCallLatencyMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_ToolCallLatencyMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics_ToolCallLatencyMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_ToolCallLatencyMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_ToolCallLatencyMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *AggregatedMetrics_ToolCallLatencyMetrics) GetTool() string { + if x != nil { + return x.Tool + } + return "" +} + +func (x *AggregatedMetrics_ToolCallLatencyMetrics) GetAverageLatency() *durationpb.Duration { + if x != nil { + return x.AverageLatency + } + return nil +} + +// Metrics for semantic similarity results. +type AggregatedMetrics_SemanticSimilarityMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The average semantic similarity score (0-4). + Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (x *AggregatedMetrics_SemanticSimilarityMetrics) Reset() { + *x = AggregatedMetrics_SemanticSimilarityMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_SemanticSimilarityMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_SemanticSimilarityMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics_SemanticSimilarityMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_SemanticSimilarityMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_SemanticSimilarityMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *AggregatedMetrics_SemanticSimilarityMetrics) GetScore() float32 { + if x != nil { + return x.Score + } + return 0 +} + +// Metrics for hallucination results. +type AggregatedMetrics_HallucinationMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The average hallucination score (0 to 1). + Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"` +} + +func (x *AggregatedMetrics_HallucinationMetrics) Reset() { + *x = AggregatedMetrics_HallucinationMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_HallucinationMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_HallucinationMetrics) ProtoMessage() {} + +func (x *AggregatedMetrics_HallucinationMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_HallucinationMetrics.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_HallucinationMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *AggregatedMetrics_HallucinationMetrics) GetScore() float32 { + if x != nil { + return x.Score + } + return 0 +} + +// Metrics aggregated per app version. +type AggregatedMetrics_MetricsByAppVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The app version ID. + AppVersionId string `protobuf:"bytes,1,opt,name=app_version_id,json=appVersionId,proto3" json:"app_version_id,omitempty"` + // Output only. Metrics for each tool within this app version. + ToolMetrics []*AggregatedMetrics_ToolMetrics `protobuf:"bytes,2,rep,name=tool_metrics,json=toolMetrics,proto3" json:"tool_metrics,omitempty"` + // Output only. Metrics for semantic similarity within this app version. + SemanticSimilarityMetrics []*AggregatedMetrics_SemanticSimilarityMetrics `protobuf:"bytes,3,rep,name=semantic_similarity_metrics,json=semanticSimilarityMetrics,proto3" json:"semantic_similarity_metrics,omitempty"` + // Output only. Metrics for hallucination within this app version. + HallucinationMetrics []*AggregatedMetrics_HallucinationMetrics `protobuf:"bytes,5,rep,name=hallucination_metrics,json=hallucinationMetrics,proto3" json:"hallucination_metrics,omitempty"` + // Output only. Metrics for tool call latency within this app version. + ToolCallLatencyMetrics []*AggregatedMetrics_ToolCallLatencyMetrics `protobuf:"bytes,6,rep,name=tool_call_latency_metrics,json=toolCallLatencyMetrics,proto3" json:"tool_call_latency_metrics,omitempty"` + // Output only. Metrics for turn latency within this app version. + TurnLatencyMetrics []*AggregatedMetrics_TurnLatencyMetrics `protobuf:"bytes,7,rep,name=turn_latency_metrics,json=turnLatencyMetrics,proto3" json:"turn_latency_metrics,omitempty"` + // Output only. The number of times the evaluation passed. + PassCount int32 `protobuf:"varint,8,opt,name=pass_count,json=passCount,proto3" json:"pass_count,omitempty"` + // Output only. The number of times the evaluation failed. + FailCount int32 `protobuf:"varint,9,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"` + // Output only. Metrics aggregated per turn within this app version. + MetricsByTurn []*AggregatedMetrics_MetricsByTurn `protobuf:"bytes,4,rep,name=metrics_by_turn,json=metricsByTurn,proto3" json:"metrics_by_turn,omitempty"` +} + +func (x *AggregatedMetrics_MetricsByAppVersion) Reset() { + *x = AggregatedMetrics_MetricsByAppVersion{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_MetricsByAppVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_MetricsByAppVersion) ProtoMessage() {} + +func (x *AggregatedMetrics_MetricsByAppVersion) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_MetricsByAppVersion.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_MetricsByAppVersion) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetAppVersionId() string { + if x != nil { + return x.AppVersionId + } + return "" +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetToolMetrics() []*AggregatedMetrics_ToolMetrics { + if x != nil { + return x.ToolMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetSemanticSimilarityMetrics() []*AggregatedMetrics_SemanticSimilarityMetrics { + if x != nil { + return x.SemanticSimilarityMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetHallucinationMetrics() []*AggregatedMetrics_HallucinationMetrics { + if x != nil { + return x.HallucinationMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetToolCallLatencyMetrics() []*AggregatedMetrics_ToolCallLatencyMetrics { + if x != nil { + return x.ToolCallLatencyMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetTurnLatencyMetrics() []*AggregatedMetrics_TurnLatencyMetrics { + if x != nil { + return x.TurnLatencyMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetPassCount() int32 { + if x != nil { + return x.PassCount + } + return 0 +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetFailCount() int32 { + if x != nil { + return x.FailCount + } + return 0 +} + +func (x *AggregatedMetrics_MetricsByAppVersion) GetMetricsByTurn() []*AggregatedMetrics_MetricsByTurn { + if x != nil { + return x.MetricsByTurn + } + return nil +} + +// Metrics aggregated per turn. +type AggregatedMetrics_MetricsByTurn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The turn index (0-based). + TurnIndex int32 `protobuf:"varint,1,opt,name=turn_index,json=turnIndex,proto3" json:"turn_index,omitempty"` + // Output only. Metrics for each tool within this turn. + ToolMetrics []*AggregatedMetrics_ToolMetrics `protobuf:"bytes,2,rep,name=tool_metrics,json=toolMetrics,proto3" json:"tool_metrics,omitempty"` + // Output only. Metrics for semantic similarity within this turn. + SemanticSimilarityMetrics []*AggregatedMetrics_SemanticSimilarityMetrics `protobuf:"bytes,3,rep,name=semantic_similarity_metrics,json=semanticSimilarityMetrics,proto3" json:"semantic_similarity_metrics,omitempty"` + // Output only. Metrics for hallucination within this turn. + HallucinationMetrics []*AggregatedMetrics_HallucinationMetrics `protobuf:"bytes,4,rep,name=hallucination_metrics,json=hallucinationMetrics,proto3" json:"hallucination_metrics,omitempty"` + // Output only. Metrics for tool call latency within this turn. + ToolCallLatencyMetrics []*AggregatedMetrics_ToolCallLatencyMetrics `protobuf:"bytes,5,rep,name=tool_call_latency_metrics,json=toolCallLatencyMetrics,proto3" json:"tool_call_latency_metrics,omitempty"` + // Output only. Metrics for turn latency within this turn. + TurnLatencyMetrics []*AggregatedMetrics_TurnLatencyMetrics `protobuf:"bytes,6,rep,name=turn_latency_metrics,json=turnLatencyMetrics,proto3" json:"turn_latency_metrics,omitempty"` +} + +func (x *AggregatedMetrics_MetricsByTurn) Reset() { + *x = AggregatedMetrics_MetricsByTurn{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AggregatedMetrics_MetricsByTurn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AggregatedMetrics_MetricsByTurn) ProtoMessage() {} + +func (x *AggregatedMetrics_MetricsByTurn) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AggregatedMetrics_MetricsByTurn.ProtoReflect.Descriptor instead. +func (*AggregatedMetrics_MetricsByTurn) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *AggregatedMetrics_MetricsByTurn) GetTurnIndex() int32 { + if x != nil { + return x.TurnIndex + } + return 0 +} + +func (x *AggregatedMetrics_MetricsByTurn) GetToolMetrics() []*AggregatedMetrics_ToolMetrics { + if x != nil { + return x.ToolMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByTurn) GetSemanticSimilarityMetrics() []*AggregatedMetrics_SemanticSimilarityMetrics { + if x != nil { + return x.SemanticSimilarityMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByTurn) GetHallucinationMetrics() []*AggregatedMetrics_HallucinationMetrics { + if x != nil { + return x.HallucinationMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByTurn) GetToolCallLatencyMetrics() []*AggregatedMetrics_ToolCallLatencyMetrics { + if x != nil { + return x.ToolCallLatencyMetrics + } + return nil +} + +func (x *AggregatedMetrics_MetricsByTurn) GetTurnLatencyMetrics() []*AggregatedMetrics_TurnLatencyMetrics { + if x != nil { + return x.TurnLatencyMetrics + } + return nil +} + +// Represents a single, checkable requirement. +type Evaluation_GoldenExpectation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The actual check to perform. + // + // Types that are assignable to Condition: + // + // *Evaluation_GoldenExpectation_ToolCall + // *Evaluation_GoldenExpectation_ToolResponse + // *Evaluation_GoldenExpectation_AgentResponse + // *Evaluation_GoldenExpectation_AgentTransfer + // *Evaluation_GoldenExpectation_UpdatedVariables + // *Evaluation_GoldenExpectation_MockToolResponse + Condition isEvaluation_GoldenExpectation_Condition `protobuf_oneof:"condition"` + // Optional. A note for this requirement, useful in reporting when specific + // checks fail. E.g., "Check_Payment_Tool_Called". + Note string `protobuf:"bytes,1,opt,name=note,proto3" json:"note,omitempty"` +} + +func (x *Evaluation_GoldenExpectation) Reset() { + *x = Evaluation_GoldenExpectation{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_GoldenExpectation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_GoldenExpectation) ProtoMessage() {} + +func (x *Evaluation_GoldenExpectation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_GoldenExpectation.ProtoReflect.Descriptor instead. +func (*Evaluation_GoldenExpectation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 0} +} + +func (m *Evaluation_GoldenExpectation) GetCondition() isEvaluation_GoldenExpectation_Condition { + if m != nil { + return m.Condition + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetToolCall() *ToolCall { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_ToolCall); ok { + return x.ToolCall + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetToolResponse() *ToolResponse { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_ToolResponse); ok { + return x.ToolResponse + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetAgentResponse() *Message { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_AgentResponse); ok { + return x.AgentResponse + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetAgentTransfer() *AgentTransfer { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_AgentTransfer); ok { + return x.AgentTransfer + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetUpdatedVariables() *structpb.Struct { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_UpdatedVariables); ok { + return x.UpdatedVariables + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetMockToolResponse() *ToolResponse { + if x, ok := x.GetCondition().(*Evaluation_GoldenExpectation_MockToolResponse); ok { + return x.MockToolResponse + } + return nil +} + +func (x *Evaluation_GoldenExpectation) GetNote() string { + if x != nil { + return x.Note + } + return "" +} + +type isEvaluation_GoldenExpectation_Condition interface { + isEvaluation_GoldenExpectation_Condition() +} + +type Evaluation_GoldenExpectation_ToolCall struct { + // Optional. Check that a specific tool was called with the parameters. + ToolCall *ToolCall `protobuf:"bytes,2,opt,name=tool_call,json=toolCall,proto3,oneof"` +} + +type Evaluation_GoldenExpectation_ToolResponse struct { + // Optional. Check that a specific tool had the expected response. + ToolResponse *ToolResponse `protobuf:"bytes,3,opt,name=tool_response,json=toolResponse,proto3,oneof"` +} + +type Evaluation_GoldenExpectation_AgentResponse struct { + // Optional. Check that the agent responded with the correct response. The + // role "agent" is implied. + AgentResponse *Message `protobuf:"bytes,4,opt,name=agent_response,json=agentResponse,proto3,oneof"` +} + +type Evaluation_GoldenExpectation_AgentTransfer struct { + // Optional. Check that the agent transferred the conversation to a + // different agent. + AgentTransfer *AgentTransfer `protobuf:"bytes,5,opt,name=agent_transfer,json=agentTransfer,proto3,oneof"` +} + +type Evaluation_GoldenExpectation_UpdatedVariables struct { + // Optional. Check that the agent updated the session variables to the + // expected values. Used to also capture agent variable updates for golden + // evals. + UpdatedVariables *structpb.Struct `protobuf:"bytes,6,opt,name=updated_variables,json=updatedVariables,proto3,oneof"` +} + +type Evaluation_GoldenExpectation_MockToolResponse struct { + // Optional. The tool response to mock, with the parameters of interest + // specified. Any parameters not specified will be hallucinated by the + // LLM. + MockToolResponse *ToolResponse `protobuf:"bytes,7,opt,name=mock_tool_response,json=mockToolResponse,proto3,oneof"` +} + +func (*Evaluation_GoldenExpectation_ToolCall) isEvaluation_GoldenExpectation_Condition() {} + +func (*Evaluation_GoldenExpectation_ToolResponse) isEvaluation_GoldenExpectation_Condition() {} + +func (*Evaluation_GoldenExpectation_AgentResponse) isEvaluation_GoldenExpectation_Condition() {} + +func (*Evaluation_GoldenExpectation_AgentTransfer) isEvaluation_GoldenExpectation_Condition() {} + +func (*Evaluation_GoldenExpectation_UpdatedVariables) isEvaluation_GoldenExpectation_Condition() {} + +func (*Evaluation_GoldenExpectation_MockToolResponse) isEvaluation_GoldenExpectation_Condition() {} + +// A step defines a singular action to happen during the evaluation. +type Evaluation_Step struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The step to perform. + // + // Types that are assignable to Step: + // + // *Evaluation_Step_UserInput + // *Evaluation_Step_AgentTransfer + // *Evaluation_Step_Expectation + Step isEvaluation_Step_Step `protobuf_oneof:"step"` +} + +func (x *Evaluation_Step) Reset() { + *x = Evaluation_Step{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_Step) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_Step) ProtoMessage() {} + +func (x *Evaluation_Step) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_Step.ProtoReflect.Descriptor instead. +func (*Evaluation_Step) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 1} +} + +func (m *Evaluation_Step) GetStep() isEvaluation_Step_Step { + if m != nil { + return m.Step + } + return nil +} + +func (x *Evaluation_Step) GetUserInput() *SessionInput { + if x, ok := x.GetStep().(*Evaluation_Step_UserInput); ok { + return x.UserInput + } + return nil +} + +func (x *Evaluation_Step) GetAgentTransfer() *AgentTransfer { + if x, ok := x.GetStep().(*Evaluation_Step_AgentTransfer); ok { + return x.AgentTransfer + } + return nil +} + +func (x *Evaluation_Step) GetExpectation() *Evaluation_GoldenExpectation { + if x, ok := x.GetStep().(*Evaluation_Step_Expectation); ok { + return x.Expectation + } + return nil +} + +type isEvaluation_Step_Step interface { + isEvaluation_Step_Step() +} + +type Evaluation_Step_UserInput struct { + // Optional. User input for the conversation. + UserInput *SessionInput `protobuf:"bytes,1,opt,name=user_input,json=userInput,proto3,oneof"` +} + +type Evaluation_Step_AgentTransfer struct { + // Optional. Transfer the conversation to a different agent. + AgentTransfer *AgentTransfer `protobuf:"bytes,2,opt,name=agent_transfer,json=agentTransfer,proto3,oneof"` +} + +type Evaluation_Step_Expectation struct { + // Optional. Executes an expectation on the current turn. + Expectation *Evaluation_GoldenExpectation `protobuf:"bytes,3,opt,name=expectation,proto3,oneof"` +} + +func (*Evaluation_Step_UserInput) isEvaluation_Step_Step() {} + +func (*Evaluation_Step_AgentTransfer) isEvaluation_Step_Step() {} + +func (*Evaluation_Step_Expectation) isEvaluation_Step_Step() {} + +// A golden turn defines a single turn in a golden conversation. +type Evaluation_GoldenTurn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The steps required to replay a golden conversation. + Steps []*Evaluation_Step `protobuf:"bytes,1,rep,name=steps,proto3" json:"steps,omitempty"` + // Optional. The root span of the golden turn for processing and maintaining + // audio information. + RootSpan *Span `protobuf:"bytes,2,opt,name=root_span,json=rootSpan,proto3" json:"root_span,omitempty"` +} + +func (x *Evaluation_GoldenTurn) Reset() { + *x = Evaluation_GoldenTurn{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_GoldenTurn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_GoldenTurn) ProtoMessage() {} + +func (x *Evaluation_GoldenTurn) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_GoldenTurn.ProtoReflect.Descriptor instead. +func (*Evaluation_GoldenTurn) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *Evaluation_GoldenTurn) GetSteps() []*Evaluation_Step { + if x != nil { + return x.Steps + } + return nil +} + +func (x *Evaluation_GoldenTurn) GetRootSpan() *Span { + if x != nil { + return x.RootSpan + } + return nil +} + +// The steps required to replay a golden conversation. +type Evaluation_Golden struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The golden turns required to replay a golden conversation. + Turns []*Evaluation_GoldenTurn `protobuf:"bytes,2,rep,name=turns,proto3" json:"turns,omitempty"` + // Optional. The evaluation expectations to evaluate the replayed + // conversation against. Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}` + EvaluationExpectations []string `protobuf:"bytes,3,rep,name=evaluation_expectations,json=evaluationExpectations,proto3" json:"evaluation_expectations,omitempty"` +} + +func (x *Evaluation_Golden) Reset() { + *x = Evaluation_Golden{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_Golden) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_Golden) ProtoMessage() {} + +func (x *Evaluation_Golden) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_Golden.ProtoReflect.Descriptor instead. +func (*Evaluation_Golden) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *Evaluation_Golden) GetTurns() []*Evaluation_GoldenTurn { + if x != nil { + return x.Turns + } + return nil +} + +func (x *Evaluation_Golden) GetEvaluationExpectations() []string { + if x != nil { + return x.EvaluationExpectations + } + return nil +} + +// The expectation to evaluate the conversation produced by the simulation. +type Evaluation_ScenarioExpectation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The expectation to evaluate the conversation produced by the simulation. + // + // Types that are assignable to Expectation: + // + // *Evaluation_ScenarioExpectation_ToolExpectation_ + // *Evaluation_ScenarioExpectation_AgentResponse + Expectation isEvaluation_ScenarioExpectation_Expectation `protobuf_oneof:"expectation"` +} + +func (x *Evaluation_ScenarioExpectation) Reset() { + *x = Evaluation_ScenarioExpectation{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_ScenarioExpectation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_ScenarioExpectation) ProtoMessage() {} + +func (x *Evaluation_ScenarioExpectation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_ScenarioExpectation.ProtoReflect.Descriptor instead. +func (*Evaluation_ScenarioExpectation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 4} +} + +func (m *Evaluation_ScenarioExpectation) GetExpectation() isEvaluation_ScenarioExpectation_Expectation { + if m != nil { + return m.Expectation + } + return nil +} + +func (x *Evaluation_ScenarioExpectation) GetToolExpectation() *Evaluation_ScenarioExpectation_ToolExpectation { + if x, ok := x.GetExpectation().(*Evaluation_ScenarioExpectation_ToolExpectation_); ok { + return x.ToolExpectation + } + return nil +} + +func (x *Evaluation_ScenarioExpectation) GetAgentResponse() *Message { + if x, ok := x.GetExpectation().(*Evaluation_ScenarioExpectation_AgentResponse); ok { + return x.AgentResponse + } + return nil +} + +type isEvaluation_ScenarioExpectation_Expectation interface { + isEvaluation_ScenarioExpectation_Expectation() +} + +type Evaluation_ScenarioExpectation_ToolExpectation_ struct { + // Optional. The tool call and response pair to be evaluated. + ToolExpectation *Evaluation_ScenarioExpectation_ToolExpectation `protobuf:"bytes,1,opt,name=tool_expectation,json=toolExpectation,proto3,oneof"` +} + +type Evaluation_ScenarioExpectation_AgentResponse struct { + // Optional. The agent response to be evaluated. + AgentResponse *Message `protobuf:"bytes,2,opt,name=agent_response,json=agentResponse,proto3,oneof"` +} + +func (*Evaluation_ScenarioExpectation_ToolExpectation_) isEvaluation_ScenarioExpectation_Expectation() { +} + +func (*Evaluation_ScenarioExpectation_AgentResponse) isEvaluation_ScenarioExpectation_Expectation() {} + +// The config for a scenario +type Evaluation_Scenario struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The task to be targeted by the scenario. + Task string `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` + // Optional. The user facts to be used by the scenario. + UserFacts []*Evaluation_Scenario_UserFact `protobuf:"bytes,4,rep,name=user_facts,json=userFacts,proto3" json:"user_facts,omitempty"` + // Optional. The maximum number of turns to simulate. If not specified, the + // simulation will continue until the task is complete. + MaxTurns int32 `protobuf:"varint,5,opt,name=max_turns,json=maxTurns,proto3" json:"max_turns,omitempty"` + // Required. The rubrics to score the scenario against. + Rubrics []string `protobuf:"bytes,2,rep,name=rubrics,proto3" json:"rubrics,omitempty"` + // Required. The ScenarioExpectations to evaluate the conversation produced + // by the user simulation. + ScenarioExpectations []*Evaluation_ScenarioExpectation `protobuf:"bytes,3,rep,name=scenario_expectations,json=scenarioExpectations,proto3" json:"scenario_expectations,omitempty"` + // Optional. Variables / Session Parameters as context for the session, + // keyed by variable names. Members of this struct will override any default + // values set by the system. + // + // Note, these are different from user facts, which are facts known to the + // user. Variables are parameters known to the agent: i.e. MDN (phone + // number) passed by the telephony system. + VariableOverrides *structpb.Struct `protobuf:"bytes,6,opt,name=variable_overrides,json=variableOverrides,proto3" json:"variable_overrides,omitempty"` + // Optional. Deprecated. Use user_goal_behavior instead. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + TaskCompletionBehavior Evaluation_Scenario_TaskCompletionBehavior `protobuf:"varint,7,opt,name=task_completion_behavior,json=taskCompletionBehavior,proto3,enum=google.cloud.ces.v1beta.Evaluation_Scenario_TaskCompletionBehavior" json:"task_completion_behavior,omitempty"` + // Optional. The expected behavior of the user goal. + UserGoalBehavior Evaluation_Scenario_UserGoalBehavior `protobuf:"varint,8,opt,name=user_goal_behavior,json=userGoalBehavior,proto3,enum=google.cloud.ces.v1beta.Evaluation_Scenario_UserGoalBehavior" json:"user_goal_behavior,omitempty"` + // Optional. The evaluation expectations to evaluate the conversation + // produced by the simulation against. Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluationExpectation}` + EvaluationExpectations []string `protobuf:"bytes,10,rep,name=evaluation_expectations,json=evaluationExpectations,proto3" json:"evaluation_expectations,omitempty"` +} + +func (x *Evaluation_Scenario) Reset() { + *x = Evaluation_Scenario{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_Scenario) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_Scenario) ProtoMessage() {} + +func (x *Evaluation_Scenario) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_Scenario.ProtoReflect.Descriptor instead. +func (*Evaluation_Scenario) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 5} +} + +func (x *Evaluation_Scenario) GetTask() string { + if x != nil { + return x.Task + } + return "" +} + +func (x *Evaluation_Scenario) GetUserFacts() []*Evaluation_Scenario_UserFact { + if x != nil { + return x.UserFacts + } + return nil +} + +func (x *Evaluation_Scenario) GetMaxTurns() int32 { + if x != nil { + return x.MaxTurns + } + return 0 +} + +func (x *Evaluation_Scenario) GetRubrics() []string { + if x != nil { + return x.Rubrics + } + return nil +} + +func (x *Evaluation_Scenario) GetScenarioExpectations() []*Evaluation_ScenarioExpectation { + if x != nil { + return x.ScenarioExpectations + } + return nil +} + +func (x *Evaluation_Scenario) GetVariableOverrides() *structpb.Struct { + if x != nil { + return x.VariableOverrides + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *Evaluation_Scenario) GetTaskCompletionBehavior() Evaluation_Scenario_TaskCompletionBehavior { + if x != nil { + return x.TaskCompletionBehavior + } + return Evaluation_Scenario_TASK_COMPLETION_BEHAVIOR_UNSPECIFIED +} + +func (x *Evaluation_Scenario) GetUserGoalBehavior() Evaluation_Scenario_UserGoalBehavior { + if x != nil { + return x.UserGoalBehavior + } + return Evaluation_Scenario_USER_GOAL_BEHAVIOR_UNSPECIFIED +} + +func (x *Evaluation_Scenario) GetEvaluationExpectations() []string { + if x != nil { + return x.EvaluationExpectations + } + return nil +} + +// The tool call and response pair to be evaluated. +type Evaluation_ScenarioExpectation_ToolExpectation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The expected tool call, with the parameters of interest + // specified. Any parameters not specified will be hallucinated by the + // LLM. + ExpectedToolCall *ToolCall `protobuf:"bytes,1,opt,name=expected_tool_call,json=expectedToolCall,proto3" json:"expected_tool_call,omitempty"` + // Required. The tool response to mock, with the parameters of interest + // specified. Any parameters not specified will be hallucinated by the + // LLM. + MockToolResponse *ToolResponse `protobuf:"bytes,2,opt,name=mock_tool_response,json=mockToolResponse,proto3" json:"mock_tool_response,omitempty"` +} + +func (x *Evaluation_ScenarioExpectation_ToolExpectation) Reset() { + *x = Evaluation_ScenarioExpectation_ToolExpectation{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_ScenarioExpectation_ToolExpectation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_ScenarioExpectation_ToolExpectation) ProtoMessage() {} + +func (x *Evaluation_ScenarioExpectation_ToolExpectation) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_ScenarioExpectation_ToolExpectation.ProtoReflect.Descriptor instead. +func (*Evaluation_ScenarioExpectation_ToolExpectation) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 4, 0} +} + +func (x *Evaluation_ScenarioExpectation_ToolExpectation) GetExpectedToolCall() *ToolCall { + if x != nil { + return x.ExpectedToolCall + } + return nil +} + +func (x *Evaluation_ScenarioExpectation_ToolExpectation) GetMockToolResponse() *ToolResponse { + if x != nil { + return x.MockToolResponse + } + return nil +} + +// Facts about the user as a key value pair. +type Evaluation_Scenario_UserFact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the user fact. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The value of the user fact. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Evaluation_Scenario_UserFact) Reset() { + *x = Evaluation_Scenario_UserFact{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Evaluation_Scenario_UserFact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Evaluation_Scenario_UserFact) ProtoMessage() {} + +func (x *Evaluation_Scenario_UserFact) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Evaluation_Scenario_UserFact.ProtoReflect.Descriptor instead. +func (*Evaluation_Scenario_UserFact) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{1, 5, 0} +} + +func (x *Evaluation_Scenario_UserFact) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Evaluation_Scenario_UserFact) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// Specifies the expectation and the result of that expectation. +type EvaluationResult_GoldenExpectationOutcome struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the expectation. + // + // Types that are assignable to Result: + // + // *EvaluationResult_GoldenExpectationOutcome_ObservedToolCall + // *EvaluationResult_GoldenExpectationOutcome_ObservedToolResponse + // *EvaluationResult_GoldenExpectationOutcome_ObservedAgentResponse + // *EvaluationResult_GoldenExpectationOutcome_ObservedAgentTransfer + Result isEvaluationResult_GoldenExpectationOutcome_Result `protobuf_oneof:"result"` + // Output only. The expectation that was evaluated. + Expectation *Evaluation_GoldenExpectation `protobuf:"bytes,1,opt,name=expectation,proto3" json:"expectation,omitempty"` + // Output only. The outcome of the expectation. + Outcome EvaluationResult_Outcome `protobuf:"varint,6,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` + // Output only. The result of the semantic similarity check. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + SemanticSimilarityResult *EvaluationResult_SemanticSimilarityResult `protobuf:"bytes,7,opt,name=semantic_similarity_result,json=semanticSimilarityResult,proto3" json:"semantic_similarity_result,omitempty"` + // Output only. The result of the tool invocation check. + ToolInvocationResult *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult `protobuf:"bytes,8,opt,name=tool_invocation_result,json=toolInvocationResult,proto3" json:"tool_invocation_result,omitempty"` +} + +func (x *EvaluationResult_GoldenExpectationOutcome) Reset() { + *x = EvaluationResult_GoldenExpectationOutcome{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_GoldenExpectationOutcome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_GoldenExpectationOutcome) ProtoMessage() {} + +func (x *EvaluationResult_GoldenExpectationOutcome) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_GoldenExpectationOutcome.ProtoReflect.Descriptor instead. +func (*EvaluationResult_GoldenExpectationOutcome) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 0} +} + +func (m *EvaluationResult_GoldenExpectationOutcome) GetResult() isEvaluationResult_GoldenExpectationOutcome_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetObservedToolCall() *ToolCall { + if x, ok := x.GetResult().(*EvaluationResult_GoldenExpectationOutcome_ObservedToolCall); ok { + return x.ObservedToolCall + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetObservedToolResponse() *ToolResponse { + if x, ok := x.GetResult().(*EvaluationResult_GoldenExpectationOutcome_ObservedToolResponse); ok { + return x.ObservedToolResponse + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetObservedAgentResponse() *Message { + if x, ok := x.GetResult().(*EvaluationResult_GoldenExpectationOutcome_ObservedAgentResponse); ok { + return x.ObservedAgentResponse + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetObservedAgentTransfer() *AgentTransfer { + if x, ok := x.GetResult().(*EvaluationResult_GoldenExpectationOutcome_ObservedAgentTransfer); ok { + return x.ObservedAgentTransfer + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetExpectation() *Evaluation_GoldenExpectation { + if x != nil { + return x.Expectation + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationResult_GoldenExpectationOutcome) GetSemanticSimilarityResult() *EvaluationResult_SemanticSimilarityResult { + if x != nil { + return x.SemanticSimilarityResult + } + return nil +} + +func (x *EvaluationResult_GoldenExpectationOutcome) GetToolInvocationResult() *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult { + if x != nil { + return x.ToolInvocationResult + } + return nil +} + +type isEvaluationResult_GoldenExpectationOutcome_Result interface { + isEvaluationResult_GoldenExpectationOutcome_Result() +} + +type EvaluationResult_GoldenExpectationOutcome_ObservedToolCall struct { + // Output only. The result of the tool call expectation. + ObservedToolCall *ToolCall `protobuf:"bytes,2,opt,name=observed_tool_call,json=observedToolCall,proto3,oneof"` +} + +type EvaluationResult_GoldenExpectationOutcome_ObservedToolResponse struct { + // Output only. The result of the tool response expectation. + ObservedToolResponse *ToolResponse `protobuf:"bytes,3,opt,name=observed_tool_response,json=observedToolResponse,proto3,oneof"` +} + +type EvaluationResult_GoldenExpectationOutcome_ObservedAgentResponse struct { + // Output only. The result of the agent response expectation. + ObservedAgentResponse *Message `protobuf:"bytes,4,opt,name=observed_agent_response,json=observedAgentResponse,proto3,oneof"` +} + +type EvaluationResult_GoldenExpectationOutcome_ObservedAgentTransfer struct { + // Output only. The result of the agent transfer expectation. + ObservedAgentTransfer *AgentTransfer `protobuf:"bytes,5,opt,name=observed_agent_transfer,json=observedAgentTransfer,proto3,oneof"` +} + +func (*EvaluationResult_GoldenExpectationOutcome_ObservedToolCall) isEvaluationResult_GoldenExpectationOutcome_Result() { +} + +func (*EvaluationResult_GoldenExpectationOutcome_ObservedToolResponse) isEvaluationResult_GoldenExpectationOutcome_Result() { +} + +func (*EvaluationResult_GoldenExpectationOutcome_ObservedAgentResponse) isEvaluationResult_GoldenExpectationOutcome_Result() { +} + +func (*EvaluationResult_GoldenExpectationOutcome_ObservedAgentTransfer) isEvaluationResult_GoldenExpectationOutcome_Result() { +} + +// The result of a single evaluation expectation. +type EvaluationResult_EvaluationExpectationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The evaluation expectation. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationExpectations/{evaluation_expectation}` + EvaluationExpectation string `protobuf:"bytes,1,opt,name=evaluation_expectation,json=evaluationExpectation,proto3" json:"evaluation_expectation,omitempty"` + // Output only. The prompt that was used for the evaluation. + Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt,omitempty"` + // Output only. The outcome of the evaluation expectation. + Outcome EvaluationResult_Outcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` + // Output only. The explanation for the result. + Explanation string `protobuf:"bytes,4,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluationResult_EvaluationExpectationResult) Reset() { + *x = EvaluationResult_EvaluationExpectationResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_EvaluationExpectationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_EvaluationExpectationResult) ProtoMessage() {} + +func (x *EvaluationResult_EvaluationExpectationResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_EvaluationExpectationResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_EvaluationExpectationResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 1} +} + +func (x *EvaluationResult_EvaluationExpectationResult) GetEvaluationExpectation() string { + if x != nil { + return x.EvaluationExpectation + } + return "" +} + +func (x *EvaluationResult_EvaluationExpectationResult) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +func (x *EvaluationResult_EvaluationExpectationResult) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +func (x *EvaluationResult_EvaluationExpectationResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +// The result of a golden evaluation. +type EvaluationResult_GoldenResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The result of running each turn of the golden conversation. + TurnReplayResults []*EvaluationResult_GoldenResult_TurnReplayResult `protobuf:"bytes,1,rep,name=turn_replay_results,json=turnReplayResults,proto3" json:"turn_replay_results,omitempty"` + // Output only. The results of the evaluation expectations. + EvaluationExpectationResults []*EvaluationResult_EvaluationExpectationResult `protobuf:"bytes,2,rep,name=evaluation_expectation_results,json=evaluationExpectationResults,proto3" json:"evaluation_expectation_results,omitempty"` +} + +func (x *EvaluationResult_GoldenResult) Reset() { + *x = EvaluationResult_GoldenResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_GoldenResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_GoldenResult) ProtoMessage() {} + +func (x *EvaluationResult_GoldenResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_GoldenResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_GoldenResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 2} +} + +func (x *EvaluationResult_GoldenResult) GetTurnReplayResults() []*EvaluationResult_GoldenResult_TurnReplayResult { + if x != nil { + return x.TurnReplayResults + } + return nil +} + +func (x *EvaluationResult_GoldenResult) GetEvaluationExpectationResults() []*EvaluationResult_EvaluationExpectationResult { + if x != nil { + return x.EvaluationExpectationResults + } + return nil +} + +// The outcome of the evaluation against the rubric. +type EvaluationResult_ScenarioRubricOutcome struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The rubric that was used to evaluate the conversation. + Rubric string `protobuf:"bytes,1,opt,name=rubric,proto3" json:"rubric,omitempty"` + // Output only. The score of the conversation against the rubric. + Score *float32 `protobuf:"fixed32,2,opt,name=score,proto3,oneof" json:"score,omitempty"` + // Output only. The rater's response to the rubric. + ScoreExplanation string `protobuf:"bytes,3,opt,name=score_explanation,json=scoreExplanation,proto3" json:"score_explanation,omitempty"` +} + +func (x *EvaluationResult_ScenarioRubricOutcome) Reset() { + *x = EvaluationResult_ScenarioRubricOutcome{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_ScenarioRubricOutcome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_ScenarioRubricOutcome) ProtoMessage() {} + +func (x *EvaluationResult_ScenarioRubricOutcome) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_ScenarioRubricOutcome.ProtoReflect.Descriptor instead. +func (*EvaluationResult_ScenarioRubricOutcome) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 3} +} + +func (x *EvaluationResult_ScenarioRubricOutcome) GetRubric() string { + if x != nil { + return x.Rubric + } + return "" +} + +func (x *EvaluationResult_ScenarioRubricOutcome) GetScore() float32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *EvaluationResult_ScenarioRubricOutcome) GetScoreExplanation() string { + if x != nil { + return x.ScoreExplanation + } + return "" +} + +// The outcome of a scenario expectation. +type EvaluationResult_ScenarioExpectationOutcome struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the expectation. + // + // Types that are assignable to Result: + // + // *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall_ + // *EvaluationResult_ScenarioExpectationOutcome_ObservedAgentResponse + Result isEvaluationResult_ScenarioExpectationOutcome_Result `protobuf_oneof:"result"` + // Output only. The expectation that was evaluated. + Expectation *Evaluation_ScenarioExpectation `protobuf:"bytes,1,opt,name=expectation,proto3" json:"expectation,omitempty"` + // Output only. The outcome of the ScenarioExpectation. + Outcome EvaluationResult_Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) Reset() { + *x = EvaluationResult_ScenarioExpectationOutcome{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_ScenarioExpectationOutcome) ProtoMessage() {} + +func (x *EvaluationResult_ScenarioExpectationOutcome) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_ScenarioExpectationOutcome.ProtoReflect.Descriptor instead. +func (*EvaluationResult_ScenarioExpectationOutcome) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 4} +} + +func (m *EvaluationResult_ScenarioExpectationOutcome) GetResult() isEvaluationResult_ScenarioExpectationOutcome_Result { + if m != nil { + return m.Result + } + return nil +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) GetObservedToolCall() *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall { + if x, ok := x.GetResult().(*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall_); ok { + return x.ObservedToolCall + } + return nil +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) GetObservedAgentResponse() *Message { + if x, ok := x.GetResult().(*EvaluationResult_ScenarioExpectationOutcome_ObservedAgentResponse); ok { + return x.ObservedAgentResponse + } + return nil +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) GetExpectation() *Evaluation_ScenarioExpectation { + if x != nil { + return x.Expectation + } + return nil +} + +func (x *EvaluationResult_ScenarioExpectationOutcome) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +type isEvaluationResult_ScenarioExpectationOutcome_Result interface { + isEvaluationResult_ScenarioExpectationOutcome_Result() +} + +type EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall_ struct { + // Output only. The observed tool call. + ObservedToolCall *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall `protobuf:"bytes,2,opt,name=observed_tool_call,json=observedToolCall,proto3,oneof"` +} + +type EvaluationResult_ScenarioExpectationOutcome_ObservedAgentResponse struct { + // Output only. The observed agent response. + ObservedAgentResponse *Message `protobuf:"bytes,3,opt,name=observed_agent_response,json=observedAgentResponse,proto3,oneof"` +} + +func (*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall_) isEvaluationResult_ScenarioExpectationOutcome_Result() { +} + +func (*EvaluationResult_ScenarioExpectationOutcome_ObservedAgentResponse) isEvaluationResult_ScenarioExpectationOutcome_Result() { +} + +// The outcome of a scenario evaluation. +type EvaluationResult_ScenarioResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The conversation that was generated in the scenario. + Conversation string `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` + // Output only. The task that was used when running the scenario for this + // result. + Task string `protobuf:"bytes,10,opt,name=task,proto3" json:"task,omitempty"` + // Output only. The user facts that were used by the scenario for this + // result. + UserFacts []*Evaluation_Scenario_UserFact `protobuf:"bytes,11,rep,name=user_facts,json=userFacts,proto3" json:"user_facts,omitempty"` + // Output only. The outcome of each expectation. + ExpectationOutcomes []*EvaluationResult_ScenarioExpectationOutcome `protobuf:"bytes,2,rep,name=expectation_outcomes,json=expectationOutcomes,proto3" json:"expectation_outcomes,omitempty"` + // Output only. The outcome of the rubric. + RubricOutcomes []*EvaluationResult_ScenarioRubricOutcome `protobuf:"bytes,3,rep,name=rubric_outcomes,json=rubricOutcomes,proto3" json:"rubric_outcomes,omitempty"` + // Output only. The result of the hallucination check. + // There will be one hallucination result for each turn in the conversation. + HallucinationResult []*EvaluationResult_HallucinationResult `protobuf:"bytes,4,rep,name=hallucination_result,json=hallucinationResult,proto3" json:"hallucination_result,omitempty"` + // Output only. The result of the task completion check. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + TaskCompletionResult *EvaluationResult_TaskCompletionResult `protobuf:"bytes,5,opt,name=task_completion_result,json=taskCompletionResult,proto3" json:"task_completion_result,omitempty"` + // Output only. The latency of each tool call execution in the conversation. + ToolCallLatencies []*EvaluationResult_ToolCallLatency `protobuf:"bytes,6,rep,name=tool_call_latencies,json=toolCallLatencies,proto3" json:"tool_call_latencies,omitempty"` + // Output only. The result of the user goal satisfaction check. + UserGoalSatisfactionResult *EvaluationResult_UserGoalSatisfactionResult `protobuf:"bytes,7,opt,name=user_goal_satisfaction_result,json=userGoalSatisfactionResult,proto3" json:"user_goal_satisfaction_result,omitempty"` + // Output only. Whether all expectations were satisfied for this turn. + AllExpectationsSatisfied *bool `protobuf:"varint,8,opt,name=all_expectations_satisfied,json=allExpectationsSatisfied,proto3,oneof" json:"all_expectations_satisfied,omitempty"` + // Output only. Whether the task was completed for this turn. This is a + // composite of all expectations satisfied, no hallucinations, and user goal + // satisfaction. + TaskCompleted *bool `protobuf:"varint,9,opt,name=task_completed,json=taskCompleted,proto3,oneof" json:"task_completed,omitempty"` + // Output only. The latency of spans in the conversation. + SpanLatencies []*EvaluationResult_SpanLatency `protobuf:"bytes,12,rep,name=span_latencies,json=spanLatencies,proto3" json:"span_latencies,omitempty"` + // Output only. The results of the evaluation expectations. + EvaluationExpectationResults []*EvaluationResult_EvaluationExpectationResult `protobuf:"bytes,13,rep,name=evaluation_expectation_results,json=evaluationExpectationResults,proto3" json:"evaluation_expectation_results,omitempty"` +} + +func (x *EvaluationResult_ScenarioResult) Reset() { + *x = EvaluationResult_ScenarioResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_ScenarioResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_ScenarioResult) ProtoMessage() {} + +func (x *EvaluationResult_ScenarioResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_ScenarioResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_ScenarioResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 5} +} + +func (x *EvaluationResult_ScenarioResult) GetConversation() string { + if x != nil { + return x.Conversation + } + return "" +} + +func (x *EvaluationResult_ScenarioResult) GetTask() string { + if x != nil { + return x.Task + } + return "" +} + +func (x *EvaluationResult_ScenarioResult) GetUserFacts() []*Evaluation_Scenario_UserFact { + if x != nil { + return x.UserFacts + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetExpectationOutcomes() []*EvaluationResult_ScenarioExpectationOutcome { + if x != nil { + return x.ExpectationOutcomes + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetRubricOutcomes() []*EvaluationResult_ScenarioRubricOutcome { + if x != nil { + return x.RubricOutcomes + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetHallucinationResult() []*EvaluationResult_HallucinationResult { + if x != nil { + return x.HallucinationResult + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationResult_ScenarioResult) GetTaskCompletionResult() *EvaluationResult_TaskCompletionResult { + if x != nil { + return x.TaskCompletionResult + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetToolCallLatencies() []*EvaluationResult_ToolCallLatency { + if x != nil { + return x.ToolCallLatencies + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetUserGoalSatisfactionResult() *EvaluationResult_UserGoalSatisfactionResult { + if x != nil { + return x.UserGoalSatisfactionResult + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetAllExpectationsSatisfied() bool { + if x != nil && x.AllExpectationsSatisfied != nil { + return *x.AllExpectationsSatisfied + } + return false +} + +func (x *EvaluationResult_ScenarioResult) GetTaskCompleted() bool { + if x != nil && x.TaskCompleted != nil { + return *x.TaskCompleted + } + return false +} + +func (x *EvaluationResult_ScenarioResult) GetSpanLatencies() []*EvaluationResult_SpanLatency { + if x != nil { + return x.SpanLatencies + } + return nil +} + +func (x *EvaluationResult_ScenarioResult) GetEvaluationExpectationResults() []*EvaluationResult_EvaluationExpectationResult { + if x != nil { + return x.EvaluationExpectationResults + } + return nil +} + +// The latency of a span execution. +type EvaluationResult_SpanLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the specific item based on its type. + // + // Types that are assignable to Identifier: + // + // *EvaluationResult_SpanLatency_Resource + // *EvaluationResult_SpanLatency_Toolset + // *EvaluationResult_SpanLatency_Model + // *EvaluationResult_SpanLatency_Callback + Identifier isEvaluationResult_SpanLatency_Identifier `protobuf_oneof:"identifier"` + // Output only. The type of span. + Type EvaluationResult_SpanLatency_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_SpanLatency_Type" json:"type,omitempty"` + // Output only. The display name of the span. Applicable to tool and + // guardrail spans. + DisplayName string `protobuf:"bytes,9,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. The start time of span. + StartTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. The end time of span. + EndTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The latency of span. + ExecutionLatency *durationpb.Duration `protobuf:"bytes,8,opt,name=execution_latency,json=executionLatency,proto3" json:"execution_latency,omitempty"` +} + +func (x *EvaluationResult_SpanLatency) Reset() { + *x = EvaluationResult_SpanLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_SpanLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_SpanLatency) ProtoMessage() {} + +func (x *EvaluationResult_SpanLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_SpanLatency.ProtoReflect.Descriptor instead. +func (*EvaluationResult_SpanLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 6} +} + +func (m *EvaluationResult_SpanLatency) GetIdentifier() isEvaluationResult_SpanLatency_Identifier { + if m != nil { + return m.Identifier + } + return nil +} + +func (x *EvaluationResult_SpanLatency) GetResource() string { + if x, ok := x.GetIdentifier().(*EvaluationResult_SpanLatency_Resource); ok { + return x.Resource + } + return "" +} + +func (x *EvaluationResult_SpanLatency) GetToolset() *ToolsetTool { + if x, ok := x.GetIdentifier().(*EvaluationResult_SpanLatency_Toolset); ok { + return x.Toolset + } + return nil +} + +func (x *EvaluationResult_SpanLatency) GetModel() string { + if x, ok := x.GetIdentifier().(*EvaluationResult_SpanLatency_Model); ok { + return x.Model + } + return "" +} + +func (x *EvaluationResult_SpanLatency) GetCallback() string { + if x, ok := x.GetIdentifier().(*EvaluationResult_SpanLatency_Callback); ok { + return x.Callback + } + return "" +} + +func (x *EvaluationResult_SpanLatency) GetType() EvaluationResult_SpanLatency_Type { + if x != nil { + return x.Type + } + return EvaluationResult_SpanLatency_TYPE_UNSPECIFIED +} + +func (x *EvaluationResult_SpanLatency) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationResult_SpanLatency) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *EvaluationResult_SpanLatency) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *EvaluationResult_SpanLatency) GetExecutionLatency() *durationpb.Duration { + if x != nil { + return x.ExecutionLatency + } + return nil +} + +type isEvaluationResult_SpanLatency_Identifier interface { + isEvaluationResult_SpanLatency_Identifier() +} + +type EvaluationResult_SpanLatency_Resource struct { + // Output only. The resource name of the guardrail or tool spans. + Resource string `protobuf:"bytes,2,opt,name=resource,proto3,oneof"` +} + +type EvaluationResult_SpanLatency_Toolset struct { + // Output only. The toolset tool identifier. + Toolset *ToolsetTool `protobuf:"bytes,3,opt,name=toolset,proto3,oneof"` +} + +type EvaluationResult_SpanLatency_Model struct { + // Output only. The name of the LLM span. + Model string `protobuf:"bytes,4,opt,name=model,proto3,oneof"` +} + +type EvaluationResult_SpanLatency_Callback struct { + // Output only. The name of the user callback span. + Callback string `protobuf:"bytes,5,opt,name=callback,proto3,oneof"` +} + +func (*EvaluationResult_SpanLatency_Resource) isEvaluationResult_SpanLatency_Identifier() {} + +func (*EvaluationResult_SpanLatency_Toolset) isEvaluationResult_SpanLatency_Identifier() {} + +func (*EvaluationResult_SpanLatency_Model) isEvaluationResult_SpanLatency_Identifier() {} + +func (*EvaluationResult_SpanLatency_Callback) isEvaluationResult_SpanLatency_Identifier() {} + +// The latency of a tool call execution. +type EvaluationResult_ToolCallLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the tool that got executed. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`. + Tool string `protobuf:"bytes,1,opt,name=tool,proto3" json:"tool,omitempty"` + // Output only. The display name of the tool. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. The start time of the tool call execution. + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Output only. The end time of the tool call execution. + EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The latency of the tool call execution. + ExecutionLatency *durationpb.Duration `protobuf:"bytes,5,opt,name=execution_latency,json=executionLatency,proto3" json:"execution_latency,omitempty"` +} + +func (x *EvaluationResult_ToolCallLatency) Reset() { + *x = EvaluationResult_ToolCallLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_ToolCallLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_ToolCallLatency) ProtoMessage() {} + +func (x *EvaluationResult_ToolCallLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_ToolCallLatency.ProtoReflect.Descriptor instead. +func (*EvaluationResult_ToolCallLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 7} +} + +func (x *EvaluationResult_ToolCallLatency) GetTool() string { + if x != nil { + return x.Tool + } + return "" +} + +func (x *EvaluationResult_ToolCallLatency) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *EvaluationResult_ToolCallLatency) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *EvaluationResult_ToolCallLatency) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *EvaluationResult_ToolCallLatency) GetExecutionLatency() *durationpb.Duration { + if x != nil { + return x.ExecutionLatency + } + return nil +} + +// The result of the hallucination check for a single turn. +type EvaluationResult_HallucinationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The hallucination score. Can be -1, 0, 1. + Score *int32 `protobuf:"varint,1,opt,name=score,proto3,oneof" json:"score,omitempty"` + // Output only. The label associated with each score. + // Score 1: Justified + // Score 0: Not Justified + // Score -1: No Claim To Assess + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + // Output only. The explanation for the hallucination score. + Explanation string `protobuf:"bytes,3,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluationResult_HallucinationResult) Reset() { + *x = EvaluationResult_HallucinationResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_HallucinationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_HallucinationResult) ProtoMessage() {} + +func (x *EvaluationResult_HallucinationResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_HallucinationResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_HallucinationResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 8} +} + +func (x *EvaluationResult_HallucinationResult) GetScore() int32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *EvaluationResult_HallucinationResult) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *EvaluationResult_HallucinationResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +// The result of a user goal satisfaction check for a conversation. +type EvaluationResult_UserGoalSatisfactionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The user task satisfaction score. Can be -1, 0, 1. + Score *int32 `protobuf:"varint,1,opt,name=score,proto3,oneof" json:"score,omitempty"` + // Output only. The label associated with each score. + // Score 1: User Task Satisfied + // Score 0: User Task Not Satisfied + // Score -1: User Task Unspecified + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + // Output only. The explanation for the user task satisfaction score. + Explanation string `protobuf:"bytes,3,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluationResult_UserGoalSatisfactionResult) Reset() { + *x = EvaluationResult_UserGoalSatisfactionResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_UserGoalSatisfactionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_UserGoalSatisfactionResult) ProtoMessage() {} + +func (x *EvaluationResult_UserGoalSatisfactionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_UserGoalSatisfactionResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_UserGoalSatisfactionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 9} +} + +func (x *EvaluationResult_UserGoalSatisfactionResult) GetScore() int32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *EvaluationResult_UserGoalSatisfactionResult) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *EvaluationResult_UserGoalSatisfactionResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +// The result of the semantic similarity check. +type EvaluationResult_SemanticSimilarityResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The semantic similarity score. Can be 0, 1, 2, 3, or 4. + Score *int32 `protobuf:"varint,1,opt,name=score,proto3,oneof" json:"score,omitempty"` + // Output only. The label associated with each score. + // Score 4: Fully Consistent + // Score 3: Mostly Consistent + // Score 2: Partially Consistent (Minor Omissions) + // Score 1: Largely Inconsistent (Major Omissions) + // Score 0: Completely Inconsistent / Contradictory + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + // Output only. The explanation for the semantic similarity score. + Explanation string `protobuf:"bytes,3,opt,name=explanation,proto3" json:"explanation,omitempty"` + // Output only. The outcome of the semantic similarity check. This is + // determined by comparing the score to the + // semantic_similarity_success_threshold. If the score is equal to or above + // the threshold, the outcome will be PASS. Otherwise, the outcome will be + // FAIL. + Outcome EvaluationResult_Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` +} + +func (x *EvaluationResult_SemanticSimilarityResult) Reset() { + *x = EvaluationResult_SemanticSimilarityResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_SemanticSimilarityResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_SemanticSimilarityResult) ProtoMessage() {} + +func (x *EvaluationResult_SemanticSimilarityResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_SemanticSimilarityResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_SemanticSimilarityResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 10} +} + +func (x *EvaluationResult_SemanticSimilarityResult) GetScore() int32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *EvaluationResult_SemanticSimilarityResult) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *EvaluationResult_SemanticSimilarityResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +func (x *EvaluationResult_SemanticSimilarityResult) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +// The result of the overall tool invocation check. +type EvaluationResult_OverallToolInvocationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The overall tool invocation score for this turn. This indicates the + // overall percent of tools from the expected turn that were actually + // invoked. + ToolInvocationScore *float32 `protobuf:"fixed32,1,opt,name=tool_invocation_score,json=toolInvocationScore,proto3,oneof" json:"tool_invocation_score,omitempty"` + // Output only. The outcome of the tool invocation check. This is determined + // by comparing the tool_invocation_score to the + // overall_tool_invocation_correctness_threshold. If the + // score is equal to or above the threshold, the outcome will be PASS. + // Otherwise, the outcome will be FAIL. + Outcome EvaluationResult_Outcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` +} + +func (x *EvaluationResult_OverallToolInvocationResult) Reset() { + *x = EvaluationResult_OverallToolInvocationResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_OverallToolInvocationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_OverallToolInvocationResult) ProtoMessage() {} + +func (x *EvaluationResult_OverallToolInvocationResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_OverallToolInvocationResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_OverallToolInvocationResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 11} +} + +func (x *EvaluationResult_OverallToolInvocationResult) GetToolInvocationScore() float32 { + if x != nil && x.ToolInvocationScore != nil { + return *x.ToolInvocationScore + } + return 0 +} + +func (x *EvaluationResult_OverallToolInvocationResult) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +// The result of the task completion check for the conversation. +type EvaluationResult_TaskCompletionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The task completion score. Can be -1, 0, 1 + Score *int32 `protobuf:"varint,1,opt,name=score,proto3,oneof" json:"score,omitempty"` + // Output only. The label associated with each score. + // Score 1: Task Completed + // Score 0: Task Not Completed + // Score -1: User Goal Undefined + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + // Output only. The explanation for the task completion score. + Explanation string `protobuf:"bytes,3,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluationResult_TaskCompletionResult) Reset() { + *x = EvaluationResult_TaskCompletionResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_TaskCompletionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_TaskCompletionResult) ProtoMessage() {} + +func (x *EvaluationResult_TaskCompletionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_TaskCompletionResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_TaskCompletionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 12} +} + +func (x *EvaluationResult_TaskCompletionResult) GetScore() int32 { + if x != nil && x.Score != nil { + return *x.Score + } + return 0 +} + +func (x *EvaluationResult_TaskCompletionResult) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *EvaluationResult_TaskCompletionResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +// The result of the tool invocation check. +type EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The tool invocation parameter correctness score. This + // indicates the percent of parameters from the expected tool call that + // were also present in the actual tool call. + ParameterCorrectnessScore *float32 `protobuf:"fixed32,1,opt,name=parameter_correctness_score,json=parameterCorrectnessScore,proto3,oneof" json:"parameter_correctness_score,omitempty"` + // Output only. The outcome of the tool invocation check. This is + // determined by comparing the parameter_correctness_score to the + // threshold. If the score is equal to or above the threshold, the outcome + // will be PASS. Otherwise, the outcome will be FAIL. + Outcome EvaluationResult_Outcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=google.cloud.ces.v1beta.EvaluationResult_Outcome" json:"outcome,omitempty"` + // Output only. A free text explanation for the tool invocation result. + Explanation string `protobuf:"bytes,3,opt,name=explanation,proto3" json:"explanation,omitempty"` +} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) Reset() { + *x = EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) ProtoMessage() {} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 0, 0} +} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) GetParameterCorrectnessScore() float32 { + if x != nil && x.ParameterCorrectnessScore != nil { + return *x.ParameterCorrectnessScore + } + return 0 +} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) GetOutcome() EvaluationResult_Outcome { + if x != nil { + return x.Outcome + } + return EvaluationResult_OUTCOME_UNSPECIFIED +} + +func (x *EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + +// The result of running a single turn of the golden conversation. +type EvaluationResult_GoldenResult_TurnReplayResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The conversation that was generated for this turn. + Conversation string `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` + // Output only. The outcome of each expectation. + ExpectationOutcome []*EvaluationResult_GoldenExpectationOutcome `protobuf:"bytes,2,rep,name=expectation_outcome,json=expectationOutcome,proto3" json:"expectation_outcome,omitempty"` + // Output only. The result of the hallucination check. + HallucinationResult *EvaluationResult_HallucinationResult `protobuf:"bytes,3,opt,name=hallucination_result,json=hallucinationResult,proto3" json:"hallucination_result,omitempty"` + // Output only. Deprecated. Use OverallToolInvocationResult instead. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. + ToolInvocationScore float32 `protobuf:"fixed32,4,opt,name=tool_invocation_score,json=toolInvocationScore,proto3" json:"tool_invocation_score,omitempty"` + // Output only. The overall tool ordered invocation score for this turn. + // This indicates the overall percent of tools from the expected turn that + // were actually invoked in the expected order. + ToolOrderedInvocationScore *float32 `protobuf:"fixed32,5,opt,name=tool_ordered_invocation_score,json=toolOrderedInvocationScore,proto3,oneof" json:"tool_ordered_invocation_score,omitempty"` + // Output only. Duration of the turn. + TurnLatency *durationpb.Duration `protobuf:"bytes,6,opt,name=turn_latency,json=turnLatency,proto3" json:"turn_latency,omitempty"` + // Output only. The latency of each tool call in the turn. + ToolCallLatencies []*EvaluationResult_ToolCallLatency `protobuf:"bytes,7,rep,name=tool_call_latencies,json=toolCallLatencies,proto3" json:"tool_call_latencies,omitempty"` + // Output only. The result of the semantic similarity check. + SemanticSimilarityResult *EvaluationResult_SemanticSimilarityResult `protobuf:"bytes,8,opt,name=semantic_similarity_result,json=semanticSimilarityResult,proto3" json:"semantic_similarity_result,omitempty"` + // Output only. The result of the overall tool invocation check. + OverallToolInvocationResult *EvaluationResult_OverallToolInvocationResult `protobuf:"bytes,9,opt,name=overall_tool_invocation_result,json=overallToolInvocationResult,proto3" json:"overall_tool_invocation_result,omitempty"` + // Output only. Information about the error that occurred during this + // turn. + ErrorInfo *EvaluationErrorInfo `protobuf:"bytes,10,opt,name=error_info,json=errorInfo,proto3" json:"error_info,omitempty"` + // Output only. The latency of spans in the turn. + SpanLatencies []*EvaluationResult_SpanLatency `protobuf:"bytes,11,rep,name=span_latencies,json=spanLatencies,proto3" json:"span_latencies,omitempty"` +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) Reset() { + *x = EvaluationResult_GoldenResult_TurnReplayResult{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_GoldenResult_TurnReplayResult) ProtoMessage() {} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_GoldenResult_TurnReplayResult.ProtoReflect.Descriptor instead. +func (*EvaluationResult_GoldenResult_TurnReplayResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 2, 0} +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetConversation() string { + if x != nil { + return x.Conversation + } + return "" +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetExpectationOutcome() []*EvaluationResult_GoldenExpectationOutcome { + if x != nil { + return x.ExpectationOutcome + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetHallucinationResult() *EvaluationResult_HallucinationResult { + if x != nil { + return x.HallucinationResult + } + return nil +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation.proto. +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetToolInvocationScore() float32 { + if x != nil { + return x.ToolInvocationScore + } + return 0 +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetToolOrderedInvocationScore() float32 { + if x != nil && x.ToolOrderedInvocationScore != nil { + return *x.ToolOrderedInvocationScore + } + return 0 +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetTurnLatency() *durationpb.Duration { + if x != nil { + return x.TurnLatency + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetToolCallLatencies() []*EvaluationResult_ToolCallLatency { + if x != nil { + return x.ToolCallLatencies + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetSemanticSimilarityResult() *EvaluationResult_SemanticSimilarityResult { + if x != nil { + return x.SemanticSimilarityResult + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetOverallToolInvocationResult() *EvaluationResult_OverallToolInvocationResult { + if x != nil { + return x.OverallToolInvocationResult + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetErrorInfo() *EvaluationErrorInfo { + if x != nil { + return x.ErrorInfo + } + return nil +} + +func (x *EvaluationResult_GoldenResult_TurnReplayResult) GetSpanLatencies() []*EvaluationResult_SpanLatency { + if x != nil { + return x.SpanLatencies + } + return nil +} + +// The observed tool call and response. +type EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The observed tool call. + ToolCall *ToolCall `protobuf:"bytes,1,opt,name=tool_call,json=toolCall,proto3" json:"tool_call,omitempty"` + // Output only. The observed tool response. + ToolResponse *ToolResponse `protobuf:"bytes,2,opt,name=tool_response,json=toolResponse,proto3" json:"tool_response,omitempty"` +} + +func (x *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) Reset() { + *x = EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) ProtoMessage() {} + +func (x *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall.ProtoReflect.Descriptor instead. +func (*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{3, 4, 0} +} + +func (x *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) GetToolCall() *ToolCall { + if x != nil { + return x.ToolCall + } + return nil +} + +func (x *EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall) GetToolResponse() *ToolResponse { + if x != nil { + return x.ToolResponse + } + return nil +} + +// The progress of the evaluation run. +type EvaluationRun_Progress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Total number of evaluation results in this run. + TotalCount int32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + // Output only. Number of completed evaluation results with an outcome of + // FAIL. (EvaluationResult.execution_state is COMPLETED and + // EvaluationResult.evaluation_status is FAIL). + FailedCount int32 `protobuf:"varint,2,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + // Output only. Number of evaluation results that failed to execute. + // (EvaluationResult.execution_state is ERROR). + ErrorCount int32 `protobuf:"varint,3,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"` + // Output only. Number of evaluation results that finished successfully. + // (EvaluationResult.execution_state is COMPLETED). + CompletedCount int32 `protobuf:"varint,4,opt,name=completed_count,json=completedCount,proto3" json:"completed_count,omitempty"` + // Output only. Number of completed evaluation results with an outcome of + // PASS. (EvaluationResult.execution_state is COMPLETED and + // EvaluationResult.evaluation_status is PASS). + PassedCount int32 `protobuf:"varint,5,opt,name=passed_count,json=passedCount,proto3" json:"passed_count,omitempty"` +} + +func (x *EvaluationRun_Progress) Reset() { + *x = EvaluationRun_Progress{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationRun_Progress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationRun_Progress) ProtoMessage() {} + +func (x *EvaluationRun_Progress) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationRun_Progress.ProtoReflect.Descriptor instead. +func (*EvaluationRun_Progress) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *EvaluationRun_Progress) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +func (x *EvaluationRun_Progress) GetFailedCount() int32 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *EvaluationRun_Progress) GetErrorCount() int32 { + if x != nil { + return x.ErrorCount + } + return 0 +} + +func (x *EvaluationRun_Progress) GetCompletedCount() int32 { + if x != nil { + return x.CompletedCount + } + return 0 +} + +func (x *EvaluationRun_Progress) GetPassedCount() int32 { + if x != nil { + return x.PassedCount + } + return 0 +} + +// Contains the summary of passed and failed result counts for a specific +// evaluation in an evaluation run. +type EvaluationRun_EvaluationRunSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Number of passed results for the associated Evaluation in + // this run. + PassedCount int32 `protobuf:"varint,1,opt,name=passed_count,json=passedCount,proto3" json:"passed_count,omitempty"` + // Output only. Number of failed results for the associated Evaluation in + // this run. + FailedCount int32 `protobuf:"varint,2,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + // Output only. Number of error results for the associated Evaluation in + // this run. + ErrorCount int32 `protobuf:"varint,3,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"` +} + +func (x *EvaluationRun_EvaluationRunSummary) Reset() { + *x = EvaluationRun_EvaluationRunSummary{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationRun_EvaluationRunSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationRun_EvaluationRunSummary) ProtoMessage() {} + +func (x *EvaluationRun_EvaluationRunSummary) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationRun_EvaluationRunSummary.ProtoReflect.Descriptor instead. +func (*EvaluationRun_EvaluationRunSummary) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *EvaluationRun_EvaluationRunSummary) GetPassedCount() int32 { + if x != nil { + return x.PassedCount + } + return 0 +} + +func (x *EvaluationRun_EvaluationRunSummary) GetFailedCount() int32 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *EvaluationRun_EvaluationRunSummary) GetErrorCount() int32 { + if x != nil { + return x.ErrorCount + } + return 0 +} + +// Latency metrics for a component. +type LatencyReport_LatencyMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The 50th percentile latency. + P50Latency *durationpb.Duration `protobuf:"bytes,1,opt,name=p50_latency,json=p50Latency,proto3" json:"p50_latency,omitempty"` + // Output only. The 90th percentile latency. + P90Latency *durationpb.Duration `protobuf:"bytes,2,opt,name=p90_latency,json=p90Latency,proto3" json:"p90_latency,omitempty"` + // Output only. The 99th percentile latency. + P99Latency *durationpb.Duration `protobuf:"bytes,3,opt,name=p99_latency,json=p99Latency,proto3" json:"p99_latency,omitempty"` + // Output only. The number of times the resource was called. + CallCount int32 `protobuf:"varint,4,opt,name=call_count,json=callCount,proto3" json:"call_count,omitempty"` +} + +func (x *LatencyReport_LatencyMetrics) Reset() { + *x = LatencyReport_LatencyMetrics{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport_LatencyMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport_LatencyMetrics) ProtoMessage() {} + +func (x *LatencyReport_LatencyMetrics) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport_LatencyMetrics.ProtoReflect.Descriptor instead. +func (*LatencyReport_LatencyMetrics) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *LatencyReport_LatencyMetrics) GetP50Latency() *durationpb.Duration { + if x != nil { + return x.P50Latency + } + return nil +} + +func (x *LatencyReport_LatencyMetrics) GetP90Latency() *durationpb.Duration { + if x != nil { + return x.P90Latency + } + return nil +} + +func (x *LatencyReport_LatencyMetrics) GetP99Latency() *durationpb.Duration { + if x != nil { + return x.P99Latency + } + return nil +} + +func (x *LatencyReport_LatencyMetrics) GetCallCount() int32 { + if x != nil { + return x.CallCount + } + return 0 +} + +// Latency metrics for a single tool. +type LatencyReport_ToolLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool. + // + // Types that are assignable to ToolIdentifier: + // + // *LatencyReport_ToolLatency_Tool + // *LatencyReport_ToolLatency_ToolsetTool + ToolIdentifier isLatencyReport_ToolLatency_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // Output only. The display name of the tool. + ToolDisplayName string `protobuf:"bytes,3,opt,name=tool_display_name,json=toolDisplayName,proto3" json:"tool_display_name,omitempty"` + // Output only. The latency metrics for the tool. + LatencyMetrics *LatencyReport_LatencyMetrics `protobuf:"bytes,4,opt,name=latency_metrics,json=latencyMetrics,proto3" json:"latency_metrics,omitempty"` +} + +func (x *LatencyReport_ToolLatency) Reset() { + *x = LatencyReport_ToolLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport_ToolLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport_ToolLatency) ProtoMessage() {} + +func (x *LatencyReport_ToolLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport_ToolLatency.ProtoReflect.Descriptor instead. +func (*LatencyReport_ToolLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5, 1} +} + +func (m *LatencyReport_ToolLatency) GetToolIdentifier() isLatencyReport_ToolLatency_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *LatencyReport_ToolLatency) GetTool() string { + if x, ok := x.GetToolIdentifier().(*LatencyReport_ToolLatency_Tool); ok { + return x.Tool + } + return "" +} + +func (x *LatencyReport_ToolLatency) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*LatencyReport_ToolLatency_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *LatencyReport_ToolLatency) GetToolDisplayName() string { + if x != nil { + return x.ToolDisplayName + } + return "" +} + +func (x *LatencyReport_ToolLatency) GetLatencyMetrics() *LatencyReport_LatencyMetrics { + if x != nil { + return x.LatencyMetrics + } + return nil +} + +type isLatencyReport_ToolLatency_ToolIdentifier interface { + isLatencyReport_ToolLatency_ToolIdentifier() +} + +type LatencyReport_ToolLatency_Tool struct { + // Output only. Format: + // `projects/{project}/locations/{location}/apps/{app}/tools/{tool}`. + Tool string `protobuf:"bytes,1,opt,name=tool,proto3,oneof"` +} + +type LatencyReport_ToolLatency_ToolsetTool struct { + // Output only. The toolset tool identifier. + ToolsetTool *ToolsetTool `protobuf:"bytes,2,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*LatencyReport_ToolLatency_Tool) isLatencyReport_ToolLatency_ToolIdentifier() {} + +func (*LatencyReport_ToolLatency_ToolsetTool) isLatencyReport_ToolLatency_ToolIdentifier() {} + +// Latency metrics for a single callback. +type LatencyReport_CallbackLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The stage of the callback. + Stage string `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"` + // Output only. The latency metrics for the callback. + LatencyMetrics *LatencyReport_LatencyMetrics `protobuf:"bytes,2,opt,name=latency_metrics,json=latencyMetrics,proto3" json:"latency_metrics,omitempty"` +} + +func (x *LatencyReport_CallbackLatency) Reset() { + *x = LatencyReport_CallbackLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport_CallbackLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport_CallbackLatency) ProtoMessage() {} + +func (x *LatencyReport_CallbackLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport_CallbackLatency.ProtoReflect.Descriptor instead. +func (*LatencyReport_CallbackLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5, 2} +} + +func (x *LatencyReport_CallbackLatency) GetStage() string { + if x != nil { + return x.Stage + } + return "" +} + +func (x *LatencyReport_CallbackLatency) GetLatencyMetrics() *LatencyReport_LatencyMetrics { + if x != nil { + return x.LatencyMetrics + } + return nil +} + +// Latency metrics for a single guardrail. +type LatencyReport_GuardrailLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the guardrail. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}`. + Guardrail string `protobuf:"bytes,1,opt,name=guardrail,proto3" json:"guardrail,omitempty"` + // Output only. The display name of the guardrail. + GuardrailDisplayName string `protobuf:"bytes,2,opt,name=guardrail_display_name,json=guardrailDisplayName,proto3" json:"guardrail_display_name,omitempty"` + // Output only. The latency metrics for the guardrail. + LatencyMetrics *LatencyReport_LatencyMetrics `protobuf:"bytes,3,opt,name=latency_metrics,json=latencyMetrics,proto3" json:"latency_metrics,omitempty"` +} + +func (x *LatencyReport_GuardrailLatency) Reset() { + *x = LatencyReport_GuardrailLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport_GuardrailLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport_GuardrailLatency) ProtoMessage() {} + +func (x *LatencyReport_GuardrailLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport_GuardrailLatency.ProtoReflect.Descriptor instead. +func (*LatencyReport_GuardrailLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5, 3} +} + +func (x *LatencyReport_GuardrailLatency) GetGuardrail() string { + if x != nil { + return x.Guardrail + } + return "" +} + +func (x *LatencyReport_GuardrailLatency) GetGuardrailDisplayName() string { + if x != nil { + return x.GuardrailDisplayName + } + return "" +} + +func (x *LatencyReport_GuardrailLatency) GetLatencyMetrics() *LatencyReport_LatencyMetrics { + if x != nil { + return x.LatencyMetrics + } + return nil +} + +// Latency metrics for a single LLM call. +type LatencyReport_LlmCallLatency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the model. + Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` + // Output only. The latency metrics for the LLM call. + LatencyMetrics *LatencyReport_LatencyMetrics `protobuf:"bytes,2,opt,name=latency_metrics,json=latencyMetrics,proto3" json:"latency_metrics,omitempty"` +} + +func (x *LatencyReport_LlmCallLatency) Reset() { + *x = LatencyReport_LlmCallLatency{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LatencyReport_LlmCallLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LatencyReport_LlmCallLatency) ProtoMessage() {} + +func (x *LatencyReport_LlmCallLatency) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LatencyReport_LlmCallLatency.ProtoReflect.Descriptor instead. +func (*LatencyReport_LlmCallLatency) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{5, 4} +} + +func (x *LatencyReport_LlmCallLatency) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *LatencyReport_LlmCallLatency) GetLatencyMetrics() *LatencyReport_LatencyMetrics { + if x != nil { + return x.LatencyMetrics + } + return nil +} + +// Configuration for LLM-based evaluation criteria. +type EvaluationExpectation_LlmCriteria struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The prompt/instructions provided to the LLM judge. + Prompt string `protobuf:"bytes,1,opt,name=prompt,proto3" json:"prompt,omitempty"` +} + +func (x *EvaluationExpectation_LlmCriteria) Reset() { + *x = EvaluationExpectation_LlmCriteria{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EvaluationExpectation_LlmCriteria) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EvaluationExpectation_LlmCriteria) ProtoMessage() {} + +func (x *EvaluationExpectation_LlmCriteria) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EvaluationExpectation_LlmCriteria.ProtoReflect.Descriptor instead. +func (*EvaluationExpectation_LlmCriteria) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *EvaluationExpectation_LlmCriteria) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +// Eval scheduling configuration details +type ScheduledEvaluationRun_SchedulingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The frequency with which to run the eval + Frequency ScheduledEvaluationRun_SchedulingConfig_Frequency `protobuf:"varint,1,opt,name=frequency,proto3,enum=google.cloud.ces.v1beta.ScheduledEvaluationRun_SchedulingConfig_Frequency" json:"frequency,omitempty"` + // Required. Timestamp when the eval should start. + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Optional. The days of the week to run the eval. Applicable only for + // Weekly and Biweekly frequencies. 1 is Monday, 2 is Tuesday, ..., 7 is + // Sunday. + DaysOfWeek []int32 `protobuf:"varint,3,rep,packed,name=days_of_week,json=daysOfWeek,proto3" json:"days_of_week,omitempty"` +} + +func (x *ScheduledEvaluationRun_SchedulingConfig) Reset() { + *x = ScheduledEvaluationRun_SchedulingConfig{} + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduledEvaluationRun_SchedulingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduledEvaluationRun_SchedulingConfig) ProtoMessage() {} + +func (x *ScheduledEvaluationRun_SchedulingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduledEvaluationRun_SchedulingConfig.ProtoReflect.Descriptor instead. +func (*ScheduledEvaluationRun_SchedulingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *ScheduledEvaluationRun_SchedulingConfig) GetFrequency() ScheduledEvaluationRun_SchedulingConfig_Frequency { + if x != nil { + return x.Frequency + } + return ScheduledEvaluationRun_SchedulingConfig_FREQUENCY_UNSPECIFIED +} + +func (x *ScheduledEvaluationRun_SchedulingConfig) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ScheduledEvaluationRun_SchedulingConfig) GetDaysOfWeek() []int32 { + if x != nil { + return x.DaysOfWeek + } + return nil +} + +var File_google_cloud_ces_v1beta_evaluation_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_evaluation_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, + 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xe7, 0x10, 0x0a, 0x11, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x78, 0x0a, 0x16, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x41, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x6d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x1a, 0x8a, 0x01, 0x0a, 0x0b, 0x54, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x1f, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, + 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x61, + 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x5d, + 0x0a, 0x12, 0x54, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x61, + 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x96, 0x01, + 0x0a, 0x16, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x19, 0x0a, 0x17, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x47, 0x0a, + 0x0f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x36, 0x0a, 0x19, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, + 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x31, + 0x0a, 0x14, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x1a, 0xd0, 0x06, 0x0a, 0x13, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x41, + 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x61, 0x70, 0x70, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x5e, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x1b, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, + 0x63, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, + 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x12, 0x79, 0x0a, 0x15, 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x48, 0x61, 0x6c, 0x6c, + 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x19, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, + 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x74, 0x0a, 0x14, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x4c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x12, 0x74, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, + 0x70, 0x61, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x66, 0x61, 0x69, + 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, 0x0a, + 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x75, 0x72, 0x6e, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x54, 0x75, 0x72, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, + 0x54, 0x75, 0x72, 0x6e, 0x1a, 0x94, 0x05, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x42, 0x79, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x5e, 0x0a, 0x0c, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x74, + 0x6f, 0x6f, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x1b, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x65, 0x6d, + 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x19, 0x73, 0x65, 0x6d, + 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x79, 0x0a, 0x15, 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x68, 0x61, 0x6c, + 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x12, 0x81, 0x01, 0x0a, 0x19, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, + 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x74, + 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x74, 0x0a, 0x14, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x6c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, + 0x54, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x74, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xf2, 0x1d, 0x0a, 0x0a, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x06, 0x67, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x06, 0x67, + 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x12, 0x4f, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, + 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, + 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x73, 0x63, + 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x5d, 0x0a, 0x13, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, + 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6c, 0x61, + 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x0f, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x0e, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x17, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x5e, 0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x13, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x1a, 0xa2, 0x04, 0x0a, 0x11, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, + 0x6c, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x11, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, 0x6d, 0x6f, 0x63, 0x6b, 0x5f, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, + 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x10, 0x6d, 0x6f, 0x63, 0x6b, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x91, 0x02, 0x0a, 0x04, 0x53, 0x74, + 0x65, 0x70, 0x12, 0x4b, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, + 0x54, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x5e, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x92, 0x01, + 0x0a, 0x0a, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x43, 0x0a, 0x05, + 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x53, 0x74, 0x65, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, + 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x70, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x70, + 0x61, 0x6e, 0x1a, 0xbe, 0x01, 0x0a, 0x06, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x12, 0x49, 0x0a, + 0x05, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x17, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x01, 0xfa, 0x41, + 0x2a, 0x0a, 0x28, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0xb3, 0x03, 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, + 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x10, 0x74, + 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, + 0x72, 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0xc1, 0x01, 0x0a, 0x0f, 0x54, 0x6f, 0x6f, 0x6c, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x12, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, + 0x12, 0x58, 0x0a, 0x12, 0x6d, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x63, 0x6b, 0x54, 0x6f, + 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x8e, 0x08, 0x0a, 0x08, 0x53, 0x63, + 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, + 0x59, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, + 0x78, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x07, + 0x72, 0x75, 0x62, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x72, 0x75, 0x62, 0x72, 0x69, 0x63, 0x73, 0x12, 0x71, 0x0a, 0x15, 0x73, + 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, + 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, + 0x0a, 0x12, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x18, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x16, 0x74, 0x61, 0x73, 0x6b, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x12, 0x70, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x12, 0x69, 0x0a, 0x17, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x3e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x69, 0x0a, 0x16, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x41, 0x53, + 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x41, 0x54, 0x49, + 0x53, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x41, 0x53, 0x4b, 0x5f, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x7e, 0x0a, 0x10, 0x55, 0x73, + 0x65, 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x22, + 0x0a, 0x1e, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x47, 0x4f, 0x41, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, + 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x47, 0x4f, 0x41, 0x4c, 0x5f, + 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, + 0x53, 0x45, 0x52, 0x5f, 0x47, 0x4f, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x47, 0x4f, 0x41, 0x4c, + 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x3a, 0x89, 0x01, 0xea, 0x41, 0x85, + 0x01, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, + 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2a, 0x0b, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x0a, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x22, 0x9b, 0x05, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, + 0x01, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x22, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x12, 0x2b, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x5e, + 0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x3a, 0xad, + 0x01, 0xea, 0x41, 0xa9, 0x01, 0x0a, 0x24, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x5a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x7d, 0x2a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x32, 0x11, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0xef, + 0x42, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x6f, 0x6c, 0x64, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x0f, 0x73, 0x63, 0x65, 0x6e, 0x61, + 0x72, 0x69, 0x6f, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x65, 0x6e, + 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x00, 0x52, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x63, 0x0a, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x28, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x0d, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x70, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x70, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x05, 0xe0, 0x41, 0x03, 0x18, + 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, + 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x18, 0x61, 0x70, 0x70, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x15, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x6c, 0x6f, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, + 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x53, 0x0a, 0x15, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x66, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x7d, 0x0a, 0x1d, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, + 0x6f, 0x6c, 0x64, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1b, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x54, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, + 0x0a, 0x11, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x4d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, + 0x52, 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0xf3, 0x08, 0x0a, 0x18, 0x47, 0x6f, + 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x10, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x62, + 0x0a, 0x16, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x14, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x17, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x17, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x1a, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, + 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x42, 0x05, 0xe0, 0x41, 0x03, 0x18, 0x01, 0x52, 0x18, 0x73, 0x65, 0x6d, 0x61, + 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x92, 0x01, 0x0a, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, + 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xf9, 0x01, 0x0a, 0x14, 0x54, 0x6f, + 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x1b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x19, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, + 0x6e, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x07, + 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, + 0x9c, 0x02, 0x0a, 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x67, 0x0a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x30, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, + 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, + 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x9e, + 0x0b, 0x0a, 0x0c, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, + 0x7c, 0x0a, 0x13, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x74, 0x75, 0x72, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x90, 0x01, + 0x0a, 0x1e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x1c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x1a, 0xfc, 0x08, 0x0a, 0x10, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x03, + 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, + 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x14, + 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, + 0x68, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x42, 0x05, 0xe0, 0x41, 0x03, 0x18, 0x01, 0x52, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x49, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x4b, + 0x0a, 0x1d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x1a, 0x74, 0x6f, + 0x6f, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x0c, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0b, 0x74, 0x75, 0x72, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x6e, + 0x0a, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, + 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x85, + 0x01, 0x0a, 0x1a, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x6d, 0x69, + 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x18, 0x73, 0x65, + 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x1e, 0x6f, 0x76, 0x65, 0x72, 0x61, + 0x6c, 0x6c, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x61, + 0x6c, 0x6c, 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1b, 0x6f, 0x76, 0x65, + 0x72, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x61, 0x0a, 0x0e, 0x73, 0x70, + 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x70, + 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, + 0x73, 0x70, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x42, 0x20, 0x0a, + 0x1e, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, + 0x90, 0x01, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x75, 0x62, 0x72, + 0x69, 0x63, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x75, 0x62, + 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, + 0x72, 0x75, 0x62, 0x72, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x1a, 0xf1, 0x04, 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, + 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, + 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x10, 0x6f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x5f, + 0x0a, 0x17, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5e, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, + 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x50, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x1a, 0xa8, 0x01, 0x0a, 0x10, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, + 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x43, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x4f, 0x0a, 0x0d, 0x74, + 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xd2, 0x0a, 0x0a, 0x0e, 0x53, 0x63, 0x65, 0x6e, 0x61, + 0x72, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x27, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, + 0x59, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, + 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x46, 0x61, 0x63, 0x74, 0x73, 0x12, 0x7c, 0x0a, 0x14, 0x65, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x0f, 0x72, 0x75, 0x62, 0x72, + 0x69, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x63, 0x65, + 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x52, 0x75, 0x62, 0x72, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x72, 0x75, 0x62, 0x72, 0x69, 0x63, 0x4f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x14, 0x68, 0x61, 0x6c, 0x6c, 0x75, + 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x48, 0x61, 0x6c, 0x6c, 0x75, 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x68, 0x61, 0x6c, 0x6c, 0x75, + 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x7b, + 0x0a, 0x16, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x05, + 0xe0, 0x41, 0x03, 0x18, 0x01, 0x52, 0x14, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6e, 0x0a, 0x13, 0x74, + 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, + 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x1d, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, + 0x75, 0x73, 0x65, 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x1a, 0x61, 0x6c, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, + 0x01, 0x52, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, 0x0e, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x70, 0x61, 0x6e, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1c, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x6c, + 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0xde, 0x04, 0x0a, 0x0b, + 0x53, 0x70, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, + 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x07, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x53, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x53, + 0x70, 0x61, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, + 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x51, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x4f, 0x4f, + 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4c, 0x4c, + 0x42, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x55, 0x41, 0x52, 0x44, 0x52, + 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4c, 0x4d, 0x10, 0x04, 0x42, 0x0c, + 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xb7, 0x02, 0x0a, + 0x0f, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x12, 0x33, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, + 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x52, + 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x81, 0x01, 0x0a, 0x13, 0x48, 0x61, 0x6c, 0x6c, 0x75, + 0x63, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x88, 0x01, 0x0a, 0x1a, 0x55, + 0x73, 0x65, 0x72, 0x47, 0x6f, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, + 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, + 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0xd8, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, + 0x69, 0x63, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, + 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6f, + 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, + 0x1a, 0xc2, 0x01, 0x0a, 0x1b, 0x4f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x54, 0x6f, 0x6f, 0x6c, + 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x37, 0x0a, 0x15, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x00, 0x52, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x07, 0x6f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x82, 0x01, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x36, 0x0a, 0x07, 0x4f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, + 0x0a, 0x04, 0x50, 0x41, 0x53, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, + 0x10, 0x02, 0x22, 0x58, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, + 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x3a, 0xb7, 0x01, 0xea, + 0x41, 0xb3, 0x01, 0x0a, 0x23, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x7d, 0x2a, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x32, 0x10, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0xfe, 0x14, 0x0a, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x2b, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x70, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, + 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x0a, 0x18, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x42, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x6c, 0x6f, 0x67, 0x12, 0x53, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x25, 0xe0, + 0x41, 0x03, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, + 0x41, 0x03, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x11, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x63, + 0x0a, 0x0f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x05, 0xe0, 0x41, 0x03, 0x18, 0x01, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x81, 0x01, 0x0a, 0x18, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x5e, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x52, + 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x70, + 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x61, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x12, 0x59, 0x0a, 0x11, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x67, 0x6f, 0x6c, 0x64, + 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0xd4, 0x01, 0x0a, 0x08, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, + 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x1a, 0x8c, 0x01, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0c, 0x70, + 0x61, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x1a, 0x86, 0x01, 0x0a, 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x0e, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, + 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x47, 0x4f, 0x4c, 0x44, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x43, 0x45, + 0x4e, 0x41, 0x52, 0x49, 0x4f, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x58, 0x45, 0x44, + 0x10, 0x03, 0x22, 0x61, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x56, 0x41, 0x4c, + 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x03, 0x3a, 0x99, 0x01, 0xea, 0x41, 0x95, 0x01, 0x0a, 0x20, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x52, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, + 0x70, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, + 0x6e, 0x7d, 0x2a, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x73, 0x32, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x22, 0xc4, 0x0c, 0x0a, 0x0d, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x61, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, + 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x06, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, + 0x41, 0x06, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x70, 0x0a, 0x13, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x06, 0xe0, 0x41, 0x03, + 0xe0, 0x41, 0x06, 0x52, 0x12, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x4c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x12, 0x6c, 0x6c, 0x6d, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4c, 0x6c, 0x6d, 0x43, + 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, + 0x41, 0x06, 0x52, 0x10, 0x6c, 0x6c, 0x6d, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xf7, + 0x01, 0x0a, 0x0e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x35, 0x30, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x35, 0x30, 0x4c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x39, 0x30, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x39, 0x30, 0x4c, 0x61, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x3f, 0x0a, 0x0b, 0x70, 0x39, 0x39, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x70, 0x39, 0x39, 0x4c, 0x61, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, + 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xbd, 0x02, 0x0a, 0x0b, 0x54, 0x6f, 0x6f, + 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x19, 0x0a, 0x17, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, + 0x4e, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, + 0x2f, 0x0a, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x63, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0x91, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x19, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0xf6, 0x01, 0x0a, + 0x10, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x42, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x52, 0x09, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x39, 0x0a, 0x16, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x63, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x90, 0x01, 0x0a, 0x0e, 0x4c, 0x6c, 0x6d, 0x43, 0x61, 0x6c, + 0x6c, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x12, 0x63, 0x0a, 0x0f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0xf0, 0x04, 0x0a, 0x15, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0c, 0x6c, 0x6c, 0x6d, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6c, 0x6d, 0x43, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x6c, 0x6d, + 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, + 0x2a, 0x0a, 0x0b, 0x4c, 0x6c, 0x6d, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x3a, 0xc1, 0x01, 0xea, 0x41, + 0xbd, 0x01, 0x0a, 0x28, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, + 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0a, 0x0a, 0x08, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x22, 0xff, 0x03, 0x0a, 0x10, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x5e, 0x0a, 0x12, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, + 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x10, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x61, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, + 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x6f, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x69, 0x0a, 0x13, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, + 0x6c, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x74, 0x6f, + 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x22, + 0x4c, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x22, 0x93, 0x03, + 0x0a, 0x13, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0xd1, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, + 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x22, + 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x54, 0x52, 0x49, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x43, 0x41, 0x4c, + 0x43, 0x55, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, + 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x48, 0x41, 0x55, + 0x53, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, + 0x49, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, + 0x45, 0x10, 0x06, 0x22, 0xa3, 0x07, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x03, + 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, 0x47, + 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x25, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, + 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x09, + 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x5e, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x72, + 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x11, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x75, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x2b, + 0x0a, 0x29, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x16, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x12, 0x59, 0x0a, 0x11, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, + 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x67, + 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3b, + 0x0a, 0x17, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x0a, 0x0a, 0x16, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x11, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x56, 0x0a, 0x12, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x75, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x22, 0x0a, + 0x20, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x52, 0x75, 0x6e, 0x12, 0x2e, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x1d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x6e, 0x65, 0x78, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x2b, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x6c, + 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x17, 0x0a, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, 0xbf, 0x02, 0x0a, 0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x09, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x2e, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x61, 0x79, + 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, 0x61, 0x79, 0x73, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, + 0x22, 0x55, 0x0a, 0x09, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x19, 0x0a, + 0x15, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a, + 0x06, 0x57, 0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x49, 0x57, + 0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x04, 0x3a, 0xc7, 0x01, 0xea, 0x41, 0xc3, 0x01, 0x0a, 0x29, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x65, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x7d, + 0x2a, 0x17, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x32, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x52, 0x75, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x61, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, + 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x84, 0x04, 0x0a, 0x12, 0x4f, 0x70, 0x74, + 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x35, 0x0a, 0x14, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x73, 0x73, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x73, 0x73, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x73, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x53, 0x75, 0x67, + 0x67, 0x65, 0x73, 0x74, 0x46, 0x69, 0x78, 0x12, 0x5b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, + 0x0a, 0x0b, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x60, 0x0a, + 0x12, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, + 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, + 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x42, + 0x5f, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0f, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_evaluation_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_evaluation_proto_rawDescData = file_google_cloud_ces_v1beta_evaluation_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_evaluation_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_evaluation_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_evaluation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_evaluation_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_evaluation_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_evaluation_proto_enumTypes = make([]protoimpl.EnumInfo, 11) +var file_google_cloud_ces_v1beta_evaluation_proto_msgTypes = make([]protoimpl.MessageInfo, 54) +var file_google_cloud_ces_v1beta_evaluation_proto_goTypes = []any{ + (Evaluation_Scenario_TaskCompletionBehavior)(0), // 0: google.cloud.ces.v1beta.Evaluation.Scenario.TaskCompletionBehavior + (Evaluation_Scenario_UserGoalBehavior)(0), // 1: google.cloud.ces.v1beta.Evaluation.Scenario.UserGoalBehavior + (EvaluationResult_Outcome)(0), // 2: google.cloud.ces.v1beta.EvaluationResult.Outcome + (EvaluationResult_ExecutionState)(0), // 3: google.cloud.ces.v1beta.EvaluationResult.ExecutionState + (EvaluationResult_SpanLatency_Type)(0), // 4: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.Type + (EvaluationRun_EvaluationType)(0), // 5: google.cloud.ces.v1beta.EvaluationRun.EvaluationType + (EvaluationRun_EvaluationRunState)(0), // 6: google.cloud.ces.v1beta.EvaluationRun.EvaluationRunState + (EvaluationConfig_EvaluationChannel)(0), // 7: google.cloud.ces.v1beta.EvaluationConfig.EvaluationChannel + (EvaluationErrorInfo_ErrorType)(0), // 8: google.cloud.ces.v1beta.EvaluationErrorInfo.ErrorType + (ScheduledEvaluationRun_SchedulingConfig_Frequency)(0), // 9: google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig.Frequency + (OptimizationConfig_OptimizationStatus)(0), // 10: google.cloud.ces.v1beta.OptimizationConfig.OptimizationStatus + (*AggregatedMetrics)(nil), // 11: google.cloud.ces.v1beta.AggregatedMetrics + (*Evaluation)(nil), // 12: google.cloud.ces.v1beta.Evaluation + (*EvaluationDataset)(nil), // 13: google.cloud.ces.v1beta.EvaluationDataset + (*EvaluationResult)(nil), // 14: google.cloud.ces.v1beta.EvaluationResult + (*EvaluationRun)(nil), // 15: google.cloud.ces.v1beta.EvaluationRun + (*LatencyReport)(nil), // 16: google.cloud.ces.v1beta.LatencyReport + (*EvaluationExpectation)(nil), // 17: google.cloud.ces.v1beta.EvaluationExpectation + (*EvaluationConfig)(nil), // 18: google.cloud.ces.v1beta.EvaluationConfig + (*EvaluationErrorInfo)(nil), // 19: google.cloud.ces.v1beta.EvaluationErrorInfo + (*RunEvaluationRequest)(nil), // 20: google.cloud.ces.v1beta.RunEvaluationRequest + (*ScheduledEvaluationRun)(nil), // 21: google.cloud.ces.v1beta.ScheduledEvaluationRun + (*PersonaRunConfig)(nil), // 22: google.cloud.ces.v1beta.PersonaRunConfig + (*OptimizationConfig)(nil), // 23: google.cloud.ces.v1beta.OptimizationConfig + (*AggregatedMetrics_ToolMetrics)(nil), // 24: google.cloud.ces.v1beta.AggregatedMetrics.ToolMetrics + (*AggregatedMetrics_TurnLatencyMetrics)(nil), // 25: google.cloud.ces.v1beta.AggregatedMetrics.TurnLatencyMetrics + (*AggregatedMetrics_ToolCallLatencyMetrics)(nil), // 26: google.cloud.ces.v1beta.AggregatedMetrics.ToolCallLatencyMetrics + (*AggregatedMetrics_SemanticSimilarityMetrics)(nil), // 27: google.cloud.ces.v1beta.AggregatedMetrics.SemanticSimilarityMetrics + (*AggregatedMetrics_HallucinationMetrics)(nil), // 28: google.cloud.ces.v1beta.AggregatedMetrics.HallucinationMetrics + (*AggregatedMetrics_MetricsByAppVersion)(nil), // 29: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion + (*AggregatedMetrics_MetricsByTurn)(nil), // 30: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn + (*Evaluation_GoldenExpectation)(nil), // 31: google.cloud.ces.v1beta.Evaluation.GoldenExpectation + (*Evaluation_Step)(nil), // 32: google.cloud.ces.v1beta.Evaluation.Step + (*Evaluation_GoldenTurn)(nil), // 33: google.cloud.ces.v1beta.Evaluation.GoldenTurn + (*Evaluation_Golden)(nil), // 34: google.cloud.ces.v1beta.Evaluation.Golden + (*Evaluation_ScenarioExpectation)(nil), // 35: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation + (*Evaluation_Scenario)(nil), // 36: google.cloud.ces.v1beta.Evaluation.Scenario + (*Evaluation_ScenarioExpectation_ToolExpectation)(nil), // 37: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.ToolExpectation + (*Evaluation_Scenario_UserFact)(nil), // 38: google.cloud.ces.v1beta.Evaluation.Scenario.UserFact + (*EvaluationResult_GoldenExpectationOutcome)(nil), // 39: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome + (*EvaluationResult_EvaluationExpectationResult)(nil), // 40: google.cloud.ces.v1beta.EvaluationResult.EvaluationExpectationResult + (*EvaluationResult_GoldenResult)(nil), // 41: google.cloud.ces.v1beta.EvaluationResult.GoldenResult + (*EvaluationResult_ScenarioRubricOutcome)(nil), // 42: google.cloud.ces.v1beta.EvaluationResult.ScenarioRubricOutcome + (*EvaluationResult_ScenarioExpectationOutcome)(nil), // 43: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome + (*EvaluationResult_ScenarioResult)(nil), // 44: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult + (*EvaluationResult_SpanLatency)(nil), // 45: google.cloud.ces.v1beta.EvaluationResult.SpanLatency + (*EvaluationResult_ToolCallLatency)(nil), // 46: google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency + (*EvaluationResult_HallucinationResult)(nil), // 47: google.cloud.ces.v1beta.EvaluationResult.HallucinationResult + (*EvaluationResult_UserGoalSatisfactionResult)(nil), // 48: google.cloud.ces.v1beta.EvaluationResult.UserGoalSatisfactionResult + (*EvaluationResult_SemanticSimilarityResult)(nil), // 49: google.cloud.ces.v1beta.EvaluationResult.SemanticSimilarityResult + (*EvaluationResult_OverallToolInvocationResult)(nil), // 50: google.cloud.ces.v1beta.EvaluationResult.OverallToolInvocationResult + (*EvaluationResult_TaskCompletionResult)(nil), // 51: google.cloud.ces.v1beta.EvaluationResult.TaskCompletionResult + (*EvaluationResult_GoldenExpectationOutcome_ToolInvocationResult)(nil), // 52: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.ToolInvocationResult + (*EvaluationResult_GoldenResult_TurnReplayResult)(nil), // 53: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult + (*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall)(nil), // 54: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.ObservedToolCall + (*EvaluationRun_Progress)(nil), // 55: google.cloud.ces.v1beta.EvaluationRun.Progress + (*EvaluationRun_EvaluationRunSummary)(nil), // 56: google.cloud.ces.v1beta.EvaluationRun.EvaluationRunSummary + nil, // 57: google.cloud.ces.v1beta.EvaluationRun.EvaluationRunSummariesEntry + (*LatencyReport_LatencyMetrics)(nil), // 58: google.cloud.ces.v1beta.LatencyReport.LatencyMetrics + (*LatencyReport_ToolLatency)(nil), // 59: google.cloud.ces.v1beta.LatencyReport.ToolLatency + (*LatencyReport_CallbackLatency)(nil), // 60: google.cloud.ces.v1beta.LatencyReport.CallbackLatency + (*LatencyReport_GuardrailLatency)(nil), // 61: google.cloud.ces.v1beta.LatencyReport.GuardrailLatency + (*LatencyReport_LlmCallLatency)(nil), // 62: google.cloud.ces.v1beta.LatencyReport.LlmCallLatency + (*EvaluationExpectation_LlmCriteria)(nil), // 63: google.cloud.ces.v1beta.EvaluationExpectation.LlmCriteria + (*ScheduledEvaluationRun_SchedulingConfig)(nil), // 64: google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig + (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp + (*EvaluationPersona)(nil), // 66: google.cloud.ces.v1beta.EvaluationPersona + (*status.Status)(nil), // 67: google.rpc.Status + (*EvaluationMetricsThresholds)(nil), // 68: google.cloud.ces.v1beta.EvaluationMetricsThresholds + (GoldenRunMethod)(0), // 69: google.cloud.ces.v1beta.GoldenRunMethod + (*InputAudioConfig)(nil), // 70: google.cloud.ces.v1beta.InputAudioConfig + (*OutputAudioConfig)(nil), // 71: google.cloud.ces.v1beta.OutputAudioConfig + (EvaluationToolCallBehaviour)(0), // 72: google.cloud.ces.v1beta.EvaluationToolCallBehaviour + (*structpb.Struct)(nil), // 73: google.protobuf.Struct + (*durationpb.Duration)(nil), // 74: google.protobuf.Duration + (*ToolCall)(nil), // 75: google.cloud.ces.v1beta.ToolCall + (*ToolResponse)(nil), // 76: google.cloud.ces.v1beta.ToolResponse + (*Message)(nil), // 77: google.cloud.ces.v1beta.Message + (*AgentTransfer)(nil), // 78: google.cloud.ces.v1beta.AgentTransfer + (*SessionInput)(nil), // 79: google.cloud.ces.v1beta.SessionInput + (*Span)(nil), // 80: google.cloud.ces.v1beta.Span + (*ToolsetTool)(nil), // 81: google.cloud.ces.v1beta.ToolsetTool +} +var file_google_cloud_ces_v1beta_evaluation_proto_depIdxs = []int32{ + 29, // 0: google.cloud.ces.v1beta.AggregatedMetrics.metrics_by_app_version:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion + 34, // 1: google.cloud.ces.v1beta.Evaluation.golden:type_name -> google.cloud.ces.v1beta.Evaluation.Golden + 36, // 2: google.cloud.ces.v1beta.Evaluation.scenario:type_name -> google.cloud.ces.v1beta.Evaluation.Scenario + 65, // 3: google.cloud.ces.v1beta.Evaluation.create_time:type_name -> google.protobuf.Timestamp + 65, // 4: google.cloud.ces.v1beta.Evaluation.update_time:type_name -> google.protobuf.Timestamp + 11, // 5: google.cloud.ces.v1beta.Evaluation.aggregated_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics + 14, // 6: google.cloud.ces.v1beta.Evaluation.last_completed_result:type_name -> google.cloud.ces.v1beta.EvaluationResult + 14, // 7: google.cloud.ces.v1beta.Evaluation.last_ten_results:type_name -> google.cloud.ces.v1beta.EvaluationResult + 65, // 8: google.cloud.ces.v1beta.EvaluationDataset.create_time:type_name -> google.protobuf.Timestamp + 65, // 9: google.cloud.ces.v1beta.EvaluationDataset.update_time:type_name -> google.protobuf.Timestamp + 11, // 10: google.cloud.ces.v1beta.EvaluationDataset.aggregated_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics + 41, // 11: google.cloud.ces.v1beta.EvaluationResult.golden_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.GoldenResult + 44, // 12: google.cloud.ces.v1beta.EvaluationResult.scenario_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.ScenarioResult + 65, // 13: google.cloud.ces.v1beta.EvaluationResult.create_time:type_name -> google.protobuf.Timestamp + 2, // 14: google.cloud.ces.v1beta.EvaluationResult.evaluation_status:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 66, // 15: google.cloud.ces.v1beta.EvaluationResult.persona:type_name -> google.cloud.ces.v1beta.EvaluationPersona + 19, // 16: google.cloud.ces.v1beta.EvaluationResult.error_info:type_name -> google.cloud.ces.v1beta.EvaluationErrorInfo + 67, // 17: google.cloud.ces.v1beta.EvaluationResult.error:type_name -> google.rpc.Status + 65, // 18: google.cloud.ces.v1beta.EvaluationResult.changelog_create_time:type_name -> google.protobuf.Timestamp + 3, // 19: google.cloud.ces.v1beta.EvaluationResult.execution_state:type_name -> google.cloud.ces.v1beta.EvaluationResult.ExecutionState + 68, // 20: google.cloud.ces.v1beta.EvaluationResult.evaluation_metrics_thresholds:type_name -> google.cloud.ces.v1beta.EvaluationMetricsThresholds + 18, // 21: google.cloud.ces.v1beta.EvaluationResult.config:type_name -> google.cloud.ces.v1beta.EvaluationConfig + 69, // 22: google.cloud.ces.v1beta.EvaluationResult.golden_run_method:type_name -> google.cloud.ces.v1beta.GoldenRunMethod + 65, // 23: google.cloud.ces.v1beta.EvaluationRun.create_time:type_name -> google.protobuf.Timestamp + 65, // 24: google.cloud.ces.v1beta.EvaluationRun.changelog_create_time:type_name -> google.protobuf.Timestamp + 5, // 25: google.cloud.ces.v1beta.EvaluationRun.evaluation_type:type_name -> google.cloud.ces.v1beta.EvaluationRun.EvaluationType + 6, // 26: google.cloud.ces.v1beta.EvaluationRun.state:type_name -> google.cloud.ces.v1beta.EvaluationRun.EvaluationRunState + 55, // 27: google.cloud.ces.v1beta.EvaluationRun.progress:type_name -> google.cloud.ces.v1beta.EvaluationRun.Progress + 18, // 28: google.cloud.ces.v1beta.EvaluationRun.config:type_name -> google.cloud.ces.v1beta.EvaluationConfig + 67, // 29: google.cloud.ces.v1beta.EvaluationRun.error:type_name -> google.rpc.Status + 19, // 30: google.cloud.ces.v1beta.EvaluationRun.error_info:type_name -> google.cloud.ces.v1beta.EvaluationErrorInfo + 57, // 31: google.cloud.ces.v1beta.EvaluationRun.evaluation_run_summaries:type_name -> google.cloud.ces.v1beta.EvaluationRun.EvaluationRunSummariesEntry + 16, // 32: google.cloud.ces.v1beta.EvaluationRun.latency_report:type_name -> google.cloud.ces.v1beta.LatencyReport + 22, // 33: google.cloud.ces.v1beta.EvaluationRun.persona_run_configs:type_name -> google.cloud.ces.v1beta.PersonaRunConfig + 23, // 34: google.cloud.ces.v1beta.EvaluationRun.optimization_config:type_name -> google.cloud.ces.v1beta.OptimizationConfig + 69, // 35: google.cloud.ces.v1beta.EvaluationRun.golden_run_method:type_name -> google.cloud.ces.v1beta.GoldenRunMethod + 59, // 36: google.cloud.ces.v1beta.LatencyReport.tool_latencies:type_name -> google.cloud.ces.v1beta.LatencyReport.ToolLatency + 60, // 37: google.cloud.ces.v1beta.LatencyReport.callback_latencies:type_name -> google.cloud.ces.v1beta.LatencyReport.CallbackLatency + 61, // 38: google.cloud.ces.v1beta.LatencyReport.guardrail_latencies:type_name -> google.cloud.ces.v1beta.LatencyReport.GuardrailLatency + 62, // 39: google.cloud.ces.v1beta.LatencyReport.llm_call_latencies:type_name -> google.cloud.ces.v1beta.LatencyReport.LlmCallLatency + 63, // 40: google.cloud.ces.v1beta.EvaluationExpectation.llm_criteria:type_name -> google.cloud.ces.v1beta.EvaluationExpectation.LlmCriteria + 65, // 41: google.cloud.ces.v1beta.EvaluationExpectation.create_time:type_name -> google.protobuf.Timestamp + 65, // 42: google.cloud.ces.v1beta.EvaluationExpectation.update_time:type_name -> google.protobuf.Timestamp + 70, // 43: google.cloud.ces.v1beta.EvaluationConfig.input_audio_config:type_name -> google.cloud.ces.v1beta.InputAudioConfig + 71, // 44: google.cloud.ces.v1beta.EvaluationConfig.output_audio_config:type_name -> google.cloud.ces.v1beta.OutputAudioConfig + 7, // 45: google.cloud.ces.v1beta.EvaluationConfig.evaluation_channel:type_name -> google.cloud.ces.v1beta.EvaluationConfig.EvaluationChannel + 72, // 46: google.cloud.ces.v1beta.EvaluationConfig.tool_call_behaviour:type_name -> google.cloud.ces.v1beta.EvaluationToolCallBehaviour + 8, // 47: google.cloud.ces.v1beta.EvaluationErrorInfo.error_type:type_name -> google.cloud.ces.v1beta.EvaluationErrorInfo.ErrorType + 18, // 48: google.cloud.ces.v1beta.RunEvaluationRequest.config:type_name -> google.cloud.ces.v1beta.EvaluationConfig + 22, // 49: google.cloud.ces.v1beta.RunEvaluationRequest.persona_run_configs:type_name -> google.cloud.ces.v1beta.PersonaRunConfig + 23, // 50: google.cloud.ces.v1beta.RunEvaluationRequest.optimization_config:type_name -> google.cloud.ces.v1beta.OptimizationConfig + 69, // 51: google.cloud.ces.v1beta.RunEvaluationRequest.golden_run_method:type_name -> google.cloud.ces.v1beta.GoldenRunMethod + 20, // 52: google.cloud.ces.v1beta.ScheduledEvaluationRun.request:type_name -> google.cloud.ces.v1beta.RunEvaluationRequest + 64, // 53: google.cloud.ces.v1beta.ScheduledEvaluationRun.scheduling_config:type_name -> google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig + 65, // 54: google.cloud.ces.v1beta.ScheduledEvaluationRun.next_scheduled_execution_time:type_name -> google.protobuf.Timestamp + 65, // 55: google.cloud.ces.v1beta.ScheduledEvaluationRun.create_time:type_name -> google.protobuf.Timestamp + 65, // 56: google.cloud.ces.v1beta.ScheduledEvaluationRun.update_time:type_name -> google.protobuf.Timestamp + 10, // 57: google.cloud.ces.v1beta.OptimizationConfig.status:type_name -> google.cloud.ces.v1beta.OptimizationConfig.OptimizationStatus + 73, // 58: google.cloud.ces.v1beta.OptimizationConfig.loss_report:type_name -> google.protobuf.Struct + 74, // 59: google.cloud.ces.v1beta.AggregatedMetrics.TurnLatencyMetrics.average_latency:type_name -> google.protobuf.Duration + 74, // 60: google.cloud.ces.v1beta.AggregatedMetrics.ToolCallLatencyMetrics.average_latency:type_name -> google.protobuf.Duration + 24, // 61: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.tool_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.ToolMetrics + 27, // 62: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.semantic_similarity_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.SemanticSimilarityMetrics + 28, // 63: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.hallucination_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.HallucinationMetrics + 26, // 64: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.tool_call_latency_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.ToolCallLatencyMetrics + 25, // 65: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.turn_latency_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.TurnLatencyMetrics + 30, // 66: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByAppVersion.metrics_by_turn:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn + 24, // 67: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn.tool_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.ToolMetrics + 27, // 68: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn.semantic_similarity_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.SemanticSimilarityMetrics + 28, // 69: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn.hallucination_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.HallucinationMetrics + 26, // 70: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn.tool_call_latency_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.ToolCallLatencyMetrics + 25, // 71: google.cloud.ces.v1beta.AggregatedMetrics.MetricsByTurn.turn_latency_metrics:type_name -> google.cloud.ces.v1beta.AggregatedMetrics.TurnLatencyMetrics + 75, // 72: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.tool_call:type_name -> google.cloud.ces.v1beta.ToolCall + 76, // 73: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 77, // 74: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.agent_response:type_name -> google.cloud.ces.v1beta.Message + 78, // 75: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.agent_transfer:type_name -> google.cloud.ces.v1beta.AgentTransfer + 73, // 76: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.updated_variables:type_name -> google.protobuf.Struct + 76, // 77: google.cloud.ces.v1beta.Evaluation.GoldenExpectation.mock_tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 79, // 78: google.cloud.ces.v1beta.Evaluation.Step.user_input:type_name -> google.cloud.ces.v1beta.SessionInput + 78, // 79: google.cloud.ces.v1beta.Evaluation.Step.agent_transfer:type_name -> google.cloud.ces.v1beta.AgentTransfer + 31, // 80: google.cloud.ces.v1beta.Evaluation.Step.expectation:type_name -> google.cloud.ces.v1beta.Evaluation.GoldenExpectation + 32, // 81: google.cloud.ces.v1beta.Evaluation.GoldenTurn.steps:type_name -> google.cloud.ces.v1beta.Evaluation.Step + 80, // 82: google.cloud.ces.v1beta.Evaluation.GoldenTurn.root_span:type_name -> google.cloud.ces.v1beta.Span + 33, // 83: google.cloud.ces.v1beta.Evaluation.Golden.turns:type_name -> google.cloud.ces.v1beta.Evaluation.GoldenTurn + 37, // 84: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.tool_expectation:type_name -> google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.ToolExpectation + 77, // 85: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.agent_response:type_name -> google.cloud.ces.v1beta.Message + 38, // 86: google.cloud.ces.v1beta.Evaluation.Scenario.user_facts:type_name -> google.cloud.ces.v1beta.Evaluation.Scenario.UserFact + 35, // 87: google.cloud.ces.v1beta.Evaluation.Scenario.scenario_expectations:type_name -> google.cloud.ces.v1beta.Evaluation.ScenarioExpectation + 73, // 88: google.cloud.ces.v1beta.Evaluation.Scenario.variable_overrides:type_name -> google.protobuf.Struct + 0, // 89: google.cloud.ces.v1beta.Evaluation.Scenario.task_completion_behavior:type_name -> google.cloud.ces.v1beta.Evaluation.Scenario.TaskCompletionBehavior + 1, // 90: google.cloud.ces.v1beta.Evaluation.Scenario.user_goal_behavior:type_name -> google.cloud.ces.v1beta.Evaluation.Scenario.UserGoalBehavior + 75, // 91: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.ToolExpectation.expected_tool_call:type_name -> google.cloud.ces.v1beta.ToolCall + 76, // 92: google.cloud.ces.v1beta.Evaluation.ScenarioExpectation.ToolExpectation.mock_tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 75, // 93: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.observed_tool_call:type_name -> google.cloud.ces.v1beta.ToolCall + 76, // 94: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.observed_tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 77, // 95: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.observed_agent_response:type_name -> google.cloud.ces.v1beta.Message + 78, // 96: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.observed_agent_transfer:type_name -> google.cloud.ces.v1beta.AgentTransfer + 31, // 97: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.expectation:type_name -> google.cloud.ces.v1beta.Evaluation.GoldenExpectation + 2, // 98: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 49, // 99: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.semantic_similarity_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.SemanticSimilarityResult + 52, // 100: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.tool_invocation_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.ToolInvocationResult + 2, // 101: google.cloud.ces.v1beta.EvaluationResult.EvaluationExpectationResult.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 53, // 102: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.turn_replay_results:type_name -> google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult + 40, // 103: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.evaluation_expectation_results:type_name -> google.cloud.ces.v1beta.EvaluationResult.EvaluationExpectationResult + 54, // 104: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.observed_tool_call:type_name -> google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.ObservedToolCall + 77, // 105: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.observed_agent_response:type_name -> google.cloud.ces.v1beta.Message + 35, // 106: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.expectation:type_name -> google.cloud.ces.v1beta.Evaluation.ScenarioExpectation + 2, // 107: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 38, // 108: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.user_facts:type_name -> google.cloud.ces.v1beta.Evaluation.Scenario.UserFact + 43, // 109: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.expectation_outcomes:type_name -> google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome + 42, // 110: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.rubric_outcomes:type_name -> google.cloud.ces.v1beta.EvaluationResult.ScenarioRubricOutcome + 47, // 111: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.hallucination_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.HallucinationResult + 51, // 112: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.task_completion_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.TaskCompletionResult + 46, // 113: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.tool_call_latencies:type_name -> google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency + 48, // 114: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.user_goal_satisfaction_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.UserGoalSatisfactionResult + 45, // 115: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.span_latencies:type_name -> google.cloud.ces.v1beta.EvaluationResult.SpanLatency + 40, // 116: google.cloud.ces.v1beta.EvaluationResult.ScenarioResult.evaluation_expectation_results:type_name -> google.cloud.ces.v1beta.EvaluationResult.EvaluationExpectationResult + 81, // 117: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.toolset:type_name -> google.cloud.ces.v1beta.ToolsetTool + 4, // 118: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.type:type_name -> google.cloud.ces.v1beta.EvaluationResult.SpanLatency.Type + 65, // 119: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.start_time:type_name -> google.protobuf.Timestamp + 65, // 120: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.end_time:type_name -> google.protobuf.Timestamp + 74, // 121: google.cloud.ces.v1beta.EvaluationResult.SpanLatency.execution_latency:type_name -> google.protobuf.Duration + 65, // 122: google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency.start_time:type_name -> google.protobuf.Timestamp + 65, // 123: google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency.end_time:type_name -> google.protobuf.Timestamp + 74, // 124: google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency.execution_latency:type_name -> google.protobuf.Duration + 2, // 125: google.cloud.ces.v1beta.EvaluationResult.SemanticSimilarityResult.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 2, // 126: google.cloud.ces.v1beta.EvaluationResult.OverallToolInvocationResult.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 2, // 127: google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome.ToolInvocationResult.outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.Outcome + 39, // 128: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.expectation_outcome:type_name -> google.cloud.ces.v1beta.EvaluationResult.GoldenExpectationOutcome + 47, // 129: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.hallucination_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.HallucinationResult + 74, // 130: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.turn_latency:type_name -> google.protobuf.Duration + 46, // 131: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.tool_call_latencies:type_name -> google.cloud.ces.v1beta.EvaluationResult.ToolCallLatency + 49, // 132: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.semantic_similarity_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.SemanticSimilarityResult + 50, // 133: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.overall_tool_invocation_result:type_name -> google.cloud.ces.v1beta.EvaluationResult.OverallToolInvocationResult + 19, // 134: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.error_info:type_name -> google.cloud.ces.v1beta.EvaluationErrorInfo + 45, // 135: google.cloud.ces.v1beta.EvaluationResult.GoldenResult.TurnReplayResult.span_latencies:type_name -> google.cloud.ces.v1beta.EvaluationResult.SpanLatency + 75, // 136: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.ObservedToolCall.tool_call:type_name -> google.cloud.ces.v1beta.ToolCall + 76, // 137: google.cloud.ces.v1beta.EvaluationResult.ScenarioExpectationOutcome.ObservedToolCall.tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 56, // 138: google.cloud.ces.v1beta.EvaluationRun.EvaluationRunSummariesEntry.value:type_name -> google.cloud.ces.v1beta.EvaluationRun.EvaluationRunSummary + 74, // 139: google.cloud.ces.v1beta.LatencyReport.LatencyMetrics.p50_latency:type_name -> google.protobuf.Duration + 74, // 140: google.cloud.ces.v1beta.LatencyReport.LatencyMetrics.p90_latency:type_name -> google.protobuf.Duration + 74, // 141: google.cloud.ces.v1beta.LatencyReport.LatencyMetrics.p99_latency:type_name -> google.protobuf.Duration + 81, // 142: google.cloud.ces.v1beta.LatencyReport.ToolLatency.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 58, // 143: google.cloud.ces.v1beta.LatencyReport.ToolLatency.latency_metrics:type_name -> google.cloud.ces.v1beta.LatencyReport.LatencyMetrics + 58, // 144: google.cloud.ces.v1beta.LatencyReport.CallbackLatency.latency_metrics:type_name -> google.cloud.ces.v1beta.LatencyReport.LatencyMetrics + 58, // 145: google.cloud.ces.v1beta.LatencyReport.GuardrailLatency.latency_metrics:type_name -> google.cloud.ces.v1beta.LatencyReport.LatencyMetrics + 58, // 146: google.cloud.ces.v1beta.LatencyReport.LlmCallLatency.latency_metrics:type_name -> google.cloud.ces.v1beta.LatencyReport.LatencyMetrics + 9, // 147: google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig.frequency:type_name -> google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig.Frequency + 65, // 148: google.cloud.ces.v1beta.ScheduledEvaluationRun.SchedulingConfig.start_time:type_name -> google.protobuf.Timestamp + 149, // [149:149] is the sub-list for method output_type + 149, // [149:149] is the sub-list for method input_type + 149, // [149:149] is the sub-list for extension type_name + 149, // [149:149] is the sub-list for extension extendee + 0, // [0:149] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_evaluation_proto_init() } +func file_google_cloud_ces_v1beta_evaluation_proto_init() { + if File_google_cloud_ces_v1beta_evaluation_proto != nil { + return + } + file_google_cloud_ces_v1beta_app_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_example_proto_init() + file_google_cloud_ces_v1beta_fakes_proto_init() + file_google_cloud_ces_v1beta_golden_run_proto_init() + file_google_cloud_ces_v1beta_session_service_proto_init() + file_google_cloud_ces_v1beta_toolset_tool_proto_init() + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[1].OneofWrappers = []any{ + (*Evaluation_Golden_)(nil), + (*Evaluation_Scenario_)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[3].OneofWrappers = []any{ + (*EvaluationResult_GoldenResult_)(nil), + (*EvaluationResult_ScenarioResult_)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[6].OneofWrappers = []any{ + (*EvaluationExpectation_LlmCriteria_)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[9].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[20].OneofWrappers = []any{ + (*Evaluation_GoldenExpectation_ToolCall)(nil), + (*Evaluation_GoldenExpectation_ToolResponse)(nil), + (*Evaluation_GoldenExpectation_AgentResponse)(nil), + (*Evaluation_GoldenExpectation_AgentTransfer)(nil), + (*Evaluation_GoldenExpectation_UpdatedVariables)(nil), + (*Evaluation_GoldenExpectation_MockToolResponse)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[21].OneofWrappers = []any{ + (*Evaluation_Step_UserInput)(nil), + (*Evaluation_Step_AgentTransfer)(nil), + (*Evaluation_Step_Expectation)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[24].OneofWrappers = []any{ + (*Evaluation_ScenarioExpectation_ToolExpectation_)(nil), + (*Evaluation_ScenarioExpectation_AgentResponse)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[28].OneofWrappers = []any{ + (*EvaluationResult_GoldenExpectationOutcome_ObservedToolCall)(nil), + (*EvaluationResult_GoldenExpectationOutcome_ObservedToolResponse)(nil), + (*EvaluationResult_GoldenExpectationOutcome_ObservedAgentResponse)(nil), + (*EvaluationResult_GoldenExpectationOutcome_ObservedAgentTransfer)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[31].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[32].OneofWrappers = []any{ + (*EvaluationResult_ScenarioExpectationOutcome_ObservedToolCall_)(nil), + (*EvaluationResult_ScenarioExpectationOutcome_ObservedAgentResponse)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[33].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[34].OneofWrappers = []any{ + (*EvaluationResult_SpanLatency_Resource)(nil), + (*EvaluationResult_SpanLatency_Toolset)(nil), + (*EvaluationResult_SpanLatency_Model)(nil), + (*EvaluationResult_SpanLatency_Callback)(nil), + } + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[36].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[37].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[38].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[39].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[40].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[41].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[42].OneofWrappers = []any{} + file_google_cloud_ces_v1beta_evaluation_proto_msgTypes[48].OneofWrappers = []any{ + (*LatencyReport_ToolLatency_Tool)(nil), + (*LatencyReport_ToolLatency_ToolsetTool)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_evaluation_proto_rawDesc, + NumEnums: 11, + NumMessages: 54, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_evaluation_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_evaluation_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_evaluation_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_evaluation_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_evaluation_proto = out.File + file_google_cloud_ces_v1beta_evaluation_proto_rawDesc = nil + file_google_cloud_ces_v1beta_evaluation_proto_goTypes = nil + file_google_cloud_ces_v1beta_evaluation_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/evaluation_service.pb.go b/ces/apiv1beta/cespb/evaluation_service.pb.go new file mode 100644 index 000000000000..046ccffa0c55 --- /dev/null +++ b/ces/apiv1beta/cespb/evaluation_service.pb.go @@ -0,0 +1,4318 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/evaluation_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Defines the strategy for handling conflicts when an evaluation with the +// same evaluation ID already exists in the app. +type ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy int32 + +const ( + // The conflict resolution strategy is unspecified. + ImportEvaluationsRequest_ImportOptions_CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy = 0 + // Overwrite the existing evaluation with the new one. + ImportEvaluationsRequest_ImportOptions_OVERWRITE ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy = 1 + // Keep the existing evaluation and skip the new one. + ImportEvaluationsRequest_ImportOptions_SKIP ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy = 2 + // Keep the existing evaluation and duplicate the new one as a new + // evaluation. + ImportEvaluationsRequest_ImportOptions_DUPLICATE ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy = 3 +) + +// Enum value maps for ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy. +var ( + ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy_name = map[int32]string{ + 0: "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED", + 1: "OVERWRITE", + 2: "SKIP", + 3: "DUPLICATE", + } + ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy_value = map[string]int32{ + "CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED": 0, + "OVERWRITE": 1, + "SKIP": 2, + "DUPLICATE": 3, + } +) + +func (x ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) Enum() *ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy { + p := new(ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) + *p = x + return p +} + +func (x ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_evaluation_service_proto_enumTypes[0].Descriptor() +} + +func (ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_evaluation_service_proto_enumTypes[0] +} + +func (x ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy.Descriptor instead. +func (ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{6, 1, 0} +} + +// Response message for +// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation]. +type RunEvaluationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the evaluation run that was created. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluation_run}` + EvaluationRun string `protobuf:"bytes,1,opt,name=evaluation_run,json=evaluationRun,proto3" json:"evaluation_run,omitempty"` +} + +func (x *RunEvaluationResponse) Reset() { + *x = RunEvaluationResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunEvaluationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunEvaluationResponse) ProtoMessage() {} + +func (x *RunEvaluationResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunEvaluationResponse.ProtoReflect.Descriptor instead. +func (*RunEvaluationResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{0} +} + +func (x *RunEvaluationResponse) GetEvaluationRun() string { + if x != nil { + return x.EvaluationRun + } + return "" +} + +// Operation metadata for +// [EvaluationService.RunEvaluation][google.cloud.ces.v1beta.EvaluationService.RunEvaluation] +type RunEvaluationOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The list of evaluations that were run. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}` + Evaluations []string `protobuf:"bytes,1,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // Output only. The evaluation run that was created. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluation_run}` + EvaluationRun string `protobuf:"bytes,2,opt,name=evaluation_run,json=evaluationRun,proto3" json:"evaluation_run,omitempty"` + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation completed. + EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. The verb of the operation. + Verb string `protobuf:"bytes,5,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Identifies whether the user has requested cancellation of the + // operation. Operations that have been cancelled successfully have + // [google.longrunning.Operation.error][google.longrunning.Operation.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`, + // corresponding to `Code.CANCELLED`. + CancelRequested bool `protobuf:"varint,6,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` +} + +func (x *RunEvaluationOperationMetadata) Reset() { + *x = RunEvaluationOperationMetadata{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunEvaluationOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunEvaluationOperationMetadata) ProtoMessage() {} + +func (x *RunEvaluationOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunEvaluationOperationMetadata.ProtoReflect.Descriptor instead. +func (*RunEvaluationOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{1} +} + +func (x *RunEvaluationOperationMetadata) GetEvaluations() []string { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *RunEvaluationOperationMetadata) GetEvaluationRun() string { + if x != nil { + return x.EvaluationRun + } + return "" +} + +func (x *RunEvaluationOperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *RunEvaluationOperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *RunEvaluationOperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *RunEvaluationOperationMetadata) GetCancelRequested() bool { + if x != nil { + return x.CancelRequested + } + return false +} + +// Operation metadata for +// [EvaluationService.GenerateEvaluation][google.cloud.ces.v1beta.EvaluationService.GenerateEvaluation]. +type GenerateEvaluationOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GenerateEvaluationOperationMetadata) Reset() { + *x = GenerateEvaluationOperationMetadata{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateEvaluationOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateEvaluationOperationMetadata) ProtoMessage() {} + +func (x *GenerateEvaluationOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateEvaluationOperationMetadata.ProtoReflect.Descriptor instead. +func (*GenerateEvaluationOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{2} +} + +// Operation metadata for +// [EvaluationService.DeleteEvaluationRun][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationRun]. +type DeleteEvaluationRunOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeleteEvaluationRunOperationMetadata) Reset() { + *x = DeleteEvaluationRunOperationMetadata{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationRunOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationRunOperationMetadata) ProtoMessage() {} + +func (x *DeleteEvaluationRunOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationRunOperationMetadata.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationRunOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{3} +} + +// Request message for +// [EvaluationService.CreateEvaluation][google.cloud.ces.v1beta.EvaluationService.CreateEvaluation]. +type CreateEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to create the evaluation for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the evaluation, which will become the final + // component of the evaluation's resource name. If not provided, a unique ID + // will be automatically assigned for the evaluation. + EvaluationId string `protobuf:"bytes,2,opt,name=evaluation_id,json=evaluationId,proto3" json:"evaluation_id,omitempty"` + // Required. The evaluation to create. + Evaluation *Evaluation `protobuf:"bytes,3,opt,name=evaluation,proto3" json:"evaluation,omitempty"` +} + +func (x *CreateEvaluationRequest) Reset() { + *x = CreateEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEvaluationRequest) ProtoMessage() {} + +func (x *CreateEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEvaluationRequest.ProtoReflect.Descriptor instead. +func (*CreateEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateEvaluationRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEvaluationRequest) GetEvaluationId() string { + if x != nil { + return x.EvaluationId + } + return "" +} + +func (x *CreateEvaluationRequest) GetEvaluation() *Evaluation { + if x != nil { + return x.Evaluation + } + return nil +} + +// Request message for +// [EvaluationService.GenerateEvaluation][google.cloud.ces.v1beta.EvaluationService.GenerateEvaluation]. +type GenerateEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The conversation to create the golden evaluation for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}` + Conversation string `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation,omitempty"` + // Optional. Indicate the source of the conversation. If not set, all sources + // will be searched. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation_service.proto. + Source Conversation_Source `protobuf:"varint,2,opt,name=source,proto3,enum=google.cloud.ces.v1beta.Conversation_Source" json:"source,omitempty"` +} + +func (x *GenerateEvaluationRequest) Reset() { + *x = GenerateEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateEvaluationRequest) ProtoMessage() {} + +func (x *GenerateEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateEvaluationRequest.ProtoReflect.Descriptor instead. +func (*GenerateEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{5} +} + +func (x *GenerateEvaluationRequest) GetConversation() string { + if x != nil { + return x.Conversation + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation_service.proto. +func (x *GenerateEvaluationRequest) GetSource() Conversation_Source { + if x != nil { + return x.Source + } + return Conversation_SOURCE_UNSPECIFIED +} + +// Request message for +// [EvaluationService.ImportEvaluations][google.cloud.ces.v1beta.EvaluationService.ImportEvaluations]. +type ImportEvaluationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the evaluations to import from. + // + // Types that are assignable to Source: + // + // *ImportEvaluationsRequest_ConversationList_ + // *ImportEvaluationsRequest_GcsUri + // *ImportEvaluationsRequest_CsvContent + Source isImportEvaluationsRequest_Source `protobuf_oneof:"source"` + // Required. The app to import the evaluations into. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Options governing the import process for the evaluations. + ImportOptions *ImportEvaluationsRequest_ImportOptions `protobuf:"bytes,5,opt,name=import_options,json=importOptions,proto3" json:"import_options,omitempty"` +} + +func (x *ImportEvaluationsRequest) Reset() { + *x = ImportEvaluationsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportEvaluationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportEvaluationsRequest) ProtoMessage() {} + +func (x *ImportEvaluationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportEvaluationsRequest.ProtoReflect.Descriptor instead. +func (*ImportEvaluationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{6} +} + +func (m *ImportEvaluationsRequest) GetSource() isImportEvaluationsRequest_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ImportEvaluationsRequest) GetConversationList() *ImportEvaluationsRequest_ConversationList { + if x, ok := x.GetSource().(*ImportEvaluationsRequest_ConversationList_); ok { + return x.ConversationList + } + return nil +} + +func (x *ImportEvaluationsRequest) GetGcsUri() string { + if x, ok := x.GetSource().(*ImportEvaluationsRequest_GcsUri); ok { + return x.GcsUri + } + return "" +} + +func (x *ImportEvaluationsRequest) GetCsvContent() []byte { + if x, ok := x.GetSource().(*ImportEvaluationsRequest_CsvContent); ok { + return x.CsvContent + } + return nil +} + +func (x *ImportEvaluationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportEvaluationsRequest) GetImportOptions() *ImportEvaluationsRequest_ImportOptions { + if x != nil { + return x.ImportOptions + } + return nil +} + +type isImportEvaluationsRequest_Source interface { + isImportEvaluationsRequest_Source() +} + +type ImportEvaluationsRequest_ConversationList_ struct { + // The conversations to import the evaluations from. + ConversationList *ImportEvaluationsRequest_ConversationList `protobuf:"bytes,2,opt,name=conversation_list,json=conversationList,proto3,oneof"` +} + +type ImportEvaluationsRequest_GcsUri struct { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // from which to import evaluations. The format of this URI must be + // `gs:///`. + GcsUri string `protobuf:"bytes,3,opt,name=gcs_uri,json=gcsUri,proto3,oneof"` +} + +type ImportEvaluationsRequest_CsvContent struct { + // Raw bytes representing the csv file with the evaluations structure. + CsvContent []byte `protobuf:"bytes,4,opt,name=csv_content,json=csvContent,proto3,oneof"` +} + +func (*ImportEvaluationsRequest_ConversationList_) isImportEvaluationsRequest_Source() {} + +func (*ImportEvaluationsRequest_GcsUri) isImportEvaluationsRequest_Source() {} + +func (*ImportEvaluationsRequest_CsvContent) isImportEvaluationsRequest_Source() {} + +// Response message for +// [EvaluationService.ImportEvaluations][google.cloud.ces.v1beta.EvaluationService.ImportEvaluations]. +type ImportEvaluationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluations that were imported into the app. + Evaluations []*Evaluation `protobuf:"bytes,1,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // Optional. A list of error messages associated with evaluations that failed + // to be imported. + ErrorMessages []string `protobuf:"bytes,2,rep,name=error_messages,json=errorMessages,proto3" json:"error_messages,omitempty"` + // The number of evaluations that were not imported due to errors. + ImportFailureCount int32 `protobuf:"varint,3,opt,name=import_failure_count,json=importFailureCount,proto3" json:"import_failure_count,omitempty"` +} + +func (x *ImportEvaluationsResponse) Reset() { + *x = ImportEvaluationsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportEvaluationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportEvaluationsResponse) ProtoMessage() {} + +func (x *ImportEvaluationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportEvaluationsResponse.ProtoReflect.Descriptor instead. +func (*ImportEvaluationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{7} +} + +func (x *ImportEvaluationsResponse) GetEvaluations() []*Evaluation { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *ImportEvaluationsResponse) GetErrorMessages() []string { + if x != nil { + return x.ErrorMessages + } + return nil +} + +func (x *ImportEvaluationsResponse) GetImportFailureCount() int32 { + if x != nil { + return x.ImportFailureCount + } + return 0 +} + +// Represents the metadata of the long-running operation for +// [EvaluationService.ImportEvaluations][google.cloud.ces.v1beta.EvaluationService.ImportEvaluations]. +type ImportEvaluationsOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` +} + +func (x *ImportEvaluationsOperationMetadata) Reset() { + *x = ImportEvaluationsOperationMetadata{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportEvaluationsOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportEvaluationsOperationMetadata) ProtoMessage() {} + +func (x *ImportEvaluationsOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportEvaluationsOperationMetadata.ProtoReflect.Descriptor instead. +func (*ImportEvaluationsOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{8} +} + +func (x *ImportEvaluationsOperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ImportEvaluationsOperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ImportEvaluationsOperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +// Request message for +// [EvaluationService.CreateEvaluationDataset][google.cloud.ces.v1beta.EvaluationService.CreateEvaluationDataset]. +type CreateEvaluationDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to create the evaluation for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the evaluation dataset, which will become the + // final component of the evaluation dataset's resource name. If not provided, + // a unique ID will be automatically assigned for the evaluation. + EvaluationDatasetId string `protobuf:"bytes,2,opt,name=evaluation_dataset_id,json=evaluationDatasetId,proto3" json:"evaluation_dataset_id,omitempty"` + // Required. The evaluation dataset to create. + EvaluationDataset *EvaluationDataset `protobuf:"bytes,3,opt,name=evaluation_dataset,json=evaluationDataset,proto3" json:"evaluation_dataset,omitempty"` +} + +func (x *CreateEvaluationDatasetRequest) Reset() { + *x = CreateEvaluationDatasetRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateEvaluationDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEvaluationDatasetRequest) ProtoMessage() {} + +func (x *CreateEvaluationDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEvaluationDatasetRequest.ProtoReflect.Descriptor instead. +func (*CreateEvaluationDatasetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{9} +} + +func (x *CreateEvaluationDatasetRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEvaluationDatasetRequest) GetEvaluationDatasetId() string { + if x != nil { + return x.EvaluationDatasetId + } + return "" +} + +func (x *CreateEvaluationDatasetRequest) GetEvaluationDataset() *EvaluationDataset { + if x != nil { + return x.EvaluationDataset + } + return nil +} + +// Request message for +// [EvaluationService.UpdateEvaluation][google.cloud.ces.v1beta.EvaluationService.UpdateEvaluation]. +type UpdateEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The evaluation to update. + Evaluation *Evaluation `protobuf:"bytes,1,opt,name=evaluation,proto3" json:"evaluation,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateEvaluationRequest) Reset() { + *x = UpdateEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateEvaluationRequest) ProtoMessage() {} + +func (x *UpdateEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateEvaluationRequest.ProtoReflect.Descriptor instead. +func (*UpdateEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateEvaluationRequest) GetEvaluation() *Evaluation { + if x != nil { + return x.Evaluation + } + return nil +} + +func (x *UpdateEvaluationRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [EvaluationService.UpdateEvaluationDataset][google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationDataset]. +type UpdateEvaluationDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The evaluation dataset to update. + EvaluationDataset *EvaluationDataset `protobuf:"bytes,1,opt,name=evaluation_dataset,json=evaluationDataset,proto3" json:"evaluation_dataset,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateEvaluationDatasetRequest) Reset() { + *x = UpdateEvaluationDatasetRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateEvaluationDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateEvaluationDatasetRequest) ProtoMessage() {} + +func (x *UpdateEvaluationDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateEvaluationDatasetRequest.ProtoReflect.Descriptor instead. +func (*UpdateEvaluationDatasetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateEvaluationDatasetRequest) GetEvaluationDataset() *EvaluationDataset { + if x != nil { + return x.EvaluationDataset + } + return nil +} + +func (x *UpdateEvaluationDatasetRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [EvaluationService.DeleteEvaluation][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluation]. +type DeleteEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Indicates whether to forcefully delete the evaluation, even if it + // is still referenced by evaluation datasets. + // + // * If `force = false`, the deletion will fail if any datasets still + // reference the evaluation. + // * If `force = true`, all existing references from datasets will be removed + // and the evaluation will be deleted. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + // Optional. The current etag of the evaluation. If an etag is not provided, + // the deletion will overwrite any concurrent changes. If an etag is provided + // and does not match the current etag of the evaluation, deletion will be + // blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteEvaluationRequest) Reset() { + *x = DeleteEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationRequest) ProtoMessage() {} + +func (x *DeleteEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationRequest.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteEvaluationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEvaluationRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +func (x *DeleteEvaluationRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [EvaluationService.DeleteEvaluationResult][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationResult]. +type DeleteEvaluationResultRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation result to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteEvaluationResultRequest) Reset() { + *x = DeleteEvaluationResultRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationResultRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationResultRequest) ProtoMessage() {} + +func (x *DeleteEvaluationResultRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationResultRequest.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationResultRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteEvaluationResultRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.DeleteEvaluationDataset][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationDataset]. +type DeleteEvaluationDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation dataset to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The current etag of the evaluation dataset. If an etag is not + // provided, the deletion will overwrite any concurrent changes. If an etag is + // provided and does not match the current etag of the evaluation dataset, + // deletion will be blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteEvaluationDatasetRequest) Reset() { + *x = DeleteEvaluationDatasetRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationDatasetRequest) ProtoMessage() {} + +func (x *DeleteEvaluationDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationDatasetRequest.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationDatasetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{14} +} + +func (x *DeleteEvaluationDatasetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEvaluationDatasetRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [EvaluationService.DeleteEvaluationRun][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationRun]. +type DeleteEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation run to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteEvaluationRunRequest) Reset() { + *x = DeleteEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationRunRequest) ProtoMessage() {} + +func (x *DeleteEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteEvaluationRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.GetEvaluation][google.cloud.ces.v1beta.EvaluationService.GetEvaluation]. +type GetEvaluationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEvaluationRequest) Reset() { + *x = GetEvaluationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEvaluationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEvaluationRequest) ProtoMessage() {} + +func (x *GetEvaluationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEvaluationRequest.ProtoReflect.Descriptor instead. +func (*GetEvaluationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{16} +} + +func (x *GetEvaluationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.GetEvaluationResult][google.cloud.ces.v1beta.EvaluationService.GetEvaluationResult]. +type GetEvaluationResultRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation result to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEvaluationResultRequest) Reset() { + *x = GetEvaluationResultRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEvaluationResultRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEvaluationResultRequest) ProtoMessage() {} + +func (x *GetEvaluationResultRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEvaluationResultRequest.ProtoReflect.Descriptor instead. +func (*GetEvaluationResultRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{17} +} + +func (x *GetEvaluationResultRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.GetEvaluationDataset][google.cloud.ces.v1beta.EvaluationService.GetEvaluationDataset]. +type GetEvaluationDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation dataset to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEvaluationDatasetRequest) Reset() { + *x = GetEvaluationDatasetRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEvaluationDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEvaluationDatasetRequest) ProtoMessage() {} + +func (x *GetEvaluationDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEvaluationDatasetRequest.ProtoReflect.Descriptor instead. +func (*GetEvaluationDatasetRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{18} +} + +func (x *GetEvaluationDatasetRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.GetEvaluationRun][google.cloud.ces.v1beta.EvaluationService.GetEvaluationRun]. +type GetEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation run to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEvaluationRunRequest) Reset() { + *x = GetEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEvaluationRunRequest) ProtoMessage() {} + +func (x *GetEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*GetEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{19} +} + +func (x *GetEvaluationRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.ListEvaluations][google.cloud.ces.v1beta.EvaluationService.ListEvaluations]. +type ListEvaluationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list evaluations from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListEvaluationsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListEvaluations][google.cloud.ces.v1beta.EvaluationService.ListEvaluations] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Deprecated: Use evaluation_filter and evaluation_run_filter + // instead. + // + // Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation_service.proto. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Filter to be applied on the evaluation when listing the + // evaluations. See https://google.aip.dev/160 for more details. Supported + // fields: evaluation_datasets + EvaluationFilter string `protobuf:"bytes,7,opt,name=evaluation_filter,json=evaluationFilter,proto3" json:"evaluation_filter,omitempty"` + // Optional. Filter string for fields on the associated EvaluationRun + // resources. See https://google.aip.dev/160 for more details. Supported + // fields: create_time, initiated_by, app_version_display_name + EvaluationRunFilter string `protobuf:"bytes,8,opt,name=evaluation_run_filter,json=evaluationRunFilter,proto3" json:"evaluation_run_filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time", and + // "update_time" are supported. Time fields are ordered in descending order, + // and the name field is ordered in ascending order. If not included, + // "update_time" will be the default. See https://google.aip.dev/132#ordering + // for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Optional. Whether to include the last 10 evaluation results for each + // evaluation in the response. + LastTenResults bool `protobuf:"varint,6,opt,name=last_ten_results,json=lastTenResults,proto3" json:"last_ten_results,omitempty"` +} + +func (x *ListEvaluationsRequest) Reset() { + *x = ListEvaluationsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationsRequest) ProtoMessage() {} + +func (x *ListEvaluationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationsRequest.ProtoReflect.Descriptor instead. +func (*ListEvaluationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{20} +} + +func (x *ListEvaluationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEvaluationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEvaluationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Deprecated: Marked as deprecated in google/cloud/ces/v1beta/evaluation_service.proto. +func (x *ListEvaluationsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEvaluationsRequest) GetEvaluationFilter() string { + if x != nil { + return x.EvaluationFilter + } + return "" +} + +func (x *ListEvaluationsRequest) GetEvaluationRunFilter() string { + if x != nil { + return x.EvaluationRunFilter + } + return "" +} + +func (x *ListEvaluationsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListEvaluationsRequest) GetLastTenResults() bool { + if x != nil { + return x.LastTenResults + } + return false +} + +// Request message for +// [EvaluationService.ListEvaluationResults][google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults]. +type ListEvaluationResultsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation to list evaluation results + // from. To filter by evaluation run, use `-` as the evaluation ID and specify + // the evaluation run ID in the filter. For example: + // `projects/{project}/locations/{location}/apps/{app}/evaluations/-` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListEvaluationResultsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListEvaluationResults][google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the evaluation results. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time", and + // "update_time" are supported. Time fields are ordered in descending order, + // and the name field is ordered in ascending order. If not included, + // "update_time" will be the default. See https://google.aip.dev/132#ordering + // for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEvaluationResultsRequest) Reset() { + *x = ListEvaluationResultsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationResultsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationResultsRequest) ProtoMessage() {} + +func (x *ListEvaluationResultsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationResultsRequest.ProtoReflect.Descriptor instead. +func (*ListEvaluationResultsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{21} +} + +func (x *ListEvaluationResultsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEvaluationResultsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEvaluationResultsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEvaluationResultsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEvaluationResultsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Request message for +// [EvaluationService.ListEvaluationDatasets][google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets]. +type ListEvaluationDatasetsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list evaluation datasets from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListEvaluationDatasetsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListEvaluationDatasets][google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the evaluation datasets. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time", and + // "update_time" are supported. Time fields are ordered in descending order, + // and the name field is ordered in ascending order. If not included, + // "update_time" will be the default. See https://google.aip.dev/132#ordering + // for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEvaluationDatasetsRequest) Reset() { + *x = ListEvaluationDatasetsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationDatasetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationDatasetsRequest) ProtoMessage() {} + +func (x *ListEvaluationDatasetsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationDatasetsRequest.ProtoReflect.Descriptor instead. +func (*ListEvaluationDatasetsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{22} +} + +func (x *ListEvaluationDatasetsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEvaluationDatasetsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEvaluationDatasetsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEvaluationDatasetsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEvaluationDatasetsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Request message for +// [EvaluationService.ListEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns]. +type ListEvaluationRunsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list evaluation runs from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListEvaluationRunsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the evaluation runs. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time", and + // "update_time" are supported. Time fields are ordered in descending order, + // and the name field is ordered in ascending order. If not included, + // "update_time" will be the default. See https://google.aip.dev/132#ordering + // for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEvaluationRunsRequest) Reset() { + *x = ListEvaluationRunsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationRunsRequest) ProtoMessage() {} + +func (x *ListEvaluationRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationRunsRequest.ProtoReflect.Descriptor instead. +func (*ListEvaluationRunsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{23} +} + +func (x *ListEvaluationRunsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEvaluationRunsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEvaluationRunsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEvaluationRunsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEvaluationRunsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [EvaluationService.ListEvaluations][google.cloud.ces.v1beta.EvaluationService.ListEvaluations]. +type ListEvaluationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluations. + Evaluations []*Evaluation `protobuf:"bytes,1,rep,name=evaluations,proto3" json:"evaluations,omitempty"` + // A token that can be sent as + // [ListEvaluationsRequest.page_token][google.cloud.ces.v1beta.ListEvaluationsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEvaluationsResponse) Reset() { + *x = ListEvaluationsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationsResponse) ProtoMessage() {} + +func (x *ListEvaluationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationsResponse.ProtoReflect.Descriptor instead. +func (*ListEvaluationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{24} +} + +func (x *ListEvaluationsResponse) GetEvaluations() []*Evaluation { + if x != nil { + return x.Evaluations + } + return nil +} + +func (x *ListEvaluationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Response message for +// [EvaluationService.ListEvaluationResults][google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults]. +type ListEvaluationResultsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluation results. + EvaluationResults []*EvaluationResult `protobuf:"bytes,1,rep,name=evaluation_results,json=evaluationResults,proto3" json:"evaluation_results,omitempty"` + // A token that can be sent as + // [ListEvaluationResultsRequest.page_token][google.cloud.ces.v1beta.ListEvaluationResultsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEvaluationResultsResponse) Reset() { + *x = ListEvaluationResultsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationResultsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationResultsResponse) ProtoMessage() {} + +func (x *ListEvaluationResultsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationResultsResponse.ProtoReflect.Descriptor instead. +func (*ListEvaluationResultsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{25} +} + +func (x *ListEvaluationResultsResponse) GetEvaluationResults() []*EvaluationResult { + if x != nil { + return x.EvaluationResults + } + return nil +} + +func (x *ListEvaluationResultsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Response message for +// [EvaluationService.ListEvaluationDatasets][google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets]. +type ListEvaluationDatasetsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluation datasets. + EvaluationDatasets []*EvaluationDataset `protobuf:"bytes,1,rep,name=evaluation_datasets,json=evaluationDatasets,proto3" json:"evaluation_datasets,omitempty"` + // A token that can be sent as + // [ListEvaluationDatasetsRequest.page_token][google.cloud.ces.v1beta.ListEvaluationDatasetsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEvaluationDatasetsResponse) Reset() { + *x = ListEvaluationDatasetsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationDatasetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationDatasetsResponse) ProtoMessage() {} + +func (x *ListEvaluationDatasetsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationDatasetsResponse.ProtoReflect.Descriptor instead. +func (*ListEvaluationDatasetsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{26} +} + +func (x *ListEvaluationDatasetsResponse) GetEvaluationDatasets() []*EvaluationDataset { + if x != nil { + return x.EvaluationDatasets + } + return nil +} + +func (x *ListEvaluationDatasetsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Response message for +// [EvaluationService.ListEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns]. +type ListEvaluationRunsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluation runs. + EvaluationRuns []*EvaluationRun `protobuf:"bytes,1,rep,name=evaluation_runs,json=evaluationRuns,proto3" json:"evaluation_runs,omitempty"` + // A token that can be sent as + // [ListEvaluationRunsRequest.page_token][google.cloud.ces.v1beta.ListEvaluationRunsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEvaluationRunsResponse) Reset() { + *x = ListEvaluationRunsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationRunsResponse) ProtoMessage() {} + +func (x *ListEvaluationRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationRunsResponse.ProtoReflect.Descriptor instead. +func (*ListEvaluationRunsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{27} +} + +func (x *ListEvaluationRunsResponse) GetEvaluationRuns() []*EvaluationRun { + if x != nil { + return x.EvaluationRuns + } + return nil +} + +func (x *ListEvaluationRunsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [EvaluationService.CreateScheduledEvaluationRun][google.cloud.ces.v1beta.EvaluationService.CreateScheduledEvaluationRun]. +type CreateScheduledEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to create the scheduled evaluation run for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the scheduled evaluation run, which will become + // the final component of the scheduled evaluation run's resource name. If not + // provided, a unique ID will be automatically assigned. + ScheduledEvaluationRunId string `protobuf:"bytes,2,opt,name=scheduled_evaluation_run_id,json=scheduledEvaluationRunId,proto3" json:"scheduled_evaluation_run_id,omitempty"` + // Required. The scheduled evaluation run to create. + ScheduledEvaluationRun *ScheduledEvaluationRun `protobuf:"bytes,3,opt,name=scheduled_evaluation_run,json=scheduledEvaluationRun,proto3" json:"scheduled_evaluation_run,omitempty"` +} + +func (x *CreateScheduledEvaluationRunRequest) Reset() { + *x = CreateScheduledEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateScheduledEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScheduledEvaluationRunRequest) ProtoMessage() {} + +func (x *CreateScheduledEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateScheduledEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*CreateScheduledEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{28} +} + +func (x *CreateScheduledEvaluationRunRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateScheduledEvaluationRunRequest) GetScheduledEvaluationRunId() string { + if x != nil { + return x.ScheduledEvaluationRunId + } + return "" +} + +func (x *CreateScheduledEvaluationRunRequest) GetScheduledEvaluationRun() *ScheduledEvaluationRun { + if x != nil { + return x.ScheduledEvaluationRun + } + return nil +} + +// Request message for +// [EvaluationService.GetScheduledEvaluationRun][google.cloud.ces.v1beta.EvaluationService.GetScheduledEvaluationRun]. +type GetScheduledEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the scheduled evaluation run to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetScheduledEvaluationRunRequest) Reset() { + *x = GetScheduledEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScheduledEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScheduledEvaluationRunRequest) ProtoMessage() {} + +func (x *GetScheduledEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScheduledEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*GetScheduledEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{29} +} + +func (x *GetScheduledEvaluationRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.ListScheduledEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns]. +type ListScheduledEvaluationRunsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list scheduled evaluation runs + // from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListScheduledEvaluationRunsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListScheduledEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the scheduled evaluation runs. + // See https://google.aip.dev/160 for more details. + // Currently supports filtering by: + // * request.evaluations:evaluation_id + // * request.evaluation_dataset:evaluation_dataset_id + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Supported fields are: + // "name" (ascending), "create_time" (descending), "update_time" (descending), + // "next_scheduled_execution" (ascending), and + // "last_completed_run.create_time" (descending). + // If not included, "update_time" will be the default. + // See https://google.aip.dev/132#ordering for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListScheduledEvaluationRunsRequest) Reset() { + *x = ListScheduledEvaluationRunsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScheduledEvaluationRunsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScheduledEvaluationRunsRequest) ProtoMessage() {} + +func (x *ListScheduledEvaluationRunsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScheduledEvaluationRunsRequest.ProtoReflect.Descriptor instead. +func (*ListScheduledEvaluationRunsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{30} +} + +func (x *ListScheduledEvaluationRunsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListScheduledEvaluationRunsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListScheduledEvaluationRunsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListScheduledEvaluationRunsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListScheduledEvaluationRunsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [EvaluationService.ListScheduledEvaluationRuns][google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns]. +type ListScheduledEvaluationRunsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of scheduled evaluation runs. + ScheduledEvaluationRuns []*ScheduledEvaluationRun `protobuf:"bytes,1,rep,name=scheduled_evaluation_runs,json=scheduledEvaluationRuns,proto3" json:"scheduled_evaluation_runs,omitempty"` + // A token that can be sent as + // [ListScheduledEvaluationRunsRequest.page_token][google.cloud.ces.v1beta.ListScheduledEvaluationRunsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListScheduledEvaluationRunsResponse) Reset() { + *x = ListScheduledEvaluationRunsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScheduledEvaluationRunsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScheduledEvaluationRunsResponse) ProtoMessage() {} + +func (x *ListScheduledEvaluationRunsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScheduledEvaluationRunsResponse.ProtoReflect.Descriptor instead. +func (*ListScheduledEvaluationRunsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{31} +} + +func (x *ListScheduledEvaluationRunsResponse) GetScheduledEvaluationRuns() []*ScheduledEvaluationRun { + if x != nil { + return x.ScheduledEvaluationRuns + } + return nil +} + +func (x *ListScheduledEvaluationRunsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request message for +// [EvaluationService.UpdateScheduledEvaluationRun][google.cloud.ces.v1beta.EvaluationService.UpdateScheduledEvaluationRun]. +type UpdateScheduledEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The scheduled evaluation run to update. + ScheduledEvaluationRun *ScheduledEvaluationRun `protobuf:"bytes,1,opt,name=scheduled_evaluation_run,json=scheduledEvaluationRun,proto3" json:"scheduled_evaluation_run,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateScheduledEvaluationRunRequest) Reset() { + *x = UpdateScheduledEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateScheduledEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateScheduledEvaluationRunRequest) ProtoMessage() {} + +func (x *UpdateScheduledEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateScheduledEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*UpdateScheduledEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{32} +} + +func (x *UpdateScheduledEvaluationRunRequest) GetScheduledEvaluationRun() *ScheduledEvaluationRun { + if x != nil { + return x.ScheduledEvaluationRun + } + return nil +} + +func (x *UpdateScheduledEvaluationRunRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [EvaluationService.DeleteScheduledEvaluationRun][google.cloud.ces.v1beta.EvaluationService.DeleteScheduledEvaluationRun]. +type DeleteScheduledEvaluationRunRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the scheduled evaluation run to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The etag of the ScheduledEvaluationRun. + // If provided, it must match the server's etag. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteScheduledEvaluationRunRequest) Reset() { + *x = DeleteScheduledEvaluationRunRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteScheduledEvaluationRunRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScheduledEvaluationRunRequest) ProtoMessage() {} + +func (x *DeleteScheduledEvaluationRunRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteScheduledEvaluationRunRequest.ProtoReflect.Descriptor instead. +func (*DeleteScheduledEvaluationRunRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{33} +} + +func (x *DeleteScheduledEvaluationRunRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteScheduledEvaluationRunRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [EvaluationService.TestPersonaVoice][google.cloud.ces.v1beta.EvaluationService.TestPersonaVoice]. +type TestPersonaVoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. the resource name of the app to test the persona voice for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` + // Required. The persona ID to test the voice for. Also accepts "default". + PersonaId string `protobuf:"bytes,2,opt,name=persona_id,json=personaId,proto3" json:"persona_id,omitempty"` + // Required. The text to test the voice for. + Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` +} + +func (x *TestPersonaVoiceRequest) Reset() { + *x = TestPersonaVoiceRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestPersonaVoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestPersonaVoiceRequest) ProtoMessage() {} + +func (x *TestPersonaVoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestPersonaVoiceRequest.ProtoReflect.Descriptor instead. +func (*TestPersonaVoiceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{34} +} + +func (x *TestPersonaVoiceRequest) GetApp() string { + if x != nil { + return x.App + } + return "" +} + +func (x *TestPersonaVoiceRequest) GetPersonaId() string { + if x != nil { + return x.PersonaId + } + return "" +} + +func (x *TestPersonaVoiceRequest) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +// Request message for +// [EvaluationService.UploadEvaluationAudio][google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio]. +type UploadEvaluationAudioRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the App for which to upload the evaluation + // audio. Format: `projects/{project}/locations/{location}/apps/{app}` + App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` + // Required. The raw audio bytes. + // The format of the audio must be single-channel LINEAR16 with a sample + // rate of 16kHz (default InputAudioConfig). + AudioContent []byte `protobuf:"bytes,2,opt,name=audio_content,json=audioContent,proto3" json:"audio_content,omitempty"` +} + +func (x *UploadEvaluationAudioRequest) Reset() { + *x = UploadEvaluationAudioRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadEvaluationAudioRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadEvaluationAudioRequest) ProtoMessage() {} + +func (x *UploadEvaluationAudioRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadEvaluationAudioRequest.ProtoReflect.Descriptor instead. +func (*UploadEvaluationAudioRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{35} +} + +func (x *UploadEvaluationAudioRequest) GetApp() string { + if x != nil { + return x.App + } + return "" +} + +func (x *UploadEvaluationAudioRequest) GetAudioContent() []byte { + if x != nil { + return x.AudioContent + } + return nil +} + +// Response message for +// [EvaluationService.UploadEvaluationAudio][google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio]. +type UploadEvaluationAudioResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Google Cloud Storage URI where the uploaded audio file is stored. + // Format: `gs:///` + AudioGcsUri string `protobuf:"bytes,1,opt,name=audio_gcs_uri,json=audioGcsUri,proto3" json:"audio_gcs_uri,omitempty"` + // The transcribed text from the audio, generated by Cloud Speech-to-Text. + AudioTranscript string `protobuf:"bytes,2,opt,name=audio_transcript,json=audioTranscript,proto3" json:"audio_transcript,omitempty"` + // The duration of the audio. + AudioDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=audio_duration,json=audioDuration,proto3" json:"audio_duration,omitempty"` +} + +func (x *UploadEvaluationAudioResponse) Reset() { + *x = UploadEvaluationAudioResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadEvaluationAudioResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadEvaluationAudioResponse) ProtoMessage() {} + +func (x *UploadEvaluationAudioResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadEvaluationAudioResponse.ProtoReflect.Descriptor instead. +func (*UploadEvaluationAudioResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{36} +} + +func (x *UploadEvaluationAudioResponse) GetAudioGcsUri() string { + if x != nil { + return x.AudioGcsUri + } + return "" +} + +func (x *UploadEvaluationAudioResponse) GetAudioTranscript() string { + if x != nil { + return x.AudioTranscript + } + return "" +} + +func (x *UploadEvaluationAudioResponse) GetAudioDuration() *durationpb.Duration { + if x != nil { + return x.AudioDuration + } + return nil +} + +// Response message for +// [EvaluationService.TestPersonaVoice][google.cloud.ces.v1beta.EvaluationService.TestPersonaVoice]. +type TestPersonaVoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The audio data bytes of the synthesized voice. + Audio []byte `protobuf:"bytes,1,opt,name=audio,proto3" json:"audio,omitempty"` +} + +func (x *TestPersonaVoiceResponse) Reset() { + *x = TestPersonaVoiceResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestPersonaVoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestPersonaVoiceResponse) ProtoMessage() {} + +func (x *TestPersonaVoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestPersonaVoiceResponse.ProtoReflect.Descriptor instead. +func (*TestPersonaVoiceResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{37} +} + +func (x *TestPersonaVoiceResponse) GetAudio() []byte { + if x != nil { + return x.Audio + } + return nil +} + +// Request message for +// [EvaluationService.CreateEvaluationExpectation][google.cloud.ces.v1beta.EvaluationService.CreateEvaluationExpectation]. +type CreateEvaluationExpectationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The app to create the evaluation expectation for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The ID to use for the evaluation expectation, which will become + // the final component of the evaluation expectation's resource name. If not + // provided, a unique ID will be automatically assigned for the evaluation + // expectation. + EvaluationExpectationId string `protobuf:"bytes,2,opt,name=evaluation_expectation_id,json=evaluationExpectationId,proto3" json:"evaluation_expectation_id,omitempty"` + // Required. The evaluation expectation to create. + EvaluationExpectation *EvaluationExpectation `protobuf:"bytes,3,opt,name=evaluation_expectation,json=evaluationExpectation,proto3" json:"evaluation_expectation,omitempty"` +} + +func (x *CreateEvaluationExpectationRequest) Reset() { + *x = CreateEvaluationExpectationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateEvaluationExpectationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEvaluationExpectationRequest) ProtoMessage() {} + +func (x *CreateEvaluationExpectationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEvaluationExpectationRequest.ProtoReflect.Descriptor instead. +func (*CreateEvaluationExpectationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{38} +} + +func (x *CreateEvaluationExpectationRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEvaluationExpectationRequest) GetEvaluationExpectationId() string { + if x != nil { + return x.EvaluationExpectationId + } + return "" +} + +func (x *CreateEvaluationExpectationRequest) GetEvaluationExpectation() *EvaluationExpectation { + if x != nil { + return x.EvaluationExpectation + } + return nil +} + +// Request message for +// [EvaluationService.UpdateEvaluationExpectation][google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationExpectation]. +type UpdateEvaluationExpectationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The evaluation expectation to update. + EvaluationExpectation *EvaluationExpectation `protobuf:"bytes,1,opt,name=evaluation_expectation,json=evaluationExpectation,proto3" json:"evaluation_expectation,omitempty"` + // Optional. Field mask is used to control which fields get updated. If the + // mask is not present, all fields will be updated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateEvaluationExpectationRequest) Reset() { + *x = UpdateEvaluationExpectationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateEvaluationExpectationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateEvaluationExpectationRequest) ProtoMessage() {} + +func (x *UpdateEvaluationExpectationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateEvaluationExpectationRequest.ProtoReflect.Descriptor instead. +func (*UpdateEvaluationExpectationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{39} +} + +func (x *UpdateEvaluationExpectationRequest) GetEvaluationExpectation() *EvaluationExpectation { + if x != nil { + return x.EvaluationExpectation + } + return nil +} + +func (x *UpdateEvaluationExpectationRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for +// [EvaluationService.DeleteEvaluationExpectation][google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationExpectation]. +type DeleteEvaluationExpectationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation expectation to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The current etag of the evaluation expectation. If an etag is not + // provided, the deletion will overwrite any concurrent changes. If an etag is + // provided and does not match the current etag of the evaluation expectation, + // deletion will be blocked and an ABORTED error will be returned. + Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *DeleteEvaluationExpectationRequest) Reset() { + *x = DeleteEvaluationExpectationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteEvaluationExpectationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEvaluationExpectationRequest) ProtoMessage() {} + +func (x *DeleteEvaluationExpectationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEvaluationExpectationRequest.ProtoReflect.Descriptor instead. +func (*DeleteEvaluationExpectationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{40} +} + +func (x *DeleteEvaluationExpectationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEvaluationExpectationRequest) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Request message for +// [EvaluationService.GetEvaluationExpectation][google.cloud.ces.v1beta.EvaluationService.GetEvaluationExpectation]. +type GetEvaluationExpectationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the evaluation expectation to retrieve. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEvaluationExpectationRequest) Reset() { + *x = GetEvaluationExpectationRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEvaluationExpectationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEvaluationExpectationRequest) ProtoMessage() {} + +func (x *GetEvaluationExpectationRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEvaluationExpectationRequest.ProtoReflect.Descriptor instead. +func (*GetEvaluationExpectationRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{41} +} + +func (x *GetEvaluationExpectationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [EvaluationService.ListEvaluationExpectations][google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations]. +type ListEvaluationExpectationsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the app to list evaluation expectations + // from. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The + // [next_page_token][google.cloud.ces.v1beta.ListEvaluationExpectationsResponse.next_page_token] + // value returned from a previous list + // [EvaluationService.ListEvaluationExpectations][google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations] + // call. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Optional. Filter to be applied when listing the evaluation expectations. + // See https://google.aip.dev/160 for more details. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. Field to sort by. Only "name" and "create_time", and + // "update_time" are supported. Time fields are ordered in descending order, + // and the name field is ordered in ascending order. If not included, + // "update_time" will be the default. See https://google.aip.dev/132#ordering + // for more details. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEvaluationExpectationsRequest) Reset() { + *x = ListEvaluationExpectationsRequest{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationExpectationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationExpectationsRequest) ProtoMessage() {} + +func (x *ListEvaluationExpectationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationExpectationsRequest.ProtoReflect.Descriptor instead. +func (*ListEvaluationExpectationsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{42} +} + +func (x *ListEvaluationExpectationsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEvaluationExpectationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEvaluationExpectationsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEvaluationExpectationsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEvaluationExpectationsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message for +// [EvaluationService.ListEvaluationExpectations][google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations]. +type ListEvaluationExpectationsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of evaluation expectations. + EvaluationExpectations []*EvaluationExpectation `protobuf:"bytes,1,rep,name=evaluation_expectations,json=evaluationExpectations,proto3" json:"evaluation_expectations,omitempty"` + // A token that can be sent as + // [ListEvaluationExpectationsRequest.page_token][google.cloud.ces.v1beta.ListEvaluationExpectationsRequest.page_token] + // to retrieve the next page. Absence of this field indicates there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListEvaluationExpectationsResponse) Reset() { + *x = ListEvaluationExpectationsResponse{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListEvaluationExpectationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEvaluationExpectationsResponse) ProtoMessage() {} + +func (x *ListEvaluationExpectationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEvaluationExpectationsResponse.ProtoReflect.Descriptor instead. +func (*ListEvaluationExpectationsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{43} +} + +func (x *ListEvaluationExpectationsResponse) GetEvaluationExpectations() []*EvaluationExpectation { + if x != nil { + return x.EvaluationExpectations + } + return nil +} + +func (x *ListEvaluationExpectationsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// A list of conversation resource names. +type ImportEvaluationsRequest_ConversationList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Conversation resource names. + Conversations []string `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"` +} + +func (x *ImportEvaluationsRequest_ConversationList) Reset() { + *x = ImportEvaluationsRequest_ConversationList{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportEvaluationsRequest_ConversationList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportEvaluationsRequest_ConversationList) ProtoMessage() {} + +func (x *ImportEvaluationsRequest_ConversationList) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportEvaluationsRequest_ConversationList.ProtoReflect.Descriptor instead. +func (*ImportEvaluationsRequest_ConversationList) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *ImportEvaluationsRequest_ConversationList) GetConversations() []string { + if x != nil { + return x.Conversations + } + return nil +} + +// Configuration options for the evaluation import process. +// These options control how the import behaves, particularly when +// conflicts arise with existing evaluations data. +type ImportEvaluationsRequest_ImportOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The strategy to use when resolving conflicts during import. + ConflictResolutionStrategy ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy `protobuf:"varint,1,opt,name=conflict_resolution_strategy,json=conflictResolutionStrategy,proto3,enum=google.cloud.ces.v1beta.ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy" json:"conflict_resolution_strategy,omitempty"` +} + +func (x *ImportEvaluationsRequest_ImportOptions) Reset() { + *x = ImportEvaluationsRequest_ImportOptions{} + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportEvaluationsRequest_ImportOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportEvaluationsRequest_ImportOptions) ProtoMessage() {} + +func (x *ImportEvaluationsRequest_ImportOptions) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportEvaluationsRequest_ImportOptions.ProtoReflect.Descriptor instead. +func (*ImportEvaluationsRequest_ImportOptions) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP(), []int{6, 1} +} + +func (x *ImportEvaluationsRequest_ImportOptions) GetConflictResolutionStrategy() ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy { + if x != nil { + return x.ConflictResolutionStrategy + } + return ImportEvaluationsRequest_ImportOptions_CONFLICT_RESOLUTION_STRATEGY_UNSPECIFIED +} + +var File_google_cloud_ces_v1beta_evaluation_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_evaluation_service_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x15, 0x52, 0x75, 0x6e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, + 0x20, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x52, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x22, 0x81, 0x03, 0x0a, 0x1e, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0e, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x0d, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x76, + 0x65, 0x72, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x76, 0x65, 0x72, 0x62, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x26, 0x0a, 0x24, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xc5, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0x0a, 0x19, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0xe3, 0x05, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x71, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x21, + 0x0a, 0x0b, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, + 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x6b, 0x0a, 0x0e, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3d, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa7, 0x02, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, + 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x72, 0x0a, 0x1a, 0x43, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4f, 0x4e, + 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x56, 0x45, 0x52, 0x57, + 0x52, 0x49, 0x54, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, + 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x03, 0x42, + 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x19, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, + 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, + 0x22, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf1, 0x01, + 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x5e, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, + 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xc2, 0x01, 0x0a, 0x1e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5e, 0x0a, 0x12, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x88, + 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x60, 0x0a, 0x1d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, + 0x0a, 0x23, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x1e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x5a, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x0a, 0x24, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xf6, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1d, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x30, 0x0a, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x10, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x37, 0x0a, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x1c, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x25, 0x12, 0x23, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x22, 0xe8, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x26, 0x12, 0x24, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xe0, 0x01, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x22, 0x12, 0x20, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0x88, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, + 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xa5, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x13, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x12, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x91, 0x02, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, + 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x42, 0x0a, 0x1b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x49, 0x64, 0x12, 0x6e, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x22, 0x69, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf2, + 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x22, 0xba, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x19, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, + 0x17, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xd7, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x85, 0x01, 0x0a, 0x23, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, + 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x03, 0x61, 0x70, 0x70, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x61, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x7a, 0x0a, + 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, + 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x03, 0x61, 0x70, 0x70, 0x12, + 0x28, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x75, 0x64, + 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x1d, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, + 0x64, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x47, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, + 0x29, 0x0a, 0x10, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x75, + 0x64, 0x69, 0x6f, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x30, 0x0a, 0x18, + 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x22, 0x89, + 0x02, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, + 0x19, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x6a, + 0x0a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x22, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x6a, 0x0a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x83, 0x01, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x67, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf0, + 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x22, 0xb5, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x17, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x95, 0x3a, 0x0a, 0x11, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xe4, 0x01, 0x0a, 0x0d, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x84, 0x01, 0xca, 0x41, 0x37, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x52, 0x75, + 0x6e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x03, 0x61, + 0x70, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xe8, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, + 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x60, 0xda, 0x41, 0x11, 0x61, 0x70, 0x70, 0x2c, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x64, 0x69, + 0x6f, 0x12, 0xf0, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, + 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0xda, 0x41, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x3a, 0x0a, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, + 0x01, 0xca, 0x41, 0x31, 0x0a, 0x0a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x23, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x01, 0x2a, 0x22, 0x57, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xfe, 0x01, 0x0a, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, + 0x01, 0xca, 0x41, 0x3f, 0x0a, 0x19, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x22, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x45, 0x3a, 0x01, 0x2a, 0x22, 0x40, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xac, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0xab, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x19, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, + 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x72, 0xda, 0x41, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x53, 0x3a, 0x0a, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x92, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0x91, 0x01, 0xda, 0x41, 0x1e, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x6a, 0x3a, 0x12, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x32, 0x54, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x10, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x2a, + 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x50, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x43, 0x2a, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf8, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x8c, 0x01, 0xca, 0x41, 0x3d, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x24, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, + 0x2a, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xae, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, + 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xca, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x53, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xca, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0x50, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x16, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x12, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x1a, + 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, + 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x18, + 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcc, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x37, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x45, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xae, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x22, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x76, 0x3a, 0x16, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x5c, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc8, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, + 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x54, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0xd8, 0x02, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x22, 0xc8, 0x01, 0xda, 0x41, 0x3b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x18, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, 0xde, + 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x22, 0x55, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xf1, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x12, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x75, 0x6e, 0x73, 0x12, 0xb8, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x75, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x24, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, + 0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x7b, 0x3a, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x32, 0x5f, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x64, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcb, + 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x12, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x55, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, + 0x2a, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc6, 0x01, 0x0a, + 0x10, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x63, + 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0xda, 0x41, 0x03, 0x61, 0x70, 0x70, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, + 0x56, 0x6f, 0x69, 0x63, 0x65, 0x1a, 0x6a, 0xca, 0x41, 0x12, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x52, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x65, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x42, 0x66, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x42, 0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescData = file_google_cloud_ces_v1beta_evaluation_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_evaluation_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_evaluation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_google_cloud_ces_v1beta_evaluation_service_proto_goTypes = []any{ + (ImportEvaluationsRequest_ImportOptions_ConflictResolutionStrategy)(0), // 0: google.cloud.ces.v1beta.ImportEvaluationsRequest.ImportOptions.ConflictResolutionStrategy + (*RunEvaluationResponse)(nil), // 1: google.cloud.ces.v1beta.RunEvaluationResponse + (*RunEvaluationOperationMetadata)(nil), // 2: google.cloud.ces.v1beta.RunEvaluationOperationMetadata + (*GenerateEvaluationOperationMetadata)(nil), // 3: google.cloud.ces.v1beta.GenerateEvaluationOperationMetadata + (*DeleteEvaluationRunOperationMetadata)(nil), // 4: google.cloud.ces.v1beta.DeleteEvaluationRunOperationMetadata + (*CreateEvaluationRequest)(nil), // 5: google.cloud.ces.v1beta.CreateEvaluationRequest + (*GenerateEvaluationRequest)(nil), // 6: google.cloud.ces.v1beta.GenerateEvaluationRequest + (*ImportEvaluationsRequest)(nil), // 7: google.cloud.ces.v1beta.ImportEvaluationsRequest + (*ImportEvaluationsResponse)(nil), // 8: google.cloud.ces.v1beta.ImportEvaluationsResponse + (*ImportEvaluationsOperationMetadata)(nil), // 9: google.cloud.ces.v1beta.ImportEvaluationsOperationMetadata + (*CreateEvaluationDatasetRequest)(nil), // 10: google.cloud.ces.v1beta.CreateEvaluationDatasetRequest + (*UpdateEvaluationRequest)(nil), // 11: google.cloud.ces.v1beta.UpdateEvaluationRequest + (*UpdateEvaluationDatasetRequest)(nil), // 12: google.cloud.ces.v1beta.UpdateEvaluationDatasetRequest + (*DeleteEvaluationRequest)(nil), // 13: google.cloud.ces.v1beta.DeleteEvaluationRequest + (*DeleteEvaluationResultRequest)(nil), // 14: google.cloud.ces.v1beta.DeleteEvaluationResultRequest + (*DeleteEvaluationDatasetRequest)(nil), // 15: google.cloud.ces.v1beta.DeleteEvaluationDatasetRequest + (*DeleteEvaluationRunRequest)(nil), // 16: google.cloud.ces.v1beta.DeleteEvaluationRunRequest + (*GetEvaluationRequest)(nil), // 17: google.cloud.ces.v1beta.GetEvaluationRequest + (*GetEvaluationResultRequest)(nil), // 18: google.cloud.ces.v1beta.GetEvaluationResultRequest + (*GetEvaluationDatasetRequest)(nil), // 19: google.cloud.ces.v1beta.GetEvaluationDatasetRequest + (*GetEvaluationRunRequest)(nil), // 20: google.cloud.ces.v1beta.GetEvaluationRunRequest + (*ListEvaluationsRequest)(nil), // 21: google.cloud.ces.v1beta.ListEvaluationsRequest + (*ListEvaluationResultsRequest)(nil), // 22: google.cloud.ces.v1beta.ListEvaluationResultsRequest + (*ListEvaluationDatasetsRequest)(nil), // 23: google.cloud.ces.v1beta.ListEvaluationDatasetsRequest + (*ListEvaluationRunsRequest)(nil), // 24: google.cloud.ces.v1beta.ListEvaluationRunsRequest + (*ListEvaluationsResponse)(nil), // 25: google.cloud.ces.v1beta.ListEvaluationsResponse + (*ListEvaluationResultsResponse)(nil), // 26: google.cloud.ces.v1beta.ListEvaluationResultsResponse + (*ListEvaluationDatasetsResponse)(nil), // 27: google.cloud.ces.v1beta.ListEvaluationDatasetsResponse + (*ListEvaluationRunsResponse)(nil), // 28: google.cloud.ces.v1beta.ListEvaluationRunsResponse + (*CreateScheduledEvaluationRunRequest)(nil), // 29: google.cloud.ces.v1beta.CreateScheduledEvaluationRunRequest + (*GetScheduledEvaluationRunRequest)(nil), // 30: google.cloud.ces.v1beta.GetScheduledEvaluationRunRequest + (*ListScheduledEvaluationRunsRequest)(nil), // 31: google.cloud.ces.v1beta.ListScheduledEvaluationRunsRequest + (*ListScheduledEvaluationRunsResponse)(nil), // 32: google.cloud.ces.v1beta.ListScheduledEvaluationRunsResponse + (*UpdateScheduledEvaluationRunRequest)(nil), // 33: google.cloud.ces.v1beta.UpdateScheduledEvaluationRunRequest + (*DeleteScheduledEvaluationRunRequest)(nil), // 34: google.cloud.ces.v1beta.DeleteScheduledEvaluationRunRequest + (*TestPersonaVoiceRequest)(nil), // 35: google.cloud.ces.v1beta.TestPersonaVoiceRequest + (*UploadEvaluationAudioRequest)(nil), // 36: google.cloud.ces.v1beta.UploadEvaluationAudioRequest + (*UploadEvaluationAudioResponse)(nil), // 37: google.cloud.ces.v1beta.UploadEvaluationAudioResponse + (*TestPersonaVoiceResponse)(nil), // 38: google.cloud.ces.v1beta.TestPersonaVoiceResponse + (*CreateEvaluationExpectationRequest)(nil), // 39: google.cloud.ces.v1beta.CreateEvaluationExpectationRequest + (*UpdateEvaluationExpectationRequest)(nil), // 40: google.cloud.ces.v1beta.UpdateEvaluationExpectationRequest + (*DeleteEvaluationExpectationRequest)(nil), // 41: google.cloud.ces.v1beta.DeleteEvaluationExpectationRequest + (*GetEvaluationExpectationRequest)(nil), // 42: google.cloud.ces.v1beta.GetEvaluationExpectationRequest + (*ListEvaluationExpectationsRequest)(nil), // 43: google.cloud.ces.v1beta.ListEvaluationExpectationsRequest + (*ListEvaluationExpectationsResponse)(nil), // 44: google.cloud.ces.v1beta.ListEvaluationExpectationsResponse + (*ImportEvaluationsRequest_ConversationList)(nil), // 45: google.cloud.ces.v1beta.ImportEvaluationsRequest.ConversationList + (*ImportEvaluationsRequest_ImportOptions)(nil), // 46: google.cloud.ces.v1beta.ImportEvaluationsRequest.ImportOptions + (*timestamppb.Timestamp)(nil), // 47: google.protobuf.Timestamp + (*Evaluation)(nil), // 48: google.cloud.ces.v1beta.Evaluation + (Conversation_Source)(0), // 49: google.cloud.ces.v1beta.Conversation.Source + (*EvaluationDataset)(nil), // 50: google.cloud.ces.v1beta.EvaluationDataset + (*fieldmaskpb.FieldMask)(nil), // 51: google.protobuf.FieldMask + (*EvaluationResult)(nil), // 52: google.cloud.ces.v1beta.EvaluationResult + (*EvaluationRun)(nil), // 53: google.cloud.ces.v1beta.EvaluationRun + (*ScheduledEvaluationRun)(nil), // 54: google.cloud.ces.v1beta.ScheduledEvaluationRun + (*durationpb.Duration)(nil), // 55: google.protobuf.Duration + (*EvaluationExpectation)(nil), // 56: google.cloud.ces.v1beta.EvaluationExpectation + (*RunEvaluationRequest)(nil), // 57: google.cloud.ces.v1beta.RunEvaluationRequest + (*longrunningpb.Operation)(nil), // 58: google.longrunning.Operation + (*emptypb.Empty)(nil), // 59: google.protobuf.Empty +} +var file_google_cloud_ces_v1beta_evaluation_service_proto_depIdxs = []int32{ + 47, // 0: google.cloud.ces.v1beta.RunEvaluationOperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 47, // 1: google.cloud.ces.v1beta.RunEvaluationOperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 48, // 2: google.cloud.ces.v1beta.CreateEvaluationRequest.evaluation:type_name -> google.cloud.ces.v1beta.Evaluation + 49, // 3: google.cloud.ces.v1beta.GenerateEvaluationRequest.source:type_name -> google.cloud.ces.v1beta.Conversation.Source + 45, // 4: google.cloud.ces.v1beta.ImportEvaluationsRequest.conversation_list:type_name -> google.cloud.ces.v1beta.ImportEvaluationsRequest.ConversationList + 46, // 5: google.cloud.ces.v1beta.ImportEvaluationsRequest.import_options:type_name -> google.cloud.ces.v1beta.ImportEvaluationsRequest.ImportOptions + 48, // 6: google.cloud.ces.v1beta.ImportEvaluationsResponse.evaluations:type_name -> google.cloud.ces.v1beta.Evaluation + 47, // 7: google.cloud.ces.v1beta.ImportEvaluationsOperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 47, // 8: google.cloud.ces.v1beta.ImportEvaluationsOperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 50, // 9: google.cloud.ces.v1beta.CreateEvaluationDatasetRequest.evaluation_dataset:type_name -> google.cloud.ces.v1beta.EvaluationDataset + 48, // 10: google.cloud.ces.v1beta.UpdateEvaluationRequest.evaluation:type_name -> google.cloud.ces.v1beta.Evaluation + 51, // 11: google.cloud.ces.v1beta.UpdateEvaluationRequest.update_mask:type_name -> google.protobuf.FieldMask + 50, // 12: google.cloud.ces.v1beta.UpdateEvaluationDatasetRequest.evaluation_dataset:type_name -> google.cloud.ces.v1beta.EvaluationDataset + 51, // 13: google.cloud.ces.v1beta.UpdateEvaluationDatasetRequest.update_mask:type_name -> google.protobuf.FieldMask + 48, // 14: google.cloud.ces.v1beta.ListEvaluationsResponse.evaluations:type_name -> google.cloud.ces.v1beta.Evaluation + 52, // 15: google.cloud.ces.v1beta.ListEvaluationResultsResponse.evaluation_results:type_name -> google.cloud.ces.v1beta.EvaluationResult + 50, // 16: google.cloud.ces.v1beta.ListEvaluationDatasetsResponse.evaluation_datasets:type_name -> google.cloud.ces.v1beta.EvaluationDataset + 53, // 17: google.cloud.ces.v1beta.ListEvaluationRunsResponse.evaluation_runs:type_name -> google.cloud.ces.v1beta.EvaluationRun + 54, // 18: google.cloud.ces.v1beta.CreateScheduledEvaluationRunRequest.scheduled_evaluation_run:type_name -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 54, // 19: google.cloud.ces.v1beta.ListScheduledEvaluationRunsResponse.scheduled_evaluation_runs:type_name -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 54, // 20: google.cloud.ces.v1beta.UpdateScheduledEvaluationRunRequest.scheduled_evaluation_run:type_name -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 51, // 21: google.cloud.ces.v1beta.UpdateScheduledEvaluationRunRequest.update_mask:type_name -> google.protobuf.FieldMask + 55, // 22: google.cloud.ces.v1beta.UploadEvaluationAudioResponse.audio_duration:type_name -> google.protobuf.Duration + 56, // 23: google.cloud.ces.v1beta.CreateEvaluationExpectationRequest.evaluation_expectation:type_name -> google.cloud.ces.v1beta.EvaluationExpectation + 56, // 24: google.cloud.ces.v1beta.UpdateEvaluationExpectationRequest.evaluation_expectation:type_name -> google.cloud.ces.v1beta.EvaluationExpectation + 51, // 25: google.cloud.ces.v1beta.UpdateEvaluationExpectationRequest.update_mask:type_name -> google.protobuf.FieldMask + 56, // 26: google.cloud.ces.v1beta.ListEvaluationExpectationsResponse.evaluation_expectations:type_name -> google.cloud.ces.v1beta.EvaluationExpectation + 0, // 27: google.cloud.ces.v1beta.ImportEvaluationsRequest.ImportOptions.conflict_resolution_strategy:type_name -> google.cloud.ces.v1beta.ImportEvaluationsRequest.ImportOptions.ConflictResolutionStrategy + 57, // 28: google.cloud.ces.v1beta.EvaluationService.RunEvaluation:input_type -> google.cloud.ces.v1beta.RunEvaluationRequest + 36, // 29: google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio:input_type -> google.cloud.ces.v1beta.UploadEvaluationAudioRequest + 5, // 30: google.cloud.ces.v1beta.EvaluationService.CreateEvaluation:input_type -> google.cloud.ces.v1beta.CreateEvaluationRequest + 6, // 31: google.cloud.ces.v1beta.EvaluationService.GenerateEvaluation:input_type -> google.cloud.ces.v1beta.GenerateEvaluationRequest + 7, // 32: google.cloud.ces.v1beta.EvaluationService.ImportEvaluations:input_type -> google.cloud.ces.v1beta.ImportEvaluationsRequest + 10, // 33: google.cloud.ces.v1beta.EvaluationService.CreateEvaluationDataset:input_type -> google.cloud.ces.v1beta.CreateEvaluationDatasetRequest + 11, // 34: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluation:input_type -> google.cloud.ces.v1beta.UpdateEvaluationRequest + 12, // 35: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationDataset:input_type -> google.cloud.ces.v1beta.UpdateEvaluationDatasetRequest + 13, // 36: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluation:input_type -> google.cloud.ces.v1beta.DeleteEvaluationRequest + 14, // 37: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationResult:input_type -> google.cloud.ces.v1beta.DeleteEvaluationResultRequest + 15, // 38: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationDataset:input_type -> google.cloud.ces.v1beta.DeleteEvaluationDatasetRequest + 16, // 39: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationRun:input_type -> google.cloud.ces.v1beta.DeleteEvaluationRunRequest + 17, // 40: google.cloud.ces.v1beta.EvaluationService.GetEvaluation:input_type -> google.cloud.ces.v1beta.GetEvaluationRequest + 18, // 41: google.cloud.ces.v1beta.EvaluationService.GetEvaluationResult:input_type -> google.cloud.ces.v1beta.GetEvaluationResultRequest + 19, // 42: google.cloud.ces.v1beta.EvaluationService.GetEvaluationDataset:input_type -> google.cloud.ces.v1beta.GetEvaluationDatasetRequest + 20, // 43: google.cloud.ces.v1beta.EvaluationService.GetEvaluationRun:input_type -> google.cloud.ces.v1beta.GetEvaluationRunRequest + 21, // 44: google.cloud.ces.v1beta.EvaluationService.ListEvaluations:input_type -> google.cloud.ces.v1beta.ListEvaluationsRequest + 22, // 45: google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults:input_type -> google.cloud.ces.v1beta.ListEvaluationResultsRequest + 23, // 46: google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets:input_type -> google.cloud.ces.v1beta.ListEvaluationDatasetsRequest + 24, // 47: google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns:input_type -> google.cloud.ces.v1beta.ListEvaluationRunsRequest + 43, // 48: google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations:input_type -> google.cloud.ces.v1beta.ListEvaluationExpectationsRequest + 42, // 49: google.cloud.ces.v1beta.EvaluationService.GetEvaluationExpectation:input_type -> google.cloud.ces.v1beta.GetEvaluationExpectationRequest + 39, // 50: google.cloud.ces.v1beta.EvaluationService.CreateEvaluationExpectation:input_type -> google.cloud.ces.v1beta.CreateEvaluationExpectationRequest + 40, // 51: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationExpectation:input_type -> google.cloud.ces.v1beta.UpdateEvaluationExpectationRequest + 41, // 52: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationExpectation:input_type -> google.cloud.ces.v1beta.DeleteEvaluationExpectationRequest + 29, // 53: google.cloud.ces.v1beta.EvaluationService.CreateScheduledEvaluationRun:input_type -> google.cloud.ces.v1beta.CreateScheduledEvaluationRunRequest + 30, // 54: google.cloud.ces.v1beta.EvaluationService.GetScheduledEvaluationRun:input_type -> google.cloud.ces.v1beta.GetScheduledEvaluationRunRequest + 31, // 55: google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns:input_type -> google.cloud.ces.v1beta.ListScheduledEvaluationRunsRequest + 33, // 56: google.cloud.ces.v1beta.EvaluationService.UpdateScheduledEvaluationRun:input_type -> google.cloud.ces.v1beta.UpdateScheduledEvaluationRunRequest + 34, // 57: google.cloud.ces.v1beta.EvaluationService.DeleteScheduledEvaluationRun:input_type -> google.cloud.ces.v1beta.DeleteScheduledEvaluationRunRequest + 35, // 58: google.cloud.ces.v1beta.EvaluationService.TestPersonaVoice:input_type -> google.cloud.ces.v1beta.TestPersonaVoiceRequest + 58, // 59: google.cloud.ces.v1beta.EvaluationService.RunEvaluation:output_type -> google.longrunning.Operation + 37, // 60: google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio:output_type -> google.cloud.ces.v1beta.UploadEvaluationAudioResponse + 48, // 61: google.cloud.ces.v1beta.EvaluationService.CreateEvaluation:output_type -> google.cloud.ces.v1beta.Evaluation + 58, // 62: google.cloud.ces.v1beta.EvaluationService.GenerateEvaluation:output_type -> google.longrunning.Operation + 58, // 63: google.cloud.ces.v1beta.EvaluationService.ImportEvaluations:output_type -> google.longrunning.Operation + 50, // 64: google.cloud.ces.v1beta.EvaluationService.CreateEvaluationDataset:output_type -> google.cloud.ces.v1beta.EvaluationDataset + 48, // 65: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluation:output_type -> google.cloud.ces.v1beta.Evaluation + 50, // 66: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationDataset:output_type -> google.cloud.ces.v1beta.EvaluationDataset + 59, // 67: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluation:output_type -> google.protobuf.Empty + 59, // 68: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationResult:output_type -> google.protobuf.Empty + 59, // 69: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationDataset:output_type -> google.protobuf.Empty + 58, // 70: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationRun:output_type -> google.longrunning.Operation + 48, // 71: google.cloud.ces.v1beta.EvaluationService.GetEvaluation:output_type -> google.cloud.ces.v1beta.Evaluation + 52, // 72: google.cloud.ces.v1beta.EvaluationService.GetEvaluationResult:output_type -> google.cloud.ces.v1beta.EvaluationResult + 50, // 73: google.cloud.ces.v1beta.EvaluationService.GetEvaluationDataset:output_type -> google.cloud.ces.v1beta.EvaluationDataset + 53, // 74: google.cloud.ces.v1beta.EvaluationService.GetEvaluationRun:output_type -> google.cloud.ces.v1beta.EvaluationRun + 25, // 75: google.cloud.ces.v1beta.EvaluationService.ListEvaluations:output_type -> google.cloud.ces.v1beta.ListEvaluationsResponse + 26, // 76: google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults:output_type -> google.cloud.ces.v1beta.ListEvaluationResultsResponse + 27, // 77: google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets:output_type -> google.cloud.ces.v1beta.ListEvaluationDatasetsResponse + 28, // 78: google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns:output_type -> google.cloud.ces.v1beta.ListEvaluationRunsResponse + 44, // 79: google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations:output_type -> google.cloud.ces.v1beta.ListEvaluationExpectationsResponse + 56, // 80: google.cloud.ces.v1beta.EvaluationService.GetEvaluationExpectation:output_type -> google.cloud.ces.v1beta.EvaluationExpectation + 56, // 81: google.cloud.ces.v1beta.EvaluationService.CreateEvaluationExpectation:output_type -> google.cloud.ces.v1beta.EvaluationExpectation + 56, // 82: google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationExpectation:output_type -> google.cloud.ces.v1beta.EvaluationExpectation + 59, // 83: google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationExpectation:output_type -> google.protobuf.Empty + 54, // 84: google.cloud.ces.v1beta.EvaluationService.CreateScheduledEvaluationRun:output_type -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 54, // 85: google.cloud.ces.v1beta.EvaluationService.GetScheduledEvaluationRun:output_type -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 32, // 86: google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns:output_type -> google.cloud.ces.v1beta.ListScheduledEvaluationRunsResponse + 54, // 87: google.cloud.ces.v1beta.EvaluationService.UpdateScheduledEvaluationRun:output_type -> google.cloud.ces.v1beta.ScheduledEvaluationRun + 59, // 88: google.cloud.ces.v1beta.EvaluationService.DeleteScheduledEvaluationRun:output_type -> google.protobuf.Empty + 38, // 89: google.cloud.ces.v1beta.EvaluationService.TestPersonaVoice:output_type -> google.cloud.ces.v1beta.TestPersonaVoiceResponse + 59, // [59:90] is the sub-list for method output_type + 28, // [28:59] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_evaluation_service_proto_init() } +func file_google_cloud_ces_v1beta_evaluation_service_proto_init() { + if File_google_cloud_ces_v1beta_evaluation_service_proto != nil { + return + } + file_google_cloud_ces_v1beta_conversation_proto_init() + file_google_cloud_ces_v1beta_evaluation_proto_init() + file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes[6].OneofWrappers = []any{ + (*ImportEvaluationsRequest_ConversationList_)(nil), + (*ImportEvaluationsRequest_GcsUri)(nil), + (*ImportEvaluationsRequest_CsvContent)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_evaluation_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_ces_v1beta_evaluation_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_evaluation_service_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_evaluation_service_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_evaluation_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_evaluation_service_proto = out.File + file_google_cloud_ces_v1beta_evaluation_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_evaluation_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_evaluation_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/evaluation_service_grpc.pb.go b/ces/apiv1beta/cespb/evaluation_service_grpc.pb.go new file mode 100644 index 000000000000..2113b0f0aab5 --- /dev/null +++ b/ces/apiv1beta/cespb/evaluation_service_grpc.pb.go @@ -0,0 +1,1302 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/ces/v1beta/evaluation_service.proto + +package cespb + +import ( + context "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + EvaluationService_RunEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/RunEvaluation" + EvaluationService_UploadEvaluationAudio_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/UploadEvaluationAudio" + EvaluationService_CreateEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/CreateEvaluation" + EvaluationService_GenerateEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GenerateEvaluation" + EvaluationService_ImportEvaluations_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ImportEvaluations" + EvaluationService_CreateEvaluationDataset_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/CreateEvaluationDataset" + EvaluationService_UpdateEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/UpdateEvaluation" + EvaluationService_UpdateEvaluationDataset_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/UpdateEvaluationDataset" + EvaluationService_DeleteEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteEvaluation" + EvaluationService_DeleteEvaluationResult_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteEvaluationResult" + EvaluationService_DeleteEvaluationDataset_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteEvaluationDataset" + EvaluationService_DeleteEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteEvaluationRun" + EvaluationService_GetEvaluation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetEvaluation" + EvaluationService_GetEvaluationResult_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetEvaluationResult" + EvaluationService_GetEvaluationDataset_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetEvaluationDataset" + EvaluationService_GetEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetEvaluationRun" + EvaluationService_ListEvaluations_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListEvaluations" + EvaluationService_ListEvaluationResults_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListEvaluationResults" + EvaluationService_ListEvaluationDatasets_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListEvaluationDatasets" + EvaluationService_ListEvaluationRuns_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListEvaluationRuns" + EvaluationService_ListEvaluationExpectations_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListEvaluationExpectations" + EvaluationService_GetEvaluationExpectation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetEvaluationExpectation" + EvaluationService_CreateEvaluationExpectation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/CreateEvaluationExpectation" + EvaluationService_UpdateEvaluationExpectation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/UpdateEvaluationExpectation" + EvaluationService_DeleteEvaluationExpectation_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteEvaluationExpectation" + EvaluationService_CreateScheduledEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/CreateScheduledEvaluationRun" + EvaluationService_GetScheduledEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/GetScheduledEvaluationRun" + EvaluationService_ListScheduledEvaluationRuns_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/ListScheduledEvaluationRuns" + EvaluationService_UpdateScheduledEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/UpdateScheduledEvaluationRun" + EvaluationService_DeleteScheduledEvaluationRun_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/DeleteScheduledEvaluationRun" + EvaluationService_TestPersonaVoice_FullMethodName = "/google.cloud.ces.v1beta.EvaluationService/TestPersonaVoice" +) + +// EvaluationServiceClient is the client API for EvaluationService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type EvaluationServiceClient interface { + // Runs an evaluation of the app. + RunEvaluation(ctx context.Context, in *RunEvaluationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Uploads audio for use in Golden Evaluations. Stores the audio in the Cloud + // Storage bucket defined in + // 'App.logging_settings.evaluation_audio_recording_config.gcs_bucket' and + // returns a transcript. + UploadEvaluationAudio(ctx context.Context, in *UploadEvaluationAudioRequest, opts ...grpc.CallOption) (*UploadEvaluationAudioResponse, error) + // Creates an evaluation. + CreateEvaluation(ctx context.Context, in *CreateEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) + // Creates a golden evaluation from a conversation. + GenerateEvaluation(ctx context.Context, in *GenerateEvaluationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Imports evaluations into the app. + ImportEvaluations(ctx context.Context, in *ImportEvaluationsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates an evaluation dataset. + CreateEvaluationDataset(ctx context.Context, in *CreateEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) + // Updates an evaluation. + UpdateEvaluation(ctx context.Context, in *UpdateEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) + // Updates an evaluation dataset. + UpdateEvaluationDataset(ctx context.Context, in *UpdateEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) + // Deletes an evaluation. + DeleteEvaluation(ctx context.Context, in *DeleteEvaluationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Deletes an evaluation result. + DeleteEvaluationResult(ctx context.Context, in *DeleteEvaluationResultRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Deletes an evaluation dataset. + DeleteEvaluationDataset(ctx context.Context, in *DeleteEvaluationDatasetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Deletes an evaluation run. + DeleteEvaluationRun(ctx context.Context, in *DeleteEvaluationRunRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Gets details of the specified evaluation. + GetEvaluation(ctx context.Context, in *GetEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) + // Gets details of the specified evaluation result. + GetEvaluationResult(ctx context.Context, in *GetEvaluationResultRequest, opts ...grpc.CallOption) (*EvaluationResult, error) + // Gets details of the specified evaluation dataset. + GetEvaluationDataset(ctx context.Context, in *GetEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) + // Gets details of the specified evaluation run. + GetEvaluationRun(ctx context.Context, in *GetEvaluationRunRequest, opts ...grpc.CallOption) (*EvaluationRun, error) + // Lists all evaluations in the given app. + ListEvaluations(ctx context.Context, in *ListEvaluationsRequest, opts ...grpc.CallOption) (*ListEvaluationsResponse, error) + // Lists all evaluation results for a given evaluation. + ListEvaluationResults(ctx context.Context, in *ListEvaluationResultsRequest, opts ...grpc.CallOption) (*ListEvaluationResultsResponse, error) + // Lists all evaluation datasets in the given app. + ListEvaluationDatasets(ctx context.Context, in *ListEvaluationDatasetsRequest, opts ...grpc.CallOption) (*ListEvaluationDatasetsResponse, error) + // Lists all evaluation runs in the given app. + ListEvaluationRuns(ctx context.Context, in *ListEvaluationRunsRequest, opts ...grpc.CallOption) (*ListEvaluationRunsResponse, error) + // Lists all evaluation expectations in the given app. + ListEvaluationExpectations(ctx context.Context, in *ListEvaluationExpectationsRequest, opts ...grpc.CallOption) (*ListEvaluationExpectationsResponse, error) + // Gets details of the specified evaluation expectation. + GetEvaluationExpectation(ctx context.Context, in *GetEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) + // Creates an evaluation expectation. + CreateEvaluationExpectation(ctx context.Context, in *CreateEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) + // Updates an evaluation expectation. + UpdateEvaluationExpectation(ctx context.Context, in *UpdateEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) + // Deletes an evaluation expectation. + DeleteEvaluationExpectation(ctx context.Context, in *DeleteEvaluationExpectationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Creates a scheduled evaluation run. + CreateScheduledEvaluationRun(ctx context.Context, in *CreateScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) + // Gets details of the specified scheduled evaluation run. + GetScheduledEvaluationRun(ctx context.Context, in *GetScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) + // Lists all scheduled evaluation runs in the given app. + ListScheduledEvaluationRuns(ctx context.Context, in *ListScheduledEvaluationRunsRequest, opts ...grpc.CallOption) (*ListScheduledEvaluationRunsResponse, error) + // Updates a scheduled evaluation run. + UpdateScheduledEvaluationRun(ctx context.Context, in *UpdateScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) + // Deletes a scheduled evaluation run. + DeleteScheduledEvaluationRun(ctx context.Context, in *DeleteScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Tests the voice of a persona. Also accepts a default persona. + TestPersonaVoice(ctx context.Context, in *TestPersonaVoiceRequest, opts ...grpc.CallOption) (*TestPersonaVoiceResponse, error) +} + +type evaluationServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewEvaluationServiceClient(cc grpc.ClientConnInterface) EvaluationServiceClient { + return &evaluationServiceClient{cc} +} + +func (c *evaluationServiceClient) RunEvaluation(ctx context.Context, in *RunEvaluationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, EvaluationService_RunEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) UploadEvaluationAudio(ctx context.Context, in *UploadEvaluationAudioRequest, opts ...grpc.CallOption) (*UploadEvaluationAudioResponse, error) { + out := new(UploadEvaluationAudioResponse) + err := c.cc.Invoke(ctx, EvaluationService_UploadEvaluationAudio_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) CreateEvaluation(ctx context.Context, in *CreateEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) { + out := new(Evaluation) + err := c.cc.Invoke(ctx, EvaluationService_CreateEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GenerateEvaluation(ctx context.Context, in *GenerateEvaluationRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, EvaluationService_GenerateEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ImportEvaluations(ctx context.Context, in *ImportEvaluationsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, EvaluationService_ImportEvaluations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) CreateEvaluationDataset(ctx context.Context, in *CreateEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) { + out := new(EvaluationDataset) + err := c.cc.Invoke(ctx, EvaluationService_CreateEvaluationDataset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) UpdateEvaluation(ctx context.Context, in *UpdateEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) { + out := new(Evaluation) + err := c.cc.Invoke(ctx, EvaluationService_UpdateEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) UpdateEvaluationDataset(ctx context.Context, in *UpdateEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) { + out := new(EvaluationDataset) + err := c.cc.Invoke(ctx, EvaluationService_UpdateEvaluationDataset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteEvaluation(ctx context.Context, in *DeleteEvaluationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, EvaluationService_DeleteEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteEvaluationResult(ctx context.Context, in *DeleteEvaluationResultRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, EvaluationService_DeleteEvaluationResult_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteEvaluationDataset(ctx context.Context, in *DeleteEvaluationDatasetRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, EvaluationService_DeleteEvaluationDataset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteEvaluationRun(ctx context.Context, in *DeleteEvaluationRunRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, EvaluationService_DeleteEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetEvaluation(ctx context.Context, in *GetEvaluationRequest, opts ...grpc.CallOption) (*Evaluation, error) { + out := new(Evaluation) + err := c.cc.Invoke(ctx, EvaluationService_GetEvaluation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetEvaluationResult(ctx context.Context, in *GetEvaluationResultRequest, opts ...grpc.CallOption) (*EvaluationResult, error) { + out := new(EvaluationResult) + err := c.cc.Invoke(ctx, EvaluationService_GetEvaluationResult_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetEvaluationDataset(ctx context.Context, in *GetEvaluationDatasetRequest, opts ...grpc.CallOption) (*EvaluationDataset, error) { + out := new(EvaluationDataset) + err := c.cc.Invoke(ctx, EvaluationService_GetEvaluationDataset_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetEvaluationRun(ctx context.Context, in *GetEvaluationRunRequest, opts ...grpc.CallOption) (*EvaluationRun, error) { + out := new(EvaluationRun) + err := c.cc.Invoke(ctx, EvaluationService_GetEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListEvaluations(ctx context.Context, in *ListEvaluationsRequest, opts ...grpc.CallOption) (*ListEvaluationsResponse, error) { + out := new(ListEvaluationsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListEvaluations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListEvaluationResults(ctx context.Context, in *ListEvaluationResultsRequest, opts ...grpc.CallOption) (*ListEvaluationResultsResponse, error) { + out := new(ListEvaluationResultsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListEvaluationResults_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListEvaluationDatasets(ctx context.Context, in *ListEvaluationDatasetsRequest, opts ...grpc.CallOption) (*ListEvaluationDatasetsResponse, error) { + out := new(ListEvaluationDatasetsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListEvaluationDatasets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListEvaluationRuns(ctx context.Context, in *ListEvaluationRunsRequest, opts ...grpc.CallOption) (*ListEvaluationRunsResponse, error) { + out := new(ListEvaluationRunsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListEvaluationRuns_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListEvaluationExpectations(ctx context.Context, in *ListEvaluationExpectationsRequest, opts ...grpc.CallOption) (*ListEvaluationExpectationsResponse, error) { + out := new(ListEvaluationExpectationsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListEvaluationExpectations_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetEvaluationExpectation(ctx context.Context, in *GetEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) { + out := new(EvaluationExpectation) + err := c.cc.Invoke(ctx, EvaluationService_GetEvaluationExpectation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) CreateEvaluationExpectation(ctx context.Context, in *CreateEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) { + out := new(EvaluationExpectation) + err := c.cc.Invoke(ctx, EvaluationService_CreateEvaluationExpectation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) UpdateEvaluationExpectation(ctx context.Context, in *UpdateEvaluationExpectationRequest, opts ...grpc.CallOption) (*EvaluationExpectation, error) { + out := new(EvaluationExpectation) + err := c.cc.Invoke(ctx, EvaluationService_UpdateEvaluationExpectation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteEvaluationExpectation(ctx context.Context, in *DeleteEvaluationExpectationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, EvaluationService_DeleteEvaluationExpectation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) CreateScheduledEvaluationRun(ctx context.Context, in *CreateScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) { + out := new(ScheduledEvaluationRun) + err := c.cc.Invoke(ctx, EvaluationService_CreateScheduledEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) GetScheduledEvaluationRun(ctx context.Context, in *GetScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) { + out := new(ScheduledEvaluationRun) + err := c.cc.Invoke(ctx, EvaluationService_GetScheduledEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) ListScheduledEvaluationRuns(ctx context.Context, in *ListScheduledEvaluationRunsRequest, opts ...grpc.CallOption) (*ListScheduledEvaluationRunsResponse, error) { + out := new(ListScheduledEvaluationRunsResponse) + err := c.cc.Invoke(ctx, EvaluationService_ListScheduledEvaluationRuns_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) UpdateScheduledEvaluationRun(ctx context.Context, in *UpdateScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*ScheduledEvaluationRun, error) { + out := new(ScheduledEvaluationRun) + err := c.cc.Invoke(ctx, EvaluationService_UpdateScheduledEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) DeleteScheduledEvaluationRun(ctx context.Context, in *DeleteScheduledEvaluationRunRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, EvaluationService_DeleteScheduledEvaluationRun_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *evaluationServiceClient) TestPersonaVoice(ctx context.Context, in *TestPersonaVoiceRequest, opts ...grpc.CallOption) (*TestPersonaVoiceResponse, error) { + out := new(TestPersonaVoiceResponse) + err := c.cc.Invoke(ctx, EvaluationService_TestPersonaVoice_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// EvaluationServiceServer is the server API for EvaluationService service. +// All implementations should embed UnimplementedEvaluationServiceServer +// for forward compatibility +type EvaluationServiceServer interface { + // Runs an evaluation of the app. + RunEvaluation(context.Context, *RunEvaluationRequest) (*longrunningpb.Operation, error) + // Uploads audio for use in Golden Evaluations. Stores the audio in the Cloud + // Storage bucket defined in + // 'App.logging_settings.evaluation_audio_recording_config.gcs_bucket' and + // returns a transcript. + UploadEvaluationAudio(context.Context, *UploadEvaluationAudioRequest) (*UploadEvaluationAudioResponse, error) + // Creates an evaluation. + CreateEvaluation(context.Context, *CreateEvaluationRequest) (*Evaluation, error) + // Creates a golden evaluation from a conversation. + GenerateEvaluation(context.Context, *GenerateEvaluationRequest) (*longrunningpb.Operation, error) + // Imports evaluations into the app. + ImportEvaluations(context.Context, *ImportEvaluationsRequest) (*longrunningpb.Operation, error) + // Creates an evaluation dataset. + CreateEvaluationDataset(context.Context, *CreateEvaluationDatasetRequest) (*EvaluationDataset, error) + // Updates an evaluation. + UpdateEvaluation(context.Context, *UpdateEvaluationRequest) (*Evaluation, error) + // Updates an evaluation dataset. + UpdateEvaluationDataset(context.Context, *UpdateEvaluationDatasetRequest) (*EvaluationDataset, error) + // Deletes an evaluation. + DeleteEvaluation(context.Context, *DeleteEvaluationRequest) (*emptypb.Empty, error) + // Deletes an evaluation result. + DeleteEvaluationResult(context.Context, *DeleteEvaluationResultRequest) (*emptypb.Empty, error) + // Deletes an evaluation dataset. + DeleteEvaluationDataset(context.Context, *DeleteEvaluationDatasetRequest) (*emptypb.Empty, error) + // Deletes an evaluation run. + DeleteEvaluationRun(context.Context, *DeleteEvaluationRunRequest) (*longrunningpb.Operation, error) + // Gets details of the specified evaluation. + GetEvaluation(context.Context, *GetEvaluationRequest) (*Evaluation, error) + // Gets details of the specified evaluation result. + GetEvaluationResult(context.Context, *GetEvaluationResultRequest) (*EvaluationResult, error) + // Gets details of the specified evaluation dataset. + GetEvaluationDataset(context.Context, *GetEvaluationDatasetRequest) (*EvaluationDataset, error) + // Gets details of the specified evaluation run. + GetEvaluationRun(context.Context, *GetEvaluationRunRequest) (*EvaluationRun, error) + // Lists all evaluations in the given app. + ListEvaluations(context.Context, *ListEvaluationsRequest) (*ListEvaluationsResponse, error) + // Lists all evaluation results for a given evaluation. + ListEvaluationResults(context.Context, *ListEvaluationResultsRequest) (*ListEvaluationResultsResponse, error) + // Lists all evaluation datasets in the given app. + ListEvaluationDatasets(context.Context, *ListEvaluationDatasetsRequest) (*ListEvaluationDatasetsResponse, error) + // Lists all evaluation runs in the given app. + ListEvaluationRuns(context.Context, *ListEvaluationRunsRequest) (*ListEvaluationRunsResponse, error) + // Lists all evaluation expectations in the given app. + ListEvaluationExpectations(context.Context, *ListEvaluationExpectationsRequest) (*ListEvaluationExpectationsResponse, error) + // Gets details of the specified evaluation expectation. + GetEvaluationExpectation(context.Context, *GetEvaluationExpectationRequest) (*EvaluationExpectation, error) + // Creates an evaluation expectation. + CreateEvaluationExpectation(context.Context, *CreateEvaluationExpectationRequest) (*EvaluationExpectation, error) + // Updates an evaluation expectation. + UpdateEvaluationExpectation(context.Context, *UpdateEvaluationExpectationRequest) (*EvaluationExpectation, error) + // Deletes an evaluation expectation. + DeleteEvaluationExpectation(context.Context, *DeleteEvaluationExpectationRequest) (*emptypb.Empty, error) + // Creates a scheduled evaluation run. + CreateScheduledEvaluationRun(context.Context, *CreateScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) + // Gets details of the specified scheduled evaluation run. + GetScheduledEvaluationRun(context.Context, *GetScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) + // Lists all scheduled evaluation runs in the given app. + ListScheduledEvaluationRuns(context.Context, *ListScheduledEvaluationRunsRequest) (*ListScheduledEvaluationRunsResponse, error) + // Updates a scheduled evaluation run. + UpdateScheduledEvaluationRun(context.Context, *UpdateScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) + // Deletes a scheduled evaluation run. + DeleteScheduledEvaluationRun(context.Context, *DeleteScheduledEvaluationRunRequest) (*emptypb.Empty, error) + // Tests the voice of a persona. Also accepts a default persona. + TestPersonaVoice(context.Context, *TestPersonaVoiceRequest) (*TestPersonaVoiceResponse, error) +} + +// UnimplementedEvaluationServiceServer should be embedded to have forward compatible implementations. +type UnimplementedEvaluationServiceServer struct { +} + +func (UnimplementedEvaluationServiceServer) RunEvaluation(context.Context, *RunEvaluationRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RunEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) UploadEvaluationAudio(context.Context, *UploadEvaluationAudioRequest) (*UploadEvaluationAudioResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UploadEvaluationAudio not implemented") +} +func (UnimplementedEvaluationServiceServer) CreateEvaluation(context.Context, *CreateEvaluationRequest) (*Evaluation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) GenerateEvaluation(context.Context, *GenerateEvaluationRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) ImportEvaluations(context.Context, *ImportEvaluationsRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportEvaluations not implemented") +} +func (UnimplementedEvaluationServiceServer) CreateEvaluationDataset(context.Context, *CreateEvaluationDatasetRequest) (*EvaluationDataset, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEvaluationDataset not implemented") +} +func (UnimplementedEvaluationServiceServer) UpdateEvaluation(context.Context, *UpdateEvaluationRequest) (*Evaluation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) UpdateEvaluationDataset(context.Context, *UpdateEvaluationDatasetRequest) (*EvaluationDataset, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEvaluationDataset not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteEvaluation(context.Context, *DeleteEvaluationRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteEvaluationResult(context.Context, *DeleteEvaluationResultRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvaluationResult not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteEvaluationDataset(context.Context, *DeleteEvaluationDatasetRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvaluationDataset not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteEvaluationRun(context.Context, *DeleteEvaluationRunRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) GetEvaluation(context.Context, *GetEvaluationRequest) (*Evaluation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvaluation not implemented") +} +func (UnimplementedEvaluationServiceServer) GetEvaluationResult(context.Context, *GetEvaluationResultRequest) (*EvaluationResult, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvaluationResult not implemented") +} +func (UnimplementedEvaluationServiceServer) GetEvaluationDataset(context.Context, *GetEvaluationDatasetRequest) (*EvaluationDataset, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvaluationDataset not implemented") +} +func (UnimplementedEvaluationServiceServer) GetEvaluationRun(context.Context, *GetEvaluationRunRequest) (*EvaluationRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) ListEvaluations(context.Context, *ListEvaluationsRequest) (*ListEvaluationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEvaluations not implemented") +} +func (UnimplementedEvaluationServiceServer) ListEvaluationResults(context.Context, *ListEvaluationResultsRequest) (*ListEvaluationResultsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEvaluationResults not implemented") +} +func (UnimplementedEvaluationServiceServer) ListEvaluationDatasets(context.Context, *ListEvaluationDatasetsRequest) (*ListEvaluationDatasetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEvaluationDatasets not implemented") +} +func (UnimplementedEvaluationServiceServer) ListEvaluationRuns(context.Context, *ListEvaluationRunsRequest) (*ListEvaluationRunsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEvaluationRuns not implemented") +} +func (UnimplementedEvaluationServiceServer) ListEvaluationExpectations(context.Context, *ListEvaluationExpectationsRequest) (*ListEvaluationExpectationsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEvaluationExpectations not implemented") +} +func (UnimplementedEvaluationServiceServer) GetEvaluationExpectation(context.Context, *GetEvaluationExpectationRequest) (*EvaluationExpectation, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEvaluationExpectation not implemented") +} +func (UnimplementedEvaluationServiceServer) CreateEvaluationExpectation(context.Context, *CreateEvaluationExpectationRequest) (*EvaluationExpectation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEvaluationExpectation not implemented") +} +func (UnimplementedEvaluationServiceServer) UpdateEvaluationExpectation(context.Context, *UpdateEvaluationExpectationRequest) (*EvaluationExpectation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEvaluationExpectation not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteEvaluationExpectation(context.Context, *DeleteEvaluationExpectationRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEvaluationExpectation not implemented") +} +func (UnimplementedEvaluationServiceServer) CreateScheduledEvaluationRun(context.Context, *CreateScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateScheduledEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) GetScheduledEvaluationRun(context.Context, *GetScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetScheduledEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) ListScheduledEvaluationRuns(context.Context, *ListScheduledEvaluationRunsRequest) (*ListScheduledEvaluationRunsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListScheduledEvaluationRuns not implemented") +} +func (UnimplementedEvaluationServiceServer) UpdateScheduledEvaluationRun(context.Context, *UpdateScheduledEvaluationRunRequest) (*ScheduledEvaluationRun, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateScheduledEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) DeleteScheduledEvaluationRun(context.Context, *DeleteScheduledEvaluationRunRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteScheduledEvaluationRun not implemented") +} +func (UnimplementedEvaluationServiceServer) TestPersonaVoice(context.Context, *TestPersonaVoiceRequest) (*TestPersonaVoiceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestPersonaVoice not implemented") +} + +// UnsafeEvaluationServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to EvaluationServiceServer will +// result in compilation errors. +type UnsafeEvaluationServiceServer interface { + mustEmbedUnimplementedEvaluationServiceServer() +} + +func RegisterEvaluationServiceServer(s grpc.ServiceRegistrar, srv EvaluationServiceServer) { + s.RegisterService(&EvaluationService_ServiceDesc, srv) +} + +func _EvaluationService_RunEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RunEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).RunEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_RunEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).RunEvaluation(ctx, req.(*RunEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_UploadEvaluationAudio_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UploadEvaluationAudioRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).UploadEvaluationAudio(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_UploadEvaluationAudio_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).UploadEvaluationAudio(ctx, req.(*UploadEvaluationAudioRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_CreateEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).CreateEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_CreateEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).CreateEvaluation(ctx, req.(*CreateEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GenerateEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GenerateEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GenerateEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GenerateEvaluation(ctx, req.(*GenerateEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ImportEvaluations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportEvaluationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ImportEvaluations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ImportEvaluations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ImportEvaluations(ctx, req.(*ImportEvaluationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_CreateEvaluationDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEvaluationDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).CreateEvaluationDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_CreateEvaluationDataset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).CreateEvaluationDataset(ctx, req.(*CreateEvaluationDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_UpdateEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).UpdateEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_UpdateEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).UpdateEvaluation(ctx, req.(*UpdateEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_UpdateEvaluationDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEvaluationDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).UpdateEvaluationDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_UpdateEvaluationDataset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).UpdateEvaluationDataset(ctx, req.(*UpdateEvaluationDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteEvaluation(ctx, req.(*DeleteEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteEvaluationResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEvaluationResultRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteEvaluationResult(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteEvaluationResult_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteEvaluationResult(ctx, req.(*DeleteEvaluationResultRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteEvaluationDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEvaluationDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteEvaluationDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteEvaluationDataset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteEvaluationDataset(ctx, req.(*DeleteEvaluationDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteEvaluationRun(ctx, req.(*DeleteEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetEvaluation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEvaluationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetEvaluation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetEvaluation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetEvaluation(ctx, req.(*GetEvaluationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetEvaluationResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEvaluationResultRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetEvaluationResult(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetEvaluationResult_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetEvaluationResult(ctx, req.(*GetEvaluationResultRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetEvaluationDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEvaluationDatasetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetEvaluationDataset(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetEvaluationDataset_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetEvaluationDataset(ctx, req.(*GetEvaluationDatasetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetEvaluationRun(ctx, req.(*GetEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListEvaluations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEvaluationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListEvaluations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListEvaluations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListEvaluations(ctx, req.(*ListEvaluationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListEvaluationResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEvaluationResultsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListEvaluationResults(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListEvaluationResults_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListEvaluationResults(ctx, req.(*ListEvaluationResultsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListEvaluationDatasets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEvaluationDatasetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListEvaluationDatasets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListEvaluationDatasets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListEvaluationDatasets(ctx, req.(*ListEvaluationDatasetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListEvaluationRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEvaluationRunsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListEvaluationRuns(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListEvaluationRuns_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListEvaluationRuns(ctx, req.(*ListEvaluationRunsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListEvaluationExpectations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEvaluationExpectationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListEvaluationExpectations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListEvaluationExpectations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListEvaluationExpectations(ctx, req.(*ListEvaluationExpectationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetEvaluationExpectation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEvaluationExpectationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetEvaluationExpectation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetEvaluationExpectation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetEvaluationExpectation(ctx, req.(*GetEvaluationExpectationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_CreateEvaluationExpectation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEvaluationExpectationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).CreateEvaluationExpectation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_CreateEvaluationExpectation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).CreateEvaluationExpectation(ctx, req.(*CreateEvaluationExpectationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_UpdateEvaluationExpectation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEvaluationExpectationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).UpdateEvaluationExpectation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_UpdateEvaluationExpectation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).UpdateEvaluationExpectation(ctx, req.(*UpdateEvaluationExpectationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteEvaluationExpectation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEvaluationExpectationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteEvaluationExpectation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteEvaluationExpectation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteEvaluationExpectation(ctx, req.(*DeleteEvaluationExpectationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_CreateScheduledEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateScheduledEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).CreateScheduledEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_CreateScheduledEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).CreateScheduledEvaluationRun(ctx, req.(*CreateScheduledEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_GetScheduledEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetScheduledEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).GetScheduledEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_GetScheduledEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).GetScheduledEvaluationRun(ctx, req.(*GetScheduledEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_ListScheduledEvaluationRuns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListScheduledEvaluationRunsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).ListScheduledEvaluationRuns(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_ListScheduledEvaluationRuns_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).ListScheduledEvaluationRuns(ctx, req.(*ListScheduledEvaluationRunsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_UpdateScheduledEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateScheduledEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).UpdateScheduledEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_UpdateScheduledEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).UpdateScheduledEvaluationRun(ctx, req.(*UpdateScheduledEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_DeleteScheduledEvaluationRun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteScheduledEvaluationRunRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).DeleteScheduledEvaluationRun(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_DeleteScheduledEvaluationRun_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).DeleteScheduledEvaluationRun(ctx, req.(*DeleteScheduledEvaluationRunRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _EvaluationService_TestPersonaVoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TestPersonaVoiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EvaluationServiceServer).TestPersonaVoice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: EvaluationService_TestPersonaVoice_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EvaluationServiceServer).TestPersonaVoice(ctx, req.(*TestPersonaVoiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// EvaluationService_ServiceDesc is the grpc.ServiceDesc for EvaluationService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var EvaluationService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ces.v1beta.EvaluationService", + HandlerType: (*EvaluationServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RunEvaluation", + Handler: _EvaluationService_RunEvaluation_Handler, + }, + { + MethodName: "UploadEvaluationAudio", + Handler: _EvaluationService_UploadEvaluationAudio_Handler, + }, + { + MethodName: "CreateEvaluation", + Handler: _EvaluationService_CreateEvaluation_Handler, + }, + { + MethodName: "GenerateEvaluation", + Handler: _EvaluationService_GenerateEvaluation_Handler, + }, + { + MethodName: "ImportEvaluations", + Handler: _EvaluationService_ImportEvaluations_Handler, + }, + { + MethodName: "CreateEvaluationDataset", + Handler: _EvaluationService_CreateEvaluationDataset_Handler, + }, + { + MethodName: "UpdateEvaluation", + Handler: _EvaluationService_UpdateEvaluation_Handler, + }, + { + MethodName: "UpdateEvaluationDataset", + Handler: _EvaluationService_UpdateEvaluationDataset_Handler, + }, + { + MethodName: "DeleteEvaluation", + Handler: _EvaluationService_DeleteEvaluation_Handler, + }, + { + MethodName: "DeleteEvaluationResult", + Handler: _EvaluationService_DeleteEvaluationResult_Handler, + }, + { + MethodName: "DeleteEvaluationDataset", + Handler: _EvaluationService_DeleteEvaluationDataset_Handler, + }, + { + MethodName: "DeleteEvaluationRun", + Handler: _EvaluationService_DeleteEvaluationRun_Handler, + }, + { + MethodName: "GetEvaluation", + Handler: _EvaluationService_GetEvaluation_Handler, + }, + { + MethodName: "GetEvaluationResult", + Handler: _EvaluationService_GetEvaluationResult_Handler, + }, + { + MethodName: "GetEvaluationDataset", + Handler: _EvaluationService_GetEvaluationDataset_Handler, + }, + { + MethodName: "GetEvaluationRun", + Handler: _EvaluationService_GetEvaluationRun_Handler, + }, + { + MethodName: "ListEvaluations", + Handler: _EvaluationService_ListEvaluations_Handler, + }, + { + MethodName: "ListEvaluationResults", + Handler: _EvaluationService_ListEvaluationResults_Handler, + }, + { + MethodName: "ListEvaluationDatasets", + Handler: _EvaluationService_ListEvaluationDatasets_Handler, + }, + { + MethodName: "ListEvaluationRuns", + Handler: _EvaluationService_ListEvaluationRuns_Handler, + }, + { + MethodName: "ListEvaluationExpectations", + Handler: _EvaluationService_ListEvaluationExpectations_Handler, + }, + { + MethodName: "GetEvaluationExpectation", + Handler: _EvaluationService_GetEvaluationExpectation_Handler, + }, + { + MethodName: "CreateEvaluationExpectation", + Handler: _EvaluationService_CreateEvaluationExpectation_Handler, + }, + { + MethodName: "UpdateEvaluationExpectation", + Handler: _EvaluationService_UpdateEvaluationExpectation_Handler, + }, + { + MethodName: "DeleteEvaluationExpectation", + Handler: _EvaluationService_DeleteEvaluationExpectation_Handler, + }, + { + MethodName: "CreateScheduledEvaluationRun", + Handler: _EvaluationService_CreateScheduledEvaluationRun_Handler, + }, + { + MethodName: "GetScheduledEvaluationRun", + Handler: _EvaluationService_GetScheduledEvaluationRun_Handler, + }, + { + MethodName: "ListScheduledEvaluationRuns", + Handler: _EvaluationService_ListScheduledEvaluationRuns_Handler, + }, + { + MethodName: "UpdateScheduledEvaluationRun", + Handler: _EvaluationService_UpdateScheduledEvaluationRun_Handler, + }, + { + MethodName: "DeleteScheduledEvaluationRun", + Handler: _EvaluationService_DeleteScheduledEvaluationRun_Handler, + }, + { + MethodName: "TestPersonaVoice", + Handler: _EvaluationService_TestPersonaVoice_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/ces/v1beta/evaluation_service.proto", +} diff --git a/ces/apiv1beta/cespb/example.pb.go b/ces/apiv1beta/cespb/example.pb.go new file mode 100644 index 000000000000..53392f9d2474 --- /dev/null +++ b/ces/apiv1beta/cespb/example.pb.go @@ -0,0 +1,1108 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/example.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An example represents a sample conversation between the user and the +// agent(s). +type Example struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the example. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/examples/{example}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the example. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Human-readable description of the example. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. The agent that initially handles the conversation. If not + // specified, the example represents a conversation that is handled by the + // root agent. Format: + // `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + EntryAgent string `protobuf:"bytes,4,opt,name=entry_agent,json=entryAgent,proto3" json:"entry_agent,omitempty"` + // Optional. The collection of messages that make up the conversation. + Messages []*Message `protobuf:"bytes,5,rep,name=messages,proto3" json:"messages,omitempty"` + // Output only. Timestamp when the example was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the example was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The example may become invalid if referencing resources are + // deleted. Invalid examples will not be used as few-shot examples. + Invalid bool `protobuf:"varint,8,opt,name=invalid,proto3" json:"invalid,omitempty"` + // Etag used to ensure the object hasn't changed during a read-modify-write + // operation. If the etag is empty, the update will overwrite any concurrent + // changes. + Etag string `protobuf:"bytes,9,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *Example) Reset() { + *x = Example{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Example) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Example) ProtoMessage() {} + +func (x *Example) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Example.ProtoReflect.Descriptor instead. +func (*Example) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{0} +} + +func (x *Example) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Example) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Example) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Example) GetEntryAgent() string { + if x != nil { + return x.EntryAgent + } + return "" +} + +func (x *Example) GetMessages() []*Message { + if x != nil { + return x.Messages + } + return nil +} + +func (x *Example) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Example) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Example) GetInvalid() bool { + if x != nil { + return x.Invalid + } + return false +} + +func (x *Example) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// A message within a conversation. +type Message struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The role within the conversation, e.g., user, agent. + Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + // Optional. Content of the message as a series of chunks. + Chunks []*Chunk `protobuf:"bytes,2,rep,name=chunks,proto3" json:"chunks,omitempty"` + // Optional. Timestamp when the message was sent or received. Should not be + // used if the message is part of an + // [example][google.cloud.ces.v1beta.Example]. + EventTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` +} + +func (x *Message) Reset() { + *x = Message{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{1} +} + +func (x *Message) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +func (x *Message) GetChunks() []*Chunk { + if x != nil { + return x.Chunks + } + return nil +} + +func (x *Message) GetEventTime() *timestamppb.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +// A chunk of content within a message. +type Chunk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Chunk data. + // + // Types that are assignable to Data: + // + // *Chunk_Text + // *Chunk_Transcript + // *Chunk_Blob + // *Chunk_Payload + // *Chunk_Image + // *Chunk_ToolCall + // *Chunk_ToolResponse + // *Chunk_AgentTransfer + // *Chunk_UpdatedVariables + // *Chunk_DefaultVariables + Data isChunk_Data `protobuf_oneof:"data"` +} + +func (x *Chunk) Reset() { + *x = Chunk{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Chunk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Chunk) ProtoMessage() {} + +func (x *Chunk) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Chunk.ProtoReflect.Descriptor instead. +func (*Chunk) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{2} +} + +func (m *Chunk) GetData() isChunk_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *Chunk) GetText() string { + if x, ok := x.GetData().(*Chunk_Text); ok { + return x.Text + } + return "" +} + +func (x *Chunk) GetTranscript() string { + if x, ok := x.GetData().(*Chunk_Transcript); ok { + return x.Transcript + } + return "" +} + +func (x *Chunk) GetBlob() *Blob { + if x, ok := x.GetData().(*Chunk_Blob); ok { + return x.Blob + } + return nil +} + +func (x *Chunk) GetPayload() *structpb.Struct { + if x, ok := x.GetData().(*Chunk_Payload); ok { + return x.Payload + } + return nil +} + +func (x *Chunk) GetImage() *Image { + if x, ok := x.GetData().(*Chunk_Image); ok { + return x.Image + } + return nil +} + +func (x *Chunk) GetToolCall() *ToolCall { + if x, ok := x.GetData().(*Chunk_ToolCall); ok { + return x.ToolCall + } + return nil +} + +func (x *Chunk) GetToolResponse() *ToolResponse { + if x, ok := x.GetData().(*Chunk_ToolResponse); ok { + return x.ToolResponse + } + return nil +} + +func (x *Chunk) GetAgentTransfer() *AgentTransfer { + if x, ok := x.GetData().(*Chunk_AgentTransfer); ok { + return x.AgentTransfer + } + return nil +} + +func (x *Chunk) GetUpdatedVariables() *structpb.Struct { + if x, ok := x.GetData().(*Chunk_UpdatedVariables); ok { + return x.UpdatedVariables + } + return nil +} + +func (x *Chunk) GetDefaultVariables() *structpb.Struct { + if x, ok := x.GetData().(*Chunk_DefaultVariables); ok { + return x.DefaultVariables + } + return nil +} + +type isChunk_Data interface { + isChunk_Data() +} + +type Chunk_Text struct { + // Optional. Text data. + Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` +} + +type Chunk_Transcript struct { + // Optional. Transcript associated with the audio. + Transcript string `protobuf:"bytes,9,opt,name=transcript,proto3,oneof"` +} + +type Chunk_Blob struct { + // Optional. Blob data. + Blob *Blob `protobuf:"bytes,7,opt,name=blob,proto3,oneof"` +} + +type Chunk_Payload struct { + // Optional. Custom payload data. + Payload *structpb.Struct `protobuf:"bytes,11,opt,name=payload,proto3,oneof"` +} + +type Chunk_Image struct { + // Optional. Image data. + Image *Image `protobuf:"bytes,5,opt,name=image,proto3,oneof"` +} + +type Chunk_ToolCall struct { + // Optional. Tool execution request. + ToolCall *ToolCall `protobuf:"bytes,2,opt,name=tool_call,json=toolCall,proto3,oneof"` +} + +type Chunk_ToolResponse struct { + // Optional. Tool execution response. + ToolResponse *ToolResponse `protobuf:"bytes,3,opt,name=tool_response,json=toolResponse,proto3,oneof"` +} + +type Chunk_AgentTransfer struct { + // Optional. Agent transfer event. + AgentTransfer *AgentTransfer `protobuf:"bytes,4,opt,name=agent_transfer,json=agentTransfer,proto3,oneof"` +} + +type Chunk_UpdatedVariables struct { + // A struct represents variables that were updated in the conversation, + // keyed by variable names. + UpdatedVariables *structpb.Struct `protobuf:"bytes,8,opt,name=updated_variables,json=updatedVariables,proto3,oneof"` +} + +type Chunk_DefaultVariables struct { + // A struct represents default variables at the start of the conversation, + // keyed by variable names. + DefaultVariables *structpb.Struct `protobuf:"bytes,10,opt,name=default_variables,json=defaultVariables,proto3,oneof"` +} + +func (*Chunk_Text) isChunk_Data() {} + +func (*Chunk_Transcript) isChunk_Data() {} + +func (*Chunk_Blob) isChunk_Data() {} + +func (*Chunk_Payload) isChunk_Data() {} + +func (*Chunk_Image) isChunk_Data() {} + +func (*Chunk_ToolCall) isChunk_Data() {} + +func (*Chunk_ToolResponse) isChunk_Data() {} + +func (*Chunk_AgentTransfer) isChunk_Data() {} + +func (*Chunk_UpdatedVariables) isChunk_Data() {} + +func (*Chunk_DefaultVariables) isChunk_Data() {} + +// Represents a blob input or output in the conversation. +type Blob struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The IANA standard MIME type of the source data. + MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Required. Raw bytes of the blob. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *Blob) Reset() { + *x = Blob{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Blob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Blob) ProtoMessage() {} + +func (x *Blob) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Blob.ProtoReflect.Descriptor instead. +func (*Blob) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{3} +} + +func (x *Blob) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *Blob) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// Represents an image input or output in the conversation. +type Image struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The IANA standard MIME type of the source data. + // Supported image types includes: + // - image/png + // - image/jpeg + // - image/webp + MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // Required. Raw bytes of the image. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *Image) Reset() { + *x = Image{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Image) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Image) ProtoMessage() {} + +func (x *Image) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Image.ProtoReflect.Descriptor instead. +func (*Image) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{4} +} + +func (x *Image) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *Image) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// Request for the client or the agent to execute the specified tool. +type ToolCall struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool to execute. It could be either a persisted tool + // or a tool from a toolset. + // + // Types that are assignable to ToolIdentifier: + // + // *ToolCall_Tool + // *ToolCall_ToolsetTool + ToolIdentifier isToolCall_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // Optional. The unique identifier of the tool call. If populated, the client + // should return the execution result with the matching ID in + // [ToolResponse][google.cloud.ces.v1beta.ToolResponse.id]. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Output only. Display name of the tool. + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The input parameters and values for the tool in JSON object + // format. + Args *structpb.Struct `protobuf:"bytes,3,opt,name=args,proto3" json:"args,omitempty"` +} + +func (x *ToolCall) Reset() { + *x = ToolCall{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolCall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolCall) ProtoMessage() {} + +func (x *ToolCall) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolCall.ProtoReflect.Descriptor instead. +func (*ToolCall) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{5} +} + +func (m *ToolCall) GetToolIdentifier() isToolCall_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *ToolCall) GetTool() string { + if x, ok := x.GetToolIdentifier().(*ToolCall_Tool); ok { + return x.Tool + } + return "" +} + +func (x *ToolCall) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*ToolCall_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *ToolCall) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ToolCall) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ToolCall) GetArgs() *structpb.Struct { + if x != nil { + return x.Args + } + return nil +} + +type isToolCall_ToolIdentifier interface { + isToolCall_ToolIdentifier() +} + +type ToolCall_Tool struct { + // Optional. The name of the tool to execute. + // Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` + Tool string `protobuf:"bytes,2,opt,name=tool,proto3,oneof"` +} + +type ToolCall_ToolsetTool struct { + // Optional. The toolset tool to execute. + ToolsetTool *ToolsetTool `protobuf:"bytes,5,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*ToolCall_Tool) isToolCall_ToolIdentifier() {} + +func (*ToolCall_ToolsetTool) isToolCall_ToolIdentifier() {} + +// The execution result of a specific tool from the client or the agent. +type ToolResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool that got executed. It could be either a + // persisted tool or a tool from a toolset. + // + // Types that are assignable to ToolIdentifier: + // + // *ToolResponse_Tool + // *ToolResponse_ToolsetTool + ToolIdentifier isToolResponse_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // Optional. The matching ID of the [tool + // call][google.cloud.ces.v1beta.ToolCall] the response is for. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Output only. Display name of the tool. + DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The tool execution result in JSON object format. + // Use "output" key to specify tool response and "error" key to specify + // error details (if any). If "output" and "error" keys are not specified, + // then whole "response" is treated as tool execution result. + Response *structpb.Struct `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` +} + +func (x *ToolResponse) Reset() { + *x = ToolResponse{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolResponse) ProtoMessage() {} + +func (x *ToolResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolResponse.ProtoReflect.Descriptor instead. +func (*ToolResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{6} +} + +func (m *ToolResponse) GetToolIdentifier() isToolResponse_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *ToolResponse) GetTool() string { + if x, ok := x.GetToolIdentifier().(*ToolResponse_Tool); ok { + return x.Tool + } + return "" +} + +func (x *ToolResponse) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*ToolResponse_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *ToolResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ToolResponse) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *ToolResponse) GetResponse() *structpb.Struct { + if x != nil { + return x.Response + } + return nil +} + +type isToolResponse_ToolIdentifier interface { + isToolResponse_ToolIdentifier() +} + +type ToolResponse_Tool struct { + // Optional. The name of the tool to execute. + // Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` + Tool string `protobuf:"bytes,2,opt,name=tool,proto3,oneof"` +} + +type ToolResponse_ToolsetTool struct { + // Optional. The toolset tool that got executed. + ToolsetTool *ToolsetTool `protobuf:"bytes,5,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*ToolResponse_Tool) isToolResponse_ToolIdentifier() {} + +func (*ToolResponse_ToolsetTool) isToolResponse_ToolIdentifier() {} + +// Represents an event indicating the transfer of a conversation to a different +// agent. +type AgentTransfer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The agent to which the conversation is being transferred. The + // agent will handle the conversation from this point forward. Format: + // `projects/{project}/locations/{location}/apps/{app}/agents/{agent}` + TargetAgent string `protobuf:"bytes,1,opt,name=target_agent,json=targetAgent,proto3" json:"target_agent,omitempty"` + // Output only. Display name of the agent. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` +} + +func (x *AgentTransfer) Reset() { + *x = AgentTransfer{} + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AgentTransfer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AgentTransfer) ProtoMessage() {} + +func (x *AgentTransfer) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_example_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AgentTransfer.ProtoReflect.Descriptor instead. +func (*AgentTransfer) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_example_proto_rawDescGZIP(), []int{7} +} + +func (x *AgentTransfer) GetTargetAgent() string { + if x != nil { + return x.TargetAgent + } + return "" +} + +func (x *AgentTransfer) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +var File_google_cloud_ces_v1beta_example_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_example_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x04, 0x0a, 0x07, 0x45, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x20, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x41, + 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x69, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x79, 0xea, 0x41, 0x76, 0x0a, 0x1a, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x7d, + 0x2a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x32, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x17, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, + 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x63, + 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82, 0x05, 0x0a, 0x05, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, + 0x19, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x6c, 0x6f, 0x62, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x12, 0x38, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x08, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x51, 0x0a, 0x0d, 0x74, 0x6f, 0x6f, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, + 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x12, 0x46, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x61, + 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x11, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, + 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x41, 0x0a, 0x04, 0x42, 0x6c, + 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x42, 0x0a, + 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x93, 0x02, 0x0a, 0x08, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x35, + 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, + 0x01, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, + 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x9f, 0x02, 0x0a, 0x0c, 0x54, 0x6f, 0x6f, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x19, 0x0a, 0x17, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, + 0x4e, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, + 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x7c, 0x0a, 0x0d, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x20, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1a, 0x0a, 0x18, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, + 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x5c, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, + 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_example_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_example_proto_rawDescData = file_google_cloud_ces_v1beta_example_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_example_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_example_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_example_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_example_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_example_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_example_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_google_cloud_ces_v1beta_example_proto_goTypes = []any{ + (*Example)(nil), // 0: google.cloud.ces.v1beta.Example + (*Message)(nil), // 1: google.cloud.ces.v1beta.Message + (*Chunk)(nil), // 2: google.cloud.ces.v1beta.Chunk + (*Blob)(nil), // 3: google.cloud.ces.v1beta.Blob + (*Image)(nil), // 4: google.cloud.ces.v1beta.Image + (*ToolCall)(nil), // 5: google.cloud.ces.v1beta.ToolCall + (*ToolResponse)(nil), // 6: google.cloud.ces.v1beta.ToolResponse + (*AgentTransfer)(nil), // 7: google.cloud.ces.v1beta.AgentTransfer + (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 9: google.protobuf.Struct + (*ToolsetTool)(nil), // 10: google.cloud.ces.v1beta.ToolsetTool +} +var file_google_cloud_ces_v1beta_example_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Example.messages:type_name -> google.cloud.ces.v1beta.Message + 8, // 1: google.cloud.ces.v1beta.Example.create_time:type_name -> google.protobuf.Timestamp + 8, // 2: google.cloud.ces.v1beta.Example.update_time:type_name -> google.protobuf.Timestamp + 2, // 3: google.cloud.ces.v1beta.Message.chunks:type_name -> google.cloud.ces.v1beta.Chunk + 8, // 4: google.cloud.ces.v1beta.Message.event_time:type_name -> google.protobuf.Timestamp + 3, // 5: google.cloud.ces.v1beta.Chunk.blob:type_name -> google.cloud.ces.v1beta.Blob + 9, // 6: google.cloud.ces.v1beta.Chunk.payload:type_name -> google.protobuf.Struct + 4, // 7: google.cloud.ces.v1beta.Chunk.image:type_name -> google.cloud.ces.v1beta.Image + 5, // 8: google.cloud.ces.v1beta.Chunk.tool_call:type_name -> google.cloud.ces.v1beta.ToolCall + 6, // 9: google.cloud.ces.v1beta.Chunk.tool_response:type_name -> google.cloud.ces.v1beta.ToolResponse + 7, // 10: google.cloud.ces.v1beta.Chunk.agent_transfer:type_name -> google.cloud.ces.v1beta.AgentTransfer + 9, // 11: google.cloud.ces.v1beta.Chunk.updated_variables:type_name -> google.protobuf.Struct + 9, // 12: google.cloud.ces.v1beta.Chunk.default_variables:type_name -> google.protobuf.Struct + 10, // 13: google.cloud.ces.v1beta.ToolCall.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 9, // 14: google.cloud.ces.v1beta.ToolCall.args:type_name -> google.protobuf.Struct + 10, // 15: google.cloud.ces.v1beta.ToolResponse.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 9, // 16: google.cloud.ces.v1beta.ToolResponse.response:type_name -> google.protobuf.Struct + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_example_proto_init() } +func file_google_cloud_ces_v1beta_example_proto_init() { + if File_google_cloud_ces_v1beta_example_proto != nil { + return + } + file_google_cloud_ces_v1beta_toolset_tool_proto_init() + file_google_cloud_ces_v1beta_example_proto_msgTypes[2].OneofWrappers = []any{ + (*Chunk_Text)(nil), + (*Chunk_Transcript)(nil), + (*Chunk_Blob)(nil), + (*Chunk_Payload)(nil), + (*Chunk_Image)(nil), + (*Chunk_ToolCall)(nil), + (*Chunk_ToolResponse)(nil), + (*Chunk_AgentTransfer)(nil), + (*Chunk_UpdatedVariables)(nil), + (*Chunk_DefaultVariables)(nil), + } + file_google_cloud_ces_v1beta_example_proto_msgTypes[5].OneofWrappers = []any{ + (*ToolCall_Tool)(nil), + (*ToolCall_ToolsetTool)(nil), + } + file_google_cloud_ces_v1beta_example_proto_msgTypes[6].OneofWrappers = []any{ + (*ToolResponse_Tool)(nil), + (*ToolResponse_ToolsetTool)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_example_proto_rawDesc, + NumEnums: 0, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_example_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_example_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_example_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_example_proto = out.File + file_google_cloud_ces_v1beta_example_proto_rawDesc = nil + file_google_cloud_ces_v1beta_example_proto_goTypes = nil + file_google_cloud_ces_v1beta_example_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/fakes.pb.go b/ces/apiv1beta/cespb/fakes.pb.go new file mode 100644 index 000000000000..38ce73ec73c0 --- /dev/null +++ b/ces/apiv1beta/cespb/fakes.pb.go @@ -0,0 +1,321 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/fakes.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Configures the tool call behaviour for evaluation runs. +type EvaluationToolCallBehaviour int32 + +const ( + // Unspecified tool call behavior. Will default to real tool calls. + EvaluationToolCallBehaviour_EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED EvaluationToolCallBehaviour = 0 + // Use real tool calls. + EvaluationToolCallBehaviour_REAL EvaluationToolCallBehaviour = 1 + // Use fake tool calls. + EvaluationToolCallBehaviour_FAKE EvaluationToolCallBehaviour = 2 +) + +// Enum value maps for EvaluationToolCallBehaviour. +var ( + EvaluationToolCallBehaviour_name = map[int32]string{ + 0: "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED", + 1: "REAL", + 2: "FAKE", + } + EvaluationToolCallBehaviour_value = map[string]int32{ + "EVALUATION_TOOL_CALL_BEHAVIOUR_UNSPECIFIED": 0, + "REAL": 1, + "FAKE": 2, + } +) + +func (x EvaluationToolCallBehaviour) Enum() *EvaluationToolCallBehaviour { + p := new(EvaluationToolCallBehaviour) + *p = x + return p +} + +func (x EvaluationToolCallBehaviour) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EvaluationToolCallBehaviour) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_fakes_proto_enumTypes[0].Descriptor() +} + +func (EvaluationToolCallBehaviour) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_fakes_proto_enumTypes[0] +} + +func (x EvaluationToolCallBehaviour) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EvaluationToolCallBehaviour.Descriptor instead. +func (EvaluationToolCallBehaviour) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_fakes_proto_rawDescGZIP(), []int{0} +} + +// A code block to be executed instead of a real tool call. +type CodeBlock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Python code which will be invoked in tool fake mode. + // Expected Python function signature - + // To catch all tool calls: + // + // def fake_tool_call(tool: Tool, input: dict[str, Any], + // callback_context: CallbackContext) -> Optional[dict[str, Any]]: + // + // To catch a specific tool call: + // + // def fake_{tool_id}(tool: Tool, input: dict[str, Any], + // callback_context: CallbackContext) -> Optional[dict[str, Any]]: + // + // If the function returns None, the real tool will be invoked instead. + PythonCode string `protobuf:"bytes,1,opt,name=python_code,json=pythonCode,proto3" json:"python_code,omitempty"` +} + +func (x *CodeBlock) Reset() { + *x = CodeBlock{} + mi := &file_google_cloud_ces_v1beta_fakes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CodeBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CodeBlock) ProtoMessage() {} + +func (x *CodeBlock) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_fakes_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CodeBlock.ProtoReflect.Descriptor instead. +func (*CodeBlock) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_fakes_proto_rawDescGZIP(), []int{0} +} + +func (x *CodeBlock) GetPythonCode() string { + if x != nil { + return x.PythonCode + } + return "" +} + +// Configuration for tool behavior in fake mode. +type ToolFakeConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The response is either static or it is provided by a python function. + // + // Types that are assignable to ToolResponse: + // + // *ToolFakeConfig_CodeBlock + ToolResponse isToolFakeConfig_ToolResponse `protobuf_oneof:"tool_response"` + // Optional. Whether the tool is using fake mode. + EnableFakeMode bool `protobuf:"varint,2,opt,name=enable_fake_mode,json=enableFakeMode,proto3" json:"enable_fake_mode,omitempty"` +} + +func (x *ToolFakeConfig) Reset() { + *x = ToolFakeConfig{} + mi := &file_google_cloud_ces_v1beta_fakes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolFakeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolFakeConfig) ProtoMessage() {} + +func (x *ToolFakeConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_fakes_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolFakeConfig.ProtoReflect.Descriptor instead. +func (*ToolFakeConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_fakes_proto_rawDescGZIP(), []int{1} +} + +func (m *ToolFakeConfig) GetToolResponse() isToolFakeConfig_ToolResponse { + if m != nil { + return m.ToolResponse + } + return nil +} + +func (x *ToolFakeConfig) GetCodeBlock() *CodeBlock { + if x, ok := x.GetToolResponse().(*ToolFakeConfig_CodeBlock); ok { + return x.CodeBlock + } + return nil +} + +func (x *ToolFakeConfig) GetEnableFakeMode() bool { + if x != nil { + return x.EnableFakeMode + } + return false +} + +type isToolFakeConfig_ToolResponse interface { + isToolFakeConfig_ToolResponse() +} + +type ToolFakeConfig_CodeBlock struct { + // Optional. Code block which will be executed instead of a real tool call. + CodeBlock *CodeBlock `protobuf:"bytes,1,opt,name=code_block,json=codeBlock,proto3,oneof"` +} + +func (*ToolFakeConfig_CodeBlock) isToolFakeConfig_ToolResponse() {} + +var File_google_cloud_ces_v1beta_fakes_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_fakes_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x31, 0x0a, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x24, 0x0a, 0x0b, + 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, + 0x64, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6b, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x2d, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0f, + 0x0a, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, + 0x61, 0x0a, 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6f, + 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x12, 0x2e, + 0x0a, 0x2a, 0x45, 0x56, 0x41, 0x4c, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, + 0x4c, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x55, 0x52, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, + 0x0a, 0x04, 0x52, 0x45, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x4b, 0x45, + 0x10, 0x02, 0x42, 0x5a, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x42, 0x0a, 0x46, 0x61, 0x6b, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_fakes_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_fakes_proto_rawDescData = file_google_cloud_ces_v1beta_fakes_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_fakes_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_fakes_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_fakes_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_fakes_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_fakes_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_fakes_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_fakes_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_fakes_proto_goTypes = []any{ + (EvaluationToolCallBehaviour)(0), // 0: google.cloud.ces.v1beta.EvaluationToolCallBehaviour + (*CodeBlock)(nil), // 1: google.cloud.ces.v1beta.CodeBlock + (*ToolFakeConfig)(nil), // 2: google.cloud.ces.v1beta.ToolFakeConfig +} +var file_google_cloud_ces_v1beta_fakes_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.ToolFakeConfig.code_block:type_name -> google.cloud.ces.v1beta.CodeBlock + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_fakes_proto_init() } +func file_google_cloud_ces_v1beta_fakes_proto_init() { + if File_google_cloud_ces_v1beta_fakes_proto != nil { + return + } + file_google_cloud_ces_v1beta_fakes_proto_msgTypes[1].OneofWrappers = []any{ + (*ToolFakeConfig_CodeBlock)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_fakes_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_fakes_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_fakes_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_fakes_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_fakes_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_fakes_proto = out.File + file_google_cloud_ces_v1beta_fakes_proto_rawDesc = nil + file_google_cloud_ces_v1beta_fakes_proto_goTypes = nil + file_google_cloud_ces_v1beta_fakes_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/file_search_tool.pb.go b/ces/apiv1beta/cespb/file_search_tool.pb.go new file mode 100644 index 000000000000..56e50d1a52aa --- /dev/null +++ b/ces/apiv1beta/cespb/file_search_tool.pb.go @@ -0,0 +1,258 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/file_search_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The type of the Vertex RAG corpus. +type FileSearchTool_CorpusType int32 + +const ( + // Unspecified corpus type. + FileSearchTool_CORPUS_TYPE_UNSPECIFIED FileSearchTool_CorpusType = 0 + // The corpus is created and owned by the user. + FileSearchTool_USER_OWNED FileSearchTool_CorpusType = 1 + // The corpus is created by the agent. + FileSearchTool_FULLY_MANAGED FileSearchTool_CorpusType = 2 +) + +// Enum value maps for FileSearchTool_CorpusType. +var ( + FileSearchTool_CorpusType_name = map[int32]string{ + 0: "CORPUS_TYPE_UNSPECIFIED", + 1: "USER_OWNED", + 2: "FULLY_MANAGED", + } + FileSearchTool_CorpusType_value = map[string]int32{ + "CORPUS_TYPE_UNSPECIFIED": 0, + "USER_OWNED": 1, + "FULLY_MANAGED": 2, + } +) + +func (x FileSearchTool_CorpusType) Enum() *FileSearchTool_CorpusType { + p := new(FileSearchTool_CorpusType) + *p = x + return p +} + +func (x FileSearchTool_CorpusType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FileSearchTool_CorpusType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_file_search_tool_proto_enumTypes[0].Descriptor() +} + +func (FileSearchTool_CorpusType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_file_search_tool_proto_enumTypes[0] +} + +func (x FileSearchTool_CorpusType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FileSearchTool_CorpusType.Descriptor instead. +func (FileSearchTool_CorpusType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescGZIP(), []int{0, 0} +} + +// The file search tool allows the agent to search across the files uploaded by +// the app/agent developer. It has presets to give relatively good quality +// search over the uploaded files and summarization of the retrieved results. +type FileSearchTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The type of the corpus. Default is FULLY_MANAGED. + CorpusType FileSearchTool_CorpusType `protobuf:"varint,3,opt,name=corpus_type,json=corpusType,proto3,enum=google.cloud.ces.v1beta.FileSearchTool_CorpusType" json:"corpus_type,omitempty"` + // Required. The tool name. + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The tool description. + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // Optional. The corpus where files are stored. + // Format: + // projects/{project}/locations/{location}/ragCorpora/{rag_corpus} + FileCorpus string `protobuf:"bytes,6,opt,name=file_corpus,json=fileCorpus,proto3" json:"file_corpus,omitempty"` +} + +func (x *FileSearchTool) Reset() { + *x = FileSearchTool{} + mi := &file_google_cloud_ces_v1beta_file_search_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FileSearchTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileSearchTool) ProtoMessage() {} + +func (x *FileSearchTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_file_search_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileSearchTool.ProtoReflect.Descriptor instead. +func (*FileSearchTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *FileSearchTool) GetCorpusType() FileSearchTool_CorpusType { + if x != nil { + return x.CorpusType + } + return FileSearchTool_CORPUS_TYPE_UNSPECIFIED +} + +func (x *FileSearchTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FileSearchTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *FileSearchTool) GetFileCorpus() string { + if x != nil { + return x.FileCorpus + } + return "" +} + +var File_google_cloud_ces_v1beta_file_search_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_file_search_tool_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x0e, 0x46, + 0x69, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x58, 0x0a, + 0x0b, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x69, 0x6c, + 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x72, 0x70, + 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x72, + 0x70, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x22, 0x4c, 0x0a, + 0x0a, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, + 0x4f, 0x52, 0x50, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4c, 0x4c, + 0x59, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x02, 0x42, 0x63, 0x0a, 0x1b, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x46, 0x69, 0x6c, 0x65, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescData = file_google_cloud_ces_v1beta_file_search_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_file_search_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_file_search_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_file_search_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_file_search_tool_proto_goTypes = []any{ + (FileSearchTool_CorpusType)(0), // 0: google.cloud.ces.v1beta.FileSearchTool.CorpusType + (*FileSearchTool)(nil), // 1: google.cloud.ces.v1beta.FileSearchTool +} +var file_google_cloud_ces_v1beta_file_search_tool_proto_depIdxs = []int32{ + 0, // 0: google.cloud.ces.v1beta.FileSearchTool.corpus_type:type_name -> google.cloud.ces.v1beta.FileSearchTool.CorpusType + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_file_search_tool_proto_init() } +func file_google_cloud_ces_v1beta_file_search_tool_proto_init() { + if File_google_cloud_ces_v1beta_file_search_tool_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_file_search_tool_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_file_search_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_file_search_tool_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_file_search_tool_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_file_search_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_file_search_tool_proto = out.File + file_google_cloud_ces_v1beta_file_search_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_file_search_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_file_search_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/golden_run.pb.go b/ces/apiv1beta/cespb/golden_run.pb.go new file mode 100644 index 000000000000..5614ab017aca --- /dev/null +++ b/ces/apiv1beta/cespb/golden_run.pb.go @@ -0,0 +1,161 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/golden_run.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The method used to run the evaluation. +type GoldenRunMethod int32 + +const ( + // Run method is not specified. + GoldenRunMethod_GOLDEN_RUN_METHOD_UNSPECIFIED GoldenRunMethod = 0 + // Run the evaluation as stable replay, where each turn is a unique session + // with the previous expected turns injected as context. + GoldenRunMethod_STABLE GoldenRunMethod = 1 + // Run the evaluation as naive replay, where the run is a single + // session with no context injected. + GoldenRunMethod_NAIVE GoldenRunMethod = 2 +) + +// Enum value maps for GoldenRunMethod. +var ( + GoldenRunMethod_name = map[int32]string{ + 0: "GOLDEN_RUN_METHOD_UNSPECIFIED", + 1: "STABLE", + 2: "NAIVE", + } + GoldenRunMethod_value = map[string]int32{ + "GOLDEN_RUN_METHOD_UNSPECIFIED": 0, + "STABLE": 1, + "NAIVE": 2, + } +) + +func (x GoldenRunMethod) Enum() *GoldenRunMethod { + p := new(GoldenRunMethod) + *p = x + return p +} + +func (x GoldenRunMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GoldenRunMethod) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_golden_run_proto_enumTypes[0].Descriptor() +} + +func (GoldenRunMethod) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_golden_run_proto_enumTypes[0] +} + +func (x GoldenRunMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GoldenRunMethod.Descriptor instead. +func (GoldenRunMethod) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_golden_run_proto_rawDescGZIP(), []int{0} +} + +var File_google_cloud_ces_v1beta_golden_run_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_golden_run_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x6f, 0x6c, 0x64, 0x65, 0x6e, + 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2a, 0x4b, 0x0a, 0x0f, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x4f, 0x4c, 0x44, 0x45, 0x4e, + 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4e, 0x41, 0x49, 0x56, 0x45, 0x10, 0x02, + 0x42, 0x5e, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, + 0x0e, 0x47, 0x6f, 0x6c, 0x64, 0x65, 0x6e, 0x52, 0x75, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_golden_run_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_golden_run_proto_rawDescData = file_google_cloud_ces_v1beta_golden_run_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_golden_run_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_golden_run_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_golden_run_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_golden_run_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_golden_run_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_golden_run_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_golden_run_proto_goTypes = []any{ + (GoldenRunMethod)(0), // 0: google.cloud.ces.v1beta.GoldenRunMethod +} +var file_google_cloud_ces_v1beta_golden_run_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_golden_run_proto_init() } +func file_google_cloud_ces_v1beta_golden_run_proto_init() { + if File_google_cloud_ces_v1beta_golden_run_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_golden_run_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_golden_run_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_golden_run_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_golden_run_proto_enumTypes, + }.Build() + File_google_cloud_ces_v1beta_golden_run_proto = out.File + file_google_cloud_ces_v1beta_golden_run_proto_rawDesc = nil + file_google_cloud_ces_v1beta_golden_run_proto_goTypes = nil + file_google_cloud_ces_v1beta_golden_run_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/google_search_tool.pb.go b/ces/apiv1beta/cespb/google_search_tool.pb.go new file mode 100644 index 000000000000..d6914806acbc --- /dev/null +++ b/ces/apiv1beta/cespb/google_search_tool.pb.go @@ -0,0 +1,295 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/google_search_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents a tool to perform Google web searches for grounding. +// See +// https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search. +type GoogleSearchTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the tool. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Description of the tool's purpose. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Content will be fetched directly from these URLs for context and + // grounding. Example: "https://example.com/path.html". A maximum of 20 URLs + // are allowed. + ContextUrls []string `protobuf:"bytes,3,rep,name=context_urls,json=contextUrls,proto3" json:"context_urls,omitempty"` + // Optional. Specifies domains to restrict search results to. + // Example: "example.com", "another.site". A maximum of 20 domains can be + // specified. + PreferredDomains []string `protobuf:"bytes,6,rep,name=preferred_domains,json=preferredDomains,proto3" json:"preferred_domains,omitempty"` + // Optional. List of domains to be excluded from the search results. + // Example: "example.com". + // A maximum of 2000 domains can be excluded. + ExcludeDomains []string `protobuf:"bytes,4,rep,name=exclude_domains,json=excludeDomains,proto3" json:"exclude_domains,omitempty"` + // Optional. Prompt instructions passed to planner on how the search results + // should be processed for text and voice. + PromptConfig *GoogleSearchTool_PromptConfig `protobuf:"bytes,5,opt,name=prompt_config,json=promptConfig,proto3" json:"prompt_config,omitempty"` +} + +func (x *GoogleSearchTool) Reset() { + *x = GoogleSearchTool{} + mi := &file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GoogleSearchTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleSearchTool) ProtoMessage() {} + +func (x *GoogleSearchTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleSearchTool.ProtoReflect.Descriptor instead. +func (*GoogleSearchTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *GoogleSearchTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GoogleSearchTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *GoogleSearchTool) GetContextUrls() []string { + if x != nil { + return x.ContextUrls + } + return nil +} + +func (x *GoogleSearchTool) GetPreferredDomains() []string { + if x != nil { + return x.PreferredDomains + } + return nil +} + +func (x *GoogleSearchTool) GetExcludeDomains() []string { + if x != nil { + return x.ExcludeDomains + } + return nil +} + +func (x *GoogleSearchTool) GetPromptConfig() *GoogleSearchTool_PromptConfig { + if x != nil { + return x.PromptConfig + } + return nil +} + +// Prompt settings used by the model when processing or summarizing the +// google search results. +type GoogleSearchTool_PromptConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Defines the prompt used for the system instructions when + // interacting with the agent in chat conversations. If not set, default + // prompt will be used. + TextPrompt string `protobuf:"bytes,1,opt,name=text_prompt,json=textPrompt,proto3" json:"text_prompt,omitempty"` + // Optional. Defines the prompt used for the system instructions when + // interacting with the agent in voice conversations. If not set, default + // prompt will be used. + VoicePrompt string `protobuf:"bytes,2,opt,name=voice_prompt,json=voicePrompt,proto3" json:"voice_prompt,omitempty"` +} + +func (x *GoogleSearchTool_PromptConfig) Reset() { + *x = GoogleSearchTool_PromptConfig{} + mi := &file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GoogleSearchTool_PromptConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleSearchTool_PromptConfig) ProtoMessage() {} + +func (x *GoogleSearchTool_PromptConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleSearchTool_PromptConfig.ProtoReflect.Descriptor instead. +func (*GoogleSearchTool_PromptConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *GoogleSearchTool_PromptConfig) GetTextPrompt() string { + if x != nil { + return x.TextPrompt + } + return "" +} + +func (x *GoogleSearchTool_PromptConfig) GetVoicePrompt() string { + if x != nil { + return x.VoicePrompt + } + return "" +} + +var File_google_cloud_ces_v1beta_google_search_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_google_search_tool_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x03, 0x0a, + 0x10, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, + 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x72, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x70, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x65, + 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x60, 0x0a, 0x0d, 0x70, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x6d, + 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x5c, 0x0a, 0x0c, 0x50, + 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0b, 0x74, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x65, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescData = file_google_cloud_ces_v1beta_google_search_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_google_search_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_google_search_tool_proto_goTypes = []any{ + (*GoogleSearchTool)(nil), // 0: google.cloud.ces.v1beta.GoogleSearchTool + (*GoogleSearchTool_PromptConfig)(nil), // 1: google.cloud.ces.v1beta.GoogleSearchTool.PromptConfig +} +var file_google_cloud_ces_v1beta_google_search_tool_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.GoogleSearchTool.prompt_config:type_name -> google.cloud.ces.v1beta.GoogleSearchTool.PromptConfig + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_google_search_tool_proto_init() } +func file_google_cloud_ces_v1beta_google_search_tool_proto_init() { + if File_google_cloud_ces_v1beta_google_search_tool_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_google_search_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_google_search_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_google_search_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_google_search_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_google_search_tool_proto = out.File + file_google_cloud_ces_v1beta_google_search_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_google_search_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_google_search_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/guardrail.pb.go b/ces/apiv1beta/cespb/guardrail.pb.go new file mode 100644 index 000000000000..e1b9120284a6 --- /dev/null +++ b/ces/apiv1beta/cespb/guardrail.pb.go @@ -0,0 +1,1374 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/guardrail.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Match type for the content filter. +type Guardrail_ContentFilter_MatchType int32 + +const ( + // Match type is not specified. + Guardrail_ContentFilter_MATCH_TYPE_UNSPECIFIED Guardrail_ContentFilter_MatchType = 0 + // Content is matched for substrings character by character. + Guardrail_ContentFilter_SIMPLE_STRING_MATCH Guardrail_ContentFilter_MatchType = 1 + // Content only matches if the pattern found in the text is + // surrounded by word delimiters. Banned phrases can also contain word + // delimiters. + Guardrail_ContentFilter_WORD_BOUNDARY_STRING_MATCH Guardrail_ContentFilter_MatchType = 2 + // Content is matched using regular expression syntax. + Guardrail_ContentFilter_REGEXP_MATCH Guardrail_ContentFilter_MatchType = 3 +) + +// Enum value maps for Guardrail_ContentFilter_MatchType. +var ( + Guardrail_ContentFilter_MatchType_name = map[int32]string{ + 0: "MATCH_TYPE_UNSPECIFIED", + 1: "SIMPLE_STRING_MATCH", + 2: "WORD_BOUNDARY_STRING_MATCH", + 3: "REGEXP_MATCH", + } + Guardrail_ContentFilter_MatchType_value = map[string]int32{ + "MATCH_TYPE_UNSPECIFIED": 0, + "SIMPLE_STRING_MATCH": 1, + "WORD_BOUNDARY_STRING_MATCH": 2, + "REGEXP_MATCH": 3, + } +) + +func (x Guardrail_ContentFilter_MatchType) Enum() *Guardrail_ContentFilter_MatchType { + p := new(Guardrail_ContentFilter_MatchType) + *p = x + return p +} + +func (x Guardrail_ContentFilter_MatchType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Guardrail_ContentFilter_MatchType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[0].Descriptor() +} + +func (Guardrail_ContentFilter_MatchType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[0] +} + +func (x Guardrail_ContentFilter_MatchType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Guardrail_ContentFilter_MatchType.Descriptor instead. +func (Guardrail_ContentFilter_MatchType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Defines when to apply the policy check during the conversation. +type Guardrail_LlmPolicy_PolicyScope int32 + +const ( + // Policy scope is not specified. + Guardrail_LlmPolicy_POLICY_SCOPE_UNSPECIFIED Guardrail_LlmPolicy_PolicyScope = 0 + // Policy check is triggered on user input. + Guardrail_LlmPolicy_USER_QUERY Guardrail_LlmPolicy_PolicyScope = 1 + // Policy check is triggered on agent response. Applying this policy + // scope will introduce additional latency before the agent can respond. + Guardrail_LlmPolicy_AGENT_RESPONSE Guardrail_LlmPolicy_PolicyScope = 2 + // Policy check is triggered on both user input and agent response. + // Applying this policy scope will introduce additional latency before + // the agent can respond. + Guardrail_LlmPolicy_USER_QUERY_AND_AGENT_RESPONSE Guardrail_LlmPolicy_PolicyScope = 3 +) + +// Enum value maps for Guardrail_LlmPolicy_PolicyScope. +var ( + Guardrail_LlmPolicy_PolicyScope_name = map[int32]string{ + 0: "POLICY_SCOPE_UNSPECIFIED", + 1: "USER_QUERY", + 2: "AGENT_RESPONSE", + 3: "USER_QUERY_AND_AGENT_RESPONSE", + } + Guardrail_LlmPolicy_PolicyScope_value = map[string]int32{ + "POLICY_SCOPE_UNSPECIFIED": 0, + "USER_QUERY": 1, + "AGENT_RESPONSE": 2, + "USER_QUERY_AND_AGENT_RESPONSE": 3, + } +) + +func (x Guardrail_LlmPolicy_PolicyScope) Enum() *Guardrail_LlmPolicy_PolicyScope { + p := new(Guardrail_LlmPolicy_PolicyScope) + *p = x + return p +} + +func (x Guardrail_LlmPolicy_PolicyScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Guardrail_LlmPolicy_PolicyScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[1].Descriptor() +} + +func (Guardrail_LlmPolicy_PolicyScope) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[1] +} + +func (x Guardrail_LlmPolicy_PolicyScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Guardrail_LlmPolicy_PolicyScope.Descriptor instead. +func (Guardrail_LlmPolicy_PolicyScope) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 2, 0} +} + +// Harm category. +type Guardrail_ModelSafety_HarmCategory int32 + +const ( + // The harm category is unspecified. + Guardrail_ModelSafety_HARM_CATEGORY_UNSPECIFIED Guardrail_ModelSafety_HarmCategory = 0 + // The harm category is hate speech. + Guardrail_ModelSafety_HARM_CATEGORY_HATE_SPEECH Guardrail_ModelSafety_HarmCategory = 1 + // The harm category is dangerous content. + Guardrail_ModelSafety_HARM_CATEGORY_DANGEROUS_CONTENT Guardrail_ModelSafety_HarmCategory = 2 + // The harm category is harassment. + Guardrail_ModelSafety_HARM_CATEGORY_HARASSMENT Guardrail_ModelSafety_HarmCategory = 3 + // The harm category is sexually explicit content. + Guardrail_ModelSafety_HARM_CATEGORY_SEXUALLY_EXPLICIT Guardrail_ModelSafety_HarmCategory = 4 +) + +// Enum value maps for Guardrail_ModelSafety_HarmCategory. +var ( + Guardrail_ModelSafety_HarmCategory_name = map[int32]string{ + 0: "HARM_CATEGORY_UNSPECIFIED", + 1: "HARM_CATEGORY_HATE_SPEECH", + 2: "HARM_CATEGORY_DANGEROUS_CONTENT", + 3: "HARM_CATEGORY_HARASSMENT", + 4: "HARM_CATEGORY_SEXUALLY_EXPLICIT", + } + Guardrail_ModelSafety_HarmCategory_value = map[string]int32{ + "HARM_CATEGORY_UNSPECIFIED": 0, + "HARM_CATEGORY_HATE_SPEECH": 1, + "HARM_CATEGORY_DANGEROUS_CONTENT": 2, + "HARM_CATEGORY_HARASSMENT": 3, + "HARM_CATEGORY_SEXUALLY_EXPLICIT": 4, + } +) + +func (x Guardrail_ModelSafety_HarmCategory) Enum() *Guardrail_ModelSafety_HarmCategory { + p := new(Guardrail_ModelSafety_HarmCategory) + *p = x + return p +} + +func (x Guardrail_ModelSafety_HarmCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Guardrail_ModelSafety_HarmCategory) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[2].Descriptor() +} + +func (Guardrail_ModelSafety_HarmCategory) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[2] +} + +func (x Guardrail_ModelSafety_HarmCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Guardrail_ModelSafety_HarmCategory.Descriptor instead. +func (Guardrail_ModelSafety_HarmCategory) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 3, 0} +} + +// Probability based thresholds levels for blocking. +type Guardrail_ModelSafety_HarmBlockThreshold int32 + +const ( + // Unspecified harm block threshold. + Guardrail_ModelSafety_HARM_BLOCK_THRESHOLD_UNSPECIFIED Guardrail_ModelSafety_HarmBlockThreshold = 0 + // Block low threshold and above (i.e. block more). + Guardrail_ModelSafety_BLOCK_LOW_AND_ABOVE Guardrail_ModelSafety_HarmBlockThreshold = 1 + // Block medium threshold and above. + Guardrail_ModelSafety_BLOCK_MEDIUM_AND_ABOVE Guardrail_ModelSafety_HarmBlockThreshold = 2 + // Block only high threshold (i.e. block less). + Guardrail_ModelSafety_BLOCK_ONLY_HIGH Guardrail_ModelSafety_HarmBlockThreshold = 3 + // Block none. + Guardrail_ModelSafety_BLOCK_NONE Guardrail_ModelSafety_HarmBlockThreshold = 4 + // Turn off the safety filter. + Guardrail_ModelSafety_OFF Guardrail_ModelSafety_HarmBlockThreshold = 5 +) + +// Enum value maps for Guardrail_ModelSafety_HarmBlockThreshold. +var ( + Guardrail_ModelSafety_HarmBlockThreshold_name = map[int32]string{ + 0: "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + 1: "BLOCK_LOW_AND_ABOVE", + 2: "BLOCK_MEDIUM_AND_ABOVE", + 3: "BLOCK_ONLY_HIGH", + 4: "BLOCK_NONE", + 5: "OFF", + } + Guardrail_ModelSafety_HarmBlockThreshold_value = map[string]int32{ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0, + "BLOCK_LOW_AND_ABOVE": 1, + "BLOCK_MEDIUM_AND_ABOVE": 2, + "BLOCK_ONLY_HIGH": 3, + "BLOCK_NONE": 4, + "OFF": 5, + } +) + +func (x Guardrail_ModelSafety_HarmBlockThreshold) Enum() *Guardrail_ModelSafety_HarmBlockThreshold { + p := new(Guardrail_ModelSafety_HarmBlockThreshold) + *p = x + return p +} + +func (x Guardrail_ModelSafety_HarmBlockThreshold) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Guardrail_ModelSafety_HarmBlockThreshold) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[3].Descriptor() +} + +func (Guardrail_ModelSafety_HarmBlockThreshold) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_guardrail_proto_enumTypes[3] +} + +func (x Guardrail_ModelSafety_HarmBlockThreshold) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Guardrail_ModelSafety_HarmBlockThreshold.Descriptor instead. +func (Guardrail_ModelSafety_HarmBlockThreshold) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 3, 1} +} + +// Guardrail contains a list of checks and balances to keep the agents safe and +// secure. +type Guardrail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Guardrail type. + // + // Types that are assignable to GuardrailType: + // + // *Guardrail_ContentFilter_ + // *Guardrail_LlmPromptSecurity_ + // *Guardrail_LlmPolicy_ + // *Guardrail_ModelSafety_ + // *Guardrail_CodeCallback_ + GuardrailType isGuardrail_GuardrailType `protobuf_oneof:"guardrail_type"` + // Identifier. The unique identifier of the guardrail. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the guardrail. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Description of the guardrail. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Whether the guardrail is enabled. + Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Optional. Action to take when the guardrail is triggered. + Action *TriggerAction `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"` + // Output only. Timestamp when the guardrail was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the guardrail was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Etag used to ensure the object hasn't changed during a read-modify-write + // operation. If the etag is empty, the update will overwrite any concurrent + // changes. + Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *Guardrail) Reset() { + *x = Guardrail{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail) ProtoMessage() {} + +func (x *Guardrail) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail.ProtoReflect.Descriptor instead. +func (*Guardrail) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0} +} + +func (m *Guardrail) GetGuardrailType() isGuardrail_GuardrailType { + if m != nil { + return m.GuardrailType + } + return nil +} + +func (x *Guardrail) GetContentFilter() *Guardrail_ContentFilter { + if x, ok := x.GetGuardrailType().(*Guardrail_ContentFilter_); ok { + return x.ContentFilter + } + return nil +} + +func (x *Guardrail) GetLlmPromptSecurity() *Guardrail_LlmPromptSecurity { + if x, ok := x.GetGuardrailType().(*Guardrail_LlmPromptSecurity_); ok { + return x.LlmPromptSecurity + } + return nil +} + +func (x *Guardrail) GetLlmPolicy() *Guardrail_LlmPolicy { + if x, ok := x.GetGuardrailType().(*Guardrail_LlmPolicy_); ok { + return x.LlmPolicy + } + return nil +} + +func (x *Guardrail) GetModelSafety() *Guardrail_ModelSafety { + if x, ok := x.GetGuardrailType().(*Guardrail_ModelSafety_); ok { + return x.ModelSafety + } + return nil +} + +func (x *Guardrail) GetCodeCallback() *Guardrail_CodeCallback { + if x, ok := x.GetGuardrailType().(*Guardrail_CodeCallback_); ok { + return x.CodeCallback + } + return nil +} + +func (x *Guardrail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Guardrail) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Guardrail) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Guardrail) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *Guardrail) GetAction() *TriggerAction { + if x != nil { + return x.Action + } + return nil +} + +func (x *Guardrail) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Guardrail) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Guardrail) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +type isGuardrail_GuardrailType interface { + isGuardrail_GuardrailType() +} + +type Guardrail_ContentFilter_ struct { + // Optional. Guardrail that bans certain content from being used in the + // conversation. + ContentFilter *Guardrail_ContentFilter `protobuf:"bytes,8,opt,name=content_filter,json=contentFilter,proto3,oneof"` +} + +type Guardrail_LlmPromptSecurity_ struct { + // Optional. Guardrail that blocks the conversation if the prompt is + // considered unsafe based on the LLM classification. + LlmPromptSecurity *Guardrail_LlmPromptSecurity `protobuf:"bytes,9,opt,name=llm_prompt_security,json=llmPromptSecurity,proto3,oneof"` +} + +type Guardrail_LlmPolicy_ struct { + // Optional. Guardrail that blocks the conversation if the LLM response is + // considered violating the policy based on the LLM classification. + LlmPolicy *Guardrail_LlmPolicy `protobuf:"bytes,10,opt,name=llm_policy,json=llmPolicy,proto3,oneof"` +} + +type Guardrail_ModelSafety_ struct { + // Optional. Guardrail that blocks the conversation if the LLM response is + // considered unsafe based on the model safety settings. + ModelSafety *Guardrail_ModelSafety `protobuf:"bytes,13,opt,name=model_safety,json=modelSafety,proto3,oneof"` +} + +type Guardrail_CodeCallback_ struct { + // Optional. Guardrail that potentially blocks the conversation based on the + // result of the callback execution. + CodeCallback *Guardrail_CodeCallback `protobuf:"bytes,14,opt,name=code_callback,json=codeCallback,proto3,oneof"` +} + +func (*Guardrail_ContentFilter_) isGuardrail_GuardrailType() {} + +func (*Guardrail_LlmPromptSecurity_) isGuardrail_GuardrailType() {} + +func (*Guardrail_LlmPolicy_) isGuardrail_GuardrailType() {} + +func (*Guardrail_ModelSafety_) isGuardrail_GuardrailType() {} + +func (*Guardrail_CodeCallback_) isGuardrail_GuardrailType() {} + +// Guardrail that bans certain content from being used in the conversation. +type Guardrail_ContentFilter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. List of banned phrases. Applies to both user inputs and agent + // responses. + BannedContents []string `protobuf:"bytes,1,rep,name=banned_contents,json=bannedContents,proto3" json:"banned_contents,omitempty"` + // Optional. List of banned phrases. Applies only to user inputs. + BannedContentsInUserInput []string `protobuf:"bytes,2,rep,name=banned_contents_in_user_input,json=bannedContentsInUserInput,proto3" json:"banned_contents_in_user_input,omitempty"` + // Optional. List of banned phrases. Applies only to agent responses. + BannedContentsInAgentResponse []string `protobuf:"bytes,3,rep,name=banned_contents_in_agent_response,json=bannedContentsInAgentResponse,proto3" json:"banned_contents_in_agent_response,omitempty"` + // Required. Match type for the content filter. + MatchType Guardrail_ContentFilter_MatchType `protobuf:"varint,4,opt,name=match_type,json=matchType,proto3,enum=google.cloud.ces.v1beta.Guardrail_ContentFilter_MatchType" json:"match_type,omitempty"` + // Optional. If true, diacritics are ignored during matching. + DisregardDiacritics bool `protobuf:"varint,5,opt,name=disregard_diacritics,json=disregardDiacritics,proto3" json:"disregard_diacritics,omitempty"` +} + +func (x *Guardrail_ContentFilter) Reset() { + *x = Guardrail_ContentFilter{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_ContentFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_ContentFilter) ProtoMessage() {} + +func (x *Guardrail_ContentFilter) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_ContentFilter.ProtoReflect.Descriptor instead. +func (*Guardrail_ContentFilter) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Guardrail_ContentFilter) GetBannedContents() []string { + if x != nil { + return x.BannedContents + } + return nil +} + +func (x *Guardrail_ContentFilter) GetBannedContentsInUserInput() []string { + if x != nil { + return x.BannedContentsInUserInput + } + return nil +} + +func (x *Guardrail_ContentFilter) GetBannedContentsInAgentResponse() []string { + if x != nil { + return x.BannedContentsInAgentResponse + } + return nil +} + +func (x *Guardrail_ContentFilter) GetMatchType() Guardrail_ContentFilter_MatchType { + if x != nil { + return x.MatchType + } + return Guardrail_ContentFilter_MATCH_TYPE_UNSPECIFIED +} + +func (x *Guardrail_ContentFilter) GetDisregardDiacritics() bool { + if x != nil { + return x.DisregardDiacritics + } + return false +} + +// Guardrail that blocks the conversation if the input is considered unsafe +// based on the LLM classification. +type Guardrail_LlmPromptSecurity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Defines the security configuration mode. + // The user must choose one of the following configurations. + // + // Types that are assignable to SecurityConfig: + // + // *Guardrail_LlmPromptSecurity_DefaultSettings + // *Guardrail_LlmPromptSecurity_CustomPolicy + SecurityConfig isGuardrail_LlmPromptSecurity_SecurityConfig `protobuf_oneof:"security_config"` + // Optional. Determines the behavior when the guardrail encounters an LLM + // error. + // - If true: the guardrail is bypassed. + // - If false (default): the guardrail triggers/blocks. + // + // Note: If a custom policy is provided, this field is ignored in favor + // of the policy's 'fail_open' configuration. + FailOpen bool `protobuf:"varint,3,opt,name=fail_open,json=failOpen,proto3" json:"fail_open,omitempty"` +} + +func (x *Guardrail_LlmPromptSecurity) Reset() { + *x = Guardrail_LlmPromptSecurity{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_LlmPromptSecurity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_LlmPromptSecurity) ProtoMessage() {} + +func (x *Guardrail_LlmPromptSecurity) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_LlmPromptSecurity.ProtoReflect.Descriptor instead. +func (*Guardrail_LlmPromptSecurity) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 1} +} + +func (m *Guardrail_LlmPromptSecurity) GetSecurityConfig() isGuardrail_LlmPromptSecurity_SecurityConfig { + if m != nil { + return m.SecurityConfig + } + return nil +} + +func (x *Guardrail_LlmPromptSecurity) GetDefaultSettings() *Guardrail_LlmPromptSecurity_DefaultSecuritySettings { + if x, ok := x.GetSecurityConfig().(*Guardrail_LlmPromptSecurity_DefaultSettings); ok { + return x.DefaultSettings + } + return nil +} + +func (x *Guardrail_LlmPromptSecurity) GetCustomPolicy() *Guardrail_LlmPolicy { + if x, ok := x.GetSecurityConfig().(*Guardrail_LlmPromptSecurity_CustomPolicy); ok { + return x.CustomPolicy + } + return nil +} + +func (x *Guardrail_LlmPromptSecurity) GetFailOpen() bool { + if x != nil { + return x.FailOpen + } + return false +} + +type isGuardrail_LlmPromptSecurity_SecurityConfig interface { + isGuardrail_LlmPromptSecurity_SecurityConfig() +} + +type Guardrail_LlmPromptSecurity_DefaultSettings struct { + // Optional. Use the system's predefined default security settings. + // To select this mode, include an empty 'default_settings' message + // in the request. The 'default_prompt_template' field within + // will be populated by the server in the response. + DefaultSettings *Guardrail_LlmPromptSecurity_DefaultSecuritySettings `protobuf:"bytes,1,opt,name=default_settings,json=defaultSettings,proto3,oneof"` +} + +type Guardrail_LlmPromptSecurity_CustomPolicy struct { + // Optional. Use a user-defined LlmPolicy to configure the security + // guardrail. + CustomPolicy *Guardrail_LlmPolicy `protobuf:"bytes,2,opt,name=custom_policy,json=customPolicy,proto3,oneof"` +} + +func (*Guardrail_LlmPromptSecurity_DefaultSettings) isGuardrail_LlmPromptSecurity_SecurityConfig() {} + +func (*Guardrail_LlmPromptSecurity_CustomPolicy) isGuardrail_LlmPromptSecurity_SecurityConfig() {} + +// Guardrail that blocks the conversation if the LLM response is considered +// violating the policy based on the LLM classification. +type Guardrail_LlmPolicy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. When checking this policy, consider the last 'n' messages in + // the conversation. When not set a default value of 10 will be used. + MaxConversationMessages int32 `protobuf:"varint,1,opt,name=max_conversation_messages,json=maxConversationMessages,proto3" json:"max_conversation_messages,omitempty"` + // Optional. Model settings. + ModelSettings *ModelSettings `protobuf:"bytes,2,opt,name=model_settings,json=modelSettings,proto3" json:"model_settings,omitempty"` + // Required. Policy prompt. + Prompt string `protobuf:"bytes,3,opt,name=prompt,proto3" json:"prompt,omitempty"` + // Required. Defines when to apply the policy check during the conversation. + // If set to `POLICY_SCOPE_UNSPECIFIED`, the policy will be applied to the + // user input. When applying the policy to the agent response, additional + // latency will be introduced before the agent can respond. + PolicyScope Guardrail_LlmPolicy_PolicyScope `protobuf:"varint,4,opt,name=policy_scope,json=policyScope,proto3,enum=google.cloud.ces.v1beta.Guardrail_LlmPolicy_PolicyScope" json:"policy_scope,omitempty"` + // Optional. If an error occurs during the policy check, fail open and do + // not trigger the guardrail. + FailOpen bool `protobuf:"varint,5,opt,name=fail_open,json=failOpen,proto3" json:"fail_open,omitempty"` + // Optional. By default, the LLM policy check is bypassed for short + // utterances. Enabling this setting applies the policy check to all + // utterances, including those that would normally be skipped. + AllowShortUtterance bool `protobuf:"varint,6,opt,name=allow_short_utterance,json=allowShortUtterance,proto3" json:"allow_short_utterance,omitempty"` +} + +func (x *Guardrail_LlmPolicy) Reset() { + *x = Guardrail_LlmPolicy{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_LlmPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_LlmPolicy) ProtoMessage() {} + +func (x *Guardrail_LlmPolicy) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_LlmPolicy.ProtoReflect.Descriptor instead. +func (*Guardrail_LlmPolicy) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *Guardrail_LlmPolicy) GetMaxConversationMessages() int32 { + if x != nil { + return x.MaxConversationMessages + } + return 0 +} + +func (x *Guardrail_LlmPolicy) GetModelSettings() *ModelSettings { + if x != nil { + return x.ModelSettings + } + return nil +} + +func (x *Guardrail_LlmPolicy) GetPrompt() string { + if x != nil { + return x.Prompt + } + return "" +} + +func (x *Guardrail_LlmPolicy) GetPolicyScope() Guardrail_LlmPolicy_PolicyScope { + if x != nil { + return x.PolicyScope + } + return Guardrail_LlmPolicy_POLICY_SCOPE_UNSPECIFIED +} + +func (x *Guardrail_LlmPolicy) GetFailOpen() bool { + if x != nil { + return x.FailOpen + } + return false +} + +func (x *Guardrail_LlmPolicy) GetAllowShortUtterance() bool { + if x != nil { + return x.AllowShortUtterance + } + return false +} + +// Model safety settings overrides. When this is set, it will override the +// default settings and trigger the guardrail if the response is considered +// unsafe. +type Guardrail_ModelSafety struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. List of safety settings. + SafetySettings []*Guardrail_ModelSafety_SafetySetting `protobuf:"bytes,1,rep,name=safety_settings,json=safetySettings,proto3" json:"safety_settings,omitempty"` +} + +func (x *Guardrail_ModelSafety) Reset() { + *x = Guardrail_ModelSafety{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_ModelSafety) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_ModelSafety) ProtoMessage() {} + +func (x *Guardrail_ModelSafety) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_ModelSafety.ProtoReflect.Descriptor instead. +func (*Guardrail_ModelSafety) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *Guardrail_ModelSafety) GetSafetySettings() []*Guardrail_ModelSafety_SafetySetting { + if x != nil { + return x.SafetySettings + } + return nil +} + +// Guardrail that blocks the conversation based on the code callbacks +// provided. +type Guardrail_CodeCallback struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The callback to execute before the agent is called. + // Each callback function is expected to return a structure (e.g., a dict or + // object) containing at least: + // - 'decision': Either 'OK' or 'TRIGGER'. + // - 'reason': A string explaining the decision. + // + // A 'TRIGGER' decision may halt further processing. + BeforeAgentCallback *Callback `protobuf:"bytes,1,opt,name=before_agent_callback,json=beforeAgentCallback,proto3" json:"before_agent_callback,omitempty"` + // Optional. The callback to execute after the agent is called. + // Each callback function is expected to return a structure (e.g., a dict or + // object) containing at least: + // - 'decision': Either 'OK' or 'TRIGGER'. + // - 'reason': A string explaining the decision. + // + // A 'TRIGGER' decision may halt further processing. + AfterAgentCallback *Callback `protobuf:"bytes,2,opt,name=after_agent_callback,json=afterAgentCallback,proto3" json:"after_agent_callback,omitempty"` + // Optional. The callback to execute before the model is called. If there + // are multiple calls to the model, the callback will be executed multiple + // times. Each callback function is expected to return a structure (e.g., a + // dict or object) containing at least: + // - 'decision': Either 'OK' or 'TRIGGER'. + // - 'reason': A string explaining the decision. + // + // A 'TRIGGER' decision may halt further processing. + BeforeModelCallback *Callback `protobuf:"bytes,3,opt,name=before_model_callback,json=beforeModelCallback,proto3" json:"before_model_callback,omitempty"` + // Optional. The callback to execute after the model is called. If there are + // multiple calls to the model, the callback will be executed multiple + // times. Each callback function is expected to return a structure (e.g., a + // dict or object) containing at least: + // - 'decision': Either 'OK' or 'TRIGGER'. + // - 'reason': A string explaining the decision. + // + // A 'TRIGGER' decision may halt further processing. + AfterModelCallback *Callback `protobuf:"bytes,4,opt,name=after_model_callback,json=afterModelCallback,proto3" json:"after_model_callback,omitempty"` +} + +func (x *Guardrail_CodeCallback) Reset() { + *x = Guardrail_CodeCallback{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_CodeCallback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_CodeCallback) ProtoMessage() {} + +func (x *Guardrail_CodeCallback) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_CodeCallback.ProtoReflect.Descriptor instead. +func (*Guardrail_CodeCallback) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *Guardrail_CodeCallback) GetBeforeAgentCallback() *Callback { + if x != nil { + return x.BeforeAgentCallback + } + return nil +} + +func (x *Guardrail_CodeCallback) GetAfterAgentCallback() *Callback { + if x != nil { + return x.AfterAgentCallback + } + return nil +} + +func (x *Guardrail_CodeCallback) GetBeforeModelCallback() *Callback { + if x != nil { + return x.BeforeModelCallback + } + return nil +} + +func (x *Guardrail_CodeCallback) GetAfterModelCallback() *Callback { + if x != nil { + return x.AfterModelCallback + } + return nil +} + +// Configuration for default system security settings. +type Guardrail_LlmPromptSecurity_DefaultSecuritySettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The default prompt template used by the system. + // This field is for display purposes to show the user what prompt + // the system uses by default. It is OUTPUT_ONLY. + DefaultPromptTemplate string `protobuf:"bytes,1,opt,name=default_prompt_template,json=defaultPromptTemplate,proto3" json:"default_prompt_template,omitempty"` +} + +func (x *Guardrail_LlmPromptSecurity_DefaultSecuritySettings) Reset() { + *x = Guardrail_LlmPromptSecurity_DefaultSecuritySettings{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_LlmPromptSecurity_DefaultSecuritySettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_LlmPromptSecurity_DefaultSecuritySettings) ProtoMessage() {} + +func (x *Guardrail_LlmPromptSecurity_DefaultSecuritySettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_LlmPromptSecurity_DefaultSecuritySettings.ProtoReflect.Descriptor instead. +func (*Guardrail_LlmPromptSecurity_DefaultSecuritySettings) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *Guardrail_LlmPromptSecurity_DefaultSecuritySettings) GetDefaultPromptTemplate() string { + if x != nil { + return x.DefaultPromptTemplate + } + return "" +} + +// Safety setting. +type Guardrail_ModelSafety_SafetySetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The harm category. + Category Guardrail_ModelSafety_HarmCategory `protobuf:"varint,1,opt,name=category,proto3,enum=google.cloud.ces.v1beta.Guardrail_ModelSafety_HarmCategory" json:"category,omitempty"` + // Required. The harm block threshold. + Threshold Guardrail_ModelSafety_HarmBlockThreshold `protobuf:"varint,2,opt,name=threshold,proto3,enum=google.cloud.ces.v1beta.Guardrail_ModelSafety_HarmBlockThreshold" json:"threshold,omitempty"` +} + +func (x *Guardrail_ModelSafety_SafetySetting) Reset() { + *x = Guardrail_ModelSafety_SafetySetting{} + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Guardrail_ModelSafety_SafetySetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Guardrail_ModelSafety_SafetySetting) ProtoMessage() {} + +func (x *Guardrail_ModelSafety_SafetySetting) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Guardrail_ModelSafety_SafetySetting.ProtoReflect.Descriptor instead. +func (*Guardrail_ModelSafety_SafetySetting) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *Guardrail_ModelSafety_SafetySetting) GetCategory() Guardrail_ModelSafety_HarmCategory { + if x != nil { + return x.Category + } + return Guardrail_ModelSafety_HARM_CATEGORY_UNSPECIFIED +} + +func (x *Guardrail_ModelSafety_SafetySetting) GetThreshold() Guardrail_ModelSafety_HarmBlockThreshold { + if x != nil { + return x.Threshold + } + return Guardrail_ModelSafety_HARM_BLOCK_THRESHOLD_UNSPECIFIED +} + +var File_google_cloud_ces_v1beta_guardrail_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_guardrail_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x1a, 0x0a, 0x09, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x12, 0x5e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x6b, 0x0a, 0x13, 0x6c, 0x6c, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4c, 0x6c, 0x6d, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x6c, + 0x6c, 0x6d, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x52, 0x0a, 0x0a, 0x6c, 0x6c, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4c, 0x6c, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6c, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x61, + 0x66, 0x65, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x12, 0x5b, + 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x63, + 0x6f, 0x64, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x12, 0x43, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x69, + 0x67, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x1a, + 0xdf, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x45, 0x0a, 0x1d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x62, 0x61, 0x6e, + 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x21, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x6e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x72, 0x65, 0x67, 0x61, + 0x72, 0x64, 0x5f, 0x64, 0x69, 0x61, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x72, 0x65, 0x67, + 0x61, 0x72, 0x64, 0x44, 0x69, 0x61, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x73, 0x22, 0x72, 0x0a, + 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, + 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, + 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, + 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, + 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x47, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, + 0x03, 0x1a, 0xfa, 0x02, 0x0a, 0x11, 0x4c, 0x6c, 0x6d, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x7e, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, + 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4c, 0x6c, 0x6d, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x2e, 0x4c, 0x6c, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x4f, + 0x70, 0x65, 0x6e, 0x1a, 0x56, 0x0a, 0x17, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, + 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, + 0x6d, 0x70, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xee, + 0x03, 0x0a, 0x09, 0x4c, 0x6c, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3f, 0x0a, 0x19, + 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x52, 0x0a, + 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x60, + 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, + 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4c, 0x6c, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x70, + 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x68, 0x6f, + 0x72, 0x74, 0x55, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x72, 0x0a, 0x0b, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x47, 0x45, 0x4e, + 0x54, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, + 0x55, 0x53, 0x45, 0x52, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, + 0x47, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x03, 0x1a, + 0xa6, 0x05, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x12, + 0x6a, 0x0a, 0x0f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x2e, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x61, 0x66, + 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x0d, + 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5c, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, + 0x61, 0x69, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x2e, + 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x64, 0x0a, 0x09, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, + 0x69, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x2e, 0x48, + 0x61, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x48, 0x61, 0x72, 0x6d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, + 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, + 0x52, 0x59, 0x5f, 0x48, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x43, 0x48, 0x10, 0x01, + 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, + 0x59, 0x5f, 0x44, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, + 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x48, 0x41, 0x52, 0x41, 0x53, 0x53, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x58, 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x45, 0x58, + 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x22, 0x9d, 0x01, 0x0a, 0x12, 0x48, 0x61, 0x72, + 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, + 0x24, 0x0a, 0x20, 0x48, 0x41, 0x52, 0x4d, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x48, + 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, + 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1a, + 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x41, + 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x4c, + 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x12, + 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x05, 0x1a, 0xfa, 0x02, 0x0a, 0x0c, 0x43, 0x6f, 0x64, + 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x5a, 0x0a, 0x15, 0x62, 0x65, 0x66, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, + 0x5a, 0x0a, 0x15, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x58, 0x0a, 0x14, 0x61, + 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x12, 0x61, 0x66, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, 0x1c, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x12, 0x49, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x7b, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x72, 0x61, 0x69, 0x6c, 0x7d, 0x2a, 0x0a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, + 0x73, 0x32, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x42, 0x10, 0x0a, 0x0e, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x5e, + 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0e, 0x47, + 0x75, 0x61, 0x72, 0x64, 0x72, 0x61, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_guardrail_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_guardrail_proto_rawDescData = file_google_cloud_ces_v1beta_guardrail_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_guardrail_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_guardrail_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_guardrail_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_guardrail_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_guardrail_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_guardrail_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_google_cloud_ces_v1beta_guardrail_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_google_cloud_ces_v1beta_guardrail_proto_goTypes = []any{ + (Guardrail_ContentFilter_MatchType)(0), // 0: google.cloud.ces.v1beta.Guardrail.ContentFilter.MatchType + (Guardrail_LlmPolicy_PolicyScope)(0), // 1: google.cloud.ces.v1beta.Guardrail.LlmPolicy.PolicyScope + (Guardrail_ModelSafety_HarmCategory)(0), // 2: google.cloud.ces.v1beta.Guardrail.ModelSafety.HarmCategory + (Guardrail_ModelSafety_HarmBlockThreshold)(0), // 3: google.cloud.ces.v1beta.Guardrail.ModelSafety.HarmBlockThreshold + (*Guardrail)(nil), // 4: google.cloud.ces.v1beta.Guardrail + (*Guardrail_ContentFilter)(nil), // 5: google.cloud.ces.v1beta.Guardrail.ContentFilter + (*Guardrail_LlmPromptSecurity)(nil), // 6: google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity + (*Guardrail_LlmPolicy)(nil), // 7: google.cloud.ces.v1beta.Guardrail.LlmPolicy + (*Guardrail_ModelSafety)(nil), // 8: google.cloud.ces.v1beta.Guardrail.ModelSafety + (*Guardrail_CodeCallback)(nil), // 9: google.cloud.ces.v1beta.Guardrail.CodeCallback + (*Guardrail_LlmPromptSecurity_DefaultSecuritySettings)(nil), // 10: google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity.DefaultSecuritySettings + (*Guardrail_ModelSafety_SafetySetting)(nil), // 11: google.cloud.ces.v1beta.Guardrail.ModelSafety.SafetySetting + (*TriggerAction)(nil), // 12: google.cloud.ces.v1beta.TriggerAction + (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp + (*ModelSettings)(nil), // 14: google.cloud.ces.v1beta.ModelSettings + (*Callback)(nil), // 15: google.cloud.ces.v1beta.Callback +} +var file_google_cloud_ces_v1beta_guardrail_proto_depIdxs = []int32{ + 5, // 0: google.cloud.ces.v1beta.Guardrail.content_filter:type_name -> google.cloud.ces.v1beta.Guardrail.ContentFilter + 6, // 1: google.cloud.ces.v1beta.Guardrail.llm_prompt_security:type_name -> google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity + 7, // 2: google.cloud.ces.v1beta.Guardrail.llm_policy:type_name -> google.cloud.ces.v1beta.Guardrail.LlmPolicy + 8, // 3: google.cloud.ces.v1beta.Guardrail.model_safety:type_name -> google.cloud.ces.v1beta.Guardrail.ModelSafety + 9, // 4: google.cloud.ces.v1beta.Guardrail.code_callback:type_name -> google.cloud.ces.v1beta.Guardrail.CodeCallback + 12, // 5: google.cloud.ces.v1beta.Guardrail.action:type_name -> google.cloud.ces.v1beta.TriggerAction + 13, // 6: google.cloud.ces.v1beta.Guardrail.create_time:type_name -> google.protobuf.Timestamp + 13, // 7: google.cloud.ces.v1beta.Guardrail.update_time:type_name -> google.protobuf.Timestamp + 0, // 8: google.cloud.ces.v1beta.Guardrail.ContentFilter.match_type:type_name -> google.cloud.ces.v1beta.Guardrail.ContentFilter.MatchType + 10, // 9: google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity.default_settings:type_name -> google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity.DefaultSecuritySettings + 7, // 10: google.cloud.ces.v1beta.Guardrail.LlmPromptSecurity.custom_policy:type_name -> google.cloud.ces.v1beta.Guardrail.LlmPolicy + 14, // 11: google.cloud.ces.v1beta.Guardrail.LlmPolicy.model_settings:type_name -> google.cloud.ces.v1beta.ModelSettings + 1, // 12: google.cloud.ces.v1beta.Guardrail.LlmPolicy.policy_scope:type_name -> google.cloud.ces.v1beta.Guardrail.LlmPolicy.PolicyScope + 11, // 13: google.cloud.ces.v1beta.Guardrail.ModelSafety.safety_settings:type_name -> google.cloud.ces.v1beta.Guardrail.ModelSafety.SafetySetting + 15, // 14: google.cloud.ces.v1beta.Guardrail.CodeCallback.before_agent_callback:type_name -> google.cloud.ces.v1beta.Callback + 15, // 15: google.cloud.ces.v1beta.Guardrail.CodeCallback.after_agent_callback:type_name -> google.cloud.ces.v1beta.Callback + 15, // 16: google.cloud.ces.v1beta.Guardrail.CodeCallback.before_model_callback:type_name -> google.cloud.ces.v1beta.Callback + 15, // 17: google.cloud.ces.v1beta.Guardrail.CodeCallback.after_model_callback:type_name -> google.cloud.ces.v1beta.Callback + 2, // 18: google.cloud.ces.v1beta.Guardrail.ModelSafety.SafetySetting.category:type_name -> google.cloud.ces.v1beta.Guardrail.ModelSafety.HarmCategory + 3, // 19: google.cloud.ces.v1beta.Guardrail.ModelSafety.SafetySetting.threshold:type_name -> google.cloud.ces.v1beta.Guardrail.ModelSafety.HarmBlockThreshold + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_guardrail_proto_init() } +func file_google_cloud_ces_v1beta_guardrail_proto_init() { + if File_google_cloud_ces_v1beta_guardrail_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[0].OneofWrappers = []any{ + (*Guardrail_ContentFilter_)(nil), + (*Guardrail_LlmPromptSecurity_)(nil), + (*Guardrail_LlmPolicy_)(nil), + (*Guardrail_ModelSafety_)(nil), + (*Guardrail_CodeCallback_)(nil), + } + file_google_cloud_ces_v1beta_guardrail_proto_msgTypes[2].OneofWrappers = []any{ + (*Guardrail_LlmPromptSecurity_DefaultSettings)(nil), + (*Guardrail_LlmPromptSecurity_CustomPolicy)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_guardrail_proto_rawDesc, + NumEnums: 4, + NumMessages: 8, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_guardrail_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_guardrail_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_guardrail_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_guardrail_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_guardrail_proto = out.File + file_google_cloud_ces_v1beta_guardrail_proto_rawDesc = nil + file_google_cloud_ces_v1beta_guardrail_proto_goTypes = nil + file_google_cloud_ces_v1beta_guardrail_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/mcp_tool.pb.go b/ces/apiv1beta/cespb/mcp_tool.pb.go new file mode 100644 index 000000000000..bb8bf8df7091 --- /dev/null +++ b/ces/apiv1beta/cespb/mcp_tool.pb.go @@ -0,0 +1,280 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/mcp_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An MCP tool. +// See https://modelcontextprotocol.io/specification/2025-06-18/server/tools for +// more details. +type McpTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the MCP tool. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The description of the MCP tool. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. The schema of the input arguments of the MCP tool. + InputSchema *Schema `protobuf:"bytes,3,opt,name=input_schema,json=inputSchema,proto3" json:"input_schema,omitempty"` + // Optional. The schema of the output arguments of the MCP tool. + OutputSchema *Schema `protobuf:"bytes,4,opt,name=output_schema,json=outputSchema,proto3" json:"output_schema,omitempty"` + // Required. The server address of the MCP server, e.g., + // "https://example.com/mcp/". If the server is built with the MCP SDK, the + // url should be suffixed with + // "/mcp/". Only Streamable HTTP transport based servers are supported. This + // is the same as the server_address in the McpToolset. See + // https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http + // for more details. + ServerAddress string `protobuf:"bytes,5,opt,name=server_address,json=serverAddress,proto3" json:"server_address,omitempty"` + // Optional. Authentication information required to execute the tool against + // the MCP server. For bearer token authentication, the token applies only to + // tool execution, not to listing tools. This requires that tools can be + // listed without authentication. + ApiAuthentication *ApiAuthentication `protobuf:"bytes,6,opt,name=api_authentication,json=apiAuthentication,proto3" json:"api_authentication,omitempty"` + // Optional. The TLS configuration. Includes the custom server certificates + // that the client should trust. + TlsConfig *TlsConfig `protobuf:"bytes,7,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"` + // Optional. Service Directory configuration for VPC-SC, used to resolve + // service names within a perimeter. + ServiceDirectoryConfig *ServiceDirectoryConfig `protobuf:"bytes,8,opt,name=service_directory_config,json=serviceDirectoryConfig,proto3" json:"service_directory_config,omitempty"` +} + +func (x *McpTool) Reset() { + *x = McpTool{} + mi := &file_google_cloud_ces_v1beta_mcp_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *McpTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*McpTool) ProtoMessage() {} + +func (x *McpTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_mcp_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use McpTool.ProtoReflect.Descriptor instead. +func (*McpTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *McpTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *McpTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *McpTool) GetInputSchema() *Schema { + if x != nil { + return x.InputSchema + } + return nil +} + +func (x *McpTool) GetOutputSchema() *Schema { + if x != nil { + return x.OutputSchema + } + return nil +} + +func (x *McpTool) GetServerAddress() string { + if x != nil { + return x.ServerAddress + } + return "" +} + +func (x *McpTool) GetApiAuthentication() *ApiAuthentication { + if x != nil { + return x.ApiAuthentication + } + return nil +} + +func (x *McpTool) GetTlsConfig() *TlsConfig { + if x != nil { + return x.TlsConfig + } + return nil +} + +func (x *McpTool) GetServiceDirectoryConfig() *ServiceDirectoryConfig { + if x != nil { + return x.ServiceDirectoryConfig + } + return nil +} + +var File_google_cloud_ces_v1beta_mcp_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_mcp_tool_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6d, 0x63, 0x70, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xa1, 0x04, 0x0a, 0x07, 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, + 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x49, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5e, + 0x0a, 0x12, 0x61, 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x61, 0x70, 0x69, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, + 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6c, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x6c, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x5c, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescData = file_google_cloud_ces_v1beta_mcp_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_mcp_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_mcp_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_mcp_tool_proto_goTypes = []any{ + (*McpTool)(nil), // 0: google.cloud.ces.v1beta.McpTool + (*Schema)(nil), // 1: google.cloud.ces.v1beta.Schema + (*ApiAuthentication)(nil), // 2: google.cloud.ces.v1beta.ApiAuthentication + (*TlsConfig)(nil), // 3: google.cloud.ces.v1beta.TlsConfig + (*ServiceDirectoryConfig)(nil), // 4: google.cloud.ces.v1beta.ServiceDirectoryConfig +} +var file_google_cloud_ces_v1beta_mcp_tool_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.McpTool.input_schema:type_name -> google.cloud.ces.v1beta.Schema + 1, // 1: google.cloud.ces.v1beta.McpTool.output_schema:type_name -> google.cloud.ces.v1beta.Schema + 2, // 2: google.cloud.ces.v1beta.McpTool.api_authentication:type_name -> google.cloud.ces.v1beta.ApiAuthentication + 3, // 3: google.cloud.ces.v1beta.McpTool.tls_config:type_name -> google.cloud.ces.v1beta.TlsConfig + 4, // 4: google.cloud.ces.v1beta.McpTool.service_directory_config:type_name -> google.cloud.ces.v1beta.ServiceDirectoryConfig + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_mcp_tool_proto_init() } +func file_google_cloud_ces_v1beta_mcp_tool_proto_init() { + if File_google_cloud_ces_v1beta_mcp_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_schema_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_mcp_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_mcp_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_mcp_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_mcp_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_mcp_tool_proto = out.File + file_google_cloud_ces_v1beta_mcp_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_mcp_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_mcp_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/mcp_toolset.pb.go b/ces/apiv1beta/cespb/mcp_toolset.pb.go new file mode 100644 index 000000000000..2775f8e40746 --- /dev/null +++ b/ces/apiv1beta/cespb/mcp_toolset.pb.go @@ -0,0 +1,223 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/mcp_toolset.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A toolset that contains a list of tools that are offered by the MCP +// server. +type McpToolset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The address of the MCP server, for example, + // "https://example.com/mcp/". If the server is built with the MCP SDK, the + // url should be suffixed with + // "/mcp/". Only Streamable HTTP transport based servers are supported. See + // https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http + // for more details. + ServerAddress string `protobuf:"bytes,1,opt,name=server_address,json=serverAddress,proto3" json:"server_address,omitempty"` + // Optional. Authentication information required to access tools and execute a + // tool against the MCP server. For bearer token authentication, the token + // applies only to tool execution, not to listing tools. This requires that + // tools can be listed without authentication. + ApiAuthentication *ApiAuthentication `protobuf:"bytes,2,opt,name=api_authentication,json=apiAuthentication,proto3" json:"api_authentication,omitempty"` + // Optional. Service Directory configuration for VPC-SC, used to resolve + // service names within a perimeter. + ServiceDirectoryConfig *ServiceDirectoryConfig `protobuf:"bytes,3,opt,name=service_directory_config,json=serviceDirectoryConfig,proto3" json:"service_directory_config,omitempty"` + // Optional. The TLS configuration. Includes the custom server certificates + // that the client should trust. + TlsConfig *TlsConfig `protobuf:"bytes,4,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"` +} + +func (x *McpToolset) Reset() { + *x = McpToolset{} + mi := &file_google_cloud_ces_v1beta_mcp_toolset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *McpToolset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*McpToolset) ProtoMessage() {} + +func (x *McpToolset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_mcp_toolset_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use McpToolset.ProtoReflect.Descriptor instead. +func (*McpToolset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescGZIP(), []int{0} +} + +func (x *McpToolset) GetServerAddress() string { + if x != nil { + return x.ServerAddress + } + return "" +} + +func (x *McpToolset) GetApiAuthentication() *ApiAuthentication { + if x != nil { + return x.ApiAuthentication + } + return nil +} + +func (x *McpToolset) GetServiceDirectoryConfig() *ServiceDirectoryConfig { + if x != nil { + return x.ServiceDirectoryConfig + } + return nil +} + +func (x *McpToolset) GetTlsConfig() *TlsConfig { + if x != nil { + return x.TlsConfig + } + return nil +} + +var File_google_cloud_ces_v1beta_mcp_toolset_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6d, 0x63, 0x70, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xd0, 0x02, 0x0a, 0x0a, 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x2a, + 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5e, 0x0a, 0x12, 0x61, 0x70, + 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x61, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x18, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x74, 0x6c, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x5f, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x42, 0x0f, 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescData = file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_mcp_toolset_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_mcp_toolset_proto_goTypes = []any{ + (*McpToolset)(nil), // 0: google.cloud.ces.v1beta.McpToolset + (*ApiAuthentication)(nil), // 1: google.cloud.ces.v1beta.ApiAuthentication + (*ServiceDirectoryConfig)(nil), // 2: google.cloud.ces.v1beta.ServiceDirectoryConfig + (*TlsConfig)(nil), // 3: google.cloud.ces.v1beta.TlsConfig +} +var file_google_cloud_ces_v1beta_mcp_toolset_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.McpToolset.api_authentication:type_name -> google.cloud.ces.v1beta.ApiAuthentication + 2, // 1: google.cloud.ces.v1beta.McpToolset.service_directory_config:type_name -> google.cloud.ces.v1beta.ServiceDirectoryConfig + 3, // 2: google.cloud.ces.v1beta.McpToolset.tls_config:type_name -> google.cloud.ces.v1beta.TlsConfig + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_mcp_toolset_proto_init() } +func file_google_cloud_ces_v1beta_mcp_toolset_proto_init() { + if File_google_cloud_ces_v1beta_mcp_toolset_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_mcp_toolset_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_mcp_toolset_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_mcp_toolset_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_mcp_toolset_proto = out.File + file_google_cloud_ces_v1beta_mcp_toolset_proto_rawDesc = nil + file_google_cloud_ces_v1beta_mcp_toolset_proto_goTypes = nil + file_google_cloud_ces_v1beta_mcp_toolset_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/omnichannel.pb.go b/ces/apiv1beta/cespb/omnichannel.pb.go new file mode 100644 index 000000000000..1ab8e26148d7 --- /dev/null +++ b/ces/apiv1beta/cespb/omnichannel.pb.go @@ -0,0 +1,766 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/omnichannel.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents an Omnichannel resource. +type Omnichannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier. The unique identifier of the omnichannel resource. + // Format: + // `projects/{project}/locations/{location}/omnichannels/{omnichannel}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Display name of the omnichannel resource. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. Human-readable description of the omnichannel resource. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when the omnichannel resource was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the omnichannel resource was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Etag used to ensure the object hasn't changed during a + // read-modify-write operation. + Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The integration config for the omnichannel resource. + IntegrationConfig *OmnichannelIntegrationConfig `protobuf:"bytes,7,opt,name=integration_config,json=integrationConfig,proto3" json:"integration_config,omitempty"` +} + +func (x *Omnichannel) Reset() { + *x = Omnichannel{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Omnichannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Omnichannel) ProtoMessage() {} + +func (x *Omnichannel) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Omnichannel.ProtoReflect.Descriptor instead. +func (*Omnichannel) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{0} +} + +func (x *Omnichannel) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Omnichannel) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Omnichannel) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Omnichannel) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Omnichannel) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Omnichannel) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Omnichannel) GetIntegrationConfig() *OmnichannelIntegrationConfig { + if x != nil { + return x.IntegrationConfig + } + return nil +} + +// OmnichannelIntegrationConfig contains all App integration configs. +type OmnichannelIntegrationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Various of configuration for handling App events. + ChannelConfigs map[string]*OmnichannelIntegrationConfig_ChannelConfig `protobuf:"bytes,1,rep,name=channel_configs,json=channelConfigs,proto3" json:"channel_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Various of subscribers configs. + SubscriberConfigs map[string]*OmnichannelIntegrationConfig_SubscriberConfig `protobuf:"bytes,2,rep,name=subscriber_configs,json=subscriberConfigs,proto3" json:"subscriber_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The key of routing_configs is a key of `app_configs`, value is a + // `RoutingConfig`, which contains subscriber's key. + RoutingConfigs map[string]*OmnichannelIntegrationConfig_RoutingConfig `protobuf:"bytes,3,rep,name=routing_configs,json=routingConfigs,proto3" json:"routing_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *OmnichannelIntegrationConfig) Reset() { + *x = OmnichannelIntegrationConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1} +} + +func (x *OmnichannelIntegrationConfig) GetChannelConfigs() map[string]*OmnichannelIntegrationConfig_ChannelConfig { + if x != nil { + return x.ChannelConfigs + } + return nil +} + +func (x *OmnichannelIntegrationConfig) GetSubscriberConfigs() map[string]*OmnichannelIntegrationConfig_SubscriberConfig { + if x != nil { + return x.SubscriberConfigs + } + return nil +} + +func (x *OmnichannelIntegrationConfig) GetRoutingConfigs() map[string]*OmnichannelIntegrationConfig_RoutingConfig { + if x != nil { + return x.RoutingConfigs + } + return nil +} + +// ChannelConfig contains config for various of app integration. +type OmnichannelIntegrationConfig_ChannelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The config for the app. + // + // Types that are assignable to ChannelConfig: + // + // *OmnichannelIntegrationConfig_ChannelConfig_WhatsappConfig + ChannelConfig isOmnichannelIntegrationConfig_ChannelConfig_ChannelConfig `protobuf_oneof:"channel_config"` +} + +func (x *OmnichannelIntegrationConfig_ChannelConfig) Reset() { + *x = OmnichannelIntegrationConfig_ChannelConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig_ChannelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig_ChannelConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig_ChannelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig_ChannelConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig_ChannelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1, 0} +} + +func (m *OmnichannelIntegrationConfig_ChannelConfig) GetChannelConfig() isOmnichannelIntegrationConfig_ChannelConfig_ChannelConfig { + if m != nil { + return m.ChannelConfig + } + return nil +} + +func (x *OmnichannelIntegrationConfig_ChannelConfig) GetWhatsappConfig() *OmnichannelIntegrationConfig_WhatsappConfig { + if x, ok := x.GetChannelConfig().(*OmnichannelIntegrationConfig_ChannelConfig_WhatsappConfig); ok { + return x.WhatsappConfig + } + return nil +} + +type isOmnichannelIntegrationConfig_ChannelConfig_ChannelConfig interface { + isOmnichannelIntegrationConfig_ChannelConfig_ChannelConfig() +} + +type OmnichannelIntegrationConfig_ChannelConfig_WhatsappConfig struct { + // WhatsApp config. + WhatsappConfig *OmnichannelIntegrationConfig_WhatsappConfig `protobuf:"bytes,1,opt,name=whatsapp_config,json=whatsappConfig,proto3,oneof"` +} + +func (*OmnichannelIntegrationConfig_ChannelConfig_WhatsappConfig) isOmnichannelIntegrationConfig_ChannelConfig_ChannelConfig() { +} + +// How Omnichannel should receive/reply events from WhatsApp. +type OmnichannelIntegrationConfig_WhatsappConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Phone Number ID associated with the WhatsApp Business Account. + PhoneNumberId string `protobuf:"bytes,1,opt,name=phone_number_id,json=phoneNumberId,proto3" json:"phone_number_id,omitempty"` + // The phone number used for sending/receiving messages. + PhoneNumber string `protobuf:"bytes,2,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"` + // The customer's WhatsApp Business Account (WABA) ID. + WhatsappBusinessAccountId string `protobuf:"bytes,3,opt,name=whatsapp_business_account_id,json=whatsappBusinessAccountId,proto3" json:"whatsapp_business_account_id,omitempty"` + // The verify token configured in the Meta App Dashboard for webhook + // verification. + WebhookVerifyToken string `protobuf:"bytes,4,opt,name=webhook_verify_token,json=webhookVerifyToken,proto3" json:"webhook_verify_token,omitempty"` + // The access token for authenticating API calls to the WhatsApp Cloud API. + // https://developers.facebook.com/docs/whatsapp/business-management-api/get-started/#business-integration-system-user-access-tokens + WhatsappBusinessToken string `protobuf:"bytes,5,opt,name=whatsapp_business_token,json=whatsappBusinessToken,proto3" json:"whatsapp_business_token,omitempty"` + // The Meta Business Portfolio (MBP) ID. + // https://www.facebook.com/business/help/1710077379203657 + MetaBusinessPortfolioId string `protobuf:"bytes,6,opt,name=meta_business_portfolio_id,json=metaBusinessPortfolioId,proto3" json:"meta_business_portfolio_id,omitempty"` +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) Reset() { + *x = OmnichannelIntegrationConfig_WhatsappConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig_WhatsappConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig_WhatsappConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig_WhatsappConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetPhoneNumberId() string { + if x != nil { + return x.PhoneNumberId + } + return "" +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetPhoneNumber() string { + if x != nil { + return x.PhoneNumber + } + return "" +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetWhatsappBusinessAccountId() string { + if x != nil { + return x.WhatsappBusinessAccountId + } + return "" +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetWebhookVerifyToken() string { + if x != nil { + return x.WebhookVerifyToken + } + return "" +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetWhatsappBusinessToken() string { + if x != nil { + return x.WhatsappBusinessToken + } + return "" +} + +func (x *OmnichannelIntegrationConfig_WhatsappConfig) GetMetaBusinessPortfolioId() string { + if x != nil { + return x.MetaBusinessPortfolioId + } + return "" +} + +// Configs of subscribers. +type OmnichannelIntegrationConfig_SubscriberConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The config for the subscriber. + // + // Types that are assignable to SubscriberConfig: + // + // *OmnichannelIntegrationConfig_SubscriberConfig_CesAppConfig + SubscriberConfig isOmnichannelIntegrationConfig_SubscriberConfig_SubscriberConfig `protobuf_oneof:"subscriber_config"` +} + +func (x *OmnichannelIntegrationConfig_SubscriberConfig) Reset() { + *x = OmnichannelIntegrationConfig_SubscriberConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig_SubscriberConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig_SubscriberConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig_SubscriberConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig_SubscriberConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig_SubscriberConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1, 2} +} + +func (m *OmnichannelIntegrationConfig_SubscriberConfig) GetSubscriberConfig() isOmnichannelIntegrationConfig_SubscriberConfig_SubscriberConfig { + if m != nil { + return m.SubscriberConfig + } + return nil +} + +func (x *OmnichannelIntegrationConfig_SubscriberConfig) GetCesAppConfig() *OmnichannelIntegrationConfig_CesAppConfig { + if x, ok := x.GetSubscriberConfig().(*OmnichannelIntegrationConfig_SubscriberConfig_CesAppConfig); ok { + return x.CesAppConfig + } + return nil +} + +type isOmnichannelIntegrationConfig_SubscriberConfig_SubscriberConfig interface { + isOmnichannelIntegrationConfig_SubscriberConfig_SubscriberConfig() +} + +type OmnichannelIntegrationConfig_SubscriberConfig_CesAppConfig struct { + // Ces app config. + CesAppConfig *OmnichannelIntegrationConfig_CesAppConfig `protobuf:"bytes,1,opt,name=ces_app_config,json=cesAppConfig,proto3,oneof"` +} + +func (*OmnichannelIntegrationConfig_SubscriberConfig_CesAppConfig) isOmnichannelIntegrationConfig_SubscriberConfig_SubscriberConfig() { +} + +// Configs for CES app. +type OmnichannelIntegrationConfig_CesAppConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The unique identifier of the CES app. + // Format: `projects/{project}/locations/{location}/apps/{app}` + App string `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"` +} + +func (x *OmnichannelIntegrationConfig_CesAppConfig) Reset() { + *x = OmnichannelIntegrationConfig_CesAppConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig_CesAppConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig_CesAppConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig_CesAppConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig_CesAppConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig_CesAppConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1, 3} +} + +func (x *OmnichannelIntegrationConfig_CesAppConfig) GetApp() string { + if x != nil { + return x.App + } + return "" +} + +// Routing config specify how/who to route app events to a subscriber. +type OmnichannelIntegrationConfig_RoutingConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the subscriber. + SubscriberKey string `protobuf:"bytes,1,opt,name=subscriber_key,json=subscriberKey,proto3" json:"subscriber_key,omitempty"` +} + +func (x *OmnichannelIntegrationConfig_RoutingConfig) Reset() { + *x = OmnichannelIntegrationConfig_RoutingConfig{} + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelIntegrationConfig_RoutingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelIntegrationConfig_RoutingConfig) ProtoMessage() {} + +func (x *OmnichannelIntegrationConfig_RoutingConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelIntegrationConfig_RoutingConfig.ProtoReflect.Descriptor instead. +func (*OmnichannelIntegrationConfig_RoutingConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP(), []int{1, 4} +} + +func (x *OmnichannelIntegrationConfig_RoutingConfig) GetSubscriberKey() string { + if x != nil { + return x.SubscriberKey + } + return "" +} + +var File_google_cloud_ces_v1beta_omnichannel_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_omnichannel_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x6d, 0x6e, 0x69, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x82, 0x04, 0x0a, 0x0b, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x69, 0x0a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, + 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x3a, 0x82, 0x01, 0xea, 0x41, 0x7f, 0x0a, 0x1e, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x6d, 0x6e, 0x69, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x42, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6f, + 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7d, 0x2a, 0x0c, 0x6f, 0x6d, 0x6e, + 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x32, 0x0b, 0x6f, 0x6d, 0x6e, 0x69, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x9c, 0x0c, 0x0a, 0x1c, 0x4f, 0x6d, 0x6e, 0x69, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x77, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x80, 0x01, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x12, 0x77, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x6f, + 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x92, 0x01, 0x0a, + 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6f, + 0x0a, 0x0f, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, + 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, + 0x0e, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x10, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x1a, 0xc3, 0x02, 0x0a, 0x0e, 0x57, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x3f, 0x0a, 0x1c, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x5f, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x42, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x30, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x5f, 0x62, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x42, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x65, + 0x74, 0x61, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, + 0x6d, 0x65, 0x74, 0x61, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x72, 0x74, + 0x66, 0x6f, 0x6c, 0x69, 0x6f, 0x49, 0x64, 0x1a, 0x93, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x0e, + 0x63, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, + 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x65, 0x73, 0x41, + 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x65, 0x73, 0x41, + 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3d, 0x0a, + 0x0c, 0x43, 0x65, 0x73, 0x41, 0x70, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, + 0x03, 0x61, 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xfa, 0x41, 0x18, 0x0a, + 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x03, 0x61, 0x70, 0x70, 0x1a, 0x36, 0x0a, 0x0d, + 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x72, 0x4b, 0x65, 0x79, 0x1a, 0x86, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x8c, 0x01, + 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5c, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x86, 0x01, 0x0a, + 0x13, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x60, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x42, 0x10, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, + 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_omnichannel_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_omnichannel_proto_rawDescData = file_google_cloud_ces_v1beta_omnichannel_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_omnichannel_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_omnichannel_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_omnichannel_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_omnichannel_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_omnichannel_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_google_cloud_ces_v1beta_omnichannel_proto_goTypes = []any{ + (*Omnichannel)(nil), // 0: google.cloud.ces.v1beta.Omnichannel + (*OmnichannelIntegrationConfig)(nil), // 1: google.cloud.ces.v1beta.OmnichannelIntegrationConfig + (*OmnichannelIntegrationConfig_ChannelConfig)(nil), // 2: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfig + (*OmnichannelIntegrationConfig_WhatsappConfig)(nil), // 3: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.WhatsappConfig + (*OmnichannelIntegrationConfig_SubscriberConfig)(nil), // 4: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfig + (*OmnichannelIntegrationConfig_CesAppConfig)(nil), // 5: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.CesAppConfig + (*OmnichannelIntegrationConfig_RoutingConfig)(nil), // 6: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.RoutingConfig + nil, // 7: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfigsEntry + nil, // 8: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfigsEntry + nil, // 9: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.RoutingConfigsEntry + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_omnichannel_proto_depIdxs = []int32{ + 10, // 0: google.cloud.ces.v1beta.Omnichannel.create_time:type_name -> google.protobuf.Timestamp + 10, // 1: google.cloud.ces.v1beta.Omnichannel.update_time:type_name -> google.protobuf.Timestamp + 1, // 2: google.cloud.ces.v1beta.Omnichannel.integration_config:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig + 7, // 3: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.channel_configs:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfigsEntry + 8, // 4: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.subscriber_configs:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfigsEntry + 9, // 5: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.routing_configs:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.RoutingConfigsEntry + 3, // 6: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfig.whatsapp_config:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.WhatsappConfig + 5, // 7: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfig.ces_app_config:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.CesAppConfig + 2, // 8: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfigsEntry.value:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.ChannelConfig + 4, // 9: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfigsEntry.value:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.SubscriberConfig + 6, // 10: google.cloud.ces.v1beta.OmnichannelIntegrationConfig.RoutingConfigsEntry.value:type_name -> google.cloud.ces.v1beta.OmnichannelIntegrationConfig.RoutingConfig + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_omnichannel_proto_init() } +func file_google_cloud_ces_v1beta_omnichannel_proto_init() { + if File_google_cloud_ces_v1beta_omnichannel_proto != nil { + return + } + file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[2].OneofWrappers = []any{ + (*OmnichannelIntegrationConfig_ChannelConfig_WhatsappConfig)(nil), + } + file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes[4].OneofWrappers = []any{ + (*OmnichannelIntegrationConfig_SubscriberConfig_CesAppConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_omnichannel_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_omnichannel_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_omnichannel_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_omnichannel_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_omnichannel_proto = out.File + file_google_cloud_ces_v1beta_omnichannel_proto_rawDesc = nil + file_google_cloud_ces_v1beta_omnichannel_proto_goTypes = nil + file_google_cloud_ces_v1beta_omnichannel_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/omnichannel_service.pb.go b/ces/apiv1beta/cespb/omnichannel_service.pb.go new file mode 100644 index 000000000000..94b1dc32690b --- /dev/null +++ b/ces/apiv1beta/cespb/omnichannel_service.pb.go @@ -0,0 +1,208 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/omnichannel_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Represents the metadata of the long-running operation. +type OmnichannelOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,3,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation of the + // operation. + RequestedCancellation bool `protobuf:"varint,4,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` +} + +func (x *OmnichannelOperationMetadata) Reset() { + *x = OmnichannelOperationMetadata{} + mi := &file_google_cloud_ces_v1beta_omnichannel_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OmnichannelOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OmnichannelOperationMetadata) ProtoMessage() {} + +func (x *OmnichannelOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_omnichannel_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OmnichannelOperationMetadata.ProtoReflect.Descriptor instead. +func (*OmnichannelOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescGZIP(), []int{0} +} + +func (x *OmnichannelOperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OmnichannelOperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OmnichannelOperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OmnichannelOperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +var File_google_cloud_ces_v1beta_omnichannel_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x6d, 0x6e, 0x69, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x84, 0x02, 0x0a, 0x1c, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x67, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x17, 0x4f, 0x6d, 0x6e, 0x69, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescData = file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_omnichannel_service_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_omnichannel_service_proto_goTypes = []any{ + (*OmnichannelOperationMetadata)(nil), // 0: google.cloud.ces.v1beta.OmnichannelOperationMetadata + (*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_omnichannel_service_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.OmnichannelOperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 1, // 1: google.cloud.ces.v1beta.OmnichannelOperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_omnichannel_service_proto_init() } +func file_google_cloud_ces_v1beta_omnichannel_service_proto_init() { + if File_google_cloud_ces_v1beta_omnichannel_service_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_omnichannel_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_omnichannel_service_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_omnichannel_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_omnichannel_service_proto = out.File + file_google_cloud_ces_v1beta_omnichannel_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_omnichannel_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_omnichannel_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/open_api_tool.pb.go b/ces/apiv1beta/cespb/open_api_tool.pb.go new file mode 100644 index 000000000000..f36391243578 --- /dev/null +++ b/ces/apiv1beta/cespb/open_api_tool.pb.go @@ -0,0 +1,267 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/open_api_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A remote API tool defined by an OpenAPI schema. +type OpenApiTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The OpenAPI schema in JSON or YAML format. + OpenApiSchema string `protobuf:"bytes,1,opt,name=open_api_schema,json=openApiSchema,proto3" json:"open_api_schema,omitempty"` + // Optional. The name of the tool. If not provided, the name of the tool will + // be derived from the OpenAPI schema, from `operation.operationId`. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The description of the tool. If not provided, the description of + // the tool will be derived from the OpenAPI schema, from + // `operation.description` or `operation.summary`. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Authentication information required by the API. + ApiAuthentication *ApiAuthentication `protobuf:"bytes,4,opt,name=api_authentication,json=apiAuthentication,proto3" json:"api_authentication,omitempty"` + // Optional. The TLS configuration. Includes the custom server certificates + // that the client will trust. + TlsConfig *TlsConfig `protobuf:"bytes,5,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"` + // Optional. Service Directory configuration. + ServiceDirectoryConfig *ServiceDirectoryConfig `protobuf:"bytes,6,opt,name=service_directory_config,json=serviceDirectoryConfig,proto3" json:"service_directory_config,omitempty"` + // Optional. If true, the agent will ignore unknown fields in the API + // response. + IgnoreUnknownFields bool `protobuf:"varint,7,opt,name=ignore_unknown_fields,json=ignoreUnknownFields,proto3" json:"ignore_unknown_fields,omitempty"` + // Optional. The server URL of the Open API schema. + // This field is only set in tools in the environment dependencies during the + // export process if the schema contains a server url. During the import + // process, if this url is present in the environment dependencies and the + // schema has the $env_var placeholder, it will replace the placeholder in the + // schema. + Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *OpenApiTool) Reset() { + *x = OpenApiTool{} + mi := &file_google_cloud_ces_v1beta_open_api_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OpenApiTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenApiTool) ProtoMessage() {} + +func (x *OpenApiTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_open_api_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpenApiTool.ProtoReflect.Descriptor instead. +func (*OpenApiTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *OpenApiTool) GetOpenApiSchema() string { + if x != nil { + return x.OpenApiSchema + } + return "" +} + +func (x *OpenApiTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OpenApiTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OpenApiTool) GetApiAuthentication() *ApiAuthentication { + if x != nil { + return x.ApiAuthentication + } + return nil +} + +func (x *OpenApiTool) GetTlsConfig() *TlsConfig { + if x != nil { + return x.TlsConfig + } + return nil +} + +func (x *OpenApiTool) GetServiceDirectoryConfig() *ServiceDirectoryConfig { + if x != nil { + return x.ServiceDirectoryConfig + } + return nil +} + +func (x *OpenApiTool) GetIgnoreUnknownFields() bool { + if x != nil { + return x.IgnoreUnknownFields + } + return false +} + +func (x *OpenApiTool) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +var File_google_cloud_ces_v1beta_open_api_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_open_api_tool_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xe2, 0x03, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6f, + 0x6c, 0x12, 0x2b, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, + 0x0a, 0x12, 0x61, 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x61, 0x70, 0x69, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, + 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6c, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x6c, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, + 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x42, 0x60, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, + 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, + 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescData = file_google_cloud_ces_v1beta_open_api_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_open_api_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_open_api_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_open_api_tool_proto_goTypes = []any{ + (*OpenApiTool)(nil), // 0: google.cloud.ces.v1beta.OpenApiTool + (*ApiAuthentication)(nil), // 1: google.cloud.ces.v1beta.ApiAuthentication + (*TlsConfig)(nil), // 2: google.cloud.ces.v1beta.TlsConfig + (*ServiceDirectoryConfig)(nil), // 3: google.cloud.ces.v1beta.ServiceDirectoryConfig +} +var file_google_cloud_ces_v1beta_open_api_tool_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.OpenApiTool.api_authentication:type_name -> google.cloud.ces.v1beta.ApiAuthentication + 2, // 1: google.cloud.ces.v1beta.OpenApiTool.tls_config:type_name -> google.cloud.ces.v1beta.TlsConfig + 3, // 2: google.cloud.ces.v1beta.OpenApiTool.service_directory_config:type_name -> google.cloud.ces.v1beta.ServiceDirectoryConfig + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_open_api_tool_proto_init() } +func file_google_cloud_ces_v1beta_open_api_tool_proto_init() { + if File_google_cloud_ces_v1beta_open_api_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_open_api_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_open_api_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_open_api_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_open_api_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_open_api_tool_proto = out.File + file_google_cloud_ces_v1beta_open_api_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_open_api_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_open_api_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/open_api_toolset.pb.go b/ces/apiv1beta/cespb/open_api_toolset.pb.go new file mode 100644 index 000000000000..bc5262105f7f --- /dev/null +++ b/ces/apiv1beta/cespb/open_api_toolset.pb.go @@ -0,0 +1,243 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/open_api_toolset.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A toolset that contains a list of tools that are defined by an OpenAPI +// schema. +type OpenApiToolset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The OpenAPI schema of the toolset. + OpenApiSchema string `protobuf:"bytes,1,opt,name=open_api_schema,json=openApiSchema,proto3" json:"open_api_schema,omitempty"` + // Optional. Authentication information required by the API. + ApiAuthentication *ApiAuthentication `protobuf:"bytes,2,opt,name=api_authentication,json=apiAuthentication,proto3" json:"api_authentication,omitempty"` + // Optional. The TLS configuration. Includes the custom server certificates + TlsConfig *TlsConfig `protobuf:"bytes,3,opt,name=tls_config,json=tlsConfig,proto3" json:"tls_config,omitempty"` + // Optional. Service Directory configuration. + ServiceDirectoryConfig *ServiceDirectoryConfig `protobuf:"bytes,4,opt,name=service_directory_config,json=serviceDirectoryConfig,proto3" json:"service_directory_config,omitempty"` + // Optional. If true, the agent will ignore unknown fields in the API response + // for all operations defined in the OpenAPI schema. + IgnoreUnknownFields bool `protobuf:"varint,5,opt,name=ignore_unknown_fields,json=ignoreUnknownFields,proto3" json:"ignore_unknown_fields,omitempty"` + // Optional. The server URL of the Open API schema. + // This field is only set in toolsets in the environment dependencies during + // the export process if the schema contains a server url. During the import + // process, if this url is present in the environment dependencies and the + // schema has the $env_var placeholder, it will replace the placeholder in the + // schema. + Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *OpenApiToolset) Reset() { + *x = OpenApiToolset{} + mi := &file_google_cloud_ces_v1beta_open_api_toolset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OpenApiToolset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenApiToolset) ProtoMessage() {} + +func (x *OpenApiToolset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_open_api_toolset_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OpenApiToolset.ProtoReflect.Descriptor instead. +func (*OpenApiToolset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescGZIP(), []int{0} +} + +func (x *OpenApiToolset) GetOpenApiSchema() string { + if x != nil { + return x.OpenApiSchema + } + return "" +} + +func (x *OpenApiToolset) GetApiAuthentication() *ApiAuthentication { + if x != nil { + return x.ApiAuthentication + } + return nil +} + +func (x *OpenApiToolset) GetTlsConfig() *TlsConfig { + if x != nil { + return x.TlsConfig + } + return nil +} + +func (x *OpenApiToolset) GetServiceDirectoryConfig() *ServiceDirectoryConfig { + if x != nil { + return x.ServiceDirectoryConfig + } + return nil +} + +func (x *OpenApiToolset) GetIgnoreUnknownFields() bool { + if x != nil { + return x.IgnoreUnknownFields + } + return false +} + +func (x *OpenApiToolset) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +var File_google_cloud_ces_v1beta_open_api_toolset_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x03, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, + 0x61, 0x70, 0x69, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5e, 0x0a, 0x12, 0x61, 0x70, 0x69, 0x5f, 0x61, 0x75, 0x74, 0x68, + 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x70, 0x69, 0x41, 0x75, + 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x11, 0x61, 0x70, 0x69, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x18, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x15, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x42, 0x63, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x4f, 0x70, 0x65, + 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescData = file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_open_api_toolset_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_open_api_toolset_proto_goTypes = []any{ + (*OpenApiToolset)(nil), // 0: google.cloud.ces.v1beta.OpenApiToolset + (*ApiAuthentication)(nil), // 1: google.cloud.ces.v1beta.ApiAuthentication + (*TlsConfig)(nil), // 2: google.cloud.ces.v1beta.TlsConfig + (*ServiceDirectoryConfig)(nil), // 3: google.cloud.ces.v1beta.ServiceDirectoryConfig +} +var file_google_cloud_ces_v1beta_open_api_toolset_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.OpenApiToolset.api_authentication:type_name -> google.cloud.ces.v1beta.ApiAuthentication + 2, // 1: google.cloud.ces.v1beta.OpenApiToolset.tls_config:type_name -> google.cloud.ces.v1beta.TlsConfig + 3, // 2: google.cloud.ces.v1beta.OpenApiToolset.service_directory_config:type_name -> google.cloud.ces.v1beta.ServiceDirectoryConfig + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_open_api_toolset_proto_init() } +func file_google_cloud_ces_v1beta_open_api_toolset_proto_init() { + if File_google_cloud_ces_v1beta_open_api_toolset_proto != nil { + return + } + file_google_cloud_ces_v1beta_auth_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_open_api_toolset_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_open_api_toolset_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_open_api_toolset_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_open_api_toolset_proto = out.File + file_google_cloud_ces_v1beta_open_api_toolset_proto_rawDesc = nil + file_google_cloud_ces_v1beta_open_api_toolset_proto_goTypes = nil + file_google_cloud_ces_v1beta_open_api_toolset_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/python_function.pb.go b/ces/apiv1beta/cespb/python_function.pb.go new file mode 100644 index 000000000000..b9a612e35f22 --- /dev/null +++ b/ces/apiv1beta/cespb/python_function.pb.go @@ -0,0 +1,180 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/python_function.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A Python function tool. +type PythonFunction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The name of the Python function to execute. Must match a Python + // function name defined in the python code. Case sensitive. If the name is + // not provided, the first function defined in the python code will be used. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The Python code to execute for the tool. + PythonCode string `protobuf:"bytes,2,opt,name=python_code,json=pythonCode,proto3" json:"python_code,omitempty"` + // Output only. The description of the Python function, parsed from the python + // code's docstring. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *PythonFunction) Reset() { + *x = PythonFunction{} + mi := &file_google_cloud_ces_v1beta_python_function_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PythonFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PythonFunction) ProtoMessage() {} + +func (x *PythonFunction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_python_function_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PythonFunction.ProtoReflect.Descriptor instead. +func (*PythonFunction) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_python_function_proto_rawDescGZIP(), []int{0} +} + +func (x *PythonFunction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PythonFunction) GetPythonCode() string { + if x != nil { + return x.PythonCode + } + return "" +} + +func (x *PythonFunction) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_google_cloud_ces_v1beta_python_function_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_python_function_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x0e, 0x50, 0x79, 0x74, + 0x68, 0x6f, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x63, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x42, 0x13, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_python_function_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_python_function_proto_rawDescData = file_google_cloud_ces_v1beta_python_function_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_python_function_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_python_function_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_python_function_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_python_function_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_python_function_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_python_function_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_python_function_proto_goTypes = []any{ + (*PythonFunction)(nil), // 0: google.cloud.ces.v1beta.PythonFunction +} +var file_google_cloud_ces_v1beta_python_function_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_python_function_proto_init() } +func file_google_cloud_ces_v1beta_python_function_proto_init() { + if File_google_cloud_ces_v1beta_python_function_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_python_function_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_python_function_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_python_function_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_python_function_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_python_function_proto = out.File + file_google_cloud_ces_v1beta_python_function_proto_rawDesc = nil + file_google_cloud_ces_v1beta_python_function_proto_goTypes = nil + file_google_cloud_ces_v1beta_python_function_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/schema.pb.go b/ces/apiv1beta/cespb/schema.pb.go new file mode 100644 index 000000000000..13b745fc5cb6 --- /dev/null +++ b/ces/apiv1beta/cespb/schema.pb.go @@ -0,0 +1,514 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/schema.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// OpenAPI data types. +type Schema_Type int32 + +const ( + // Type unspecified. + Schema_TYPE_UNSPECIFIED Schema_Type = 0 + // String type. + Schema_STRING Schema_Type = 1 + // Integer type. + Schema_INTEGER Schema_Type = 2 + // Number type. + Schema_NUMBER Schema_Type = 3 + // Boolean type. + Schema_BOOLEAN Schema_Type = 4 + // Object type. + Schema_OBJECT Schema_Type = 5 + // Array type. + Schema_ARRAY Schema_Type = 6 +) + +// Enum value maps for Schema_Type. +var ( + Schema_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "STRING", + 2: "INTEGER", + 3: "NUMBER", + 4: "BOOLEAN", + 5: "OBJECT", + 6: "ARRAY", + } + Schema_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "STRING": 1, + "INTEGER": 2, + "NUMBER": 3, + "BOOLEAN": 4, + "OBJECT": 5, + "ARRAY": 6, + } +) + +func (x Schema_Type) Enum() *Schema_Type { + p := new(Schema_Type) + *p = x + return p +} + +func (x Schema_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Schema_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_schema_proto_enumTypes[0].Descriptor() +} + +func (Schema_Type) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_schema_proto_enumTypes[0] +} + +func (x Schema_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Schema_Type.Descriptor instead. +func (Schema_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_schema_proto_rawDescGZIP(), []int{0, 0} +} + +// Represents a select subset of an OpenAPI 3.0 schema object. +type Schema struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The type of the data. + Type Schema_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.ces.v1beta.Schema_Type" json:"type,omitempty"` + // Optional. Properties of Type.OBJECT. + Properties map[string]*Schema `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. Required properties of Type.OBJECT. + Required []string `protobuf:"bytes,3,rep,name=required,proto3" json:"required,omitempty"` + // Optional. The description of the data. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // Optional. Schema of the elements of Type.ARRAY. + Items *Schema `protobuf:"bytes,5,opt,name=items,proto3" json:"items,omitempty"` + // Optional. Indicates if the value may be null. + Nullable bool `protobuf:"varint,6,opt,name=nullable,proto3" json:"nullable,omitempty"` + // Optional. Indicate the items in the array must be unique. Only applies to + // TYPE.ARRAY. + UniqueItems bool `protobuf:"varint,7,opt,name=unique_items,json=uniqueItems,proto3" json:"unique_items,omitempty"` + // Optional. Schemas of initial elements of Type.ARRAY. + PrefixItems []*Schema `protobuf:"bytes,8,rep,name=prefix_items,json=prefixItems,proto3" json:"prefix_items,omitempty"` + // Optional. Can either be a boolean or an object, controls the presence of + // additional properties. + AdditionalProperties *Schema `protobuf:"bytes,9,opt,name=additional_properties,json=additionalProperties,proto3" json:"additional_properties,omitempty"` + // Optional. The value should be validated against any (one or more) of the + // subschemas in the list. + AnyOf []*Schema `protobuf:"bytes,10,rep,name=any_of,json=anyOf,proto3" json:"any_of,omitempty"` + // Optional. Possible values of the element of primitive type with enum + // format. Examples: + // 1. We can define direction as : + // {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + // 2. We can define apartment number as : + // {type:INTEGER, format:enum, enum:["101", "201", "301"]} + Enum []string `protobuf:"bytes,11,rep,name=enum,proto3" json:"enum,omitempty"` + // Optional. Default value of the data. + Default *structpb.Value `protobuf:"bytes,12,opt,name=default,proto3" json:"default,omitempty"` + // Optional. Allows indirect references between schema nodes. The value should + // be a valid reference to a child of the root `defs`. + // + // For example, the following schema defines a reference to a schema node + // named "Pet": + // + // ``` + // type: object + // properties: + // + // pet: + // ref: #/defs/Pet + // + // defs: + // + // Pet: + // type: object + // properties: + // name: + // type: string + // + // ``` + // + // The value of the "pet" property is a reference to the schema node + // named "Pet". + // See details in + // https://json-schema.org/understanding-json-schema/structuring. + Ref string `protobuf:"bytes,13,opt,name=ref,proto3" json:"ref,omitempty"` + // Optional. A map of definitions for use by `ref`. Only allowed at the root + // of the schema. + Defs map[string]*Schema `protobuf:"bytes,14,rep,name=defs,proto3" json:"defs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The title of the schema. + Title string `protobuf:"bytes,15,opt,name=title,proto3" json:"title,omitempty"` + // Optional. Minimum number of the elements for Type.ARRAY. + MinItems int64 `protobuf:"varint,16,opt,name=min_items,json=minItems,proto3" json:"min_items,omitempty"` + // Optional. Maximum number of the elements for Type.ARRAY. + MaxItems int64 `protobuf:"varint,17,opt,name=max_items,json=maxItems,proto3" json:"max_items,omitempty"` + // Optional. Minimum value for Type.INTEGER and Type.NUMBER. + Minimum *float64 `protobuf:"fixed64,18,opt,name=minimum,proto3,oneof" json:"minimum,omitempty"` + // Optional. Maximum value for Type.INTEGER and Type.NUMBER. + Maximum *float64 `protobuf:"fixed64,19,opt,name=maximum,proto3,oneof" json:"maximum,omitempty"` +} + +func (x *Schema) Reset() { + *x = Schema{} + mi := &file_google_cloud_ces_v1beta_schema_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Schema) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schema) ProtoMessage() {} + +func (x *Schema) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_schema_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Schema.ProtoReflect.Descriptor instead. +func (*Schema) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_schema_proto_rawDescGZIP(), []int{0} +} + +func (x *Schema) GetType() Schema_Type { + if x != nil { + return x.Type + } + return Schema_TYPE_UNSPECIFIED +} + +func (x *Schema) GetProperties() map[string]*Schema { + if x != nil { + return x.Properties + } + return nil +} + +func (x *Schema) GetRequired() []string { + if x != nil { + return x.Required + } + return nil +} + +func (x *Schema) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Schema) GetItems() *Schema { + if x != nil { + return x.Items + } + return nil +} + +func (x *Schema) GetNullable() bool { + if x != nil { + return x.Nullable + } + return false +} + +func (x *Schema) GetUniqueItems() bool { + if x != nil { + return x.UniqueItems + } + return false +} + +func (x *Schema) GetPrefixItems() []*Schema { + if x != nil { + return x.PrefixItems + } + return nil +} + +func (x *Schema) GetAdditionalProperties() *Schema { + if x != nil { + return x.AdditionalProperties + } + return nil +} + +func (x *Schema) GetAnyOf() []*Schema { + if x != nil { + return x.AnyOf + } + return nil +} + +func (x *Schema) GetEnum() []string { + if x != nil { + return x.Enum + } + return nil +} + +func (x *Schema) GetDefault() *structpb.Value { + if x != nil { + return x.Default + } + return nil +} + +func (x *Schema) GetRef() string { + if x != nil { + return x.Ref + } + return "" +} + +func (x *Schema) GetDefs() map[string]*Schema { + if x != nil { + return x.Defs + } + return nil +} + +func (x *Schema) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Schema) GetMinItems() int64 { + if x != nil { + return x.MinItems + } + return 0 +} + +func (x *Schema) GetMaxItems() int64 { + if x != nil { + return x.MaxItems + } + return 0 +} + +func (x *Schema) GetMinimum() float64 { + if x != nil && x.Minimum != nil { + return *x.Minimum + } + return 0 +} + +func (x *Schema) GetMaximum() float64 { + if x != nil && x.Maximum != nil { + return *x.Maximum + } + return 0 +} + +var File_google_cloud_ces_v1beta_schema_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_schema_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, + 0x09, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x59, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x3b, 0x0a, 0x06, 0x61, 0x6e, 0x79, 0x5f, 0x6f, 0x66, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x61, 0x6e, 0x79, 0x4f, 0x66, 0x12, 0x17, 0x0a, 0x04, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x35, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x0a, 0x03, + 0x72, 0x65, 0x66, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, + 0x72, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x04, 0x64, 0x65, 0x66, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x2e, 0x44, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x64, 0x65, 0x66, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, + 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x07, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x07, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x5e, + 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x58, + 0x0a, 0x09, 0x44, 0x65, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x02, 0x12, + 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x42, + 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x06, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x5b, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0b, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_schema_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_schema_proto_rawDescData = file_google_cloud_ces_v1beta_schema_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_schema_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_schema_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_schema_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_schema_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_schema_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_ces_v1beta_schema_proto_goTypes = []any{ + (Schema_Type)(0), // 0: google.cloud.ces.v1beta.Schema.Type + (*Schema)(nil), // 1: google.cloud.ces.v1beta.Schema + nil, // 2: google.cloud.ces.v1beta.Schema.PropertiesEntry + nil, // 3: google.cloud.ces.v1beta.Schema.DefsEntry + (*structpb.Value)(nil), // 4: google.protobuf.Value +} +var file_google_cloud_ces_v1beta_schema_proto_depIdxs = []int32{ + 0, // 0: google.cloud.ces.v1beta.Schema.type:type_name -> google.cloud.ces.v1beta.Schema.Type + 2, // 1: google.cloud.ces.v1beta.Schema.properties:type_name -> google.cloud.ces.v1beta.Schema.PropertiesEntry + 1, // 2: google.cloud.ces.v1beta.Schema.items:type_name -> google.cloud.ces.v1beta.Schema + 1, // 3: google.cloud.ces.v1beta.Schema.prefix_items:type_name -> google.cloud.ces.v1beta.Schema + 1, // 4: google.cloud.ces.v1beta.Schema.additional_properties:type_name -> google.cloud.ces.v1beta.Schema + 1, // 5: google.cloud.ces.v1beta.Schema.any_of:type_name -> google.cloud.ces.v1beta.Schema + 4, // 6: google.cloud.ces.v1beta.Schema.default:type_name -> google.protobuf.Value + 3, // 7: google.cloud.ces.v1beta.Schema.defs:type_name -> google.cloud.ces.v1beta.Schema.DefsEntry + 1, // 8: google.cloud.ces.v1beta.Schema.PropertiesEntry.value:type_name -> google.cloud.ces.v1beta.Schema + 1, // 9: google.cloud.ces.v1beta.Schema.DefsEntry.value:type_name -> google.cloud.ces.v1beta.Schema + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_schema_proto_init() } +func file_google_cloud_ces_v1beta_schema_proto_init() { + if File_google_cloud_ces_v1beta_schema_proto != nil { + return + } + file_google_cloud_ces_v1beta_schema_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_schema_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_schema_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_schema_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_schema_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_schema_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_schema_proto = out.File + file_google_cloud_ces_v1beta_schema_proto_rawDesc = nil + file_google_cloud_ces_v1beta_schema_proto_goTypes = nil + file_google_cloud_ces_v1beta_schema_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/search_suggestions.pb.go b/ces/apiv1beta/cespb/search_suggestions.pb.go new file mode 100644 index 000000000000..b509e2bf64cc --- /dev/null +++ b/ces/apiv1beta/cespb/search_suggestions.pb.go @@ -0,0 +1,233 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/search_suggestions.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Search suggestions from [Google Search +// Tool][google.cloud.ces.v1beta.GoogleSearchTool]. +type GoogleSearchSuggestions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Compliant HTML and CSS styling for search suggestions. + // The provided HTML and CSS automatically adapts to your device settings, + // displaying in either light or dark mode indicated by + // `@media(prefers-color-scheme)`. + Htmls []string `protobuf:"bytes,1,rep,name=htmls,proto3" json:"htmls,omitempty"` + // List of queries used to perform the google search along with the search + // result URIs forming the search suggestions. + WebSearchQueries []*WebSearchQuery `protobuf:"bytes,2,rep,name=web_search_queries,json=webSearchQueries,proto3" json:"web_search_queries,omitempty"` +} + +func (x *GoogleSearchSuggestions) Reset() { + *x = GoogleSearchSuggestions{} + mi := &file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GoogleSearchSuggestions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleSearchSuggestions) ProtoMessage() {} + +func (x *GoogleSearchSuggestions) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleSearchSuggestions.ProtoReflect.Descriptor instead. +func (*GoogleSearchSuggestions) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescGZIP(), []int{0} +} + +func (x *GoogleSearchSuggestions) GetHtmls() []string { + if x != nil { + return x.Htmls + } + return nil +} + +func (x *GoogleSearchSuggestions) GetWebSearchQueries() []*WebSearchQuery { + if x != nil { + return x.WebSearchQueries + } + return nil +} + +// Represents a single web search query and its associated search uri. +type WebSearchQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The search query text. + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // The URI to the Google Search results page for the query. + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *WebSearchQuery) Reset() { + *x = WebSearchQuery{} + mi := &file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WebSearchQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WebSearchQuery) ProtoMessage() {} + +func (x *WebSearchQuery) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WebSearchQuery.ProtoReflect.Descriptor instead. +func (*WebSearchQuery) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescGZIP(), []int{1} +} + +func (x *WebSearchQuery) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *WebSearchQuery) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +var File_google_cloud_ces_v1beta_search_suggestions_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_search_suggestions_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x22, 0x86, 0x01, 0x0a, 0x17, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x74, 0x6d, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x74, 0x6d, 0x6c, 0x73, 0x12, 0x55, 0x0a, + 0x12, 0x77, 0x65, 0x62, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x10, 0x77, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x42, 0x66, + 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x16, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, + 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescData = file_google_cloud_ces_v1beta_search_suggestions_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_search_suggestions_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_search_suggestions_proto_goTypes = []any{ + (*GoogleSearchSuggestions)(nil), // 0: google.cloud.ces.v1beta.GoogleSearchSuggestions + (*WebSearchQuery)(nil), // 1: google.cloud.ces.v1beta.WebSearchQuery +} +var file_google_cloud_ces_v1beta_search_suggestions_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.GoogleSearchSuggestions.web_search_queries:type_name -> google.cloud.ces.v1beta.WebSearchQuery + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_search_suggestions_proto_init() } +func file_google_cloud_ces_v1beta_search_suggestions_proto_init() { + if File_google_cloud_ces_v1beta_search_suggestions_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_search_suggestions_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_search_suggestions_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_search_suggestions_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_search_suggestions_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_search_suggestions_proto = out.File + file_google_cloud_ces_v1beta_search_suggestions_proto_rawDesc = nil + file_google_cloud_ces_v1beta_search_suggestions_proto_goTypes = nil + file_google_cloud_ces_v1beta_search_suggestions_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/session_service.pb.go b/ces/apiv1beta/cespb/session_service.pb.go new file mode 100644 index 000000000000..d892c10da5da --- /dev/null +++ b/ces/apiv1beta/cespb/session_service.pb.go @@ -0,0 +1,2114 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/session_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// AudioEncoding specifies the encoding format for audio data. +type AudioEncoding int32 + +const ( + // Unspecified audio encoding. + AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0 + // 16-bit linear PCM audio encoding. + AudioEncoding_LINEAR16 AudioEncoding = 1 + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + AudioEncoding_MULAW AudioEncoding = 2 + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. + AudioEncoding_ALAW AudioEncoding = 3 +) + +// Enum value maps for AudioEncoding. +var ( + AudioEncoding_name = map[int32]string{ + 0: "AUDIO_ENCODING_UNSPECIFIED", + 1: "LINEAR16", + 2: "MULAW", + 3: "ALAW", + } + AudioEncoding_value = map[string]int32{ + "AUDIO_ENCODING_UNSPECIFIED": 0, + "LINEAR16": 1, + "MULAW": 2, + "ALAW": 3, + } +) + +func (x AudioEncoding) Enum() *AudioEncoding { + p := new(AudioEncoding) + *p = x + return p +} + +func (x AudioEncoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AudioEncoding) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_session_service_proto_enumTypes[0].Descriptor() +} + +func (AudioEncoding) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_session_service_proto_enumTypes[0] +} + +func (x AudioEncoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AudioEncoding.Descriptor instead. +func (AudioEncoding) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{0} +} + +// InputAudioConfig configures how the CES agent should interpret the incoming +// audio data. +type InputAudioConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The encoding of the input audio data. + AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.ces.v1beta.AudioEncoding" json:"audio_encoding,omitempty"` + // Required. The sample rate (in Hertz) of the input audio data. + SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` + // Optional. Whether to enable noise suppression on the input audio. + // Available values are "low", "moderate", "high", "very_high". + NoiseSuppressionLevel string `protobuf:"bytes,6,opt,name=noise_suppression_level,json=noiseSuppressionLevel,proto3" json:"noise_suppression_level,omitempty"` +} + +func (x *InputAudioConfig) Reset() { + *x = InputAudioConfig{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InputAudioConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InputAudioConfig) ProtoMessage() {} + +func (x *InputAudioConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InputAudioConfig.ProtoReflect.Descriptor instead. +func (*InputAudioConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{0} +} + +func (x *InputAudioConfig) GetAudioEncoding() AudioEncoding { + if x != nil { + return x.AudioEncoding + } + return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED +} + +func (x *InputAudioConfig) GetSampleRateHertz() int32 { + if x != nil { + return x.SampleRateHertz + } + return 0 +} + +func (x *InputAudioConfig) GetNoiseSuppressionLevel() string { + if x != nil { + return x.NoiseSuppressionLevel + } + return "" +} + +// OutputAudioConfig configures how the CES agent should synthesize outgoing +// audio responses. +type OutputAudioConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The encoding of the output audio data. + AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.ces.v1beta.AudioEncoding" json:"audio_encoding,omitempty"` + // Required. The sample rate (in Hertz) of the output audio data. + SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` +} + +func (x *OutputAudioConfig) Reset() { + *x = OutputAudioConfig{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OutputAudioConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputAudioConfig) ProtoMessage() {} + +func (x *OutputAudioConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputAudioConfig.ProtoReflect.Descriptor instead. +func (*OutputAudioConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{1} +} + +func (x *OutputAudioConfig) GetAudioEncoding() AudioEncoding { + if x != nil { + return x.AudioEncoding + } + return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED +} + +func (x *OutputAudioConfig) GetSampleRateHertz() int32 { + if x != nil { + return x.SampleRateHertz + } + return 0 +} + +// The configuration for the session. +type SessionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The unique identifier of the session. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/sessions/{session}` + Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"` + // Optional. Configuration for processing the input audio. + InputAudioConfig *InputAudioConfig `protobuf:"bytes,2,opt,name=input_audio_config,json=inputAudioConfig,proto3" json:"input_audio_config,omitempty"` + // Optional. Configuration for generating the output audio. + OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,3,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` + // Optional. The historical context of the session, including user inputs, + // agent responses, and other messages. Typically, CES agent would manage + // session automatically so client doesn't need to explicitly populate this + // field. However, client can optionally override the historical contexts to + // force the session start from certain state. + HistoricalContexts []*Message `protobuf:"bytes,5,rep,name=historical_contexts,json=historicalContexts,proto3" json:"historical_contexts,omitempty"` + // Optional. The entry agent to handle the session. If not specified, the + // session will be handled by the [root + // agent][google.cloud.ces.v1beta.App.root_agent] of the app. Format: + // `projects/{project}/locations/{location}/agents/{agent}` + EntryAgent string `protobuf:"bytes,12,opt,name=entry_agent,json=entryAgent,proto3" json:"entry_agent,omitempty"` + // Optional. The deployment of the app to use for the session. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}` + Deployment string `protobuf:"bytes,8,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Optional. The time zone of the user. If provided, the agent will use the + // time zone for date and time related variables. Otherwise, the agent will + // use the time zone specified in the App.time_zone_settings. + // + // The format is the IANA Time Zone Database time zone, e.g. + // "America/Los_Angeles". + TimeZone string `protobuf:"bytes,11,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"` + // Optional. + // [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) + // to send to the remote + // [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) + // agent when the session control is transferred to the remote agent. + RemoteDialogflowQueryParameters *SessionConfig_RemoteDialogflowQueryParameters `protobuf:"bytes,15,opt,name=remote_dialogflow_query_parameters,json=remoteDialogflowQueryParameters,proto3" json:"remote_dialogflow_query_parameters,omitempty"` +} + +func (x *SessionConfig) Reset() { + *x = SessionConfig{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig) ProtoMessage() {} + +func (x *SessionConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig.ProtoReflect.Descriptor instead. +func (*SessionConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{2} +} + +func (x *SessionConfig) GetSession() string { + if x != nil { + return x.Session + } + return "" +} + +func (x *SessionConfig) GetInputAudioConfig() *InputAudioConfig { + if x != nil { + return x.InputAudioConfig + } + return nil +} + +func (x *SessionConfig) GetOutputAudioConfig() *OutputAudioConfig { + if x != nil { + return x.OutputAudioConfig + } + return nil +} + +func (x *SessionConfig) GetHistoricalContexts() []*Message { + if x != nil { + return x.HistoricalContexts + } + return nil +} + +func (x *SessionConfig) GetEntryAgent() string { + if x != nil { + return x.EntryAgent + } + return "" +} + +func (x *SessionConfig) GetDeployment() string { + if x != nil { + return x.Deployment + } + return "" +} + +func (x *SessionConfig) GetTimeZone() string { + if x != nil { + return x.TimeZone + } + return "" +} + +func (x *SessionConfig) GetRemoteDialogflowQueryParameters() *SessionConfig_RemoteDialogflowQueryParameters { + if x != nil { + return x.RemoteDialogflowQueryParameters + } + return nil +} + +// Request for the client to execute the tools and return the execution results +// before continuing the session. +type ToolCalls struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The list of tool calls to execute. + ToolCalls []*ToolCall `protobuf:"bytes,1,rep,name=tool_calls,json=toolCalls,proto3" json:"tool_calls,omitempty"` +} + +func (x *ToolCalls) Reset() { + *x = ToolCalls{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolCalls) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolCalls) ProtoMessage() {} + +func (x *ToolCalls) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolCalls.ProtoReflect.Descriptor instead. +func (*ToolCalls) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ToolCalls) GetToolCalls() []*ToolCall { + if x != nil { + return x.ToolCalls + } + return nil +} + +// Execution results for the requested tool calls from the client. +type ToolResponses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The list of tool execution results. + ToolResponses []*ToolResponse `protobuf:"bytes,1,rep,name=tool_responses,json=toolResponses,proto3" json:"tool_responses,omitempty"` +} + +func (x *ToolResponses) Reset() { + *x = ToolResponses{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolResponses) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolResponses) ProtoMessage() {} + +func (x *ToolResponses) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolResponses.ProtoReflect.Descriptor instead. +func (*ToolResponses) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ToolResponses) GetToolResponses() []*ToolResponse { + if x != nil { + return x.ToolResponses + } + return nil +} + +// Citations associated with the agent response. +type Citations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of cited pieces of information. + CitedChunks []*Citations_CitedChunk `protobuf:"bytes,1,rep,name=cited_chunks,json=citedChunks,proto3" json:"cited_chunks,omitempty"` +} + +func (x *Citations) Reset() { + *x = Citations{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Citations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Citations) ProtoMessage() {} + +func (x *Citations) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Citations.ProtoReflect.Descriptor instead. +func (*Citations) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{5} +} + +func (x *Citations) GetCitedChunks() []*Citations_CitedChunk { + if x != nil { + return x.CitedChunks + } + return nil +} + +// Event input. +type Event struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the event. + Event string `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` +} + +func (x *Event) Reset() { + *x = Event{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Event) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Event) ProtoMessage() {} + +func (x *Event) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Event.ProtoReflect.Descriptor instead. +func (*Event) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{6} +} + +func (x *Event) GetEvent() string { + if x != nil { + return x.Event + } + return "" +} + +// Input for the session. +type SessionInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the input. + // + // Types that are assignable to InputType: + // + // *SessionInput_Text + // *SessionInput_Dtmf + // *SessionInput_Audio + // *SessionInput_ToolResponses + // *SessionInput_Image + // *SessionInput_Blob + // *SessionInput_Variables + // *SessionInput_Event + InputType isSessionInput_InputType `protobuf_oneof:"input_type"` + // Optional. A flag to indicate if the current message is a fragment of a + // larger input in the bidi streaming session. + // + // When set to `true`, the agent defers processing until it receives a + // subsequent message where `will_continue` is `false`, or until the system + // detects an endpoint in the audio input. + // + // NOTE: This field does not apply to audio and DTMF inputs, as they are + // always processed automatically based on the endpointing signal. + WillContinue bool `protobuf:"varint,8,opt,name=will_continue,json=willContinue,proto3" json:"will_continue,omitempty"` +} + +func (x *SessionInput) Reset() { + *x = SessionInput{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionInput) ProtoMessage() {} + +func (x *SessionInput) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionInput.ProtoReflect.Descriptor instead. +func (*SessionInput) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{7} +} + +func (m *SessionInput) GetInputType() isSessionInput_InputType { + if m != nil { + return m.InputType + } + return nil +} + +func (x *SessionInput) GetText() string { + if x, ok := x.GetInputType().(*SessionInput_Text); ok { + return x.Text + } + return "" +} + +func (x *SessionInput) GetDtmf() string { + if x, ok := x.GetInputType().(*SessionInput_Dtmf); ok { + return x.Dtmf + } + return "" +} + +func (x *SessionInput) GetAudio() []byte { + if x, ok := x.GetInputType().(*SessionInput_Audio); ok { + return x.Audio + } + return nil +} + +func (x *SessionInput) GetToolResponses() *ToolResponses { + if x, ok := x.GetInputType().(*SessionInput_ToolResponses); ok { + return x.ToolResponses + } + return nil +} + +func (x *SessionInput) GetImage() *Image { + if x, ok := x.GetInputType().(*SessionInput_Image); ok { + return x.Image + } + return nil +} + +func (x *SessionInput) GetBlob() *Blob { + if x, ok := x.GetInputType().(*SessionInput_Blob); ok { + return x.Blob + } + return nil +} + +func (x *SessionInput) GetVariables() *structpb.Struct { + if x, ok := x.GetInputType().(*SessionInput_Variables); ok { + return x.Variables + } + return nil +} + +func (x *SessionInput) GetEvent() *Event { + if x, ok := x.GetInputType().(*SessionInput_Event); ok { + return x.Event + } + return nil +} + +func (x *SessionInput) GetWillContinue() bool { + if x != nil { + return x.WillContinue + } + return false +} + +type isSessionInput_InputType interface { + isSessionInput_InputType() +} + +type SessionInput_Text struct { + // Optional. Text data from the end user. + Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` +} + +type SessionInput_Dtmf struct { + // Optional. DTMF digits from the end user. + Dtmf string `protobuf:"bytes,6,opt,name=dtmf,proto3,oneof"` +} + +type SessionInput_Audio struct { + // Optional. Audio data from the end user. + Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3,oneof"` +} + +type SessionInput_ToolResponses struct { + // Optional. Execution results for the tool calls from the client. + ToolResponses *ToolResponses `protobuf:"bytes,3,opt,name=tool_responses,json=toolResponses,proto3,oneof"` +} + +type SessionInput_Image struct { + // Optional. Image data from the end user. + Image *Image `protobuf:"bytes,4,opt,name=image,proto3,oneof"` +} + +type SessionInput_Blob struct { + // Optional. Blob data from the end user. + Blob *Blob `protobuf:"bytes,7,opt,name=blob,proto3,oneof"` +} + +type SessionInput_Variables struct { + // Optional. Contextual variables for the session, keyed by name. Only + // variables declared in the app will be used by the CES agent. + // + // Unrecognized variables will still be sent to the [Dialogflow + // agent][Agent.RemoteDialogflowAgent] as additional session parameters. + Variables *structpb.Struct `protobuf:"bytes,5,opt,name=variables,proto3,oneof"` +} + +type SessionInput_Event struct { + // Optional. Event input. + Event *Event `protobuf:"bytes,9,opt,name=event,proto3,oneof"` +} + +func (*SessionInput_Text) isSessionInput_InputType() {} + +func (*SessionInput_Dtmf) isSessionInput_InputType() {} + +func (*SessionInput_Audio) isSessionInput_InputType() {} + +func (*SessionInput_ToolResponses) isSessionInput_InputType() {} + +func (*SessionInput_Image) isSessionInput_InputType() {} + +func (*SessionInput_Blob) isSessionInput_InputType() {} + +func (*SessionInput_Variables) isSessionInput_InputType() {} + +func (*SessionInput_Event) isSessionInput_InputType() {} + +// Output for the session. +type SessionOutput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the output. + // + // Types that are assignable to OutputType: + // + // *SessionOutput_Text + // *SessionOutput_Audio + // *SessionOutput_ToolCalls + // *SessionOutput_Citations + // *SessionOutput_GoogleSearchSuggestions + // *SessionOutput_EndSession + // *SessionOutput_Payload + OutputType isSessionOutput_OutputType `protobuf_oneof:"output_type"` + // Indicates the sequential order of conversation turn to which this output + // belongs to, starting from 1. + TurnIndex int32 `protobuf:"varint,6,opt,name=turn_index,json=turnIndex,proto3" json:"turn_index,omitempty"` + // If true, the CES agent has detected the end of the current conversation + // turn and will provide no further output for this turn. + TurnCompleted bool `protobuf:"varint,4,opt,name=turn_completed,json=turnCompleted,proto3" json:"turn_completed,omitempty"` + // Optional. Diagnostic information contains execution details during the + // processing of the input. Only populated in the last SessionOutput (with + // `turn_completed=true`) for each turn. + DiagnosticInfo *SessionOutput_DiagnosticInfo `protobuf:"bytes,7,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"` +} + +func (x *SessionOutput) Reset() { + *x = SessionOutput{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionOutput) ProtoMessage() {} + +func (x *SessionOutput) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionOutput.ProtoReflect.Descriptor instead. +func (*SessionOutput) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{8} +} + +func (m *SessionOutput) GetOutputType() isSessionOutput_OutputType { + if m != nil { + return m.OutputType + } + return nil +} + +func (x *SessionOutput) GetText() string { + if x, ok := x.GetOutputType().(*SessionOutput_Text); ok { + return x.Text + } + return "" +} + +func (x *SessionOutput) GetAudio() []byte { + if x, ok := x.GetOutputType().(*SessionOutput_Audio); ok { + return x.Audio + } + return nil +} + +func (x *SessionOutput) GetToolCalls() *ToolCalls { + if x, ok := x.GetOutputType().(*SessionOutput_ToolCalls); ok { + return x.ToolCalls + } + return nil +} + +func (x *SessionOutput) GetCitations() *Citations { + if x, ok := x.GetOutputType().(*SessionOutput_Citations); ok { + return x.Citations + } + return nil +} + +func (x *SessionOutput) GetGoogleSearchSuggestions() *GoogleSearchSuggestions { + if x, ok := x.GetOutputType().(*SessionOutput_GoogleSearchSuggestions); ok { + return x.GoogleSearchSuggestions + } + return nil +} + +func (x *SessionOutput) GetEndSession() *EndSession { + if x, ok := x.GetOutputType().(*SessionOutput_EndSession); ok { + return x.EndSession + } + return nil +} + +func (x *SessionOutput) GetPayload() *structpb.Struct { + if x, ok := x.GetOutputType().(*SessionOutput_Payload); ok { + return x.Payload + } + return nil +} + +func (x *SessionOutput) GetTurnIndex() int32 { + if x != nil { + return x.TurnIndex + } + return 0 +} + +func (x *SessionOutput) GetTurnCompleted() bool { + if x != nil { + return x.TurnCompleted + } + return false +} + +func (x *SessionOutput) GetDiagnosticInfo() *SessionOutput_DiagnosticInfo { + if x != nil { + return x.DiagnosticInfo + } + return nil +} + +type isSessionOutput_OutputType interface { + isSessionOutput_OutputType() +} + +type SessionOutput_Text struct { + // Output text from the CES agent. + Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"` +} + +type SessionOutput_Audio struct { + // Output audio from the CES agent. + Audio []byte `protobuf:"bytes,2,opt,name=audio,proto3,oneof"` +} + +type SessionOutput_ToolCalls struct { + // Request for the client to execute the tools. + ToolCalls *ToolCalls `protobuf:"bytes,3,opt,name=tool_calls,json=toolCalls,proto3,oneof"` +} + +type SessionOutput_Citations struct { + // Citations that provide the source information for the agent's generated + // text. + Citations *Citations `protobuf:"bytes,8,opt,name=citations,proto3,oneof"` +} + +type SessionOutput_GoogleSearchSuggestions struct { + // The suggestions returned from Google Search as a result of invoking the + // [GoogleSearchTool][google.cloud.ces.v1beta.GoogleSearchTool]. + GoogleSearchSuggestions *GoogleSearchSuggestions `protobuf:"bytes,10,opt,name=google_search_suggestions,json=googleSearchSuggestions,proto3,oneof"` +} + +type SessionOutput_EndSession struct { + // Indicates the session has ended. + EndSession *EndSession `protobuf:"bytes,9,opt,name=end_session,json=endSession,proto3,oneof"` +} + +type SessionOutput_Payload struct { + // Custom payload with structured output from the CES agent. + Payload *structpb.Struct `protobuf:"bytes,11,opt,name=payload,proto3,oneof"` +} + +func (*SessionOutput_Text) isSessionOutput_OutputType() {} + +func (*SessionOutput_Audio) isSessionOutput_OutputType() {} + +func (*SessionOutput_ToolCalls) isSessionOutput_OutputType() {} + +func (*SessionOutput_Citations) isSessionOutput_OutputType() {} + +func (*SessionOutput_GoogleSearchSuggestions) isSessionOutput_OutputType() {} + +func (*SessionOutput_EndSession) isSessionOutput_OutputType() {} + +func (*SessionOutput_Payload) isSessionOutput_OutputType() {} + +// Speech recognition result for the audio input. +type RecognitionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Concatenated user speech segments captured during the current + // turn. + Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"` +} + +func (x *RecognitionResult) Reset() { + *x = RecognitionResult{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecognitionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecognitionResult) ProtoMessage() {} + +func (x *RecognitionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecognitionResult.ProtoReflect.Descriptor instead. +func (*RecognitionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{9} +} + +func (x *RecognitionResult) GetTranscript() string { + if x != nil { + return x.Transcript + } + return "" +} + +// Indicates the agent's audio response has been interrupted. The client should +// immediately stop any current audio playback (e.g., due to user barge-in or +// a new agent response being generated). +type InterruptionSignal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether the interruption is caused by a user barge-in event. + BargeIn bool `protobuf:"varint,1,opt,name=barge_in,json=bargeIn,proto3" json:"barge_in,omitempty"` +} + +func (x *InterruptionSignal) Reset() { + *x = InterruptionSignal{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InterruptionSignal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterruptionSignal) ProtoMessage() {} + +func (x *InterruptionSignal) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InterruptionSignal.ProtoReflect.Descriptor instead. +func (*InterruptionSignal) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{10} +} + +func (x *InterruptionSignal) GetBargeIn() bool { + if x != nil { + return x.BargeIn + } + return false +} + +// Indicates the session has terminated, due to either successful completion +// (e.g. user says "Good bye!" ) or an agent escalation. +// +// The agent will not process any further inputs after session is terminated and +// the client should half-close and disconnect after receiving all remaining +// responses from the agent. +type EndSession struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Provides additional information about the end session signal, + // such as the reason for ending the session. + Metadata *structpb.Struct `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *EndSession) Reset() { + *x = EndSession{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndSession) ProtoMessage() {} + +func (x *EndSession) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndSession.ProtoReflect.Descriptor instead. +func (*EndSession) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{11} +} + +func (x *EndSession) GetMetadata() *structpb.Struct { + if x != nil { + return x.Metadata + } + return nil +} + +// Indicates that the server will disconnect soon and the client should +// half-close and restart the connection. +type GoAway struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GoAway) Reset() { + *x = GoAway{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GoAway) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoAway) ProtoMessage() {} + +func (x *GoAway) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoAway.ProtoReflect.Descriptor instead. +func (*GoAway) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{12} +} + +// Request message for +// [SessionService.RunSession][google.cloud.ces.v1beta.SessionService.RunSession]. +type RunSessionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The configuration for the session. + Config *SessionConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + // Required. Inputs for the session. + Inputs []*SessionInput `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty"` +} + +func (x *RunSessionRequest) Reset() { + *x = RunSessionRequest{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunSessionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunSessionRequest) ProtoMessage() {} + +func (x *RunSessionRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunSessionRequest.ProtoReflect.Descriptor instead. +func (*RunSessionRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{13} +} + +func (x *RunSessionRequest) GetConfig() *SessionConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *RunSessionRequest) GetInputs() []*SessionInput { + if x != nil { + return x.Inputs + } + return nil +} + +// Response message for +// [SessionService.RunSession][google.cloud.ces.v1beta.SessionService.RunSession]. +type RunSessionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Outputs for the session. + Outputs []*SessionOutput `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` +} + +func (x *RunSessionResponse) Reset() { + *x = RunSessionResponse{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunSessionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunSessionResponse) ProtoMessage() {} + +func (x *RunSessionResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunSessionResponse.ProtoReflect.Descriptor instead. +func (*RunSessionResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{14} +} + +func (x *RunSessionResponse) GetOutputs() []*SessionOutput { + if x != nil { + return x.Outputs + } + return nil +} + +// The top-level message sent by the client for the +// [SessionService.BidiRunSession][google.cloud.ces.v1beta.SessionService.BidiRunSession] +// method. +type BidiSessionClientMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the message. + // + // Types that are assignable to MessageType: + // + // *BidiSessionClientMessage_Config + // *BidiSessionClientMessage_RealtimeInput + MessageType isBidiSessionClientMessage_MessageType `protobuf_oneof:"message_type"` +} + +func (x *BidiSessionClientMessage) Reset() { + *x = BidiSessionClientMessage{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BidiSessionClientMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BidiSessionClientMessage) ProtoMessage() {} + +func (x *BidiSessionClientMessage) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BidiSessionClientMessage.ProtoReflect.Descriptor instead. +func (*BidiSessionClientMessage) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{15} +} + +func (m *BidiSessionClientMessage) GetMessageType() isBidiSessionClientMessage_MessageType { + if m != nil { + return m.MessageType + } + return nil +} + +func (x *BidiSessionClientMessage) GetConfig() *SessionConfig { + if x, ok := x.GetMessageType().(*BidiSessionClientMessage_Config); ok { + return x.Config + } + return nil +} + +func (x *BidiSessionClientMessage) GetRealtimeInput() *SessionInput { + if x, ok := x.GetMessageType().(*BidiSessionClientMessage_RealtimeInput); ok { + return x.RealtimeInput + } + return nil +} + +type isBidiSessionClientMessage_MessageType interface { + isBidiSessionClientMessage_MessageType() +} + +type BidiSessionClientMessage_Config struct { + // Optional. The initial config message for the session. + Config *SessionConfig `protobuf:"bytes,1,opt,name=config,proto3,oneof"` +} + +type BidiSessionClientMessage_RealtimeInput struct { + // Optional. Realtime input for the session. + RealtimeInput *SessionInput `protobuf:"bytes,2,opt,name=realtime_input,json=realtimeInput,proto3,oneof"` +} + +func (*BidiSessionClientMessage_Config) isBidiSessionClientMessage_MessageType() {} + +func (*BidiSessionClientMessage_RealtimeInput) isBidiSessionClientMessage_MessageType() {} + +// The top-level message returned from +// [SessionService.BidiRunSession][google.cloud.ces.v1beta.SessionService.BidiRunSession] +// method. +type BidiSessionServerMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the message. + // + // Types that are assignable to MessageType: + // + // *BidiSessionServerMessage_SessionOutput + // *BidiSessionServerMessage_RecognitionResult + // *BidiSessionServerMessage_InterruptionSignal + // *BidiSessionServerMessage_EndSession + // *BidiSessionServerMessage_GoAway + MessageType isBidiSessionServerMessage_MessageType `protobuf_oneof:"message_type"` +} + +func (x *BidiSessionServerMessage) Reset() { + *x = BidiSessionServerMessage{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BidiSessionServerMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BidiSessionServerMessage) ProtoMessage() {} + +func (x *BidiSessionServerMessage) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BidiSessionServerMessage.ProtoReflect.Descriptor instead. +func (*BidiSessionServerMessage) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{16} +} + +func (m *BidiSessionServerMessage) GetMessageType() isBidiSessionServerMessage_MessageType { + if m != nil { + return m.MessageType + } + return nil +} + +func (x *BidiSessionServerMessage) GetSessionOutput() *SessionOutput { + if x, ok := x.GetMessageType().(*BidiSessionServerMessage_SessionOutput); ok { + return x.SessionOutput + } + return nil +} + +func (x *BidiSessionServerMessage) GetRecognitionResult() *RecognitionResult { + if x, ok := x.GetMessageType().(*BidiSessionServerMessage_RecognitionResult); ok { + return x.RecognitionResult + } + return nil +} + +func (x *BidiSessionServerMessage) GetInterruptionSignal() *InterruptionSignal { + if x, ok := x.GetMessageType().(*BidiSessionServerMessage_InterruptionSignal); ok { + return x.InterruptionSignal + } + return nil +} + +func (x *BidiSessionServerMessage) GetEndSession() *EndSession { + if x, ok := x.GetMessageType().(*BidiSessionServerMessage_EndSession); ok { + return x.EndSession + } + return nil +} + +func (x *BidiSessionServerMessage) GetGoAway() *GoAway { + if x, ok := x.GetMessageType().(*BidiSessionServerMessage_GoAway); ok { + return x.GoAway + } + return nil +} + +type isBidiSessionServerMessage_MessageType interface { + isBidiSessionServerMessage_MessageType() +} + +type BidiSessionServerMessage_SessionOutput struct { + // Optional. Processing result from the CES agent. + SessionOutput *SessionOutput `protobuf:"bytes,1,opt,name=session_output,json=sessionOutput,proto3,oneof"` +} + +type BidiSessionServerMessage_RecognitionResult struct { + // Optional. Realtime speech recognition result for the audio input. + RecognitionResult *RecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3,oneof"` +} + +type BidiSessionServerMessage_InterruptionSignal struct { + // Optional. Indicates the agent's audio response has been interrupted. + InterruptionSignal *InterruptionSignal `protobuf:"bytes,3,opt,name=interruption_signal,json=interruptionSignal,proto3,oneof"` +} + +type BidiSessionServerMessage_EndSession struct { + // Optional. Indicates that the session has ended. + EndSession *EndSession `protobuf:"bytes,5,opt,name=end_session,json=endSession,proto3,oneof"` +} + +type BidiSessionServerMessage_GoAway struct { + // Optional. Indicates that the server will disconnect soon and the client + // should half-close and restart the connection. + GoAway *GoAway `protobuf:"bytes,6,opt,name=go_away,json=goAway,proto3,oneof"` +} + +func (*BidiSessionServerMessage_SessionOutput) isBidiSessionServerMessage_MessageType() {} + +func (*BidiSessionServerMessage_RecognitionResult) isBidiSessionServerMessage_MessageType() {} + +func (*BidiSessionServerMessage_InterruptionSignal) isBidiSessionServerMessage_MessageType() {} + +func (*BidiSessionServerMessage_EndSession) isBidiSessionServerMessage_MessageType() {} + +func (*BidiSessionServerMessage_GoAway) isBidiSessionServerMessage_MessageType() {} + +// [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters) +// to send to the remote +// [Dialogflow](https://cloud.google.com/dialogflow/cx/docs/concept/console-conversational-agents) +// agent when the session control is transferred to the remote agent. +type SessionConfig_RemoteDialogflowQueryParameters struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. The HTTP headers to be sent as webhook_headers in + // [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + WebhookHeaders map[string]string `protobuf:"bytes,1,rep,name=webhook_headers,json=webhookHeaders,proto3" json:"webhook_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Optional. The payload to be sent in + // [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + Payload *structpb.Struct `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + // Optional. The end user metadata to be sent in + // [QueryParameters](https://cloud.google.com/dialogflow/cx/docs/reference/rpc/google.cloud.dialogflow.cx.v3#queryparameters). + EndUserMetadata *structpb.Struct `protobuf:"bytes,3,opt,name=end_user_metadata,json=endUserMetadata,proto3" json:"end_user_metadata,omitempty"` +} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) Reset() { + *x = SessionConfig_RemoteDialogflowQueryParameters{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionConfig_RemoteDialogflowQueryParameters) ProtoMessage() {} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionConfig_RemoteDialogflowQueryParameters.ProtoReflect.Descriptor instead. +func (*SessionConfig_RemoteDialogflowQueryParameters) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) GetWebhookHeaders() map[string]string { + if x != nil { + return x.WebhookHeaders + } + return nil +} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) GetPayload() *structpb.Struct { + if x != nil { + return x.Payload + } + return nil +} + +func (x *SessionConfig_RemoteDialogflowQueryParameters) GetEndUserMetadata() *structpb.Struct { + if x != nil { + return x.EndUserMetadata + } + return nil +} + +// Piece of cited information. +type Citations_CitedChunk struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // URI used for citation. + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Title of the cited document. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // Text used for citation. + Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` +} + +func (x *Citations_CitedChunk) Reset() { + *x = Citations_CitedChunk{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Citations_CitedChunk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Citations_CitedChunk) ProtoMessage() {} + +func (x *Citations_CitedChunk) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Citations_CitedChunk.ProtoReflect.Descriptor instead. +func (*Citations_CitedChunk) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *Citations_CitedChunk) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Citations_CitedChunk) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Citations_CitedChunk) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +// Contains execution details during the processing. +type SessionOutput_DiagnosticInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the messages that happened during the processing. + Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"` + // A trace of the entire request processing, represented as a root span. + // This span can contain nested child spans for specific operations. + RootSpan *Span `protobuf:"bytes,3,opt,name=root_span,json=rootSpan,proto3" json:"root_span,omitempty"` +} + +func (x *SessionOutput_DiagnosticInfo) Reset() { + *x = SessionOutput_DiagnosticInfo{} + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionOutput_DiagnosticInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionOutput_DiagnosticInfo) ProtoMessage() {} + +func (x *SessionOutput_DiagnosticInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_session_service_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionOutput_DiagnosticInfo.ProtoReflect.Descriptor instead. +func (*SessionOutput_DiagnosticInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *SessionOutput_DiagnosticInfo) GetMessages() []*Message { + if x != nil { + return x.Messages + } + return nil +} + +func (x *SessionOutput_DiagnosticInfo) GetRootSpan() *Span { + if x != nil { + return x.RootSpan + } + return nil +} + +var File_google_cloud_ces_v1beta_session_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_session_service_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, + 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x5f, 0x68, 0x65, 0x72, 0x74, 0x7a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, + 0x74, 0x7a, 0x12, 0x3b, 0x0a, 0x17, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x6e, 0x6f, 0x69, 0x73, 0x65, 0x53, + 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, + 0x98, 0x01, 0x0a, 0x11, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x65, + 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, + 0x6f, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x68, 0x65, 0x72, 0x74, 0x7a, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x52, 0x61, 0x74, 0x65, 0x48, 0x65, 0x72, 0x74, 0x7a, 0x22, 0xfd, 0x07, 0x0a, 0x0d, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x07, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x12, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, + 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5f, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, + 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x56, 0x0a, 0x13, 0x68, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x68, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x1a, 0x0a, 0x18, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x22, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, + 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, + 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0xf1, 0x02, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x0f, 0x77, + 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x48, 0x0a, + 0x11, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x41, 0x0a, 0x13, 0x57, 0x65, 0x62, 0x68, 0x6f, + 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x09, 0x54, 0x6f, + 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, + 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x22, 0x62, + 0x0a, 0x0d, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, + 0x51, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x50, 0x0a, 0x0c, 0x63, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x69, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x0b, 0x63, 0x69, 0x74, 0x65, 0x64, 0x43, 0x68, 0x75, 0x6e, + 0x6b, 0x73, 0x1a, 0x48, 0x0a, 0x0a, 0x43, 0x69, 0x74, 0x65, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x22, 0x0a, 0x05, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x22, 0xe1, 0x03, 0x0a, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x12, 0x19, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a, 0x04, + 0x64, 0x74, 0x6d, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x04, 0x64, 0x74, 0x6d, 0x66, 0x12, 0x1b, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x54, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x6f, 0x6f, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x42, 0x6c, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6c, 0x6f, + 0x62, 0x12, 0x3c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x3b, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0d, + 0x77, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x77, 0x69, 0x6c, 0x6c, 0x43, 0x6f, + 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xfa, 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x05, + 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x61, + 0x75, 0x64, 0x69, 0x6f, 0x12, 0x43, 0x0a, 0x0a, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x63, 0x61, 0x6c, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x09, + 0x74, 0x6f, 0x6f, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6e, 0x0a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x48, 0x00, 0x52, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, + 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x64, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, + 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0d, 0x74, 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x12, 0x63, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x8a, 0x01, 0x0a, 0x0e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, + 0x70, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x70, + 0x61, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x38, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x22, 0x2f, 0x0a, 0x12, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x62, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x22, 0x46, 0x0a, 0x0a, + 0x45, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x08, 0x0a, 0x06, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x22, 0x9c, + 0x01, 0x0a, 0x11, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x06, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x56, 0x0a, + 0x12, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x18, 0x42, 0x69, 0x64, 0x69, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0e, 0x72, 0x65, 0x61, + 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x0e, + 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd5, + 0x03, 0x0a, 0x18, 0x42, 0x69, 0x64, 0x69, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x12, 0x60, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x63, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x72, 0x75, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x07, 0x67, 0x6f, 0x5f, 0x61, 0x77, 0x61, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x47, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x06, + 0x67, 0x6f, 0x41, 0x77, 0x61, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2a, 0x52, 0x0a, 0x0d, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x45, + 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x44, 0x49, 0x4f, + 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x49, 0x4e, 0x45, 0x41, + 0x52, 0x31, 0x36, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x55, 0x4c, 0x41, 0x57, 0x10, 0x02, + 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4c, 0x41, 0x57, 0x10, 0x03, 0x32, 0xbb, 0x03, 0x0a, 0x0e, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbe, 0x01, + 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, + 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7c, + 0x0a, 0x0e, 0x42, 0x69, 0x64, 0x69, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x64, 0x69, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x69, + 0x64, 0x69, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x6a, 0xca, 0x41, + 0x12, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x65, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xc9, 0x01, 0xea, 0x41, 0x63, 0x0a, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x7d, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_session_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_session_service_proto_rawDescData = file_google_cloud_ces_v1beta_session_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_session_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_session_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_session_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_session_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_session_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_session_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_session_service_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_google_cloud_ces_v1beta_session_service_proto_goTypes = []any{ + (AudioEncoding)(0), // 0: google.cloud.ces.v1beta.AudioEncoding + (*InputAudioConfig)(nil), // 1: google.cloud.ces.v1beta.InputAudioConfig + (*OutputAudioConfig)(nil), // 2: google.cloud.ces.v1beta.OutputAudioConfig + (*SessionConfig)(nil), // 3: google.cloud.ces.v1beta.SessionConfig + (*ToolCalls)(nil), // 4: google.cloud.ces.v1beta.ToolCalls + (*ToolResponses)(nil), // 5: google.cloud.ces.v1beta.ToolResponses + (*Citations)(nil), // 6: google.cloud.ces.v1beta.Citations + (*Event)(nil), // 7: google.cloud.ces.v1beta.Event + (*SessionInput)(nil), // 8: google.cloud.ces.v1beta.SessionInput + (*SessionOutput)(nil), // 9: google.cloud.ces.v1beta.SessionOutput + (*RecognitionResult)(nil), // 10: google.cloud.ces.v1beta.RecognitionResult + (*InterruptionSignal)(nil), // 11: google.cloud.ces.v1beta.InterruptionSignal + (*EndSession)(nil), // 12: google.cloud.ces.v1beta.EndSession + (*GoAway)(nil), // 13: google.cloud.ces.v1beta.GoAway + (*RunSessionRequest)(nil), // 14: google.cloud.ces.v1beta.RunSessionRequest + (*RunSessionResponse)(nil), // 15: google.cloud.ces.v1beta.RunSessionResponse + (*BidiSessionClientMessage)(nil), // 16: google.cloud.ces.v1beta.BidiSessionClientMessage + (*BidiSessionServerMessage)(nil), // 17: google.cloud.ces.v1beta.BidiSessionServerMessage + (*SessionConfig_RemoteDialogflowQueryParameters)(nil), // 18: google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters + nil, // 19: google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters.WebhookHeadersEntry + (*Citations_CitedChunk)(nil), // 20: google.cloud.ces.v1beta.Citations.CitedChunk + (*SessionOutput_DiagnosticInfo)(nil), // 21: google.cloud.ces.v1beta.SessionOutput.DiagnosticInfo + (*Message)(nil), // 22: google.cloud.ces.v1beta.Message + (*ToolCall)(nil), // 23: google.cloud.ces.v1beta.ToolCall + (*ToolResponse)(nil), // 24: google.cloud.ces.v1beta.ToolResponse + (*Image)(nil), // 25: google.cloud.ces.v1beta.Image + (*Blob)(nil), // 26: google.cloud.ces.v1beta.Blob + (*structpb.Struct)(nil), // 27: google.protobuf.Struct + (*GoogleSearchSuggestions)(nil), // 28: google.cloud.ces.v1beta.GoogleSearchSuggestions + (*Span)(nil), // 29: google.cloud.ces.v1beta.Span +} +var file_google_cloud_ces_v1beta_session_service_proto_depIdxs = []int32{ + 0, // 0: google.cloud.ces.v1beta.InputAudioConfig.audio_encoding:type_name -> google.cloud.ces.v1beta.AudioEncoding + 0, // 1: google.cloud.ces.v1beta.OutputAudioConfig.audio_encoding:type_name -> google.cloud.ces.v1beta.AudioEncoding + 1, // 2: google.cloud.ces.v1beta.SessionConfig.input_audio_config:type_name -> google.cloud.ces.v1beta.InputAudioConfig + 2, // 3: google.cloud.ces.v1beta.SessionConfig.output_audio_config:type_name -> google.cloud.ces.v1beta.OutputAudioConfig + 22, // 4: google.cloud.ces.v1beta.SessionConfig.historical_contexts:type_name -> google.cloud.ces.v1beta.Message + 18, // 5: google.cloud.ces.v1beta.SessionConfig.remote_dialogflow_query_parameters:type_name -> google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters + 23, // 6: google.cloud.ces.v1beta.ToolCalls.tool_calls:type_name -> google.cloud.ces.v1beta.ToolCall + 24, // 7: google.cloud.ces.v1beta.ToolResponses.tool_responses:type_name -> google.cloud.ces.v1beta.ToolResponse + 20, // 8: google.cloud.ces.v1beta.Citations.cited_chunks:type_name -> google.cloud.ces.v1beta.Citations.CitedChunk + 5, // 9: google.cloud.ces.v1beta.SessionInput.tool_responses:type_name -> google.cloud.ces.v1beta.ToolResponses + 25, // 10: google.cloud.ces.v1beta.SessionInput.image:type_name -> google.cloud.ces.v1beta.Image + 26, // 11: google.cloud.ces.v1beta.SessionInput.blob:type_name -> google.cloud.ces.v1beta.Blob + 27, // 12: google.cloud.ces.v1beta.SessionInput.variables:type_name -> google.protobuf.Struct + 7, // 13: google.cloud.ces.v1beta.SessionInput.event:type_name -> google.cloud.ces.v1beta.Event + 4, // 14: google.cloud.ces.v1beta.SessionOutput.tool_calls:type_name -> google.cloud.ces.v1beta.ToolCalls + 6, // 15: google.cloud.ces.v1beta.SessionOutput.citations:type_name -> google.cloud.ces.v1beta.Citations + 28, // 16: google.cloud.ces.v1beta.SessionOutput.google_search_suggestions:type_name -> google.cloud.ces.v1beta.GoogleSearchSuggestions + 12, // 17: google.cloud.ces.v1beta.SessionOutput.end_session:type_name -> google.cloud.ces.v1beta.EndSession + 27, // 18: google.cloud.ces.v1beta.SessionOutput.payload:type_name -> google.protobuf.Struct + 21, // 19: google.cloud.ces.v1beta.SessionOutput.diagnostic_info:type_name -> google.cloud.ces.v1beta.SessionOutput.DiagnosticInfo + 27, // 20: google.cloud.ces.v1beta.EndSession.metadata:type_name -> google.protobuf.Struct + 3, // 21: google.cloud.ces.v1beta.RunSessionRequest.config:type_name -> google.cloud.ces.v1beta.SessionConfig + 8, // 22: google.cloud.ces.v1beta.RunSessionRequest.inputs:type_name -> google.cloud.ces.v1beta.SessionInput + 9, // 23: google.cloud.ces.v1beta.RunSessionResponse.outputs:type_name -> google.cloud.ces.v1beta.SessionOutput + 3, // 24: google.cloud.ces.v1beta.BidiSessionClientMessage.config:type_name -> google.cloud.ces.v1beta.SessionConfig + 8, // 25: google.cloud.ces.v1beta.BidiSessionClientMessage.realtime_input:type_name -> google.cloud.ces.v1beta.SessionInput + 9, // 26: google.cloud.ces.v1beta.BidiSessionServerMessage.session_output:type_name -> google.cloud.ces.v1beta.SessionOutput + 10, // 27: google.cloud.ces.v1beta.BidiSessionServerMessage.recognition_result:type_name -> google.cloud.ces.v1beta.RecognitionResult + 11, // 28: google.cloud.ces.v1beta.BidiSessionServerMessage.interruption_signal:type_name -> google.cloud.ces.v1beta.InterruptionSignal + 12, // 29: google.cloud.ces.v1beta.BidiSessionServerMessage.end_session:type_name -> google.cloud.ces.v1beta.EndSession + 13, // 30: google.cloud.ces.v1beta.BidiSessionServerMessage.go_away:type_name -> google.cloud.ces.v1beta.GoAway + 19, // 31: google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters.webhook_headers:type_name -> google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters.WebhookHeadersEntry + 27, // 32: google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters.payload:type_name -> google.protobuf.Struct + 27, // 33: google.cloud.ces.v1beta.SessionConfig.RemoteDialogflowQueryParameters.end_user_metadata:type_name -> google.protobuf.Struct + 22, // 34: google.cloud.ces.v1beta.SessionOutput.DiagnosticInfo.messages:type_name -> google.cloud.ces.v1beta.Message + 29, // 35: google.cloud.ces.v1beta.SessionOutput.DiagnosticInfo.root_span:type_name -> google.cloud.ces.v1beta.Span + 14, // 36: google.cloud.ces.v1beta.SessionService.RunSession:input_type -> google.cloud.ces.v1beta.RunSessionRequest + 16, // 37: google.cloud.ces.v1beta.SessionService.BidiRunSession:input_type -> google.cloud.ces.v1beta.BidiSessionClientMessage + 15, // 38: google.cloud.ces.v1beta.SessionService.RunSession:output_type -> google.cloud.ces.v1beta.RunSessionResponse + 17, // 39: google.cloud.ces.v1beta.SessionService.BidiRunSession:output_type -> google.cloud.ces.v1beta.BidiSessionServerMessage + 38, // [38:40] is the sub-list for method output_type + 36, // [36:38] is the sub-list for method input_type + 36, // [36:36] is the sub-list for extension type_name + 36, // [36:36] is the sub-list for extension extendee + 0, // [0:36] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_session_service_proto_init() } +func file_google_cloud_ces_v1beta_session_service_proto_init() { + if File_google_cloud_ces_v1beta_session_service_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_example_proto_init() + file_google_cloud_ces_v1beta_search_suggestions_proto_init() + file_google_cloud_ces_v1beta_session_service_proto_msgTypes[7].OneofWrappers = []any{ + (*SessionInput_Text)(nil), + (*SessionInput_Dtmf)(nil), + (*SessionInput_Audio)(nil), + (*SessionInput_ToolResponses)(nil), + (*SessionInput_Image)(nil), + (*SessionInput_Blob)(nil), + (*SessionInput_Variables)(nil), + (*SessionInput_Event)(nil), + } + file_google_cloud_ces_v1beta_session_service_proto_msgTypes[8].OneofWrappers = []any{ + (*SessionOutput_Text)(nil), + (*SessionOutput_Audio)(nil), + (*SessionOutput_ToolCalls)(nil), + (*SessionOutput_Citations)(nil), + (*SessionOutput_GoogleSearchSuggestions)(nil), + (*SessionOutput_EndSession)(nil), + (*SessionOutput_Payload)(nil), + } + file_google_cloud_ces_v1beta_session_service_proto_msgTypes[15].OneofWrappers = []any{ + (*BidiSessionClientMessage_Config)(nil), + (*BidiSessionClientMessage_RealtimeInput)(nil), + } + file_google_cloud_ces_v1beta_session_service_proto_msgTypes[16].OneofWrappers = []any{ + (*BidiSessionServerMessage_SessionOutput)(nil), + (*BidiSessionServerMessage_RecognitionResult)(nil), + (*BidiSessionServerMessage_InterruptionSignal)(nil), + (*BidiSessionServerMessage_EndSession)(nil), + (*BidiSessionServerMessage_GoAway)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_session_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 21, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_ces_v1beta_session_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_session_service_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_session_service_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_session_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_session_service_proto = out.File + file_google_cloud_ces_v1beta_session_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_session_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_session_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/session_service_grpc.pb.go b/ces/apiv1beta/cespb/session_service_grpc.pb.go new file mode 100644 index 000000000000..6f8d0019be13 --- /dev/null +++ b/ces/apiv1beta/cespb/session_service_grpc.pb.go @@ -0,0 +1,324 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/ces/v1beta/session_service.proto + +package cespb + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + SessionService_RunSession_FullMethodName = "/google.cloud.ces.v1beta.SessionService/RunSession" + SessionService_BidiRunSession_FullMethodName = "/google.cloud.ces.v1beta.SessionService/BidiRunSession" +) + +// SessionServiceClient is the client API for SessionService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type SessionServiceClient interface { + // Initiates a single turn interaction with the CES agent within a + // session. + RunSession(ctx context.Context, in *RunSessionRequest, opts ...grpc.CallOption) (*RunSessionResponse, error) + // 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. + // + // --- Client Request Stream --- + // The client streams requests in the following order: + // + // 1. Initialization: + // The first message must contain + // [SessionConfig][google.cloud.ces.v1beta.BidiSessionClientMessage.config]. + // For audio sessions, this should also include + // [InputAudioConfig][google.cloud.ces.v1beta.SessionConfig.input_audio_config] + // and + // [OutputAudioConfig][google.cloud.ces.v1beta.SessionConfig.output_audio_config] + // to define audio processing and synthesis parameters. + // + // 2. Interaction: + // Subsequent messages stream + // [SessionInput][google.cloud.ces.v1beta.BidiSessionClientMessage.realtime_input] + // containing real-time user input data. + // + // 3. Termination: + // The client should half-close the stream when there is no more user + // input. It should also half-close upon receiving + // [EndSession][google.cloud.ces.v1beta.BidiSessionServerMessage.end_session] + // or [GoAway][google.cloud.ces.v1beta.BidiSessionServerMessage.go_away] + // from the agent. + // + // --- Server Response Stream --- + // For each interaction turn, the agent streams messages in the following + // sequence: + // + // 1. Speech Recognition (First N messages): + // Contains + // [RecognitionResult][google.cloud.ces.v1beta.BidiSessionServerMessage.recognition_result] + // representing the concatenated user speech segments captured so far. + // This is only populated for audio sessions. + // + // 2. Response (Next M messages): + // Contains + // [SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output] + // delivering the agent's response in various modalities (e.g., text, + // audio). + // + // 3. Turn Completion (Final message of the turn): + // Contains + // [SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output] + // with + // [turn_completed][google.cloud.ces.v1beta.SessionOutput.turn_completed] + // set to true. This signals the end of the current turn and includes + // [DiagnosticInfo][google.cloud.ces.v1beta.SessionOutput.diagnostic_info] + // with execution details. + // + // --- Audio Best Practices --- + // 1. Streaming: + // Stream [audio data][google.cloud.ces.v1beta.SessionInput.audio] + // **CONTINUOUSLY**, even during silence. Recommended chunk size: 40-120ms + // (balances latency vs. efficiency). + // + // 2. Playback & Interruption: + // Play [audio responses][google.cloud.ces.v1beta.SessionOutput.audio] + // upon receipt. Stop playback immediately if an + // [InterruptionSignal][google.cloud.ces.v1beta.BidiSessionServerMessage.interruption_signal] + // is received (e.g., user barge-in or new agent response). + BidiRunSession(ctx context.Context, opts ...grpc.CallOption) (SessionService_BidiRunSessionClient, error) +} + +type sessionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSessionServiceClient(cc grpc.ClientConnInterface) SessionServiceClient { + return &sessionServiceClient{cc} +} + +func (c *sessionServiceClient) RunSession(ctx context.Context, in *RunSessionRequest, opts ...grpc.CallOption) (*RunSessionResponse, error) { + out := new(RunSessionResponse) + err := c.cc.Invoke(ctx, SessionService_RunSession_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *sessionServiceClient) BidiRunSession(ctx context.Context, opts ...grpc.CallOption) (SessionService_BidiRunSessionClient, error) { + stream, err := c.cc.NewStream(ctx, &SessionService_ServiceDesc.Streams[0], SessionService_BidiRunSession_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &sessionServiceBidiRunSessionClient{stream} + return x, nil +} + +type SessionService_BidiRunSessionClient interface { + Send(*BidiSessionClientMessage) error + Recv() (*BidiSessionServerMessage, error) + grpc.ClientStream +} + +type sessionServiceBidiRunSessionClient struct { + grpc.ClientStream +} + +func (x *sessionServiceBidiRunSessionClient) Send(m *BidiSessionClientMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *sessionServiceBidiRunSessionClient) Recv() (*BidiSessionServerMessage, error) { + m := new(BidiSessionServerMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// SessionServiceServer is the server API for SessionService service. +// All implementations should embed UnimplementedSessionServiceServer +// for forward compatibility +type SessionServiceServer interface { + // Initiates a single turn interaction with the CES agent within a + // session. + RunSession(context.Context, *RunSessionRequest) (*RunSessionResponse, error) + // 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. + // + // --- Client Request Stream --- + // The client streams requests in the following order: + // + // 1. Initialization: + // The first message must contain + // [SessionConfig][google.cloud.ces.v1beta.BidiSessionClientMessage.config]. + // For audio sessions, this should also include + // [InputAudioConfig][google.cloud.ces.v1beta.SessionConfig.input_audio_config] + // and + // [OutputAudioConfig][google.cloud.ces.v1beta.SessionConfig.output_audio_config] + // to define audio processing and synthesis parameters. + // + // 2. Interaction: + // Subsequent messages stream + // [SessionInput][google.cloud.ces.v1beta.BidiSessionClientMessage.realtime_input] + // containing real-time user input data. + // + // 3. Termination: + // The client should half-close the stream when there is no more user + // input. It should also half-close upon receiving + // [EndSession][google.cloud.ces.v1beta.BidiSessionServerMessage.end_session] + // or [GoAway][google.cloud.ces.v1beta.BidiSessionServerMessage.go_away] + // from the agent. + // + // --- Server Response Stream --- + // For each interaction turn, the agent streams messages in the following + // sequence: + // + // 1. Speech Recognition (First N messages): + // Contains + // [RecognitionResult][google.cloud.ces.v1beta.BidiSessionServerMessage.recognition_result] + // representing the concatenated user speech segments captured so far. + // This is only populated for audio sessions. + // + // 2. Response (Next M messages): + // Contains + // [SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output] + // delivering the agent's response in various modalities (e.g., text, + // audio). + // + // 3. Turn Completion (Final message of the turn): + // Contains + // [SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output] + // with + // [turn_completed][google.cloud.ces.v1beta.SessionOutput.turn_completed] + // set to true. This signals the end of the current turn and includes + // [DiagnosticInfo][google.cloud.ces.v1beta.SessionOutput.diagnostic_info] + // with execution details. + // + // --- Audio Best Practices --- + // 1. Streaming: + // Stream [audio data][google.cloud.ces.v1beta.SessionInput.audio] + // **CONTINUOUSLY**, even during silence. Recommended chunk size: 40-120ms + // (balances latency vs. efficiency). + // + // 2. Playback & Interruption: + // Play [audio responses][google.cloud.ces.v1beta.SessionOutput.audio] + // upon receipt. Stop playback immediately if an + // [InterruptionSignal][google.cloud.ces.v1beta.BidiSessionServerMessage.interruption_signal] + // is received (e.g., user barge-in or new agent response). + BidiRunSession(SessionService_BidiRunSessionServer) error +} + +// UnimplementedSessionServiceServer should be embedded to have forward compatible implementations. +type UnimplementedSessionServiceServer struct { +} + +func (UnimplementedSessionServiceServer) RunSession(context.Context, *RunSessionRequest) (*RunSessionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RunSession not implemented") +} +func (UnimplementedSessionServiceServer) BidiRunSession(SessionService_BidiRunSessionServer) error { + return status.Errorf(codes.Unimplemented, "method BidiRunSession not implemented") +} + +// UnsafeSessionServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to SessionServiceServer will +// result in compilation errors. +type UnsafeSessionServiceServer interface { + mustEmbedUnimplementedSessionServiceServer() +} + +func RegisterSessionServiceServer(s grpc.ServiceRegistrar, srv SessionServiceServer) { + s.RegisterService(&SessionService_ServiceDesc, srv) +} + +func _SessionService_RunSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RunSessionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SessionServiceServer).RunSession(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: SessionService_RunSession_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SessionServiceServer).RunSession(ctx, req.(*RunSessionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SessionService_BidiRunSession_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SessionServiceServer).BidiRunSession(&sessionServiceBidiRunSessionServer{stream}) +} + +type SessionService_BidiRunSessionServer interface { + Send(*BidiSessionServerMessage) error + Recv() (*BidiSessionClientMessage, error) + grpc.ServerStream +} + +type sessionServiceBidiRunSessionServer struct { + grpc.ServerStream +} + +func (x *sessionServiceBidiRunSessionServer) Send(m *BidiSessionServerMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *sessionServiceBidiRunSessionServer) Recv() (*BidiSessionClientMessage, error) { + m := new(BidiSessionClientMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// SessionService_ServiceDesc is the grpc.ServiceDesc for SessionService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var SessionService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ces.v1beta.SessionService", + HandlerType: (*SessionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RunSession", + Handler: _SessionService_RunSession_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "BidiRunSession", + Handler: _SessionService_BidiRunSession_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "google/cloud/ces/v1beta/session_service.proto", +} diff --git a/ces/apiv1beta/cespb/system_tool.pb.go b/ces/apiv1beta/cespb/system_tool.pb.go new file mode 100644 index 000000000000..211f0f30ac6a --- /dev/null +++ b/ces/apiv1beta/cespb/system_tool.pb.go @@ -0,0 +1,165 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/system_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Pre-defined system tool. +type SystemTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the system tool. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The description of the system tool. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *SystemTool) Reset() { + *x = SystemTool{} + mi := &file_google_cloud_ces_v1beta_system_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SystemTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SystemTool) ProtoMessage() {} + +func (x *SystemTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_system_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SystemTool.ProtoReflect.Descriptor instead. +func (*SystemTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_system_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *SystemTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SystemTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_google_cloud_ces_v1beta_system_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_system_tool_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, + 0x6f, 0x6f, 0x6c, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x5f, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x42, 0x0f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, + 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, + 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_system_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_system_tool_proto_rawDescData = file_google_cloud_ces_v1beta_system_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_system_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_system_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_system_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_system_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_system_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_system_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_system_tool_proto_goTypes = []any{ + (*SystemTool)(nil), // 0: google.cloud.ces.v1beta.SystemTool +} +var file_google_cloud_ces_v1beta_system_tool_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_system_tool_proto_init() } +func file_google_cloud_ces_v1beta_system_tool_proto_init() { + if File_google_cloud_ces_v1beta_system_tool_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_system_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_system_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_system_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_system_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_system_tool_proto = out.File + file_google_cloud_ces_v1beta_system_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_system_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_system_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/tool.pb.go b/ces/apiv1beta/cespb/tool.pb.go new file mode 100644 index 000000000000..195c13297eea --- /dev/null +++ b/ces/apiv1beta/cespb/tool.pb.go @@ -0,0 +1,571 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A tool represents an action that the CES agent can take to achieve certain +// goals. +type Tool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the tool. + // + // Types that are assignable to ToolType: + // + // *Tool_ClientFunction + // *Tool_OpenApiTool + // *Tool_GoogleSearchTool + // *Tool_ConnectorTool + // *Tool_DataStoreTool + // *Tool_PythonFunction + // *Tool_McpTool + // *Tool_FileSearchTool + // *Tool_SystemTool + // *Tool_WidgetTool + ToolType isTool_ToolType `protobuf_oneof:"tool_type"` + // Identifier. The unique identifier of the tool. + // Format: + // - `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` for + // ## standalone tools. + // + // `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}` + // for tools retrieved from a toolset. These tools are dynamic and + // output-only, they cannot be referenced directly where a tool is expected. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The display name of the tool, derived based on the tool's + // type. For example, display name of a [ClientFunction][Tool.ClientFunction] + // is derived from its `name` property. + DisplayName string `protobuf:"bytes,13,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The execution type of the tool. + ExecutionType ExecutionType `protobuf:"varint,12,opt,name=execution_type,json=executionType,proto3,enum=google.cloud.ces.v1beta.ExecutionType" json:"execution_type,omitempty"` + // Output only. Timestamp when the tool was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the tool was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Etag used to ensure the object hasn't changed during a read-modify-write + // operation. If the etag is empty, the update will overwrite any concurrent + // changes. + Etag string `protobuf:"bytes,14,opt,name=etag,proto3" json:"etag,omitempty"` + // Output only. If the tool is generated by the LLM assistant, this field + // contains a descriptive summary of the generation. + GeneratedSummary string `protobuf:"bytes,15,opt,name=generated_summary,json=generatedSummary,proto3" json:"generated_summary,omitempty"` + // Optional. Configuration for tool behavior in fake mode. + ToolFakeConfig *ToolFakeConfig `protobuf:"bytes,20,opt,name=tool_fake_config,json=toolFakeConfig,proto3" json:"tool_fake_config,omitempty"` +} + +func (x *Tool) Reset() { + *x = Tool{} + mi := &file_google_cloud_ces_v1beta_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Tool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Tool) ProtoMessage() {} + +func (x *Tool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Tool.ProtoReflect.Descriptor instead. +func (*Tool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_proto_rawDescGZIP(), []int{0} +} + +func (m *Tool) GetToolType() isTool_ToolType { + if m != nil { + return m.ToolType + } + return nil +} + +func (x *Tool) GetClientFunction() *ClientFunction { + if x, ok := x.GetToolType().(*Tool_ClientFunction); ok { + return x.ClientFunction + } + return nil +} + +func (x *Tool) GetOpenApiTool() *OpenApiTool { + if x, ok := x.GetToolType().(*Tool_OpenApiTool); ok { + return x.OpenApiTool + } + return nil +} + +func (x *Tool) GetGoogleSearchTool() *GoogleSearchTool { + if x, ok := x.GetToolType().(*Tool_GoogleSearchTool); ok { + return x.GoogleSearchTool + } + return nil +} + +func (x *Tool) GetConnectorTool() *ConnectorTool { + if x, ok := x.GetToolType().(*Tool_ConnectorTool); ok { + return x.ConnectorTool + } + return nil +} + +func (x *Tool) GetDataStoreTool() *DataStoreTool { + if x, ok := x.GetToolType().(*Tool_DataStoreTool); ok { + return x.DataStoreTool + } + return nil +} + +func (x *Tool) GetPythonFunction() *PythonFunction { + if x, ok := x.GetToolType().(*Tool_PythonFunction); ok { + return x.PythonFunction + } + return nil +} + +func (x *Tool) GetMcpTool() *McpTool { + if x, ok := x.GetToolType().(*Tool_McpTool); ok { + return x.McpTool + } + return nil +} + +func (x *Tool) GetFileSearchTool() *FileSearchTool { + if x, ok := x.GetToolType().(*Tool_FileSearchTool); ok { + return x.FileSearchTool + } + return nil +} + +func (x *Tool) GetSystemTool() *SystemTool { + if x, ok := x.GetToolType().(*Tool_SystemTool); ok { + return x.SystemTool + } + return nil +} + +func (x *Tool) GetWidgetTool() *WidgetTool { + if x, ok := x.GetToolType().(*Tool_WidgetTool); ok { + return x.WidgetTool + } + return nil +} + +func (x *Tool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Tool) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Tool) GetExecutionType() ExecutionType { + if x != nil { + return x.ExecutionType + } + return ExecutionType_EXECUTION_TYPE_UNSPECIFIED +} + +func (x *Tool) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Tool) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Tool) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Tool) GetGeneratedSummary() string { + if x != nil { + return x.GeneratedSummary + } + return "" +} + +func (x *Tool) GetToolFakeConfig() *ToolFakeConfig { + if x != nil { + return x.ToolFakeConfig + } + return nil +} + +type isTool_ToolType interface { + isTool_ToolType() +} + +type Tool_ClientFunction struct { + // Optional. The client function. + ClientFunction *ClientFunction `protobuf:"bytes,2,opt,name=client_function,json=clientFunction,proto3,oneof"` +} + +type Tool_OpenApiTool struct { + // Optional. The open API tool. + OpenApiTool *OpenApiTool `protobuf:"bytes,3,opt,name=open_api_tool,json=openApiTool,proto3,oneof"` +} + +type Tool_GoogleSearchTool struct { + // Optional. The google search tool. + GoogleSearchTool *GoogleSearchTool `protobuf:"bytes,5,opt,name=google_search_tool,json=googleSearchTool,proto3,oneof"` +} + +type Tool_ConnectorTool struct { + // Optional. The Integration Connector tool. + ConnectorTool *ConnectorTool `protobuf:"bytes,8,opt,name=connector_tool,json=connectorTool,proto3,oneof"` +} + +type Tool_DataStoreTool struct { + // Optional. The data store tool. + DataStoreTool *DataStoreTool `protobuf:"bytes,10,opt,name=data_store_tool,json=dataStoreTool,proto3,oneof"` +} + +type Tool_PythonFunction struct { + // Optional. The python function tool. + PythonFunction *PythonFunction `protobuf:"bytes,11,opt,name=python_function,json=pythonFunction,proto3,oneof"` +} + +type Tool_McpTool struct { + // Optional. The MCP tool. An MCP tool cannot be created or updated directly + // and is managed by the MCP toolset. + McpTool *McpTool `protobuf:"bytes,16,opt,name=mcp_tool,json=mcpTool,proto3,oneof"` +} + +type Tool_FileSearchTool struct { + // Optional. The file search tool. + FileSearchTool *FileSearchTool `protobuf:"bytes,17,opt,name=file_search_tool,json=fileSearchTool,proto3,oneof"` +} + +type Tool_SystemTool struct { + // Optional. The system tool. + SystemTool *SystemTool `protobuf:"bytes,18,opt,name=system_tool,json=systemTool,proto3,oneof"` +} + +type Tool_WidgetTool struct { + // Optional. The widget tool. + WidgetTool *WidgetTool `protobuf:"bytes,24,opt,name=widget_tool,json=widgetTool,proto3,oneof"` +} + +func (*Tool_ClientFunction) isTool_ToolType() {} + +func (*Tool_OpenApiTool) isTool_ToolType() {} + +func (*Tool_GoogleSearchTool) isTool_ToolType() {} + +func (*Tool_ConnectorTool) isTool_ToolType() {} + +func (*Tool_DataStoreTool) isTool_ToolType() {} + +func (*Tool_PythonFunction) isTool_ToolType() {} + +func (*Tool_McpTool) isTool_ToolType() {} + +func (*Tool_FileSearchTool) isTool_ToolType() {} + +func (*Tool_SystemTool) isTool_ToolType() {} + +func (*Tool_WidgetTool) isTool_ToolType() {} + +var File_google_cloud_ces_v1beta_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_tool_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6d, 0x63, 0x70, 0x5f, + 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, + 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x0a, + 0x0a, 0x04, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x57, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x4f, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6f, 0x6c, + 0x12, 0x5e, 0x0a, 0x12, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, + 0x12, 0x54, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x55, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, + 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x57, 0x0a, + 0x0f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x08, 0x6d, 0x63, 0x70, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x07, 0x6d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x58, 0x0a, 0x10, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x4b, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x74, + 0x6f, 0x6f, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x6f, 0x6f, + 0x6c, 0x12, 0x4b, 0x0a, 0x0b, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0a, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x52, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x30, 0x0a, 0x11, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x56, 0x0a, + 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6b, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x6a, 0xea, 0x41, 0x67, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, + 0x6f, 0x6f, 0x6c, 0x12, 0x3f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, + 0x6f, 0x6f, 0x6c, 0x7d, 0x2a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x32, 0x04, 0x74, 0x6f, 0x6f, + 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x59, + 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x09, 0x54, + 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_google_cloud_ces_v1beta_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_tool_proto_rawDescData = file_google_cloud_ces_v1beta_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_tool_proto_goTypes = []any{ + (*Tool)(nil), // 0: google.cloud.ces.v1beta.Tool + (*ClientFunction)(nil), // 1: google.cloud.ces.v1beta.ClientFunction + (*OpenApiTool)(nil), // 2: google.cloud.ces.v1beta.OpenApiTool + (*GoogleSearchTool)(nil), // 3: google.cloud.ces.v1beta.GoogleSearchTool + (*ConnectorTool)(nil), // 4: google.cloud.ces.v1beta.ConnectorTool + (*DataStoreTool)(nil), // 5: google.cloud.ces.v1beta.DataStoreTool + (*PythonFunction)(nil), // 6: google.cloud.ces.v1beta.PythonFunction + (*McpTool)(nil), // 7: google.cloud.ces.v1beta.McpTool + (*FileSearchTool)(nil), // 8: google.cloud.ces.v1beta.FileSearchTool + (*SystemTool)(nil), // 9: google.cloud.ces.v1beta.SystemTool + (*WidgetTool)(nil), // 10: google.cloud.ces.v1beta.WidgetTool + (ExecutionType)(0), // 11: google.cloud.ces.v1beta.ExecutionType + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*ToolFakeConfig)(nil), // 13: google.cloud.ces.v1beta.ToolFakeConfig +} +var file_google_cloud_ces_v1beta_tool_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Tool.client_function:type_name -> google.cloud.ces.v1beta.ClientFunction + 2, // 1: google.cloud.ces.v1beta.Tool.open_api_tool:type_name -> google.cloud.ces.v1beta.OpenApiTool + 3, // 2: google.cloud.ces.v1beta.Tool.google_search_tool:type_name -> google.cloud.ces.v1beta.GoogleSearchTool + 4, // 3: google.cloud.ces.v1beta.Tool.connector_tool:type_name -> google.cloud.ces.v1beta.ConnectorTool + 5, // 4: google.cloud.ces.v1beta.Tool.data_store_tool:type_name -> google.cloud.ces.v1beta.DataStoreTool + 6, // 5: google.cloud.ces.v1beta.Tool.python_function:type_name -> google.cloud.ces.v1beta.PythonFunction + 7, // 6: google.cloud.ces.v1beta.Tool.mcp_tool:type_name -> google.cloud.ces.v1beta.McpTool + 8, // 7: google.cloud.ces.v1beta.Tool.file_search_tool:type_name -> google.cloud.ces.v1beta.FileSearchTool + 9, // 8: google.cloud.ces.v1beta.Tool.system_tool:type_name -> google.cloud.ces.v1beta.SystemTool + 10, // 9: google.cloud.ces.v1beta.Tool.widget_tool:type_name -> google.cloud.ces.v1beta.WidgetTool + 11, // 10: google.cloud.ces.v1beta.Tool.execution_type:type_name -> google.cloud.ces.v1beta.ExecutionType + 12, // 11: google.cloud.ces.v1beta.Tool.create_time:type_name -> google.protobuf.Timestamp + 12, // 12: google.cloud.ces.v1beta.Tool.update_time:type_name -> google.protobuf.Timestamp + 13, // 13: google.cloud.ces.v1beta.Tool.tool_fake_config:type_name -> google.cloud.ces.v1beta.ToolFakeConfig + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_tool_proto_init() } +func file_google_cloud_ces_v1beta_tool_proto_init() { + if File_google_cloud_ces_v1beta_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_client_function_proto_init() + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_connector_tool_proto_init() + file_google_cloud_ces_v1beta_data_store_tool_proto_init() + file_google_cloud_ces_v1beta_fakes_proto_init() + file_google_cloud_ces_v1beta_file_search_tool_proto_init() + file_google_cloud_ces_v1beta_google_search_tool_proto_init() + file_google_cloud_ces_v1beta_mcp_tool_proto_init() + file_google_cloud_ces_v1beta_open_api_tool_proto_init() + file_google_cloud_ces_v1beta_python_function_proto_init() + file_google_cloud_ces_v1beta_system_tool_proto_init() + file_google_cloud_ces_v1beta_widget_tool_proto_init() + file_google_cloud_ces_v1beta_tool_proto_msgTypes[0].OneofWrappers = []any{ + (*Tool_ClientFunction)(nil), + (*Tool_OpenApiTool)(nil), + (*Tool_GoogleSearchTool)(nil), + (*Tool_ConnectorTool)(nil), + (*Tool_DataStoreTool)(nil), + (*Tool_PythonFunction)(nil), + (*Tool_McpTool)(nil), + (*Tool_FileSearchTool)(nil), + (*Tool_SystemTool)(nil), + (*Tool_WidgetTool)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_tool_proto = out.File + file_google_cloud_ces_v1beta_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/tool_service.pb.go b/ces/apiv1beta/cespb/tool_service.pb.go new file mode 100644 index 000000000000..d28d24b3a9fe --- /dev/null +++ b/ces/apiv1beta/cespb/tool_service.pb.go @@ -0,0 +1,832 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/tool_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [ToolService.ExecuteTool][google.cloud.ces.v1beta.ToolService.ExecuteTool]. +type ExecuteToolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool to execute. It could be either a persisted tool + // or a tool from a toolset. + // + // Types that are assignable to ToolIdentifier: + // + // *ExecuteToolRequest_Tool + // *ExecuteToolRequest_ToolsetTool + ToolIdentifier isExecuteToolRequest_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // Required. The resource name of the app which the tool/toolset belongs to. + // Format: `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The input parameters and values for the tool in JSON object + // format. + Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` + // Optional. The variables that are available for the tool execution. + Variables *structpb.Struct `protobuf:"bytes,5,opt,name=variables,proto3" json:"variables,omitempty"` +} + +func (x *ExecuteToolRequest) Reset() { + *x = ExecuteToolRequest{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteToolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteToolRequest) ProtoMessage() {} + +func (x *ExecuteToolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteToolRequest.ProtoReflect.Descriptor instead. +func (*ExecuteToolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{0} +} + +func (m *ExecuteToolRequest) GetToolIdentifier() isExecuteToolRequest_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *ExecuteToolRequest) GetTool() string { + if x, ok := x.GetToolIdentifier().(*ExecuteToolRequest_Tool); ok { + return x.Tool + } + return "" +} + +func (x *ExecuteToolRequest) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*ExecuteToolRequest_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *ExecuteToolRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ExecuteToolRequest) GetArgs() *structpb.Struct { + if x != nil { + return x.Args + } + return nil +} + +func (x *ExecuteToolRequest) GetVariables() *structpb.Struct { + if x != nil { + return x.Variables + } + return nil +} + +type isExecuteToolRequest_ToolIdentifier interface { + isExecuteToolRequest_ToolIdentifier() +} + +type ExecuteToolRequest_Tool struct { + // Optional. The name of the tool to execute. + // Format: + // projects/{project}/locations/{location}/apps/{app}/tools/{tool} + Tool string `protobuf:"bytes,1,opt,name=tool,proto3,oneof"` +} + +type ExecuteToolRequest_ToolsetTool struct { + // Optional. The toolset tool to execute. Only one tool should match the + // predicate from the toolset. Otherwise, an error will be returned. + ToolsetTool *ToolsetTool `protobuf:"bytes,3,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*ExecuteToolRequest_Tool) isExecuteToolRequest_ToolIdentifier() {} + +func (*ExecuteToolRequest_ToolsetTool) isExecuteToolRequest_ToolIdentifier() {} + +// Response message for +// [ToolService.ExecuteTool][google.cloud.ces.v1beta.ToolService.ExecuteTool]. +type ExecuteToolResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool that got executed. + // + // Types that are assignable to ToolIdentifier: + // + // *ExecuteToolResponse_Tool + // *ExecuteToolResponse_ToolsetTool + ToolIdentifier isExecuteToolResponse_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // The tool execution result in JSON object format. + // Use "output" key to specify tool response and "error" key to specify + // error details (if any). If "output" and "error" keys are not specified, + // then whole "response" is treated as tool execution result. + Response *structpb.Struct `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` + // The variable values at the end of the tool execution. + Variables *structpb.Struct `protobuf:"bytes,4,opt,name=variables,proto3" json:"variables,omitempty"` +} + +func (x *ExecuteToolResponse) Reset() { + *x = ExecuteToolResponse{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteToolResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteToolResponse) ProtoMessage() {} + +func (x *ExecuteToolResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteToolResponse.ProtoReflect.Descriptor instead. +func (*ExecuteToolResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{1} +} + +func (m *ExecuteToolResponse) GetToolIdentifier() isExecuteToolResponse_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *ExecuteToolResponse) GetTool() string { + if x, ok := x.GetToolIdentifier().(*ExecuteToolResponse_Tool); ok { + return x.Tool + } + return "" +} + +func (x *ExecuteToolResponse) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*ExecuteToolResponse_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *ExecuteToolResponse) GetResponse() *structpb.Struct { + if x != nil { + return x.Response + } + return nil +} + +func (x *ExecuteToolResponse) GetVariables() *structpb.Struct { + if x != nil { + return x.Variables + } + return nil +} + +type isExecuteToolResponse_ToolIdentifier interface { + isExecuteToolResponse_ToolIdentifier() +} + +type ExecuteToolResponse_Tool struct { + // The name of the tool that got executed. + // Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` + Tool string `protobuf:"bytes,1,opt,name=tool,proto3,oneof"` +} + +type ExecuteToolResponse_ToolsetTool struct { + // The toolset tool that got executed. + ToolsetTool *ToolsetTool `protobuf:"bytes,3,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*ExecuteToolResponse_Tool) isExecuteToolResponse_ToolIdentifier() {} + +func (*ExecuteToolResponse_ToolsetTool) isExecuteToolResponse_ToolIdentifier() {} + +// Request message for +// [ToolService.RetrieveToolSchema][google.cloud.ces.v1beta.ToolService.RetrieveToolSchema]. +type RetrieveToolSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool to retrieve the schema for. It could be either a + // persisted tool or a tool from a toolset. + // + // Types that are assignable to ToolIdentifier: + // + // *RetrieveToolSchemaRequest_Tool + // *RetrieveToolSchemaRequest_ToolsetTool + ToolIdentifier isRetrieveToolSchemaRequest_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // Required. The resource name of the app which the tool/toolset belongs to. + // Format: `projects/{project}/locations/{location}/apps/{app}` + Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *RetrieveToolSchemaRequest) Reset() { + *x = RetrieveToolSchemaRequest{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetrieveToolSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveToolSchemaRequest) ProtoMessage() {} + +func (x *RetrieveToolSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveToolSchemaRequest.ProtoReflect.Descriptor instead. +func (*RetrieveToolSchemaRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{2} +} + +func (m *RetrieveToolSchemaRequest) GetToolIdentifier() isRetrieveToolSchemaRequest_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *RetrieveToolSchemaRequest) GetTool() string { + if x, ok := x.GetToolIdentifier().(*RetrieveToolSchemaRequest_Tool); ok { + return x.Tool + } + return "" +} + +func (x *RetrieveToolSchemaRequest) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*RetrieveToolSchemaRequest_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *RetrieveToolSchemaRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type isRetrieveToolSchemaRequest_ToolIdentifier interface { + isRetrieveToolSchemaRequest_ToolIdentifier() +} + +type RetrieveToolSchemaRequest_Tool struct { + // Optional. The name of the tool to retrieve the schema for. + // Format: + // projects/{project}/locations/{location}/apps/{app}/tools/{tool} + Tool string `protobuf:"bytes,1,opt,name=tool,proto3,oneof"` +} + +type RetrieveToolSchemaRequest_ToolsetTool struct { + // Optional. The toolset tool to retrieve the schema for. Only one tool + // should match the predicate from the toolset. Otherwise, an error will be + // returned. + ToolsetTool *ToolsetTool `protobuf:"bytes,2,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*RetrieveToolSchemaRequest_Tool) isRetrieveToolSchemaRequest_ToolIdentifier() {} + +func (*RetrieveToolSchemaRequest_ToolsetTool) isRetrieveToolSchemaRequest_ToolIdentifier() {} + +// Response message for +// [ToolService.RetrieveToolSchema][google.cloud.ces.v1beta.ToolService.RetrieveToolSchema]. +type RetrieveToolSchemaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the tool that the schema is for. + // + // Types that are assignable to ToolIdentifier: + // + // *RetrieveToolSchemaResponse_Tool + // *RetrieveToolSchemaResponse_ToolsetTool + ToolIdentifier isRetrieveToolSchemaResponse_ToolIdentifier `protobuf_oneof:"tool_identifier"` + // The schema of the tool input parameters. + InputSchema *Schema `protobuf:"bytes,3,opt,name=input_schema,json=inputSchema,proto3" json:"input_schema,omitempty"` + // The schema of the tool output parameters. + OutputSchema *Schema `protobuf:"bytes,4,opt,name=output_schema,json=outputSchema,proto3" json:"output_schema,omitempty"` +} + +func (x *RetrieveToolSchemaResponse) Reset() { + *x = RetrieveToolSchemaResponse{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetrieveToolSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveToolSchemaResponse) ProtoMessage() {} + +func (x *RetrieveToolSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveToolSchemaResponse.ProtoReflect.Descriptor instead. +func (*RetrieveToolSchemaResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{3} +} + +func (m *RetrieveToolSchemaResponse) GetToolIdentifier() isRetrieveToolSchemaResponse_ToolIdentifier { + if m != nil { + return m.ToolIdentifier + } + return nil +} + +func (x *RetrieveToolSchemaResponse) GetTool() string { + if x, ok := x.GetToolIdentifier().(*RetrieveToolSchemaResponse_Tool); ok { + return x.Tool + } + return "" +} + +func (x *RetrieveToolSchemaResponse) GetToolsetTool() *ToolsetTool { + if x, ok := x.GetToolIdentifier().(*RetrieveToolSchemaResponse_ToolsetTool); ok { + return x.ToolsetTool + } + return nil +} + +func (x *RetrieveToolSchemaResponse) GetInputSchema() *Schema { + if x != nil { + return x.InputSchema + } + return nil +} + +func (x *RetrieveToolSchemaResponse) GetOutputSchema() *Schema { + if x != nil { + return x.OutputSchema + } + return nil +} + +type isRetrieveToolSchemaResponse_ToolIdentifier interface { + isRetrieveToolSchemaResponse_ToolIdentifier() +} + +type RetrieveToolSchemaResponse_Tool struct { + // The name of the tool that the schema is for. + // Format: `projects/{project}/locations/{location}/apps/{app}/tools/{tool}` + Tool string `protobuf:"bytes,1,opt,name=tool,proto3,oneof"` +} + +type RetrieveToolSchemaResponse_ToolsetTool struct { + // The toolset tool that the schema is for. + ToolsetTool *ToolsetTool `protobuf:"bytes,2,opt,name=toolset_tool,json=toolsetTool,proto3,oneof"` +} + +func (*RetrieveToolSchemaResponse_Tool) isRetrieveToolSchemaResponse_ToolIdentifier() {} + +func (*RetrieveToolSchemaResponse_ToolsetTool) isRetrieveToolSchemaResponse_ToolIdentifier() {} + +// Request message for +// [ToolService.RetrieveTools][google.cloud.ces.v1beta.ToolService.RetrieveTools]. +type RetrieveToolsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the toolset to retrieve the tools for. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` + Toolset string `protobuf:"bytes,1,opt,name=toolset,proto3" json:"toolset,omitempty"` + // Optional. The identifiers of the tools to retrieve from the toolset. + // If empty, all tools in the toolset will be returned. + ToolIds []string `protobuf:"bytes,3,rep,name=tool_ids,json=toolIds,proto3" json:"tool_ids,omitempty"` +} + +func (x *RetrieveToolsRequest) Reset() { + *x = RetrieveToolsRequest{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetrieveToolsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveToolsRequest) ProtoMessage() {} + +func (x *RetrieveToolsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveToolsRequest.ProtoReflect.Descriptor instead. +func (*RetrieveToolsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{4} +} + +func (x *RetrieveToolsRequest) GetToolset() string { + if x != nil { + return x.Toolset + } + return "" +} + +func (x *RetrieveToolsRequest) GetToolIds() []string { + if x != nil { + return x.ToolIds + } + return nil +} + +// Response message for +// [ToolService.RetrieveTools][google.cloud.ces.v1beta.ToolService.RetrieveTools]. +type RetrieveToolsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of tools that are included in the specified toolset. + Tools []*Tool `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"` +} + +func (x *RetrieveToolsResponse) Reset() { + *x = RetrieveToolsResponse{} + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetrieveToolsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetrieveToolsResponse) ProtoMessage() {} + +func (x *RetrieveToolsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetrieveToolsResponse.ProtoReflect.Descriptor instead. +func (*RetrieveToolsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP(), []int{5} +} + +func (x *RetrieveToolsResponse) GetTools() []*Tool { + if x != nil { + return x.Tools + } + return nil +} + +var File_google_cloud_ces_v1beta_tool_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_tool_service_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, + 0x12, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, + 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, + 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x22, 0x93, 0x02, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, + 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xfa, 0x41, 0x19, 0x0a, 0x17, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, + 0x49, 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x35, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xed, 0x01, 0x0a, 0x19, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, + 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x4e, + 0x0a, 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x36, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x41, 0x70, 0x70, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0xb8, 0x02, 0x0a, 0x1a, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xfa, 0x41, 0x19, 0x0a, 0x17, 0x63, 0x65, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x6f, 0x6f, 0x6c, 0x12, 0x49, 0x0a, 0x0c, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x42, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0b, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x44, 0x0a, 0x0d, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x22, 0x74, 0x0a, 0x14, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x07, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x4c, 0x0a, 0x15, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6f, + 0x6c, 0x52, 0x05, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x32, 0xbf, 0x05, 0x0a, 0x0b, 0x54, 0x6f, 0x6f, + 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01, 0x2a, 0x22, 0x3a, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0xcb, 0x01, 0x0a, 0x12, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, + 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, + 0x6f, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0xc3, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4d, 0x3a, 0x01, 0x2a, 0x22, 0x48, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x70, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x1a, 0x6a, + 0xca, 0x41, 0x12, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x65, 0x73, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x60, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x10, 0x54, 0x6f, 0x6f, 0x6c, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_tool_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_tool_service_proto_rawDescData = file_google_cloud_ces_v1beta_tool_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_tool_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_tool_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_tool_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_tool_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_tool_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_tool_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_ces_v1beta_tool_service_proto_goTypes = []any{ + (*ExecuteToolRequest)(nil), // 0: google.cloud.ces.v1beta.ExecuteToolRequest + (*ExecuteToolResponse)(nil), // 1: google.cloud.ces.v1beta.ExecuteToolResponse + (*RetrieveToolSchemaRequest)(nil), // 2: google.cloud.ces.v1beta.RetrieveToolSchemaRequest + (*RetrieveToolSchemaResponse)(nil), // 3: google.cloud.ces.v1beta.RetrieveToolSchemaResponse + (*RetrieveToolsRequest)(nil), // 4: google.cloud.ces.v1beta.RetrieveToolsRequest + (*RetrieveToolsResponse)(nil), // 5: google.cloud.ces.v1beta.RetrieveToolsResponse + (*ToolsetTool)(nil), // 6: google.cloud.ces.v1beta.ToolsetTool + (*structpb.Struct)(nil), // 7: google.protobuf.Struct + (*Schema)(nil), // 8: google.cloud.ces.v1beta.Schema + (*Tool)(nil), // 9: google.cloud.ces.v1beta.Tool +} +var file_google_cloud_ces_v1beta_tool_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.ces.v1beta.ExecuteToolRequest.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 7, // 1: google.cloud.ces.v1beta.ExecuteToolRequest.args:type_name -> google.protobuf.Struct + 7, // 2: google.cloud.ces.v1beta.ExecuteToolRequest.variables:type_name -> google.protobuf.Struct + 6, // 3: google.cloud.ces.v1beta.ExecuteToolResponse.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 7, // 4: google.cloud.ces.v1beta.ExecuteToolResponse.response:type_name -> google.protobuf.Struct + 7, // 5: google.cloud.ces.v1beta.ExecuteToolResponse.variables:type_name -> google.protobuf.Struct + 6, // 6: google.cloud.ces.v1beta.RetrieveToolSchemaRequest.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 6, // 7: google.cloud.ces.v1beta.RetrieveToolSchemaResponse.toolset_tool:type_name -> google.cloud.ces.v1beta.ToolsetTool + 8, // 8: google.cloud.ces.v1beta.RetrieveToolSchemaResponse.input_schema:type_name -> google.cloud.ces.v1beta.Schema + 8, // 9: google.cloud.ces.v1beta.RetrieveToolSchemaResponse.output_schema:type_name -> google.cloud.ces.v1beta.Schema + 9, // 10: google.cloud.ces.v1beta.RetrieveToolsResponse.tools:type_name -> google.cloud.ces.v1beta.Tool + 0, // 11: google.cloud.ces.v1beta.ToolService.ExecuteTool:input_type -> google.cloud.ces.v1beta.ExecuteToolRequest + 2, // 12: google.cloud.ces.v1beta.ToolService.RetrieveToolSchema:input_type -> google.cloud.ces.v1beta.RetrieveToolSchemaRequest + 4, // 13: google.cloud.ces.v1beta.ToolService.RetrieveTools:input_type -> google.cloud.ces.v1beta.RetrieveToolsRequest + 1, // 14: google.cloud.ces.v1beta.ToolService.ExecuteTool:output_type -> google.cloud.ces.v1beta.ExecuteToolResponse + 3, // 15: google.cloud.ces.v1beta.ToolService.RetrieveToolSchema:output_type -> google.cloud.ces.v1beta.RetrieveToolSchemaResponse + 5, // 16: google.cloud.ces.v1beta.ToolService.RetrieveTools:output_type -> google.cloud.ces.v1beta.RetrieveToolsResponse + 14, // [14:17] is the sub-list for method output_type + 11, // [11:14] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_tool_service_proto_init() } +func file_google_cloud_ces_v1beta_tool_service_proto_init() { + if File_google_cloud_ces_v1beta_tool_service_proto != nil { + return + } + file_google_cloud_ces_v1beta_schema_proto_init() + file_google_cloud_ces_v1beta_tool_proto_init() + file_google_cloud_ces_v1beta_toolset_tool_proto_init() + file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[0].OneofWrappers = []any{ + (*ExecuteToolRequest_Tool)(nil), + (*ExecuteToolRequest_ToolsetTool)(nil), + } + file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[1].OneofWrappers = []any{ + (*ExecuteToolResponse_Tool)(nil), + (*ExecuteToolResponse_ToolsetTool)(nil), + } + file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[2].OneofWrappers = []any{ + (*RetrieveToolSchemaRequest_Tool)(nil), + (*RetrieveToolSchemaRequest_ToolsetTool)(nil), + } + file_google_cloud_ces_v1beta_tool_service_proto_msgTypes[3].OneofWrappers = []any{ + (*RetrieveToolSchemaResponse_Tool)(nil), + (*RetrieveToolSchemaResponse_ToolsetTool)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_tool_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_ces_v1beta_tool_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_tool_service_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_tool_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_tool_service_proto = out.File + file_google_cloud_ces_v1beta_tool_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_tool_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_tool_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/tool_service_grpc.pb.go b/ces/apiv1beta/cespb/tool_service_grpc.pb.go new file mode 100644 index 000000000000..371e90c446a2 --- /dev/null +++ b/ces/apiv1beta/cespb/tool_service_grpc.pb.go @@ -0,0 +1,204 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/ces/v1beta/tool_service.proto + +package cespb + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ToolService_ExecuteTool_FullMethodName = "/google.cloud.ces.v1beta.ToolService/ExecuteTool" + ToolService_RetrieveToolSchema_FullMethodName = "/google.cloud.ces.v1beta.ToolService/RetrieveToolSchema" + ToolService_RetrieveTools_FullMethodName = "/google.cloud.ces.v1beta.ToolService/RetrieveTools" +) + +// ToolServiceClient is the client API for ToolService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ToolServiceClient interface { + // Executes the given tool with the given arguments. + ExecuteTool(ctx context.Context, in *ExecuteToolRequest, opts ...grpc.CallOption) (*ExecuteToolResponse, error) + // Retrieve the schema of the given tool. The schema is computed on the fly + // for the given instance of the tool. + RetrieveToolSchema(ctx context.Context, in *RetrieveToolSchemaRequest, opts ...grpc.CallOption) (*RetrieveToolSchemaResponse, error) + // Retrieve the list of tools included in the specified toolset. + RetrieveTools(ctx context.Context, in *RetrieveToolsRequest, opts ...grpc.CallOption) (*RetrieveToolsResponse, error) +} + +type toolServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewToolServiceClient(cc grpc.ClientConnInterface) ToolServiceClient { + return &toolServiceClient{cc} +} + +func (c *toolServiceClient) ExecuteTool(ctx context.Context, in *ExecuteToolRequest, opts ...grpc.CallOption) (*ExecuteToolResponse, error) { + out := new(ExecuteToolResponse) + err := c.cc.Invoke(ctx, ToolService_ExecuteTool_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *toolServiceClient) RetrieveToolSchema(ctx context.Context, in *RetrieveToolSchemaRequest, opts ...grpc.CallOption) (*RetrieveToolSchemaResponse, error) { + out := new(RetrieveToolSchemaResponse) + err := c.cc.Invoke(ctx, ToolService_RetrieveToolSchema_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *toolServiceClient) RetrieveTools(ctx context.Context, in *RetrieveToolsRequest, opts ...grpc.CallOption) (*RetrieveToolsResponse, error) { + out := new(RetrieveToolsResponse) + err := c.cc.Invoke(ctx, ToolService_RetrieveTools_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ToolServiceServer is the server API for ToolService service. +// All implementations should embed UnimplementedToolServiceServer +// for forward compatibility +type ToolServiceServer interface { + // Executes the given tool with the given arguments. + ExecuteTool(context.Context, *ExecuteToolRequest) (*ExecuteToolResponse, error) + // Retrieve the schema of the given tool. The schema is computed on the fly + // for the given instance of the tool. + RetrieveToolSchema(context.Context, *RetrieveToolSchemaRequest) (*RetrieveToolSchemaResponse, error) + // Retrieve the list of tools included in the specified toolset. + RetrieveTools(context.Context, *RetrieveToolsRequest) (*RetrieveToolsResponse, error) +} + +// UnimplementedToolServiceServer should be embedded to have forward compatible implementations. +type UnimplementedToolServiceServer struct { +} + +func (UnimplementedToolServiceServer) ExecuteTool(context.Context, *ExecuteToolRequest) (*ExecuteToolResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExecuteTool not implemented") +} +func (UnimplementedToolServiceServer) RetrieveToolSchema(context.Context, *RetrieveToolSchemaRequest) (*RetrieveToolSchemaResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RetrieveToolSchema not implemented") +} +func (UnimplementedToolServiceServer) RetrieveTools(context.Context, *RetrieveToolsRequest) (*RetrieveToolsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RetrieveTools not implemented") +} + +// UnsafeToolServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ToolServiceServer will +// result in compilation errors. +type UnsafeToolServiceServer interface { + mustEmbedUnimplementedToolServiceServer() +} + +func RegisterToolServiceServer(s grpc.ServiceRegistrar, srv ToolServiceServer) { + s.RegisterService(&ToolService_ServiceDesc, srv) +} + +func _ToolService_ExecuteTool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExecuteToolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ToolServiceServer).ExecuteTool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ToolService_ExecuteTool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ToolServiceServer).ExecuteTool(ctx, req.(*ExecuteToolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ToolService_RetrieveToolSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RetrieveToolSchemaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ToolServiceServer).RetrieveToolSchema(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ToolService_RetrieveToolSchema_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ToolServiceServer).RetrieveToolSchema(ctx, req.(*RetrieveToolSchemaRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ToolService_RetrieveTools_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RetrieveToolsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ToolServiceServer).RetrieveTools(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ToolService_RetrieveTools_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ToolServiceServer).RetrieveTools(ctx, req.(*RetrieveToolsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ToolService_ServiceDesc is the grpc.ServiceDesc for ToolService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ToolService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ces.v1beta.ToolService", + HandlerType: (*ToolServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExecuteTool", + Handler: _ToolService_ExecuteTool_Handler, + }, + { + MethodName: "RetrieveToolSchema", + Handler: _ToolService_RetrieveToolSchema_Handler, + }, + { + MethodName: "RetrieveTools", + Handler: _ToolService_RetrieveTools_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/ces/v1beta/tool_service.proto", +} diff --git a/ces/apiv1beta/cespb/toolset.pb.go b/ces/apiv1beta/cespb/toolset.pb.go new file mode 100644 index 000000000000..5bb5c20328ab --- /dev/null +++ b/ces/apiv1beta/cespb/toolset.pb.go @@ -0,0 +1,378 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/toolset.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A toolset represents a group of dynamically managed tools that can be used +// by the agent. +type Toolset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of the toolset. + // + // Types that are assignable to ToolsetType: + // + // *Toolset_McpToolset + // *Toolset_OpenApiToolset + // *Toolset_ConnectorToolset + ToolsetType isToolset_ToolsetType `protobuf_oneof:"toolset_type"` + // Identifier. The unique identifier of the toolset. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The display name of the toolset. Must be unique within the same + // app. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. The description of the toolset. + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamp when the toolset was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. Timestamp when the toolset was last updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // ETag used to ensure the object hasn't changed during a read-modify-write + // operation. If the etag is empty, the update will overwrite any concurrent + // changes. + Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"` + // Optional. The execution type of the tools in the toolset. + ExecutionType ExecutionType `protobuf:"varint,9,opt,name=execution_type,json=executionType,proto3,enum=google.cloud.ces.v1beta.ExecutionType" json:"execution_type,omitempty"` + // Optional. Configuration for tools behavior in fake mode. + ToolFakeConfig *ToolFakeConfig `protobuf:"bytes,11,opt,name=tool_fake_config,json=toolFakeConfig,proto3" json:"tool_fake_config,omitempty"` +} + +func (x *Toolset) Reset() { + *x = Toolset{} + mi := &file_google_cloud_ces_v1beta_toolset_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Toolset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Toolset) ProtoMessage() {} + +func (x *Toolset) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_toolset_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Toolset.ProtoReflect.Descriptor instead. +func (*Toolset) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_toolset_proto_rawDescGZIP(), []int{0} +} + +func (m *Toolset) GetToolsetType() isToolset_ToolsetType { + if m != nil { + return m.ToolsetType + } + return nil +} + +func (x *Toolset) GetMcpToolset() *McpToolset { + if x, ok := x.GetToolsetType().(*Toolset_McpToolset); ok { + return x.McpToolset + } + return nil +} + +func (x *Toolset) GetOpenApiToolset() *OpenApiToolset { + if x, ok := x.GetToolsetType().(*Toolset_OpenApiToolset); ok { + return x.OpenApiToolset + } + return nil +} + +func (x *Toolset) GetConnectorToolset() *ConnectorToolset { + if x, ok := x.GetToolsetType().(*Toolset_ConnectorToolset); ok { + return x.ConnectorToolset + } + return nil +} + +func (x *Toolset) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Toolset) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Toolset) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Toolset) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Toolset) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Toolset) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +func (x *Toolset) GetExecutionType() ExecutionType { + if x != nil { + return x.ExecutionType + } + return ExecutionType_EXECUTION_TYPE_UNSPECIFIED +} + +func (x *Toolset) GetToolFakeConfig() *ToolFakeConfig { + if x != nil { + return x.ToolFakeConfig + } + return nil +} + +type isToolset_ToolsetType interface { + isToolset_ToolsetType() +} + +type Toolset_McpToolset struct { + // Optional. A toolset that contains a list of tools that are offered by the + // MCP server. + McpToolset *McpToolset `protobuf:"bytes,6,opt,name=mcp_toolset,json=mcpToolset,proto3,oneof"` +} + +type Toolset_OpenApiToolset struct { + // Optional. A toolset that contains a list of tools that are defined by an + // OpenAPI schema. + OpenApiToolset *OpenApiToolset `protobuf:"bytes,7,opt,name=open_api_toolset,json=openApiToolset,proto3,oneof"` +} + +type Toolset_ConnectorToolset struct { + // Optional. A toolset that generates tools from an Integration Connectors + // Connection. + ConnectorToolset *ConnectorToolset `protobuf:"bytes,8,opt,name=connector_toolset,json=connectorToolset,proto3,oneof"` +} + +func (*Toolset_McpToolset) isToolset_ToolsetType() {} + +func (*Toolset_OpenApiToolset) isToolset_ToolsetType() {} + +func (*Toolset_ConnectorToolset) isToolset_ToolsetType() {} + +var File_google_cloud_ces_v1beta_toolset_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_toolset_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x61, 0x6b, + 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x6d, 0x63, 0x70, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6f, 0x70, 0x65, + 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x06, 0x0a, 0x07, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x63, 0x70, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x4d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0a, 0x6d, 0x63, 0x70, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x58, 0x0a, + 0x10, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x69, + 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x5d, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x54, + 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x3a, 0x79, 0xea, 0x41, 0x76, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x74, 0x12, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x70, 0x70, + 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x7d, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x73, + 0x2f, 0x7b, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x7d, 0x2a, 0x08, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x65, 0x74, 0x73, 0x32, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x42, 0x0e, 0x0a, + 0x0c, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x5c, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x54, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_toolset_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_toolset_proto_rawDescData = file_google_cloud_ces_v1beta_toolset_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_toolset_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_toolset_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_toolset_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_toolset_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_toolset_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_toolset_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_toolset_proto_goTypes = []any{ + (*Toolset)(nil), // 0: google.cloud.ces.v1beta.Toolset + (*McpToolset)(nil), // 1: google.cloud.ces.v1beta.McpToolset + (*OpenApiToolset)(nil), // 2: google.cloud.ces.v1beta.OpenApiToolset + (*ConnectorToolset)(nil), // 3: google.cloud.ces.v1beta.ConnectorToolset + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (ExecutionType)(0), // 5: google.cloud.ces.v1beta.ExecutionType + (*ToolFakeConfig)(nil), // 6: google.cloud.ces.v1beta.ToolFakeConfig +} +var file_google_cloud_ces_v1beta_toolset_proto_depIdxs = []int32{ + 1, // 0: google.cloud.ces.v1beta.Toolset.mcp_toolset:type_name -> google.cloud.ces.v1beta.McpToolset + 2, // 1: google.cloud.ces.v1beta.Toolset.open_api_toolset:type_name -> google.cloud.ces.v1beta.OpenApiToolset + 3, // 2: google.cloud.ces.v1beta.Toolset.connector_toolset:type_name -> google.cloud.ces.v1beta.ConnectorToolset + 4, // 3: google.cloud.ces.v1beta.Toolset.create_time:type_name -> google.protobuf.Timestamp + 4, // 4: google.cloud.ces.v1beta.Toolset.update_time:type_name -> google.protobuf.Timestamp + 5, // 5: google.cloud.ces.v1beta.Toolset.execution_type:type_name -> google.cloud.ces.v1beta.ExecutionType + 6, // 6: google.cloud.ces.v1beta.Toolset.tool_fake_config:type_name -> google.cloud.ces.v1beta.ToolFakeConfig + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_toolset_proto_init() } +func file_google_cloud_ces_v1beta_toolset_proto_init() { + if File_google_cloud_ces_v1beta_toolset_proto != nil { + return + } + file_google_cloud_ces_v1beta_common_proto_init() + file_google_cloud_ces_v1beta_connector_toolset_proto_init() + file_google_cloud_ces_v1beta_fakes_proto_init() + file_google_cloud_ces_v1beta_mcp_toolset_proto_init() + file_google_cloud_ces_v1beta_open_api_toolset_proto_init() + file_google_cloud_ces_v1beta_toolset_proto_msgTypes[0].OneofWrappers = []any{ + (*Toolset_McpToolset)(nil), + (*Toolset_OpenApiToolset)(nil), + (*Toolset_ConnectorToolset)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_toolset_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_toolset_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_toolset_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_toolset_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_toolset_proto = out.File + file_google_cloud_ces_v1beta_toolset_proto_rawDesc = nil + file_google_cloud_ces_v1beta_toolset_proto_goTypes = nil + file_google_cloud_ces_v1beta_toolset_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/toolset_tool.pb.go b/ces/apiv1beta/cespb/toolset_tool.pb.go new file mode 100644 index 000000000000..e11c8ff1b3a1 --- /dev/null +++ b/ces/apiv1beta/cespb/toolset_tool.pb.go @@ -0,0 +1,171 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/toolset_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A tool that is created from a toolset. +type ToolsetTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the Toolset from which this tool is derived. + // Format: + // `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` + Toolset string `protobuf:"bytes,1,opt,name=toolset,proto3" json:"toolset,omitempty"` + // Optional. The tool ID to filter the tools to retrieve the schema for. + ToolId string `protobuf:"bytes,3,opt,name=tool_id,json=toolId,proto3" json:"tool_id,omitempty"` +} + +func (x *ToolsetTool) Reset() { + *x = ToolsetTool{} + mi := &file_google_cloud_ces_v1beta_toolset_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToolsetTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToolsetTool) ProtoMessage() {} + +func (x *ToolsetTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_toolset_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToolsetTool.ProtoReflect.Descriptor instead. +func (*ToolsetTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescGZIP(), []int{0} +} + +func (x *ToolsetTool) GetToolset() string { + if x != nil { + return x.Toolset + } + return "" +} + +func (x *ToolsetTool) GetToolId() string { + if x != nil { + return x.ToolId + } + return "" +} + +var File_google_cloud_ces_v1beta_toolset_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_toolset_tool_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, + 0x74, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x69, 0x0a, 0x0b, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, + 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, 0x63, 0x65, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, + 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x52, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x65, 0x74, 0x12, 0x1c, + 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x42, 0x60, 0x0a, 0x1b, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x10, 0x54, 0x6f, 0x6f, + 0x6c, 0x73, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescData = file_google_cloud_ces_v1beta_toolset_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_toolset_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_toolset_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_toolset_tool_proto_goTypes = []any{ + (*ToolsetTool)(nil), // 0: google.cloud.ces.v1beta.ToolsetTool +} +var file_google_cloud_ces_v1beta_toolset_tool_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_toolset_tool_proto_init() } +func file_google_cloud_ces_v1beta_toolset_tool_proto_init() { + if File_google_cloud_ces_v1beta_toolset_tool_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_toolset_tool_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_toolset_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_toolset_tool_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_toolset_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_toolset_tool_proto = out.File + file_google_cloud_ces_v1beta_toolset_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_toolset_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_toolset_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/widget_service.pb.go b/ces/apiv1beta/cespb/widget_service.pb.go new file mode 100644 index 000000000000..988d1b18d14f --- /dev/null +++ b/ces/apiv1beta/cespb/widget_service.pb.go @@ -0,0 +1,286 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/widget_service.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Request message for +// [WidgetService.GenerateChatToken][google.cloud.ces.v1beta.WidgetService.GenerateChatToken]. +type GenerateChatTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The session name to generate the chat token for. + // Format: + // projects/{project}/locations/{location}/apps/{app}/sessions/{session} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The deployment of the app to use for the session. + // Format: + // projects/{project}/locations/{location}/apps/{app}/deployments/{deployment} + Deployment string `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Optional. The reCAPTCHA token generated by the client-side chat widget. + RecaptchaToken string `protobuf:"bytes,3,opt,name=recaptcha_token,json=recaptchaToken,proto3" json:"recaptcha_token,omitempty"` +} + +func (x *GenerateChatTokenRequest) Reset() { + *x = GenerateChatTokenRequest{} + mi := &file_google_cloud_ces_v1beta_widget_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateChatTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateChatTokenRequest) ProtoMessage() {} + +func (x *GenerateChatTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_widget_service_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateChatTokenRequest.ProtoReflect.Descriptor instead. +func (*GenerateChatTokenRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_widget_service_proto_rawDescGZIP(), []int{0} +} + +func (x *GenerateChatTokenRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GenerateChatTokenRequest) GetDeployment() string { + if x != nil { + return x.Deployment + } + return "" +} + +func (x *GenerateChatTokenRequest) GetRecaptchaToken() string { + if x != nil { + return x.RecaptchaToken + } + return "" +} + +// Response message for +// [WidgetService.GenerateChatToken][google.cloud.ces.v1beta.WidgetService.GenerateChatToken]. +type GenerateChatTokenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The session scoped token for chat widget to authenticate with Session APIs. + ChatToken string `protobuf:"bytes,1,opt,name=chat_token,json=chatToken,proto3" json:"chat_token,omitempty"` + // The time at which the chat token expires. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` +} + +func (x *GenerateChatTokenResponse) Reset() { + *x = GenerateChatTokenResponse{} + mi := &file_google_cloud_ces_v1beta_widget_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateChatTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateChatTokenResponse) ProtoMessage() {} + +func (x *GenerateChatTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_widget_service_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateChatTokenResponse.ProtoReflect.Descriptor instead. +func (*GenerateChatTokenResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_widget_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GenerateChatTokenResponse) GetChatToken() string { + if x != nil { + return x.ChatToken + } + return "" +} + +func (x *GenerateChatTokenResponse) GetExpireTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpireTime + } + return nil +} + +var File_google_cloud_ces_v1beta_widget_service_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_widget_service_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x18, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1c, 0x0a, 0x1a, + 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x45, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x63, 0x65, + 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x61, 0x70, + 0x74, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x32, 0xce, + 0x02, 0x0a, 0x0d, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xd0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, + 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, + 0x70, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x1a, 0x6a, 0xca, 0x41, 0x12, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x52, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x65, 0x73, + 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0x62, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x12, + 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, + 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_widget_service_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_widget_service_proto_rawDescData = file_google_cloud_ces_v1beta_widget_service_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_widget_service_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_widget_service_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_widget_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_widget_service_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_widget_service_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_widget_service_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_ces_v1beta_widget_service_proto_goTypes = []any{ + (*GenerateChatTokenRequest)(nil), // 0: google.cloud.ces.v1beta.GenerateChatTokenRequest + (*GenerateChatTokenResponse)(nil), // 1: google.cloud.ces.v1beta.GenerateChatTokenResponse + (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp +} +var file_google_cloud_ces_v1beta_widget_service_proto_depIdxs = []int32{ + 2, // 0: google.cloud.ces.v1beta.GenerateChatTokenResponse.expire_time:type_name -> google.protobuf.Timestamp + 0, // 1: google.cloud.ces.v1beta.WidgetService.GenerateChatToken:input_type -> google.cloud.ces.v1beta.GenerateChatTokenRequest + 1, // 2: google.cloud.ces.v1beta.WidgetService.GenerateChatToken:output_type -> google.cloud.ces.v1beta.GenerateChatTokenResponse + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_widget_service_proto_init() } +func file_google_cloud_ces_v1beta_widget_service_proto_init() { + if File_google_cloud_ces_v1beta_widget_service_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_widget_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_ces_v1beta_widget_service_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_widget_service_proto_depIdxs, + MessageInfos: file_google_cloud_ces_v1beta_widget_service_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_widget_service_proto = out.File + file_google_cloud_ces_v1beta_widget_service_proto_rawDesc = nil + file_google_cloud_ces_v1beta_widget_service_proto_goTypes = nil + file_google_cloud_ces_v1beta_widget_service_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/cespb/widget_service_grpc.pb.go b/ces/apiv1beta/cespb/widget_service_grpc.pb.go new file mode 100644 index 000000000000..dc7fb3b45487 --- /dev/null +++ b/ces/apiv1beta/cespb/widget_service_grpc.pb.go @@ -0,0 +1,126 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.7 +// source: google/cloud/ces/v1beta/widget_service.proto + +package cespb + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + WidgetService_GenerateChatToken_FullMethodName = "/google.cloud.ces.v1beta.WidgetService/GenerateChatToken" +) + +// WidgetServiceClient is the client API for WidgetService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type WidgetServiceClient interface { + // Generates a session scoped token for chat widget to authenticate with + // Session APIs. + GenerateChatToken(ctx context.Context, in *GenerateChatTokenRequest, opts ...grpc.CallOption) (*GenerateChatTokenResponse, error) +} + +type widgetServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewWidgetServiceClient(cc grpc.ClientConnInterface) WidgetServiceClient { + return &widgetServiceClient{cc} +} + +func (c *widgetServiceClient) GenerateChatToken(ctx context.Context, in *GenerateChatTokenRequest, opts ...grpc.CallOption) (*GenerateChatTokenResponse, error) { + out := new(GenerateChatTokenResponse) + err := c.cc.Invoke(ctx, WidgetService_GenerateChatToken_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WidgetServiceServer is the server API for WidgetService service. +// All implementations should embed UnimplementedWidgetServiceServer +// for forward compatibility +type WidgetServiceServer interface { + // Generates a session scoped token for chat widget to authenticate with + // Session APIs. + GenerateChatToken(context.Context, *GenerateChatTokenRequest) (*GenerateChatTokenResponse, error) +} + +// UnimplementedWidgetServiceServer should be embedded to have forward compatible implementations. +type UnimplementedWidgetServiceServer struct { +} + +func (UnimplementedWidgetServiceServer) GenerateChatToken(context.Context, *GenerateChatTokenRequest) (*GenerateChatTokenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GenerateChatToken not implemented") +} + +// UnsafeWidgetServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to WidgetServiceServer will +// result in compilation errors. +type UnsafeWidgetServiceServer interface { + mustEmbedUnimplementedWidgetServiceServer() +} + +func RegisterWidgetServiceServer(s grpc.ServiceRegistrar, srv WidgetServiceServer) { + s.RegisterService(&WidgetService_ServiceDesc, srv) +} + +func _WidgetService_GenerateChatToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateChatTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WidgetServiceServer).GenerateChatToken(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WidgetService_GenerateChatToken_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WidgetServiceServer).GenerateChatToken(ctx, req.(*GenerateChatTokenRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// WidgetService_ServiceDesc is the grpc.ServiceDesc for WidgetService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var WidgetService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.ces.v1beta.WidgetService", + HandlerType: (*WidgetServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GenerateChatToken", + Handler: _WidgetService_GenerateChatToken_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/ces/v1beta/widget_service.proto", +} diff --git a/ces/apiv1beta/cespb/widget_tool.pb.go b/ces/apiv1beta/cespb/widget_tool.pb.go new file mode 100644 index 000000000000..c55f1d93e20e --- /dev/null +++ b/ces/apiv1beta/cespb/widget_tool.pb.go @@ -0,0 +1,345 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc v4.25.7 +// source: google/cloud/ces/v1beta/widget_tool.proto + +package cespb + +import ( + reflect "reflect" + sync "sync" + + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// All available widget types. +// New values may be added to this enum in the future. +type WidgetTool_WidgetType int32 + +const ( + // Unspecified widget type. + WidgetTool_WIDGET_TYPE_UNSPECIFIED WidgetTool_WidgetType = 0 + // Custom widget type. + WidgetTool_CUSTOM WidgetTool_WidgetType = 1 + // Product carousel widget. + WidgetTool_PRODUCT_CAROUSEL WidgetTool_WidgetType = 2 + // Product details widget. + WidgetTool_PRODUCT_DETAILS WidgetTool_WidgetType = 3 + // Quick actions widget. + WidgetTool_QUICK_ACTIONS WidgetTool_WidgetType = 4 + // Product comparison widget. + WidgetTool_PRODUCT_COMPARISON WidgetTool_WidgetType = 5 + // Advanced product details widget. + WidgetTool_ADVANCED_PRODUCT_DETAILS WidgetTool_WidgetType = 6 + // Short form widget. + WidgetTool_SHORT_FORM WidgetTool_WidgetType = 7 + // Overall satisfaction widget. + WidgetTool_OVERALL_SATISFACTION WidgetTool_WidgetType = 8 + // Order summary widget. + WidgetTool_ORDER_SUMMARY WidgetTool_WidgetType = 9 + // Appointment details widget. + WidgetTool_APPOINTMENT_DETAILS WidgetTool_WidgetType = 10 + // Appointment scheduler widget. + WidgetTool_APPOINTMENT_SCHEDULER WidgetTool_WidgetType = 11 + // Contact form widget. + WidgetTool_CONTACT_FORM WidgetTool_WidgetType = 12 +) + +// Enum value maps for WidgetTool_WidgetType. +var ( + WidgetTool_WidgetType_name = map[int32]string{ + 0: "WIDGET_TYPE_UNSPECIFIED", + 1: "CUSTOM", + 2: "PRODUCT_CAROUSEL", + 3: "PRODUCT_DETAILS", + 4: "QUICK_ACTIONS", + 5: "PRODUCT_COMPARISON", + 6: "ADVANCED_PRODUCT_DETAILS", + 7: "SHORT_FORM", + 8: "OVERALL_SATISFACTION", + 9: "ORDER_SUMMARY", + 10: "APPOINTMENT_DETAILS", + 11: "APPOINTMENT_SCHEDULER", + 12: "CONTACT_FORM", + } + WidgetTool_WidgetType_value = map[string]int32{ + "WIDGET_TYPE_UNSPECIFIED": 0, + "CUSTOM": 1, + "PRODUCT_CAROUSEL": 2, + "PRODUCT_DETAILS": 3, + "QUICK_ACTIONS": 4, + "PRODUCT_COMPARISON": 5, + "ADVANCED_PRODUCT_DETAILS": 6, + "SHORT_FORM": 7, + "OVERALL_SATISFACTION": 8, + "ORDER_SUMMARY": 9, + "APPOINTMENT_DETAILS": 10, + "APPOINTMENT_SCHEDULER": 11, + "CONTACT_FORM": 12, + } +) + +func (x WidgetTool_WidgetType) Enum() *WidgetTool_WidgetType { + p := new(WidgetTool_WidgetType) + *p = x + return p +} + +func (x WidgetTool_WidgetType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WidgetTool_WidgetType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_ces_v1beta_widget_tool_proto_enumTypes[0].Descriptor() +} + +func (WidgetTool_WidgetType) Type() protoreflect.EnumType { + return &file_google_cloud_ces_v1beta_widget_tool_proto_enumTypes[0] +} + +func (x WidgetTool_WidgetType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WidgetTool_WidgetType.Descriptor instead. +func (WidgetTool_WidgetType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_widget_tool_proto_rawDescGZIP(), []int{0, 0} +} + +// Represents a widget tool that the agent can invoke. When the tool is chosen +// by the agent, agent will return the widget to the client. The client is +// responsible for processing the widget and generating the next user query to +// continue the interaction with the agent. +type WidgetTool struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The input of the widget tool. + // + // Types that are assignable to Input: + // + // *WidgetTool_Parameters + Input isWidgetTool_Input `protobuf_oneof:"input"` + // Required. The display name of the widget tool. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The description of the widget tool. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. The type of the widget tool. If not specified, the default type + // will be CUSTOMIZED. + WidgetType WidgetTool_WidgetType `protobuf:"varint,3,opt,name=widget_type,json=widgetType,proto3,enum=google.cloud.ces.v1beta.WidgetTool_WidgetType" json:"widget_type,omitempty"` +} + +func (x *WidgetTool) Reset() { + *x = WidgetTool{} + mi := &file_google_cloud_ces_v1beta_widget_tool_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WidgetTool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WidgetTool) ProtoMessage() {} + +func (x *WidgetTool) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_ces_v1beta_widget_tool_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WidgetTool.ProtoReflect.Descriptor instead. +func (*WidgetTool) Descriptor() ([]byte, []int) { + return file_google_cloud_ces_v1beta_widget_tool_proto_rawDescGZIP(), []int{0} +} + +func (m *WidgetTool) GetInput() isWidgetTool_Input { + if m != nil { + return m.Input + } + return nil +} + +func (x *WidgetTool) GetParameters() *Schema { + if x, ok := x.GetInput().(*WidgetTool_Parameters); ok { + return x.Parameters + } + return nil +} + +func (x *WidgetTool) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WidgetTool) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WidgetTool) GetWidgetType() WidgetTool_WidgetType { + if x != nil { + return x.WidgetType + } + return WidgetTool_WIDGET_TYPE_UNSPECIFIED +} + +type isWidgetTool_Input interface { + isWidgetTool_Input() +} + +type WidgetTool_Parameters struct { + // Optional. The input parameters of the widget tool. + Parameters *Schema `protobuf:"bytes,4,opt,name=parameters,proto3,oneof"` +} + +func (*WidgetTool_Parameters) isWidgetTool_Input() {} + +var File_google_cloud_ces_v1beta_widget_tool_proto protoreflect.FileDescriptor + +var file_google_cloud_ces_v1beta_widget_tool_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, + 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x04, 0x0a, 0x0a, + 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0b, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x57, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x77, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x0a, 0x57, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x57, 0x49, 0x44, 0x47, 0x45, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x52, 0x4f, + 0x55, 0x53, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, + 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x51, + 0x55, 0x49, 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x04, 0x12, 0x16, + 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, + 0x49, 0x53, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, + 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, + 0x4c, 0x53, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, + 0x52, 0x4d, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x4c, 0x4c, 0x5f, + 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x11, + 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, + 0x09, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x50, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x50, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, + 0x4c, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, + 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x0c, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x42, 0x5f, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, + 0x0f, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x65, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x65, 0x73, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_ces_v1beta_widget_tool_proto_rawDescOnce sync.Once + file_google_cloud_ces_v1beta_widget_tool_proto_rawDescData = file_google_cloud_ces_v1beta_widget_tool_proto_rawDesc +) + +func file_google_cloud_ces_v1beta_widget_tool_proto_rawDescGZIP() []byte { + file_google_cloud_ces_v1beta_widget_tool_proto_rawDescOnce.Do(func() { + file_google_cloud_ces_v1beta_widget_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_ces_v1beta_widget_tool_proto_rawDescData) + }) + return file_google_cloud_ces_v1beta_widget_tool_proto_rawDescData +} + +var file_google_cloud_ces_v1beta_widget_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_ces_v1beta_widget_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_google_cloud_ces_v1beta_widget_tool_proto_goTypes = []any{ + (WidgetTool_WidgetType)(0), // 0: google.cloud.ces.v1beta.WidgetTool.WidgetType + (*WidgetTool)(nil), // 1: google.cloud.ces.v1beta.WidgetTool + (*Schema)(nil), // 2: google.cloud.ces.v1beta.Schema +} +var file_google_cloud_ces_v1beta_widget_tool_proto_depIdxs = []int32{ + 2, // 0: google.cloud.ces.v1beta.WidgetTool.parameters:type_name -> google.cloud.ces.v1beta.Schema + 0, // 1: google.cloud.ces.v1beta.WidgetTool.widget_type:type_name -> google.cloud.ces.v1beta.WidgetTool.WidgetType + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_ces_v1beta_widget_tool_proto_init() } +func file_google_cloud_ces_v1beta_widget_tool_proto_init() { + if File_google_cloud_ces_v1beta_widget_tool_proto != nil { + return + } + file_google_cloud_ces_v1beta_schema_proto_init() + file_google_cloud_ces_v1beta_widget_tool_proto_msgTypes[0].OneofWrappers = []any{ + (*WidgetTool_Parameters)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_ces_v1beta_widget_tool_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_ces_v1beta_widget_tool_proto_goTypes, + DependencyIndexes: file_google_cloud_ces_v1beta_widget_tool_proto_depIdxs, + EnumInfos: file_google_cloud_ces_v1beta_widget_tool_proto_enumTypes, + MessageInfos: file_google_cloud_ces_v1beta_widget_tool_proto_msgTypes, + }.Build() + File_google_cloud_ces_v1beta_widget_tool_proto = out.File + file_google_cloud_ces_v1beta_widget_tool_proto_rawDesc = nil + file_google_cloud_ces_v1beta_widget_tool_proto_goTypes = nil + file_google_cloud_ces_v1beta_widget_tool_proto_depIdxs = nil +} diff --git a/ces/apiv1beta/doc.go b/ces/apiv1beta/doc.go new file mode 100644 index 000000000000..36b3f636a0fb --- /dev/null +++ b/ces/apiv1beta/doc.go @@ -0,0 +1,99 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// Package ces is an auto-generated package for the +// Gemini Enterprise for Customer Experience API. +// +// NOTE: This package is in beta. It is not stable, and may be subject to changes. +// +// # General documentation +// +// For information that is relevant for all client libraries please reference +// https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this +// page includes: +// +// - [Authentication and Authorization] +// - [Timeouts and Cancellation] +// - [Testing against Client Libraries] +// - [Debugging Client Libraries] +// - [Inspecting errors] +// +// # Example usage +// +// To get started with this package, create a client. +// +// // go get cloud.google.com/go/ces/apiv1beta@latest +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := ces.NewSessionClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// The client will use your default application credentials. Clients should be reused instead of created as needed. +// The methods of Client are safe for concurrent use by multiple goroutines. +// The returned client must be Closed when it is done being used. +// +// # Using the Client +// +// The following is an example of making an API call with the newly created client, mentioned above. +// +// stream, err := c.BidiRunSession(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// go func() { +// reqs := []*cespb.BidiSessionClientMessage{ +// // TODO: Create requests. +// } +// for _, req := range reqs { +// if err := stream.Send(req); err != nil { +// // TODO: Handle error. +// } +// } +// stream.CloseSend() +// }() +// for { +// resp, err := stream.Recv() +// if err == io.EOF { +// break +// } +// if err != nil { +// // TODO: handle error. +// } +// // TODO: Use resp. +// _ = resp +// } +// +// # Use of Context +// +// The ctx passed to NewSessionClient is used for authentication requests and +// for creating the underlying connection, but is not used for subsequent calls. +// Individual methods on the client use the ctx given to them. +// +// To close the open connection, use the Close() method. +// +// [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization +// [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation +// [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing +// [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging +// [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors +package ces // import "cloud.google.com/go/ces/apiv1beta" diff --git a/ces/apiv1beta/evaluation_client.go b/ces/apiv1beta/evaluation_client.go new file mode 100644 index 000000000000..94894eb04317 --- /dev/null +++ b/ces/apiv1beta/evaluation_client.go @@ -0,0 +1,4532 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "bytes" + "context" + "fmt" + "log/slog" + "math" + "net/http" + "net/url" + "time" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newEvaluationClientHook clientHook + +// EvaluationCallOptions contains the retry settings for each method of EvaluationClient. +type EvaluationCallOptions struct { + RunEvaluation []gax.CallOption + UploadEvaluationAudio []gax.CallOption + CreateEvaluation []gax.CallOption + GenerateEvaluation []gax.CallOption + ImportEvaluations []gax.CallOption + CreateEvaluationDataset []gax.CallOption + UpdateEvaluation []gax.CallOption + UpdateEvaluationDataset []gax.CallOption + DeleteEvaluation []gax.CallOption + DeleteEvaluationResult []gax.CallOption + DeleteEvaluationDataset []gax.CallOption + DeleteEvaluationRun []gax.CallOption + GetEvaluation []gax.CallOption + GetEvaluationResult []gax.CallOption + GetEvaluationDataset []gax.CallOption + GetEvaluationRun []gax.CallOption + ListEvaluations []gax.CallOption + ListEvaluationResults []gax.CallOption + ListEvaluationDatasets []gax.CallOption + ListEvaluationRuns []gax.CallOption + ListEvaluationExpectations []gax.CallOption + GetEvaluationExpectation []gax.CallOption + CreateEvaluationExpectation []gax.CallOption + UpdateEvaluationExpectation []gax.CallOption + DeleteEvaluationExpectation []gax.CallOption + CreateScheduledEvaluationRun []gax.CallOption + GetScheduledEvaluationRun []gax.CallOption + ListScheduledEvaluationRuns []gax.CallOption + UpdateScheduledEvaluationRun []gax.CallOption + DeleteScheduledEvaluationRun []gax.CallOption + TestPersonaVoice []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultEvaluationGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("ces.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("ces.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("ces.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultEvaluationCallOptions() *EvaluationCallOptions { + return &EvaluationCallOptions{ + RunEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UploadEvaluationAudio: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GenerateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ImportEvaluations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteEvaluationResult: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetEvaluationResult: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListEvaluations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListEvaluationResults: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListEvaluationDatasets: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListEvaluationRuns: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListEvaluationExpectations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + CreateScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + ListScheduledEvaluationRuns: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + UpdateScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + DeleteScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + TestPersonaVoice: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultEvaluationRESTCallOptions() *EvaluationCallOptions { + return &EvaluationCallOptions{ + RunEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UploadEvaluationAudio: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GenerateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ImportEvaluations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteEvaluationResult: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetEvaluation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetEvaluationResult: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetEvaluationDataset: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListEvaluations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListEvaluationResults: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListEvaluationDatasets: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListEvaluationRuns: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListEvaluationExpectations: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteEvaluationExpectation: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + CreateScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + ListScheduledEvaluationRuns: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + UpdateScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + DeleteScheduledEvaluationRun: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + TestPersonaVoice: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalEvaluationClient is an interface that defines the methods available from Gemini Enterprise for Customer Experience API. +type internalEvaluationClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + RunEvaluation(context.Context, *cespb.RunEvaluationRequest, ...gax.CallOption) (*RunEvaluationOperation, error) + RunEvaluationOperation(name string) *RunEvaluationOperation + UploadEvaluationAudio(context.Context, *cespb.UploadEvaluationAudioRequest, ...gax.CallOption) (*cespb.UploadEvaluationAudioResponse, error) + CreateEvaluation(context.Context, *cespb.CreateEvaluationRequest, ...gax.CallOption) (*cespb.Evaluation, error) + GenerateEvaluation(context.Context, *cespb.GenerateEvaluationRequest, ...gax.CallOption) (*GenerateEvaluationOperation, error) + GenerateEvaluationOperation(name string) *GenerateEvaluationOperation + ImportEvaluations(context.Context, *cespb.ImportEvaluationsRequest, ...gax.CallOption) (*ImportEvaluationsOperation, error) + ImportEvaluationsOperation(name string) *ImportEvaluationsOperation + CreateEvaluationDataset(context.Context, *cespb.CreateEvaluationDatasetRequest, ...gax.CallOption) (*cespb.EvaluationDataset, error) + UpdateEvaluation(context.Context, *cespb.UpdateEvaluationRequest, ...gax.CallOption) (*cespb.Evaluation, error) + UpdateEvaluationDataset(context.Context, *cespb.UpdateEvaluationDatasetRequest, ...gax.CallOption) (*cespb.EvaluationDataset, error) + DeleteEvaluation(context.Context, *cespb.DeleteEvaluationRequest, ...gax.CallOption) error + DeleteEvaluationResult(context.Context, *cespb.DeleteEvaluationResultRequest, ...gax.CallOption) error + DeleteEvaluationDataset(context.Context, *cespb.DeleteEvaluationDatasetRequest, ...gax.CallOption) error + DeleteEvaluationRun(context.Context, *cespb.DeleteEvaluationRunRequest, ...gax.CallOption) (*DeleteEvaluationRunOperation, error) + DeleteEvaluationRunOperation(name string) *DeleteEvaluationRunOperation + GetEvaluation(context.Context, *cespb.GetEvaluationRequest, ...gax.CallOption) (*cespb.Evaluation, error) + GetEvaluationResult(context.Context, *cespb.GetEvaluationResultRequest, ...gax.CallOption) (*cespb.EvaluationResult, error) + GetEvaluationDataset(context.Context, *cespb.GetEvaluationDatasetRequest, ...gax.CallOption) (*cespb.EvaluationDataset, error) + GetEvaluationRun(context.Context, *cespb.GetEvaluationRunRequest, ...gax.CallOption) (*cespb.EvaluationRun, error) + ListEvaluations(context.Context, *cespb.ListEvaluationsRequest, ...gax.CallOption) *EvaluationIterator + ListEvaluationResults(context.Context, *cespb.ListEvaluationResultsRequest, ...gax.CallOption) *EvaluationResultIterator + ListEvaluationDatasets(context.Context, *cespb.ListEvaluationDatasetsRequest, ...gax.CallOption) *EvaluationDatasetIterator + ListEvaluationRuns(context.Context, *cespb.ListEvaluationRunsRequest, ...gax.CallOption) *EvaluationRunIterator + ListEvaluationExpectations(context.Context, *cespb.ListEvaluationExpectationsRequest, ...gax.CallOption) *EvaluationExpectationIterator + GetEvaluationExpectation(context.Context, *cespb.GetEvaluationExpectationRequest, ...gax.CallOption) (*cespb.EvaluationExpectation, error) + CreateEvaluationExpectation(context.Context, *cespb.CreateEvaluationExpectationRequest, ...gax.CallOption) (*cespb.EvaluationExpectation, error) + UpdateEvaluationExpectation(context.Context, *cespb.UpdateEvaluationExpectationRequest, ...gax.CallOption) (*cespb.EvaluationExpectation, error) + DeleteEvaluationExpectation(context.Context, *cespb.DeleteEvaluationExpectationRequest, ...gax.CallOption) error + CreateScheduledEvaluationRun(context.Context, *cespb.CreateScheduledEvaluationRunRequest, ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) + GetScheduledEvaluationRun(context.Context, *cespb.GetScheduledEvaluationRunRequest, ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) + ListScheduledEvaluationRuns(context.Context, *cespb.ListScheduledEvaluationRunsRequest, ...gax.CallOption) *ScheduledEvaluationRunIterator + UpdateScheduledEvaluationRun(context.Context, *cespb.UpdateScheduledEvaluationRunRequest, ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) + DeleteScheduledEvaluationRun(context.Context, *cespb.DeleteScheduledEvaluationRunRequest, ...gax.CallOption) error + TestPersonaVoice(context.Context, *cespb.TestPersonaVoiceRequest, ...gax.CallOption) (*cespb.TestPersonaVoiceResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// EvaluationClient is a client for interacting with Gemini Enterprise for Customer Experience API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// EvaluationService exposes methods to perform evaluation for the CES app. +type EvaluationClient struct { + // The internal transport-dependent client. + internalClient internalEvaluationClient + + // The call options for this service. + CallOptions *EvaluationCallOptions + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *EvaluationClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *EvaluationClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *EvaluationClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// RunEvaluation runs an evaluation of the app. +func (c *EvaluationClient) RunEvaluation(ctx context.Context, req *cespb.RunEvaluationRequest, opts ...gax.CallOption) (*RunEvaluationOperation, error) { + return c.internalClient.RunEvaluation(ctx, req, opts...) +} + +// RunEvaluationOperation returns a new RunEvaluationOperation from a given name. +// The name must be that of a previously created RunEvaluationOperation, possibly from a different process. +func (c *EvaluationClient) RunEvaluationOperation(name string) *RunEvaluationOperation { + return c.internalClient.RunEvaluationOperation(name) +} + +// UploadEvaluationAudio uploads audio for use in Golden Evaluations. Stores the audio in the Cloud +// Storage bucket defined in +// ‘App.logging_settings.evaluation_audio_recording_config.gcs_bucket’ and +// returns a transcript. +func (c *EvaluationClient) UploadEvaluationAudio(ctx context.Context, req *cespb.UploadEvaluationAudioRequest, opts ...gax.CallOption) (*cespb.UploadEvaluationAudioResponse, error) { + return c.internalClient.UploadEvaluationAudio(ctx, req, opts...) +} + +// CreateEvaluation creates an evaluation. +func (c *EvaluationClient) CreateEvaluation(ctx context.Context, req *cespb.CreateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + return c.internalClient.CreateEvaluation(ctx, req, opts...) +} + +// GenerateEvaluation creates a golden evaluation from a conversation. +func (c *EvaluationClient) GenerateEvaluation(ctx context.Context, req *cespb.GenerateEvaluationRequest, opts ...gax.CallOption) (*GenerateEvaluationOperation, error) { + return c.internalClient.GenerateEvaluation(ctx, req, opts...) +} + +// GenerateEvaluationOperation returns a new GenerateEvaluationOperation from a given name. +// The name must be that of a previously created GenerateEvaluationOperation, possibly from a different process. +func (c *EvaluationClient) GenerateEvaluationOperation(name string) *GenerateEvaluationOperation { + return c.internalClient.GenerateEvaluationOperation(name) +} + +// ImportEvaluations imports evaluations into the app. +func (c *EvaluationClient) ImportEvaluations(ctx context.Context, req *cespb.ImportEvaluationsRequest, opts ...gax.CallOption) (*ImportEvaluationsOperation, error) { + return c.internalClient.ImportEvaluations(ctx, req, opts...) +} + +// ImportEvaluationsOperation returns a new ImportEvaluationsOperation from a given name. +// The name must be that of a previously created ImportEvaluationsOperation, possibly from a different process. +func (c *EvaluationClient) ImportEvaluationsOperation(name string) *ImportEvaluationsOperation { + return c.internalClient.ImportEvaluationsOperation(name) +} + +// CreateEvaluationDataset creates an evaluation dataset. +func (c *EvaluationClient) CreateEvaluationDataset(ctx context.Context, req *cespb.CreateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + return c.internalClient.CreateEvaluationDataset(ctx, req, opts...) +} + +// UpdateEvaluation updates an evaluation. +func (c *EvaluationClient) UpdateEvaluation(ctx context.Context, req *cespb.UpdateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + return c.internalClient.UpdateEvaluation(ctx, req, opts...) +} + +// UpdateEvaluationDataset updates an evaluation dataset. +func (c *EvaluationClient) UpdateEvaluationDataset(ctx context.Context, req *cespb.UpdateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + return c.internalClient.UpdateEvaluationDataset(ctx, req, opts...) +} + +// DeleteEvaluation deletes an evaluation. +func (c *EvaluationClient) DeleteEvaluation(ctx context.Context, req *cespb.DeleteEvaluationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteEvaluation(ctx, req, opts...) +} + +// DeleteEvaluationResult deletes an evaluation result. +func (c *EvaluationClient) DeleteEvaluationResult(ctx context.Context, req *cespb.DeleteEvaluationResultRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteEvaluationResult(ctx, req, opts...) +} + +// DeleteEvaluationDataset deletes an evaluation dataset. +func (c *EvaluationClient) DeleteEvaluationDataset(ctx context.Context, req *cespb.DeleteEvaluationDatasetRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteEvaluationDataset(ctx, req, opts...) +} + +// DeleteEvaluationRun deletes an evaluation run. +func (c *EvaluationClient) DeleteEvaluationRun(ctx context.Context, req *cespb.DeleteEvaluationRunRequest, opts ...gax.CallOption) (*DeleteEvaluationRunOperation, error) { + return c.internalClient.DeleteEvaluationRun(ctx, req, opts...) +} + +// DeleteEvaluationRunOperation returns a new DeleteEvaluationRunOperation from a given name. +// The name must be that of a previously created DeleteEvaluationRunOperation, possibly from a different process. +func (c *EvaluationClient) DeleteEvaluationRunOperation(name string) *DeleteEvaluationRunOperation { + return c.internalClient.DeleteEvaluationRunOperation(name) +} + +// GetEvaluation gets details of the specified evaluation. +func (c *EvaluationClient) GetEvaluation(ctx context.Context, req *cespb.GetEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + return c.internalClient.GetEvaluation(ctx, req, opts...) +} + +// GetEvaluationResult gets details of the specified evaluation result. +func (c *EvaluationClient) GetEvaluationResult(ctx context.Context, req *cespb.GetEvaluationResultRequest, opts ...gax.CallOption) (*cespb.EvaluationResult, error) { + return c.internalClient.GetEvaluationResult(ctx, req, opts...) +} + +// GetEvaluationDataset gets details of the specified evaluation dataset. +func (c *EvaluationClient) GetEvaluationDataset(ctx context.Context, req *cespb.GetEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + return c.internalClient.GetEvaluationDataset(ctx, req, opts...) +} + +// GetEvaluationRun gets details of the specified evaluation run. +func (c *EvaluationClient) GetEvaluationRun(ctx context.Context, req *cespb.GetEvaluationRunRequest, opts ...gax.CallOption) (*cespb.EvaluationRun, error) { + return c.internalClient.GetEvaluationRun(ctx, req, opts...) +} + +// ListEvaluations lists all evaluations in the given app. +func (c *EvaluationClient) ListEvaluations(ctx context.Context, req *cespb.ListEvaluationsRequest, opts ...gax.CallOption) *EvaluationIterator { + return c.internalClient.ListEvaluations(ctx, req, opts...) +} + +// ListEvaluationResults lists all evaluation results for a given evaluation. +func (c *EvaluationClient) ListEvaluationResults(ctx context.Context, req *cespb.ListEvaluationResultsRequest, opts ...gax.CallOption) *EvaluationResultIterator { + return c.internalClient.ListEvaluationResults(ctx, req, opts...) +} + +// ListEvaluationDatasets lists all evaluation datasets in the given app. +func (c *EvaluationClient) ListEvaluationDatasets(ctx context.Context, req *cespb.ListEvaluationDatasetsRequest, opts ...gax.CallOption) *EvaluationDatasetIterator { + return c.internalClient.ListEvaluationDatasets(ctx, req, opts...) +} + +// ListEvaluationRuns lists all evaluation runs in the given app. +func (c *EvaluationClient) ListEvaluationRuns(ctx context.Context, req *cespb.ListEvaluationRunsRequest, opts ...gax.CallOption) *EvaluationRunIterator { + return c.internalClient.ListEvaluationRuns(ctx, req, opts...) +} + +// ListEvaluationExpectations lists all evaluation expectations in the given app. +func (c *EvaluationClient) ListEvaluationExpectations(ctx context.Context, req *cespb.ListEvaluationExpectationsRequest, opts ...gax.CallOption) *EvaluationExpectationIterator { + return c.internalClient.ListEvaluationExpectations(ctx, req, opts...) +} + +// GetEvaluationExpectation gets details of the specified evaluation expectation. +func (c *EvaluationClient) GetEvaluationExpectation(ctx context.Context, req *cespb.GetEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + return c.internalClient.GetEvaluationExpectation(ctx, req, opts...) +} + +// CreateEvaluationExpectation creates an evaluation expectation. +func (c *EvaluationClient) CreateEvaluationExpectation(ctx context.Context, req *cespb.CreateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + return c.internalClient.CreateEvaluationExpectation(ctx, req, opts...) +} + +// UpdateEvaluationExpectation updates an evaluation expectation. +func (c *EvaluationClient) UpdateEvaluationExpectation(ctx context.Context, req *cespb.UpdateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + return c.internalClient.UpdateEvaluationExpectation(ctx, req, opts...) +} + +// DeleteEvaluationExpectation deletes an evaluation expectation. +func (c *EvaluationClient) DeleteEvaluationExpectation(ctx context.Context, req *cespb.DeleteEvaluationExpectationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteEvaluationExpectation(ctx, req, opts...) +} + +// CreateScheduledEvaluationRun creates a scheduled evaluation run. +func (c *EvaluationClient) CreateScheduledEvaluationRun(ctx context.Context, req *cespb.CreateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + return c.internalClient.CreateScheduledEvaluationRun(ctx, req, opts...) +} + +// GetScheduledEvaluationRun gets details of the specified scheduled evaluation run. +func (c *EvaluationClient) GetScheduledEvaluationRun(ctx context.Context, req *cespb.GetScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + return c.internalClient.GetScheduledEvaluationRun(ctx, req, opts...) +} + +// ListScheduledEvaluationRuns lists all scheduled evaluation runs in the given app. +func (c *EvaluationClient) ListScheduledEvaluationRuns(ctx context.Context, req *cespb.ListScheduledEvaluationRunsRequest, opts ...gax.CallOption) *ScheduledEvaluationRunIterator { + return c.internalClient.ListScheduledEvaluationRuns(ctx, req, opts...) +} + +// UpdateScheduledEvaluationRun updates a scheduled evaluation run. +func (c *EvaluationClient) UpdateScheduledEvaluationRun(ctx context.Context, req *cespb.UpdateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + return c.internalClient.UpdateScheduledEvaluationRun(ctx, req, opts...) +} + +// DeleteScheduledEvaluationRun deletes a scheduled evaluation run. +func (c *EvaluationClient) DeleteScheduledEvaluationRun(ctx context.Context, req *cespb.DeleteScheduledEvaluationRunRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteScheduledEvaluationRun(ctx, req, opts...) +} + +// TestPersonaVoice tests the voice of a persona. Also accepts a default persona. +func (c *EvaluationClient) TestPersonaVoice(ctx context.Context, req *cespb.TestPersonaVoiceRequest, opts ...gax.CallOption) (*cespb.TestPersonaVoiceResponse, error) { + return c.internalClient.TestPersonaVoice(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *EvaluationClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *EvaluationClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *EvaluationClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *EvaluationClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *EvaluationClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *EvaluationClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// evaluationGRPCClient is a client for interacting with Gemini Enterprise for Customer Experience API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type evaluationGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing EvaluationClient + CallOptions **EvaluationCallOptions + + // The gRPC API client. + evaluationClient cespb.EvaluationServiceClient + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string + + logger *slog.Logger +} + +// NewEvaluationClient creates a new evaluation service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// EvaluationService exposes methods to perform evaluation for the CES app. +func NewEvaluationClient(ctx context.Context, opts ...option.ClientOption) (*EvaluationClient, error) { + clientOpts := defaultEvaluationGRPCClientOptions() + if newEvaluationClientHook != nil { + hookOpts, err := newEvaluationClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := EvaluationClient{CallOptions: defaultEvaluationCallOptions()} + + c := &evaluationGRPCClient{ + connPool: connPool, + evaluationClient: cespb.NewEvaluationServiceClient(connPool), + CallOptions: &client.CallOptions, + logger: internaloption.GetLogger(opts), + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool)) + if err != nil { + // This error "should not happen", since we are just reusing old connection pool + // and never actually need to dial. + // If this does happen, we could leak connp. However, we cannot close conn: + // If the user invoked the constructor with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO: investigate error conditions. + return nil, err + } + c.LROClient = &client.LROClient + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *evaluationGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *evaluationGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *evaluationGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type evaluationRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing EvaluationClient + CallOptions **EvaluationCallOptions + + logger *slog.Logger +} + +// NewEvaluationRESTClient creates a new evaluation service rest client. +// +// EvaluationService exposes methods to perform evaluation for the CES app. +func NewEvaluationRESTClient(ctx context.Context, opts ...option.ClientOption) (*EvaluationClient, error) { + clientOpts := append(defaultEvaluationRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultEvaluationRESTCallOptions() + c := &evaluationRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + logger: internaloption.GetLogger(opts), + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &EvaluationClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultEvaluationRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://ces.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://ces.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://ces.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *evaluationRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *evaluationRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *evaluationRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *evaluationGRPCClient) RunEvaluation(ctx context.Context, req *cespb.RunEvaluationRequest, opts ...gax.CallOption) (*RunEvaluationOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RunEvaluation[0:len((*c.CallOptions).RunEvaluation):len((*c.CallOptions).RunEvaluation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.RunEvaluation, req, settings.GRPC, c.logger, "RunEvaluation") + return err + }, opts...) + if err != nil { + return nil, err + } + return &RunEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *evaluationGRPCClient) UploadEvaluationAudio(ctx context.Context, req *cespb.UploadEvaluationAudioRequest, opts ...gax.CallOption) (*cespb.UploadEvaluationAudioResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UploadEvaluationAudio[0:len((*c.CallOptions).UploadEvaluationAudio):len((*c.CallOptions).UploadEvaluationAudio)], opts...) + var resp *cespb.UploadEvaluationAudioResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.UploadEvaluationAudio, req, settings.GRPC, c.logger, "UploadEvaluationAudio") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) CreateEvaluation(ctx context.Context, req *cespb.CreateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluation[0:len((*c.CallOptions).CreateEvaluation):len((*c.CallOptions).CreateEvaluation)], opts...) + var resp *cespb.Evaluation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.CreateEvaluation, req, settings.GRPC, c.logger, "CreateEvaluation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GenerateEvaluation(ctx context.Context, req *cespb.GenerateEvaluationRequest, opts ...gax.CallOption) (*GenerateEvaluationOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "conversation", url.QueryEscape(req.GetConversation()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GenerateEvaluation[0:len((*c.CallOptions).GenerateEvaluation):len((*c.CallOptions).GenerateEvaluation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GenerateEvaluation, req, settings.GRPC, c.logger, "GenerateEvaluation") + return err + }, opts...) + if err != nil { + return nil, err + } + return &GenerateEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *evaluationGRPCClient) ImportEvaluations(ctx context.Context, req *cespb.ImportEvaluationsRequest, opts ...gax.CallOption) (*ImportEvaluationsOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ImportEvaluations[0:len((*c.CallOptions).ImportEvaluations):len((*c.CallOptions).ImportEvaluations)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ImportEvaluations, req, settings.GRPC, c.logger, "ImportEvaluations") + return err + }, opts...) + if err != nil { + return nil, err + } + return &ImportEvaluationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *evaluationGRPCClient) CreateEvaluationDataset(ctx context.Context, req *cespb.CreateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluationDataset[0:len((*c.CallOptions).CreateEvaluationDataset):len((*c.CallOptions).CreateEvaluationDataset)], opts...) + var resp *cespb.EvaluationDataset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.CreateEvaluationDataset, req, settings.GRPC, c.logger, "CreateEvaluationDataset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) UpdateEvaluation(ctx context.Context, req *cespb.UpdateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation.name", url.QueryEscape(req.GetEvaluation().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluation[0:len((*c.CallOptions).UpdateEvaluation):len((*c.CallOptions).UpdateEvaluation)], opts...) + var resp *cespb.Evaluation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.UpdateEvaluation, req, settings.GRPC, c.logger, "UpdateEvaluation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) UpdateEvaluationDataset(ctx context.Context, req *cespb.UpdateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation_dataset.name", url.QueryEscape(req.GetEvaluationDataset().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluationDataset[0:len((*c.CallOptions).UpdateEvaluationDataset):len((*c.CallOptions).UpdateEvaluationDataset)], opts...) + var resp *cespb.EvaluationDataset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.UpdateEvaluationDataset, req, settings.GRPC, c.logger, "UpdateEvaluationDataset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) DeleteEvaluation(ctx context.Context, req *cespb.DeleteEvaluationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEvaluation[0:len((*c.CallOptions).DeleteEvaluation):len((*c.CallOptions).DeleteEvaluation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.evaluationClient.DeleteEvaluation, req, settings.GRPC, c.logger, "DeleteEvaluation") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) DeleteEvaluationResult(ctx context.Context, req *cespb.DeleteEvaluationResultRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEvaluationResult[0:len((*c.CallOptions).DeleteEvaluationResult):len((*c.CallOptions).DeleteEvaluationResult)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.evaluationClient.DeleteEvaluationResult, req, settings.GRPC, c.logger, "DeleteEvaluationResult") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) DeleteEvaluationDataset(ctx context.Context, req *cespb.DeleteEvaluationDatasetRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEvaluationDataset[0:len((*c.CallOptions).DeleteEvaluationDataset):len((*c.CallOptions).DeleteEvaluationDataset)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.evaluationClient.DeleteEvaluationDataset, req, settings.GRPC, c.logger, "DeleteEvaluationDataset") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) DeleteEvaluationRun(ctx context.Context, req *cespb.DeleteEvaluationRunRequest, opts ...gax.CallOption) (*DeleteEvaluationRunOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEvaluationRun[0:len((*c.CallOptions).DeleteEvaluationRun):len((*c.CallOptions).DeleteEvaluationRun)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.DeleteEvaluationRun, req, settings.GRPC, c.logger, "DeleteEvaluationRun") + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteEvaluationRunOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *evaluationGRPCClient) GetEvaluation(ctx context.Context, req *cespb.GetEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluation[0:len((*c.CallOptions).GetEvaluation):len((*c.CallOptions).GetEvaluation)], opts...) + var resp *cespb.Evaluation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetEvaluation, req, settings.GRPC, c.logger, "GetEvaluation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GetEvaluationResult(ctx context.Context, req *cespb.GetEvaluationResultRequest, opts ...gax.CallOption) (*cespb.EvaluationResult, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationResult[0:len((*c.CallOptions).GetEvaluationResult):len((*c.CallOptions).GetEvaluationResult)], opts...) + var resp *cespb.EvaluationResult + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetEvaluationResult, req, settings.GRPC, c.logger, "GetEvaluationResult") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GetEvaluationDataset(ctx context.Context, req *cespb.GetEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationDataset[0:len((*c.CallOptions).GetEvaluationDataset):len((*c.CallOptions).GetEvaluationDataset)], opts...) + var resp *cespb.EvaluationDataset + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetEvaluationDataset, req, settings.GRPC, c.logger, "GetEvaluationDataset") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GetEvaluationRun(ctx context.Context, req *cespb.GetEvaluationRunRequest, opts ...gax.CallOption) (*cespb.EvaluationRun, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationRun[0:len((*c.CallOptions).GetEvaluationRun):len((*c.CallOptions).GetEvaluationRun)], opts...) + var resp *cespb.EvaluationRun + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetEvaluationRun, req, settings.GRPC, c.logger, "GetEvaluationRun") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) ListEvaluations(ctx context.Context, req *cespb.ListEvaluationsRequest, opts ...gax.CallOption) *EvaluationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEvaluations[0:len((*c.CallOptions).ListEvaluations):len((*c.CallOptions).ListEvaluations)], opts...) + it := &EvaluationIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Evaluation, string, error) { + resp := &cespb.ListEvaluationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListEvaluations, req, settings.GRPC, c.logger, "ListEvaluations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEvaluations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) ListEvaluationResults(ctx context.Context, req *cespb.ListEvaluationResultsRequest, opts ...gax.CallOption) *EvaluationResultIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEvaluationResults[0:len((*c.CallOptions).ListEvaluationResults):len((*c.CallOptions).ListEvaluationResults)], opts...) + it := &EvaluationResultIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationResultsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationResult, string, error) { + resp := &cespb.ListEvaluationResultsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListEvaluationResults, req, settings.GRPC, c.logger, "ListEvaluationResults") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEvaluationResults(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) ListEvaluationDatasets(ctx context.Context, req *cespb.ListEvaluationDatasetsRequest, opts ...gax.CallOption) *EvaluationDatasetIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEvaluationDatasets[0:len((*c.CallOptions).ListEvaluationDatasets):len((*c.CallOptions).ListEvaluationDatasets)], opts...) + it := &EvaluationDatasetIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationDatasetsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationDataset, string, error) { + resp := &cespb.ListEvaluationDatasetsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListEvaluationDatasets, req, settings.GRPC, c.logger, "ListEvaluationDatasets") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEvaluationDatasets(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) ListEvaluationRuns(ctx context.Context, req *cespb.ListEvaluationRunsRequest, opts ...gax.CallOption) *EvaluationRunIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEvaluationRuns[0:len((*c.CallOptions).ListEvaluationRuns):len((*c.CallOptions).ListEvaluationRuns)], opts...) + it := &EvaluationRunIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationRunsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationRun, string, error) { + resp := &cespb.ListEvaluationRunsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListEvaluationRuns, req, settings.GRPC, c.logger, "ListEvaluationRuns") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEvaluationRuns(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) ListEvaluationExpectations(ctx context.Context, req *cespb.ListEvaluationExpectationsRequest, opts ...gax.CallOption) *EvaluationExpectationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEvaluationExpectations[0:len((*c.CallOptions).ListEvaluationExpectations):len((*c.CallOptions).ListEvaluationExpectations)], opts...) + it := &EvaluationExpectationIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationExpectationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationExpectation, string, error) { + resp := &cespb.ListEvaluationExpectationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListEvaluationExpectations, req, settings.GRPC, c.logger, "ListEvaluationExpectations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEvaluationExpectations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) GetEvaluationExpectation(ctx context.Context, req *cespb.GetEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationExpectation[0:len((*c.CallOptions).GetEvaluationExpectation):len((*c.CallOptions).GetEvaluationExpectation)], opts...) + var resp *cespb.EvaluationExpectation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetEvaluationExpectation, req, settings.GRPC, c.logger, "GetEvaluationExpectation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) CreateEvaluationExpectation(ctx context.Context, req *cespb.CreateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluationExpectation[0:len((*c.CallOptions).CreateEvaluationExpectation):len((*c.CallOptions).CreateEvaluationExpectation)], opts...) + var resp *cespb.EvaluationExpectation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.CreateEvaluationExpectation, req, settings.GRPC, c.logger, "CreateEvaluationExpectation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) UpdateEvaluationExpectation(ctx context.Context, req *cespb.UpdateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation_expectation.name", url.QueryEscape(req.GetEvaluationExpectation().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluationExpectation[0:len((*c.CallOptions).UpdateEvaluationExpectation):len((*c.CallOptions).UpdateEvaluationExpectation)], opts...) + var resp *cespb.EvaluationExpectation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.UpdateEvaluationExpectation, req, settings.GRPC, c.logger, "UpdateEvaluationExpectation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) DeleteEvaluationExpectation(ctx context.Context, req *cespb.DeleteEvaluationExpectationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEvaluationExpectation[0:len((*c.CallOptions).DeleteEvaluationExpectation):len((*c.CallOptions).DeleteEvaluationExpectation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.evaluationClient.DeleteEvaluationExpectation, req, settings.GRPC, c.logger, "DeleteEvaluationExpectation") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) CreateScheduledEvaluationRun(ctx context.Context, req *cespb.CreateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateScheduledEvaluationRun[0:len((*c.CallOptions).CreateScheduledEvaluationRun):len((*c.CallOptions).CreateScheduledEvaluationRun)], opts...) + var resp *cespb.ScheduledEvaluationRun + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.CreateScheduledEvaluationRun, req, settings.GRPC, c.logger, "CreateScheduledEvaluationRun") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GetScheduledEvaluationRun(ctx context.Context, req *cespb.GetScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetScheduledEvaluationRun[0:len((*c.CallOptions).GetScheduledEvaluationRun):len((*c.CallOptions).GetScheduledEvaluationRun)], opts...) + var resp *cespb.ScheduledEvaluationRun + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.GetScheduledEvaluationRun, req, settings.GRPC, c.logger, "GetScheduledEvaluationRun") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) ListScheduledEvaluationRuns(ctx context.Context, req *cespb.ListScheduledEvaluationRunsRequest, opts ...gax.CallOption) *ScheduledEvaluationRunIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListScheduledEvaluationRuns[0:len((*c.CallOptions).ListScheduledEvaluationRuns):len((*c.CallOptions).ListScheduledEvaluationRuns)], opts...) + it := &ScheduledEvaluationRunIterator{} + req = proto.Clone(req).(*cespb.ListScheduledEvaluationRunsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.ScheduledEvaluationRun, string, error) { + resp := &cespb.ListScheduledEvaluationRunsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.ListScheduledEvaluationRuns, req, settings.GRPC, c.logger, "ListScheduledEvaluationRuns") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetScheduledEvaluationRuns(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) UpdateScheduledEvaluationRun(ctx context.Context, req *cespb.UpdateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "scheduled_evaluation_run.name", url.QueryEscape(req.GetScheduledEvaluationRun().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateScheduledEvaluationRun[0:len((*c.CallOptions).UpdateScheduledEvaluationRun):len((*c.CallOptions).UpdateScheduledEvaluationRun)], opts...) + var resp *cespb.ScheduledEvaluationRun + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.UpdateScheduledEvaluationRun, req, settings.GRPC, c.logger, "UpdateScheduledEvaluationRun") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) DeleteScheduledEvaluationRun(ctx context.Context, req *cespb.DeleteScheduledEvaluationRunRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteScheduledEvaluationRun[0:len((*c.CallOptions).DeleteScheduledEvaluationRun):len((*c.CallOptions).DeleteScheduledEvaluationRun)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.evaluationClient.DeleteScheduledEvaluationRun, req, settings.GRPC, c.logger, "DeleteScheduledEvaluationRun") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) TestPersonaVoice(ctx context.Context, req *cespb.TestPersonaVoiceRequest, opts ...gax.CallOption) (*cespb.TestPersonaVoiceResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).TestPersonaVoice[0:len((*c.CallOptions).TestPersonaVoice):len((*c.CallOptions).TestPersonaVoice)], opts...) + var resp *cespb.TestPersonaVoiceResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.evaluationClient.TestPersonaVoice, req, settings.GRPC, c.logger, "TestPersonaVoice") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *evaluationGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation") + return err + }, opts...) + return err +} + +func (c *evaluationGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *evaluationGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// RunEvaluation runs an evaluation of the app. +func (c *evaluationRESTClient) RunEvaluation(ctx context.Context, req *cespb.RunEvaluationRequest, opts ...gax.CallOption) (*RunEvaluationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:runEvaluation", req.GetApp()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RunEvaluation") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &RunEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// UploadEvaluationAudio uploads audio for use in Golden Evaluations. Stores the audio in the Cloud +// Storage bucket defined in +// ‘App.logging_settings.evaluation_audio_recording_config.gcs_bucket’ and +// returns a transcript. +func (c *evaluationRESTClient) UploadEvaluationAudio(ctx context.Context, req *cespb.UploadEvaluationAudioRequest, opts ...gax.CallOption) (*cespb.UploadEvaluationAudioResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:uploadEvaluationAudio", req.GetApp()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UploadEvaluationAudio[0:len((*c.CallOptions).UploadEvaluationAudio):len((*c.CallOptions).UploadEvaluationAudio)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.UploadEvaluationAudioResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UploadEvaluationAudio") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateEvaluation creates an evaluation. +func (c *evaluationRESTClient) CreateEvaluation(ctx context.Context, req *cespb.CreateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluation() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEvaluationId() != "" { + params.Add("evaluationId", fmt.Sprintf("%v", req.GetEvaluationId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluation[0:len((*c.CallOptions).CreateEvaluation):len((*c.CallOptions).CreateEvaluation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Evaluation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateEvaluation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GenerateEvaluation creates a golden evaluation from a conversation. +func (c *evaluationRESTClient) GenerateEvaluation(ctx context.Context, req *cespb.GenerateEvaluationRequest, opts ...gax.CallOption) (*GenerateEvaluationOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:generateEvaluation", req.GetConversation()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "conversation", url.QueryEscape(req.GetConversation()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "GenerateEvaluation") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &GenerateEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ImportEvaluations imports evaluations into the app. +func (c *evaluationRESTClient) ImportEvaluations(ctx context.Context, req *cespb.ImportEvaluationsRequest, opts ...gax.CallOption) (*ImportEvaluationsOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:importEvaluations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "ImportEvaluations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &ImportEvaluationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// CreateEvaluationDataset creates an evaluation dataset. +func (c *evaluationRESTClient) CreateEvaluationDataset(ctx context.Context, req *cespb.CreateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluationDataset() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluationDatasets", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEvaluationDatasetId() != "" { + params.Add("evaluationDatasetId", fmt.Sprintf("%v", req.GetEvaluationDatasetId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluationDataset[0:len((*c.CallOptions).CreateEvaluationDataset):len((*c.CallOptions).CreateEvaluationDataset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationDataset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateEvaluationDataset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateEvaluation updates an evaluation. +func (c *evaluationRESTClient) UpdateEvaluation(ctx context.Context, req *cespb.UpdateEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluation() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetEvaluation().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation.name", url.QueryEscape(req.GetEvaluation().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluation[0:len((*c.CallOptions).UpdateEvaluation):len((*c.CallOptions).UpdateEvaluation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Evaluation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateEvaluation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateEvaluationDataset updates an evaluation dataset. +func (c *evaluationRESTClient) UpdateEvaluationDataset(ctx context.Context, req *cespb.UpdateEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluationDataset() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetEvaluationDataset().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation_dataset.name", url.QueryEscape(req.GetEvaluationDataset().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluationDataset[0:len((*c.CallOptions).UpdateEvaluationDataset):len((*c.CallOptions).UpdateEvaluationDataset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationDataset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateEvaluationDataset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteEvaluation deletes an evaluation. +func (c *evaluationRESTClient) DeleteEvaluation(ctx context.Context, req *cespb.DeleteEvaluationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + if req.GetForce() { + params.Add("force", fmt.Sprintf("%v", req.GetForce())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteEvaluation") + return err + }, opts...) +} + +// DeleteEvaluationResult deletes an evaluation result. +func (c *evaluationRESTClient) DeleteEvaluationResult(ctx context.Context, req *cespb.DeleteEvaluationResultRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteEvaluationResult") + return err + }, opts...) +} + +// DeleteEvaluationDataset deletes an evaluation dataset. +func (c *evaluationRESTClient) DeleteEvaluationDataset(ctx context.Context, req *cespb.DeleteEvaluationDatasetRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteEvaluationDataset") + return err + }, opts...) +} + +// DeleteEvaluationRun deletes an evaluation run. +func (c *evaluationRESTClient) DeleteEvaluationRun(ctx context.Context, req *cespb.DeleteEvaluationRunRequest, opts ...gax.CallOption) (*DeleteEvaluationRunOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteEvaluationRun") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1beta/%s", resp.GetName()) + return &DeleteEvaluationRunOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// GetEvaluation gets details of the specified evaluation. +func (c *evaluationRESTClient) GetEvaluation(ctx context.Context, req *cespb.GetEvaluationRequest, opts ...gax.CallOption) (*cespb.Evaluation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluation[0:len((*c.CallOptions).GetEvaluation):len((*c.CallOptions).GetEvaluation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.Evaluation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEvaluation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetEvaluationResult gets details of the specified evaluation result. +func (c *evaluationRESTClient) GetEvaluationResult(ctx context.Context, req *cespb.GetEvaluationResultRequest, opts ...gax.CallOption) (*cespb.EvaluationResult, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationResult[0:len((*c.CallOptions).GetEvaluationResult):len((*c.CallOptions).GetEvaluationResult)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationResult{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEvaluationResult") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetEvaluationDataset gets details of the specified evaluation dataset. +func (c *evaluationRESTClient) GetEvaluationDataset(ctx context.Context, req *cespb.GetEvaluationDatasetRequest, opts ...gax.CallOption) (*cespb.EvaluationDataset, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationDataset[0:len((*c.CallOptions).GetEvaluationDataset):len((*c.CallOptions).GetEvaluationDataset)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationDataset{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEvaluationDataset") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetEvaluationRun gets details of the specified evaluation run. +func (c *evaluationRESTClient) GetEvaluationRun(ctx context.Context, req *cespb.GetEvaluationRunRequest, opts ...gax.CallOption) (*cespb.EvaluationRun, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationRun[0:len((*c.CallOptions).GetEvaluationRun):len((*c.CallOptions).GetEvaluationRun)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationRun{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEvaluationRun") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListEvaluations lists all evaluations in the given app. +func (c *evaluationRESTClient) ListEvaluations(ctx context.Context, req *cespb.ListEvaluationsRequest, opts ...gax.CallOption) *EvaluationIterator { + it := &EvaluationIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.Evaluation, string, error) { + resp := &cespb.ListEvaluationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEvaluationFilter() != "" { + params.Add("evaluationFilter", fmt.Sprintf("%v", req.GetEvaluationFilter())) + } + if req.GetEvaluationRunFilter() != "" { + params.Add("evaluationRunFilter", fmt.Sprintf("%v", req.GetEvaluationRunFilter())) + } + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetLastTenResults() { + params.Add("lastTenResults", fmt.Sprintf("%v", req.GetLastTenResults())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListEvaluations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEvaluations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListEvaluationResults lists all evaluation results for a given evaluation. +func (c *evaluationRESTClient) ListEvaluationResults(ctx context.Context, req *cespb.ListEvaluationResultsRequest, opts ...gax.CallOption) *EvaluationResultIterator { + it := &EvaluationResultIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationResultsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationResult, string, error) { + resp := &cespb.ListEvaluationResultsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/results", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListEvaluationResults") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEvaluationResults(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListEvaluationDatasets lists all evaluation datasets in the given app. +func (c *evaluationRESTClient) ListEvaluationDatasets(ctx context.Context, req *cespb.ListEvaluationDatasetsRequest, opts ...gax.CallOption) *EvaluationDatasetIterator { + it := &EvaluationDatasetIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationDatasetsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationDataset, string, error) { + resp := &cespb.ListEvaluationDatasetsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluationDatasets", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListEvaluationDatasets") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEvaluationDatasets(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListEvaluationRuns lists all evaluation runs in the given app. +func (c *evaluationRESTClient) ListEvaluationRuns(ctx context.Context, req *cespb.ListEvaluationRunsRequest, opts ...gax.CallOption) *EvaluationRunIterator { + it := &EvaluationRunIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationRunsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationRun, string, error) { + resp := &cespb.ListEvaluationRunsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluationRuns", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListEvaluationRuns") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEvaluationRuns(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListEvaluationExpectations lists all evaluation expectations in the given app. +func (c *evaluationRESTClient) ListEvaluationExpectations(ctx context.Context, req *cespb.ListEvaluationExpectationsRequest, opts ...gax.CallOption) *EvaluationExpectationIterator { + it := &EvaluationExpectationIterator{} + req = proto.Clone(req).(*cespb.ListEvaluationExpectationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.EvaluationExpectation, string, error) { + resp := &cespb.ListEvaluationExpectationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluationExpectations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListEvaluationExpectations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEvaluationExpectations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetEvaluationExpectation gets details of the specified evaluation expectation. +func (c *evaluationRESTClient) GetEvaluationExpectation(ctx context.Context, req *cespb.GetEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEvaluationExpectation[0:len((*c.CallOptions).GetEvaluationExpectation):len((*c.CallOptions).GetEvaluationExpectation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationExpectation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEvaluationExpectation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateEvaluationExpectation creates an evaluation expectation. +func (c *evaluationRESTClient) CreateEvaluationExpectation(ctx context.Context, req *cespb.CreateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluationExpectation() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/evaluationExpectations", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEvaluationExpectationId() != "" { + params.Add("evaluationExpectationId", fmt.Sprintf("%v", req.GetEvaluationExpectationId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateEvaluationExpectation[0:len((*c.CallOptions).CreateEvaluationExpectation):len((*c.CallOptions).CreateEvaluationExpectation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationExpectation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateEvaluationExpectation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateEvaluationExpectation updates an evaluation expectation. +func (c *evaluationRESTClient) UpdateEvaluationExpectation(ctx context.Context, req *cespb.UpdateEvaluationExpectationRequest, opts ...gax.CallOption) (*cespb.EvaluationExpectation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEvaluationExpectation() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetEvaluationExpectation().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "evaluation_expectation.name", url.QueryEscape(req.GetEvaluationExpectation().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateEvaluationExpectation[0:len((*c.CallOptions).UpdateEvaluationExpectation):len((*c.CallOptions).UpdateEvaluationExpectation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.EvaluationExpectation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateEvaluationExpectation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteEvaluationExpectation deletes an evaluation expectation. +func (c *evaluationRESTClient) DeleteEvaluationExpectation(ctx context.Context, req *cespb.DeleteEvaluationExpectationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteEvaluationExpectation") + return err + }, opts...) +} + +// CreateScheduledEvaluationRun creates a scheduled evaluation run. +func (c *evaluationRESTClient) CreateScheduledEvaluationRun(ctx context.Context, req *cespb.CreateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetScheduledEvaluationRun() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/scheduledEvaluationRuns", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetScheduledEvaluationRunId() != "" { + params.Add("scheduledEvaluationRunId", fmt.Sprintf("%v", req.GetScheduledEvaluationRunId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateScheduledEvaluationRun[0:len((*c.CallOptions).CreateScheduledEvaluationRun):len((*c.CallOptions).CreateScheduledEvaluationRun)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.ScheduledEvaluationRun{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CreateScheduledEvaluationRun") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetScheduledEvaluationRun gets details of the specified scheduled evaluation run. +func (c *evaluationRESTClient) GetScheduledEvaluationRun(ctx context.Context, req *cespb.GetScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetScheduledEvaluationRun[0:len((*c.CallOptions).GetScheduledEvaluationRun):len((*c.CallOptions).GetScheduledEvaluationRun)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.ScheduledEvaluationRun{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetScheduledEvaluationRun") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListScheduledEvaluationRuns lists all scheduled evaluation runs in the given app. +func (c *evaluationRESTClient) ListScheduledEvaluationRuns(ctx context.Context, req *cespb.ListScheduledEvaluationRunsRequest, opts ...gax.CallOption) *ScheduledEvaluationRunIterator { + it := &ScheduledEvaluationRunIterator{} + req = proto.Clone(req).(*cespb.ListScheduledEvaluationRunsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*cespb.ScheduledEvaluationRun, string, error) { + resp := &cespb.ListScheduledEvaluationRunsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/scheduledEvaluationRuns", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListScheduledEvaluationRuns") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetScheduledEvaluationRuns(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// UpdateScheduledEvaluationRun updates a scheduled evaluation run. +func (c *evaluationRESTClient) UpdateScheduledEvaluationRun(ctx context.Context, req *cespb.UpdateScheduledEvaluationRunRequest, opts ...gax.CallOption) (*cespb.ScheduledEvaluationRun, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetScheduledEvaluationRun() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetScheduledEvaluationRun().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + field, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(field[1:len(field)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "scheduled_evaluation_run.name", url.QueryEscape(req.GetScheduledEvaluationRun().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateScheduledEvaluationRun[0:len((*c.CallOptions).UpdateScheduledEvaluationRun):len((*c.CallOptions).UpdateScheduledEvaluationRun)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.ScheduledEvaluationRun{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "UpdateScheduledEvaluationRun") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteScheduledEvaluationRun deletes a scheduled evaluation run. +func (c *evaluationRESTClient) DeleteScheduledEvaluationRun(ctx context.Context, req *cespb.DeleteScheduledEvaluationRunRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetEtag() != "" { + params.Add("etag", fmt.Sprintf("%v", req.GetEtag())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteScheduledEvaluationRun") + return err + }, opts...) +} + +// TestPersonaVoice tests the voice of a persona. Also accepts a default persona. +func (c *evaluationRESTClient) TestPersonaVoice(ctx context.Context, req *cespb.TestPersonaVoiceRequest, opts ...gax.CallOption) (*cespb.TestPersonaVoiceResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:testPersonaVoice", req.GetApp()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "app", url.QueryEscape(req.GetApp()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestPersonaVoice[0:len((*c.CallOptions).TestPersonaVoice):len((*c.CallOptions).TestPersonaVoice)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.TestPersonaVoiceResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "TestPersonaVoice") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *evaluationRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *evaluationRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *evaluationRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CancelOperation") + return err + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *evaluationRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteOperation") + return err + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *evaluationRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetOperation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *evaluationRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReturnPartialSuccess() { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListOperations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// DeleteEvaluationRunOperation returns a new DeleteEvaluationRunOperation from a given name. +// The name must be that of a previously created DeleteEvaluationRunOperation, possibly from a different process. +func (c *evaluationGRPCClient) DeleteEvaluationRunOperation(name string) *DeleteEvaluationRunOperation { + return &DeleteEvaluationRunOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteEvaluationRunOperation returns a new DeleteEvaluationRunOperation from a given name. +// The name must be that of a previously created DeleteEvaluationRunOperation, possibly from a different process. +func (c *evaluationRESTClient) DeleteEvaluationRunOperation(name string) *DeleteEvaluationRunOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &DeleteEvaluationRunOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// GenerateEvaluationOperation returns a new GenerateEvaluationOperation from a given name. +// The name must be that of a previously created GenerateEvaluationOperation, possibly from a different process. +func (c *evaluationGRPCClient) GenerateEvaluationOperation(name string) *GenerateEvaluationOperation { + return &GenerateEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// GenerateEvaluationOperation returns a new GenerateEvaluationOperation from a given name. +// The name must be that of a previously created GenerateEvaluationOperation, possibly from a different process. +func (c *evaluationRESTClient) GenerateEvaluationOperation(name string) *GenerateEvaluationOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &GenerateEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// ImportEvaluationsOperation returns a new ImportEvaluationsOperation from a given name. +// The name must be that of a previously created ImportEvaluationsOperation, possibly from a different process. +func (c *evaluationGRPCClient) ImportEvaluationsOperation(name string) *ImportEvaluationsOperation { + return &ImportEvaluationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// ImportEvaluationsOperation returns a new ImportEvaluationsOperation from a given name. +// The name must be that of a previously created ImportEvaluationsOperation, possibly from a different process. +func (c *evaluationRESTClient) ImportEvaluationsOperation(name string) *ImportEvaluationsOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &ImportEvaluationsOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// RunEvaluationOperation returns a new RunEvaluationOperation from a given name. +// The name must be that of a previously created RunEvaluationOperation, possibly from a different process. +func (c *evaluationGRPCClient) RunEvaluationOperation(name string) *RunEvaluationOperation { + return &RunEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// RunEvaluationOperation returns a new RunEvaluationOperation from a given name. +// The name must be that of a previously created RunEvaluationOperation, possibly from a different process. +func (c *evaluationRESTClient) RunEvaluationOperation(name string) *RunEvaluationOperation { + override := fmt.Sprintf("/v1beta/%s", name) + return &RunEvaluationOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/ces/apiv1beta/evaluation_client_example_go123_test.go b/ces/apiv1beta/evaluation_client_example_go123_test.go new file mode 100644 index 000000000000..800f58b773c4 --- /dev/null +++ b/ces/apiv1beta/evaluation_client_example_go123_test.go @@ -0,0 +1,236 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleEvaluationClient_ListEvaluationDatasets_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationDatasetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationDatasetsRequest. + } + for resp, err := range c.ListEvaluationDatasets(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListEvaluationExpectations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationExpectationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationExpectationsRequest. + } + for resp, err := range c.ListEvaluationExpectations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListEvaluationResults_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationResultsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationResultsRequest. + } + for resp, err := range c.ListEvaluationResults(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListEvaluationRuns_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationRunsRequest. + } + for resp, err := range c.ListEvaluationRuns(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListEvaluations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationsRequest. + } + for resp, err := range c.ListEvaluations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListScheduledEvaluationRuns_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListScheduledEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListScheduledEvaluationRunsRequest. + } + for resp, err := range c.ListScheduledEvaluationRuns(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleEvaluationClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/ces/apiv1beta/evaluation_client_example_test.go b/ces/apiv1beta/evaluation_client_example_test.go new file mode 100644 index 000000000000..f2ebff887976 --- /dev/null +++ b/ces/apiv1beta/evaluation_client_example_test.go @@ -0,0 +1,1086 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewEvaluationClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewEvaluationRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleEvaluationClient_CreateEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationRequest. + } + resp, err := c.CreateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_CreateEvaluationDataset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationDatasetRequest. + } + resp, err := c.CreateEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_CreateEvaluationExpectation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationExpectationRequest. + } + resp, err := c.CreateEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_CreateScheduledEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateScheduledEvaluationRunRequest. + } + resp, err := c.CreateScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_DeleteEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationRequest. + } + err = c.DeleteEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteEvaluationDataset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationDatasetRequest. + } + err = c.DeleteEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteEvaluationExpectation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationExpectationRequest. + } + err = c.DeleteEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteEvaluationResult() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationResultRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationResultRequest. + } + err = c.DeleteEvaluationResult(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationRunRequest. + } + op, err := c.DeleteEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteScheduledEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteScheduledEvaluationRunRequest. + } + err = c.DeleteScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_GenerateEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GenerateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GenerateEvaluationRequest. + } + op, err := c.GenerateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationRequest. + } + resp, err := c.GetEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetEvaluationDataset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationDatasetRequest. + } + resp, err := c.GetEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetEvaluationExpectation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationExpectationRequest. + } + resp, err := c.GetEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetEvaluationResult() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationResultRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationResultRequest. + } + resp, err := c.GetEvaluationResult(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationRunRequest. + } + resp, err := c.GetEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetScheduledEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetScheduledEvaluationRunRequest. + } + resp, err := c.GetScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_ImportEvaluations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ImportEvaluationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ImportEvaluationsRequest. + } + op, err := c.ImportEvaluations(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_ListEvaluationDatasets() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationDatasetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationDatasetsRequest. + } + it := c.ListEvaluationDatasets(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationDatasetsResponse) + } +} + +func ExampleEvaluationClient_ListEvaluationExpectations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationExpectationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationExpectationsRequest. + } + it := c.ListEvaluationExpectations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationExpectationsResponse) + } +} + +func ExampleEvaluationClient_ListEvaluationResults() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationResultsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationResultsRequest. + } + it := c.ListEvaluationResults(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationResultsResponse) + } +} + +func ExampleEvaluationClient_ListEvaluationRuns() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationRunsRequest. + } + it := c.ListEvaluationRuns(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationRunsResponse) + } +} + +func ExampleEvaluationClient_ListEvaluations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationsRequest. + } + it := c.ListEvaluations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationsResponse) + } +} + +func ExampleEvaluationClient_ListScheduledEvaluationRuns() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListScheduledEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListScheduledEvaluationRunsRequest. + } + it := c.ListScheduledEvaluationRuns(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListScheduledEvaluationRunsResponse) + } +} + +func ExampleEvaluationClient_RunEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RunEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RunEvaluationRequest. + } + op, err := c.RunEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_TestPersonaVoice() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.TestPersonaVoiceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#TestPersonaVoiceRequest. + } + resp, err := c.TestPersonaVoice(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_UpdateEvaluation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationRequest. + } + resp, err := c.UpdateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_UpdateEvaluationDataset() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationDatasetRequest. + } + resp, err := c.UpdateEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_UpdateEvaluationExpectation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationExpectationRequest. + } + resp, err := c.UpdateEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_UpdateScheduledEvaluationRun() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateScheduledEvaluationRunRequest. + } + resp, err := c.UpdateScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_UploadEvaluationAudio() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UploadEvaluationAudioRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UploadEvaluationAudioRequest. + } + resp, err := c.UploadEvaluationAudio(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleEvaluationClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleEvaluationClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleEvaluationClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} diff --git a/ces/apiv1beta/gapic_metadata.json b/ces/apiv1beta/gapic_metadata.json new file mode 100644 index 000000000000..bc86d364579d --- /dev/null +++ b/ces/apiv1beta/gapic_metadata.json @@ -0,0 +1,1229 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods.", + "language": "go", + "protoPackage": "google.cloud.ces.v1beta", + "libraryPackage": "cloud.google.com/go/ces/apiv1beta", + "services": { + "AgentService": { + "clients": { + "grpc": { + "libraryClient": "AgentClient", + "rpcs": { + "BatchDeleteConversations": { + "methods": [ + "BatchDeleteConversations" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateAgent": { + "methods": [ + "CreateAgent" + ] + }, + "CreateApp": { + "methods": [ + "CreateApp" + ] + }, + "CreateAppVersion": { + "methods": [ + "CreateAppVersion" + ] + }, + "CreateDeployment": { + "methods": [ + "CreateDeployment" + ] + }, + "CreateExample": { + "methods": [ + "CreateExample" + ] + }, + "CreateGuardrail": { + "methods": [ + "CreateGuardrail" + ] + }, + "CreateTool": { + "methods": [ + "CreateTool" + ] + }, + "CreateToolset": { + "methods": [ + "CreateToolset" + ] + }, + "DeleteAgent": { + "methods": [ + "DeleteAgent" + ] + }, + "DeleteApp": { + "methods": [ + "DeleteApp" + ] + }, + "DeleteAppVersion": { + "methods": [ + "DeleteAppVersion" + ] + }, + "DeleteConversation": { + "methods": [ + "DeleteConversation" + ] + }, + "DeleteDeployment": { + "methods": [ + "DeleteDeployment" + ] + }, + "DeleteExample": { + "methods": [ + "DeleteExample" + ] + }, + "DeleteGuardrail": { + "methods": [ + "DeleteGuardrail" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteTool": { + "methods": [ + "DeleteTool" + ] + }, + "DeleteToolset": { + "methods": [ + "DeleteToolset" + ] + }, + "ExportApp": { + "methods": [ + "ExportApp" + ] + }, + "GetAgent": { + "methods": [ + "GetAgent" + ] + }, + "GetApp": { + "methods": [ + "GetApp" + ] + }, + "GetAppVersion": { + "methods": [ + "GetAppVersion" + ] + }, + "GetChangelog": { + "methods": [ + "GetChangelog" + ] + }, + "GetConversation": { + "methods": [ + "GetConversation" + ] + }, + "GetDeployment": { + "methods": [ + "GetDeployment" + ] + }, + "GetExample": { + "methods": [ + "GetExample" + ] + }, + "GetGuardrail": { + "methods": [ + "GetGuardrail" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetTool": { + "methods": [ + "GetTool" + ] + }, + "GetToolset": { + "methods": [ + "GetToolset" + ] + }, + "ImportApp": { + "methods": [ + "ImportApp" + ] + }, + "ListAgents": { + "methods": [ + "ListAgents" + ] + }, + "ListAppVersions": { + "methods": [ + "ListAppVersions" + ] + }, + "ListApps": { + "methods": [ + "ListApps" + ] + }, + "ListChangelogs": { + "methods": [ + "ListChangelogs" + ] + }, + "ListConversations": { + "methods": [ + "ListConversations" + ] + }, + "ListDeployments": { + "methods": [ + "ListDeployments" + ] + }, + "ListExamples": { + "methods": [ + "ListExamples" + ] + }, + "ListGuardrails": { + "methods": [ + "ListGuardrails" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListTools": { + "methods": [ + "ListTools" + ] + }, + "ListToolsets": { + "methods": [ + "ListToolsets" + ] + }, + "RestoreAppVersion": { + "methods": [ + "RestoreAppVersion" + ] + }, + "UpdateAgent": { + "methods": [ + "UpdateAgent" + ] + }, + "UpdateApp": { + "methods": [ + "UpdateApp" + ] + }, + "UpdateDeployment": { + "methods": [ + "UpdateDeployment" + ] + }, + "UpdateExample": { + "methods": [ + "UpdateExample" + ] + }, + "UpdateGuardrail": { + "methods": [ + "UpdateGuardrail" + ] + }, + "UpdateTool": { + "methods": [ + "UpdateTool" + ] + }, + "UpdateToolset": { + "methods": [ + "UpdateToolset" + ] + } + } + }, + "rest": { + "libraryClient": "AgentClient", + "rpcs": { + "BatchDeleteConversations": { + "methods": [ + "BatchDeleteConversations" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateAgent": { + "methods": [ + "CreateAgent" + ] + }, + "CreateApp": { + "methods": [ + "CreateApp" + ] + }, + "CreateAppVersion": { + "methods": [ + "CreateAppVersion" + ] + }, + "CreateDeployment": { + "methods": [ + "CreateDeployment" + ] + }, + "CreateExample": { + "methods": [ + "CreateExample" + ] + }, + "CreateGuardrail": { + "methods": [ + "CreateGuardrail" + ] + }, + "CreateTool": { + "methods": [ + "CreateTool" + ] + }, + "CreateToolset": { + "methods": [ + "CreateToolset" + ] + }, + "DeleteAgent": { + "methods": [ + "DeleteAgent" + ] + }, + "DeleteApp": { + "methods": [ + "DeleteApp" + ] + }, + "DeleteAppVersion": { + "methods": [ + "DeleteAppVersion" + ] + }, + "DeleteConversation": { + "methods": [ + "DeleteConversation" + ] + }, + "DeleteDeployment": { + "methods": [ + "DeleteDeployment" + ] + }, + "DeleteExample": { + "methods": [ + "DeleteExample" + ] + }, + "DeleteGuardrail": { + "methods": [ + "DeleteGuardrail" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteTool": { + "methods": [ + "DeleteTool" + ] + }, + "DeleteToolset": { + "methods": [ + "DeleteToolset" + ] + }, + "ExportApp": { + "methods": [ + "ExportApp" + ] + }, + "GetAgent": { + "methods": [ + "GetAgent" + ] + }, + "GetApp": { + "methods": [ + "GetApp" + ] + }, + "GetAppVersion": { + "methods": [ + "GetAppVersion" + ] + }, + "GetChangelog": { + "methods": [ + "GetChangelog" + ] + }, + "GetConversation": { + "methods": [ + "GetConversation" + ] + }, + "GetDeployment": { + "methods": [ + "GetDeployment" + ] + }, + "GetExample": { + "methods": [ + "GetExample" + ] + }, + "GetGuardrail": { + "methods": [ + "GetGuardrail" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetTool": { + "methods": [ + "GetTool" + ] + }, + "GetToolset": { + "methods": [ + "GetToolset" + ] + }, + "ImportApp": { + "methods": [ + "ImportApp" + ] + }, + "ListAgents": { + "methods": [ + "ListAgents" + ] + }, + "ListAppVersions": { + "methods": [ + "ListAppVersions" + ] + }, + "ListApps": { + "methods": [ + "ListApps" + ] + }, + "ListChangelogs": { + "methods": [ + "ListChangelogs" + ] + }, + "ListConversations": { + "methods": [ + "ListConversations" + ] + }, + "ListDeployments": { + "methods": [ + "ListDeployments" + ] + }, + "ListExamples": { + "methods": [ + "ListExamples" + ] + }, + "ListGuardrails": { + "methods": [ + "ListGuardrails" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListTools": { + "methods": [ + "ListTools" + ] + }, + "ListToolsets": { + "methods": [ + "ListToolsets" + ] + }, + "RestoreAppVersion": { + "methods": [ + "RestoreAppVersion" + ] + }, + "UpdateAgent": { + "methods": [ + "UpdateAgent" + ] + }, + "UpdateApp": { + "methods": [ + "UpdateApp" + ] + }, + "UpdateDeployment": { + "methods": [ + "UpdateDeployment" + ] + }, + "UpdateExample": { + "methods": [ + "UpdateExample" + ] + }, + "UpdateGuardrail": { + "methods": [ + "UpdateGuardrail" + ] + }, + "UpdateTool": { + "methods": [ + "UpdateTool" + ] + }, + "UpdateToolset": { + "methods": [ + "UpdateToolset" + ] + } + } + } + } + }, + "EvaluationService": { + "clients": { + "grpc": { + "libraryClient": "EvaluationClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateEvaluation": { + "methods": [ + "CreateEvaluation" + ] + }, + "CreateEvaluationDataset": { + "methods": [ + "CreateEvaluationDataset" + ] + }, + "CreateEvaluationExpectation": { + "methods": [ + "CreateEvaluationExpectation" + ] + }, + "CreateScheduledEvaluationRun": { + "methods": [ + "CreateScheduledEvaluationRun" + ] + }, + "DeleteEvaluation": { + "methods": [ + "DeleteEvaluation" + ] + }, + "DeleteEvaluationDataset": { + "methods": [ + "DeleteEvaluationDataset" + ] + }, + "DeleteEvaluationExpectation": { + "methods": [ + "DeleteEvaluationExpectation" + ] + }, + "DeleteEvaluationResult": { + "methods": [ + "DeleteEvaluationResult" + ] + }, + "DeleteEvaluationRun": { + "methods": [ + "DeleteEvaluationRun" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteScheduledEvaluationRun": { + "methods": [ + "DeleteScheduledEvaluationRun" + ] + }, + "GenerateEvaluation": { + "methods": [ + "GenerateEvaluation" + ] + }, + "GetEvaluation": { + "methods": [ + "GetEvaluation" + ] + }, + "GetEvaluationDataset": { + "methods": [ + "GetEvaluationDataset" + ] + }, + "GetEvaluationExpectation": { + "methods": [ + "GetEvaluationExpectation" + ] + }, + "GetEvaluationResult": { + "methods": [ + "GetEvaluationResult" + ] + }, + "GetEvaluationRun": { + "methods": [ + "GetEvaluationRun" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetScheduledEvaluationRun": { + "methods": [ + "GetScheduledEvaluationRun" + ] + }, + "ImportEvaluations": { + "methods": [ + "ImportEvaluations" + ] + }, + "ListEvaluationDatasets": { + "methods": [ + "ListEvaluationDatasets" + ] + }, + "ListEvaluationExpectations": { + "methods": [ + "ListEvaluationExpectations" + ] + }, + "ListEvaluationResults": { + "methods": [ + "ListEvaluationResults" + ] + }, + "ListEvaluationRuns": { + "methods": [ + "ListEvaluationRuns" + ] + }, + "ListEvaluations": { + "methods": [ + "ListEvaluations" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListScheduledEvaluationRuns": { + "methods": [ + "ListScheduledEvaluationRuns" + ] + }, + "RunEvaluation": { + "methods": [ + "RunEvaluation" + ] + }, + "TestPersonaVoice": { + "methods": [ + "TestPersonaVoice" + ] + }, + "UpdateEvaluation": { + "methods": [ + "UpdateEvaluation" + ] + }, + "UpdateEvaluationDataset": { + "methods": [ + "UpdateEvaluationDataset" + ] + }, + "UpdateEvaluationExpectation": { + "methods": [ + "UpdateEvaluationExpectation" + ] + }, + "UpdateScheduledEvaluationRun": { + "methods": [ + "UpdateScheduledEvaluationRun" + ] + }, + "UploadEvaluationAudio": { + "methods": [ + "UploadEvaluationAudio" + ] + } + } + }, + "rest": { + "libraryClient": "EvaluationClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "CreateEvaluation": { + "methods": [ + "CreateEvaluation" + ] + }, + "CreateEvaluationDataset": { + "methods": [ + "CreateEvaluationDataset" + ] + }, + "CreateEvaluationExpectation": { + "methods": [ + "CreateEvaluationExpectation" + ] + }, + "CreateScheduledEvaluationRun": { + "methods": [ + "CreateScheduledEvaluationRun" + ] + }, + "DeleteEvaluation": { + "methods": [ + "DeleteEvaluation" + ] + }, + "DeleteEvaluationDataset": { + "methods": [ + "DeleteEvaluationDataset" + ] + }, + "DeleteEvaluationExpectation": { + "methods": [ + "DeleteEvaluationExpectation" + ] + }, + "DeleteEvaluationResult": { + "methods": [ + "DeleteEvaluationResult" + ] + }, + "DeleteEvaluationRun": { + "methods": [ + "DeleteEvaluationRun" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteScheduledEvaluationRun": { + "methods": [ + "DeleteScheduledEvaluationRun" + ] + }, + "GenerateEvaluation": { + "methods": [ + "GenerateEvaluation" + ] + }, + "GetEvaluation": { + "methods": [ + "GetEvaluation" + ] + }, + "GetEvaluationDataset": { + "methods": [ + "GetEvaluationDataset" + ] + }, + "GetEvaluationExpectation": { + "methods": [ + "GetEvaluationExpectation" + ] + }, + "GetEvaluationResult": { + "methods": [ + "GetEvaluationResult" + ] + }, + "GetEvaluationRun": { + "methods": [ + "GetEvaluationRun" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetScheduledEvaluationRun": { + "methods": [ + "GetScheduledEvaluationRun" + ] + }, + "ImportEvaluations": { + "methods": [ + "ImportEvaluations" + ] + }, + "ListEvaluationDatasets": { + "methods": [ + "ListEvaluationDatasets" + ] + }, + "ListEvaluationExpectations": { + "methods": [ + "ListEvaluationExpectations" + ] + }, + "ListEvaluationResults": { + "methods": [ + "ListEvaluationResults" + ] + }, + "ListEvaluationRuns": { + "methods": [ + "ListEvaluationRuns" + ] + }, + "ListEvaluations": { + "methods": [ + "ListEvaluations" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListScheduledEvaluationRuns": { + "methods": [ + "ListScheduledEvaluationRuns" + ] + }, + "RunEvaluation": { + "methods": [ + "RunEvaluation" + ] + }, + "TestPersonaVoice": { + "methods": [ + "TestPersonaVoice" + ] + }, + "UpdateEvaluation": { + "methods": [ + "UpdateEvaluation" + ] + }, + "UpdateEvaluationDataset": { + "methods": [ + "UpdateEvaluationDataset" + ] + }, + "UpdateEvaluationExpectation": { + "methods": [ + "UpdateEvaluationExpectation" + ] + }, + "UpdateScheduledEvaluationRun": { + "methods": [ + "UpdateScheduledEvaluationRun" + ] + }, + "UploadEvaluationAudio": { + "methods": [ + "UploadEvaluationAudio" + ] + } + } + } + } + }, + "SessionService": { + "clients": { + "grpc": { + "libraryClient": "SessionClient", + "rpcs": { + "BidiRunSession": { + "methods": [ + "BidiRunSession" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "RunSession": { + "methods": [ + "RunSession" + ] + } + } + }, + "rest": { + "libraryClient": "SessionClient", + "rpcs": { + "BidiRunSession": { + "methods": [ + "BidiRunSession" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "RunSession": { + "methods": [ + "RunSession" + ] + } + } + } + } + }, + "ToolService": { + "clients": { + "grpc": { + "libraryClient": "ToolClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "ExecuteTool": { + "methods": [ + "ExecuteTool" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "RetrieveToolSchema": { + "methods": [ + "RetrieveToolSchema" + ] + }, + "RetrieveTools": { + "methods": [ + "RetrieveTools" + ] + } + } + }, + "rest": { + "libraryClient": "ToolClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "ExecuteTool": { + "methods": [ + "ExecuteTool" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "RetrieveToolSchema": { + "methods": [ + "RetrieveToolSchema" + ] + }, + "RetrieveTools": { + "methods": [ + "RetrieveTools" + ] + } + } + } + } + }, + "WidgetService": { + "clients": { + "grpc": { + "libraryClient": "WidgetClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GenerateChatToken": { + "methods": [ + "GenerateChatToken" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + }, + "rest": { + "libraryClient": "WidgetClient", + "rpcs": { + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "GenerateChatToken": { + "methods": [ + "GenerateChatToken" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + } + } + } + } + } + } +} diff --git a/ces/apiv1beta/helpers.go b/ces/apiv1beta/helpers.go new file mode 100644 index 000000000000..cbcd7d18f449 --- /dev/null +++ b/ces/apiv1beta/helpers.go @@ -0,0 +1,106 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "context" + "fmt" + "io" + "log/slog" + "net/http" + + "github.com/googleapis/gax-go/v2/internallog" + "github.com/googleapis/gax-go/v2/internallog/grpclog" + "google.golang.org/api/googleapi" + "google.golang.org/api/option" + "google.golang.org/grpc" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/runtime/protoimpl" +) + +const serviceName = "ces.googleapis.com" + +var protoVersion = fmt.Sprintf("1.%d", protoimpl.MaxVersion) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/ces", + "https://www.googleapis.com/auth/cloud-platform", + } +} + +func executeHTTPRequestWithResponse(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) ([]byte, *http.Response, error) { + logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body)) + resp, err := client.Do(req) + if err != nil { + return nil, nil, err + } + defer resp.Body.Close() + buf, err := io.ReadAll(resp.Body) + if err != nil { + return nil, nil, err + } + logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, buf)) + if err = googleapi.CheckResponseWithBody(resp, buf); err != nil { + return nil, nil, err + } + return buf, resp, nil +} + +func executeHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) ([]byte, error) { + buf, _, err := executeHTTPRequestWithResponse(ctx, client, req, logger, body, rpc) + return buf, err +} + +func executeStreamingHTTPRequest(ctx context.Context, client *http.Client, req *http.Request, logger *slog.Logger, body []byte, rpc string) (*http.Response, error) { + logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", internallog.HTTPRequest(req, body)) + resp, err := client.Do(req) + if err != nil { + return nil, err + } + logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", internallog.HTTPResponse(resp, nil)) + if err = googleapi.CheckResponse(resp); err != nil { + return nil, err + } + return resp, nil +} + +func executeRPC[I proto.Message, O proto.Message](ctx context.Context, fn func(context.Context, I, ...grpc.CallOption) (O, error), req I, opts []grpc.CallOption, logger *slog.Logger, rpc string) (O, error) { + var zero O + logger.DebugContext(ctx, "api request", "serviceName", serviceName, "rpcName", rpc, "request", grpclog.ProtoMessageRequest(ctx, req)) + resp, err := fn(ctx, req, opts...) + if err != nil { + return zero, err + } + logger.DebugContext(ctx, "api response", "serviceName", serviceName, "rpcName", rpc, "response", grpclog.ProtoMessageResponse(resp)) + return resp, err +} diff --git a/ces/apiv1beta/session_client.go b/ces/apiv1beta/session_client.go new file mode 100644 index 000000000000..1a379e3d8391 --- /dev/null +++ b/ces/apiv1beta/session_client.go @@ -0,0 +1,1111 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "bytes" + "context" + "errors" + "fmt" + "log/slog" + "math" + "net/http" + "net/url" + "time" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newSessionClientHook clientHook + +// SessionCallOptions contains the retry settings for each method of SessionClient. +type SessionCallOptions struct { + RunSession []gax.CallOption + BidiRunSession []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultSessionGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("ces.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("ces.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("ces.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultSessionCallOptions() *SessionCallOptions { + return &SessionCallOptions{ + RunSession: []gax.CallOption{ + gax.WithTimeout(220000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{}, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + BidiRunSession: []gax.CallOption{ + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{}, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultSessionRESTCallOptions() *SessionCallOptions { + return &SessionCallOptions{ + RunSession: []gax.CallOption{ + gax.WithTimeout(220000 * time.Millisecond), + }, + BidiRunSession: []gax.CallOption{ + gax.WithTimeout(3600000 * time.Millisecond), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalSessionClient is an interface that defines the methods available from Gemini Enterprise for Customer Experience API. +type internalSessionClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + RunSession(context.Context, *cespb.RunSessionRequest, ...gax.CallOption) (*cespb.RunSessionResponse, error) + BidiRunSession(context.Context, ...gax.CallOption) (cespb.SessionService_BidiRunSessionClient, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// SessionClient is a client for interacting with Gemini Enterprise for Customer Experience API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// Session service provides APIs for interacting with CES agents. +type SessionClient struct { + // The internal transport-dependent client. + internalClient internalSessionClient + + // The call options for this service. + CallOptions *SessionCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *SessionClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *SessionClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *SessionClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// RunSession initiates a single turn interaction with the CES agent within a +// session. +func (c *SessionClient) RunSession(ctx context.Context, req *cespb.RunSessionRequest, opts ...gax.CallOption) (*cespb.RunSessionResponse, error) { + return c.internalClient.RunSession(ctx, req, opts...) +} + +// BidiRunSession 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. +// +// — Client Request Stream — +// The client streams requests in the following order: +// +// Initialization: +// The first message must contain +// SessionConfig. +// For audio sessions, this should also include +// InputAudioConfig +// and +// OutputAudioConfig +// to define audio processing and synthesis parameters. +// +// Interaction: +// Subsequent messages stream +// SessionInput +// containing real-time user input data. +// +// Termination: +// The client should half-close the stream when there is no more user +// input. It should also half-close upon receiving +// EndSession +// or GoAway +// from the agent. +// +// — Server Response Stream — +// For each interaction turn, the agent streams messages in the following +// sequence: +// +// Speech Recognition (First N messages): +// Contains +// RecognitionResult +// representing the concatenated user speech segments captured so far. +// This is only populated for audio sessions. +// +// Response (Next M messages): +// Contains +// SessionOutput +// delivering the agent’s response in various modalities (e.g., text, +// audio). +// +// Turn Completion (Final message of the turn): +// Contains +// SessionOutput +// with +// turn_completed +// set to true. This signals the end of the current turn and includes +// DiagnosticInfo +// with execution details. +// +// — Audio Best Practices — +// +// Streaming: +// Stream [audio data][google.cloud.ces.v1beta.SessionInput.audio (at http://google.cloud.ces.v1beta.SessionInput.audio)] +// CONTINUOUSLY, even during silence. Recommended chunk size: 40-120ms +// (balances latency vs. efficiency). +// +// Playback & Interruption: +// Play [audio responses][google.cloud.ces.v1beta.SessionOutput.audio (at http://google.cloud.ces.v1beta.SessionOutput.audio)] +// upon receipt. Stop playback immediately if an +// InterruptionSignal +// is received (e.g., user barge-in or new agent response). +// +// This method is not supported for the REST transport. +func (c *SessionClient) BidiRunSession(ctx context.Context, opts ...gax.CallOption) (cespb.SessionService_BidiRunSessionClient, error) { + return c.internalClient.BidiRunSession(ctx, opts...) +} + +// GetLocation gets information about a location. +func (c *SessionClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *SessionClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *SessionClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *SessionClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *SessionClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *SessionClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// sessionGRPCClient is a client for interacting with Gemini Enterprise for Customer Experience API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type sessionGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing SessionClient + CallOptions **SessionCallOptions + + // The gRPC API client. + sessionClient cespb.SessionServiceClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string + + logger *slog.Logger +} + +// NewSessionClient creates a new session service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Session service provides APIs for interacting with CES agents. +func NewSessionClient(ctx context.Context, opts ...option.ClientOption) (*SessionClient, error) { + clientOpts := defaultSessionGRPCClientOptions() + if newSessionClientHook != nil { + hookOpts, err := newSessionClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := SessionClient{CallOptions: defaultSessionCallOptions()} + + c := &sessionGRPCClient{ + connPool: connPool, + sessionClient: cespb.NewSessionServiceClient(connPool), + CallOptions: &client.CallOptions, + logger: internaloption.GetLogger(opts), + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *sessionGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *sessionGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *sessionGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type sessionRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing SessionClient + CallOptions **SessionCallOptions + + logger *slog.Logger +} + +// NewSessionRESTClient creates a new session service rest client. +// +// Session service provides APIs for interacting with CES agents. +func NewSessionRESTClient(ctx context.Context, opts ...option.ClientOption) (*SessionClient, error) { + clientOpts := append(defaultSessionRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultSessionRESTCallOptions() + c := &sessionRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + logger: internaloption.GetLogger(opts), + } + c.setGoogleClientInfo() + + return &SessionClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultSessionRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://ces.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://ces.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://ces.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *sessionRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *sessionRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *sessionRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *sessionGRPCClient) RunSession(ctx context.Context, req *cespb.RunSessionRequest, opts ...gax.CallOption) (*cespb.RunSessionResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "config.session", url.QueryEscape(req.GetConfig().GetSession()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RunSession[0:len((*c.CallOptions).RunSession):len((*c.CallOptions).RunSession)], opts...) + var resp *cespb.RunSessionResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.sessionClient.RunSession, req, settings.GRPC, c.logger, "RunSession") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *sessionGRPCClient) BidiRunSession(ctx context.Context, opts ...gax.CallOption) (cespb.SessionService_BidiRunSessionClient, error) { + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...) + var resp cespb.SessionService_BidiRunSessionClient + opts = append((*c.CallOptions).BidiRunSession[0:len((*c.CallOptions).BidiRunSession):len((*c.CallOptions).BidiRunSession)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + c.logger.DebugContext(ctx, "api streaming client request", "serviceName", serviceName, "rpcName", "BidiRunSession") + resp, err = c.sessionClient.BidiRunSession(ctx, settings.GRPC...) + c.logger.DebugContext(ctx, "api streaming client response", "serviceName", serviceName, "rpcName", "BidiRunSession") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *sessionGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *sessionGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *sessionGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation") + return err + }, opts...) + return err +} + +func (c *sessionGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation") + return err + }, opts...) + return err +} + +func (c *sessionGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *sessionGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// RunSession initiates a single turn interaction with the CES agent within a +// session. +func (c *sessionRESTClient) RunSession(ctx context.Context, req *cespb.RunSessionRequest, opts ...gax.CallOption) (*cespb.RunSessionResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:runSession", req.GetConfig().GetSession()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "config.session", url.QueryEscape(req.GetConfig().GetSession()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RunSession[0:len((*c.CallOptions).RunSession):len((*c.CallOptions).RunSession)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.RunSessionResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RunSession") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// BidiRunSession 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. +// +// — Client Request Stream — +// The client streams requests in the following order: +// +// Initialization: +// The first message must contain +// SessionConfig. +// For audio sessions, this should also include +// InputAudioConfig +// and +// OutputAudioConfig +// to define audio processing and synthesis parameters. +// +// Interaction: +// Subsequent messages stream +// SessionInput +// containing real-time user input data. +// +// Termination: +// The client should half-close the stream when there is no more user +// input. It should also half-close upon receiving +// EndSession +// or GoAway +// from the agent. +// +// — Server Response Stream — +// For each interaction turn, the agent streams messages in the following +// sequence: +// +// Speech Recognition (First N messages): +// Contains +// RecognitionResult +// representing the concatenated user speech segments captured so far. +// This is only populated for audio sessions. +// +// Response (Next M messages): +// Contains +// SessionOutput +// delivering the agent’s response in various modalities (e.g., text, +// audio). +// +// Turn Completion (Final message of the turn): +// Contains +// SessionOutput +// with +// turn_completed +// set to true. This signals the end of the current turn and includes +// DiagnosticInfo +// with execution details. +// +// — Audio Best Practices — +// +// Streaming: +// Stream [audio data][google.cloud.ces.v1beta.SessionInput.audio (at http://google.cloud.ces.v1beta.SessionInput.audio)] +// CONTINUOUSLY, even during silence. Recommended chunk size: 40-120ms +// (balances latency vs. efficiency). +// +// Playback & Interruption: +// Play [audio responses][google.cloud.ces.v1beta.SessionOutput.audio (at http://google.cloud.ces.v1beta.SessionOutput.audio)] +// upon receipt. Stop playback immediately if an +// InterruptionSignal +// is received (e.g., user barge-in or new agent response). +// +// This method is not supported for the REST transport. +func (c *sessionRESTClient) BidiRunSession(ctx context.Context, opts ...gax.CallOption) (cespb.SessionService_BidiRunSessionClient, error) { + return nil, errors.New("BidiRunSession not yet supported for REST clients") +} + +// GetLocation gets information about a location. +func (c *sessionRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *sessionRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *sessionRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CancelOperation") + return err + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *sessionRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteOperation") + return err + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *sessionRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetOperation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *sessionRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReturnPartialSuccess() { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListOperations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} diff --git a/ces/apiv1beta/session_client_example_go123_test.go b/ces/apiv1beta/session_client_example_go123_test.go new file mode 100644 index 000000000000..5d8e0c2a0c0b --- /dev/null +++ b/ces/apiv1beta/session_client_example_go123_test.go @@ -0,0 +1,79 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleSessionClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleSessionClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/ces/apiv1beta/session_client_example_test.go b/ces/apiv1beta/session_client_example_test.go new file mode 100644 index 000000000000..d14fe6bfebde --- /dev/null +++ b/ces/apiv1beta/session_client_example_test.go @@ -0,0 +1,297 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces_test + +import ( + "context" + "io" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewSessionClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewSessionRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleSessionClient_BidiRunSession() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + stream, err := c.BidiRunSession(ctx) + if err != nil { + // TODO: Handle error. + } + go func() { + reqs := []*cespb.BidiSessionClientMessage{ + // TODO: Create requests. + } + for _, req := range reqs { + if err := stream.Send(req); err != nil { + // TODO: Handle error. + } + } + stream.CloseSend() + }() + for { + resp, err := stream.Recv() + if err == io.EOF { + break + } + if err != nil { + // TODO: handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleSessionClient_RunSession() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RunSessionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RunSessionRequest. + } + resp, err := c.RunSession(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleSessionClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleSessionClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleSessionClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleSessionClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleSessionClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleSessionClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} diff --git a/ces/apiv1beta/tool_client.go b/ces/apiv1beta/tool_client.go new file mode 100644 index 000000000000..8fb9101eb0ab --- /dev/null +++ b/ces/apiv1beta/tool_client.go @@ -0,0 +1,1161 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "bytes" + "context" + "fmt" + "log/slog" + "math" + "net/http" + "net/url" + "time" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newToolClientHook clientHook + +// ToolCallOptions contains the retry settings for each method of ToolClient. +type ToolCallOptions struct { + ExecuteTool []gax.CallOption + RetrieveToolSchema []gax.CallOption + RetrieveTools []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultToolGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("ces.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("ces.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("ces.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultToolCallOptions() *ToolCallOptions { + return &ToolCallOptions{ + ExecuteTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + RetrieveToolSchema: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + RetrieveTools: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnCodes([]codes.Code{ + codes.DeadlineExceeded, + codes.Unavailable, + }, gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultToolRESTCallOptions() *ToolCallOptions { + return &ToolCallOptions{ + ExecuteTool: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + RetrieveToolSchema: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + RetrieveTools: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalToolClient is an interface that defines the methods available from Gemini Enterprise for Customer Experience API. +type internalToolClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ExecuteTool(context.Context, *cespb.ExecuteToolRequest, ...gax.CallOption) (*cespb.ExecuteToolResponse, error) + RetrieveToolSchema(context.Context, *cespb.RetrieveToolSchemaRequest, ...gax.CallOption) (*cespb.RetrieveToolSchemaResponse, error) + RetrieveTools(context.Context, *cespb.RetrieveToolsRequest, ...gax.CallOption) (*cespb.RetrieveToolsResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// ToolClient is a client for interacting with Gemini Enterprise for Customer Experience API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// Tool service provides APIs for interacting with CES tools. +type ToolClient struct { + // The internal transport-dependent client. + internalClient internalToolClient + + // The call options for this service. + CallOptions *ToolCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *ToolClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *ToolClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *ToolClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ExecuteTool executes the given tool with the given arguments. +func (c *ToolClient) ExecuteTool(ctx context.Context, req *cespb.ExecuteToolRequest, opts ...gax.CallOption) (*cespb.ExecuteToolResponse, error) { + return c.internalClient.ExecuteTool(ctx, req, opts...) +} + +// RetrieveToolSchema retrieve the schema of the given tool. The schema is computed on the fly +// for the given instance of the tool. +func (c *ToolClient) RetrieveToolSchema(ctx context.Context, req *cespb.RetrieveToolSchemaRequest, opts ...gax.CallOption) (*cespb.RetrieveToolSchemaResponse, error) { + return c.internalClient.RetrieveToolSchema(ctx, req, opts...) +} + +// RetrieveTools retrieve the list of tools included in the specified toolset. +func (c *ToolClient) RetrieveTools(ctx context.Context, req *cespb.RetrieveToolsRequest, opts ...gax.CallOption) (*cespb.RetrieveToolsResponse, error) { + return c.internalClient.RetrieveTools(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *ToolClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *ToolClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *ToolClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *ToolClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *ToolClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *ToolClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// toolGRPCClient is a client for interacting with Gemini Enterprise for Customer Experience API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type toolGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing ToolClient + CallOptions **ToolCallOptions + + // The gRPC API client. + toolClient cespb.ToolServiceClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string + + logger *slog.Logger +} + +// NewToolClient creates a new tool service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Tool service provides APIs for interacting with CES tools. +func NewToolClient(ctx context.Context, opts ...option.ClientOption) (*ToolClient, error) { + clientOpts := defaultToolGRPCClientOptions() + if newToolClientHook != nil { + hookOpts, err := newToolClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := ToolClient{CallOptions: defaultToolCallOptions()} + + c := &toolGRPCClient{ + connPool: connPool, + toolClient: cespb.NewToolServiceClient(connPool), + CallOptions: &client.CallOptions, + logger: internaloption.GetLogger(opts), + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *toolGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *toolGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *toolGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type toolRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing ToolClient + CallOptions **ToolCallOptions + + logger *slog.Logger +} + +// NewToolRESTClient creates a new tool service rest client. +// +// Tool service provides APIs for interacting with CES tools. +func NewToolRESTClient(ctx context.Context, opts ...option.ClientOption) (*ToolClient, error) { + clientOpts := append(defaultToolRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultToolRESTCallOptions() + c := &toolRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + logger: internaloption.GetLogger(opts), + } + c.setGoogleClientInfo() + + return &ToolClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultToolRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://ces.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://ces.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://ces.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *toolRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *toolRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *toolRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *toolGRPCClient) ExecuteTool(ctx context.Context, req *cespb.ExecuteToolRequest, opts ...gax.CallOption) (*cespb.ExecuteToolResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ExecuteTool[0:len((*c.CallOptions).ExecuteTool):len((*c.CallOptions).ExecuteTool)], opts...) + var resp *cespb.ExecuteToolResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.toolClient.ExecuteTool, req, settings.GRPC, c.logger, "ExecuteTool") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *toolGRPCClient) RetrieveToolSchema(ctx context.Context, req *cespb.RetrieveToolSchemaRequest, opts ...gax.CallOption) (*cespb.RetrieveToolSchemaResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RetrieveToolSchema[0:len((*c.CallOptions).RetrieveToolSchema):len((*c.CallOptions).RetrieveToolSchema)], opts...) + var resp *cespb.RetrieveToolSchemaResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.toolClient.RetrieveToolSchema, req, settings.GRPC, c.logger, "RetrieveToolSchema") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *toolGRPCClient) RetrieveTools(ctx context.Context, req *cespb.RetrieveToolsRequest, opts ...gax.CallOption) (*cespb.RetrieveToolsResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "toolset", url.QueryEscape(req.GetToolset()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RetrieveTools[0:len((*c.CallOptions).RetrieveTools):len((*c.CallOptions).RetrieveTools)], opts...) + var resp *cespb.RetrieveToolsResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.toolClient.RetrieveTools, req, settings.GRPC, c.logger, "RetrieveTools") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *toolGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *toolGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *toolGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation") + return err + }, opts...) + return err +} + +func (c *toolGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation") + return err + }, opts...) + return err +} + +func (c *toolGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *toolGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ExecuteTool executes the given tool with the given arguments. +func (c *toolRESTClient) ExecuteTool(ctx context.Context, req *cespb.ExecuteToolRequest, opts ...gax.CallOption) (*cespb.ExecuteToolResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:executeTool", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ExecuteTool[0:len((*c.CallOptions).ExecuteTool):len((*c.CallOptions).ExecuteTool)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.ExecuteToolResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "ExecuteTool") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RetrieveToolSchema retrieve the schema of the given tool. The schema is computed on the fly +// for the given instance of the tool. +func (c *toolRESTClient) RetrieveToolSchema(ctx context.Context, req *cespb.RetrieveToolSchemaRequest, opts ...gax.CallOption) (*cespb.RetrieveToolSchemaResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:retrieveToolSchema", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RetrieveToolSchema[0:len((*c.CallOptions).RetrieveToolSchema):len((*c.CallOptions).RetrieveToolSchema)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.RetrieveToolSchemaResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RetrieveToolSchema") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RetrieveTools retrieve the list of tools included in the specified toolset. +func (c *toolRESTClient) RetrieveTools(ctx context.Context, req *cespb.RetrieveToolsRequest, opts ...gax.CallOption) (*cespb.RetrieveToolsResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:retrieveTools", req.GetToolset()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "toolset", url.QueryEscape(req.GetToolset()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RetrieveTools[0:len((*c.CallOptions).RetrieveTools):len((*c.CallOptions).RetrieveTools)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.RetrieveToolsResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RetrieveTools") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *toolRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *toolRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *toolRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CancelOperation") + return err + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *toolRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteOperation") + return err + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *toolRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetOperation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *toolRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReturnPartialSuccess() { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListOperations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} diff --git a/ces/apiv1beta/tool_client_example_go123_test.go b/ces/apiv1beta/tool_client_example_go123_test.go new file mode 100644 index 000000000000..2693a09d68aa --- /dev/null +++ b/ces/apiv1beta/tool_client_example_go123_test.go @@ -0,0 +1,79 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleToolClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleToolClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/ces/apiv1beta/tool_client_example_test.go b/ces/apiv1beta/tool_client_example_test.go new file mode 100644 index 000000000000..f46a3cb914e3 --- /dev/null +++ b/ces/apiv1beta/tool_client_example_test.go @@ -0,0 +1,306 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewToolClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewToolRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleToolClient_ExecuteTool() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ExecuteToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ExecuteToolRequest. + } + resp, err := c.ExecuteTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleToolClient_RetrieveToolSchema() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RetrieveToolSchemaRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RetrieveToolSchemaRequest. + } + resp, err := c.RetrieveToolSchema(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleToolClient_RetrieveTools() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RetrieveToolsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RetrieveToolsRequest. + } + resp, err := c.RetrieveTools(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleToolClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleToolClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleToolClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleToolClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleToolClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleToolClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} diff --git a/ces/apiv1beta/version.go b/ces/apiv1beta/version.go new file mode 100644 index 000000000000..7e256aef141b --- /dev/null +++ b/ces/apiv1beta/version.go @@ -0,0 +1,23 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by gapicgen. DO NOT EDIT. + +package ces + +import "cloud.google.com/go/ces/internal" + +func init() { + versionClient = internal.Version +} diff --git a/ces/apiv1beta/widget_client.go b/ces/apiv1beta/widget_client.go new file mode 100644 index 000000000000..200a32c96b85 --- /dev/null +++ b/ces/apiv1beta/widget_client.go @@ -0,0 +1,924 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces + +import ( + "bytes" + "context" + "fmt" + "log/slog" + "math" + "net/http" + "net/url" + + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newWidgetClientHook clientHook + +// WidgetCallOptions contains the retry settings for each method of WidgetClient. +type WidgetCallOptions struct { + GenerateChatToken []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultWidgetGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("ces.googleapis.com:443"), + internaloption.WithDefaultEndpointTemplate("ces.UNIVERSE_DOMAIN:443"), + internaloption.WithDefaultMTLSEndpoint("ces.mtls.googleapis.com:443"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + internaloption.EnableNewAuthLibrary(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultWidgetCallOptions() *WidgetCallOptions { + return &WidgetCallOptions{ + GenerateChatToken: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultWidgetRESTCallOptions() *WidgetCallOptions { + return &WidgetCallOptions{ + GenerateChatToken: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalWidgetClient is an interface that defines the methods available from Gemini Enterprise for Customer Experience API. +type internalWidgetClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + GenerateChatToken(context.Context, *cespb.GenerateChatTokenRequest, ...gax.CallOption) (*cespb.GenerateChatTokenResponse, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// WidgetClient is a client for interacting with Gemini Enterprise for Customer Experience API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// Provides APIs for widgets to interact with CES APIs. +type WidgetClient struct { + // The internal transport-dependent client. + internalClient internalWidgetClient + + // The call options for this service. + CallOptions *WidgetCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *WidgetClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *WidgetClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *WidgetClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// GenerateChatToken generates a session scoped token for chat widget to authenticate with +// Session APIs. +func (c *WidgetClient) GenerateChatToken(ctx context.Context, req *cespb.GenerateChatTokenRequest, opts ...gax.CallOption) (*cespb.GenerateChatTokenResponse, error) { + return c.internalClient.GenerateChatToken(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *WidgetClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *WidgetClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *WidgetClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *WidgetClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *WidgetClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *WidgetClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// widgetGRPCClient is a client for interacting with Gemini Enterprise for Customer Experience API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type widgetGRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing WidgetClient + CallOptions **WidgetCallOptions + + // The gRPC API client. + widgetClient cespb.WidgetServiceClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string + + logger *slog.Logger +} + +// NewWidgetClient creates a new widget service client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// Provides APIs for widgets to interact with CES APIs. +func NewWidgetClient(ctx context.Context, opts ...option.ClientOption) (*WidgetClient, error) { + clientOpts := defaultWidgetGRPCClientOptions() + if newWidgetClientHook != nil { + hookOpts, err := newWidgetClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := WidgetClient{CallOptions: defaultWidgetCallOptions()} + + c := &widgetGRPCClient{ + connPool: connPool, + widgetClient: cespb.NewWidgetServiceClient(connPool), + CallOptions: &client.CallOptions, + logger: internaloption.GetLogger(opts), + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *widgetGRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *widgetGRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *widgetGRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type widgetRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing WidgetClient + CallOptions **WidgetCallOptions + + logger *slog.Logger +} + +// NewWidgetRESTClient creates a new widget service rest client. +// +// Provides APIs for widgets to interact with CES APIs. +func NewWidgetRESTClient(ctx context.Context, opts ...option.ClientOption) (*WidgetClient, error) { + clientOpts := append(defaultWidgetRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultWidgetRESTCallOptions() + c := &widgetRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + logger: internaloption.GetLogger(opts), + } + c.setGoogleClientInfo() + + return &WidgetClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultWidgetRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://ces.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://ces.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://ces.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://ces.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableNewAuthLibrary(), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *widgetRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion) + c.xGoogHeaders = []string{ + "x-goog-api-client", gax.XGoogHeader(kv...), + } +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *widgetRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *widgetRESTClient) Connection() *grpc.ClientConn { + return nil +} +func (c *widgetGRPCClient) GenerateChatToken(ctx context.Context, req *cespb.GenerateChatTokenRequest, opts ...gax.CallOption) (*cespb.GenerateChatTokenResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GenerateChatToken[0:len((*c.CallOptions).GenerateChatToken):len((*c.CallOptions).GenerateChatToken)], opts...) + var resp *cespb.GenerateChatTokenResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.widgetClient.GenerateChatToken, req, settings.GRPC, c.logger, "GenerateChatToken") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *widgetGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *widgetGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *widgetGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation") + return err + }, opts...) + return err +} + +func (c *widgetGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation") + return err + }, opts...) + return err +} + +func (c *widgetGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation") + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *widgetGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations") + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GenerateChatToken generates a session scoped token for chat widget to authenticate with +// Session APIs. +func (c *widgetRESTClient) GenerateChatToken(ctx context.Context, req *cespb.GenerateChatTokenRequest, opts ...gax.CallOption) (*cespb.GenerateChatTokenResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:generateChatToken", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GenerateChatToken[0:len((*c.CallOptions).GenerateChatToken):len((*c.CallOptions).GenerateChatToken)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &cespb.GenerateChatTokenResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "GenerateChatToken") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *widgetRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +// This method can be called in two ways: +// +// List all public locations: Use the path GET /v1/locations. +// +// List project-visible locations: Use the path +// GET /v1/projects/{project_id}/locations. This may include public +// locations as well as private or other locations specifically visible +// to the project. +func (c *widgetRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/locations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *widgetRESTClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "CancelOperation") + return err + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *widgetRESTClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + _, err = executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "DeleteOperation") + return err + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *widgetRESTClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetOperation") + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *widgetRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1beta/%v/operations", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req.GetReturnPartialSuccess() { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListOperations") + if err != nil { + return err + } + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} diff --git a/ces/apiv1beta/widget_client_example_go123_test.go b/ces/apiv1beta/widget_client_example_go123_test.go new file mode 100644 index 000000000000..7415b6c9d0cd --- /dev/null +++ b/ces/apiv1beta/widget_client_example_go123_test.go @@ -0,0 +1,79 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +//go:build go1.23 + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleWidgetClient_ListLocations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + for resp, err := range c.ListLocations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleWidgetClient_ListOperations_all() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + for resp, err := range c.ListOperations(ctx, req).All() { + if err != nil { + // TODO: Handle error and break/return/continue. Iteration will stop after any error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/ces/apiv1beta/widget_client_example_test.go b/ces/apiv1beta/widget_client_example_test.go new file mode 100644 index 000000000000..14681356c552 --- /dev/null +++ b/ces/apiv1beta/widget_client_example_test.go @@ -0,0 +1,256 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package ces_test + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewWidgetClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewWidgetRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleWidgetClient_GenerateChatToken() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GenerateChatTokenRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GenerateChatTokenRequest. + } + resp, err := c.GenerateChatToken(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleWidgetClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleWidgetClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +func ExampleWidgetClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleWidgetClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleWidgetClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleWidgetClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} diff --git a/ces/go.mod b/ces/go.mod new file mode 100644 index 000000000000..f416aecaf474 --- /dev/null +++ b/ces/go.mod @@ -0,0 +1,40 @@ +module cloud.google.com/go/ces + +go 1.25.0 + +require ( + cloud.google.com/go/longrunning v0.8.0 + github.com/googleapis/gax-go/v2 v2.17.0 + google.golang.org/api v0.268.0 + google.golang.org/genproto v0.0.0-20260223185530-2f722ef697dc + google.golang.org/genproto/googleapis/api v0.0.0-20260223185530-2f722ef697dc + google.golang.org/genproto/googleapis/rpc v0.0.0-20260223185530-2f722ef697dc + google.golang.org/grpc v1.79.1 + google.golang.org/protobuf v1.36.11 +) + +require ( + cloud.google.com/go v0.123.0 // indirect + cloud.google.com/go/auth v0.18.1 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect + cloud.google.com/go/compute/metadata v0.9.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/google/s2a-go v0.1.9 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect + go.opentelemetry.io/otel v1.39.0 // indirect + go.opentelemetry.io/otel/metric v1.39.0 // indirect + go.opentelemetry.io/otel/trace v1.39.0 // indirect + golang.org/x/crypto v0.47.0 // indirect + golang.org/x/net v0.49.0 // indirect + golang.org/x/oauth2 v0.35.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.33.0 // indirect + golang.org/x/time v0.14.0 // indirect +) diff --git a/ces/go.sum b/ces/go.sum new file mode 100644 index 000000000000..ad729530756a --- /dev/null +++ b/ces/go.sum @@ -0,0 +1,92 @@ +cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE= +cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU= +cloud.google.com/go/auth v0.18.1 h1:IwTEx92GFUo2pJ6Qea0EU3zYvKnTAeRCODxfA/G5UWs= +cloud.google.com/go/auth v0.18.1/go.mod h1:GfTYoS9G3CWpRA3Va9doKN9mjPGRS+v41jmZAhBzbrA= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cloud.google.com/go/longrunning v0.8.0 h1:LiKK77J3bx5gDLi4SMViHixjD2ohlkwBi+mKA7EhfW8= +cloud.google.com/go/longrunning v0.8.0/go.mod h1:UmErU2Onzi+fKDg2gR7dusz11Pe26aknR4kHmJJqIfk= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 h1:6xNmx7iTtyBRev0+D/Tv1FZd4SCg8axKApyNyRsAt/w= +github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.14.0 h1:hbG2kr4RuFj222B6+7T83thSPqLjwBIfQawTkC++2HA= +github.com/envoyproxy/go-control-plane/envoy v1.36.0 h1:yg/JjO5E7ubRyKX3m07GF3reDNEnfOboJ0QySbH736g= +github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98= +github.com/envoyproxy/protoc-gen-validate v1.3.0 h1:TvGH1wof4H33rezVKWSpqKz5NXWg5VPuZ0uONDT6eb4= +github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.11 h1:vAe81Msw+8tKUxi2Dqh/NZMz7475yUvmRIkXr4oN2ao= +github.com/googleapis/enterprise-certificate-proxy v0.3.11/go.mod h1:RFV7MUdlb7AgEq2v7FmMCfeSMCllAzWxFgRdusoGks8= +github.com/googleapis/gax-go/v2 v2.17.0 h1:RksgfBpxqff0EZkDWYuz9q/uWsTVz+kf43LsZ1J6SMc= +github.com/googleapis/gax-go/v2 v2.17.0/go.mod h1:mzaqghpQp4JDh3HvADwrat+6M3MOIDp5YKHhb9PAgDY= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= +go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= +golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= +golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +google.golang.org/api v0.268.0 h1:hgA3aS4lt9rpF5RCCkX0Q2l7DvHgvlb53y4T4u6iKkA= +google.golang.org/api v0.268.0/go.mod h1:HXMyMH496wz+dAJwD/GkAPLd3ZL33Kh0zEG32eNvy9w= +google.golang.org/genproto v0.0.0-20260223185530-2f722ef697dc h1:WKTExm3SFFXevXA9tU7v91PTMKuXQYia1CCTHY61Jio= +google.golang.org/genproto v0.0.0-20260223185530-2f722ef697dc/go.mod h1:uhvzakVEqAuXU3TC2JCsxIRe5f77l+JySE3EqPoMyqM= +google.golang.org/genproto/googleapis/api v0.0.0-20260223185530-2f722ef697dc h1:ULD+ToGXUIU6Pkzr1ARxdyvwfHbelw+agoFDRbLg4TU= +google.golang.org/genproto/googleapis/api v0.0.0-20260223185530-2f722ef697dc/go.mod h1:M5krXqk4GhBKvB596udGL3UyjL4I1+cTbK0orROM9ng= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260223185530-2f722ef697dc h1:51Wupg8spF+5FC6D+iMKbOddFjMckETnNnEiZ+HX37s= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260223185530-2f722ef697dc/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY= +google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/ces/internal/version.go b/ces/internal/version.go new file mode 100644 index 000000000000..af6ecf6a609a --- /dev/null +++ b/ces/internal/version.go @@ -0,0 +1,20 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by gapicgen. DO NOT EDIT. + +package internal + +// Version is the current tagged release of the library. +const Version = "0.0.0" diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/BatchDeleteConversations/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/BatchDeleteConversations/main.go new file mode 100644 index 000000000000..83b305c6280c --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/BatchDeleteConversations/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_BatchDeleteConversations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.BatchDeleteConversationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#BatchDeleteConversationsRequest. + } + op, err := c.BatchDeleteConversations(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_BatchDeleteConversations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CancelOperation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CancelOperation/main.go new file mode 100644 index 000000000000..185fb8ee4168 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CancelOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_CancelOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAgent/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAgent/main.go new file mode 100644 index 000000000000..ed49e1b393de --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAgent/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateAgent_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAgentRequest. + } + resp, err := c.CreateAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateAgent_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateApp/main.go new file mode 100644 index 000000000000..e58c0ef33684 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateApp/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAppRequest. + } + op, err := c.CreateApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAppVersion/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAppVersion/main.go new file mode 100644 index 000000000000..8b44d12cf21f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateAppVersion/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateAppVersion_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateAppVersionRequest. + } + resp, err := c.CreateAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateAppVersion_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateDeployment/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateDeployment/main.go new file mode 100644 index 000000000000..08f18eebc93e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateDeployment_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateDeploymentRequest. + } + resp, err := c.CreateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateDeployment_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateExample/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateExample/main.go new file mode 100644 index 000000000000..c6db89e66642 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateExample/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateExample_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateExampleRequest. + } + resp, err := c.CreateExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateExample_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateGuardrail/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateGuardrail/main.go new file mode 100644 index 000000000000..0b5926c2a607 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateGuardrail/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateGuardrail_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateGuardrailRequest. + } + resp, err := c.CreateGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateGuardrail_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateTool/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateTool/main.go new file mode 100644 index 000000000000..7f18ef25526f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateTool/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateTool_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateToolRequest. + } + resp, err := c.CreateTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateTool_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateToolset/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateToolset/main.go new file mode 100644 index 000000000000..e5c67f02d1c1 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/CreateToolset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_CreateToolset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateToolsetRequest. + } + resp, err := c.CreateToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_CreateToolset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAgent/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAgent/main.go new file mode 100644 index 000000000000..8e67cb2c60d1 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAgent/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteAgent_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAgentRequest. + } + err = c.DeleteAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteAgent_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteApp/main.go new file mode 100644 index 000000000000..e5398cca7c48 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteApp/main.go @@ -0,0 +1,56 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAppRequest. + } + op, err := c.DeleteApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAppVersion/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAppVersion/main.go new file mode 100644 index 000000000000..7fbf04ce77e8 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteAppVersion/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteAppVersion_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteAppVersionRequest. + } + err = c.DeleteAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteAppVersion_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteConversation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteConversation/main.go new file mode 100644 index 000000000000..0902d97c68d4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteConversation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteConversation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteConversationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteConversationRequest. + } + err = c.DeleteConversation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteConversation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteDeployment/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteDeployment/main.go new file mode 100644 index 000000000000..0defe3ba05f4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteDeployment/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteDeployment_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteDeploymentRequest. + } + err = c.DeleteDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteDeployment_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteExample/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteExample/main.go new file mode 100644 index 000000000000..26adf56e4f0f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteExample/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteExample_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteExampleRequest. + } + err = c.DeleteExample(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteExample_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteGuardrail/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteGuardrail/main.go new file mode 100644 index 000000000000..7e0df93f13ed --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteGuardrail/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteGuardrail_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteGuardrailRequest. + } + err = c.DeleteGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteGuardrail_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteOperation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteOperation/main.go new file mode 100644 index 000000000000..a2161d8023b7 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteTool/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteTool/main.go new file mode 100644 index 000000000000..69a0e10c6362 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteTool/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteTool_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteToolRequest. + } + err = c.DeleteTool(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteTool_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteToolset/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteToolset/main.go new file mode 100644 index 000000000000..e28cf4ad34db --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/DeleteToolset/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_DeleteToolset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteToolsetRequest. + } + err = c.DeleteToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_AgentService_DeleteToolset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ExportApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ExportApp/main.go new file mode 100644 index 000000000000..30100f5b7bd5 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ExportApp/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ExportApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ExportAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ExportAppRequest. + } + op, err := c.ExportApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_ExportApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAgent/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAgent/main.go new file mode 100644 index 000000000000..2243ec413468 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAgent/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetAgent_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAgentRequest. + } + resp, err := c.GetAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetAgent_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetApp/main.go new file mode 100644 index 000000000000..10f1c4293e5c --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetApp/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAppRequest. + } + resp, err := c.GetApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAppVersion/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAppVersion/main.go new file mode 100644 index 000000000000..43e66f04185f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetAppVersion/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetAppVersion_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetAppVersionRequest. + } + resp, err := c.GetAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetAppVersion_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetChangelog/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetChangelog/main.go new file mode 100644 index 000000000000..6f0a24c7c754 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetChangelog/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetChangelog_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetChangelogRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetChangelogRequest. + } + resp, err := c.GetChangelog(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetChangelog_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetConversation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetConversation/main.go new file mode 100644 index 000000000000..f7dbeecdef55 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetConversation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetConversation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetConversationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetConversationRequest. + } + resp, err := c.GetConversation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetConversation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetDeployment/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetDeployment/main.go new file mode 100644 index 000000000000..e146be5d2181 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetDeployment_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetDeploymentRequest. + } + resp, err := c.GetDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetDeployment_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetExample/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetExample/main.go new file mode 100644 index 000000000000..ec2a92f777c7 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetExample/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetExample_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetExampleRequest. + } + resp, err := c.GetExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetExample_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetGuardrail/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetGuardrail/main.go new file mode 100644 index 000000000000..b1d25fcefbd2 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetGuardrail/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetGuardrail_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetGuardrailRequest. + } + resp, err := c.GetGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetGuardrail_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetLocation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetLocation/main.go new file mode 100644 index 000000000000..223834273e87 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetLocation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetLocation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetOperation/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetOperation/main.go new file mode 100644 index 000000000000..db2e9afeb336 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetTool/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetTool/main.go new file mode 100644 index 000000000000..6297fd88da93 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetTool/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetTool_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetToolRequest. + } + resp, err := c.GetTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetTool_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/GetToolset/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetToolset/main.go new file mode 100644 index 000000000000..cf156fa759ab --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/GetToolset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_GetToolset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetToolsetRequest. + } + resp, err := c.GetToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_GetToolset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ImportApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ImportApp/main.go new file mode 100644 index 000000000000..7b3d9f7454b7 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ImportApp/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ImportApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ImportAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ImportAppRequest. + } + op, err := c.ImportApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_ImportApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAgents/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAgents/main.go new file mode 100644 index 000000000000..1da53e2c84c8 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAgents/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListAgents_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAgentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAgentsRequest. + } + it := c.ListAgents(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAgentsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListAgents_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAppVersions/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAppVersions/main.go new file mode 100644 index 000000000000..7e6391a4cbcf --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListAppVersions/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListAppVersions_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppVersionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppVersionsRequest. + } + it := c.ListAppVersions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAppVersionsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListAppVersions_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListApps/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListApps/main.go new file mode 100644 index 000000000000..e1a42cac1b53 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListApps/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListApps_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListAppsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListAppsRequest. + } + it := c.ListApps(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListAppsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListApps_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListChangelogs/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListChangelogs/main.go new file mode 100644 index 000000000000..345d840ff0f4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListChangelogs/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListChangelogs_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListChangelogsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListChangelogsRequest. + } + it := c.ListChangelogs(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListChangelogsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListChangelogs_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListConversations/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListConversations/main.go new file mode 100644 index 000000000000..c10962b23845 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListConversations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListConversations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListConversationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListConversationsRequest. + } + it := c.ListConversations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListConversationsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListConversations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListDeployments/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListDeployments/main.go new file mode 100644 index 000000000000..f858eb811ca4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListDeployments/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListDeployments_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListDeploymentsRequest. + } + it := c.ListDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListDeploymentsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListDeployments_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListExamples/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListExamples/main.go new file mode 100644 index 000000000000..dd8a72793260 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListExamples/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListExamples_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListExamplesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListExamplesRequest. + } + it := c.ListExamples(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListExamplesResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListExamples_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListGuardrails/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListGuardrails/main.go new file mode 100644 index 000000000000..de022ae4bb98 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListGuardrails/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListGuardrails_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListGuardrailsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListGuardrailsRequest. + } + it := c.ListGuardrails(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListGuardrailsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListGuardrails_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListLocations/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListLocations/main.go new file mode 100644 index 000000000000..669781466bfc --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListLocations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListLocations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListOperations/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListOperations/main.go new file mode 100644 index 000000000000..aa0460aabc8d --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListOperations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListOperations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListTools/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListTools/main.go new file mode 100644 index 000000000000..405577d8b48e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListTools/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListTools_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsRequest. + } + it := c.ListTools(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListToolsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListTools_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/ListToolsets/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListToolsets/main.go new file mode 100644 index 000000000000..5084f3493019 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/ListToolsets/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_ListToolsets_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListToolsetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListToolsetsRequest. + } + it := c.ListToolsets(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListToolsetsResponse) + } +} + +// [END ces_v1beta_generated_AgentService_ListToolsets_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/RestoreAppVersion/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/RestoreAppVersion/main.go new file mode 100644 index 000000000000..7840652ca53d --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/RestoreAppVersion/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_RestoreAppVersion_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RestoreAppVersionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RestoreAppVersionRequest. + } + op, err := c.RestoreAppVersion(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_RestoreAppVersion_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateAgent/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateAgent/main.go new file mode 100644 index 000000000000..0177465df094 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateAgent/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateAgent_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateAgentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateAgentRequest. + } + resp, err := c.UpdateAgent(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateAgent_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateApp/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateApp/main.go new file mode 100644 index 000000000000..20699fd984ef --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateApp/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateApp_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateAppRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateAppRequest. + } + resp, err := c.UpdateApp(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateApp_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateDeployment/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateDeployment/main.go new file mode 100644 index 000000000000..c5fb03de1a41 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateDeployment_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateDeploymentRequest. + } + resp, err := c.UpdateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateDeployment_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateExample/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateExample/main.go new file mode 100644 index 000000000000..c3fe64fd9dbd --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateExample/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateExample_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateExampleRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateExampleRequest. + } + resp, err := c.UpdateExample(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateExample_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateGuardrail/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateGuardrail/main.go new file mode 100644 index 000000000000..e2af91848d58 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateGuardrail/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateGuardrail_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateGuardrailRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateGuardrailRequest. + } + resp, err := c.UpdateGuardrail(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateGuardrail_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateTool/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateTool/main.go new file mode 100644 index 000000000000..80574b5e2c06 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateTool/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateTool_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateToolRequest. + } + resp, err := c.UpdateTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateTool_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateToolset/main.go b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateToolset/main.go new file mode 100644 index 000000000000..dfac44b9ece6 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/AgentClient/UpdateToolset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_AgentService_UpdateToolset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewAgentClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateToolsetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateToolsetRequest. + } + resp, err := c.UpdateToolset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_AgentService_UpdateToolset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CancelOperation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CancelOperation/main.go new file mode 100644 index 000000000000..51068d31bb6a --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_CancelOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_CancelOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluation/main.go new file mode 100644 index 000000000000..b3b428a5b131 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_CreateEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationRequest. + } + resp, err := c.CreateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_CreateEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationDataset/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationDataset/main.go new file mode 100644 index 000000000000..47233f168b80 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationDataset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_CreateEvaluationDataset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationDatasetRequest. + } + resp, err := c.CreateEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_CreateEvaluationDataset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationExpectation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationExpectation/main.go new file mode 100644 index 000000000000..64f52b21a7e8 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateEvaluationExpectation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_CreateEvaluationExpectation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateEvaluationExpectationRequest. + } + resp, err := c.CreateEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_CreateEvaluationExpectation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateScheduledEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateScheduledEvaluationRun/main.go new file mode 100644 index 000000000000..b740ef3b5892 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/CreateScheduledEvaluationRun/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_CreateScheduledEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.CreateScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#CreateScheduledEvaluationRunRequest. + } + resp, err := c.CreateScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_CreateScheduledEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluation/main.go new file mode 100644 index 000000000000..30a8f215708e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationRequest. + } + err = c.DeleteEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationDataset/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationDataset/main.go new file mode 100644 index 000000000000..685cfdc138cc --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationDataset/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteEvaluationDataset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationDatasetRequest. + } + err = c.DeleteEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteEvaluationDataset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationExpectation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationExpectation/main.go new file mode 100644 index 000000000000..4fb85df663e5 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationExpectation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteEvaluationExpectation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationExpectationRequest. + } + err = c.DeleteEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteEvaluationExpectation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationResult/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationResult/main.go new file mode 100644 index 000000000000..836ad50e6024 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationResult/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteEvaluationResult_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationResultRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationResultRequest. + } + err = c.DeleteEvaluationResult(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteEvaluationResult_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationRun/main.go new file mode 100644 index 000000000000..78fee10d89e5 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteEvaluationRun/main.go @@ -0,0 +1,56 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteEvaluationRunRequest. + } + op, err := c.DeleteEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteOperation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteOperation/main.go new file mode 100644 index 000000000000..0afafbff5457 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteScheduledEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteScheduledEvaluationRun/main.go new file mode 100644 index 000000000000..964f88907b82 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/DeleteScheduledEvaluationRun/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_DeleteScheduledEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.DeleteScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#DeleteScheduledEvaluationRunRequest. + } + err = c.DeleteScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_EvaluationService_DeleteScheduledEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GenerateEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GenerateEvaluation/main.go new file mode 100644 index 000000000000..40bca478b1d9 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GenerateEvaluation/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GenerateEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GenerateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GenerateEvaluationRequest. + } + op, err := c.GenerateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GenerateEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluation/main.go new file mode 100644 index 000000000000..a631b91493ae --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationRequest. + } + resp, err := c.GetEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationDataset/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationDataset/main.go new file mode 100644 index 000000000000..7481875e0267 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationDataset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetEvaluationDataset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationDatasetRequest. + } + resp, err := c.GetEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetEvaluationDataset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationExpectation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationExpectation/main.go new file mode 100644 index 000000000000..93b7c8b5b40a --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationExpectation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetEvaluationExpectation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationExpectationRequest. + } + resp, err := c.GetEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetEvaluationExpectation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationResult/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationResult/main.go new file mode 100644 index 000000000000..480a9e2be076 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationResult/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetEvaluationResult_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationResultRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationResultRequest. + } + resp, err := c.GetEvaluationResult(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetEvaluationResult_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationRun/main.go new file mode 100644 index 000000000000..c72491749000 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetEvaluationRun/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetEvaluationRunRequest. + } + resp, err := c.GetEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetLocation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetLocation/main.go new file mode 100644 index 000000000000..45b068c12219 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetLocation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetLocation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetOperation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetOperation/main.go new file mode 100644 index 000000000000..aa4889046762 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetScheduledEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetScheduledEvaluationRun/main.go new file mode 100644 index 000000000000..26498eb544b9 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/GetScheduledEvaluationRun/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_GetScheduledEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GetScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GetScheduledEvaluationRunRequest. + } + resp, err := c.GetScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_GetScheduledEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ImportEvaluations/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ImportEvaluations/main.go new file mode 100644 index 000000000000..e87155d5a6cc --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ImportEvaluations/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ImportEvaluations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ImportEvaluationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ImportEvaluationsRequest. + } + op, err := c.ImportEvaluations(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_ImportEvaluations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationDatasets/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationDatasets/main.go new file mode 100644 index 000000000000..65f6b4fb9605 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationDatasets/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListEvaluationDatasets_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationDatasetsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationDatasetsRequest. + } + it := c.ListEvaluationDatasets(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationDatasetsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListEvaluationDatasets_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationExpectations/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationExpectations/main.go new file mode 100644 index 000000000000..055feb9b2ac4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationExpectations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListEvaluationExpectations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationExpectationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationExpectationsRequest. + } + it := c.ListEvaluationExpectations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationExpectationsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListEvaluationExpectations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationResults/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationResults/main.go new file mode 100644 index 000000000000..9f604721185b --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationResults/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListEvaluationResults_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationResultsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationResultsRequest. + } + it := c.ListEvaluationResults(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationResultsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListEvaluationResults_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationRuns/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationRuns/main.go new file mode 100644 index 000000000000..b39f01425e0d --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluationRuns/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListEvaluationRuns_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationRunsRequest. + } + it := c.ListEvaluationRuns(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationRunsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListEvaluationRuns_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluations/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluations/main.go new file mode 100644 index 000000000000..42025d02bae8 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListEvaluations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListEvaluations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListEvaluationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListEvaluationsRequest. + } + it := c.ListEvaluations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListEvaluationsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListEvaluations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListLocations/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListLocations/main.go new file mode 100644 index 000000000000..db9918b1861b --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListLocations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListLocations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListOperations/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListOperations/main.go new file mode 100644 index 000000000000..9e75012e274a --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListOperations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListOperations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListScheduledEvaluationRuns/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListScheduledEvaluationRuns/main.go new file mode 100644 index 000000000000..4cff7b62acea --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/ListScheduledEvaluationRuns/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_ListScheduledEvaluationRuns_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ListScheduledEvaluationRunsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ListScheduledEvaluationRunsRequest. + } + it := c.ListScheduledEvaluationRuns(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*cespb.ListScheduledEvaluationRunsResponse) + } +} + +// [END ces_v1beta_generated_EvaluationService_ListScheduledEvaluationRuns_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/RunEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/RunEvaluation/main.go new file mode 100644 index 000000000000..3dd23b8e978f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/RunEvaluation/main.go @@ -0,0 +1,58 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_RunEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RunEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RunEvaluationRequest. + } + op, err := c.RunEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_RunEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/TestPersonaVoice/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/TestPersonaVoice/main.go new file mode 100644 index 000000000000..a21c2ed83740 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/TestPersonaVoice/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_TestPersonaVoice_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.TestPersonaVoiceRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#TestPersonaVoiceRequest. + } + resp, err := c.TestPersonaVoice(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_TestPersonaVoice_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluation/main.go new file mode 100644 index 000000000000..41ae82f729fc --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_UpdateEvaluation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationRequest. + } + resp, err := c.UpdateEvaluation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_UpdateEvaluation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationDataset/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationDataset/main.go new file mode 100644 index 000000000000..33b492f11801 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationDataset/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_UpdateEvaluationDataset_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationDatasetRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationDatasetRequest. + } + resp, err := c.UpdateEvaluationDataset(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_UpdateEvaluationDataset_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationExpectation/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationExpectation/main.go new file mode 100644 index 000000000000..80c3d4982c4b --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateEvaluationExpectation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_UpdateEvaluationExpectation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateEvaluationExpectationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateEvaluationExpectationRequest. + } + resp, err := c.UpdateEvaluationExpectation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_UpdateEvaluationExpectation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateScheduledEvaluationRun/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateScheduledEvaluationRun/main.go new file mode 100644 index 000000000000..a77906f9a9e9 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UpdateScheduledEvaluationRun/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_UpdateScheduledEvaluationRun_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UpdateScheduledEvaluationRunRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UpdateScheduledEvaluationRunRequest. + } + resp, err := c.UpdateScheduledEvaluationRun(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_UpdateScheduledEvaluationRun_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UploadEvaluationAudio/main.go b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UploadEvaluationAudio/main.go new file mode 100644 index 000000000000..1cd7ae18e021 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/EvaluationClient/UploadEvaluationAudio/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_EvaluationService_UploadEvaluationAudio_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewEvaluationClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.UploadEvaluationAudioRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#UploadEvaluationAudioRequest. + } + resp, err := c.UploadEvaluationAudio(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_EvaluationService_UploadEvaluationAudio_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/BidiRunSession/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/BidiRunSession/main.go new file mode 100644 index 000000000000..b32c0a4bf9c5 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/BidiRunSession/main.go @@ -0,0 +1,69 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_BidiRunSession_sync] + +package main + +import ( + "context" + "io" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + stream, err := c.BidiRunSession(ctx) + if err != nil { + // TODO: Handle error. + } + go func() { + reqs := []*cespb.BidiSessionClientMessage{ + // TODO: Create requests. + } + for _, req := range reqs { + if err := stream.Send(req); err != nil { + // TODO: Handle error. + } + } + stream.CloseSend() + }() + for { + resp, err := stream.Recv() + if err == io.EOF { + break + } + if err != nil { + // TODO: handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END ces_v1beta_generated_SessionService_BidiRunSession_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/CancelOperation/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/CancelOperation/main.go new file mode 100644 index 000000000000..c7b9a5332107 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_CancelOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_SessionService_CancelOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/DeleteOperation/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/DeleteOperation/main.go new file mode 100644 index 000000000000..b4b0338fcca4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_DeleteOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_SessionService_DeleteOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/GetLocation/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/GetLocation/main.go new file mode 100644 index 000000000000..c9d0708daf4d --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_GetLocation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_SessionService_GetLocation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/GetOperation/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/GetOperation/main.go new file mode 100644 index 000000000000..6f17c7aa8abb --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_GetOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_SessionService_GetOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/ListLocations/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/ListLocations/main.go new file mode 100644 index 000000000000..34b5062f1eae --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_ListLocations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END ces_v1beta_generated_SessionService_ListLocations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/ListOperations/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/ListOperations/main.go new file mode 100644 index 000000000000..bf702532e65c --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_ListOperations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END ces_v1beta_generated_SessionService_ListOperations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/SessionClient/RunSession/main.go b/internal/generated/snippets/ces/apiv1beta/SessionClient/RunSession/main.go new file mode 100644 index 000000000000..4b88c625bc5b --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/SessionClient/RunSession/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_SessionService_RunSession_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewSessionClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RunSessionRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RunSessionRequest. + } + resp, err := c.RunSession(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_SessionService_RunSession_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/CancelOperation/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/CancelOperation/main.go new file mode 100644 index 000000000000..15a268b4261c --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_CancelOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_ToolService_CancelOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/DeleteOperation/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/DeleteOperation/main.go new file mode 100644 index 000000000000..37ded841eae5 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_DeleteOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_ToolService_DeleteOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/ExecuteTool/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/ExecuteTool/main.go new file mode 100644 index 000000000000..2e476a64b867 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/ExecuteTool/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_ExecuteTool_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.ExecuteToolRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#ExecuteToolRequest. + } + resp, err := c.ExecuteTool(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_ToolService_ExecuteTool_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/GetLocation/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/GetLocation/main.go new file mode 100644 index 000000000000..ce9d226bf83e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_GetLocation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_ToolService_GetLocation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/GetOperation/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/GetOperation/main.go new file mode 100644 index 000000000000..6f81ee8b2403 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_GetOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_ToolService_GetOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/ListLocations/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/ListLocations/main.go new file mode 100644 index 000000000000..ec562f14b7a4 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_ListLocations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END ces_v1beta_generated_ToolService_ListLocations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/ListOperations/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/ListOperations/main.go new file mode 100644 index 000000000000..84dbb51ed66e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_ListOperations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END ces_v1beta_generated_ToolService_ListOperations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveToolSchema/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveToolSchema/main.go new file mode 100644 index 000000000000..a3e4817b5d5e --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveToolSchema/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_RetrieveToolSchema_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RetrieveToolSchemaRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RetrieveToolSchemaRequest. + } + resp, err := c.RetrieveToolSchema(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_ToolService_RetrieveToolSchema_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveTools/main.go b/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveTools/main.go new file mode 100644 index 000000000000..004be71509cd --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/ToolClient/RetrieveTools/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_ToolService_RetrieveTools_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewToolClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.RetrieveToolsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#RetrieveToolsRequest. + } + resp, err := c.RetrieveTools(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_ToolService_RetrieveTools_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/CancelOperation/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/CancelOperation/main.go new file mode 100644 index 000000000000..c07c9b5b782f --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_CancelOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_WidgetService_CancelOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/DeleteOperation/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/DeleteOperation/main.go new file mode 100644 index 000000000000..2bc9a7c93d76 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_DeleteOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END ces_v1beta_generated_WidgetService_DeleteOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/GenerateChatToken/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GenerateChatToken/main.go new file mode 100644 index 000000000000..53ba579538c9 --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GenerateChatToken/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_GenerateChatToken_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + cespb "cloud.google.com/go/ces/apiv1beta/cespb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &cespb.GenerateChatTokenRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/ces/apiv1beta/cespb#GenerateChatTokenRequest. + } + resp, err := c.GenerateChatToken(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_WidgetService_GenerateChatToken_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetLocation/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetLocation/main.go new file mode 100644 index 000000000000..77232a78b5ac --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_GetLocation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_WidgetService_GetLocation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetOperation/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetOperation/main.go new file mode 100644 index 000000000000..40265f9678af --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_GetOperation_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END ces_v1beta_generated_WidgetService_GetOperation_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListLocations/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListLocations/main.go new file mode 100644 index 000000000000..35f858755b7a --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListLocations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_ListLocations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*locationpb.ListLocationsResponse) + } +} + +// [END ces_v1beta_generated_WidgetService_ListLocations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListOperations/main.go b/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListOperations/main.go new file mode 100644 index 000000000000..479bb82177ed --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/WidgetClient/ListOperations/main.go @@ -0,0 +1,66 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START ces_v1beta_generated_WidgetService_ListOperations_sync] + +package main + +import ( + "context" + + ces "cloud.google.com/go/ces/apiv1beta" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := ces.NewWidgetClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + + // If you need to access the underlying RPC response, + // you can do so by casting the `Response` as below. + // Otherwise, remove this line. Only populated after + // first call to Next(). Not safe for concurrent access. + _ = it.Response.(*longrunningpb.ListOperationsResponse) + } +} + +// [END ces_v1beta_generated_WidgetService_ListOperations_sync] diff --git a/internal/generated/snippets/ces/apiv1beta/snippet_metadata.google.cloud.ces.v1beta.json b/internal/generated/snippets/ces/apiv1beta/snippet_metadata.google.cloud.ces.v1beta.json new file mode 100644 index 000000000000..f3149bada6ab --- /dev/null +++ b/internal/generated/snippets/ces/apiv1beta/snippet_metadata.google.cloud.ces.v1beta.json @@ -0,0 +1,5278 @@ +{ + "clientLibrary": { + "name": "cloud.google.com/go/ces/apiv1beta", + "version": "0.0.0", + "language": "GO", + "apis": [ + { + "id": "google.cloud.ces.v1beta", + "version": "v1beta" + } + ] + }, + "snippets": [ + { + "regionTag": "ces_v1beta_generated_AgentService_BatchDeleteConversations_sync", + "title": "ces BatchDeleteConversations Sample", + "description": "BatchDeleteConversations batch deletes the specified conversations.", + "file": "AgentClient/BatchDeleteConversations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "BatchDeleteConversations", + "fullName": "google.cloud.ces.v1beta.AgentClient.BatchDeleteConversations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.BatchDeleteConversationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "BatchDeleteConversationsOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "BatchDeleteConversations", + "fullName": "google.cloud.ces.v1beta.AgentService.BatchDeleteConversations", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CancelOperation_sync", + "title": "ces CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "AgentClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.ces.v1beta.AgentClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateAgent_sync", + "title": "ces CreateAgent Sample", + "description": "CreateAgent creates a new agent in the given app.", + "file": "AgentClient/CreateAgent/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateAgent", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateAgent", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateAgentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Agent", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateAgent", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateAgent", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateApp_sync", + "title": "ces CreateApp Sample", + "description": "CreateApp creates a new app in the given project and location.", + "file": "AgentClient/CreateApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateAppOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateApp", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateAppVersion_sync", + "title": "ces CreateAppVersion Sample", + "description": "CreateAppVersion creates a new app version in the given app.", + "file": "AgentClient/CreateAppVersion/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateAppVersion", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateAppVersionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.AppVersion", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateAppVersion", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateDeployment_sync", + "title": "ces CreateDeployment Sample", + "description": "CreateDeployment creates a new deployment in the given app.", + "file": "AgentClient/CreateDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateDeployment", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Deployment", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateDeployment", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateDeployment", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateExample_sync", + "title": "ces CreateExample Sample", + "description": "CreateExample creates a new example in the given app.", + "file": "AgentClient/CreateExample/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateExample", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateExample", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateExampleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Example", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateExample", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateExample", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateGuardrail_sync", + "title": "ces CreateGuardrail Sample", + "description": "CreateGuardrail creates a new guardrail in the given app.", + "file": "AgentClient/CreateGuardrail/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateGuardrail", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateGuardrailRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Guardrail", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateGuardrail", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateTool_sync", + "title": "ces CreateTool Sample", + "description": "CreateTool creates a new tool in the given app.", + "file": "AgentClient/CreateTool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateTool", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateTool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateToolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Tool", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateTool", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateTool", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_CreateToolset_sync", + "title": "ces CreateToolset Sample", + "description": "CreateToolset creates a new toolset in the given app.", + "file": "AgentClient/CreateToolset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateToolset", + "fullName": "google.cloud.ces.v1beta.AgentClient.CreateToolset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateToolsetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Toolset", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "CreateToolset", + "fullName": "google.cloud.ces.v1beta.AgentService.CreateToolset", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteAgent_sync", + "title": "ces DeleteAgent Sample", + "description": "DeleteAgent deletes the specified agent.", + "file": "AgentClient/DeleteAgent/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteAgent", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteAgent", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteAgentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteAgent", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteAgent", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteApp_sync", + "title": "ces DeleteApp Sample", + "description": "DeleteApp deletes the specified app.", + "file": "AgentClient/DeleteApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteAppOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteApp", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteAppVersion_sync", + "title": "ces DeleteAppVersion Sample", + "description": "DeleteAppVersion deletes the specified app version.", + "file": "AgentClient/DeleteAppVersion/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteAppVersion", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteAppVersionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteAppVersion", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteConversation_sync", + "title": "ces DeleteConversation Sample", + "description": "DeleteConversation deletes the specified conversation.", + "file": "AgentClient/DeleteConversation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteConversation", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteConversation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteConversationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteConversation", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteConversation", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteDeployment_sync", + "title": "ces DeleteDeployment Sample", + "description": "DeleteDeployment deletes the specified deployment.", + "file": "AgentClient/DeleteDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteDeployment", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteDeployment", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteDeployment", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteExample_sync", + "title": "ces DeleteExample Sample", + "description": "DeleteExample deletes the specified example.", + "file": "AgentClient/DeleteExample/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteExample", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteExample", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteExampleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteExample", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteExample", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteGuardrail_sync", + "title": "ces DeleteGuardrail Sample", + "description": "DeleteGuardrail deletes the specified guardrail.", + "file": "AgentClient/DeleteGuardrail/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteGuardrail", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteGuardrailRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteGuardrail", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteOperation_sync", + "title": "ces DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "AgentClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteTool_sync", + "title": "ces DeleteTool Sample", + "description": "DeleteTool deletes the specified tool.", + "file": "AgentClient/DeleteTool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteTool", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteTool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteToolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteTool", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteTool", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_DeleteToolset_sync", + "title": "ces DeleteToolset Sample", + "description": "DeleteToolset deletes the specified toolset.", + "file": "AgentClient/DeleteToolset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteToolset", + "fullName": "google.cloud.ces.v1beta.AgentClient.DeleteToolset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteToolsetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "DeleteToolset", + "fullName": "google.cloud.ces.v1beta.AgentService.DeleteToolset", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ExportApp_sync", + "title": "ces ExportApp Sample", + "description": "ExportApp exports the specified app.", + "file": "AgentClient/ExportApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExportApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.ExportApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ExportAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExportAppOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ExportApp", + "fullName": "google.cloud.ces.v1beta.AgentService.ExportApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetAgent_sync", + "title": "ces GetAgent Sample", + "description": "GetAgent gets details of the specified agent.", + "file": "AgentClient/GetAgent/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetAgent", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetAgent", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetAgentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Agent", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetAgent", + "fullName": "google.cloud.ces.v1beta.AgentService.GetAgent", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetApp_sync", + "title": "ces GetApp Sample", + "description": "GetApp gets details of the specified app.", + "file": "AgentClient/GetApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.App", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetApp", + "fullName": "google.cloud.ces.v1beta.AgentService.GetApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetAppVersion_sync", + "title": "ces GetAppVersion Sample", + "description": "GetAppVersion gets details of the specified app version.", + "file": "AgentClient/GetAppVersion/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetAppVersion", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetAppVersionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.AppVersion", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentService.GetAppVersion", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetChangelog_sync", + "title": "ces GetChangelog Sample", + "description": "GetChangelog gets the specified changelog.", + "file": "AgentClient/GetChangelog/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetChangelog", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetChangelog", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetChangelogRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Changelog", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetChangelog", + "fullName": "google.cloud.ces.v1beta.AgentService.GetChangelog", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetConversation_sync", + "title": "ces GetConversation Sample", + "description": "GetConversation gets details of the specified conversation.", + "file": "AgentClient/GetConversation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetConversation", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetConversation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetConversationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Conversation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetConversation", + "fullName": "google.cloud.ces.v1beta.AgentService.GetConversation", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetDeployment_sync", + "title": "ces GetDeployment Sample", + "description": "GetDeployment gets details of the specified deployment.", + "file": "AgentClient/GetDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetDeployment", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Deployment", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetDeployment", + "fullName": "google.cloud.ces.v1beta.AgentService.GetDeployment", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetExample_sync", + "title": "ces GetExample Sample", + "description": "GetExample gets details of the specified example.", + "file": "AgentClient/GetExample/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetExample", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetExample", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetExampleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Example", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetExample", + "fullName": "google.cloud.ces.v1beta.AgentService.GetExample", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetGuardrail_sync", + "title": "ces GetGuardrail Sample", + "description": "GetGuardrail gets details of the specified guardrail.", + "file": "AgentClient/GetGuardrail/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetGuardrail", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetGuardrailRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Guardrail", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentService.GetGuardrail", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetLocation_sync", + "title": "ces GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "AgentClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetOperation_sync", + "title": "ces GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "AgentClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetTool_sync", + "title": "ces GetTool Sample", + "description": "GetTool gets details of the specified tool.", + "file": "AgentClient/GetTool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetTool", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetTool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetToolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Tool", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetTool", + "fullName": "google.cloud.ces.v1beta.AgentService.GetTool", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_GetToolset_sync", + "title": "ces GetToolset Sample", + "description": "GetToolset gets details of the specified toolset.", + "file": "AgentClient/GetToolset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetToolset", + "fullName": "google.cloud.ces.v1beta.AgentClient.GetToolset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetToolsetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Toolset", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "GetToolset", + "fullName": "google.cloud.ces.v1beta.AgentService.GetToolset", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ImportApp_sync", + "title": "ces ImportApp Sample", + "description": "ImportApp imports the specified app.", + "file": "AgentClient/ImportApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ImportApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.ImportApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ImportAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ImportAppOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ImportApp", + "fullName": "google.cloud.ces.v1beta.AgentService.ImportApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListAgents_sync", + "title": "ces ListAgents Sample", + "description": "ListAgents lists agents in the given app.", + "file": "AgentClient/ListAgents/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListAgents", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListAgents", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListAgentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "AgentIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListAgents", + "fullName": "google.cloud.ces.v1beta.AgentService.ListAgents", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListAppVersions_sync", + "title": "ces ListAppVersions Sample", + "description": "ListAppVersions lists all app versions in the given app.", + "file": "AgentClient/ListAppVersions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListAppVersions", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListAppVersions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListAppVersionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "AppVersionIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListAppVersions", + "fullName": "google.cloud.ces.v1beta.AgentService.ListAppVersions", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListApps_sync", + "title": "ces ListApps Sample", + "description": "ListApps lists apps in the given project and location.", + "file": "AgentClient/ListApps/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListApps", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListApps", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListAppsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "AppIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListApps", + "fullName": "google.cloud.ces.v1beta.AgentService.ListApps", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListChangelogs_sync", + "title": "ces ListChangelogs Sample", + "description": "ListChangelogs lists the changelogs of the specified app.", + "file": "AgentClient/ListChangelogs/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListChangelogs", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListChangelogs", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListChangelogsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ChangelogIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListChangelogs", + "fullName": "google.cloud.ces.v1beta.AgentService.ListChangelogs", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListConversations_sync", + "title": "ces ListConversations Sample", + "description": "ListConversations lists conversations in the given app.", + "file": "AgentClient/ListConversations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListConversations", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListConversations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListConversationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ConversationIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListConversations", + "fullName": "google.cloud.ces.v1beta.AgentService.ListConversations", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListDeployments_sync", + "title": "ces ListDeployments Sample", + "description": "ListDeployments lists deployments in the given app.", + "file": "AgentClient/ListDeployments/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListDeployments", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListDeployments", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListDeploymentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeploymentIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListDeployments", + "fullName": "google.cloud.ces.v1beta.AgentService.ListDeployments", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListExamples_sync", + "title": "ces ListExamples Sample", + "description": "ListExamples lists examples in the given app.", + "file": "AgentClient/ListExamples/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListExamples", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListExamples", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListExamplesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExampleIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListExamples", + "fullName": "google.cloud.ces.v1beta.AgentService.ListExamples", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListGuardrails_sync", + "title": "ces ListGuardrails Sample", + "description": "ListGuardrails lists guardrails in the given app.", + "file": "AgentClient/ListGuardrails/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListGuardrails", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListGuardrails", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListGuardrailsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "GuardrailIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListGuardrails", + "fullName": "google.cloud.ces.v1beta.AgentService.ListGuardrails", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListLocations_sync", + "title": "ces ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.\nThis method can be called in two ways: \n\n* **List all public locations: ** Use the path `GET /v1/locations`.\n* **List project-visible locations: ** Use the path\n`GET /v1/projects/{project_id}/locations`. This may include public\nlocations as well as private or other locations specifically visible\nto the project.", + "file": "AgentClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListOperations_sync", + "title": "ces ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "AgentClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListTools_sync", + "title": "ces ListTools Sample", + "description": "ListTools lists tools in the given app.", + "file": "AgentClient/ListTools/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListTools", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListTools", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListToolsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ToolIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListTools", + "fullName": "google.cloud.ces.v1beta.AgentService.ListTools", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_ListToolsets_sync", + "title": "ces ListToolsets Sample", + "description": "ListToolsets lists toolsets in the given app.", + "file": "AgentClient/ListToolsets/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListToolsets", + "fullName": "google.cloud.ces.v1beta.AgentClient.ListToolsets", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListToolsetsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ToolsetIterator", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "ListToolsets", + "fullName": "google.cloud.ces.v1beta.AgentService.ListToolsets", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_RestoreAppVersion_sync", + "title": "ces RestoreAppVersion Sample", + "description": "RestoreAppVersion restores the specified app version.\nThis will create a new app version from the current draft app and overwrite\nthe current draft with the specified app version.", + "file": "AgentClient/RestoreAppVersion/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RestoreAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentClient.RestoreAppVersion", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.RestoreAppVersionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "RestoreAppVersionOperation", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "RestoreAppVersion", + "fullName": "google.cloud.ces.v1beta.AgentService.RestoreAppVersion", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateAgent_sync", + "title": "ces UpdateAgent Sample", + "description": "UpdateAgent updates the specified agent.", + "file": "AgentClient/UpdateAgent/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateAgent", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateAgent", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateAgentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Agent", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateAgent", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateAgent", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateApp_sync", + "title": "ces UpdateApp Sample", + "description": "UpdateApp updates the specified app.", + "file": "AgentClient/UpdateApp/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateApp", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateApp", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateAppRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.App", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateApp", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateApp", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateDeployment_sync", + "title": "ces UpdateDeployment Sample", + "description": "UpdateDeployment updates the specified deployment.", + "file": "AgentClient/UpdateDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateDeployment", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Deployment", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateDeployment", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateDeployment", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateExample_sync", + "title": "ces UpdateExample Sample", + "description": "UpdateExample updates the specified example.", + "file": "AgentClient/UpdateExample/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateExample", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateExample", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateExampleRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Example", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateExample", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateExample", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateGuardrail_sync", + "title": "ces UpdateGuardrail Sample", + "description": "UpdateGuardrail updates the specified guardrail.", + "file": "AgentClient/UpdateGuardrail/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateGuardrail", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateGuardrailRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Guardrail", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateGuardrail", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateGuardrail", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateTool_sync", + "title": "ces UpdateTool Sample", + "description": "UpdateTool updates the specified tool.", + "file": "AgentClient/UpdateTool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateTool", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateTool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateToolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Tool", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateTool", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateTool", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_AgentService_UpdateToolset_sync", + "title": "ces UpdateToolset Sample", + "description": "UpdateToolset updates the specified toolset.", + "file": "AgentClient/UpdateToolset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateToolset", + "fullName": "google.cloud.ces.v1beta.AgentClient.UpdateToolset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateToolsetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Toolset", + "client": { + "shortName": "AgentClient", + "fullName": "google.cloud.ces.v1beta.AgentClient" + }, + "method": { + "shortName": "UpdateToolset", + "fullName": "google.cloud.ces.v1beta.AgentService.UpdateToolset", + "service": { + "shortName": "AgentService", + "fullName": "google.cloud.ces.v1beta.AgentService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_CancelOperation_sync", + "title": "ces CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "EvaluationClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_CreateEvaluation_sync", + "title": "ces CreateEvaluation Sample", + "description": "CreateEvaluation creates an evaluation.", + "file": "EvaluationClient/CreateEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.CreateEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Evaluation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "CreateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.CreateEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_CreateEvaluationDataset_sync", + "title": "ces CreateEvaluationDataset Sample", + "description": "CreateEvaluationDataset creates an evaluation dataset.", + "file": "EvaluationClient/CreateEvaluationDataset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.CreateEvaluationDataset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateEvaluationDatasetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationDataset", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "CreateEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationService.CreateEvaluationDataset", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_CreateEvaluationExpectation_sync", + "title": "ces CreateEvaluationExpectation Sample", + "description": "CreateEvaluationExpectation creates an evaluation expectation.", + "file": "EvaluationClient/CreateEvaluationExpectation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.CreateEvaluationExpectation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateEvaluationExpectationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationExpectation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "CreateEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.CreateEvaluationExpectation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_CreateScheduledEvaluationRun_sync", + "title": "ces CreateScheduledEvaluationRun Sample", + "description": "CreateScheduledEvaluationRun creates a scheduled evaluation run.", + "file": "EvaluationClient/CreateScheduledEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.CreateScheduledEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.CreateScheduledEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.ScheduledEvaluationRun", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "CreateScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.CreateScheduledEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteEvaluation_sync", + "title": "ces DeleteEvaluation Sample", + "description": "DeleteEvaluation deletes an evaluation.", + "file": "EvaluationClient/DeleteEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteEvaluationDataset_sync", + "title": "ces DeleteEvaluationDataset Sample", + "description": "DeleteEvaluationDataset deletes an evaluation dataset.", + "file": "EvaluationClient/DeleteEvaluationDataset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteEvaluationDataset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteEvaluationDatasetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationDataset", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteEvaluationExpectation_sync", + "title": "ces DeleteEvaluationExpectation Sample", + "description": "DeleteEvaluationExpectation deletes an evaluation expectation.", + "file": "EvaluationClient/DeleteEvaluationExpectation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteEvaluationExpectation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteEvaluationExpectationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationExpectation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteEvaluationResult_sync", + "title": "ces DeleteEvaluationResult Sample", + "description": "DeleteEvaluationResult deletes an evaluation result.", + "file": "EvaluationClient/DeleteEvaluationResult/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEvaluationResult", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteEvaluationResult", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteEvaluationResultRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteEvaluationResult", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationResult", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteEvaluationRun_sync", + "title": "ces DeleteEvaluationRun Sample", + "description": "DeleteEvaluationRun deletes an evaluation run.", + "file": "EvaluationClient/DeleteEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteEvaluationRunOperation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteOperation_sync", + "title": "ces DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "EvaluationClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_DeleteScheduledEvaluationRun_sync", + "title": "ces DeleteScheduledEvaluationRun Sample", + "description": "DeleteScheduledEvaluationRun deletes a scheduled evaluation run.", + "file": "EvaluationClient/DeleteScheduledEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.DeleteScheduledEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.DeleteScheduledEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "DeleteScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.DeleteScheduledEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GenerateEvaluation_sync", + "title": "ces GenerateEvaluation Sample", + "description": "GenerateEvaluation creates a golden evaluation from a conversation.", + "file": "EvaluationClient/GenerateEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GenerateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GenerateEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GenerateEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "GenerateEvaluationOperation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GenerateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GenerateEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetEvaluation_sync", + "title": "ces GetEvaluation Sample", + "description": "GetEvaluation gets details of the specified evaluation.", + "file": "EvaluationClient/GetEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Evaluation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetEvaluationDataset_sync", + "title": "ces GetEvaluationDataset Sample", + "description": "GetEvaluationDataset gets details of the specified evaluation dataset.", + "file": "EvaluationClient/GetEvaluationDataset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetEvaluationDataset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetEvaluationDatasetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationDataset", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetEvaluationDataset", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetEvaluationExpectation_sync", + "title": "ces GetEvaluationExpectation Sample", + "description": "GetEvaluationExpectation gets details of the specified evaluation expectation.", + "file": "EvaluationClient/GetEvaluationExpectation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetEvaluationExpectation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetEvaluationExpectationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationExpectation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetEvaluationExpectation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetEvaluationResult_sync", + "title": "ces GetEvaluationResult Sample", + "description": "GetEvaluationResult gets details of the specified evaluation result.", + "file": "EvaluationClient/GetEvaluationResult/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEvaluationResult", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetEvaluationResult", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetEvaluationResultRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationResult", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetEvaluationResult", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetEvaluationResult", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetEvaluationRun_sync", + "title": "ces GetEvaluationRun Sample", + "description": "GetEvaluationRun gets details of the specified evaluation run.", + "file": "EvaluationClient/GetEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationRun", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetLocation_sync", + "title": "ces GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "EvaluationClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetOperation_sync", + "title": "ces GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "EvaluationClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_GetScheduledEvaluationRun_sync", + "title": "ces GetScheduledEvaluationRun Sample", + "description": "GetScheduledEvaluationRun gets details of the specified scheduled evaluation run.", + "file": "EvaluationClient/GetScheduledEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.GetScheduledEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GetScheduledEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.ScheduledEvaluationRun", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "GetScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.GetScheduledEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ImportEvaluations_sync", + "title": "ces ImportEvaluations Sample", + "description": "ImportEvaluations imports evaluations into the app.", + "file": "EvaluationClient/ImportEvaluations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ImportEvaluations", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ImportEvaluations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ImportEvaluationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ImportEvaluationsOperation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ImportEvaluations", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ImportEvaluations", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListEvaluationDatasets_sync", + "title": "ces ListEvaluationDatasets Sample", + "description": "ListEvaluationDatasets lists all evaluation datasets in the given app.", + "file": "EvaluationClient/ListEvaluationDatasets/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEvaluationDatasets", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListEvaluationDatasets", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListEvaluationDatasetsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EvaluationDatasetIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListEvaluationDatasets", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListEvaluationDatasets", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListEvaluationExpectations_sync", + "title": "ces ListEvaluationExpectations Sample", + "description": "ListEvaluationExpectations lists all evaluation expectations in the given app.", + "file": "EvaluationClient/ListEvaluationExpectations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEvaluationExpectations", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListEvaluationExpectations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListEvaluationExpectationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EvaluationExpectationIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListEvaluationExpectations", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListEvaluationExpectations", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListEvaluationResults_sync", + "title": "ces ListEvaluationResults Sample", + "description": "ListEvaluationResults lists all evaluation results for a given evaluation.", + "file": "EvaluationClient/ListEvaluationResults/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEvaluationResults", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListEvaluationResults", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListEvaluationResultsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EvaluationResultIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListEvaluationResults", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListEvaluationResults", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListEvaluationRuns_sync", + "title": "ces ListEvaluationRuns Sample", + "description": "ListEvaluationRuns lists all evaluation runs in the given app.", + "file": "EvaluationClient/ListEvaluationRuns/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEvaluationRuns", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListEvaluationRuns", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListEvaluationRunsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EvaluationRunIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListEvaluationRuns", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListEvaluationRuns", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListEvaluations_sync", + "title": "ces ListEvaluations Sample", + "description": "ListEvaluations lists all evaluations in the given app.", + "file": "EvaluationClient/ListEvaluations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEvaluations", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListEvaluations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListEvaluationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EvaluationIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListEvaluations", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListEvaluations", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListLocations_sync", + "title": "ces ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.\nThis method can be called in two ways: \n\n* **List all public locations: ** Use the path `GET /v1/locations`.\n* **List project-visible locations: ** Use the path\n`GET /v1/projects/{project_id}/locations`. This may include public\nlocations as well as private or other locations specifically visible\nto the project.", + "file": "EvaluationClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListOperations_sync", + "title": "ces ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "EvaluationClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_ListScheduledEvaluationRuns_sync", + "title": "ces ListScheduledEvaluationRuns Sample", + "description": "ListScheduledEvaluationRuns lists all scheduled evaluation runs in the given app.", + "file": "EvaluationClient/ListScheduledEvaluationRuns/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListScheduledEvaluationRuns", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.ListScheduledEvaluationRuns", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ListScheduledEvaluationRunsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ScheduledEvaluationRunIterator", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "ListScheduledEvaluationRuns", + "fullName": "google.cloud.ces.v1beta.EvaluationService.ListScheduledEvaluationRuns", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_RunEvaluation_sync", + "title": "ces RunEvaluation Sample", + "description": "RunEvaluation runs an evaluation of the app.", + "file": "EvaluationClient/RunEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RunEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.RunEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.RunEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "RunEvaluationOperation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "RunEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.RunEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_TestPersonaVoice_sync", + "title": "ces TestPersonaVoice Sample", + "description": "TestPersonaVoice tests the voice of a persona. Also accepts a default persona.", + "file": "EvaluationClient/TestPersonaVoice/main.go", + "language": "GO", + "clientMethod": { + "shortName": "TestPersonaVoice", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.TestPersonaVoice", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.TestPersonaVoiceRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.TestPersonaVoiceResponse", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "TestPersonaVoice", + "fullName": "google.cloud.ces.v1beta.EvaluationService.TestPersonaVoice", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_UpdateEvaluation_sync", + "title": "ces UpdateEvaluation Sample", + "description": "UpdateEvaluation updates an evaluation.", + "file": "EvaluationClient/UpdateEvaluation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.UpdateEvaluation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateEvaluationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.Evaluation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "UpdateEvaluation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.UpdateEvaluation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_UpdateEvaluationDataset_sync", + "title": "ces UpdateEvaluationDataset Sample", + "description": "UpdateEvaluationDataset updates an evaluation dataset.", + "file": "EvaluationClient/UpdateEvaluationDataset/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.UpdateEvaluationDataset", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateEvaluationDatasetRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationDataset", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "UpdateEvaluationDataset", + "fullName": "google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationDataset", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_UpdateEvaluationExpectation_sync", + "title": "ces UpdateEvaluationExpectation Sample", + "description": "UpdateEvaluationExpectation updates an evaluation expectation.", + "file": "EvaluationClient/UpdateEvaluationExpectation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.UpdateEvaluationExpectation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateEvaluationExpectationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.EvaluationExpectation", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "UpdateEvaluationExpectation", + "fullName": "google.cloud.ces.v1beta.EvaluationService.UpdateEvaluationExpectation", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_UpdateScheduledEvaluationRun_sync", + "title": "ces UpdateScheduledEvaluationRun Sample", + "description": "UpdateScheduledEvaluationRun updates a scheduled evaluation run.", + "file": "EvaluationClient/UpdateScheduledEvaluationRun/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.UpdateScheduledEvaluationRun", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UpdateScheduledEvaluationRunRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.ScheduledEvaluationRun", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "UpdateScheduledEvaluationRun", + "fullName": "google.cloud.ces.v1beta.EvaluationService.UpdateScheduledEvaluationRun", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_EvaluationService_UploadEvaluationAudio_sync", + "title": "ces UploadEvaluationAudio Sample", + "description": "UploadEvaluationAudio uploads audio for use in Golden Evaluations. Stores the audio in the Cloud\nStorage bucket defined in\n'App.logging_settings.evaluation_audio_recording_config.gcs_bucket' and\nreturns a transcript.", + "file": "EvaluationClient/UploadEvaluationAudio/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UploadEvaluationAudio", + "fullName": "google.cloud.ces.v1beta.EvaluationClient.UploadEvaluationAudio", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.UploadEvaluationAudioRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.UploadEvaluationAudioResponse", + "client": { + "shortName": "EvaluationClient", + "fullName": "google.cloud.ces.v1beta.EvaluationClient" + }, + "method": { + "shortName": "UploadEvaluationAudio", + "fullName": "google.cloud.ces.v1beta.EvaluationService.UploadEvaluationAudio", + "service": { + "shortName": "EvaluationService", + "fullName": "google.cloud.ces.v1beta.EvaluationService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_BidiRunSession_sync", + "title": "ces BidiRunSession Sample", + "description": "BidiRunSession establishes a bidirectional streaming connection with the CES agent.\nThe agent processes continuous multimodal inputs (e.g., text, audio) and\ngenerates real-time multimodal output streams.\n\n--- Client Request Stream ---\nThe client streams requests in the following order: \n\n1. Initialization: \nThe first message must contain\n[SessionConfig][google.cloud.ces.v1beta.BidiSessionClientMessage.config].\nFor audio sessions, this should also include\n[InputAudioConfig][google.cloud.ces.v1beta.SessionConfig.input_audio_config]\nand\n[OutputAudioConfig][google.cloud.ces.v1beta.SessionConfig.output_audio_config]\nto define audio processing and synthesis parameters.\n\n2. Interaction: \nSubsequent messages stream\n[SessionInput][google.cloud.ces.v1beta.BidiSessionClientMessage.realtime_input]\ncontaining real-time user input data.\n\n3. Termination: \nThe client should half-close the stream when there is no more user\ninput. It should also half-close upon receiving\n[EndSession][google.cloud.ces.v1beta.BidiSessionServerMessage.end_session]\nor [GoAway][google.cloud.ces.v1beta.BidiSessionServerMessage.go_away]\nfrom the agent.\n\n--- Server Response Stream ---\nFor each interaction turn, the agent streams messages in the following\nsequence: \n\n1. Speech Recognition (First N messages): \nContains\n[RecognitionResult][google.cloud.ces.v1beta.BidiSessionServerMessage.recognition_result]\nrepresenting the concatenated user speech segments captured so far.\nThis is only populated for audio sessions.\n\n2. Response (Next M messages): \nContains\n[SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output]\ndelivering the agent's response in various modalities (e.g., text,\naudio).\n\n3. Turn Completion (Final message of the turn): \nContains\n[SessionOutput][google.cloud.ces.v1beta.BidiSessionServerMessage.session_output]\nwith\n[turn_completed][google.cloud.ces.v1beta.SessionOutput.turn_completed]\nset to true. This signals the end of the current turn and includes\n[DiagnosticInfo][google.cloud.ces.v1beta.SessionOutput.diagnostic_info]\nwith execution details.\n\n--- Audio Best Practices ---\n1. Streaming: \nStream [audio data][google.cloud.ces.v1beta.SessionInput.audio]\n**CONTINUOUSLY**, even during silence. Recommended chunk size: 40-120ms\n(balances latency vs. efficiency).\n\n2. Playback & Interruption: \nPlay [audio responses][google.cloud.ces.v1beta.SessionOutput.audio]\nupon receipt. Stop playback immediately if an\n[InterruptionSignal][google.cloud.ces.v1beta.BidiSessionServerMessage.interruption_signal]\nis received (e.g., user barge-in or new agent response).\n\n\nThis method is not supported for the REST transport.", + "file": "SessionClient/BidiRunSession/main.go", + "language": "GO", + "clientMethod": { + "shortName": "BidiRunSession", + "fullName": "google.cloud.ces.v1beta.SessionClient.BidiRunSession", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "cespb.SessionService_BidiRunSessionClient", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "BidiRunSession", + "fullName": "google.cloud.ces.v1beta.SessionService.BidiRunSession", + "service": { + "shortName": "SessionService", + "fullName": "google.cloud.ces.v1beta.SessionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 69, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_CancelOperation_sync", + "title": "ces CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "SessionClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.ces.v1beta.SessionClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_DeleteOperation_sync", + "title": "ces DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "SessionClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.ces.v1beta.SessionClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_GetLocation_sync", + "title": "ces GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "SessionClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.ces.v1beta.SessionClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_GetOperation_sync", + "title": "ces GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "SessionClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.ces.v1beta.SessionClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_ListLocations_sync", + "title": "ces ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.\nThis method can be called in two ways: \n\n* **List all public locations: ** Use the path `GET /v1/locations`.\n* **List project-visible locations: ** Use the path\n`GET /v1/projects/{project_id}/locations`. This may include public\nlocations as well as private or other locations specifically visible\nto the project.", + "file": "SessionClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.ces.v1beta.SessionClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_ListOperations_sync", + "title": "ces ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "SessionClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.ces.v1beta.SessionClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_SessionService_RunSession_sync", + "title": "ces RunSession Sample", + "description": "RunSession initiates a single turn interaction with the CES agent within a\nsession.", + "file": "SessionClient/RunSession/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RunSession", + "fullName": "google.cloud.ces.v1beta.SessionClient.RunSession", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.RunSessionRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.RunSessionResponse", + "client": { + "shortName": "SessionClient", + "fullName": "google.cloud.ces.v1beta.SessionClient" + }, + "method": { + "shortName": "RunSession", + "fullName": "google.cloud.ces.v1beta.SessionService.RunSession", + "service": { + "shortName": "SessionService", + "fullName": "google.cloud.ces.v1beta.SessionService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_CancelOperation_sync", + "title": "ces CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "ToolClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.ces.v1beta.ToolClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_DeleteOperation_sync", + "title": "ces DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "ToolClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.ces.v1beta.ToolClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_ExecuteTool_sync", + "title": "ces ExecuteTool Sample", + "description": "ExecuteTool executes the given tool with the given arguments.", + "file": "ToolClient/ExecuteTool/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExecuteTool", + "fullName": "google.cloud.ces.v1beta.ToolClient.ExecuteTool", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.ExecuteToolRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.ExecuteToolResponse", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "ExecuteTool", + "fullName": "google.cloud.ces.v1beta.ToolService.ExecuteTool", + "service": { + "shortName": "ToolService", + "fullName": "google.cloud.ces.v1beta.ToolService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_GetLocation_sync", + "title": "ces GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "ToolClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.ces.v1beta.ToolClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_GetOperation_sync", + "title": "ces GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "ToolClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.ces.v1beta.ToolClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_ListLocations_sync", + "title": "ces ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.\nThis method can be called in two ways: \n\n* **List all public locations: ** Use the path `GET /v1/locations`.\n* **List project-visible locations: ** Use the path\n`GET /v1/projects/{project_id}/locations`. This may include public\nlocations as well as private or other locations specifically visible\nto the project.", + "file": "ToolClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.ces.v1beta.ToolClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_ListOperations_sync", + "title": "ces ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "ToolClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.ces.v1beta.ToolClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_RetrieveToolSchema_sync", + "title": "ces RetrieveToolSchema Sample", + "description": "RetrieveToolSchema retrieve the schema of the given tool. The schema is computed on the fly\nfor the given instance of the tool.", + "file": "ToolClient/RetrieveToolSchema/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RetrieveToolSchema", + "fullName": "google.cloud.ces.v1beta.ToolClient.RetrieveToolSchema", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.RetrieveToolSchemaRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.RetrieveToolSchemaResponse", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "RetrieveToolSchema", + "fullName": "google.cloud.ces.v1beta.ToolService.RetrieveToolSchema", + "service": { + "shortName": "ToolService", + "fullName": "google.cloud.ces.v1beta.ToolService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_ToolService_RetrieveTools_sync", + "title": "ces RetrieveTools Sample", + "description": "RetrieveTools retrieve the list of tools included in the specified toolset.", + "file": "ToolClient/RetrieveTools/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RetrieveTools", + "fullName": "google.cloud.ces.v1beta.ToolClient.RetrieveTools", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.RetrieveToolsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.RetrieveToolsResponse", + "client": { + "shortName": "ToolClient", + "fullName": "google.cloud.ces.v1beta.ToolClient" + }, + "method": { + "shortName": "RetrieveTools", + "fullName": "google.cloud.ces.v1beta.ToolService.RetrieveTools", + "service": { + "shortName": "ToolService", + "fullName": "google.cloud.ces.v1beta.ToolService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_CancelOperation_sync", + "title": "ces CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "WidgetClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.ces.v1beta.WidgetClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_DeleteOperation_sync", + "title": "ces DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "WidgetClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.ces.v1beta.WidgetClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_GenerateChatToken_sync", + "title": "ces GenerateChatToken Sample", + "description": "GenerateChatToken generates a session scoped token for chat widget to authenticate with\nSession APIs.", + "file": "WidgetClient/GenerateChatToken/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GenerateChatToken", + "fullName": "google.cloud.ces.v1beta.WidgetClient.GenerateChatToken", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "cespb.GenerateChatTokenRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*cespb.GenerateChatTokenResponse", + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "GenerateChatToken", + "fullName": "google.cloud.ces.v1beta.WidgetService.GenerateChatToken", + "service": { + "shortName": "WidgetService", + "fullName": "google.cloud.ces.v1beta.WidgetService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_GetLocation_sync", + "title": "ces GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "WidgetClient/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.ces.v1beta.WidgetClient.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_GetOperation_sync", + "title": "ces GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "WidgetClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.ces.v1beta.WidgetClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_ListLocations_sync", + "title": "ces ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.\nThis method can be called in two ways: \n\n* **List all public locations: ** Use the path `GET /v1/locations`.\n* **List project-visible locations: ** Use the path\n`GET /v1/projects/{project_id}/locations`. This may include public\nlocations as well as private or other locations specifically visible\nto the project.", + "file": "WidgetClient/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.ces.v1beta.WidgetClient.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + }, + { + "regionTag": "ces_v1beta_generated_WidgetService_ListOperations_sync", + "title": "ces ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "WidgetClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.ces.v1beta.WidgetClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "WidgetClient", + "fullName": "google.cloud.ces.v1beta.WidgetClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 66, + "type": "FULL" + } + ] + } + ] +} \ No newline at end of file diff --git a/internal/generated/snippets/go.mod b/internal/generated/snippets/go.mod index 72d47e4c3542..f413a154c333 100644 --- a/internal/generated/snippets/go.mod +++ b/internal/generated/snippets/go.mod @@ -596,3 +596,5 @@ replace cloud.google.com/go/auditmanager => ../../../auditmanager replace cloud.google.com/go/datamanager => ../../../datamanager replace cloud.google.com/go/workloadmanager => ../../../workloadmanager + +replace cloud.google.com/go/ces => ../../../ces