cloud.google.com/go/aiplatform@v1.106.0/apiv1/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/v1/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_v1_tool_proto_enumTypes[0].Descriptor() 97 } 98 99 func (Tool_PhishBlockThreshold) Type() protoreflect.EnumType { 100 return &file_google_cloud_aiplatform_v1_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_v1_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_v1_tool_proto_enumTypes[1].Descriptor() 146 } 147 148 func (Tool_ComputerUse_Environment) Type() protoreflect.EnumType { 149 return &file_google_cloud_aiplatform_v1_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_v1_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_v1_tool_proto_enumTypes[2].Descriptor() 195 } 196 197 func (ExecutableCode_Language) Type() protoreflect.EnumType { 198 return &file_google_cloud_aiplatform_v1_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_v1_tool_proto_rawDescGZIP(), []int{5, 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_v1_tool_proto_enumTypes[3].Descriptor() 254 } 255 256 func (CodeExecutionResult_Outcome) Type() protoreflect.EnumType { 257 return &file_google_cloud_aiplatform_v1_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_v1_tool_proto_rawDescGZIP(), []int{6, 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_v1_tool_proto_enumTypes[4].Descriptor() 303 } 304 305 func (DynamicRetrievalConfig_Mode) Type() protoreflect.EnumType { 306 return &file_google_cloud_aiplatform_v1_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_v1_tool_proto_rawDescGZIP(), []int{13, 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" are set, the predicted function calls will be 329 // limited to any one of "allowed_function_names", else the predicted 330 // function calls will be any one of the provided "function_declarations". 331 FunctionCallingConfig_ANY FunctionCallingConfig_Mode = 2 332 // Model will not predict any function calls. Model behavior is same as when 333 // not passing any function declarations. 334 FunctionCallingConfig_NONE FunctionCallingConfig_Mode = 3 335 ) 336 337 // Enum value maps for FunctionCallingConfig_Mode. 338 var ( 339 FunctionCallingConfig_Mode_name = map[int32]string{ 340 0: "MODE_UNSPECIFIED", 341 1: "AUTO", 342 2: "ANY", 343 3: "NONE", 344 } 345 FunctionCallingConfig_Mode_value = map[string]int32{ 346 "MODE_UNSPECIFIED": 0, 347 "AUTO": 1, 348 "ANY": 2, 349 "NONE": 3, 350 } 351 ) 352 353 func (x FunctionCallingConfig_Mode) Enum() *FunctionCallingConfig_Mode { 354 p := new(FunctionCallingConfig_Mode) 355 *p = x 356 return p 357 } 358 359 func (x FunctionCallingConfig_Mode) String() string { 360 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 361 } 362 363 func (FunctionCallingConfig_Mode) Descriptor() protoreflect.EnumDescriptor { 364 return file_google_cloud_aiplatform_v1_tool_proto_enumTypes[5].Descriptor() 365 } 366 367 func (FunctionCallingConfig_Mode) Type() protoreflect.EnumType { 368 return &file_google_cloud_aiplatform_v1_tool_proto_enumTypes[5] 369 } 370 371 func (x FunctionCallingConfig_Mode) Number() protoreflect.EnumNumber { 372 return protoreflect.EnumNumber(x) 373 } 374 375 // Deprecated: Use FunctionCallingConfig_Mode.Descriptor instead. 376 func (FunctionCallingConfig_Mode) EnumDescriptor() ([]byte, []int) { 377 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{15, 0} 378 } 379 380 // Tool details that the model may use to generate response. 381 // 382 // A `Tool` is a piece of code that enables the system to interact with 383 // external systems to perform an action, or set of actions, outside of 384 // knowledge and scope of the model. A Tool object should contain exactly 385 // one type of Tool (e.g FunctionDeclaration, Retrieval or 386 // GoogleSearchRetrieval). 387 type Tool struct { 388 state protoimpl.MessageState 389 sizeCache protoimpl.SizeCache 390 unknownFields protoimpl.UnknownFields 391 392 // Optional. Function tool type. 393 // One or more function declarations to be passed to the model along with the 394 // current user query. Model may decide to call a subset of these functions 395 // by populating [FunctionCall][google.cloud.aiplatform.v1.Part.function_call] 396 // in the response. User should provide a 397 // [FunctionResponse][google.cloud.aiplatform.v1.Part.function_response] for 398 // each function call in the next turn. Based on the function responses, Model 399 // will generate the final response back to the user. Maximum 128 function 400 // declarations can be provided. 401 FunctionDeclarations []*FunctionDeclaration `protobuf:"bytes,1,rep,name=function_declarations,json=functionDeclarations,proto3" json:"function_declarations,omitempty"` 402 // Optional. Retrieval tool type. 403 // System will always execute the provided retrieval tool(s) to get external 404 // knowledge to answer the prompt. Retrieval results are presented to the 405 // model for generation. 406 Retrieval *Retrieval `protobuf:"bytes,2,opt,name=retrieval,proto3" json:"retrieval,omitempty"` 407 // Optional. GoogleSearch tool type. 408 // Tool to support Google Search in Model. Powered by Google. 409 GoogleSearch *Tool_GoogleSearch `protobuf:"bytes,7,opt,name=google_search,json=googleSearch,proto3" json:"google_search,omitempty"` 410 // Optional. GoogleSearchRetrieval tool type. 411 // Specialized retrieval tool that is powered by Google search. 412 GoogleSearchRetrieval *GoogleSearchRetrieval `protobuf:"bytes,3,opt,name=google_search_retrieval,json=googleSearchRetrieval,proto3" json:"google_search_retrieval,omitempty"` 413 // Optional. GoogleMaps tool type. 414 // Tool to support Google Maps in Model. 415 GoogleMaps *GoogleMaps `protobuf:"bytes,5,opt,name=google_maps,json=googleMaps,proto3" json:"google_maps,omitempty"` 416 // Optional. Tool to support searching public web data, powered by Vertex AI 417 // Search and Sec4 compliance. 418 EnterpriseWebSearch *EnterpriseWebSearch `protobuf:"bytes,6,opt,name=enterprise_web_search,json=enterpriseWebSearch,proto3" json:"enterprise_web_search,omitempty"` 419 // Optional. CodeExecution tool type. 420 // Enables the model to execute code as part of generation. 421 CodeExecution *Tool_CodeExecution `protobuf:"bytes,4,opt,name=code_execution,json=codeExecution,proto3" json:"code_execution,omitempty"` 422 // Optional. Tool to support URL context retrieval. 423 UrlContext *UrlContext `protobuf:"bytes,8,opt,name=url_context,json=urlContext,proto3" json:"url_context,omitempty"` 424 // Optional. Tool to support the model interacting directly with the computer. 425 // If enabled, it automatically populates computer-use specific Function 426 // Declarations. 427 ComputerUse *Tool_ComputerUse `protobuf:"bytes,11,opt,name=computer_use,json=computerUse,proto3" json:"computer_use,omitempty"` 428 } 429 430 func (x *Tool) Reset() { 431 *x = Tool{} 432 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[0] 433 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 434 ms.StoreMessageInfo(mi) 435 } 436 437 func (x *Tool) String() string { 438 return protoimpl.X.MessageStringOf(x) 439 } 440 441 func (*Tool) ProtoMessage() {} 442 443 func (x *Tool) ProtoReflect() protoreflect.Message { 444 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[0] 445 if x != nil { 446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 447 if ms.LoadMessageInfo() == nil { 448 ms.StoreMessageInfo(mi) 449 } 450 return ms 451 } 452 return mi.MessageOf(x) 453 } 454 455 // Deprecated: Use Tool.ProtoReflect.Descriptor instead. 456 func (*Tool) Descriptor() ([]byte, []int) { 457 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{0} 458 } 459 460 func (x *Tool) GetFunctionDeclarations() []*FunctionDeclaration { 461 if x != nil { 462 return x.FunctionDeclarations 463 } 464 return nil 465 } 466 467 func (x *Tool) GetRetrieval() *Retrieval { 468 if x != nil { 469 return x.Retrieval 470 } 471 return nil 472 } 473 474 func (x *Tool) GetGoogleSearch() *Tool_GoogleSearch { 475 if x != nil { 476 return x.GoogleSearch 477 } 478 return nil 479 } 480 481 func (x *Tool) GetGoogleSearchRetrieval() *GoogleSearchRetrieval { 482 if x != nil { 483 return x.GoogleSearchRetrieval 484 } 485 return nil 486 } 487 488 func (x *Tool) GetGoogleMaps() *GoogleMaps { 489 if x != nil { 490 return x.GoogleMaps 491 } 492 return nil 493 } 494 495 func (x *Tool) GetEnterpriseWebSearch() *EnterpriseWebSearch { 496 if x != nil { 497 return x.EnterpriseWebSearch 498 } 499 return nil 500 } 501 502 func (x *Tool) GetCodeExecution() *Tool_CodeExecution { 503 if x != nil { 504 return x.CodeExecution 505 } 506 return nil 507 } 508 509 func (x *Tool) GetUrlContext() *UrlContext { 510 if x != nil { 511 return x.UrlContext 512 } 513 return nil 514 } 515 516 func (x *Tool) GetComputerUse() *Tool_ComputerUse { 517 if x != nil { 518 return x.ComputerUse 519 } 520 return nil 521 } 522 523 // Tool to support URL context. 524 type UrlContext struct { 525 state protoimpl.MessageState 526 sizeCache protoimpl.SizeCache 527 unknownFields protoimpl.UnknownFields 528 } 529 530 func (x *UrlContext) Reset() { 531 *x = UrlContext{} 532 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[1] 533 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 534 ms.StoreMessageInfo(mi) 535 } 536 537 func (x *UrlContext) String() string { 538 return protoimpl.X.MessageStringOf(x) 539 } 540 541 func (*UrlContext) ProtoMessage() {} 542 543 func (x *UrlContext) ProtoReflect() protoreflect.Message { 544 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[1] 545 if x != nil { 546 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 547 if ms.LoadMessageInfo() == nil { 548 ms.StoreMessageInfo(mi) 549 } 550 return ms 551 } 552 return mi.MessageOf(x) 553 } 554 555 // Deprecated: Use UrlContext.ProtoReflect.Descriptor instead. 556 func (*UrlContext) Descriptor() ([]byte, []int) { 557 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{1} 558 } 559 560 // Structured representation of a function declaration as defined by the 561 // [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included 562 // in this declaration are the function name, description, parameters and 563 // response type. This FunctionDeclaration is a representation of a block of 564 // code that can be used as a `Tool` by the model and executed by the client. 565 type FunctionDeclaration struct { 566 state protoimpl.MessageState 567 sizeCache protoimpl.SizeCache 568 unknownFields protoimpl.UnknownFields 569 570 // Required. The name of the function to call. 571 // Must start with a letter or an underscore. 572 // Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a 573 // maximum length of 64. 574 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 575 // Optional. Description and purpose of the function. 576 // Model uses it to decide how and whether to call the function. 577 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 578 // Optional. Describes the parameters to this function in JSON Schema Object 579 // format. Reflects the Open API 3.03 Parameter Object. string Key: the name 580 // of the parameter. Parameter names are case sensitive. Schema Value: the 581 // Schema defining the type used for the parameter. For function with no 582 // parameters, this can be left unset. Parameter names must start with a 583 // letter or an underscore and must only contain chars a-z, A-Z, 0-9, or 584 // underscores with a maximum length of 64. Example with 1 required and 1 585 // optional parameter: type: OBJECT properties: 586 // 587 // param1: 588 // type: STRING 589 // param2: 590 // type: INTEGER 591 // 592 // required: 593 // - param1 594 Parameters *Schema `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty"` 595 // Optional. Describes the parameters to the function in JSON Schema format. 596 // The schema must describe an object where the properties are the parameters 597 // to the function. For example: 598 // 599 // ``` 600 // 601 // { 602 // "type": "object", 603 // "properties": { 604 // "name": { "type": "string" }, 605 // "age": { "type": "integer" } 606 // }, 607 // "additionalProperties": false, 608 // "required": ["name", "age"], 609 // "propertyOrdering": ["name", "age"] 610 // } 611 // 612 // ``` 613 // 614 // This field is mutually exclusive with `parameters`. 615 ParametersJsonSchema *structpb.Value `protobuf:"bytes,5,opt,name=parameters_json_schema,json=parametersJsonSchema,proto3" json:"parameters_json_schema,omitempty"` 616 // Optional. Describes the output from this function in JSON Schema format. 617 // Reflects the Open API 3.03 Response Object. The Schema defines the type 618 // used for the response value of the function. 619 Response *Schema `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` 620 // Optional. Describes the output from this function in JSON Schema format. 621 // The value specified by the schema is the response value of the function. 622 // 623 // This field is mutually exclusive with `response`. 624 ResponseJsonSchema *structpb.Value `protobuf:"bytes,6,opt,name=response_json_schema,json=responseJsonSchema,proto3" json:"response_json_schema,omitempty"` 625 } 626 627 func (x *FunctionDeclaration) Reset() { 628 *x = FunctionDeclaration{} 629 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[2] 630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 631 ms.StoreMessageInfo(mi) 632 } 633 634 func (x *FunctionDeclaration) String() string { 635 return protoimpl.X.MessageStringOf(x) 636 } 637 638 func (*FunctionDeclaration) ProtoMessage() {} 639 640 func (x *FunctionDeclaration) ProtoReflect() protoreflect.Message { 641 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[2] 642 if x != nil { 643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 644 if ms.LoadMessageInfo() == nil { 645 ms.StoreMessageInfo(mi) 646 } 647 return ms 648 } 649 return mi.MessageOf(x) 650 } 651 652 // Deprecated: Use FunctionDeclaration.ProtoReflect.Descriptor instead. 653 func (*FunctionDeclaration) Descriptor() ([]byte, []int) { 654 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{2} 655 } 656 657 func (x *FunctionDeclaration) GetName() string { 658 if x != nil { 659 return x.Name 660 } 661 return "" 662 } 663 664 func (x *FunctionDeclaration) GetDescription() string { 665 if x != nil { 666 return x.Description 667 } 668 return "" 669 } 670 671 func (x *FunctionDeclaration) GetParameters() *Schema { 672 if x != nil { 673 return x.Parameters 674 } 675 return nil 676 } 677 678 func (x *FunctionDeclaration) GetParametersJsonSchema() *structpb.Value { 679 if x != nil { 680 return x.ParametersJsonSchema 681 } 682 return nil 683 } 684 685 func (x *FunctionDeclaration) GetResponse() *Schema { 686 if x != nil { 687 return x.Response 688 } 689 return nil 690 } 691 692 func (x *FunctionDeclaration) GetResponseJsonSchema() *structpb.Value { 693 if x != nil { 694 return x.ResponseJsonSchema 695 } 696 return nil 697 } 698 699 // A predicted [FunctionCall] returned from the model that contains a string 700 // representing the [FunctionDeclaration.name] and a structured JSON object 701 // containing the parameters and their values. 702 type FunctionCall struct { 703 state protoimpl.MessageState 704 sizeCache protoimpl.SizeCache 705 unknownFields protoimpl.UnknownFields 706 707 // Required. The name of the function to call. 708 // Matches [FunctionDeclaration.name]. 709 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 710 // Optional. Required. The function parameters and values in JSON object 711 // format. See [FunctionDeclaration.parameters] for parameter details. 712 Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` 713 } 714 715 func (x *FunctionCall) Reset() { 716 *x = FunctionCall{} 717 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[3] 718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 719 ms.StoreMessageInfo(mi) 720 } 721 722 func (x *FunctionCall) String() string { 723 return protoimpl.X.MessageStringOf(x) 724 } 725 726 func (*FunctionCall) ProtoMessage() {} 727 728 func (x *FunctionCall) ProtoReflect() protoreflect.Message { 729 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[3] 730 if x != nil { 731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 732 if ms.LoadMessageInfo() == nil { 733 ms.StoreMessageInfo(mi) 734 } 735 return ms 736 } 737 return mi.MessageOf(x) 738 } 739 740 // Deprecated: Use FunctionCall.ProtoReflect.Descriptor instead. 741 func (*FunctionCall) Descriptor() ([]byte, []int) { 742 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{3} 743 } 744 745 func (x *FunctionCall) GetName() string { 746 if x != nil { 747 return x.Name 748 } 749 return "" 750 } 751 752 func (x *FunctionCall) GetArgs() *structpb.Struct { 753 if x != nil { 754 return x.Args 755 } 756 return nil 757 } 758 759 // The result output from a [FunctionCall] that contains a string representing 760 // the [FunctionDeclaration.name] and a structured JSON object containing any 761 // output from the function is used as context to the model. This should contain 762 // the result of a [FunctionCall] made based on model prediction. 763 type FunctionResponse struct { 764 state protoimpl.MessageState 765 sizeCache protoimpl.SizeCache 766 unknownFields protoimpl.UnknownFields 767 768 // Required. The name of the function to call. 769 // Matches [FunctionDeclaration.name] and [FunctionCall.name]. 770 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 771 // Required. The function response in JSON object format. 772 // Use "output" key to specify function output and "error" key to specify 773 // error details (if any). If "output" and "error" keys are not specified, 774 // then whole "response" is treated as function output. 775 Response *structpb.Struct `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` 776 } 777 778 func (x *FunctionResponse) Reset() { 779 *x = FunctionResponse{} 780 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[4] 781 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 782 ms.StoreMessageInfo(mi) 783 } 784 785 func (x *FunctionResponse) String() string { 786 return protoimpl.X.MessageStringOf(x) 787 } 788 789 func (*FunctionResponse) ProtoMessage() {} 790 791 func (x *FunctionResponse) ProtoReflect() protoreflect.Message { 792 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[4] 793 if x != nil { 794 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 795 if ms.LoadMessageInfo() == nil { 796 ms.StoreMessageInfo(mi) 797 } 798 return ms 799 } 800 return mi.MessageOf(x) 801 } 802 803 // Deprecated: Use FunctionResponse.ProtoReflect.Descriptor instead. 804 func (*FunctionResponse) Descriptor() ([]byte, []int) { 805 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{4} 806 } 807 808 func (x *FunctionResponse) GetName() string { 809 if x != nil { 810 return x.Name 811 } 812 return "" 813 } 814 815 func (x *FunctionResponse) GetResponse() *structpb.Struct { 816 if x != nil { 817 return x.Response 818 } 819 return nil 820 } 821 822 // Code generated by the model that is meant to be executed, and the result 823 // returned to the model. 824 // 825 // Generated when using the [FunctionDeclaration] tool and 826 // [FunctionCallingConfig] mode is set to [Mode.CODE]. 827 type ExecutableCode struct { 828 state protoimpl.MessageState 829 sizeCache protoimpl.SizeCache 830 unknownFields protoimpl.UnknownFields 831 832 // Required. Programming language of the `code`. 833 Language ExecutableCode_Language `protobuf:"varint,1,opt,name=language,proto3,enum=google.cloud.aiplatform.v1.ExecutableCode_Language" json:"language,omitempty"` 834 // Required. The code to be executed. 835 Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` 836 } 837 838 func (x *ExecutableCode) Reset() { 839 *x = ExecutableCode{} 840 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5] 841 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 842 ms.StoreMessageInfo(mi) 843 } 844 845 func (x *ExecutableCode) String() string { 846 return protoimpl.X.MessageStringOf(x) 847 } 848 849 func (*ExecutableCode) ProtoMessage() {} 850 851 func (x *ExecutableCode) ProtoReflect() protoreflect.Message { 852 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[5] 853 if x != nil { 854 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 855 if ms.LoadMessageInfo() == nil { 856 ms.StoreMessageInfo(mi) 857 } 858 return ms 859 } 860 return mi.MessageOf(x) 861 } 862 863 // Deprecated: Use ExecutableCode.ProtoReflect.Descriptor instead. 864 func (*ExecutableCode) Descriptor() ([]byte, []int) { 865 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{5} 866 } 867 868 func (x *ExecutableCode) GetLanguage() ExecutableCode_Language { 869 if x != nil { 870 return x.Language 871 } 872 return ExecutableCode_LANGUAGE_UNSPECIFIED 873 } 874 875 func (x *ExecutableCode) GetCode() string { 876 if x != nil { 877 return x.Code 878 } 879 return "" 880 } 881 882 // Result of executing the [ExecutableCode]. 883 // 884 // Always follows a `part` containing the [ExecutableCode]. 885 type CodeExecutionResult struct { 886 state protoimpl.MessageState 887 sizeCache protoimpl.SizeCache 888 unknownFields protoimpl.UnknownFields 889 890 // Required. Outcome of the code execution. 891 Outcome CodeExecutionResult_Outcome `protobuf:"varint,1,opt,name=outcome,proto3,enum=google.cloud.aiplatform.v1.CodeExecutionResult_Outcome" json:"outcome,omitempty"` 892 // Optional. Contains stdout when code execution is successful, stderr or 893 // other description otherwise. 894 Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` 895 } 896 897 func (x *CodeExecutionResult) Reset() { 898 *x = CodeExecutionResult{} 899 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] 900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 901 ms.StoreMessageInfo(mi) 902 } 903 904 func (x *CodeExecutionResult) String() string { 905 return protoimpl.X.MessageStringOf(x) 906 } 907 908 func (*CodeExecutionResult) ProtoMessage() {} 909 910 func (x *CodeExecutionResult) ProtoReflect() protoreflect.Message { 911 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[6] 912 if x != nil { 913 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 914 if ms.LoadMessageInfo() == nil { 915 ms.StoreMessageInfo(mi) 916 } 917 return ms 918 } 919 return mi.MessageOf(x) 920 } 921 922 // Deprecated: Use CodeExecutionResult.ProtoReflect.Descriptor instead. 923 func (*CodeExecutionResult) Descriptor() ([]byte, []int) { 924 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{6} 925 } 926 927 func (x *CodeExecutionResult) GetOutcome() CodeExecutionResult_Outcome { 928 if x != nil { 929 return x.Outcome 930 } 931 return CodeExecutionResult_OUTCOME_UNSPECIFIED 932 } 933 934 func (x *CodeExecutionResult) GetOutput() string { 935 if x != nil { 936 return x.Output 937 } 938 return "" 939 } 940 941 // Defines a retrieval tool that model can call to access external knowledge. 942 type Retrieval struct { 943 state protoimpl.MessageState 944 sizeCache protoimpl.SizeCache 945 unknownFields protoimpl.UnknownFields 946 947 // The source of the retrieval. 948 // 949 // Types that are assignable to Source: 950 // 951 // *Retrieval_VertexAiSearch 952 // *Retrieval_VertexRagStore 953 Source isRetrieval_Source `protobuf_oneof:"source"` 954 // Optional. Deprecated. This option is no longer supported. 955 // 956 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 957 DisableAttribution bool `protobuf:"varint,3,opt,name=disable_attribution,json=disableAttribution,proto3" json:"disable_attribution,omitempty"` 958 } 959 960 func (x *Retrieval) Reset() { 961 *x = Retrieval{} 962 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] 963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 964 ms.StoreMessageInfo(mi) 965 } 966 967 func (x *Retrieval) String() string { 968 return protoimpl.X.MessageStringOf(x) 969 } 970 971 func (*Retrieval) ProtoMessage() {} 972 973 func (x *Retrieval) ProtoReflect() protoreflect.Message { 974 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7] 975 if x != nil { 976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 977 if ms.LoadMessageInfo() == nil { 978 ms.StoreMessageInfo(mi) 979 } 980 return ms 981 } 982 return mi.MessageOf(x) 983 } 984 985 // Deprecated: Use Retrieval.ProtoReflect.Descriptor instead. 986 func (*Retrieval) Descriptor() ([]byte, []int) { 987 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{7} 988 } 989 990 func (m *Retrieval) GetSource() isRetrieval_Source { 991 if m != nil { 992 return m.Source 993 } 994 return nil 995 } 996 997 func (x *Retrieval) GetVertexAiSearch() *VertexAISearch { 998 if x, ok := x.GetSource().(*Retrieval_VertexAiSearch); ok { 999 return x.VertexAiSearch 1000 } 1001 return nil 1002 } 1003 1004 func (x *Retrieval) GetVertexRagStore() *VertexRagStore { 1005 if x, ok := x.GetSource().(*Retrieval_VertexRagStore); ok { 1006 return x.VertexRagStore 1007 } 1008 return nil 1009 } 1010 1011 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 1012 func (x *Retrieval) GetDisableAttribution() bool { 1013 if x != nil { 1014 return x.DisableAttribution 1015 } 1016 return false 1017 } 1018 1019 type isRetrieval_Source interface { 1020 isRetrieval_Source() 1021 } 1022 1023 type Retrieval_VertexAiSearch struct { 1024 // Set to use data source powered by Vertex AI Search. 1025 VertexAiSearch *VertexAISearch `protobuf:"bytes,2,opt,name=vertex_ai_search,json=vertexAiSearch,proto3,oneof"` 1026 } 1027 1028 type Retrieval_VertexRagStore struct { 1029 // Set to use data source powered by Vertex RAG store. 1030 // User data is uploaded via the VertexRagDataService. 1031 VertexRagStore *VertexRagStore `protobuf:"bytes,4,opt,name=vertex_rag_store,json=vertexRagStore,proto3,oneof"` 1032 } 1033 1034 func (*Retrieval_VertexAiSearch) isRetrieval_Source() {} 1035 1036 func (*Retrieval_VertexRagStore) isRetrieval_Source() {} 1037 1038 // Retrieve from Vertex RAG Store for grounding. 1039 type VertexRagStore struct { 1040 state protoimpl.MessageState 1041 sizeCache protoimpl.SizeCache 1042 unknownFields protoimpl.UnknownFields 1043 1044 // Optional. The representation of the rag source. It can be used to specify 1045 // corpus only or ragfiles. Currently only support one corpus or multiple 1046 // files from one corpus. In the future we may open up multiple corpora 1047 // support. 1048 RagResources []*VertexRagStore_RagResource `protobuf:"bytes,4,rep,name=rag_resources,json=ragResources,proto3" json:"rag_resources,omitempty"` 1049 // Optional. Number of top k results to return from the selected corpora. 1050 // 1051 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 1052 SimilarityTopK *int32 `protobuf:"varint,2,opt,name=similarity_top_k,json=similarityTopK,proto3,oneof" json:"similarity_top_k,omitempty"` 1053 // Optional. Only return results with vector distance smaller than the 1054 // threshold. 1055 // 1056 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 1057 VectorDistanceThreshold *float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof" json:"vector_distance_threshold,omitempty"` 1058 // Optional. The retrieval config for the Rag query. 1059 RagRetrievalConfig *RagRetrievalConfig `protobuf:"bytes,6,opt,name=rag_retrieval_config,json=ragRetrievalConfig,proto3" json:"rag_retrieval_config,omitempty"` 1060 } 1061 1062 func (x *VertexRagStore) Reset() { 1063 *x = VertexRagStore{} 1064 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] 1065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1066 ms.StoreMessageInfo(mi) 1067 } 1068 1069 func (x *VertexRagStore) String() string { 1070 return protoimpl.X.MessageStringOf(x) 1071 } 1072 1073 func (*VertexRagStore) ProtoMessage() {} 1074 1075 func (x *VertexRagStore) ProtoReflect() protoreflect.Message { 1076 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8] 1077 if x != nil { 1078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1079 if ms.LoadMessageInfo() == nil { 1080 ms.StoreMessageInfo(mi) 1081 } 1082 return ms 1083 } 1084 return mi.MessageOf(x) 1085 } 1086 1087 // Deprecated: Use VertexRagStore.ProtoReflect.Descriptor instead. 1088 func (*VertexRagStore) Descriptor() ([]byte, []int) { 1089 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{8} 1090 } 1091 1092 func (x *VertexRagStore) GetRagResources() []*VertexRagStore_RagResource { 1093 if x != nil { 1094 return x.RagResources 1095 } 1096 return nil 1097 } 1098 1099 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 1100 func (x *VertexRagStore) GetSimilarityTopK() int32 { 1101 if x != nil && x.SimilarityTopK != nil { 1102 return *x.SimilarityTopK 1103 } 1104 return 0 1105 } 1106 1107 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/tool.proto. 1108 func (x *VertexRagStore) GetVectorDistanceThreshold() float64 { 1109 if x != nil && x.VectorDistanceThreshold != nil { 1110 return *x.VectorDistanceThreshold 1111 } 1112 return 0 1113 } 1114 1115 func (x *VertexRagStore) GetRagRetrievalConfig() *RagRetrievalConfig { 1116 if x != nil { 1117 return x.RagRetrievalConfig 1118 } 1119 return nil 1120 } 1121 1122 // Retrieve from Vertex AI Search datastore or engine for grounding. 1123 // datastore and engine are mutually exclusive. 1124 // See https://cloud.google.com/products/agent-builder 1125 type VertexAISearch struct { 1126 state protoimpl.MessageState 1127 sizeCache protoimpl.SizeCache 1128 unknownFields protoimpl.UnknownFields 1129 1130 // Optional. Fully-qualified Vertex AI Search data store resource ID. 1131 // Format: 1132 // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` 1133 Datastore string `protobuf:"bytes,1,opt,name=datastore,proto3" json:"datastore,omitempty"` 1134 // Optional. Fully-qualified Vertex AI Search engine resource ID. 1135 // Format: 1136 // `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` 1137 Engine string `protobuf:"bytes,2,opt,name=engine,proto3" json:"engine,omitempty"` 1138 // Optional. Number of search results to return per query. 1139 // The default value is 10. 1140 // The maximumm allowed value is 10. 1141 MaxResults int32 `protobuf:"varint,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` 1142 // Optional. Filter strings to be passed to the search API. 1143 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 1144 // Specifications that define the specific DataStores to be searched, along 1145 // with configurations for those data stores. This is only considered for 1146 // Engines with multiple data stores. 1147 // It should only be set if engine is used. 1148 DataStoreSpecs []*VertexAISearch_DataStoreSpec `protobuf:"bytes,5,rep,name=data_store_specs,json=dataStoreSpecs,proto3" json:"data_store_specs,omitempty"` 1149 } 1150 1151 func (x *VertexAISearch) Reset() { 1152 *x = VertexAISearch{} 1153 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] 1154 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1155 ms.StoreMessageInfo(mi) 1156 } 1157 1158 func (x *VertexAISearch) String() string { 1159 return protoimpl.X.MessageStringOf(x) 1160 } 1161 1162 func (*VertexAISearch) ProtoMessage() {} 1163 1164 func (x *VertexAISearch) ProtoReflect() protoreflect.Message { 1165 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[9] 1166 if x != nil { 1167 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1168 if ms.LoadMessageInfo() == nil { 1169 ms.StoreMessageInfo(mi) 1170 } 1171 return ms 1172 } 1173 return mi.MessageOf(x) 1174 } 1175 1176 // Deprecated: Use VertexAISearch.ProtoReflect.Descriptor instead. 1177 func (*VertexAISearch) Descriptor() ([]byte, []int) { 1178 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{9} 1179 } 1180 1181 func (x *VertexAISearch) GetDatastore() string { 1182 if x != nil { 1183 return x.Datastore 1184 } 1185 return "" 1186 } 1187 1188 func (x *VertexAISearch) GetEngine() string { 1189 if x != nil { 1190 return x.Engine 1191 } 1192 return "" 1193 } 1194 1195 func (x *VertexAISearch) GetMaxResults() int32 { 1196 if x != nil { 1197 return x.MaxResults 1198 } 1199 return 0 1200 } 1201 1202 func (x *VertexAISearch) GetFilter() string { 1203 if x != nil { 1204 return x.Filter 1205 } 1206 return "" 1207 } 1208 1209 func (x *VertexAISearch) GetDataStoreSpecs() []*VertexAISearch_DataStoreSpec { 1210 if x != nil { 1211 return x.DataStoreSpecs 1212 } 1213 return nil 1214 } 1215 1216 // Tool to retrieve public web data for grounding, powered by Google. 1217 type GoogleSearchRetrieval struct { 1218 state protoimpl.MessageState 1219 sizeCache protoimpl.SizeCache 1220 unknownFields protoimpl.UnknownFields 1221 1222 // Specifies the dynamic retrieval configuration for the given source. 1223 DynamicRetrievalConfig *DynamicRetrievalConfig `protobuf:"bytes,2,opt,name=dynamic_retrieval_config,json=dynamicRetrievalConfig,proto3" json:"dynamic_retrieval_config,omitempty"` 1224 } 1225 1226 func (x *GoogleSearchRetrieval) Reset() { 1227 *x = GoogleSearchRetrieval{} 1228 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[10] 1229 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1230 ms.StoreMessageInfo(mi) 1231 } 1232 1233 func (x *GoogleSearchRetrieval) String() string { 1234 return protoimpl.X.MessageStringOf(x) 1235 } 1236 1237 func (*GoogleSearchRetrieval) ProtoMessage() {} 1238 1239 func (x *GoogleSearchRetrieval) ProtoReflect() protoreflect.Message { 1240 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[10] 1241 if x != nil { 1242 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1243 if ms.LoadMessageInfo() == nil { 1244 ms.StoreMessageInfo(mi) 1245 } 1246 return ms 1247 } 1248 return mi.MessageOf(x) 1249 } 1250 1251 // Deprecated: Use GoogleSearchRetrieval.ProtoReflect.Descriptor instead. 1252 func (*GoogleSearchRetrieval) Descriptor() ([]byte, []int) { 1253 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{10} 1254 } 1255 1256 func (x *GoogleSearchRetrieval) GetDynamicRetrievalConfig() *DynamicRetrievalConfig { 1257 if x != nil { 1258 return x.DynamicRetrievalConfig 1259 } 1260 return nil 1261 } 1262 1263 // Tool to retrieve public maps data for grounding, powered by Google. 1264 type GoogleMaps struct { 1265 state protoimpl.MessageState 1266 sizeCache protoimpl.SizeCache 1267 unknownFields protoimpl.UnknownFields 1268 1269 // If true, include the widget context token in the response. 1270 EnableWidget bool `protobuf:"varint,1,opt,name=enable_widget,json=enableWidget,proto3" json:"enable_widget,omitempty"` 1271 } 1272 1273 func (x *GoogleMaps) Reset() { 1274 *x = GoogleMaps{} 1275 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[11] 1276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1277 ms.StoreMessageInfo(mi) 1278 } 1279 1280 func (x *GoogleMaps) String() string { 1281 return protoimpl.X.MessageStringOf(x) 1282 } 1283 1284 func (*GoogleMaps) ProtoMessage() {} 1285 1286 func (x *GoogleMaps) ProtoReflect() protoreflect.Message { 1287 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[11] 1288 if x != nil { 1289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1290 if ms.LoadMessageInfo() == nil { 1291 ms.StoreMessageInfo(mi) 1292 } 1293 return ms 1294 } 1295 return mi.MessageOf(x) 1296 } 1297 1298 // Deprecated: Use GoogleMaps.ProtoReflect.Descriptor instead. 1299 func (*GoogleMaps) Descriptor() ([]byte, []int) { 1300 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{11} 1301 } 1302 1303 func (x *GoogleMaps) GetEnableWidget() bool { 1304 if x != nil { 1305 return x.EnableWidget 1306 } 1307 return false 1308 } 1309 1310 // Tool to search public web data, powered by Vertex AI Search and Sec4 1311 // compliance. 1312 type EnterpriseWebSearch struct { 1313 state protoimpl.MessageState 1314 sizeCache protoimpl.SizeCache 1315 unknownFields protoimpl.UnknownFields 1316 1317 // Optional. List of domains to be excluded from the search results. 1318 // The default limit is 2000 domains. 1319 ExcludeDomains []string `protobuf:"bytes,1,rep,name=exclude_domains,json=excludeDomains,proto3" json:"exclude_domains,omitempty"` 1320 // Optional. Sites with confidence level chosen & above this value will be 1321 // blocked from the search results. 1322 BlockingConfidence *Tool_PhishBlockThreshold `protobuf:"varint,2,opt,name=blocking_confidence,json=blockingConfidence,proto3,enum=google.cloud.aiplatform.v1.Tool_PhishBlockThreshold,oneof" json:"blocking_confidence,omitempty"` 1323 } 1324 1325 func (x *EnterpriseWebSearch) Reset() { 1326 *x = EnterpriseWebSearch{} 1327 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[12] 1328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1329 ms.StoreMessageInfo(mi) 1330 } 1331 1332 func (x *EnterpriseWebSearch) String() string { 1333 return protoimpl.X.MessageStringOf(x) 1334 } 1335 1336 func (*EnterpriseWebSearch) ProtoMessage() {} 1337 1338 func (x *EnterpriseWebSearch) ProtoReflect() protoreflect.Message { 1339 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[12] 1340 if x != nil { 1341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1342 if ms.LoadMessageInfo() == nil { 1343 ms.StoreMessageInfo(mi) 1344 } 1345 return ms 1346 } 1347 return mi.MessageOf(x) 1348 } 1349 1350 // Deprecated: Use EnterpriseWebSearch.ProtoReflect.Descriptor instead. 1351 func (*EnterpriseWebSearch) Descriptor() ([]byte, []int) { 1352 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{12} 1353 } 1354 1355 func (x *EnterpriseWebSearch) GetExcludeDomains() []string { 1356 if x != nil { 1357 return x.ExcludeDomains 1358 } 1359 return nil 1360 } 1361 1362 func (x *EnterpriseWebSearch) GetBlockingConfidence() Tool_PhishBlockThreshold { 1363 if x != nil && x.BlockingConfidence != nil { 1364 return *x.BlockingConfidence 1365 } 1366 return Tool_PHISH_BLOCK_THRESHOLD_UNSPECIFIED 1367 } 1368 1369 // Describes the options to customize dynamic retrieval. 1370 type DynamicRetrievalConfig struct { 1371 state protoimpl.MessageState 1372 sizeCache protoimpl.SizeCache 1373 unknownFields protoimpl.UnknownFields 1374 1375 // The mode of the predictor to be used in dynamic retrieval. 1376 Mode DynamicRetrievalConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.cloud.aiplatform.v1.DynamicRetrievalConfig_Mode" json:"mode,omitempty"` 1377 // Optional. The threshold to be used in dynamic retrieval. 1378 // If not set, a system default value is used. 1379 DynamicThreshold *float32 `protobuf:"fixed32,2,opt,name=dynamic_threshold,json=dynamicThreshold,proto3,oneof" json:"dynamic_threshold,omitempty"` 1380 } 1381 1382 func (x *DynamicRetrievalConfig) Reset() { 1383 *x = DynamicRetrievalConfig{} 1384 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13] 1385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1386 ms.StoreMessageInfo(mi) 1387 } 1388 1389 func (x *DynamicRetrievalConfig) String() string { 1390 return protoimpl.X.MessageStringOf(x) 1391 } 1392 1393 func (*DynamicRetrievalConfig) ProtoMessage() {} 1394 1395 func (x *DynamicRetrievalConfig) ProtoReflect() protoreflect.Message { 1396 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13] 1397 if x != nil { 1398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1399 if ms.LoadMessageInfo() == nil { 1400 ms.StoreMessageInfo(mi) 1401 } 1402 return ms 1403 } 1404 return mi.MessageOf(x) 1405 } 1406 1407 // Deprecated: Use DynamicRetrievalConfig.ProtoReflect.Descriptor instead. 1408 func (*DynamicRetrievalConfig) Descriptor() ([]byte, []int) { 1409 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{13} 1410 } 1411 1412 func (x *DynamicRetrievalConfig) GetMode() DynamicRetrievalConfig_Mode { 1413 if x != nil { 1414 return x.Mode 1415 } 1416 return DynamicRetrievalConfig_MODE_UNSPECIFIED 1417 } 1418 1419 func (x *DynamicRetrievalConfig) GetDynamicThreshold() float32 { 1420 if x != nil && x.DynamicThreshold != nil { 1421 return *x.DynamicThreshold 1422 } 1423 return 0 1424 } 1425 1426 // Tool config. This config is shared for all tools provided in the request. 1427 type ToolConfig struct { 1428 state protoimpl.MessageState 1429 sizeCache protoimpl.SizeCache 1430 unknownFields protoimpl.UnknownFields 1431 1432 // Optional. Function calling config. 1433 FunctionCallingConfig *FunctionCallingConfig `protobuf:"bytes,1,opt,name=function_calling_config,json=functionCallingConfig,proto3" json:"function_calling_config,omitempty"` 1434 // Optional. Retrieval config. 1435 RetrievalConfig *RetrievalConfig `protobuf:"bytes,2,opt,name=retrieval_config,json=retrievalConfig,proto3" json:"retrieval_config,omitempty"` 1436 } 1437 1438 func (x *ToolConfig) Reset() { 1439 *x = ToolConfig{} 1440 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[14] 1441 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1442 ms.StoreMessageInfo(mi) 1443 } 1444 1445 func (x *ToolConfig) String() string { 1446 return protoimpl.X.MessageStringOf(x) 1447 } 1448 1449 func (*ToolConfig) ProtoMessage() {} 1450 1451 func (x *ToolConfig) ProtoReflect() protoreflect.Message { 1452 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[14] 1453 if x != nil { 1454 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1455 if ms.LoadMessageInfo() == nil { 1456 ms.StoreMessageInfo(mi) 1457 } 1458 return ms 1459 } 1460 return mi.MessageOf(x) 1461 } 1462 1463 // Deprecated: Use ToolConfig.ProtoReflect.Descriptor instead. 1464 func (*ToolConfig) Descriptor() ([]byte, []int) { 1465 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{14} 1466 } 1467 1468 func (x *ToolConfig) GetFunctionCallingConfig() *FunctionCallingConfig { 1469 if x != nil { 1470 return x.FunctionCallingConfig 1471 } 1472 return nil 1473 } 1474 1475 func (x *ToolConfig) GetRetrievalConfig() *RetrievalConfig { 1476 if x != nil { 1477 return x.RetrievalConfig 1478 } 1479 return nil 1480 } 1481 1482 // Function calling config. 1483 type FunctionCallingConfig struct { 1484 state protoimpl.MessageState 1485 sizeCache protoimpl.SizeCache 1486 unknownFields protoimpl.UnknownFields 1487 1488 // Optional. Function calling mode. 1489 Mode FunctionCallingConfig_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=google.cloud.aiplatform.v1.FunctionCallingConfig_Mode" json:"mode,omitempty"` 1490 // Optional. Function names to call. Only set when the Mode is ANY. Function 1491 // names should match [FunctionDeclaration.name]. With mode set to ANY, model 1492 // will predict a function call from the set of function names provided. 1493 AllowedFunctionNames []string `protobuf:"bytes,2,rep,name=allowed_function_names,json=allowedFunctionNames,proto3" json:"allowed_function_names,omitempty"` 1494 } 1495 1496 func (x *FunctionCallingConfig) Reset() { 1497 *x = FunctionCallingConfig{} 1498 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[15] 1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1500 ms.StoreMessageInfo(mi) 1501 } 1502 1503 func (x *FunctionCallingConfig) String() string { 1504 return protoimpl.X.MessageStringOf(x) 1505 } 1506 1507 func (*FunctionCallingConfig) ProtoMessage() {} 1508 1509 func (x *FunctionCallingConfig) ProtoReflect() protoreflect.Message { 1510 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[15] 1511 if x != nil { 1512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1513 if ms.LoadMessageInfo() == nil { 1514 ms.StoreMessageInfo(mi) 1515 } 1516 return ms 1517 } 1518 return mi.MessageOf(x) 1519 } 1520 1521 // Deprecated: Use FunctionCallingConfig.ProtoReflect.Descriptor instead. 1522 func (*FunctionCallingConfig) Descriptor() ([]byte, []int) { 1523 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{15} 1524 } 1525 1526 func (x *FunctionCallingConfig) GetMode() FunctionCallingConfig_Mode { 1527 if x != nil { 1528 return x.Mode 1529 } 1530 return FunctionCallingConfig_MODE_UNSPECIFIED 1531 } 1532 1533 func (x *FunctionCallingConfig) GetAllowedFunctionNames() []string { 1534 if x != nil { 1535 return x.AllowedFunctionNames 1536 } 1537 return nil 1538 } 1539 1540 // Retrieval config. 1541 type RetrievalConfig struct { 1542 state protoimpl.MessageState 1543 sizeCache protoimpl.SizeCache 1544 unknownFields protoimpl.UnknownFields 1545 1546 // The location of the user. 1547 LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3,oneof" json:"lat_lng,omitempty"` 1548 // The language code of the user. 1549 LanguageCode *string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3,oneof" json:"language_code,omitempty"` 1550 } 1551 1552 func (x *RetrievalConfig) Reset() { 1553 *x = RetrievalConfig{} 1554 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[16] 1555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1556 ms.StoreMessageInfo(mi) 1557 } 1558 1559 func (x *RetrievalConfig) String() string { 1560 return protoimpl.X.MessageStringOf(x) 1561 } 1562 1563 func (*RetrievalConfig) ProtoMessage() {} 1564 1565 func (x *RetrievalConfig) ProtoReflect() protoreflect.Message { 1566 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[16] 1567 if x != nil { 1568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1569 if ms.LoadMessageInfo() == nil { 1570 ms.StoreMessageInfo(mi) 1571 } 1572 return ms 1573 } 1574 return mi.MessageOf(x) 1575 } 1576 1577 // Deprecated: Use RetrievalConfig.ProtoReflect.Descriptor instead. 1578 func (*RetrievalConfig) Descriptor() ([]byte, []int) { 1579 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{16} 1580 } 1581 1582 func (x *RetrievalConfig) GetLatLng() *latlng.LatLng { 1583 if x != nil { 1584 return x.LatLng 1585 } 1586 return nil 1587 } 1588 1589 func (x *RetrievalConfig) GetLanguageCode() string { 1590 if x != nil && x.LanguageCode != nil { 1591 return *x.LanguageCode 1592 } 1593 return "" 1594 } 1595 1596 // Specifies the context retrieval config. 1597 type RagRetrievalConfig struct { 1598 state protoimpl.MessageState 1599 sizeCache protoimpl.SizeCache 1600 unknownFields protoimpl.UnknownFields 1601 1602 // Optional. The number of contexts to retrieve. 1603 TopK int32 `protobuf:"varint,1,opt,name=top_k,json=topK,proto3" json:"top_k,omitempty"` 1604 // Optional. Config for filters. 1605 Filter *RagRetrievalConfig_Filter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` 1606 // Optional. Config for ranking and reranking. 1607 Ranking *RagRetrievalConfig_Ranking `protobuf:"bytes,4,opt,name=ranking,proto3" json:"ranking,omitempty"` 1608 } 1609 1610 func (x *RagRetrievalConfig) Reset() { 1611 *x = RagRetrievalConfig{} 1612 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[17] 1613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1614 ms.StoreMessageInfo(mi) 1615 } 1616 1617 func (x *RagRetrievalConfig) String() string { 1618 return protoimpl.X.MessageStringOf(x) 1619 } 1620 1621 func (*RagRetrievalConfig) ProtoMessage() {} 1622 1623 func (x *RagRetrievalConfig) ProtoReflect() protoreflect.Message { 1624 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[17] 1625 if x != nil { 1626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1627 if ms.LoadMessageInfo() == nil { 1628 ms.StoreMessageInfo(mi) 1629 } 1630 return ms 1631 } 1632 return mi.MessageOf(x) 1633 } 1634 1635 // Deprecated: Use RagRetrievalConfig.ProtoReflect.Descriptor instead. 1636 func (*RagRetrievalConfig) Descriptor() ([]byte, []int) { 1637 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{17} 1638 } 1639 1640 func (x *RagRetrievalConfig) GetTopK() int32 { 1641 if x != nil { 1642 return x.TopK 1643 } 1644 return 0 1645 } 1646 1647 func (x *RagRetrievalConfig) GetFilter() *RagRetrievalConfig_Filter { 1648 if x != nil { 1649 return x.Filter 1650 } 1651 return nil 1652 } 1653 1654 func (x *RagRetrievalConfig) GetRanking() *RagRetrievalConfig_Ranking { 1655 if x != nil { 1656 return x.Ranking 1657 } 1658 return nil 1659 } 1660 1661 // GoogleSearch tool type. 1662 // Tool to support Google Search in Model. Powered by Google. 1663 type Tool_GoogleSearch struct { 1664 state protoimpl.MessageState 1665 sizeCache protoimpl.SizeCache 1666 unknownFields protoimpl.UnknownFields 1667 1668 // Optional. List of domains to be excluded from the search results. 1669 // The default limit is 2000 domains. 1670 // Example: ["amazon.com", "facebook.com"]. 1671 ExcludeDomains []string `protobuf:"bytes,3,rep,name=exclude_domains,json=excludeDomains,proto3" json:"exclude_domains,omitempty"` 1672 // Optional. Sites with confidence level chosen & above this value will be 1673 // blocked from the search results. 1674 BlockingConfidence *Tool_PhishBlockThreshold `protobuf:"varint,4,opt,name=blocking_confidence,json=blockingConfidence,proto3,enum=google.cloud.aiplatform.v1.Tool_PhishBlockThreshold,oneof" json:"blocking_confidence,omitempty"` 1675 } 1676 1677 func (x *Tool_GoogleSearch) Reset() { 1678 *x = Tool_GoogleSearch{} 1679 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[18] 1680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1681 ms.StoreMessageInfo(mi) 1682 } 1683 1684 func (x *Tool_GoogleSearch) String() string { 1685 return protoimpl.X.MessageStringOf(x) 1686 } 1687 1688 func (*Tool_GoogleSearch) ProtoMessage() {} 1689 1690 func (x *Tool_GoogleSearch) ProtoReflect() protoreflect.Message { 1691 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[18] 1692 if x != nil { 1693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1694 if ms.LoadMessageInfo() == nil { 1695 ms.StoreMessageInfo(mi) 1696 } 1697 return ms 1698 } 1699 return mi.MessageOf(x) 1700 } 1701 1702 // Deprecated: Use Tool_GoogleSearch.ProtoReflect.Descriptor instead. 1703 func (*Tool_GoogleSearch) Descriptor() ([]byte, []int) { 1704 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{0, 0} 1705 } 1706 1707 func (x *Tool_GoogleSearch) GetExcludeDomains() []string { 1708 if x != nil { 1709 return x.ExcludeDomains 1710 } 1711 return nil 1712 } 1713 1714 func (x *Tool_GoogleSearch) GetBlockingConfidence() Tool_PhishBlockThreshold { 1715 if x != nil && x.BlockingConfidence != nil { 1716 return *x.BlockingConfidence 1717 } 1718 return Tool_PHISH_BLOCK_THRESHOLD_UNSPECIFIED 1719 } 1720 1721 // Tool that executes code generated by the model, and automatically returns 1722 // the result to the model. 1723 // 1724 // See also [ExecutableCode]and [CodeExecutionResult] which are input and 1725 // output to this tool. 1726 type Tool_CodeExecution struct { 1727 state protoimpl.MessageState 1728 sizeCache protoimpl.SizeCache 1729 unknownFields protoimpl.UnknownFields 1730 } 1731 1732 func (x *Tool_CodeExecution) Reset() { 1733 *x = Tool_CodeExecution{} 1734 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[19] 1735 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1736 ms.StoreMessageInfo(mi) 1737 } 1738 1739 func (x *Tool_CodeExecution) String() string { 1740 return protoimpl.X.MessageStringOf(x) 1741 } 1742 1743 func (*Tool_CodeExecution) ProtoMessage() {} 1744 1745 func (x *Tool_CodeExecution) ProtoReflect() protoreflect.Message { 1746 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[19] 1747 if x != nil { 1748 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1749 if ms.LoadMessageInfo() == nil { 1750 ms.StoreMessageInfo(mi) 1751 } 1752 return ms 1753 } 1754 return mi.MessageOf(x) 1755 } 1756 1757 // Deprecated: Use Tool_CodeExecution.ProtoReflect.Descriptor instead. 1758 func (*Tool_CodeExecution) Descriptor() ([]byte, []int) { 1759 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{0, 1} 1760 } 1761 1762 // Tool to support computer use. 1763 type Tool_ComputerUse struct { 1764 state protoimpl.MessageState 1765 sizeCache protoimpl.SizeCache 1766 unknownFields protoimpl.UnknownFields 1767 1768 // Required. The environment being operated. 1769 Environment Tool_ComputerUse_Environment `protobuf:"varint,1,opt,name=environment,proto3,enum=google.cloud.aiplatform.v1.Tool_ComputerUse_Environment" json:"environment,omitempty"` 1770 } 1771 1772 func (x *Tool_ComputerUse) Reset() { 1773 *x = Tool_ComputerUse{} 1774 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[20] 1775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1776 ms.StoreMessageInfo(mi) 1777 } 1778 1779 func (x *Tool_ComputerUse) String() string { 1780 return protoimpl.X.MessageStringOf(x) 1781 } 1782 1783 func (*Tool_ComputerUse) ProtoMessage() {} 1784 1785 func (x *Tool_ComputerUse) ProtoReflect() protoreflect.Message { 1786 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[20] 1787 if x != nil { 1788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1789 if ms.LoadMessageInfo() == nil { 1790 ms.StoreMessageInfo(mi) 1791 } 1792 return ms 1793 } 1794 return mi.MessageOf(x) 1795 } 1796 1797 // Deprecated: Use Tool_ComputerUse.ProtoReflect.Descriptor instead. 1798 func (*Tool_ComputerUse) Descriptor() ([]byte, []int) { 1799 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{0, 2} 1800 } 1801 1802 func (x *Tool_ComputerUse) GetEnvironment() Tool_ComputerUse_Environment { 1803 if x != nil { 1804 return x.Environment 1805 } 1806 return Tool_ComputerUse_ENVIRONMENT_UNSPECIFIED 1807 } 1808 1809 // The definition of the Rag resource. 1810 type VertexRagStore_RagResource struct { 1811 state protoimpl.MessageState 1812 sizeCache protoimpl.SizeCache 1813 unknownFields protoimpl.UnknownFields 1814 1815 // Optional. RagCorpora resource name. 1816 // Format: 1817 // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` 1818 RagCorpus string `protobuf:"bytes,1,opt,name=rag_corpus,json=ragCorpus,proto3" json:"rag_corpus,omitempty"` 1819 // Optional. rag_file_id. The files should be in the same rag_corpus set in 1820 // rag_corpus field. 1821 RagFileIds []string `protobuf:"bytes,2,rep,name=rag_file_ids,json=ragFileIds,proto3" json:"rag_file_ids,omitempty"` 1822 } 1823 1824 func (x *VertexRagStore_RagResource) Reset() { 1825 *x = VertexRagStore_RagResource{} 1826 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[21] 1827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1828 ms.StoreMessageInfo(mi) 1829 } 1830 1831 func (x *VertexRagStore_RagResource) String() string { 1832 return protoimpl.X.MessageStringOf(x) 1833 } 1834 1835 func (*VertexRagStore_RagResource) ProtoMessage() {} 1836 1837 func (x *VertexRagStore_RagResource) ProtoReflect() protoreflect.Message { 1838 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[21] 1839 if x != nil { 1840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1841 if ms.LoadMessageInfo() == nil { 1842 ms.StoreMessageInfo(mi) 1843 } 1844 return ms 1845 } 1846 return mi.MessageOf(x) 1847 } 1848 1849 // Deprecated: Use VertexRagStore_RagResource.ProtoReflect.Descriptor instead. 1850 func (*VertexRagStore_RagResource) Descriptor() ([]byte, []int) { 1851 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{8, 0} 1852 } 1853 1854 func (x *VertexRagStore_RagResource) GetRagCorpus() string { 1855 if x != nil { 1856 return x.RagCorpus 1857 } 1858 return "" 1859 } 1860 1861 func (x *VertexRagStore_RagResource) GetRagFileIds() []string { 1862 if x != nil { 1863 return x.RagFileIds 1864 } 1865 return nil 1866 } 1867 1868 // Define data stores within engine to filter on in a search call and 1869 // configurations for those data stores. For more information, see 1870 // https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#datastorespec 1871 type VertexAISearch_DataStoreSpec struct { 1872 state protoimpl.MessageState 1873 sizeCache protoimpl.SizeCache 1874 unknownFields protoimpl.UnknownFields 1875 1876 // Full resource name of DataStore, such as 1877 // Format: 1878 // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}` 1879 DataStore string `protobuf:"bytes,1,opt,name=data_store,json=dataStore,proto3" json:"data_store,omitempty"` 1880 // Optional. Filter specification to filter documents in the data store 1881 // specified by data_store field. For more information on filtering, see 1882 // [Filtering](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata) 1883 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1884 } 1885 1886 func (x *VertexAISearch_DataStoreSpec) Reset() { 1887 *x = VertexAISearch_DataStoreSpec{} 1888 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[22] 1889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1890 ms.StoreMessageInfo(mi) 1891 } 1892 1893 func (x *VertexAISearch_DataStoreSpec) String() string { 1894 return protoimpl.X.MessageStringOf(x) 1895 } 1896 1897 func (*VertexAISearch_DataStoreSpec) ProtoMessage() {} 1898 1899 func (x *VertexAISearch_DataStoreSpec) ProtoReflect() protoreflect.Message { 1900 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[22] 1901 if x != nil { 1902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1903 if ms.LoadMessageInfo() == nil { 1904 ms.StoreMessageInfo(mi) 1905 } 1906 return ms 1907 } 1908 return mi.MessageOf(x) 1909 } 1910 1911 // Deprecated: Use VertexAISearch_DataStoreSpec.ProtoReflect.Descriptor instead. 1912 func (*VertexAISearch_DataStoreSpec) Descriptor() ([]byte, []int) { 1913 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{9, 0} 1914 } 1915 1916 func (x *VertexAISearch_DataStoreSpec) GetDataStore() string { 1917 if x != nil { 1918 return x.DataStore 1919 } 1920 return "" 1921 } 1922 1923 func (x *VertexAISearch_DataStoreSpec) GetFilter() string { 1924 if x != nil { 1925 return x.Filter 1926 } 1927 return "" 1928 } 1929 1930 // Config for filters. 1931 type RagRetrievalConfig_Filter struct { 1932 state protoimpl.MessageState 1933 sizeCache protoimpl.SizeCache 1934 unknownFields protoimpl.UnknownFields 1935 1936 // Filter contexts retrieved from the vector DB based on either vector 1937 // distance or vector similarity. 1938 // 1939 // Types that are assignable to VectorDbThreshold: 1940 // 1941 // *RagRetrievalConfig_Filter_VectorDistanceThreshold 1942 // *RagRetrievalConfig_Filter_VectorSimilarityThreshold 1943 VectorDbThreshold isRagRetrievalConfig_Filter_VectorDbThreshold `protobuf_oneof:"vector_db_threshold"` 1944 // Optional. String for metadata filtering. 1945 MetadataFilter string `protobuf:"bytes,2,opt,name=metadata_filter,json=metadataFilter,proto3" json:"metadata_filter,omitempty"` 1946 } 1947 1948 func (x *RagRetrievalConfig_Filter) Reset() { 1949 *x = RagRetrievalConfig_Filter{} 1950 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[23] 1951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1952 ms.StoreMessageInfo(mi) 1953 } 1954 1955 func (x *RagRetrievalConfig_Filter) String() string { 1956 return protoimpl.X.MessageStringOf(x) 1957 } 1958 1959 func (*RagRetrievalConfig_Filter) ProtoMessage() {} 1960 1961 func (x *RagRetrievalConfig_Filter) ProtoReflect() protoreflect.Message { 1962 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[23] 1963 if x != nil { 1964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1965 if ms.LoadMessageInfo() == nil { 1966 ms.StoreMessageInfo(mi) 1967 } 1968 return ms 1969 } 1970 return mi.MessageOf(x) 1971 } 1972 1973 // Deprecated: Use RagRetrievalConfig_Filter.ProtoReflect.Descriptor instead. 1974 func (*RagRetrievalConfig_Filter) Descriptor() ([]byte, []int) { 1975 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{17, 0} 1976 } 1977 1978 func (m *RagRetrievalConfig_Filter) GetVectorDbThreshold() isRagRetrievalConfig_Filter_VectorDbThreshold { 1979 if m != nil { 1980 return m.VectorDbThreshold 1981 } 1982 return nil 1983 } 1984 1985 func (x *RagRetrievalConfig_Filter) GetVectorDistanceThreshold() float64 { 1986 if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorDistanceThreshold); ok { 1987 return x.VectorDistanceThreshold 1988 } 1989 return 0 1990 } 1991 1992 func (x *RagRetrievalConfig_Filter) GetVectorSimilarityThreshold() float64 { 1993 if x, ok := x.GetVectorDbThreshold().(*RagRetrievalConfig_Filter_VectorSimilarityThreshold); ok { 1994 return x.VectorSimilarityThreshold 1995 } 1996 return 0 1997 } 1998 1999 func (x *RagRetrievalConfig_Filter) GetMetadataFilter() string { 2000 if x != nil { 2001 return x.MetadataFilter 2002 } 2003 return "" 2004 } 2005 2006 type isRagRetrievalConfig_Filter_VectorDbThreshold interface { 2007 isRagRetrievalConfig_Filter_VectorDbThreshold() 2008 } 2009 2010 type RagRetrievalConfig_Filter_VectorDistanceThreshold struct { 2011 // Optional. Only returns contexts with vector distance smaller than the 2012 // threshold. 2013 VectorDistanceThreshold float64 `protobuf:"fixed64,3,opt,name=vector_distance_threshold,json=vectorDistanceThreshold,proto3,oneof"` 2014 } 2015 2016 type RagRetrievalConfig_Filter_VectorSimilarityThreshold struct { 2017 // Optional. Only returns contexts with vector similarity larger than the 2018 // threshold. 2019 VectorSimilarityThreshold float64 `protobuf:"fixed64,4,opt,name=vector_similarity_threshold,json=vectorSimilarityThreshold,proto3,oneof"` 2020 } 2021 2022 func (*RagRetrievalConfig_Filter_VectorDistanceThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() { 2023 } 2024 2025 func (*RagRetrievalConfig_Filter_VectorSimilarityThreshold) isRagRetrievalConfig_Filter_VectorDbThreshold() { 2026 } 2027 2028 // Config for ranking and reranking. 2029 type RagRetrievalConfig_Ranking struct { 2030 state protoimpl.MessageState 2031 sizeCache protoimpl.SizeCache 2032 unknownFields protoimpl.UnknownFields 2033 2034 // Config options for ranking. Currently only Rank Service is supported. 2035 // 2036 // Types that are assignable to RankingConfig: 2037 // 2038 // *RagRetrievalConfig_Ranking_RankService_ 2039 // *RagRetrievalConfig_Ranking_LlmRanker_ 2040 RankingConfig isRagRetrievalConfig_Ranking_RankingConfig `protobuf_oneof:"ranking_config"` 2041 } 2042 2043 func (x *RagRetrievalConfig_Ranking) Reset() { 2044 *x = RagRetrievalConfig_Ranking{} 2045 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[24] 2046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2047 ms.StoreMessageInfo(mi) 2048 } 2049 2050 func (x *RagRetrievalConfig_Ranking) String() string { 2051 return protoimpl.X.MessageStringOf(x) 2052 } 2053 2054 func (*RagRetrievalConfig_Ranking) ProtoMessage() {} 2055 2056 func (x *RagRetrievalConfig_Ranking) ProtoReflect() protoreflect.Message { 2057 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[24] 2058 if x != nil { 2059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2060 if ms.LoadMessageInfo() == nil { 2061 ms.StoreMessageInfo(mi) 2062 } 2063 return ms 2064 } 2065 return mi.MessageOf(x) 2066 } 2067 2068 // Deprecated: Use RagRetrievalConfig_Ranking.ProtoReflect.Descriptor instead. 2069 func (*RagRetrievalConfig_Ranking) Descriptor() ([]byte, []int) { 2070 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{17, 1} 2071 } 2072 2073 func (m *RagRetrievalConfig_Ranking) GetRankingConfig() isRagRetrievalConfig_Ranking_RankingConfig { 2074 if m != nil { 2075 return m.RankingConfig 2076 } 2077 return nil 2078 } 2079 2080 func (x *RagRetrievalConfig_Ranking) GetRankService() *RagRetrievalConfig_Ranking_RankService { 2081 if x, ok := x.GetRankingConfig().(*RagRetrievalConfig_Ranking_RankService_); ok { 2082 return x.RankService 2083 } 2084 return nil 2085 } 2086 2087 func (x *RagRetrievalConfig_Ranking) GetLlmRanker() *RagRetrievalConfig_Ranking_LlmRanker { 2088 if x, ok := x.GetRankingConfig().(*RagRetrievalConfig_Ranking_LlmRanker_); ok { 2089 return x.LlmRanker 2090 } 2091 return nil 2092 } 2093 2094 type isRagRetrievalConfig_Ranking_RankingConfig interface { 2095 isRagRetrievalConfig_Ranking_RankingConfig() 2096 } 2097 2098 type RagRetrievalConfig_Ranking_RankService_ struct { 2099 // Optional. Config for Rank Service. 2100 RankService *RagRetrievalConfig_Ranking_RankService `protobuf:"bytes,1,opt,name=rank_service,json=rankService,proto3,oneof"` 2101 } 2102 2103 type RagRetrievalConfig_Ranking_LlmRanker_ struct { 2104 // Optional. Config for LlmRanker. 2105 LlmRanker *RagRetrievalConfig_Ranking_LlmRanker `protobuf:"bytes,3,opt,name=llm_ranker,json=llmRanker,proto3,oneof"` 2106 } 2107 2108 func (*RagRetrievalConfig_Ranking_RankService_) isRagRetrievalConfig_Ranking_RankingConfig() {} 2109 2110 func (*RagRetrievalConfig_Ranking_LlmRanker_) isRagRetrievalConfig_Ranking_RankingConfig() {} 2111 2112 // Config for Rank Service. 2113 type RagRetrievalConfig_Ranking_RankService struct { 2114 state protoimpl.MessageState 2115 sizeCache protoimpl.SizeCache 2116 unknownFields protoimpl.UnknownFields 2117 2118 // Optional. The model name of the rank service. 2119 // Format: `semantic-ranker-512@latest` 2120 ModelName *string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3,oneof" json:"model_name,omitempty"` 2121 } 2122 2123 func (x *RagRetrievalConfig_Ranking_RankService) Reset() { 2124 *x = RagRetrievalConfig_Ranking_RankService{} 2125 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[25] 2126 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2127 ms.StoreMessageInfo(mi) 2128 } 2129 2130 func (x *RagRetrievalConfig_Ranking_RankService) String() string { 2131 return protoimpl.X.MessageStringOf(x) 2132 } 2133 2134 func (*RagRetrievalConfig_Ranking_RankService) ProtoMessage() {} 2135 2136 func (x *RagRetrievalConfig_Ranking_RankService) ProtoReflect() protoreflect.Message { 2137 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[25] 2138 if x != nil { 2139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2140 if ms.LoadMessageInfo() == nil { 2141 ms.StoreMessageInfo(mi) 2142 } 2143 return ms 2144 } 2145 return mi.MessageOf(x) 2146 } 2147 2148 // Deprecated: Use RagRetrievalConfig_Ranking_RankService.ProtoReflect.Descriptor instead. 2149 func (*RagRetrievalConfig_Ranking_RankService) Descriptor() ([]byte, []int) { 2150 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{17, 1, 0} 2151 } 2152 2153 func (x *RagRetrievalConfig_Ranking_RankService) GetModelName() string { 2154 if x != nil && x.ModelName != nil { 2155 return *x.ModelName 2156 } 2157 return "" 2158 } 2159 2160 // Config for LlmRanker. 2161 type RagRetrievalConfig_Ranking_LlmRanker struct { 2162 state protoimpl.MessageState 2163 sizeCache protoimpl.SizeCache 2164 unknownFields protoimpl.UnknownFields 2165 2166 // Optional. The model name used for ranking. 2167 // Format: `gemini-1.5-pro` 2168 ModelName *string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3,oneof" json:"model_name,omitempty"` 2169 } 2170 2171 func (x *RagRetrievalConfig_Ranking_LlmRanker) Reset() { 2172 *x = RagRetrievalConfig_Ranking_LlmRanker{} 2173 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[26] 2174 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2175 ms.StoreMessageInfo(mi) 2176 } 2177 2178 func (x *RagRetrievalConfig_Ranking_LlmRanker) String() string { 2179 return protoimpl.X.MessageStringOf(x) 2180 } 2181 2182 func (*RagRetrievalConfig_Ranking_LlmRanker) ProtoMessage() {} 2183 2184 func (x *RagRetrievalConfig_Ranking_LlmRanker) ProtoReflect() protoreflect.Message { 2185 mi := &file_google_cloud_aiplatform_v1_tool_proto_msgTypes[26] 2186 if x != nil { 2187 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2188 if ms.LoadMessageInfo() == nil { 2189 ms.StoreMessageInfo(mi) 2190 } 2191 return ms 2192 } 2193 return mi.MessageOf(x) 2194 } 2195 2196 // Deprecated: Use RagRetrievalConfig_Ranking_LlmRanker.ProtoReflect.Descriptor instead. 2197 func (*RagRetrievalConfig_Ranking_LlmRanker) Descriptor() ([]byte, []int) { 2198 return file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP(), []int{17, 1, 1} 2199 } 2200 2201 func (x *RagRetrievalConfig_Ranking_LlmRanker) GetModelName() string { 2202 if x != nil && x.ModelName != nil { 2203 return *x.ModelName 2204 } 2205 return "" 2206 } 2207 2208 var File_google_cloud_aiplatform_v1_tool_proto protoreflect.FileDescriptor 2209 2210 var file_google_cloud_aiplatform_v1_tool_proto_rawDesc = []byte{ 2211 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 2212 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x6f, 0x6f, 2213 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2214 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2215 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 2216 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 2217 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 2218 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2219 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 2220 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 2221 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2222 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 2223 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2224 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2225 0x6f, 0x22, 0xb3, 0x0b, 0x0a, 0x04, 0x54, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x15, 0x66, 0x75, 2226 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 2227 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2228 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2229 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 2230 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2231 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 2232 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 2233 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2234 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2235 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x42, 2236 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 2237 0x57, 0x0a, 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 2238 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2239 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2240 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 2241 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x67, 0x6f, 0x6f, 0x67, 2242 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x6e, 0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 2243 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 2244 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2245 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 2246 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 2247 0x72, 0x63, 0x68, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x42, 0x03, 0xe0, 0x41, 2248 0x01, 0x52, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 2249 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x4c, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x67, 2250 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 2251 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 2252 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 2253 0x65, 0x4d, 0x61, 0x70, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 2254 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x68, 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x70, 2255 0x72, 0x69, 0x73, 0x65, 0x5f, 0x77, 0x65, 0x62, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 2256 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2257 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2258 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 2259 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x65, 0x6e, 0x74, 2260 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 2261 0x12, 0x5a, 0x0a, 0x0e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 2262 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2263 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2264 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x45, 2265 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x63, 2266 0x6f, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0b, 2267 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 2268 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2269 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 2270 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 2271 0x75, 0x72, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x54, 0x0a, 0x0c, 0x63, 0x6f, 2272 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 2273 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2274 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 2275 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x42, 0x03, 2276 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 2277 0x1a, 0xc5, 0x01, 0x0a, 0x0c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 2278 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 2279 0x61, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 2280 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 2281 0x6f, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 2282 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 2283 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 2284 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x2e, 0x50, 2285 0x68, 0x69, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 2286 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 2287 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 2288 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 2289 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x43, 0x6f, 0x64, 0x65, 2290 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb3, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 2291 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 2292 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 2293 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 2294 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 2295 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x76, 2296 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x65, 2297 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x0a, 0x0b, 0x45, 0x6e, 2298 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x56, 2299 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 2300 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 2301 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x10, 0x01, 0x22, 2302 0xe5, 0x01, 0x0a, 0x13, 0x50, 0x68, 0x69, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 2303 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x48, 0x49, 0x53, 0x48, 2304 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 2305 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 2306 0x0a, 0x13, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 2307 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 2308 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 2309 0x45, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x48, 0x49, 0x47, 2310 0x48, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x32, 0x12, 0x1a, 0x0a, 2311 0x16, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x45, 0x52, 0x5f, 0x41, 0x4e, 2312 0x44, 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x37, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4c, 0x4f, 2313 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x41, 0x4e, 0x44, 2314 0x5f, 0x41, 0x42, 0x4f, 0x56, 0x45, 0x10, 0x3c, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4c, 0x4f, 0x43, 2315 0x4b, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x45, 0x4c, 0x59, 2316 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x64, 0x22, 0x0c, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x43, 0x6f, 2317 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x85, 0x03, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 2318 0x6f, 0x6e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 2319 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 2320 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 2321 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 2322 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 2323 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 2324 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2325 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 2326 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 2327 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 2328 0x74, 0x65, 0x72, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 2329 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2330 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 2331 0xe0, 0x41, 0x01, 0x52, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x4a, 2332 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 2333 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 2334 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2335 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x42, 2336 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 2337 0x0a, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 2338 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 2339 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 2340 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73, 0x70, 0x6f, 2341 0x6e, 0x73, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x59, 0x0a, 2342 0x0c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 2343 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 2344 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 2345 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 2346 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 2347 0x41, 0x01, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x65, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x63, 2348 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 2349 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 2350 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2351 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2352 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 2353 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 2354 0xb1, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 2355 0x64, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 2356 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2357 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2358 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x64, 0x65, 2359 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 2360 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 2361 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x64, 2362 0x65, 0x22, 0x30, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 2363 0x14, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 2364 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x59, 0x54, 0x48, 0x4f, 2365 0x4e, 0x10, 0x01, 0x22, 0xf1, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x65, 0x63, 2366 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x07, 0x6f, 2367 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 2368 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 2369 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 2370 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x75, 2371 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 2372 0x6f, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 2373 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 2374 0x22, 0x65, 0x0a, 0x07, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4f, 2375 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 2376 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 2377 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 2378 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x55, 0x54, 0x43, 2379 0x4f, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x58, 0x43, 2380 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x22, 0xfd, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 2381 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x56, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 2382 0x61, 0x69, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2383 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2384 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 2385 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x00, 0x52, 0x0e, 0x76, 2386 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x69, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x56, 0x0a, 2387 0x10, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x6f, 0x72, 2388 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2389 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2390 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 2391 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 2392 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x36, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 2393 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 2394 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 2395 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 2396 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8d, 0x04, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 2397 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x72, 0x61, 2398 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 2399 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2400 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 2401 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 2402 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 2403 0x72, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x10, 2404 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 2405 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x48, 0x00, 0x52, 2406 0x0e, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x70, 0x4b, 0x88, 2407 0x01, 0x01, 0x12, 0x46, 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 2408 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 2409 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x48, 0x01, 0x52, 0x17, 2410 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 2411 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x14, 0x72, 0x61, 2412 0x67, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 2413 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2414 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2415 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 2416 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x72, 2417 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2418 0x67, 0x1a, 0x80, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2419 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x18, 2420 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x61, 2421 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2422 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 2423 0x75, 0x73, 0x52, 0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x12, 0x25, 0x0a, 2424 0x0c, 0x72, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 2425 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x67, 0x46, 0x69, 0x6c, 2426 0x65, 0x49, 0x64, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 2427 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x76, 0x65, 2428 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 2429 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xc4, 0x02, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x74, 2430 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x61, 2431 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2432 0x41, 0x01, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 2433 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 2434 0x41, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x61, 2435 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 2436 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 2437 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 2438 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x62, 0x0a, 2439 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 2440 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2441 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 2442 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x41, 0x49, 0x53, 0x65, 0x61, 2443 0x72, 0x63, 0x68, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 2444 0x63, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 2445 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x70, 2446 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 2447 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x72, 2448 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 2449 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x85, 2450 0x01, 0x0a, 0x15, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 2451 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x12, 0x6c, 0x0a, 0x18, 0x64, 0x79, 0x6e, 0x61, 2452 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 2453 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 2454 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2455 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 2456 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 2457 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 2458 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x36, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2459 0x4d, 0x61, 0x70, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 2460 0x69, 0x64, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 2461 0x52, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x22, 0xcc, 2462 0x01, 0x0a, 0x13, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x57, 0x65, 0x62, 2463 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 2464 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 2465 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x6f, 0x6d, 2466 0x61, 0x69, 0x6e, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 2467 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 2468 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2469 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 2470 0x6f, 0x6f, 0x6c, 0x2e, 0x50, 0x68, 0x69, 0x73, 0x68, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x68, 2471 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x12, 2472 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 2473 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 2474 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xe2, 0x01, 2475 0x0a, 0x16, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 2476 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 2477 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2478 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2479 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x74, 0x72, 0x69, 2480 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 2481 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 2482 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 2483 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 2484 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22, 0x2e, 0x0a, 0x04, 2485 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 2486 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x4f, 2487 0x44, 0x45, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x01, 0x42, 0x14, 0x0a, 0x12, 2488 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 2489 0x6c, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x0a, 0x54, 0x6f, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2490 0x67, 0x12, 0x6e, 0x0a, 0x17, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 2491 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 2492 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2493 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2494 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 2495 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x66, 0x75, 0x6e, 0x63, 2496 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2497 0x67, 0x12, 0x5b, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x63, 2498 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 2499 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 2500 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 2501 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x72, 2502 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xde, 2503 0x01, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x69, 2504 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 2505 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2506 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2507 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 2508 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 2509 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 2510 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 2511 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 2512 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 2513 0x61, 0x6d, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 2514 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 2515 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 2516 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 2517 0x8c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 2518 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 2519 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 2520 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 2521 0x4c, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 2522 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 2523 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 2524 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e, 2525 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x22, 0xb3, 2526 0x06, 0x0a, 0x12, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 2527 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x5f, 0x6b, 0x18, 0x01, 2528 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4b, 0x12, 2529 0x52, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2530 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 2531 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 2532 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 2533 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 2534 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x04, 2535 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2536 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2537 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 2538 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 2539 0x01, 0x52, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x1a, 0xd7, 0x01, 0x0a, 0x06, 0x46, 2540 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 2541 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 2542 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 2543 0x17, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 2544 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x45, 0x0a, 0x1b, 0x76, 0x65, 0x63, 0x74, 2545 0x6f, 0x72, 0x5f, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x68, 2546 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 2547 0x41, 0x01, 0x48, 0x00, 0x52, 0x19, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x6d, 0x69, 2548 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 2549 0x2c, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 2550 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 2551 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 2552 0x13, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x62, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 2553 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0xfd, 0x02, 0x0a, 0x07, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 2554 0x12, 0x6c, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 2555 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2556 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 2557 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 2558 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x52, 2559 0x61, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 2560 0x00, 0x52, 0x0b, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x66, 2561 0x0a, 0x0a, 0x6c, 0x6c, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 2562 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2563 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 2564 0x52, 0x61, 0x67, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 2565 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x4c, 0x6c, 0x6d, 0x52, 0x61, 2566 0x6e, 0x6b, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x6c, 0x6d, 2567 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x65, 2568 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 2569 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 2570 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 2571 0x0a, 0x0b, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 2572 0x09, 0x4c, 0x6c, 0x6d, 0x52, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0a, 0x6d, 0x6f, 2573 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 2574 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 2575 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 2576 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 2577 0x6e, 0x66, 0x69, 0x67, 0x42, 0xc7, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2578 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2579 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x54, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x6f, 2580 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2581 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2582 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 2583 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 2584 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 2585 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 2586 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 2587 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 2588 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 2589 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 2590 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2591 } 2592 2593 var ( 2594 file_google_cloud_aiplatform_v1_tool_proto_rawDescOnce sync.Once 2595 file_google_cloud_aiplatform_v1_tool_proto_rawDescData = file_google_cloud_aiplatform_v1_tool_proto_rawDesc 2596 ) 2597 2598 func file_google_cloud_aiplatform_v1_tool_proto_rawDescGZIP() []byte { 2599 file_google_cloud_aiplatform_v1_tool_proto_rawDescOnce.Do(func() { 2600 file_google_cloud_aiplatform_v1_tool_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_tool_proto_rawDescData) 2601 }) 2602 return file_google_cloud_aiplatform_v1_tool_proto_rawDescData 2603 } 2604 2605 var file_google_cloud_aiplatform_v1_tool_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 2606 var file_google_cloud_aiplatform_v1_tool_proto_msgTypes = make([]protoimpl.MessageInfo, 27) 2607 var file_google_cloud_aiplatform_v1_tool_proto_goTypes = []any{ 2608 (Tool_PhishBlockThreshold)(0), // 0: google.cloud.aiplatform.v1.Tool.PhishBlockThreshold 2609 (Tool_ComputerUse_Environment)(0), // 1: google.cloud.aiplatform.v1.Tool.ComputerUse.Environment 2610 (ExecutableCode_Language)(0), // 2: google.cloud.aiplatform.v1.ExecutableCode.Language 2611 (CodeExecutionResult_Outcome)(0), // 3: google.cloud.aiplatform.v1.CodeExecutionResult.Outcome 2612 (DynamicRetrievalConfig_Mode)(0), // 4: google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode 2613 (FunctionCallingConfig_Mode)(0), // 5: google.cloud.aiplatform.v1.FunctionCallingConfig.Mode 2614 (*Tool)(nil), // 6: google.cloud.aiplatform.v1.Tool 2615 (*UrlContext)(nil), // 7: google.cloud.aiplatform.v1.UrlContext 2616 (*FunctionDeclaration)(nil), // 8: google.cloud.aiplatform.v1.FunctionDeclaration 2617 (*FunctionCall)(nil), // 9: google.cloud.aiplatform.v1.FunctionCall 2618 (*FunctionResponse)(nil), // 10: google.cloud.aiplatform.v1.FunctionResponse 2619 (*ExecutableCode)(nil), // 11: google.cloud.aiplatform.v1.ExecutableCode 2620 (*CodeExecutionResult)(nil), // 12: google.cloud.aiplatform.v1.CodeExecutionResult 2621 (*Retrieval)(nil), // 13: google.cloud.aiplatform.v1.Retrieval 2622 (*VertexRagStore)(nil), // 14: google.cloud.aiplatform.v1.VertexRagStore 2623 (*VertexAISearch)(nil), // 15: google.cloud.aiplatform.v1.VertexAISearch 2624 (*GoogleSearchRetrieval)(nil), // 16: google.cloud.aiplatform.v1.GoogleSearchRetrieval 2625 (*GoogleMaps)(nil), // 17: google.cloud.aiplatform.v1.GoogleMaps 2626 (*EnterpriseWebSearch)(nil), // 18: google.cloud.aiplatform.v1.EnterpriseWebSearch 2627 (*DynamicRetrievalConfig)(nil), // 19: google.cloud.aiplatform.v1.DynamicRetrievalConfig 2628 (*ToolConfig)(nil), // 20: google.cloud.aiplatform.v1.ToolConfig 2629 (*FunctionCallingConfig)(nil), // 21: google.cloud.aiplatform.v1.FunctionCallingConfig 2630 (*RetrievalConfig)(nil), // 22: google.cloud.aiplatform.v1.RetrievalConfig 2631 (*RagRetrievalConfig)(nil), // 23: google.cloud.aiplatform.v1.RagRetrievalConfig 2632 (*Tool_GoogleSearch)(nil), // 24: google.cloud.aiplatform.v1.Tool.GoogleSearch 2633 (*Tool_CodeExecution)(nil), // 25: google.cloud.aiplatform.v1.Tool.CodeExecution 2634 (*Tool_ComputerUse)(nil), // 26: google.cloud.aiplatform.v1.Tool.ComputerUse 2635 (*VertexRagStore_RagResource)(nil), // 27: google.cloud.aiplatform.v1.VertexRagStore.RagResource 2636 (*VertexAISearch_DataStoreSpec)(nil), // 28: google.cloud.aiplatform.v1.VertexAISearch.DataStoreSpec 2637 (*RagRetrievalConfig_Filter)(nil), // 29: google.cloud.aiplatform.v1.RagRetrievalConfig.Filter 2638 (*RagRetrievalConfig_Ranking)(nil), // 30: google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking 2639 (*RagRetrievalConfig_Ranking_RankService)(nil), // 31: google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.RankService 2640 (*RagRetrievalConfig_Ranking_LlmRanker)(nil), // 32: google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.LlmRanker 2641 (*Schema)(nil), // 33: google.cloud.aiplatform.v1.Schema 2642 (*structpb.Value)(nil), // 34: google.protobuf.Value 2643 (*structpb.Struct)(nil), // 35: google.protobuf.Struct 2644 (*latlng.LatLng)(nil), // 36: google.type.LatLng 2645 } 2646 var file_google_cloud_aiplatform_v1_tool_proto_depIdxs = []int32{ 2647 8, // 0: google.cloud.aiplatform.v1.Tool.function_declarations:type_name -> google.cloud.aiplatform.v1.FunctionDeclaration 2648 13, // 1: google.cloud.aiplatform.v1.Tool.retrieval:type_name -> google.cloud.aiplatform.v1.Retrieval 2649 24, // 2: google.cloud.aiplatform.v1.Tool.google_search:type_name -> google.cloud.aiplatform.v1.Tool.GoogleSearch 2650 16, // 3: google.cloud.aiplatform.v1.Tool.google_search_retrieval:type_name -> google.cloud.aiplatform.v1.GoogleSearchRetrieval 2651 17, // 4: google.cloud.aiplatform.v1.Tool.google_maps:type_name -> google.cloud.aiplatform.v1.GoogleMaps 2652 18, // 5: google.cloud.aiplatform.v1.Tool.enterprise_web_search:type_name -> google.cloud.aiplatform.v1.EnterpriseWebSearch 2653 25, // 6: google.cloud.aiplatform.v1.Tool.code_execution:type_name -> google.cloud.aiplatform.v1.Tool.CodeExecution 2654 7, // 7: google.cloud.aiplatform.v1.Tool.url_context:type_name -> google.cloud.aiplatform.v1.UrlContext 2655 26, // 8: google.cloud.aiplatform.v1.Tool.computer_use:type_name -> google.cloud.aiplatform.v1.Tool.ComputerUse 2656 33, // 9: google.cloud.aiplatform.v1.FunctionDeclaration.parameters:type_name -> google.cloud.aiplatform.v1.Schema 2657 34, // 10: google.cloud.aiplatform.v1.FunctionDeclaration.parameters_json_schema:type_name -> google.protobuf.Value 2658 33, // 11: google.cloud.aiplatform.v1.FunctionDeclaration.response:type_name -> google.cloud.aiplatform.v1.Schema 2659 34, // 12: google.cloud.aiplatform.v1.FunctionDeclaration.response_json_schema:type_name -> google.protobuf.Value 2660 35, // 13: google.cloud.aiplatform.v1.FunctionCall.args:type_name -> google.protobuf.Struct 2661 35, // 14: google.cloud.aiplatform.v1.FunctionResponse.response:type_name -> google.protobuf.Struct 2662 2, // 15: google.cloud.aiplatform.v1.ExecutableCode.language:type_name -> google.cloud.aiplatform.v1.ExecutableCode.Language 2663 3, // 16: google.cloud.aiplatform.v1.CodeExecutionResult.outcome:type_name -> google.cloud.aiplatform.v1.CodeExecutionResult.Outcome 2664 15, // 17: google.cloud.aiplatform.v1.Retrieval.vertex_ai_search:type_name -> google.cloud.aiplatform.v1.VertexAISearch 2665 14, // 18: google.cloud.aiplatform.v1.Retrieval.vertex_rag_store:type_name -> google.cloud.aiplatform.v1.VertexRagStore 2666 27, // 19: google.cloud.aiplatform.v1.VertexRagStore.rag_resources:type_name -> google.cloud.aiplatform.v1.VertexRagStore.RagResource 2667 23, // 20: google.cloud.aiplatform.v1.VertexRagStore.rag_retrieval_config:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig 2668 28, // 21: google.cloud.aiplatform.v1.VertexAISearch.data_store_specs:type_name -> google.cloud.aiplatform.v1.VertexAISearch.DataStoreSpec 2669 19, // 22: google.cloud.aiplatform.v1.GoogleSearchRetrieval.dynamic_retrieval_config:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig 2670 0, // 23: google.cloud.aiplatform.v1.EnterpriseWebSearch.blocking_confidence:type_name -> google.cloud.aiplatform.v1.Tool.PhishBlockThreshold 2671 4, // 24: google.cloud.aiplatform.v1.DynamicRetrievalConfig.mode:type_name -> google.cloud.aiplatform.v1.DynamicRetrievalConfig.Mode 2672 21, // 25: google.cloud.aiplatform.v1.ToolConfig.function_calling_config:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig 2673 22, // 26: google.cloud.aiplatform.v1.ToolConfig.retrieval_config:type_name -> google.cloud.aiplatform.v1.RetrievalConfig 2674 5, // 27: google.cloud.aiplatform.v1.FunctionCallingConfig.mode:type_name -> google.cloud.aiplatform.v1.FunctionCallingConfig.Mode 2675 36, // 28: google.cloud.aiplatform.v1.RetrievalConfig.lat_lng:type_name -> google.type.LatLng 2676 29, // 29: google.cloud.aiplatform.v1.RagRetrievalConfig.filter:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig.Filter 2677 30, // 30: google.cloud.aiplatform.v1.RagRetrievalConfig.ranking:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking 2678 0, // 31: google.cloud.aiplatform.v1.Tool.GoogleSearch.blocking_confidence:type_name -> google.cloud.aiplatform.v1.Tool.PhishBlockThreshold 2679 1, // 32: google.cloud.aiplatform.v1.Tool.ComputerUse.environment:type_name -> google.cloud.aiplatform.v1.Tool.ComputerUse.Environment 2680 31, // 33: google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.rank_service:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.RankService 2681 32, // 34: google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.llm_ranker:type_name -> google.cloud.aiplatform.v1.RagRetrievalConfig.Ranking.LlmRanker 2682 35, // [35:35] is the sub-list for method output_type 2683 35, // [35:35] is the sub-list for method input_type 2684 35, // [35:35] is the sub-list for extension type_name 2685 35, // [35:35] is the sub-list for extension extendee 2686 0, // [0:35] is the sub-list for field type_name 2687 } 2688 2689 func init() { file_google_cloud_aiplatform_v1_tool_proto_init() } 2690 func file_google_cloud_aiplatform_v1_tool_proto_init() { 2691 if File_google_cloud_aiplatform_v1_tool_proto != nil { 2692 return 2693 } 2694 file_google_cloud_aiplatform_v1_openapi_proto_init() 2695 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[7].OneofWrappers = []any{ 2696 (*Retrieval_VertexAiSearch)(nil), 2697 (*Retrieval_VertexRagStore)(nil), 2698 } 2699 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[8].OneofWrappers = []any{} 2700 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[12].OneofWrappers = []any{} 2701 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[13].OneofWrappers = []any{} 2702 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[16].OneofWrappers = []any{} 2703 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[18].OneofWrappers = []any{} 2704 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[23].OneofWrappers = []any{ 2705 (*RagRetrievalConfig_Filter_VectorDistanceThreshold)(nil), 2706 (*RagRetrievalConfig_Filter_VectorSimilarityThreshold)(nil), 2707 } 2708 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[24].OneofWrappers = []any{ 2709 (*RagRetrievalConfig_Ranking_RankService_)(nil), 2710 (*RagRetrievalConfig_Ranking_LlmRanker_)(nil), 2711 } 2712 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[25].OneofWrappers = []any{} 2713 file_google_cloud_aiplatform_v1_tool_proto_msgTypes[26].OneofWrappers = []any{} 2714 type x struct{} 2715 out := protoimpl.TypeBuilder{ 2716 File: protoimpl.DescBuilder{ 2717 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2718 RawDescriptor: file_google_cloud_aiplatform_v1_tool_proto_rawDesc, 2719 NumEnums: 6, 2720 NumMessages: 27, 2721 NumExtensions: 0, 2722 NumServices: 0, 2723 }, 2724 GoTypes: file_google_cloud_aiplatform_v1_tool_proto_goTypes, 2725 DependencyIndexes: file_google_cloud_aiplatform_v1_tool_proto_depIdxs, 2726 EnumInfos: file_google_cloud_aiplatform_v1_tool_proto_enumTypes, 2727 MessageInfos: file_google_cloud_aiplatform_v1_tool_proto_msgTypes, 2728 }.Build() 2729 File_google_cloud_aiplatform_v1_tool_proto = out.File 2730 file_google_cloud_aiplatform_v1_tool_proto_rawDesc = nil 2731 file_google_cloud_aiplatform_v1_tool_proto_goTypes = nil 2732 file_google_cloud_aiplatform_v1_tool_proto_depIdxs = nil 2733 }