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 }