cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/tool.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1beta1/tool.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	latlng "google.golang.org/genproto/googleapis/type/latlng"
    26  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    27  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    28  	structpb "google.golang.org/protobuf/types/known/structpb"
    29  	reflect "reflect"
    30  	sync "sync"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // These are available confidence level user can set to block malicious urls
    41  // with chosen confidence and above. For understanding different confidence of
    42  // webrisk, please refer to
    43  // https://cloud.google.com/web-risk/docs/reference/rpc/google.cloud.webrisk.v1eap1#confidencelevel
    44  type Tool_PhishBlockThreshold int32
    45  
    46  const (
    47  	// Defaults to unspecified.
    48  	Tool_PHISH_BLOCK_THRESHOLD_UNSPECIFIED Tool_PhishBlockThreshold = 0
    49  	// Blocks Low and above confidence URL that is risky.
    50  	Tool_BLOCK_LOW_AND_ABOVE Tool_PhishBlockThreshold = 30
    51  	// Blocks Medium and above confidence URL that is risky.
    52  	Tool_BLOCK_MEDIUM_AND_ABOVE Tool_PhishBlockThreshold = 40
    53  	// Blocks High and above confidence URL that is risky.
    54  	Tool_BLOCK_HIGH_AND_ABOVE Tool_PhishBlockThreshold = 50
    55  	// Blocks Higher and above confidence URL that is risky.
    56  	Tool_BLOCK_HIGHER_AND_ABOVE Tool_PhishBlockThreshold = 55
    57  	// Blocks Very high and above confidence URL that is risky.
    58  	Tool_BLOCK_VERY_HIGH_AND_ABOVE Tool_PhishBlockThreshold = 60
    59  	// Blocks Extremely high confidence URL that is risky.
    60  	Tool_BLOCK_ONLY_EXTREMELY_HIGH Tool_PhishBlockThreshold = 100
    61  )
    62  
    63  // Enum value maps for Tool_PhishBlockThreshold.
    64  var (
    65  	Tool_PhishBlockThreshold_name = map[int32]string{
    66  		0:   "PHISH_BLOCK_THRESHOLD_UNSPECIFIED",
    67  		30:  "BLOCK_LOW_AND_ABOVE",
    68  		40:  "BLOCK_MEDIUM_AND_ABOVE",
    69  		50:  "BLOCK_HIGH_AND_ABOVE",
    70  		55:  "BLOCK_HIGHER_AND_ABOVE",
    71  		60:  "BLOCK_VERY_HIGH_AND_ABOVE",
    72  		100: "BLOCK_ONLY_EXTREMELY_HIGH",
    73  	}
    74  	Tool_PhishBlockThreshold_value = map[string]int32{
    75  		"PHISH_BLOCK_THRESHOLD_UNSPECIFIED": 0,
    76  		"BLOCK_LOW_AND_ABOVE":               30,
    77  		"BLOCK_MEDIUM_AND_ABOVE":            40,
    78  		"BLOCK_HIGH_AND_ABOVE":              50,
    79  		"BLOCK_HIGHER_AND_ABOVE":            55,
    80  		"BLOCK_VERY_HIGH_AND_ABOVE":         60,
    81  		"BLOCK_ONLY_EXTREMELY_HIGH":         100,
    82  	}
    83  )
    84  
    85  func (x Tool_PhishBlockThreshold) Enum() *Tool_PhishBlockThreshold {
    86  	p := new(Tool_PhishBlockThreshold)
    87  	*p = x
    88  	return p
    89  }
    90  
    91  func (x Tool_PhishBlockThreshold) String() string {
    92  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    93  }
    94  
    95  func (Tool_PhishBlockThreshold) Descriptor() protoreflect.EnumDescriptor {
    96  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[0].Descriptor()
    97  }
    98  
    99  func (Tool_PhishBlockThreshold) Type() protoreflect.EnumType {
   100  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[0]
   101  }
   102  
   103  func (x Tool_PhishBlockThreshold) Number() protoreflect.EnumNumber {
   104  	return protoreflect.EnumNumber(x)
   105  }
   106  
   107  // Deprecated: Use Tool_PhishBlockThreshold.Descriptor instead.
   108  func (Tool_PhishBlockThreshold) EnumDescriptor() ([]byte, []int) {
   109  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0, 0}
   110  }
   111  
   112  // Represents the environment being operated, such as a web browser.
   113  type Tool_ComputerUse_Environment int32
   114  
   115  const (
   116  	// Defaults to browser.
   117  	Tool_ComputerUse_ENVIRONMENT_UNSPECIFIED Tool_ComputerUse_Environment = 0
   118  	// Operates in a web browser.
   119  	Tool_ComputerUse_ENVIRONMENT_BROWSER Tool_ComputerUse_Environment = 1
   120  )
   121  
   122  // Enum value maps for Tool_ComputerUse_Environment.
   123  var (
   124  	Tool_ComputerUse_Environment_name = map[int32]string{
   125  		0: "ENVIRONMENT_UNSPECIFIED",
   126  		1: "ENVIRONMENT_BROWSER",
   127  	}
   128  	Tool_ComputerUse_Environment_value = map[string]int32{
   129  		"ENVIRONMENT_UNSPECIFIED": 0,
   130  		"ENVIRONMENT_BROWSER":     1,
   131  	}
   132  )
   133  
   134  func (x Tool_ComputerUse_Environment) Enum() *Tool_ComputerUse_Environment {
   135  	p := new(Tool_ComputerUse_Environment)
   136  	*p = x
   137  	return p
   138  }
   139  
   140  func (x Tool_ComputerUse_Environment) String() string {
   141  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   142  }
   143  
   144  func (Tool_ComputerUse_Environment) Descriptor() protoreflect.EnumDescriptor {
   145  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[1].Descriptor()
   146  }
   147  
   148  func (Tool_ComputerUse_Environment) Type() protoreflect.EnumType {
   149  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[1]
   150  }
   151  
   152  func (x Tool_ComputerUse_Environment) Number() protoreflect.EnumNumber {
   153  	return protoreflect.EnumNumber(x)
   154  }
   155  
   156  // Deprecated: Use Tool_ComputerUse_Environment.Descriptor instead.
   157  func (Tool_ComputerUse_Environment) EnumDescriptor() ([]byte, []int) {
   158  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0, 2, 0}
   159  }
   160  
   161  // Supported programming languages for the generated code.
   162  type ExecutableCode_Language int32
   163  
   164  const (
   165  	// Unspecified language. This value should not be used.
   166  	ExecutableCode_LANGUAGE_UNSPECIFIED ExecutableCode_Language = 0
   167  	// Python >= 3.10, with numpy and simpy available.
   168  	ExecutableCode_PYTHON ExecutableCode_Language = 1
   169  )
   170  
   171  // Enum value maps for ExecutableCode_Language.
   172  var (
   173  	ExecutableCode_Language_name = map[int32]string{
   174  		0: "LANGUAGE_UNSPECIFIED",
   175  		1: "PYTHON",
   176  	}
   177  	ExecutableCode_Language_value = map[string]int32{
   178  		"LANGUAGE_UNSPECIFIED": 0,
   179  		"PYTHON":               1,
   180  	}
   181  )
   182  
   183  func (x ExecutableCode_Language) Enum() *ExecutableCode_Language {
   184  	p := new(ExecutableCode_Language)
   185  	*p = x
   186  	return p
   187  }
   188  
   189  func (x ExecutableCode_Language) String() string {
   190  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   191  }
   192  
   193  func (ExecutableCode_Language) Descriptor() protoreflect.EnumDescriptor {
   194  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[2].Descriptor()
   195  }
   196  
   197  func (ExecutableCode_Language) Type() protoreflect.EnumType {
   198  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[2]
   199  }
   200  
   201  func (x ExecutableCode_Language) Number() protoreflect.EnumNumber {
   202  	return protoreflect.EnumNumber(x)
   203  }
   204  
   205  // Deprecated: Use ExecutableCode_Language.Descriptor instead.
   206  func (ExecutableCode_Language) EnumDescriptor() ([]byte, []int) {
   207  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{6, 0}
   208  }
   209  
   210  // Enumeration of possible outcomes of the code execution.
   211  type CodeExecutionResult_Outcome int32
   212  
   213  const (
   214  	// Unspecified status. This value should not be used.
   215  	CodeExecutionResult_OUTCOME_UNSPECIFIED CodeExecutionResult_Outcome = 0
   216  	// Code execution completed successfully.
   217  	CodeExecutionResult_OUTCOME_OK CodeExecutionResult_Outcome = 1
   218  	// Code execution finished but with a failure. `stderr` should contain the
   219  	// reason.
   220  	CodeExecutionResult_OUTCOME_FAILED CodeExecutionResult_Outcome = 2
   221  	// Code execution ran for too long, and was cancelled. There may or may not
   222  	// be a partial output present.
   223  	CodeExecutionResult_OUTCOME_DEADLINE_EXCEEDED CodeExecutionResult_Outcome = 3
   224  )
   225  
   226  // Enum value maps for CodeExecutionResult_Outcome.
   227  var (
   228  	CodeExecutionResult_Outcome_name = map[int32]string{
   229  		0: "OUTCOME_UNSPECIFIED",
   230  		1: "OUTCOME_OK",
   231  		2: "OUTCOME_FAILED",
   232  		3: "OUTCOME_DEADLINE_EXCEEDED",
   233  	}
   234  	CodeExecutionResult_Outcome_value = map[string]int32{
   235  		"OUTCOME_UNSPECIFIED":       0,
   236  		"OUTCOME_OK":                1,
   237  		"OUTCOME_FAILED":            2,
   238  		"OUTCOME_DEADLINE_EXCEEDED": 3,
   239  	}
   240  )
   241  
   242  func (x CodeExecutionResult_Outcome) Enum() *CodeExecutionResult_Outcome {
   243  	p := new(CodeExecutionResult_Outcome)
   244  	*p = x
   245  	return p
   246  }
   247  
   248  func (x CodeExecutionResult_Outcome) String() string {
   249  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   250  }
   251  
   252  func (CodeExecutionResult_Outcome) Descriptor() protoreflect.EnumDescriptor {
   253  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[3].Descriptor()
   254  }
   255  
   256  func (CodeExecutionResult_Outcome) Type() protoreflect.EnumType {
   257  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[3]
   258  }
   259  
   260  func (x CodeExecutionResult_Outcome) Number() protoreflect.EnumNumber {
   261  	return protoreflect.EnumNumber(x)
   262  }
   263  
   264  // Deprecated: Use CodeExecutionResult_Outcome.Descriptor instead.
   265  func (CodeExecutionResult_Outcome) EnumDescriptor() ([]byte, []int) {
   266  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{7, 0}
   267  }
   268  
   269  // The mode of the predictor to be used in dynamic retrieval.
   270  type DynamicRetrievalConfig_Mode int32
   271  
   272  const (
   273  	// Always trigger retrieval.
   274  	DynamicRetrievalConfig_MODE_UNSPECIFIED DynamicRetrievalConfig_Mode = 0
   275  	// Run retrieval only when system decides it is necessary.
   276  	DynamicRetrievalConfig_MODE_DYNAMIC DynamicRetrievalConfig_Mode = 1
   277  )
   278  
   279  // Enum value maps for DynamicRetrievalConfig_Mode.
   280  var (
   281  	DynamicRetrievalConfig_Mode_name = map[int32]string{
   282  		0: "MODE_UNSPECIFIED",
   283  		1: "MODE_DYNAMIC",
   284  	}
   285  	DynamicRetrievalConfig_Mode_value = map[string]int32{
   286  		"MODE_UNSPECIFIED": 0,
   287  		"MODE_DYNAMIC":     1,
   288  	}
   289  )
   290  
   291  func (x DynamicRetrievalConfig_Mode) Enum() *DynamicRetrievalConfig_Mode {
   292  	p := new(DynamicRetrievalConfig_Mode)
   293  	*p = x
   294  	return p
   295  }
   296  
   297  func (x DynamicRetrievalConfig_Mode) String() string {
   298  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   299  }
   300  
   301  func (DynamicRetrievalConfig_Mode) Descriptor() protoreflect.EnumDescriptor {
   302  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[4].Descriptor()
   303  }
   304  
   305  func (DynamicRetrievalConfig_Mode) Type() protoreflect.EnumType {
   306  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[4]
   307  }
   308  
   309  func (x DynamicRetrievalConfig_Mode) Number() protoreflect.EnumNumber {
   310  	return protoreflect.EnumNumber(x)
   311  }
   312  
   313  // Deprecated: Use DynamicRetrievalConfig_Mode.Descriptor instead.
   314  func (DynamicRetrievalConfig_Mode) EnumDescriptor() ([]byte, []int) {
   315  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{14, 0}
   316  }
   317  
   318  // Function calling mode.
   319  type FunctionCallingConfig_Mode int32
   320  
   321  const (
   322  	// Unspecified function calling mode. This value should not be used.
   323  	FunctionCallingConfig_MODE_UNSPECIFIED FunctionCallingConfig_Mode = 0
   324  	// Default model behavior, model decides to predict either function calls
   325  	// or natural language response.
   326  	FunctionCallingConfig_AUTO FunctionCallingConfig_Mode = 1
   327  	// Model is constrained to always predicting function calls only.
   328  	// If [allowed_function_names][FunctionCallingConfig.allowed_function_names]
   329  	// are set, the predicted function calls will be limited to any one of
   330  	// `allowed_function_names`, else the predicted function calls will be any
   331  	// one of the provided [FunctionDeclaration].
   332  	FunctionCallingConfig_ANY FunctionCallingConfig_Mode = 2
   333  	// Model will not predict any function calls. Model behavior is same as when
   334  	// not passing any function declarations.
   335  	FunctionCallingConfig_NONE FunctionCallingConfig_Mode = 3
   336  	// Model is constrained to predict either function calls or natural language
   337  	// response.
   338  	// If [allowed_function_names][FunctionCallingConfig.allowed_function_names]
   339  	// are set, the predicted function calls will be limited to any one of
   340  	// `allowed_function_names`, else the predicted function calls will be any
   341  	// one of the provided [FunctionDeclaration].
   342  	FunctionCallingConfig_VALIDATED FunctionCallingConfig_Mode = 5
   343  )
   344  
   345  // Enum value maps for FunctionCallingConfig_Mode.
   346  var (
   347  	FunctionCallingConfig_Mode_name = map[int32]string{
   348  		0: "MODE_UNSPECIFIED",
   349  		1: "AUTO",
   350  		2: "ANY",
   351  		3: "NONE",
   352  		5: "VALIDATED",
   353  	}
   354  	FunctionCallingConfig_Mode_value = map[string]int32{
   355  		"MODE_UNSPECIFIED": 0,
   356  		"AUTO":             1,
   357  		"ANY":              2,
   358  		"NONE":             3,
   359  		"VALIDATED":        5,
   360  	}
   361  )
   362  
   363  func (x FunctionCallingConfig_Mode) Enum() *FunctionCallingConfig_Mode {
   364  	p := new(FunctionCallingConfig_Mode)
   365  	*p = x
   366  	return p
   367  }
   368  
   369  func (x FunctionCallingConfig_Mode) String() string {
   370  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   371  }
   372  
   373  func (FunctionCallingConfig_Mode) Descriptor() protoreflect.EnumDescriptor {
   374  	return file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[5].Descriptor()
   375  }
   376  
   377  func (FunctionCallingConfig_Mode) Type() protoreflect.EnumType {
   378  	return &file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes[5]
   379  }
   380  
   381  func (x FunctionCallingConfig_Mode) Number() protoreflect.EnumNumber {
   382  	return protoreflect.EnumNumber(x)
   383  }
   384  
   385  // Deprecated: Use FunctionCallingConfig_Mode.Descriptor instead.
   386  func (FunctionCallingConfig_Mode) EnumDescriptor() ([]byte, []int) {
   387  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{16, 0}
   388  }
   389  
   390  // Tool details that the model may use to generate response.
   391  //
   392  // A `Tool` is a piece of code that enables the system to interact with
   393  // external systems to perform an action, or set of actions, outside of
   394  // knowledge and scope of the model. A Tool object should contain exactly
   395  // one type of Tool (e.g FunctionDeclaration, Retrieval or
   396  // GoogleSearchRetrieval).
   397  type Tool struct {
   398  	state         protoimpl.MessageState
   399  	sizeCache     protoimpl.SizeCache
   400  	unknownFields protoimpl.UnknownFields
   401  
   402  	// Optional. Function tool type.
   403  	// One or more function declarations to be passed to the model along with the
   404  	// current user query. Model may decide to call a subset of these functions
   405  	// by populating
   406  	// [FunctionCall][google.cloud.aiplatform.v1beta1.Part.function_call] in the
   407  	// response. User should provide a
   408  	// [FunctionResponse][google.cloud.aiplatform.v1beta1.Part.function_response]
   409  	// for each function call in the next turn. Based on the function responses,
   410  	// Model will generate the final response back to the user.
   411  	// Maximum 128 function declarations can be provided.
   412  	FunctionDeclarations []*FunctionDeclaration `protobuf:"bytes,1,rep,name=function_declarations,json=functionDeclarations,proto3" json:"function_declarations,omitempty"`
   413  	// Optional. Retrieval tool type.
   414  	// System will always execute the provided retrieval tool(s) to get external
   415  	// knowledge to answer the prompt. Retrieval results are presented to the
   416  	// model for generation.
   417  	Retrieval *Retrieval `protobuf:"bytes,2,opt,name=retrieval,proto3" json:"retrieval,omitempty"`
   418  	// Optional. GoogleSearch tool type.
   419  	// Tool to support Google Search in Model. Powered by Google.
   420  	GoogleSearch *Tool_GoogleSearch `protobuf:"bytes,7,opt,name=google_search,json=googleSearch,proto3" json:"google_search,omitempty"`
   421  	// Optional. GoogleSearchRetrieval tool type.
   422  	// Specialized retrieval tool that is powered by Google search.
   423  	GoogleSearchRetrieval *GoogleSearchRetrieval `protobuf:"bytes,3,opt,name=google_search_retrieval,json=googleSearchRetrieval,proto3" json:"google_search_retrieval,omitempty"`
   424  	// Optional. GoogleMaps tool type.
   425  	// Tool to support Google Maps in Model.
   426  	GoogleMaps *GoogleMaps `protobuf:"bytes,5,opt,name=google_maps,json=googleMaps,proto3" json:"google_maps,omitempty"`
   427  	// Optional. Tool to support searching public web data, powered by Vertex AI
   428  	// Search and Sec4 compliance.
   429  	EnterpriseWebSearch *EnterpriseWebSearch `protobuf:"bytes,6,opt,name=enterprise_web_search,json=enterpriseWebSearch,proto3" json:"enterprise_web_search,omitempty"`
   430  	// Optional. CodeExecution tool type.
   431  	// Enables the model to execute code as part of generation.
   432  	CodeExecution *Tool_CodeExecution `protobuf:"bytes,4,opt,name=code_execution,json=codeExecution,proto3" json:"code_execution,omitempty"`
   433  	// Optional. Tool to support URL context retrieval.
   434  	UrlContext *UrlContext `protobuf:"bytes,8,opt,name=url_context,json=urlContext,proto3" json:"url_context,omitempty"`
   435  	// Optional. Tool to support the model interacting directly with the computer.
   436  	// If enabled, it automatically populates computer-use specific Function
   437  	// Declarations.
   438  	ComputerUse *Tool_ComputerUse `protobuf:"bytes,11,opt,name=computer_use,json=computerUse,proto3" json:"computer_use,omitempty"`
   439  }
   440  
   441  func (x *Tool) Reset() {
   442  	*x = Tool{}
   443  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[0]
   444  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   445  	ms.StoreMessageInfo(mi)
   446  }
   447  
   448  func (x *Tool) String() string {
   449  	return protoimpl.X.MessageStringOf(x)
   450  }
   451  
   452  func (*Tool) ProtoMessage() {}
   453  
   454  func (x *Tool) ProtoReflect() protoreflect.Message {
   455  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[0]
   456  	if x != nil {
   457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   458  		if ms.LoadMessageInfo() == nil {
   459  			ms.StoreMessageInfo(mi)
   460  		}
   461  		return ms
   462  	}
   463  	return mi.MessageOf(x)
   464  }
   465  
   466  // Deprecated: Use Tool.ProtoReflect.Descriptor instead.
   467  func (*Tool) Descriptor() ([]byte, []int) {
   468  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0}
   469  }
   470  
   471  func (x *Tool) GetFunctionDeclarations() []*FunctionDeclaration {
   472  	if x != nil {
   473  		return x.FunctionDeclarations
   474  	}
   475  	return nil
   476  }
   477  
   478  func (x *Tool) GetRetrieval() *Retrieval {
   479  	if x != nil {
   480  		return x.Retrieval
   481  	}
   482  	return nil
   483  }
   484  
   485  func (x *Tool) GetGoogleSearch() *Tool_GoogleSearch {
   486  	if x != nil {
   487  		return x.GoogleSearch
   488  	}
   489  	return nil
   490  }
   491  
   492  func (x *Tool) GetGoogleSearchRetrieval() *GoogleSearchRetrieval {
   493  	if x != nil {
   494  		return x.GoogleSearchRetrieval
   495  	}
   496  	return nil
   497  }
   498  
   499  func (x *Tool) GetGoogleMaps() *GoogleMaps {
   500  	if x != nil {
   501  		return x.GoogleMaps
   502  	}
   503  	return nil
   504  }
   505  
   506  func (x *Tool) GetEnterpriseWebSearch() *EnterpriseWebSearch {
   507  	if x != nil {
   508  		return x.EnterpriseWebSearch
   509  	}
   510  	return nil
   511  }
   512  
   513  func (x *Tool) GetCodeExecution() *Tool_CodeExecution {
   514  	if x != nil {
   515  		return x.CodeExecution
   516  	}
   517  	return nil
   518  }
   519  
   520  func (x *Tool) GetUrlContext() *UrlContext {
   521  	if x != nil {
   522  		return x.UrlContext
   523  	}
   524  	return nil
   525  }
   526  
   527  func (x *Tool) GetComputerUse() *Tool_ComputerUse {
   528  	if x != nil {
   529  		return x.ComputerUse
   530  	}
   531  	return nil
   532  }
   533  
   534  // Tool to support URL context.
   535  type UrlContext struct {
   536  	state         protoimpl.MessageState
   537  	sizeCache     protoimpl.SizeCache
   538  	unknownFields protoimpl.UnknownFields
   539  }
   540  
   541  func (x *UrlContext) Reset() {
   542  	*x = UrlContext{}
   543  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[1]
   544  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   545  	ms.StoreMessageInfo(mi)
   546  }
   547  
   548  func (x *UrlContext) String() string {
   549  	return protoimpl.X.MessageStringOf(x)
   550  }
   551  
   552  func (*UrlContext) ProtoMessage() {}
   553  
   554  func (x *UrlContext) ProtoReflect() protoreflect.Message {
   555  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[1]
   556  	if x != nil {
   557  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   558  		if ms.LoadMessageInfo() == nil {
   559  			ms.StoreMessageInfo(mi)
   560  		}
   561  		return ms
   562  	}
   563  	return mi.MessageOf(x)
   564  }
   565  
   566  // Deprecated: Use UrlContext.ProtoReflect.Descriptor instead.
   567  func (*UrlContext) Descriptor() ([]byte, []int) {
   568  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{1}
   569  }
   570  
   571  // A single example of the tool usage.
   572  type ToolUseExample struct {
   573  	state         protoimpl.MessageState
   574  	sizeCache     protoimpl.SizeCache
   575  	unknownFields protoimpl.UnknownFields
   576  
   577  	// Target tool to use.
   578  	//
   579  	// Types that are assignable to Target:
   580  	//
   581  	//	*ToolUseExample_ExtensionOperation_
   582  	//	*ToolUseExample_FunctionName
   583  	Target isToolUseExample_Target `protobuf_oneof:"Target"`
   584  	// Required. The display name for example.
   585  	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   586  	// Required. Query that should be routed to this tool.
   587  	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
   588  	// Request parameters used for executing this tool.
   589  	RequestParams *structpb.Struct `protobuf:"bytes,3,opt,name=request_params,json=requestParams,proto3" json:"request_params,omitempty"`
   590  	// Response parameters generated by this tool.
   591  	ResponseParams *structpb.Struct `protobuf:"bytes,4,opt,name=response_params,json=responseParams,proto3" json:"response_params,omitempty"`
   592  	// Summary of the tool response to the user query.
   593  	ResponseSummary string `protobuf:"bytes,5,opt,name=response_summary,json=responseSummary,proto3" json:"response_summary,omitempty"`
   594  }
   595  
   596  func (x *ToolUseExample) Reset() {
   597  	*x = ToolUseExample{}
   598  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[2]
   599  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   600  	ms.StoreMessageInfo(mi)
   601  }
   602  
   603  func (x *ToolUseExample) String() string {
   604  	return protoimpl.X.MessageStringOf(x)
   605  }
   606  
   607  func (*ToolUseExample) ProtoMessage() {}
   608  
   609  func (x *ToolUseExample) ProtoReflect() protoreflect.Message {
   610  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[2]
   611  	if x != nil {
   612  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   613  		if ms.LoadMessageInfo() == nil {
   614  			ms.StoreMessageInfo(mi)
   615  		}
   616  		return ms
   617  	}
   618  	return mi.MessageOf(x)
   619  }
   620  
   621  // Deprecated: Use ToolUseExample.ProtoReflect.Descriptor instead.
   622  func (*ToolUseExample) Descriptor() ([]byte, []int) {
   623  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{2}
   624  }
   625  
   626  func (m *ToolUseExample) GetTarget() isToolUseExample_Target {
   627  	if m != nil {
   628  		return m.Target
   629  	}
   630  	return nil
   631  }
   632  
   633  func (x *ToolUseExample) GetExtensionOperation() *ToolUseExample_ExtensionOperation {
   634  	if x, ok := x.GetTarget().(*ToolUseExample_ExtensionOperation_); ok {
   635  		return x.ExtensionOperation
   636  	}
   637  	return nil
   638  }
   639  
   640  func (x *ToolUseExample) GetFunctionName() string {
   641  	if x, ok := x.GetTarget().(*ToolUseExample_FunctionName); ok {
   642  		return x.FunctionName
   643  	}
   644  	return ""
   645  }
   646  
   647  func (x *ToolUseExample) GetDisplayName() string {
   648  	if x != nil {
   649  		return x.DisplayName
   650  	}
   651  	return ""
   652  }
   653  
   654  func (x *ToolUseExample) GetQuery() string {
   655  	if x != nil {
   656  		return x.Query
   657  	}
   658  	return ""
   659  }
   660  
   661  func (x *ToolUseExample) GetRequestParams() *structpb.Struct {
   662  	if x != nil {
   663  		return x.RequestParams
   664  	}
   665  	return nil
   666  }
   667  
   668  func (x *ToolUseExample) GetResponseParams() *structpb.Struct {
   669  	if x != nil {
   670  		return x.ResponseParams
   671  	}
   672  	return nil
   673  }
   674  
   675  func (x *ToolUseExample) GetResponseSummary() string {
   676  	if x != nil {
   677  		return x.ResponseSummary
   678  	}
   679  	return ""
   680  }
   681  
   682  type isToolUseExample_Target interface {
   683  	isToolUseExample_Target()
   684  }
   685  
   686  type ToolUseExample_ExtensionOperation_ struct {
   687  	// Extension operation to call.
   688  	ExtensionOperation *ToolUseExample_ExtensionOperation `protobuf:"bytes,10,opt,name=extension_operation,json=extensionOperation,proto3,oneof"`
   689  }
   690  
   691  type ToolUseExample_FunctionName struct {
   692  	// Function name to call.
   693  	FunctionName string `protobuf:"bytes,11,opt,name=function_name,json=functionName,proto3,oneof"`
   694  }
   695  
   696  func (*ToolUseExample_ExtensionOperation_) isToolUseExample_Target() {}
   697  
   698  func (*ToolUseExample_FunctionName) isToolUseExample_Target() {}
   699  
   700  // Structured representation of a function declaration as defined by the
   701  // [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included
   702  // in this declaration are the function name, description, parameters and
   703  // response type. This FunctionDeclaration is a representation of a block of
   704  // code that can be used as a `Tool` by the model and executed by the client.
   705  type FunctionDeclaration struct {
   706  	state         protoimpl.MessageState
   707  	sizeCache     protoimpl.SizeCache
   708  	unknownFields protoimpl.UnknownFields
   709  
   710  	// Required. The name of the function to call.
   711  	// Must start with a letter or an underscore.
   712  	// Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a
   713  	// maximum length of 64.
   714  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   715  	// Optional. Description and purpose of the function.
   716  	// Model uses it to decide how and whether to call the function.
   717  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   718  	// Optional. Describes the parameters to this function in JSON Schema Object
   719  	// format. Reflects the Open API 3.03 Parameter Object. string Key: the name
   720  	// of the parameter. Parameter names are case sensitive. Schema Value: the
   721  	// Schema defining the type used for the parameter. For function with no
   722  	// parameters, this can be left unset. Parameter names must start with a
   723  	// letter or an underscore and must only contain chars a-z, A-Z, 0-9, or
   724  	// underscores with a maximum length of 64. Example with 1 required and 1
   725  	// optional parameter: type: OBJECT properties:
   726  	//
   727  	//	param1:
   728  	//	  type: STRING
   729  	//	param2:
   730  	//	  type: INTEGER
   731  	//
   732  	// required:
   733  	//   - param1
   734  	Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"`
   735  	// Optional. Describes the parameters to the function in JSON Schema format.
   736  	// The schema must describe an object where the properties are the parameters
   737  	// to the function. For example:
   738  	//
   739  	// ```
   740  	//
   741  	//	{
   742  	//	  "type": "object",
   743  	//	  "properties": {
   744  	//	    "name": { "type": "string" },
   745  	//	    "age": { "type": "integer" }
   746  	//	  },
   747  	//	  "additionalProperties": false,
   748  	//	  "required": ["name", "age"],
   749  	//	  "propertyOrdering": ["name", "age"]
   750  	//	}
   751  	//
   752  	// ```
   753  	//
   754  	// This field is mutually exclusive with `parameters`.
   755  	ParametersJsonSchema *structpb.Value `protobuf:"bytes,5,opt,name=parameters_json_schema,json=parametersJsonSchema,proto3" json:"parameters_json_schema,omitempty"`
   756  	// Optional. Describes the output from this function in JSON Schema format.
   757  	// Reflects the Open API 3.03 Response Object. The Schema defines the type
   758  	// used for the response value of the function.
   759  	Response *Schema `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"`
   760  	// Optional. Describes the output from this function in JSON Schema format.
   761  	// The value specified by the schema is the response value of the function.
   762  	//
   763  	// This field is mutually exclusive with `response`.
   764  	ResponseJsonSchema *structpb.Value `protobuf:"bytes,6,opt,name=response_json_schema,json=responseJsonSchema,proto3" json:"response_json_schema,omitempty"`
   765  }
   766  
   767  func (x *FunctionDeclaration) Reset() {
   768  	*x = FunctionDeclaration{}
   769  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[3]
   770  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   771  	ms.StoreMessageInfo(mi)
   772  }
   773  
   774  func (x *FunctionDeclaration) String() string {
   775  	return protoimpl.X.MessageStringOf(x)
   776  }
   777  
   778  func (*FunctionDeclaration) ProtoMessage() {}
   779  
   780  func (x *FunctionDeclaration) ProtoReflect() protoreflect.Message {
   781  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[3]
   782  	if x != nil {
   783  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   784  		if ms.LoadMessageInfo() == nil {
   785  			ms.StoreMessageInfo(mi)
   786  		}
   787  		return ms
   788  	}
   789  	return mi.MessageOf(x)
   790  }
   791  
   792  // Deprecated: Use FunctionDeclaration.ProtoReflect.Descriptor instead.
   793  func (*FunctionDeclaration) Descriptor() ([]byte, []int) {
   794  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{3}
   795  }
   796  
   797  func (x *FunctionDeclaration) GetName() string {
   798  	if x != nil {
   799  		return x.Name
   800  	}
   801  	return ""
   802  }
   803  
   804  func (x *FunctionDeclaration) GetDescription() string {
   805  	if x != nil {
   806  		return x.Description
   807  	}
   808  	return ""
   809  }
   810  
   811  func (x *FunctionDeclaration) GetParameters() *Schema {
   812  	if x != nil {
   813  		return x.Parameters
   814  	}
   815  	return nil
   816  }
   817  
   818  func (x *FunctionDeclaration) GetParametersJsonSchema() *structpb.Value {
   819  	if x != nil {
   820  		return x.ParametersJsonSchema
   821  	}
   822  	return nil
   823  }
   824  
   825  func (x *FunctionDeclaration) GetResponse() *Schema {
   826  	if x != nil {
   827  		return x.Response
   828  	}
   829  	return nil
   830  }
   831  
   832  func (x *FunctionDeclaration) GetResponseJsonSchema() *structpb.Value {
   833  	if x != nil {
   834  		return x.ResponseJsonSchema
   835  	}
   836  	return nil
   837  }
   838  
   839  // A predicted [FunctionCall] returned from the model that contains a string
   840  // representing the [FunctionDeclaration.name] and a structured JSON object
   841  // containing the parameters and their values.
   842  type FunctionCall struct {
   843  	state         protoimpl.MessageState
   844  	sizeCache     protoimpl.SizeCache
   845  	unknownFields protoimpl.UnknownFields
   846  
   847  	// Optional. The unique id of the function call. If populated, the client to
   848  	// execute the `function_call` and return the response with the matching `id`.
   849  	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
   850  	// Required. The name of the function to call.
   851  	// Matches [FunctionDeclaration.name].
   852  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   853  	// Optional. Required. The function parameters and values in JSON object
   854  	// format. See [FunctionDeclaration.parameters] for parameter details.
   855  	Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
   856  }
   857  
   858  func (x *FunctionCall) Reset() {
   859  	*x = FunctionCall{}
   860  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4]
   861  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   862  	ms.StoreMessageInfo(mi)
   863  }
   864  
   865  func (x *FunctionCall) String() string {
   866  	return protoimpl.X.MessageStringOf(x)
   867  }
   868  
   869  func (*FunctionCall) ProtoMessage() {}
   870  
   871  func (x *FunctionCall) ProtoReflect() protoreflect.Message {
   872  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[4]
   873  	if x != nil {
   874  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   875  		if ms.LoadMessageInfo() == nil {
   876  			ms.StoreMessageInfo(mi)
   877  		}
   878  		return ms
   879  	}
   880  	return mi.MessageOf(x)
   881  }
   882  
   883  // Deprecated: Use FunctionCall.ProtoReflect.Descriptor instead.
   884  func (*FunctionCall) Descriptor() ([]byte, []int) {
   885  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{4}
   886  }
   887  
   888  func (x *FunctionCall) GetId() string {
   889  	if x != nil {
   890  		return x.Id
   891  	}
   892  	return ""
   893  }
   894  
   895  func (x *FunctionCall) GetName() string {
   896  	if x != nil {
   897  		return x.Name
   898  	}
   899  	return ""
   900  }
   901  
   902  func (x *FunctionCall) GetArgs() *structpb.Struct {
   903  	if x != nil {
   904  		return x.Args
   905  	}
   906  	return nil
   907  }
   908  
   909  // The result output from a [FunctionCall] that contains a string representing
   910  // the [FunctionDeclaration.name] and a structured JSON object containing any
   911  // output from the function is used as context to the model. This should contain
   912  // the result of a [FunctionCall] made based on model prediction.
   913  type FunctionResponse struct {
   914  	state         protoimpl.MessageState
   915  	sizeCache     protoimpl.SizeCache
   916  	unknownFields protoimpl.UnknownFields
   917  
   918  	// Optional. The id of the function call this response is for. Populated by
   919  	// the client to match the corresponding function call `id`.
   920  	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
   921  	// Required. The name of the function to call.
   922  	// Matches [FunctionDeclaration.name] and [FunctionCall.name].
   923  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   924  	// Required. The function response in JSON object format.
   925  	// Use "output" key to specify function output and "error" key to specify
   926  	// error details (if any). If "output" and "error" keys are not specified,
   927  	// then whole "response" is treated as function output.
   928  	Response *structpb.Struct `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
   929  }
   930  
   931  func (x *FunctionResponse) Reset() {
   932  	*x = FunctionResponse{}
   933  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5]
   934  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   935  	ms.StoreMessageInfo(mi)
   936  }
   937  
   938  func (x *FunctionResponse) String() string {
   939  	return protoimpl.X.MessageStringOf(x)
   940  }
   941  
   942  func (*FunctionResponse) ProtoMessage() {}
   943  
   944  func (x *FunctionResponse) ProtoReflect() protoreflect.Message {
   945  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[5]
   946  	if x != nil {
   947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   948  		if ms.LoadMessageInfo() == nil {
   949  			ms.StoreMessageInfo(mi)
   950  		}
   951  		return ms
   952  	}
   953  	return mi.MessageOf(x)
   954  }
   955  
   956  // Deprecated: Use FunctionResponse.ProtoReflect.Descriptor instead.
   957  func (*FunctionResponse) Descriptor() ([]byte, []int) {
   958  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{5}
   959  }
   960  
   961  func (x *FunctionResponse) GetId() string {
   962  	if x != nil {
   963  		return x.Id
   964  	}
   965  	return ""
   966  }
   967  
   968  func (x *FunctionResponse) GetName() string {
   969  	if x != nil {
   970  		return x.Name
   971  	}
   972  	return ""
   973  }
   974  
   975  func (x *FunctionResponse) GetResponse() *structpb.Struct {
   976  	if x != nil {
   977  		return x.Response
   978  	}
   979  	return nil
   980  }
   981  
   982  // Code generated by the model that is meant to be executed, and the result
   983  // returned to the model.
   984  //
   985  // Generated when using the [FunctionDeclaration] tool and
   986  // [FunctionCallingConfig] mode is set to [Mode.CODE].
   987  type ExecutableCode struct {
   988  	state         protoimpl.MessageState
   989  	sizeCache     protoimpl.SizeCache
   990  	unknownFields protoimpl.UnknownFields
   991  
   992  	// Required. Programming language of the `code`.
   993  	Language ExecutableCode_Language `protobuf:"varint,1,opt,name=language,proto3,enum=google.cloud.aiplatform.v1beta1.ExecutableCode_Language" json:"language,omitempty"`
   994  	// Required. The code to be executed.
   995  	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
   996  }
   997  
   998  func (x *ExecutableCode) Reset() {
   999  	*x = ExecutableCode{}
  1000  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6]
  1001  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1002  	ms.StoreMessageInfo(mi)
  1003  }
  1004  
  1005  func (x *ExecutableCode) String() string {
  1006  	return protoimpl.X.MessageStringOf(x)
  1007  }
  1008  
  1009  func (*ExecutableCode) ProtoMessage() {}
  1010  
  1011  func (x *ExecutableCode) ProtoReflect() protoreflect.Message {
  1012  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[6]
  1013  	if x != nil {
  1014  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1015  		if ms.LoadMessageInfo() == nil {
  1016  			ms.StoreMessageInfo(mi)
  1017  		}
  1018  		return ms
  1019  	}
  1020  	return mi.MessageOf(x)
  1021  }
  1022  
  1023  // Deprecated: Use ExecutableCode.ProtoReflect.Descriptor instead.
  1024  func (*ExecutableCode) Descriptor() ([]byte, []int) {
  1025  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{6}
  1026  }
  1027  
  1028  func (x *ExecutableCode) GetLanguage() ExecutableCode_Language {
  1029  	if x != nil {
  1030  		return x.Language
  1031  	}
  1032  	return ExecutableCode_LANGUAGE_UNSPECIFIED
  1033  }
  1034  
  1035  func (x *ExecutableCode) GetCode() string {
  1036  	if x != nil {
  1037  		return x.Code
  1038  	}
  1039  	return ""
  1040  }
  1041  
  1042  // Result of executing the [ExecutableCode].
  1043  //
  1044  // Always follows a `part` containing the [ExecutableCode].
  1045  type CodeExecutionResult struct {
  1046  	state         protoimpl.MessageState
  1047  	sizeCache     protoimpl.SizeCache
  1048  	unknownFields protoimpl.UnknownFields
  1049  
  1050  	// Required. Outcome of the code execution.
  1051  	Outcome CodeExecutionResult_Outcome `protobuf:"varint,1,opt,name=outcome,proto3,enum=google.cloud.aiplatform.v1beta1.CodeExecutionResult_Outcome" json:"outcome,omitempty"`
  1052  	// Optional. Contains stdout when code execution is successful, stderr or
  1053  	// other description otherwise.
  1054  	Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"`
  1055  }
  1056  
  1057  func (x *CodeExecutionResult) Reset() {
  1058  	*x = CodeExecutionResult{}
  1059  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7]
  1060  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1061  	ms.StoreMessageInfo(mi)
  1062  }
  1063  
  1064  func (x *CodeExecutionResult) String() string {
  1065  	return protoimpl.X.MessageStringOf(x)
  1066  }
  1067  
  1068  func (*CodeExecutionResult) ProtoMessage() {}
  1069  
  1070  func (x *CodeExecutionResult) ProtoReflect() protoreflect.Message {
  1071  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[7]
  1072  	if x != nil {
  1073  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1074  		if ms.LoadMessageInfo() == nil {
  1075  			ms.StoreMessageInfo(mi)
  1076  		}
  1077  		return ms
  1078  	}
  1079  	return mi.MessageOf(x)
  1080  }
  1081  
  1082  // Deprecated: Use CodeExecutionResult.ProtoReflect.Descriptor instead.
  1083  func (*CodeExecutionResult) Descriptor() ([]byte, []int) {
  1084  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{7}
  1085  }
  1086  
  1087  func (x *CodeExecutionResult) GetOutcome() CodeExecutionResult_Outcome {
  1088  	if x != nil {
  1089  		return x.Outcome
  1090  	}
  1091  	return CodeExecutionResult_OUTCOME_UNSPECIFIED
  1092  }
  1093  
  1094  func (x *CodeExecutionResult) GetOutput() string {
  1095  	if x != nil {
  1096  		return x.Output
  1097  	}
  1098  	return ""
  1099  }
  1100  
  1101  // Defines a retrieval tool that model can call to access external knowledge.
  1102  type Retrieval struct {
  1103  	state         protoimpl.MessageState
  1104  	sizeCache     protoimpl.SizeCache
  1105  	unknownFields protoimpl.UnknownFields
  1106  
  1107  	// The source of the retrieval.
  1108  	//
  1109  	// Types that are assignable to Source:
  1110  	//
  1111  	//	*Retrieval_VertexAiSearch
  1112  	//	*Retrieval_VertexRagStore
  1113  	Source isRetrieval_Source `protobuf_oneof:"source"`
  1114  	// Optional. Deprecated. This option is no longer supported.
  1115  	//
  1116  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1117  	DisableAttribution bool `protobuf:"varint,3,opt,name=disable_attribution,json=disableAttribution,proto3" json:"disable_attribution,omitempty"`
  1118  }
  1119  
  1120  func (x *Retrieval) Reset() {
  1121  	*x = Retrieval{}
  1122  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8]
  1123  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1124  	ms.StoreMessageInfo(mi)
  1125  }
  1126  
  1127  func (x *Retrieval) String() string {
  1128  	return protoimpl.X.MessageStringOf(x)
  1129  }
  1130  
  1131  func (*Retrieval) ProtoMessage() {}
  1132  
  1133  func (x *Retrieval) ProtoReflect() protoreflect.Message {
  1134  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8]
  1135  	if x != nil {
  1136  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1137  		if ms.LoadMessageInfo() == nil {
  1138  			ms.StoreMessageInfo(mi)
  1139  		}
  1140  		return ms
  1141  	}
  1142  	return mi.MessageOf(x)
  1143  }
  1144  
  1145  // Deprecated: Use Retrieval.ProtoReflect.Descriptor instead.
  1146  func (*Retrieval) Descriptor() ([]byte, []int) {
  1147  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{8}
  1148  }
  1149  
  1150  func (m *Retrieval) GetSource() isRetrieval_Source {
  1151  	if m != nil {
  1152  		return m.Source
  1153  	}
  1154  	return nil
  1155  }
  1156  
  1157  func (x *Retrieval) GetVertexAiSearch() *VertexAISearch {
  1158  	if x, ok := x.GetSource().(*Retrieval_VertexAiSearch); ok {
  1159  		return x.VertexAiSearch
  1160  	}
  1161  	return nil
  1162  }
  1163  
  1164  func (x *Retrieval) GetVertexRagStore() *VertexRagStore {
  1165  	if x, ok := x.GetSource().(*Retrieval_VertexRagStore); ok {
  1166  		return x.VertexRagStore
  1167  	}
  1168  	return nil
  1169  }
  1170  
  1171  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1172  func (x *Retrieval) GetDisableAttribution() bool {
  1173  	if x != nil {
  1174  		return x.DisableAttribution
  1175  	}
  1176  	return false
  1177  }
  1178  
  1179  type isRetrieval_Source interface {
  1180  	isRetrieval_Source()
  1181  }
  1182  
  1183  type Retrieval_VertexAiSearch struct {
  1184  	// Set to use data source powered by Vertex AI Search.
  1185  	VertexAiSearch *VertexAISearch `protobuf:"bytes,2,opt,name=vertex_ai_search,json=vertexAiSearch,proto3,oneof"`
  1186  }
  1187  
  1188  type Retrieval_VertexRagStore struct {
  1189  	// Set to use data source powered by Vertex RAG store.
  1190  	// User data is uploaded via the VertexRagDataService.
  1191  	VertexRagStore *VertexRagStore `protobuf:"bytes,4,opt,name=vertex_rag_store,json=vertexRagStore,proto3,oneof"`
  1192  }
  1193  
  1194  func (*Retrieval_VertexAiSearch) isRetrieval_Source() {}
  1195  
  1196  func (*Retrieval_VertexRagStore) isRetrieval_Source() {}
  1197  
  1198  // Retrieve from Vertex RAG Store for grounding.
  1199  type VertexRagStore struct {
  1200  	state         protoimpl.MessageState
  1201  	sizeCache     protoimpl.SizeCache
  1202  	unknownFields protoimpl.UnknownFields
  1203  
  1204  	// Optional. Deprecated. Please use rag_resources instead.
  1205  	//
  1206  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1207  	RagCorpora []string `protobuf:"bytes,1,rep,name=rag_corpora,json=ragCorpora,proto3" json:"rag_corpora,omitempty"`
  1208  	// Optional. The representation of the rag source. It can be used to specify
  1209  	// corpus only or ragfiles. Currently only support one corpus or multiple
  1210  	// files from one corpus. In the future we may open up multiple corpora
  1211  	// support.
  1212  	RagResources []*VertexRagStore_RagResource `protobuf:"bytes,4,rep,name=rag_resources,json=ragResources,proto3" json:"rag_resources,omitempty"`
  1213  	// Optional. Number of top k results to return from the selected corpora.
  1214  	//
  1215  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1216  	SimilarityTopK *int32 `protobuf:"varint,2,opt,name=similarity_top_k,json=similarityTopK,proto3,oneof" json:"similarity_top_k,omitempty"`
  1217  	// Optional. Only return results with vector distance smaller than the
  1218  	// threshold.
  1219  	//
  1220  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1221  	VectorDistanceThreshold *float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof" json:"vector_distance_threshold,omitempty"`
  1222  	// Optional. The retrieval config for the Rag query.
  1223  	RagRetrievalConfig *RagRetrievalConfig `protobuf:"bytes,6,opt,name=rag_retrieval_config,json=ragRetrievalConfig,proto3" json:"rag_retrieval_config,omitempty"`
  1224  	// Optional. Currently only supported for Gemini Multimodal Live API.
  1225  	//
  1226  	// In Gemini Multimodal Live API, if `store_context` bool is
  1227  	// true, Gemini will leverage it to automatically memorize the
  1228  	// interactions between the client and Gemini, and retrieve context when
  1229  	// needed to augment the response generation for users' ongoing and future
  1230  	// interactions.
  1231  	StoreContext bool `protobuf:"varint,7,opt,name=store_context,json=storeContext,proto3" json:"store_context,omitempty"`
  1232  }
  1233  
  1234  func (x *VertexRagStore) Reset() {
  1235  	*x = VertexRagStore{}
  1236  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9]
  1237  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1238  	ms.StoreMessageInfo(mi)
  1239  }
  1240  
  1241  func (x *VertexRagStore) String() string {
  1242  	return protoimpl.X.MessageStringOf(x)
  1243  }
  1244  
  1245  func (*VertexRagStore) ProtoMessage() {}
  1246  
  1247  func (x *VertexRagStore) ProtoReflect() protoreflect.Message {
  1248  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9]
  1249  	if x != nil {
  1250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1251  		if ms.LoadMessageInfo() == nil {
  1252  			ms.StoreMessageInfo(mi)
  1253  		}
  1254  		return ms
  1255  	}
  1256  	return mi.MessageOf(x)
  1257  }
  1258  
  1259  // Deprecated: Use VertexRagStore.ProtoReflect.Descriptor instead.
  1260  func (*VertexRagStore) Descriptor() ([]byte, []int) {
  1261  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{9}
  1262  }
  1263  
  1264  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1265  func (x *VertexRagStore) GetRagCorpora() []string {
  1266  	if x != nil {
  1267  		return x.RagCorpora
  1268  	}
  1269  	return nil
  1270  }
  1271  
  1272  func (x *VertexRagStore) GetRagResources() []*VertexRagStore_RagResource {
  1273  	if x != nil {
  1274  		return x.RagResources
  1275  	}
  1276  	return nil
  1277  }
  1278  
  1279  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1280  func (x *VertexRagStore) GetSimilarityTopK() int32 {
  1281  	if x != nil && x.SimilarityTopK != nil {
  1282  		return *x.SimilarityTopK
  1283  	}
  1284  	return 0
  1285  }
  1286  
  1287  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/tool.proto.
  1288  func (x *VertexRagStore) GetVectorDistanceThreshold() float64 {
  1289  	if x != nil && x.VectorDistanceThreshold != nil {
  1290  		return *x.VectorDistanceThreshold
  1291  	}
  1292  	return 0
  1293  }
  1294  
  1295  func (x *VertexRagStore) GetRagRetrievalConfig() *RagRetrievalConfig {
  1296  	if x != nil {
  1297  		return x.RagRetrievalConfig
  1298  	}
  1299  	return nil
  1300  }
  1301  
  1302  func (x *VertexRagStore) GetStoreContext() bool {
  1303  	if x != nil {
  1304  		return x.StoreContext
  1305  	}
  1306  	return false
  1307  }
  1308  
  1309  // Retrieve from Vertex AI Search datastore or engine for grounding.
  1310  // datastore and engine are mutually exclusive.
  1311  // See https://cloud.google.com/products/agent-builder
  1312  type VertexAISearch struct {
  1313  	state         protoimpl.MessageState
  1314  	sizeCache     protoimpl.SizeCache
  1315  	unknownFields protoimpl.UnknownFields
  1316  
  1317  	// Optional. Fully-qualified Vertex AI Search data store resource ID.
  1318  	// Format:
  1319  	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
  1320  	Datastore string `protobuf:"bytes,1,opt,name=datastore,proto3" json:"datastore,omitempty"`
  1321  	// Optional. Fully-qualified Vertex AI Search engine resource ID.
  1322  	// Format:
  1323  	// `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}`
  1324  	Engine string `protobuf:"bytes,2,opt,name=engine,proto3" json:"engine,omitempty"`
  1325  	// Optional. Number of search results to return per query.
  1326  	// The default value is 10.
  1327  	// The maximumm allowed value is 10.
  1328  	MaxResults int32 `protobuf:"varint,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
  1329  	// Optional. Filter strings to be passed to the search API.
  1330  	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
  1331  	// Specifications that define the specific DataStores to be searched, along
  1332  	// with configurations for those data stores. This is only considered for
  1333  	// Engines with multiple data stores.
  1334  	// It should only be set if engine is used.
  1335  	DataStoreSpecs []*VertexAISearch_DataStoreSpec `protobuf:"bytes,5,rep,name=data_store_specs,json=dataStoreSpecs,proto3" json:"data_store_specs,omitempty"`
  1336  }
  1337  
  1338  func (x *VertexAISearch) Reset() {
  1339  	*x = VertexAISearch{}
  1340  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10]
  1341  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1342  	ms.StoreMessageInfo(mi)
  1343  }
  1344  
  1345  func (x *VertexAISearch) String() string {
  1346  	return protoimpl.X.MessageStringOf(x)
  1347  }
  1348  
  1349  func (*VertexAISearch) ProtoMessage() {}
  1350  
  1351  func (x *VertexAISearch) ProtoReflect() protoreflect.Message {
  1352  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[10]
  1353  	if x != nil {
  1354  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1355  		if ms.LoadMessageInfo() == nil {
  1356  			ms.StoreMessageInfo(mi)
  1357  		}
  1358  		return ms
  1359  	}
  1360  	return mi.MessageOf(x)
  1361  }
  1362  
  1363  // Deprecated: Use VertexAISearch.ProtoReflect.Descriptor instead.
  1364  func (*VertexAISearch) Descriptor() ([]byte, []int) {
  1365  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{10}
  1366  }
  1367  
  1368  func (x *VertexAISearch) GetDatastore() string {
  1369  	if x != nil {
  1370  		return x.Datastore
  1371  	}
  1372  	return ""
  1373  }
  1374  
  1375  func (x *VertexAISearch) GetEngine() string {
  1376  	if x != nil {
  1377  		return x.Engine
  1378  	}
  1379  	return ""
  1380  }
  1381  
  1382  func (x *VertexAISearch) GetMaxResults() int32 {
  1383  	if x != nil {
  1384  		return x.MaxResults
  1385  	}
  1386  	return 0
  1387  }
  1388  
  1389  func (x *VertexAISearch) GetFilter() string {
  1390  	if x != nil {
  1391  		return x.Filter
  1392  	}
  1393  	return ""
  1394  }
  1395  
  1396  func (x *VertexAISearch) GetDataStoreSpecs() []*VertexAISearch_DataStoreSpec {
  1397  	if x != nil {
  1398  		return x.DataStoreSpecs
  1399  	}
  1400  	return nil
  1401  }
  1402  
  1403  // Tool to retrieve public web data for grounding, powered by Google.
  1404  type GoogleSearchRetrieval struct {
  1405  	state         protoimpl.MessageState
  1406  	sizeCache     protoimpl.SizeCache
  1407  	unknownFields protoimpl.UnknownFields
  1408  
  1409  	// Specifies the dynamic retrieval configuration for the given source.
  1410  	DynamicRetrievalConfig *DynamicRetrievalConfig `protobuf:"bytes,2,opt,name=dynamic_retrieval_config,json=dynamicRetrievalConfig,proto3" json:"dynamic_retrieval_config,omitempty"`
  1411  }
  1412  
  1413  func (x *GoogleSearchRetrieval) Reset() {
  1414  	*x = GoogleSearchRetrieval{}
  1415  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[11]
  1416  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1417  	ms.StoreMessageInfo(mi)
  1418  }
  1419  
  1420  func (x *GoogleSearchRetrieval) String() string {
  1421  	return protoimpl.X.MessageStringOf(x)
  1422  }
  1423  
  1424  func (*GoogleSearchRetrieval) ProtoMessage() {}
  1425  
  1426  func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message {
  1427  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[11]
  1428  	if x != nil {
  1429  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1430  		if ms.LoadMessageInfo() == nil {
  1431  			ms.StoreMessageInfo(mi)
  1432  		}
  1433  		return ms
  1434  	}
  1435  	return mi.MessageOf(x)
  1436  }
  1437  
  1438  // Deprecated: Use GoogleSearchRetrieval.ProtoReflect.Descriptor instead.
  1439  func (*GoogleSearchRetrieval) Descriptor() ([]byte, []int) {
  1440  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{11}
  1441  }
  1442  
  1443  func (x *GoogleSearchRetrieval) GetDynamicRetrievalConfig() *DynamicRetrievalConfig {
  1444  	if x != nil {
  1445  		return x.DynamicRetrievalConfig
  1446  	}
  1447  	return nil
  1448  }
  1449  
  1450  // Tool to retrieve public maps data for grounding, powered by Google.
  1451  type GoogleMaps struct {
  1452  	state         protoimpl.MessageState
  1453  	sizeCache     protoimpl.SizeCache
  1454  	unknownFields protoimpl.UnknownFields
  1455  
  1456  	// If true, include the widget context token in the response.
  1457  	EnableWidget bool `protobuf:"varint,1,opt,name=enable_widget,json=enableWidget,proto3" json:"enable_widget,omitempty"`
  1458  }
  1459  
  1460  func (x *GoogleMaps) Reset() {
  1461  	*x = GoogleMaps{}
  1462  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[12]
  1463  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1464  	ms.StoreMessageInfo(mi)
  1465  }
  1466  
  1467  func (x *GoogleMaps) String() string {
  1468  	return protoimpl.X.MessageStringOf(x)
  1469  }
  1470  
  1471  func (*GoogleMaps) ProtoMessage() {}
  1472  
  1473  func (x *GoogleMaps) ProtoReflect() protoreflect.Message {
  1474  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[12]
  1475  	if x != nil {
  1476  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1477  		if ms.LoadMessageInfo() == nil {
  1478  			ms.StoreMessageInfo(mi)
  1479  		}
  1480  		return ms
  1481  	}
  1482  	return mi.MessageOf(x)
  1483  }
  1484  
  1485  // Deprecated: Use GoogleMaps.ProtoReflect.Descriptor instead.
  1486  func (*GoogleMaps) Descriptor() ([]byte, []int) {
  1487  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{12}
  1488  }
  1489  
  1490  func (x *GoogleMaps) GetEnableWidget() bool {
  1491  	if x != nil {
  1492  		return x.EnableWidget
  1493  	}
  1494  	return false
  1495  }
  1496  
  1497  // Tool to search public web data, powered by Vertex AI Search and Sec4
  1498  // compliance.
  1499  type EnterpriseWebSearch struct {
  1500  	state         protoimpl.MessageState
  1501  	sizeCache     protoimpl.SizeCache
  1502  	unknownFields protoimpl.UnknownFields
  1503  
  1504  	// Optional. List of domains to be excluded from the search results.
  1505  	// The default limit is 2000 domains.
  1506  	ExcludeDomains []string `protobuf:"bytes,1,rep,name=exclude_domains,json=excludeDomains,proto3" json:"exclude_domains,omitempty"`
  1507  	// Optional. Sites with confidence level chosen & above this value will be
  1508  	// blocked from the search results.
  1509  	BlockingConfidence *Tool_PhishBlockThreshold `protobuf:"varint,4,opt,name=blocking_confidence,json=blockingConfidence,proto3,enum=google.cloud.aiplatform.v1beta1.Tool_PhishBlockThreshold,oneof" json:"blocking_confidence,omitempty"`
  1510  }
  1511  
  1512  func (x *EnterpriseWebSearch) Reset() {
  1513  	*x = EnterpriseWebSearch{}
  1514  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[13]
  1515  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1516  	ms.StoreMessageInfo(mi)
  1517  }
  1518  
  1519  func (x *EnterpriseWebSearch) String() string {
  1520  	return protoimpl.X.MessageStringOf(x)
  1521  }
  1522  
  1523  func (*EnterpriseWebSearch) ProtoMessage() {}
  1524  
  1525  func (x *EnterpriseWebSearch) ProtoReflect() protoreflect.Message {
  1526  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[13]
  1527  	if x != nil {
  1528  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1529  		if ms.LoadMessageInfo() == nil {
  1530  			ms.StoreMessageInfo(mi)
  1531  		}
  1532  		return ms
  1533  	}
  1534  	return mi.MessageOf(x)
  1535  }
  1536  
  1537  // Deprecated: Use EnterpriseWebSearch.ProtoReflect.Descriptor instead.
  1538  func (*EnterpriseWebSearch) Descriptor() ([]byte, []int) {
  1539  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{13}
  1540  }
  1541  
  1542  func (x *EnterpriseWebSearch) GetExcludeDomains() []string {
  1543  	if x != nil {
  1544  		return x.ExcludeDomains
  1545  	}
  1546  	return nil
  1547  }
  1548  
  1549  func (x *EnterpriseWebSearch) GetBlockingConfidence() Tool_PhishBlockThreshold {
  1550  	if x != nil && x.BlockingConfidence != nil {
  1551  		return *x.BlockingConfidence
  1552  	}
  1553  	return Tool_PHISH_BLOCK_THRESHOLD_UNSPECIFIED
  1554  }
  1555  
  1556  // Describes the options to customize dynamic retrieval.
  1557  type DynamicRetrievalConfig struct {
  1558  	state         protoimpl.MessageState
  1559  	sizeCache     protoimpl.SizeCache
  1560  	unknownFields protoimpl.UnknownFields
  1561  
  1562  	// The mode of the predictor to be used in dynamic retrieval.
  1563  	Mode DynamicRetrievalConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig_Mode" json:"mode,omitempty"`
  1564  	// Optional. The threshold to be used in dynamic retrieval.
  1565  	// If not set, a system default value is used.
  1566  	DynamicThreshold *float32 `protobuf:"fixed32,2,opt,name=dynamic_threshold,json=dynamicThreshold,proto3,oneof" json:"dynamic_threshold,omitempty"`
  1567  }
  1568  
  1569  func (x *DynamicRetrievalConfig) Reset() {
  1570  	*x = DynamicRetrievalConfig{}
  1571  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[14]
  1572  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1573  	ms.StoreMessageInfo(mi)
  1574  }
  1575  
  1576  func (x *DynamicRetrievalConfig) String() string {
  1577  	return protoimpl.X.MessageStringOf(x)
  1578  }
  1579  
  1580  func (*DynamicRetrievalConfig) ProtoMessage() {}
  1581  
  1582  func (x *DynamicRetrievalConfig) ProtoReflect() protoreflect.Message {
  1583  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[14]
  1584  	if x != nil {
  1585  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1586  		if ms.LoadMessageInfo() == nil {
  1587  			ms.StoreMessageInfo(mi)
  1588  		}
  1589  		return ms
  1590  	}
  1591  	return mi.MessageOf(x)
  1592  }
  1593  
  1594  // Deprecated: Use DynamicRetrievalConfig.ProtoReflect.Descriptor instead.
  1595  func (*DynamicRetrievalConfig) Descriptor() ([]byte, []int) {
  1596  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{14}
  1597  }
  1598  
  1599  func (x *DynamicRetrievalConfig) GetMode() DynamicRetrievalConfig_Mode {
  1600  	if x != nil {
  1601  		return x.Mode
  1602  	}
  1603  	return DynamicRetrievalConfig_MODE_UNSPECIFIED
  1604  }
  1605  
  1606  func (x *DynamicRetrievalConfig) GetDynamicThreshold() float32 {
  1607  	if x != nil && x.DynamicThreshold != nil {
  1608  		return *x.DynamicThreshold
  1609  	}
  1610  	return 0
  1611  }
  1612  
  1613  // Tool config. This config is shared for all tools provided in the request.
  1614  type ToolConfig struct {
  1615  	state         protoimpl.MessageState
  1616  	sizeCache     protoimpl.SizeCache
  1617  	unknownFields protoimpl.UnknownFields
  1618  
  1619  	// Optional. Function calling config.
  1620  	FunctionCallingConfig *FunctionCallingConfig `protobuf:"bytes,1,opt,name=function_calling_config,json=functionCallingConfig,proto3" json:"function_calling_config,omitempty"`
  1621  	// Optional. Retrieval config.
  1622  	RetrievalConfig *RetrievalConfig `protobuf:"bytes,2,opt,name=retrieval_config,json=retrievalConfig,proto3" json:"retrieval_config,omitempty"`
  1623  }
  1624  
  1625  func (x *ToolConfig) Reset() {
  1626  	*x = ToolConfig{}
  1627  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[15]
  1628  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1629  	ms.StoreMessageInfo(mi)
  1630  }
  1631  
  1632  func (x *ToolConfig) String() string {
  1633  	return protoimpl.X.MessageStringOf(x)
  1634  }
  1635  
  1636  func (*ToolConfig) ProtoMessage() {}
  1637  
  1638  func (x *ToolConfig) ProtoReflect() protoreflect.Message {
  1639  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[15]
  1640  	if x != nil {
  1641  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1642  		if ms.LoadMessageInfo() == nil {
  1643  			ms.StoreMessageInfo(mi)
  1644  		}
  1645  		return ms
  1646  	}
  1647  	return mi.MessageOf(x)
  1648  }
  1649  
  1650  // Deprecated: Use ToolConfig.ProtoReflect.Descriptor instead.
  1651  func (*ToolConfig) Descriptor() ([]byte, []int) {
  1652  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{15}
  1653  }
  1654  
  1655  func (x *ToolConfig) GetFunctionCallingConfig() *FunctionCallingConfig {
  1656  	if x != nil {
  1657  		return x.FunctionCallingConfig
  1658  	}
  1659  	return nil
  1660  }
  1661  
  1662  func (x *ToolConfig) GetRetrievalConfig() *RetrievalConfig {
  1663  	if x != nil {
  1664  		return x.RetrievalConfig
  1665  	}
  1666  	return nil
  1667  }
  1668  
  1669  // Function calling config.
  1670  type FunctionCallingConfig struct {
  1671  	state         protoimpl.MessageState
  1672  	sizeCache     protoimpl.SizeCache
  1673  	unknownFields protoimpl.UnknownFields
  1674  
  1675  	// Optional. Function calling mode.
  1676  	Mode FunctionCallingConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.cloud.aiplatform.v1beta1.FunctionCallingConfig_Mode" json:"mode,omitempty"`
  1677  	// Optional. Function names to call. Only set when the Mode is ANY. Function
  1678  	// names should match [FunctionDeclaration.name]. With mode set to ANY, model
  1679  	// will predict a function call from the set of function names provided.
  1680  	AllowedFunctionNames []string `protobuf:"bytes,2,rep,name=allowed_function_names,json=allowedFunctionNames,proto3" json:"allowed_function_names,omitempty"`
  1681  }
  1682  
  1683  func (x *FunctionCallingConfig) Reset() {
  1684  	*x = FunctionCallingConfig{}
  1685  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[16]
  1686  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1687  	ms.StoreMessageInfo(mi)
  1688  }
  1689  
  1690  func (x *FunctionCallingConfig) String() string {
  1691  	return protoimpl.X.MessageStringOf(x)
  1692  }
  1693  
  1694  func (*FunctionCallingConfig) ProtoMessage() {}
  1695  
  1696  func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message {
  1697  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[16]
  1698  	if x != nil {
  1699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1700  		if ms.LoadMessageInfo() == nil {
  1701  			ms.StoreMessageInfo(mi)
  1702  		}
  1703  		return ms
  1704  	}
  1705  	return mi.MessageOf(x)
  1706  }
  1707  
  1708  // Deprecated: Use FunctionCallingConfig.ProtoReflect.Descriptor instead.
  1709  func (*FunctionCallingConfig) Descriptor() ([]byte, []int) {
  1710  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{16}
  1711  }
  1712  
  1713  func (x *FunctionCallingConfig) GetMode() FunctionCallingConfig_Mode {
  1714  	if x != nil {
  1715  		return x.Mode
  1716  	}
  1717  	return FunctionCallingConfig_MODE_UNSPECIFIED
  1718  }
  1719  
  1720  func (x *FunctionCallingConfig) GetAllowedFunctionNames() []string {
  1721  	if x != nil {
  1722  		return x.AllowedFunctionNames
  1723  	}
  1724  	return nil
  1725  }
  1726  
  1727  // Retrieval config.
  1728  type RetrievalConfig struct {
  1729  	state         protoimpl.MessageState
  1730  	sizeCache     protoimpl.SizeCache
  1731  	unknownFields protoimpl.UnknownFields
  1732  
  1733  	// The location of the user.
  1734  	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3,oneof" json:"lat_lng,omitempty"`
  1735  	// The language code of the user.
  1736  	LanguageCode *string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3,oneof" json:"language_code,omitempty"`
  1737  }
  1738  
  1739  func (x *RetrievalConfig) Reset() {
  1740  	*x = RetrievalConfig{}
  1741  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[17]
  1742  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1743  	ms.StoreMessageInfo(mi)
  1744  }
  1745  
  1746  func (x *RetrievalConfig) String() string {
  1747  	return protoimpl.X.MessageStringOf(x)
  1748  }
  1749  
  1750  func (*RetrievalConfig) ProtoMessage() {}
  1751  
  1752  func (x *RetrievalConfig) ProtoReflect() protoreflect.Message {
  1753  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[17]
  1754  	if x != nil {
  1755  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1756  		if ms.LoadMessageInfo() == nil {
  1757  			ms.StoreMessageInfo(mi)
  1758  		}
  1759  		return ms
  1760  	}
  1761  	return mi.MessageOf(x)
  1762  }
  1763  
  1764  // Deprecated: Use RetrievalConfig.ProtoReflect.Descriptor instead.
  1765  func (*RetrievalConfig) Descriptor() ([]byte, []int) {
  1766  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{17}
  1767  }
  1768  
  1769  func (x *RetrievalConfig) GetLatLng() *latlng.LatLng {
  1770  	if x != nil {
  1771  		return x.LatLng
  1772  	}
  1773  	return nil
  1774  }
  1775  
  1776  func (x *RetrievalConfig) GetLanguageCode() string {
  1777  	if x != nil && x.LanguageCode != nil {
  1778  		return *x.LanguageCode
  1779  	}
  1780  	return ""
  1781  }
  1782  
  1783  // Specifies the context retrieval config.
  1784  type RagRetrievalConfig struct {
  1785  	state         protoimpl.MessageState
  1786  	sizeCache     protoimpl.SizeCache
  1787  	unknownFields protoimpl.UnknownFields
  1788  
  1789  	// Optional. The number of contexts to retrieve.
  1790  	TopK int32 `protobuf:"varint,1,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"`
  1791  	// Optional. Config for Hybrid Search.
  1792  	HybridSearch *RagRetrievalConfig_HybridSearch `protobuf:"bytes,2,opt,name=hybrid_search,json=hybridSearch,proto3" json:"hybrid_search,omitempty"`
  1793  	// Optional. Config for filters.
  1794  	Filter *RagRetrievalConfig_Filter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
  1795  	// Optional. Config for ranking and reranking.
  1796  	Ranking *RagRetrievalConfig_Ranking `protobuf:"bytes,4,opt,name=ranking,proto3" json:"ranking,omitempty"`
  1797  }
  1798  
  1799  func (x *RagRetrievalConfig) Reset() {
  1800  	*x = RagRetrievalConfig{}
  1801  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[18]
  1802  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1803  	ms.StoreMessageInfo(mi)
  1804  }
  1805  
  1806  func (x *RagRetrievalConfig) String() string {
  1807  	return protoimpl.X.MessageStringOf(x)
  1808  }
  1809  
  1810  func (*RagRetrievalConfig) ProtoMessage() {}
  1811  
  1812  func (x *RagRetrievalConfig) ProtoReflect() protoreflect.Message {
  1813  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[18]
  1814  	if x != nil {
  1815  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1816  		if ms.LoadMessageInfo() == nil {
  1817  			ms.StoreMessageInfo(mi)
  1818  		}
  1819  		return ms
  1820  	}
  1821  	return mi.MessageOf(x)
  1822  }
  1823  
  1824  // Deprecated: Use RagRetrievalConfig.ProtoReflect.Descriptor instead.
  1825  func (*RagRetrievalConfig) Descriptor() ([]byte, []int) {
  1826  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18}
  1827  }
  1828  
  1829  func (x *RagRetrievalConfig) GetTopK() int32 {
  1830  	if x != nil {
  1831  		return x.TopK
  1832  	}
  1833  	return 0
  1834  }
  1835  
  1836  func (x *RagRetrievalConfig) GetHybridSearch() *RagRetrievalConfig_HybridSearch {
  1837  	if x != nil {
  1838  		return x.HybridSearch
  1839  	}
  1840  	return nil
  1841  }
  1842  
  1843  func (x *RagRetrievalConfig) GetFilter() *RagRetrievalConfig_Filter {
  1844  	if x != nil {
  1845  		return x.Filter
  1846  	}
  1847  	return nil
  1848  }
  1849  
  1850  func (x *RagRetrievalConfig) GetRanking() *RagRetrievalConfig_Ranking {
  1851  	if x != nil {
  1852  		return x.Ranking
  1853  	}
  1854  	return nil
  1855  }
  1856  
  1857  // GoogleSearch tool type.
  1858  // Tool to support Google Search in Model. Powered by Google.
  1859  type Tool_GoogleSearch struct {
  1860  	state         protoimpl.MessageState
  1861  	sizeCache     protoimpl.SizeCache
  1862  	unknownFields protoimpl.UnknownFields
  1863  
  1864  	// Optional. List of domains to be excluded from the search results.
  1865  	// The default limit is 2000 domains.
  1866  	// Example: ["amazon.com", "facebook.com"].
  1867  	ExcludeDomains []string `protobuf:"bytes,3,rep,name=exclude_domains,json=excludeDomains,proto3" json:"exclude_domains,omitempty"`
  1868  	// Optional. Sites with confidence level chosen & above this value will be
  1869  	// blocked from the search results.
  1870  	BlockingConfidence *Tool_PhishBlockThreshold `protobuf:"varint,4,opt,name=blocking_confidence,json=blockingConfidence,proto3,enum=google.cloud.aiplatform.v1beta1.Tool_PhishBlockThreshold,oneof" json:"blocking_confidence,omitempty"`
  1871  }
  1872  
  1873  func (x *Tool_GoogleSearch) Reset() {
  1874  	*x = Tool_GoogleSearch{}
  1875  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[19]
  1876  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1877  	ms.StoreMessageInfo(mi)
  1878  }
  1879  
  1880  func (x *Tool_GoogleSearch) String() string {
  1881  	return protoimpl.X.MessageStringOf(x)
  1882  }
  1883  
  1884  func (*Tool_GoogleSearch) ProtoMessage() {}
  1885  
  1886  func (x *Tool_GoogleSearch) ProtoReflect() protoreflect.Message {
  1887  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[19]
  1888  	if x != nil {
  1889  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1890  		if ms.LoadMessageInfo() == nil {
  1891  			ms.StoreMessageInfo(mi)
  1892  		}
  1893  		return ms
  1894  	}
  1895  	return mi.MessageOf(x)
  1896  }
  1897  
  1898  // Deprecated: Use Tool_GoogleSearch.ProtoReflect.Descriptor instead.
  1899  func (*Tool_GoogleSearch) Descriptor() ([]byte, []int) {
  1900  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0, 0}
  1901  }
  1902  
  1903  func (x *Tool_GoogleSearch) GetExcludeDomains() []string {
  1904  	if x != nil {
  1905  		return x.ExcludeDomains
  1906  	}
  1907  	return nil
  1908  }
  1909  
  1910  func (x *Tool_GoogleSearch) GetBlockingConfidence() Tool_PhishBlockThreshold {
  1911  	if x != nil && x.BlockingConfidence != nil {
  1912  		return *x.BlockingConfidence
  1913  	}
  1914  	return Tool_PHISH_BLOCK_THRESHOLD_UNSPECIFIED
  1915  }
  1916  
  1917  // Tool that executes code generated by the model, and automatically returns
  1918  // the result to the model.
  1919  //
  1920  // See also [ExecutableCode]and [CodeExecutionResult] which are input and
  1921  // output to this tool.
  1922  type Tool_CodeExecution struct {
  1923  	state         protoimpl.MessageState
  1924  	sizeCache     protoimpl.SizeCache
  1925  	unknownFields protoimpl.UnknownFields
  1926  }
  1927  
  1928  func (x *Tool_CodeExecution) Reset() {
  1929  	*x = Tool_CodeExecution{}
  1930  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[20]
  1931  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1932  	ms.StoreMessageInfo(mi)
  1933  }
  1934  
  1935  func (x *Tool_CodeExecution) String() string {
  1936  	return protoimpl.X.MessageStringOf(x)
  1937  }
  1938  
  1939  func (*Tool_CodeExecution) ProtoMessage() {}
  1940  
  1941  func (x *Tool_CodeExecution) ProtoReflect() protoreflect.Message {
  1942  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[20]
  1943  	if x != nil {
  1944  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1945  		if ms.LoadMessageInfo() == nil {
  1946  			ms.StoreMessageInfo(mi)
  1947  		}
  1948  		return ms
  1949  	}
  1950  	return mi.MessageOf(x)
  1951  }
  1952  
  1953  // Deprecated: Use Tool_CodeExecution.ProtoReflect.Descriptor instead.
  1954  func (*Tool_CodeExecution) Descriptor() ([]byte, []int) {
  1955  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0, 1}
  1956  }
  1957  
  1958  // Tool to support computer use.
  1959  type Tool_ComputerUse struct {
  1960  	state         protoimpl.MessageState
  1961  	sizeCache     protoimpl.SizeCache
  1962  	unknownFields protoimpl.UnknownFields
  1963  
  1964  	// Required. The environment being operated.
  1965  	Environment Tool_ComputerUse_Environment `protobuf:"varint,1,opt,name=environment,proto3,enum=google.cloud.aiplatform.v1beta1.Tool_ComputerUse_Environment" json:"environment,omitempty"`
  1966  }
  1967  
  1968  func (x *Tool_ComputerUse) Reset() {
  1969  	*x = Tool_ComputerUse{}
  1970  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[21]
  1971  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1972  	ms.StoreMessageInfo(mi)
  1973  }
  1974  
  1975  func (x *Tool_ComputerUse) String() string {
  1976  	return protoimpl.X.MessageStringOf(x)
  1977  }
  1978  
  1979  func (*Tool_ComputerUse) ProtoMessage() {}
  1980  
  1981  func (x *Tool_ComputerUse) ProtoReflect() protoreflect.Message {
  1982  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[21]
  1983  	if x != nil {
  1984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1985  		if ms.LoadMessageInfo() == nil {
  1986  			ms.StoreMessageInfo(mi)
  1987  		}
  1988  		return ms
  1989  	}
  1990  	return mi.MessageOf(x)
  1991  }
  1992  
  1993  // Deprecated: Use Tool_ComputerUse.ProtoReflect.Descriptor instead.
  1994  func (*Tool_ComputerUse) Descriptor() ([]byte, []int) {
  1995  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{0, 2}
  1996  }
  1997  
  1998  func (x *Tool_ComputerUse) GetEnvironment() Tool_ComputerUse_Environment {
  1999  	if x != nil {
  2000  		return x.Environment
  2001  	}
  2002  	return Tool_ComputerUse_ENVIRONMENT_UNSPECIFIED
  2003  }
  2004  
  2005  // Identifies one operation of the extension.
  2006  type ToolUseExample_ExtensionOperation struct {
  2007  	state         protoimpl.MessageState
  2008  	sizeCache     protoimpl.SizeCache
  2009  	unknownFields protoimpl.UnknownFields
  2010  
  2011  	// Resource name of the extension.
  2012  	Extension string `protobuf:"bytes,1,opt,name=extension,proto3" json:"extension,omitempty"`
  2013  	// Required. Operation ID of the extension.
  2014  	OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
  2015  }
  2016  
  2017  func (x *ToolUseExample_ExtensionOperation) Reset() {
  2018  	*x = ToolUseExample_ExtensionOperation{}
  2019  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[22]
  2020  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2021  	ms.StoreMessageInfo(mi)
  2022  }
  2023  
  2024  func (x *ToolUseExample_ExtensionOperation) String() string {
  2025  	return protoimpl.X.MessageStringOf(x)
  2026  }
  2027  
  2028  func (*ToolUseExample_ExtensionOperation) ProtoMessage() {}
  2029  
  2030  func (x *ToolUseExample_ExtensionOperation) ProtoReflect() protoreflect.Message {
  2031  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[22]
  2032  	if x != nil {
  2033  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2034  		if ms.LoadMessageInfo() == nil {
  2035  			ms.StoreMessageInfo(mi)
  2036  		}
  2037  		return ms
  2038  	}
  2039  	return mi.MessageOf(x)
  2040  }
  2041  
  2042  // Deprecated: Use ToolUseExample_ExtensionOperation.ProtoReflect.Descriptor instead.
  2043  func (*ToolUseExample_ExtensionOperation) Descriptor() ([]byte, []int) {
  2044  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{2, 0}
  2045  }
  2046  
  2047  func (x *ToolUseExample_ExtensionOperation) GetExtension() string {
  2048  	if x != nil {
  2049  		return x.Extension
  2050  	}
  2051  	return ""
  2052  }
  2053  
  2054  func (x *ToolUseExample_ExtensionOperation) GetOperationId() string {
  2055  	if x != nil {
  2056  		return x.OperationId
  2057  	}
  2058  	return ""
  2059  }
  2060  
  2061  // The definition of the Rag resource.
  2062  type VertexRagStore_RagResource struct {
  2063  	state         protoimpl.MessageState
  2064  	sizeCache     protoimpl.SizeCache
  2065  	unknownFields protoimpl.UnknownFields
  2066  
  2067  	// Optional. RagCorpora resource name.
  2068  	// Format:
  2069  	// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`
  2070  	RagCorpus string `protobuf:"bytes,1,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"`
  2071  	// Optional. rag_file_id. The files should be in the same rag_corpus set in
  2072  	// rag_corpus field.
  2073  	RagFileIds []string `protobuf:"bytes,2,rep,name=rag_file_ids,json=ragFileIds,proto3" json:"rag_file_ids,omitempty"`
  2074  }
  2075  
  2076  func (x *VertexRagStore_RagResource) Reset() {
  2077  	*x = VertexRagStore_RagResource{}
  2078  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[23]
  2079  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2080  	ms.StoreMessageInfo(mi)
  2081  }
  2082  
  2083  func (x *VertexRagStore_RagResource) String() string {
  2084  	return protoimpl.X.MessageStringOf(x)
  2085  }
  2086  
  2087  func (*VertexRagStore_RagResource) ProtoMessage() {}
  2088  
  2089  func (x *VertexRagStore_RagResource) ProtoReflect() protoreflect.Message {
  2090  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[23]
  2091  	if x != nil {
  2092  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2093  		if ms.LoadMessageInfo() == nil {
  2094  			ms.StoreMessageInfo(mi)
  2095  		}
  2096  		return ms
  2097  	}
  2098  	return mi.MessageOf(x)
  2099  }
  2100  
  2101  // Deprecated: Use VertexRagStore_RagResource.ProtoReflect.Descriptor instead.
  2102  func (*VertexRagStore_RagResource) Descriptor() ([]byte, []int) {
  2103  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{9, 0}
  2104  }
  2105  
  2106  func (x *VertexRagStore_RagResource) GetRagCorpus() string {
  2107  	if x != nil {
  2108  		return x.RagCorpus
  2109  	}
  2110  	return ""
  2111  }
  2112  
  2113  func (x *VertexRagStore_RagResource) GetRagFileIds() []string {
  2114  	if x != nil {
  2115  		return x.RagFileIds
  2116  	}
  2117  	return nil
  2118  }
  2119  
  2120  // Define data stores within engine to filter on in a search call and
  2121  // configurations for those data stores. For more information, see
  2122  // https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec
  2123  type VertexAISearch_DataStoreSpec struct {
  2124  	state         protoimpl.MessageState
  2125  	sizeCache     protoimpl.SizeCache
  2126  	unknownFields protoimpl.UnknownFields
  2127  
  2128  	// Full resource name of DataStore, such as
  2129  	// Format:
  2130  	// `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}`
  2131  	DataStore string `protobuf:"bytes,1,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"`
  2132  	// Optional. Filter specification to filter documents in the data store
  2133  	// specified by data_store field. For more information on filtering, see
  2134  	// [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)
  2135  	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
  2136  }
  2137  
  2138  func (x *VertexAISearch_DataStoreSpec) Reset() {
  2139  	*x = VertexAISearch_DataStoreSpec{}
  2140  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[24]
  2141  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2142  	ms.StoreMessageInfo(mi)
  2143  }
  2144  
  2145  func (x *VertexAISearch_DataStoreSpec) String() string {
  2146  	return protoimpl.X.MessageStringOf(x)
  2147  }
  2148  
  2149  func (*VertexAISearch_DataStoreSpec) ProtoMessage() {}
  2150  
  2151  func (x *VertexAISearch_DataStoreSpec) ProtoReflect() protoreflect.Message {
  2152  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[24]
  2153  	if x != nil {
  2154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2155  		if ms.LoadMessageInfo() == nil {
  2156  			ms.StoreMessageInfo(mi)
  2157  		}
  2158  		return ms
  2159  	}
  2160  	return mi.MessageOf(x)
  2161  }
  2162  
  2163  // Deprecated: Use VertexAISearch_DataStoreSpec.ProtoReflect.Descriptor instead.
  2164  func (*VertexAISearch_DataStoreSpec) Descriptor() ([]byte, []int) {
  2165  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{10, 0}
  2166  }
  2167  
  2168  func (x *VertexAISearch_DataStoreSpec) GetDataStore() string {
  2169  	if x != nil {
  2170  		return x.DataStore
  2171  	}
  2172  	return ""
  2173  }
  2174  
  2175  func (x *VertexAISearch_DataStoreSpec) GetFilter() string {
  2176  	if x != nil {
  2177  		return x.Filter
  2178  	}
  2179  	return ""
  2180  }
  2181  
  2182  // Config for Hybrid Search.
  2183  type RagRetrievalConfig_HybridSearch struct {
  2184  	state         protoimpl.MessageState
  2185  	sizeCache     protoimpl.SizeCache
  2186  	unknownFields protoimpl.UnknownFields
  2187  
  2188  	// Optional. Alpha value controls the weight between dense and sparse vector
  2189  	// search results. The range is [0, 1], while 0 means sparse vector search
  2190  	// only and 1 means dense vector search only. The default value is 0.5 which
  2191  	// balances sparse and dense vector search equally.
  2192  	Alpha *float32 `protobuf:"fixed32,1,opt,name=alpha,proto3,oneof" json:"alpha,omitempty"`
  2193  }
  2194  
  2195  func (x *RagRetrievalConfig_HybridSearch) Reset() {
  2196  	*x = RagRetrievalConfig_HybridSearch{}
  2197  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[25]
  2198  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2199  	ms.StoreMessageInfo(mi)
  2200  }
  2201  
  2202  func (x *RagRetrievalConfig_HybridSearch) String() string {
  2203  	return protoimpl.X.MessageStringOf(x)
  2204  }
  2205  
  2206  func (*RagRetrievalConfig_HybridSearch) ProtoMessage() {}
  2207  
  2208  func (x *RagRetrievalConfig_HybridSearch) ProtoReflect() protoreflect.Message {
  2209  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[25]
  2210  	if x != nil {
  2211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2212  		if ms.LoadMessageInfo() == nil {
  2213  			ms.StoreMessageInfo(mi)
  2214  		}
  2215  		return ms
  2216  	}
  2217  	return mi.MessageOf(x)
  2218  }
  2219  
  2220  // Deprecated: Use RagRetrievalConfig_HybridSearch.ProtoReflect.Descriptor instead.
  2221  func (*RagRetrievalConfig_HybridSearch) Descriptor() ([]byte, []int) {
  2222  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18, 0}
  2223  }
  2224  
  2225  func (x *RagRetrievalConfig_HybridSearch) GetAlpha() float32 {
  2226  	if x != nil && x.Alpha != nil {
  2227  		return *x.Alpha
  2228  	}
  2229  	return 0
  2230  }
  2231  
  2232  // Config for filters.
  2233  type RagRetrievalConfig_Filter struct {
  2234  	state         protoimpl.MessageState
  2235  	sizeCache     protoimpl.SizeCache
  2236  	unknownFields protoimpl.UnknownFields
  2237  
  2238  	// Filter contexts retrieved from the vector DB based on either vector
  2239  	// distance or vector similarity.
  2240  	//
  2241  	// Types that are assignable to VectorDbThreshold:
  2242  	//
  2243  	//	*RagRetrievalConfig_Filter_VectorDistanceThreshold
  2244  	//	*RagRetrievalConfig_Filter_VectorSimilarityThreshold
  2245  	VectorDbThreshold isRagRetrievalConfig_Filter_VectorDbThreshold `protobuf_oneof:"vector_db_threshold"`
  2246  	// Optional. String for metadata filtering.
  2247  	MetadataFilter string `protobuf:"bytes,2,opt,name=metadata_filter,json=metadataFilter,proto3" json:"metadata_filter,omitempty"`
  2248  }
  2249  
  2250  func (x *RagRetrievalConfig_Filter) Reset() {
  2251  	*x = RagRetrievalConfig_Filter{}
  2252  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[26]
  2253  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2254  	ms.StoreMessageInfo(mi)
  2255  }
  2256  
  2257  func (x *RagRetrievalConfig_Filter) String() string {
  2258  	return protoimpl.X.MessageStringOf(x)
  2259  }
  2260  
  2261  func (*RagRetrievalConfig_Filter) ProtoMessage() {}
  2262  
  2263  func (x *RagRetrievalConfig_Filter) ProtoReflect() protoreflect.Message {
  2264  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[26]
  2265  	if x != nil {
  2266  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2267  		if ms.LoadMessageInfo() == nil {
  2268  			ms.StoreMessageInfo(mi)
  2269  		}
  2270  		return ms
  2271  	}
  2272  	return mi.MessageOf(x)
  2273  }
  2274  
  2275  // Deprecated: Use RagRetrievalConfig_Filter.ProtoReflect.Descriptor instead.
  2276  func (*RagRetrievalConfig_Filter) Descriptor() ([]byte, []int) {
  2277  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18, 1}
  2278  }
  2279  
  2280  func (m *RagRetrievalConfig_Filter) GetVectorDbThreshold() isRagRetrievalConfig_Filter_VectorDbThreshold {
  2281  	if m != nil {
  2282  		return m.VectorDbThreshold
  2283  	}
  2284  	return nil
  2285  }
  2286  
  2287  func (x *RagRetrievalConfig_Filter) GetVectorDistanceThreshold() float64 {
  2288  	if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorDistanceThreshold); ok {
  2289  		return x.VectorDistanceThreshold
  2290  	}
  2291  	return 0
  2292  }
  2293  
  2294  func (x *RagRetrievalConfig_Filter) GetVectorSimilarityThreshold() float64 {
  2295  	if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorSimilarityThreshold); ok {
  2296  		return x.VectorSimilarityThreshold
  2297  	}
  2298  	return 0
  2299  }
  2300  
  2301  func (x *RagRetrievalConfig_Filter) GetMetadataFilter() string {
  2302  	if x != nil {
  2303  		return x.MetadataFilter
  2304  	}
  2305  	return ""
  2306  }
  2307  
  2308  type isRagRetrievalConfig_Filter_VectorDbThreshold interface {
  2309  	isRagRetrievalConfig_Filter_VectorDbThreshold()
  2310  }
  2311  
  2312  type RagRetrievalConfig_Filter_VectorDistanceThreshold struct {
  2313  	// Optional. Only returns contexts with vector distance smaller than the
  2314  	// threshold.
  2315  	VectorDistanceThreshold float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof"`
  2316  }
  2317  
  2318  type RagRetrievalConfig_Filter_VectorSimilarityThreshold struct {
  2319  	// Optional. Only returns contexts with vector similarity larger than the
  2320  	// threshold.
  2321  	VectorSimilarityThreshold float64 `protobuf:"fixed64,4,opt,name=vector_similarity_threshold,json=vectorSimilarityThreshold,proto3,oneof"`
  2322  }
  2323  
  2324  func (*RagRetrievalConfig_Filter_VectorDistanceThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() {
  2325  }
  2326  
  2327  func (*RagRetrievalConfig_Filter_VectorSimilarityThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() {
  2328  }
  2329  
  2330  // Config for ranking and reranking.
  2331  type RagRetrievalConfig_Ranking struct {
  2332  	state         protoimpl.MessageState
  2333  	sizeCache     protoimpl.SizeCache
  2334  	unknownFields protoimpl.UnknownFields
  2335  
  2336  	// Config options for ranking. Currently only Rank Service is supported.
  2337  	//
  2338  	// Types that are assignable to RankingConfig:
  2339  	//
  2340  	//	*RagRetrievalConfig_Ranking_RankService_
  2341  	//	*RagRetrievalConfig_Ranking_LlmRanker_
  2342  	RankingConfig isRagRetrievalConfig_Ranking_RankingConfig `protobuf_oneof:"ranking_config"`
  2343  }
  2344  
  2345  func (x *RagRetrievalConfig_Ranking) Reset() {
  2346  	*x = RagRetrievalConfig_Ranking{}
  2347  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[27]
  2348  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2349  	ms.StoreMessageInfo(mi)
  2350  }
  2351  
  2352  func (x *RagRetrievalConfig_Ranking) String() string {
  2353  	return protoimpl.X.MessageStringOf(x)
  2354  }
  2355  
  2356  func (*RagRetrievalConfig_Ranking) ProtoMessage() {}
  2357  
  2358  func (x *RagRetrievalConfig_Ranking) ProtoReflect() protoreflect.Message {
  2359  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[27]
  2360  	if x != nil {
  2361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2362  		if ms.LoadMessageInfo() == nil {
  2363  			ms.StoreMessageInfo(mi)
  2364  		}
  2365  		return ms
  2366  	}
  2367  	return mi.MessageOf(x)
  2368  }
  2369  
  2370  // Deprecated: Use RagRetrievalConfig_Ranking.ProtoReflect.Descriptor instead.
  2371  func (*RagRetrievalConfig_Ranking) Descriptor() ([]byte, []int) {
  2372  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18, 2}
  2373  }
  2374  
  2375  func (m *RagRetrievalConfig_Ranking) GetRankingConfig() isRagRetrievalConfig_Ranking_RankingConfig {
  2376  	if m != nil {
  2377  		return m.RankingConfig
  2378  	}
  2379  	return nil
  2380  }
  2381  
  2382  func (x *RagRetrievalConfig_Ranking) GetRankService() *RagRetrievalConfig_Ranking_RankService {
  2383  	if x, ok := x.GetRankingConfig().(*RagRetrievalConfig_Ranking_RankService_); ok {
  2384  		return x.RankService
  2385  	}
  2386  	return nil
  2387  }
  2388  
  2389  func (x *RagRetrievalConfig_Ranking) GetLlmRanker() *RagRetrievalConfig_Ranking_LlmRanker {
  2390  	if x, ok := x.GetRankingConfig().(*RagRetrievalConfig_Ranking_LlmRanker_); ok {
  2391  		return x.LlmRanker
  2392  	}
  2393  	return nil
  2394  }
  2395  
  2396  type isRagRetrievalConfig_Ranking_RankingConfig interface {
  2397  	isRagRetrievalConfig_Ranking_RankingConfig()
  2398  }
  2399  
  2400  type RagRetrievalConfig_Ranking_RankService_ struct {
  2401  	// Optional. Config for Rank Service.
  2402  	RankService *RagRetrievalConfig_Ranking_RankService `protobuf:"bytes,1,opt,name=rank_service,json=rankService,proto3,oneof"`
  2403  }
  2404  
  2405  type RagRetrievalConfig_Ranking_LlmRanker_ struct {
  2406  	// Optional. Config for LlmRanker.
  2407  	LlmRanker *RagRetrievalConfig_Ranking_LlmRanker `protobuf:"bytes,3,opt,name=llm_ranker,json=llmRanker,proto3,oneof"`
  2408  }
  2409  
  2410  func (*RagRetrievalConfig_Ranking_RankService_) isRagRetrievalConfig_Ranking_RankingConfig() {}
  2411  
  2412  func (*RagRetrievalConfig_Ranking_LlmRanker_) isRagRetrievalConfig_Ranking_RankingConfig() {}
  2413  
  2414  // Config for Rank Service.
  2415  type RagRetrievalConfig_Ranking_RankService struct {
  2416  	state         protoimpl.MessageState
  2417  	sizeCache     protoimpl.SizeCache
  2418  	unknownFields protoimpl.UnknownFields
  2419  
  2420  	// Optional. The model name of the rank service.
  2421  	// Format: `semantic-ranker-512@latest`
  2422  	ModelName *string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3,oneof" json:"model_name,omitempty"`
  2423  }
  2424  
  2425  func (x *RagRetrievalConfig_Ranking_RankService) Reset() {
  2426  	*x = RagRetrievalConfig_Ranking_RankService{}
  2427  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[28]
  2428  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2429  	ms.StoreMessageInfo(mi)
  2430  }
  2431  
  2432  func (x *RagRetrievalConfig_Ranking_RankService) String() string {
  2433  	return protoimpl.X.MessageStringOf(x)
  2434  }
  2435  
  2436  func (*RagRetrievalConfig_Ranking_RankService) ProtoMessage() {}
  2437  
  2438  func (x *RagRetrievalConfig_Ranking_RankService) ProtoReflect() protoreflect.Message {
  2439  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[28]
  2440  	if x != nil {
  2441  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2442  		if ms.LoadMessageInfo() == nil {
  2443  			ms.StoreMessageInfo(mi)
  2444  		}
  2445  		return ms
  2446  	}
  2447  	return mi.MessageOf(x)
  2448  }
  2449  
  2450  // Deprecated: Use RagRetrievalConfig_Ranking_RankService.ProtoReflect.Descriptor instead.
  2451  func (*RagRetrievalConfig_Ranking_RankService) Descriptor() ([]byte, []int) {
  2452  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18, 2, 0}
  2453  }
  2454  
  2455  func (x *RagRetrievalConfig_Ranking_RankService) GetModelName() string {
  2456  	if x != nil && x.ModelName != nil {
  2457  		return *x.ModelName
  2458  	}
  2459  	return ""
  2460  }
  2461  
  2462  // Config for LlmRanker.
  2463  type RagRetrievalConfig_Ranking_LlmRanker struct {
  2464  	state         protoimpl.MessageState
  2465  	sizeCache     protoimpl.SizeCache
  2466  	unknownFields protoimpl.UnknownFields
  2467  
  2468  	// Optional. The model name used for ranking.
  2469  	// Format: `gemini-1.5-pro`
  2470  	ModelName *string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3,oneof" json:"model_name,omitempty"`
  2471  }
  2472  
  2473  func (x *RagRetrievalConfig_Ranking_LlmRanker) Reset() {
  2474  	*x = RagRetrievalConfig_Ranking_LlmRanker{}
  2475  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[29]
  2476  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2477  	ms.StoreMessageInfo(mi)
  2478  }
  2479  
  2480  func (x *RagRetrievalConfig_Ranking_LlmRanker) String() string {
  2481  	return protoimpl.X.MessageStringOf(x)
  2482  }
  2483  
  2484  func (*RagRetrievalConfig_Ranking_LlmRanker) ProtoMessage() {}
  2485  
  2486  func (x *RagRetrievalConfig_Ranking_LlmRanker) ProtoReflect() protoreflect.Message {
  2487  	mi := &file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[29]
  2488  	if x != nil {
  2489  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2490  		if ms.LoadMessageInfo() == nil {
  2491  			ms.StoreMessageInfo(mi)
  2492  		}
  2493  		return ms
  2494  	}
  2495  	return mi.MessageOf(x)
  2496  }
  2497  
  2498  // Deprecated: Use RagRetrievalConfig_Ranking_LlmRanker.ProtoReflect.Descriptor instead.
  2499  func (*RagRetrievalConfig_Ranking_LlmRanker) Descriptor() ([]byte, []int) {
  2500  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP(), []int{18, 2, 1}
  2501  }
  2502  
  2503  func (x *RagRetrievalConfig_Ranking_LlmRanker) GetModelName() string {
  2504  	if x != nil && x.ModelName != nil {
  2505  		return *x.ModelName
  2506  	}
  2507  	return ""
  2508  }
  2509  
  2510  var File_google_cloud_aiplatform_v1beta1_tool_proto protoreflect.FileDescriptor
  2511  
  2512  var file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc = []byte{
  2513  	0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  2514  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  2515  	0x31, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f,
  2516  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2517  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67,
  2518  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
  2519  	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
  2520  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
  2521  	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2522  	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2523  	0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61,
  2524  	0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2525  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
  2526  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74,
  2527  	0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2528  	0x22, 0xea, 0x0b, 0x0a, 0x04, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x6e, 0x0a, 0x15, 0x66, 0x75, 0x6e,
  2529  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2530  	0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2531  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2532  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74,
  2533  	0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03,
  2534  	0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63,
  2535  	0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x09, 0x72, 0x65, 0x74,
  2536  	0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
  2537  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  2538  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52,
  2539  	0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72,
  2540  	0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x5c, 0x0a, 0x0d, 0x67, 0x6f, 0x6f, 0x67,
  2541  	0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2542  	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2543  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  2544  	0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61,
  2545  	0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2546  	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x73, 0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2547  	0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61,
  2548  	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2549  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2550  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2551  	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x42,
  2552  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72,
  2553  	0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x51, 0x0a, 0x0b, 0x67,
  2554  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
  2555  	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2556  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  2557  	0x61, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x73, 0x42, 0x03, 0xe0,
  2558  	0x41, 0x01, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x6d,
  2559  	0x0a, 0x15, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x77, 0x65, 0x62,
  2560  	0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e,
  2561  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2562  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2563  	0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 0x53, 0x65, 0x61,
  2564  	0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70,
  2565  	0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x5f, 0x0a,
  2566  	0x0e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  2567  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2568  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2569  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x64,
  2570  	0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2571  	0x0d, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51,
  2572  	0x0a, 0x0b, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20,
  2573  	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2574  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2575  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  2576  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  2577  	0x74, 0x12, 0x59, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73,
  2578  	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2579  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2580  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x43,
  2581  	0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2582  	0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x1a, 0xca, 0x01, 0x0a,
  2583  	0x0c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2c, 0x0a,
  2584  	0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73,
  2585  	0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x63,
  2586  	0x6c, 0x75, 0x64, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x62,
  2587  	0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
  2588  	0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2589  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2590  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e,
  2591  	0x50, 0x68, 0x69, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
  2592  	0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63,
  2593  	0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01,
  2594  	0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63,
  2595  	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x43, 0x6f, 0x64,
  2596  	0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb8, 0x01, 0x0a, 0x0b, 0x43,
  2597  	0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x65, 0x6e,
  2598  	0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
  2599  	0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2600  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  2601  	0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55,
  2602  	0x73, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03,
  2603  	0xe0, 0x41, 0x02, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
  2604  	0x22, 0x43, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12,
  2605  	0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55,
  2606  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13,
  2607  	0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x52, 0x4f, 0x57,
  2608  	0x53, 0x45, 0x52, 0x10, 0x01, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x50, 0x68, 0x69, 0x73, 0x68, 0x42,
  2609  	0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a,
  2610  	0x21, 0x50, 0x48, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x48, 0x52,
  2611  	0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  2612  	0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x4f,
  2613  	0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x1e, 0x12, 0x1a, 0x0a,
  2614  	0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x41, 0x4e,
  2615  	0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x4f,
  2616  	0x43, 0x4b, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56,
  2617  	0x45, 0x10, 0x32, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x48, 0x49, 0x47,
  2618  	0x48, 0x45, 0x52, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x37, 0x12,
  2619  	0x1d, 0x0a, 0x19, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x48, 0x49,
  2620  	0x47, 0x48, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x3c, 0x12, 0x1d,
  2621  	0x0a, 0x19, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x45, 0x58, 0x54,
  2622  	0x52, 0x45, 0x4d, 0x45, 0x4c, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x64, 0x22, 0x0c, 0x0a,
  2623  	0x0a, 0x55, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0xaf, 0x04, 0x0a, 0x0e,
  2624  	0x54, 0x6f, 0x6f, 0x6c, 0x55, 0x73, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x75,
  2625  	0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x72,
  2626  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f,
  2627  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2628  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x6f,
  2629  	0x6f, 0x6c, 0x55, 0x73, 0x65, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x45, 0x78, 0x74,
  2630  	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
  2631  	0x00, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72,
  2632  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
  2633  	0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c,
  2634  	0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c,
  2635  	0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2636  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
  2637  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20,
  2638  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12,
  2639  	0x3e, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
  2640  	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2641  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
  2642  	0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
  2643  	0x40, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61,
  2644  	0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2645  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
  2646  	0x74, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2647  	0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75,
  2648  	0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73,
  2649  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x1a, 0x84, 0x01, 0x0a,
  2650  	0x12, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
  2651  	0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  2652  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70,
  2653  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  2654  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  2655  	0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x6f,
  2656  	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  2657  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
  2658  	0x6e, 0x49, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x8f, 0x03,
  2659  	0x0a, 0x13, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72,
  2660  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  2661  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25,
  2662  	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
  2663  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
  2664  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  2665  	0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2666  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2667  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65,
  2668  	0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  2669  	0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
  2670  	0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20,
  2671  	0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2672  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2673  	0x52, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x4a, 0x73, 0x6f, 0x6e,
  2674  	0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  2675  	0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2676  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2677  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d,
  2678  	0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  2679  	0x12, 0x4d, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f,
  2680  	0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
  2681  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2682  	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73,
  2683  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22,
  2684  	0x6e, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12,
  2685  	0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2686  	0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  2687  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a,
  2688  	0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f,
  2689  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74,
  2690  	0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22,
  2691  	0x7a, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
  2692  	0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
  2693  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  2694  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d,
  2695  	0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20,
  2696  	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  2697  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
  2698  	0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x0e,
  2699  	0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x59,
  2700  	0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
  2701  	0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2702  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  2703  	0x61, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x64,
  2704  	0x65, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  2705  	0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6f, 0x64,
  2706  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x63, 0x6f,
  2707  	0x64, 0x65, 0x22, 0x30, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x18,
  2708  	0x0a, 0x14, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  2709  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48,
  2710  	0x4f, 0x4e, 0x10, 0x01, 0x22, 0xf6, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x65,
  2711  	0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5b, 0x0a, 0x07,
  2712  	0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e,
  2713  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2714  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2715  	0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
  2716  	0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
  2717  	0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x75, 0x74,
  2718  	0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06,
  2719  	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x65, 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d,
  2720  	0x65, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53,
  2721  	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x55,
  2722  	0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x55,
  2723  	0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d,
  2724  	0x0a, 0x19, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49,
  2725  	0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x22, 0x87, 0x02,
  2726  	0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x5b, 0x0a, 0x10, 0x76,
  2727  	0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x61, 0x69, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18,
  2728  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  2729  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  2730  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49,
  2731  	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78,
  2732  	0x41, 0x69, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x5b, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x74,
  2733  	0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
  2734  	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2735  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  2736  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74,
  2737  	0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67,
  2738  	0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x36, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
  2739  	0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
  2740  	0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62,
  2741  	0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a,
  2742  	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x05, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74,
  2743  	0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x72, 0x61,
  2744  	0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42,
  2745  	0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2746  	0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  2747  	0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x18, 0x01, 0x52, 0x0a,
  2748  	0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x12, 0x65, 0x0a, 0x0d, 0x72, 0x61,
  2749  	0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
  2750  	0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2751  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  2752  	0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f,
  2753  	0x72, 0x65, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03,
  2754  	0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  2755  	0x73, 0x12, 0x34, 0x0a, 0x10, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f,
  2756  	0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xe0, 0x41, 0x01,
  2757  	0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79,
  2758  	0x54, 0x6f, 0x70, 0x4b, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f,
  2759  	0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73,
  2760  	0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18,
  2761  	0x01, 0x48, 0x01, 0x52, 0x17, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61,
  2762  	0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12,
  2763  	0x6a, 0x0a, 0x14, 0x72, 0x61, 0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c,
  2764  	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e,
  2765  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70,
  2766  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
  2767  	0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
  2768  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72,
  2769  	0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x73,
  2770  	0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01,
  2771  	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f,
  2772  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x52, 0x65, 0x73,
  2773  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72,
  2774  	0x70, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x01, 0xfa, 0x41,
  2775  	0x25, 0x0a, 0x23, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f,
  2776  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67,
  2777  	0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75,
  2778  	0x73, 0x12, 0x25, 0x0a, 0x0c, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
  2779  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x72, 0x61,
  2780  	0x67, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x69, 0x6d,
  2781  	0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x1c, 0x0a,
  2782  	0x1a, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
  2783  	0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc9, 0x02, 0x0a, 0x0e,
  2784  	0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x21,
  2785  	0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  2786  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72,
  2787  	0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
  2788  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x24,
  2789  	0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20,
  2790  	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73,
  2791  	0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04,
  2792  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
  2793  	0x72, 0x12, 0x67, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
  2794  	0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f,
  2795  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2796  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65,
  2797  	0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x44, 0x61, 0x74,
  2798  	0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61,
  2799  	0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x44, 0x61,
  2800  	0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x64,
  2801  	0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  2802  	0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69,
  2803  	0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2804  	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67,
  2805  	0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61,
  2806  	0x6c, 0x12, 0x71, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74,
  2807  	0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
  2808  	0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2809  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2810  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74,
  2811  	0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x64, 0x79,
  2812  	0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f,
  2813  	0x6e, 0x66, 0x69, 0x67, 0x22, 0x36, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x4d, 0x61,
  2814  	0x70, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x64,
  2815  	0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c,
  2816  	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x22, 0xd1, 0x01, 0x0a,
  2817  	0x13, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 0x53, 0x65,
  2818  	0x61, 0x72, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f,
  2819  	0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
  2820  	0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69,
  2821  	0x6e, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63,
  2822  	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
  2823  	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  2824  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
  2825  	0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x50, 0x68, 0x69, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63,
  2826  	0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
  2827  	0x00, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2828  	0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x6c, 0x6f,
  2829  	0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
  2830  	0x22, 0xe7, 0x01, 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72,
  2831  	0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x50, 0x0a, 0x04, 0x6d,
  2832  	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2833  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  2834  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61,
  2835  	0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
  2836  	0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a,
  2837  	0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
  2838  	0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52,
  2839  	0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
  2840  	0x64, 0x88, 0x01, 0x01, 0x22, 0x2e, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10,
  2841  	0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  2842  	0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d,
  2843  	0x49, 0x43, 0x10, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
  2844  	0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0a, 0x54,
  2845  	0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x73, 0x0a, 0x17, 0x66, 0x75, 0x6e,
  2846  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
  2847  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
  2848  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  2849  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e,
  2850  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66,
  2851  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
  2852  	0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60,
  2853  	0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  2854  	0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2855  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2856  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69,
  2857  	0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  2858  	0x0f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  2859  	0x22, 0xf8, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c,
  2860  	0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x04, 0x6d, 0x6f,
  2861  	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2862  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2863  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74,
  2864  	0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  2865  	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65,
  2866  	0x12, 0x39, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63,
  2867  	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
  2868  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x46, 0x75,
  2869  	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x04, 0x4d,
  2870  	0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  2871  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54,
  2872  	0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04,
  2873  	0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41,
  2874  	0x54, 0x45, 0x44, 0x10, 0x05, 0x22, 0x04, 0x08, 0x04, 0x10, 0x04, 0x22, 0x8c, 0x01, 0x0a, 0x0f,
  2875  	0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  2876  	0x31, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2877  	0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c,
  2878  	0x61, 0x74, 0x4c, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x88,
  2879  	0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63,
  2880  	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6c, 0x61, 0x6e,
  2881  	0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08,
  2882  	0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x61, 0x6e,
  2883  	0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xed, 0x07, 0x0a, 0x12, 0x52,
  2884  	0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2885  	0x67, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
  2886  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, 0x6a, 0x0a, 0x0d, 0x68,
  2887  	0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01,
  2888  	0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2889  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  2890  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61,
  2891  	0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x65,
  2892  	0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69,
  2893  	0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x57, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
  2894  	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2895  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  2896  	0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74,
  2897  	0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c,
  2898  	0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
  2899  	0x12, 0x5a, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28,
  2900  	0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  2901  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65,
  2902  	0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c,
  2903  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x03,
  2904  	0xe0, 0x41, 0x01, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x1a, 0x38, 0x0a, 0x0c,
  2905  	0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1e, 0x0a, 0x05,
  2906  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2907  	0x48, 0x00, 0x52, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06,
  2908  	0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0xd7, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65,
  2909  	0x72, 0x12, 0x41, 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74,
  2910  	0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03,
  2911  	0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x17, 0x76, 0x65, 0x63,
  2912  	0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73,
  2913  	0x68, 0x6f, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x1b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x73,
  2914  	0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
  2915  	0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
  2916  	0x52, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69,
  2917  	0x74, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6d,
  2918  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02,
  2919  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64,
  2920  	0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x76, 0x65, 0x63,
  2921  	0x74, 0x6f, 0x72, 0x5f, 0x64, 0x62, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
  2922  	0x1a, 0x87, 0x03, 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x71, 0x0a, 0x0c,
  2923  	0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
  2924  	0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  2925  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62,
  2926  	0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61,
  2927  	0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
  2928  	0x52, 0x61, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
  2929  	0x48, 0x00, 0x52, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
  2930  	0x6b, 0x0a, 0x0a, 0x6c, 0x6c, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20,
  2931  	0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  2932  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  2933  	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76,
  2934  	0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67,
  2935  	0x2e, 0x4c, 0x6c, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
  2936  	0x00, 0x52, 0x09, 0x6c, 0x6c, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0b,
  2937  	0x52, 0x61, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0a, 0x6d,
  2938  	0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  2939  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
  2940  	0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
  2941  	0x61, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 0x09, 0x4c, 0x6c, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x72,
  2942  	0x12, 0x27, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  2943  	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x64,
  2944  	0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x6f,
  2945  	0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b,
  2946  	0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xe0, 0x01, 0x0a, 0x23, 0x63,
  2947  	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  2948  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
  2949  	0x61, 0x31, 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
  2950  	0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
  2951  	0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,
  2952  	0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61,
  2953  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  2954  	0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c,
  2955  	0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56,
  2956  	0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
  2957  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  2958  	0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
  2959  	0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74,
  2960  	0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70,
  2961  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  2962  }
  2963  
  2964  var (
  2965  	file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescOnce sync.Once
  2966  	file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc
  2967  )
  2968  
  2969  func file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescGZIP() []byte {
  2970  	file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescOnce.Do(func() {
  2971  		file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescData)
  2972  	})
  2973  	return file_google_cloud_aiplatform_v1beta1_tool_proto_rawDescData
  2974  }
  2975  
  2976  var file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
  2977  var file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
  2978  var file_google_cloud_aiplatform_v1beta1_tool_proto_goTypes = []any{
  2979  	(Tool_PhishBlockThreshold)(0),                  // 0: google.cloud.aiplatform.v1beta1.Tool.PhishBlockThreshold
  2980  	(Tool_ComputerUse_Environment)(0),              // 1: google.cloud.aiplatform.v1beta1.Tool.ComputerUse.Environment
  2981  	(ExecutableCode_Language)(0),                   // 2: google.cloud.aiplatform.v1beta1.ExecutableCode.Language
  2982  	(CodeExecutionResult_Outcome)(0),               // 3: google.cloud.aiplatform.v1beta1.CodeExecutionResult.Outcome
  2983  	(DynamicRetrievalConfig_Mode)(0),               // 4: google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig.Mode
  2984  	(FunctionCallingConfig_Mode)(0),                // 5: google.cloud.aiplatform.v1beta1.FunctionCallingConfig.Mode
  2985  	(*Tool)(nil),                                   // 6: google.cloud.aiplatform.v1beta1.Tool
  2986  	(*UrlContext)(nil),                             // 7: google.cloud.aiplatform.v1beta1.UrlContext
  2987  	(*ToolUseExample)(nil),                         // 8: google.cloud.aiplatform.v1beta1.ToolUseExample
  2988  	(*FunctionDeclaration)(nil),                    // 9: google.cloud.aiplatform.v1beta1.FunctionDeclaration
  2989  	(*FunctionCall)(nil),                           // 10: google.cloud.aiplatform.v1beta1.FunctionCall
  2990  	(*FunctionResponse)(nil),                       // 11: google.cloud.aiplatform.v1beta1.FunctionResponse
  2991  	(*ExecutableCode)(nil),                         // 12: google.cloud.aiplatform.v1beta1.ExecutableCode
  2992  	(*CodeExecutionResult)(nil),                    // 13: google.cloud.aiplatform.v1beta1.CodeExecutionResult
  2993  	(*Retrieval)(nil),                              // 14: google.cloud.aiplatform.v1beta1.Retrieval
  2994  	(*VertexRagStore)(nil),                         // 15: google.cloud.aiplatform.v1beta1.VertexRagStore
  2995  	(*VertexAISearch)(nil),                         // 16: google.cloud.aiplatform.v1beta1.VertexAISearch
  2996  	(*GoogleSearchRetrieval)(nil),                  // 17: google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval
  2997  	(*GoogleMaps)(nil),                             // 18: google.cloud.aiplatform.v1beta1.GoogleMaps
  2998  	(*EnterpriseWebSearch)(nil),                    // 19: google.cloud.aiplatform.v1beta1.EnterpriseWebSearch
  2999  	(*DynamicRetrievalConfig)(nil),                 // 20: google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig
  3000  	(*ToolConfig)(nil),                             // 21: google.cloud.aiplatform.v1beta1.ToolConfig
  3001  	(*FunctionCallingConfig)(nil),                  // 22: google.cloud.aiplatform.v1beta1.FunctionCallingConfig
  3002  	(*RetrievalConfig)(nil),                        // 23: google.cloud.aiplatform.v1beta1.RetrievalConfig
  3003  	(*RagRetrievalConfig)(nil),                     // 24: google.cloud.aiplatform.v1beta1.RagRetrievalConfig
  3004  	(*Tool_GoogleSearch)(nil),                      // 25: google.cloud.aiplatform.v1beta1.Tool.GoogleSearch
  3005  	(*Tool_CodeExecution)(nil),                     // 26: google.cloud.aiplatform.v1beta1.Tool.CodeExecution
  3006  	(*Tool_ComputerUse)(nil),                       // 27: google.cloud.aiplatform.v1beta1.Tool.ComputerUse
  3007  	(*ToolUseExample_ExtensionOperation)(nil),      // 28: google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation
  3008  	(*VertexRagStore_RagResource)(nil),             // 29: google.cloud.aiplatform.v1beta1.VertexRagStore.RagResource
  3009  	(*VertexAISearch_DataStoreSpec)(nil),           // 30: google.cloud.aiplatform.v1beta1.VertexAISearch.DataStoreSpec
  3010  	(*RagRetrievalConfig_HybridSearch)(nil),        // 31: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.HybridSearch
  3011  	(*RagRetrievalConfig_Filter)(nil),              // 32: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Filter
  3012  	(*RagRetrievalConfig_Ranking)(nil),             // 33: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking
  3013  	(*RagRetrievalConfig_Ranking_RankService)(nil), // 34: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.RankService
  3014  	(*RagRetrievalConfig_Ranking_LlmRanker)(nil),   // 35: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.LlmRanker
  3015  	(*structpb.Struct)(nil),                        // 36: google.protobuf.Struct
  3016  	(*Schema)(nil),                                 // 37: google.cloud.aiplatform.v1beta1.Schema
  3017  	(*structpb.Value)(nil),                         // 38: google.protobuf.Value
  3018  	(*latlng.LatLng)(nil),                          // 39: google.type.LatLng
  3019  }
  3020  var file_google_cloud_aiplatform_v1beta1_tool_proto_depIdxs = []int32{
  3021  	9,  // 0: google.cloud.aiplatform.v1beta1.Tool.function_declarations:type_name -> google.cloud.aiplatform.v1beta1.FunctionDeclaration
  3022  	14, // 1: google.cloud.aiplatform.v1beta1.Tool.retrieval:type_name -> google.cloud.aiplatform.v1beta1.Retrieval
  3023  	25, // 2: google.cloud.aiplatform.v1beta1.Tool.google_search:type_name -> google.cloud.aiplatform.v1beta1.Tool.GoogleSearch
  3024  	17, // 3: google.cloud.aiplatform.v1beta1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval
  3025  	18, // 4: google.cloud.aiplatform.v1beta1.Tool.google_maps:type_name -> google.cloud.aiplatform.v1beta1.GoogleMaps
  3026  	19, // 5: google.cloud.aiplatform.v1beta1.Tool.enterprise_web_search:type_name -> google.cloud.aiplatform.v1beta1.EnterpriseWebSearch
  3027  	26, // 6: google.cloud.aiplatform.v1beta1.Tool.code_execution:type_name -> google.cloud.aiplatform.v1beta1.Tool.CodeExecution
  3028  	7,  // 7: google.cloud.aiplatform.v1beta1.Tool.url_context:type_name -> google.cloud.aiplatform.v1beta1.UrlContext
  3029  	27, // 8: google.cloud.aiplatform.v1beta1.Tool.computer_use:type_name -> google.cloud.aiplatform.v1beta1.Tool.ComputerUse
  3030  	28, // 9: google.cloud.aiplatform.v1beta1.ToolUseExample.extension_operation:type_name -> google.cloud.aiplatform.v1beta1.ToolUseExample.ExtensionOperation
  3031  	36, // 10: google.cloud.aiplatform.v1beta1.ToolUseExample.request_params:type_name -> google.protobuf.Struct
  3032  	36, // 11: google.cloud.aiplatform.v1beta1.ToolUseExample.response_params:type_name -> google.protobuf.Struct
  3033  	37, // 12: google.cloud.aiplatform.v1beta1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1beta1.Schema
  3034  	38, // 13: google.cloud.aiplatform.v1beta1.FunctionDeclaration.parameters_json_schema:type_name -> google.protobuf.Value
  3035  	37, // 14: google.cloud.aiplatform.v1beta1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1beta1.Schema
  3036  	38, // 15: google.cloud.aiplatform.v1beta1.FunctionDeclaration.response_json_schema:type_name -> google.protobuf.Value
  3037  	36, // 16: google.cloud.aiplatform.v1beta1.FunctionCall.args:type_name -> google.protobuf.Struct
  3038  	36, // 17: google.cloud.aiplatform.v1beta1.FunctionResponse.response:type_name -> google.protobuf.Struct
  3039  	2,  // 18: google.cloud.aiplatform.v1beta1.ExecutableCode.language:type_name -> google.cloud.aiplatform.v1beta1.ExecutableCode.Language
  3040  	3,  // 19: google.cloud.aiplatform.v1beta1.CodeExecutionResult.outcome:type_name -> google.cloud.aiplatform.v1beta1.CodeExecutionResult.Outcome
  3041  	16, // 20: google.cloud.aiplatform.v1beta1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1beta1.VertexAISearch
  3042  	15, // 21: google.cloud.aiplatform.v1beta1.Retrieval.vertex_rag_store:type_name -> google.cloud.aiplatform.v1beta1.VertexRagStore
  3043  	29, // 22: google.cloud.aiplatform.v1beta1.VertexRagStore.rag_resources:type_name -> google.cloud.aiplatform.v1beta1.VertexRagStore.RagResource
  3044  	24, // 23: google.cloud.aiplatform.v1beta1.VertexRagStore.rag_retrieval_config:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig
  3045  	30, // 24: google.cloud.aiplatform.v1beta1.VertexAISearch.data_store_specs:type_name -> google.cloud.aiplatform.v1beta1.VertexAISearch.DataStoreSpec
  3046  	20, // 25: google.cloud.aiplatform.v1beta1.GoogleSearchRetrieval.dynamic_retrieval_config:type_name -> google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig
  3047  	0,  // 26: google.cloud.aiplatform.v1beta1.EnterpriseWebSearch.blocking_confidence:type_name -> google.cloud.aiplatform.v1beta1.Tool.PhishBlockThreshold
  3048  	4,  // 27: google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig.mode:type_name -> google.cloud.aiplatform.v1beta1.DynamicRetrievalConfig.Mode
  3049  	22, // 28: google.cloud.aiplatform.v1beta1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig
  3050  	23, // 29: google.cloud.aiplatform.v1beta1.ToolConfig.retrieval_config:type_name -> google.cloud.aiplatform.v1beta1.RetrievalConfig
  3051  	5,  // 30: google.cloud.aiplatform.v1beta1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1beta1.FunctionCallingConfig.Mode
  3052  	39, // 31: google.cloud.aiplatform.v1beta1.RetrievalConfig.lat_lng:type_name -> google.type.LatLng
  3053  	31, // 32: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.hybrid_search:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig.HybridSearch
  3054  	32, // 33: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.filter:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Filter
  3055  	33, // 34: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.ranking:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking
  3056  	0,  // 35: google.cloud.aiplatform.v1beta1.Tool.GoogleSearch.blocking_confidence:type_name -> google.cloud.aiplatform.v1beta1.Tool.PhishBlockThreshold
  3057  	1,  // 36: google.cloud.aiplatform.v1beta1.Tool.ComputerUse.environment:type_name -> google.cloud.aiplatform.v1beta1.Tool.ComputerUse.Environment
  3058  	34, // 37: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.rank_service:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.RankService
  3059  	35, // 38: google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.llm_ranker:type_name -> google.cloud.aiplatform.v1beta1.RagRetrievalConfig.Ranking.LlmRanker
  3060  	39, // [39:39] is the sub-list for method output_type
  3061  	39, // [39:39] is the sub-list for method input_type
  3062  	39, // [39:39] is the sub-list for extension type_name
  3063  	39, // [39:39] is the sub-list for extension extendee
  3064  	0,  // [0:39] is the sub-list for field type_name
  3065  }
  3066  
  3067  func init() { file_google_cloud_aiplatform_v1beta1_tool_proto_init() }
  3068  func file_google_cloud_aiplatform_v1beta1_tool_proto_init() {
  3069  	if File_google_cloud_aiplatform_v1beta1_tool_proto != nil {
  3070  		return
  3071  	}
  3072  	file_google_cloud_aiplatform_v1beta1_openapi_proto_init()
  3073  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[2].OneofWrappers = []any{
  3074  		(*ToolUseExample_ExtensionOperation_)(nil),
  3075  		(*ToolUseExample_FunctionName)(nil),
  3076  	}
  3077  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[8].OneofWrappers = []any{
  3078  		(*Retrieval_VertexAiSearch)(nil),
  3079  		(*Retrieval_VertexRagStore)(nil),
  3080  	}
  3081  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[9].OneofWrappers = []any{}
  3082  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[13].OneofWrappers = []any{}
  3083  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[14].OneofWrappers = []any{}
  3084  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[17].OneofWrappers = []any{}
  3085  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[19].OneofWrappers = []any{}
  3086  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[25].OneofWrappers = []any{}
  3087  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[26].OneofWrappers = []any{
  3088  		(*RagRetrievalConfig_Filter_VectorDistanceThreshold)(nil),
  3089  		(*RagRetrievalConfig_Filter_VectorSimilarityThreshold)(nil),
  3090  	}
  3091  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[27].OneofWrappers = []any{
  3092  		(*RagRetrievalConfig_Ranking_RankService_)(nil),
  3093  		(*RagRetrievalConfig_Ranking_LlmRanker_)(nil),
  3094  	}
  3095  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[28].OneofWrappers = []any{}
  3096  	file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes[29].OneofWrappers = []any{}
  3097  	type x struct{}
  3098  	out := protoimpl.TypeBuilder{
  3099  		File: protoimpl.DescBuilder{
  3100  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3101  			RawDescriptor: file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc,
  3102  			NumEnums:      6,
  3103  			NumMessages:   30,
  3104  			NumExtensions: 0,
  3105  			NumServices:   0,
  3106  		},
  3107  		GoTypes:           file_google_cloud_aiplatform_v1beta1_tool_proto_goTypes,
  3108  		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_tool_proto_depIdxs,
  3109  		EnumInfos:         file_google_cloud_aiplatform_v1beta1_tool_proto_enumTypes,
  3110  		MessageInfos:      file_google_cloud_aiplatform_v1beta1_tool_proto_msgTypes,
  3111  	}.Build()
  3112  	File_google_cloud_aiplatform_v1beta1_tool_proto = out.File
  3113  	file_google_cloud_aiplatform_v1beta1_tool_proto_rawDesc = nil
  3114  	file_google_cloud_aiplatform_v1beta1_tool_proto_goTypes = nil
  3115  	file_google_cloud_aiplatform_v1beta1_tool_proto_depIdxs = nil
  3116  }