{
  "nested": {
    "google": {
      "nested": {
        "ai": {
          "nested": {
            "generativelanguage": {
              "nested": {
                "v1": {
                  "options": {
                    "go_package": "cloud.google.com/go/ai/generativelanguage/apiv1/generativelanguagepb;generativelanguagepb",
                    "java_multiple_files": true,
                    "java_outer_classname": "ModelServiceProto",
                    "java_package": "com.google.ai.generativelanguage.v1"
                  },
                  "nested": {
                    "CitationMetadata": {
                      "fields": {
                        "citationSources": {
                          "rule": "repeated",
                          "type": "CitationSource",
                          "id": 1
                        }
                      }
                    },
                    "CitationSource": {
                      "oneofs": {
                        "_startIndex": {
                          "oneof": [
                            "startIndex"
                          ]
                        },
                        "_endIndex": {
                          "oneof": [
                            "endIndex"
                          ]
                        },
                        "_uri": {
                          "oneof": [
                            "uri"
                          ]
                        },
                        "_license": {
                          "oneof": [
                            "license"
                          ]
                        }
                      },
                      "fields": {
                        "startIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "license": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "Modality": {
                      "values": {
                        "MODALITY_UNSPECIFIED": 0,
                        "TEXT": 1,
                        "IMAGE": 2,
                        "VIDEO": 3,
                        "AUDIO": 4,
                        "DOCUMENT": 5
                      }
                    },
                    "Content": {
                      "fields": {
                        "parts": {
                          "rule": "repeated",
                          "type": "Part",
                          "id": 1
                        },
                        "role": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Part": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "text",
                            "inlineData"
                          ]
                        },
                        "metadata": {
                          "oneof": [
                            "videoMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 2
                        },
                        "inlineData": {
                          "type": "Blob",
                          "id": 3
                        },
                        "videoMetadata": {
                          "type": "VideoMetadata",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Blob": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2
                        }
                      }
                    },
                    "VideoMetadata": {
                      "fields": {
                        "startOffset": {
                          "type": "google.protobuf.Duration",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "endOffset": {
                          "type": "google.protobuf.Duration",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fps": {
                          "type": "double",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ModalityTokenCount": {
                      "fields": {
                        "modality": {
                          "type": "Modality",
                          "id": 1
                        },
                        "tokenCount": {
                          "type": "int32",
                          "id": 2
                        }
                      }
                    },
                    "GenerativeService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{model=models/*}:generateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1/{model=dynamic/*}:generateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}:generateContent",
                                "body": "*",
                                "additional_bindings": [
                                  {
                                    "post": "/v1/{model=tunedModels/*}:generateContent",
                                    "body": "*"
                                  },
                                  {
                                    "post": "/v1/{model=dynamic/*}:generateContent",
                                    "body": "*"
                                  }
                                ]
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "StreamGenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v1/{model=models/*}:streamGenerateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1/{model=dynamic/*}:streamGenerateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}:streamGenerateContent",
                                "body": "*",
                                "additional_bindings": [
                                  {
                                    "post": "/v1/{model=tunedModels/*}:streamGenerateContent",
                                    "body": "*"
                                  },
                                  {
                                    "post": "/v1/{model=dynamic/*}:streamGenerateContent",
                                    "body": "*"
                                  }
                                ]
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "EmbedContent": {
                          "requestType": "EmbedContentRequest",
                          "responseType": "EmbedContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{model=models/*}:embedContent",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,content"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}:embedContent",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,content"
                            }
                          ]
                        },
                        "BatchEmbedContents": {
                          "requestType": "BatchEmbedContentsRequest",
                          "responseType": "BatchEmbedContentsResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{model=models/*}:batchEmbedContents",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}:batchEmbedContents",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,requests"
                            }
                          ]
                        },
                        "CountTokens": {
                          "requestType": "CountTokensRequest",
                          "responseType": "CountTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{model=models/*}:countTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}:countTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        }
                      }
                    },
                    "TaskType": {
                      "values": {
                        "TASK_TYPE_UNSPECIFIED": 0,
                        "RETRIEVAL_QUERY": 1,
                        "RETRIEVAL_DOCUMENT": 2,
                        "SEMANTIC_SIMILARITY": 3,
                        "CLASSIFICATION": 4,
                        "CLUSTERING": 5,
                        "QUESTION_ANSWERING": 6,
                        "FACT_VERIFICATION": 7,
                        "CODE_RETRIEVAL_QUERY": 8
                      }
                    },
                    "GenerateContentRequest": {
                      "oneofs": {
                        "_generationConfig": {
                          "oneof": [
                            "generationConfig"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generationConfig": {
                          "type": "GenerationConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerationConfig": {
                      "oneofs": {
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        },
                        "_seed": {
                          "oneof": [
                            "seed"
                          ]
                        },
                        "_presencePenalty": {
                          "oneof": [
                            "presencePenalty"
                          ]
                        },
                        "_frequencyPenalty": {
                          "oneof": [
                            "frequencyPenalty"
                          ]
                        },
                        "_responseLogprobs": {
                          "oneof": [
                            "responseLogprobs"
                          ]
                        },
                        "_logprobs": {
                          "oneof": [
                            "logprobs"
                          ]
                        },
                        "_enableEnhancedCivicAnswers": {
                          "oneof": [
                            "enableEnhancedCivicAnswers"
                          ]
                        }
                      },
                      "fields": {
                        "candidateCount": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "seed": {
                          "type": "int32",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseJsonSchemaOrdered": {
                          "type": "google.protobuf.Value",
                          "id": 28,
                          "options": {
                            "json_name": "responseJsonSchema",
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "presencePenalty": {
                          "type": "float",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "frequencyPenalty": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseLogprobs": {
                          "type": "bool",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "logprobs": {
                          "type": "int32",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "enableEnhancedCivicAnswers": {
                          "type": "bool",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateContentResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 1
                        },
                        "promptFeedback": {
                          "type": "PromptFeedback",
                          "id": 2
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelVersion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "responseId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PromptFeedback": {
                          "fields": {
                            "blockReason": {
                              "type": "BlockReason",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "safetyRatings": {
                              "rule": "repeated",
                              "type": "SafetyRating",
                              "id": 2
                            }
                          },
                          "nested": {
                            "BlockReason": {
                              "values": {
                                "BLOCK_REASON_UNSPECIFIED": 0,
                                "SAFETY": 1,
                                "OTHER": 2,
                                "BLOCKLIST": 3,
                                "PROHIBITED_CONTENT": 4,
                                "IMAGE_SAFETY": 5
                              }
                            }
                          }
                        },
                        "UsageMetadata": {
                          "fields": {
                            "promptTokenCount": {
                              "type": "int32",
                              "id": 1
                            },
                            "candidatesTokenCount": {
                              "type": "int32",
                              "id": 2
                            },
                            "toolUsePromptTokenCount": {
                              "type": "int32",
                              "id": 8,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "thoughtsTokenCount": {
                              "type": "int32",
                              "id": 10,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "totalTokenCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "promptTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 5,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "cacheTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 6,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "candidatesTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 7,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "toolUsePromptTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 9,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Candidate": {
                      "oneofs": {
                        "_index": {
                          "oneof": [
                            "index"
                          ]
                        },
                        "_finishMessage": {
                          "oneof": [
                            "finishMessage"
                          ]
                        }
                      },
                      "fields": {
                        "index": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finishReason": {
                          "type": "FinishReason",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finishMessage": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 5
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tokenCount": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingMetadata": {
                          "type": "GroundingMetadata",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "avgLogprobs": {
                          "type": "double",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "logprobsResult": {
                          "type": "LogprobsResult",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "urlContextMetadata": {
                          "type": "UrlContextMetadata",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FinishReason": {
                          "values": {
                            "FINISH_REASON_UNSPECIFIED": 0,
                            "STOP": 1,
                            "MAX_TOKENS": 2,
                            "SAFETY": 3,
                            "RECITATION": 4,
                            "LANGUAGE": 6,
                            "OTHER": 5,
                            "BLOCKLIST": 7,
                            "PROHIBITED_CONTENT": 8,
                            "SPII": 9,
                            "MALFORMED_FUNCTION_CALL": 10,
                            "IMAGE_SAFETY": 11,
                            "IMAGE_PROHIBITED_CONTENT": 14,
                            "IMAGE_OTHER": 15,
                            "NO_IMAGE": 16,
                            "IMAGE_RECITATION": 17,
                            "UNEXPECTED_TOOL_CALL": 12,
                            "TOO_MANY_TOOL_CALLS": 13
                          }
                        }
                      }
                    },
                    "UrlContextMetadata": {
                      "fields": {
                        "urlMetadata": {
                          "rule": "repeated",
                          "type": "UrlMetadata",
                          "id": 1
                        }
                      }
                    },
                    "UrlMetadata": {
                      "fields": {
                        "retrievedUrl": {
                          "type": "string",
                          "id": 1
                        },
                        "urlRetrievalStatus": {
                          "type": "UrlRetrievalStatus",
                          "id": 2
                        }
                      },
                      "nested": {
                        "UrlRetrievalStatus": {
                          "values": {
                            "URL_RETRIEVAL_STATUS_UNSPECIFIED": 0,
                            "URL_RETRIEVAL_STATUS_SUCCESS": 1,
                            "URL_RETRIEVAL_STATUS_ERROR": 2,
                            "URL_RETRIEVAL_STATUS_PAYWALL": 3,
                            "URL_RETRIEVAL_STATUS_UNSAFE": 4
                          }
                        }
                      }
                    },
                    "LogprobsResult": {
                      "oneofs": {
                        "_logProbabilitySum": {
                          "oneof": [
                            "logProbabilitySum"
                          ]
                        }
                      },
                      "fields": {
                        "logProbabilitySum": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topCandidates": {
                          "rule": "repeated",
                          "type": "TopCandidates",
                          "id": 1
                        },
                        "chosenCandidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 2
                        }
                      },
                      "nested": {
                        "Candidate": {
                          "oneofs": {
                            "_token": {
                              "oneof": [
                                "token"
                              ]
                            },
                            "_tokenId": {
                              "oneof": [
                                "tokenId"
                              ]
                            },
                            "_logProbability": {
                              "oneof": [
                                "logProbability"
                              ]
                            }
                          },
                          "fields": {
                            "token": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "tokenId": {
                              "type": "int32",
                              "id": 3,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "logProbability": {
                              "type": "float",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "TopCandidates": {
                          "fields": {
                            "candidates": {
                              "rule": "repeated",
                              "type": "Candidate",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "RetrievalMetadata": {
                      "fields": {
                        "googleSearchDynamicRetrievalScore": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingMetadata": {
                      "oneofs": {
                        "_searchEntryPoint": {
                          "oneof": [
                            "searchEntryPoint"
                          ]
                        },
                        "_retrievalMetadata": {
                          "oneof": [
                            "retrievalMetadata"
                          ]
                        },
                        "_googleMapsWidgetContextToken": {
                          "oneof": [
                            "googleMapsWidgetContextToken"
                          ]
                        }
                      },
                      "fields": {
                        "searchEntryPoint": {
                          "type": "SearchEntryPoint",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "groundingChunks": {
                          "rule": "repeated",
                          "type": "GroundingChunk",
                          "id": 2
                        },
                        "groundingSupports": {
                          "rule": "repeated",
                          "type": "GroundingSupport",
                          "id": 3
                        },
                        "retrievalMetadata": {
                          "type": "RetrievalMetadata",
                          "id": 4,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "webSearchQueries": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "googleMapsWidgetContextToken": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "SearchEntryPoint": {
                      "fields": {
                        "renderedContent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "sdkBlob": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingChunk": {
                      "oneofs": {
                        "chunkType": {
                          "oneof": [
                            "web"
                          ]
                        }
                      },
                      "fields": {
                        "web": {
                          "type": "Web",
                          "id": 1
                        }
                      },
                      "nested": {
                        "Web": {
                          "oneofs": {
                            "_uri": {
                              "oneof": [
                                "uri"
                              ]
                            },
                            "_title": {
                              "oneof": [
                                "title"
                              ]
                            }
                          },
                          "fields": {
                            "uri": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "title": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "Segment": {
                      "fields": {
                        "partIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "startIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "GroundingSupport": {
                      "oneofs": {
                        "_segment": {
                          "oneof": [
                            "segment"
                          ]
                        }
                      },
                      "fields": {
                        "segment": {
                          "type": "Segment",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "groundingChunkIndices": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 2
                        },
                        "confidenceScores": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 3
                        }
                      }
                    },
                    "EmbedContentRequest": {
                      "oneofs": {
                        "_taskType": {
                          "oneof": [
                            "taskType"
                          ]
                        },
                        "_title": {
                          "oneof": [
                            "title"
                          ]
                        },
                        "_outputDimensionality": {
                          "oneof": [
                            "outputDimensionality"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "taskType": {
                          "type": "TaskType",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "title": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "outputDimensionality": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ContentEmbedding": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "EmbedContentResponse": {
                      "fields": {
                        "embedding": {
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "EmbedContentRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CountTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generateContentRequest": {
                          "type": "GenerateContentRequest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CountTokensResponse": {
                      "fields": {
                        "totalTokens": {
                          "type": "int32",
                          "id": 1
                        },
                        "promptTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "cacheTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "HarmCategory": {
                      "valuesOptions": {
                        "HARM_CATEGORY_CIVIC_INTEGRITY": {
                          "deprecated": true
                        }
                      },
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_DEROGATORY": 1,
                        "HARM_CATEGORY_TOXICITY": 2,
                        "HARM_CATEGORY_VIOLENCE": 3,
                        "HARM_CATEGORY_SEXUAL": 4,
                        "HARM_CATEGORY_MEDICAL": 5,
                        "HARM_CATEGORY_DANGEROUS": 6,
                        "HARM_CATEGORY_HARASSMENT": 7,
                        "HARM_CATEGORY_HATE_SPEECH": 8,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 9,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 10,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 11
                      }
                    },
                    "SafetyRating": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "probability": {
                          "type": "HarmProbability",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "blocked": {
                          "type": "bool",
                          "id": 5
                        }
                      },
                      "nested": {
                        "HarmProbability": {
                          "values": {
                            "HARM_PROBABILITY_UNSPECIFIED": 0,
                            "NEGLIGIBLE": 1,
                            "LOW": 2,
                            "MEDIUM": 3,
                            "HIGH": 4
                          }
                        }
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Model",
                        "(google.api.resource).pattern": "models/{model}"
                      },
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_maxTemperature": {
                          "oneof": [
                            "maxTemperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "baseModelId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "version": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 4
                        },
                        "description": {
                          "type": "string",
                          "id": 5
                        },
                        "inputTokenLimit": {
                          "type": "int32",
                          "id": 6
                        },
                        "outputTokenLimit": {
                          "type": "int32",
                          "id": 7
                        },
                        "supportedGenerationMethods": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8
                        },
                        "temperature": {
                          "type": "float",
                          "id": 9,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "maxTemperature": {
                          "type": "float",
                          "id": 13,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 10,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 11,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "thinking": {
                          "type": "bool",
                          "id": 15
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v1/{name=models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/models",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    }
                  }
                },
                "v1alpha": {
                  "options": {
                    "go_package": "cloud.google.com/go/ai/generativelanguage/apiv1alpha/generativelanguagepb;generativelanguagepb",
                    "java_multiple_files": true,
                    "java_outer_classname": "TextServiceProto",
                    "java_package": "com.google.ai.generativelanguage.v1alpha"
                  },
                  "nested": {
                    "CacheService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "ListCachedContents": {
                          "requestType": "ListCachedContentsRequest",
                          "responseType": "ListCachedContentsResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/cachedContents",
                            "(google.api.method_signature)": ""
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/cachedContents"
                              }
                            },
                            {
                              "(google.api.method_signature)": ""
                            }
                          ]
                        },
                        "CreateCachedContent": {
                          "requestType": "CreateCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).post": "/v1alpha/cachedContents",
                            "(google.api.http).body": "cached_content",
                            "(google.api.method_signature)": "cached_content"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/cachedContents",
                                "body": "cached_content"
                              }
                            },
                            {
                              "(google.api.method_signature)": "cached_content"
                            }
                          ]
                        },
                        "GetCachedContent": {
                          "requestType": "GetCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=cachedContents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=cachedContents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCachedContent": {
                          "requestType": "UpdateCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{cached_content.name=cachedContents/*}",
                            "(google.api.http).body": "cached_content",
                            "(google.api.method_signature)": "cached_content,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{cached_content.name=cachedContents/*}",
                                "body": "cached_content"
                              }
                            },
                            {
                              "(google.api.method_signature)": "cached_content,update_mask"
                            }
                          ]
                        },
                        "DeleteCachedContent": {
                          "requestType": "DeleteCachedContentRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=cachedContents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=cachedContents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "ListCachedContentsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCachedContentsResponse": {
                      "fields": {
                        "cachedContents": {
                          "rule": "repeated",
                          "type": "CachedContent",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateCachedContentRequest": {
                      "fields": {
                        "cachedContent": {
                          "type": "CachedContent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetCachedContentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent"
                          }
                        }
                      }
                    },
                    "UpdateCachedContentRequest": {
                      "fields": {
                        "cachedContent": {
                          "type": "CachedContent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteCachedContentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent"
                          }
                        }
                      }
                    },
                    "CachedContent": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/CachedContent",
                        "(google.api.resource).pattern": "cachedContents/{id}",
                        "(google.api.resource).plural": "cachedContents",
                        "(google.api.resource).singular": "cachedContent"
                      },
                      "oneofs": {
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        },
                        "_name": {
                          "oneof": [
                            "name"
                          ]
                        },
                        "_displayName": {
                          "oneof": [
                            "displayName"
                          ]
                        },
                        "_model": {
                          "oneof": [
                            "model"
                          ]
                        },
                        "_systemInstruction": {
                          "oneof": [
                            "systemInstruction"
                          ]
                        },
                        "_toolConfig": {
                          "oneof": [
                            "toolConfig"
                          ]
                        }
                      },
                      "fields": {
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 9
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "model": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model",
                            "proto3_optional": true
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "toolConfig": {
                          "type": "ToolConfig",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "UsageMetadata": {
                          "fields": {
                            "totalTokenCount": {
                              "type": "int32",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "Type": {
                      "values": {
                        "TYPE_UNSPECIFIED": 0,
                        "STRING": 1,
                        "NUMBER": 2,
                        "INTEGER": 3,
                        "BOOLEAN": 4,
                        "ARRAY": 5,
                        "OBJECT": 6
                      }
                    },
                    "Content": {
                      "fields": {
                        "parts": {
                          "rule": "repeated",
                          "type": "Part",
                          "id": 1
                        },
                        "role": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Part": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "text",
                            "inlineData",
                            "functionCall",
                            "functionResponse",
                            "fileData",
                            "executableCode",
                            "codeExecutionResult"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 2
                        },
                        "inlineData": {
                          "type": "Blob",
                          "id": 3
                        },
                        "functionCall": {
                          "type": "FunctionCall",
                          "id": 4
                        },
                        "functionResponse": {
                          "type": "FunctionResponse",
                          "id": 5
                        },
                        "fileData": {
                          "type": "FileData",
                          "id": 6
                        },
                        "executableCode": {
                          "type": "ExecutableCode",
                          "id": 9
                        },
                        "codeExecutionResult": {
                          "type": "CodeExecutionResult",
                          "id": 10
                        }
                      }
                    },
                    "Blob": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2
                        }
                      }
                    },
                    "FileData": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fileUri": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ExecutableCode": {
                      "fields": {
                        "language": {
                          "type": "Language",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "code": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "Language": {
                          "values": {
                            "LANGUAGE_UNSPECIFIED": 0,
                            "PYTHON": 1
                          }
                        }
                      }
                    },
                    "CodeExecutionResult": {
                      "fields": {
                        "outcome": {
                          "type": "Outcome",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Outcome": {
                          "values": {
                            "OUTCOME_UNSPECIFIED": 0,
                            "OUTCOME_OK": 1,
                            "OUTCOME_FAILED": 2,
                            "OUTCOME_DEADLINE_EXCEEDED": 3
                          }
                        }
                      }
                    },
                    "Tool": {
                      "fields": {
                        "functionDeclarations": {
                          "rule": "repeated",
                          "type": "FunctionDeclaration",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "googleSearchRetrieval": {
                          "type": "GoogleSearchRetrieval",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "codeExecution": {
                          "type": "CodeExecution",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "googleSearch": {
                          "type": "GoogleSearch",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "GoogleSearch": {
                          "fields": {}
                        }
                      }
                    },
                    "GoogleSearchRetrieval": {
                      "fields": {
                        "dynamicRetrievalConfig": {
                          "type": "DynamicRetrievalConfig",
                          "id": 1
                        }
                      }
                    },
                    "DynamicRetrievalConfig": {
                      "oneofs": {
                        "_dynamicThreshold": {
                          "oneof": [
                            "dynamicThreshold"
                          ]
                        }
                      },
                      "fields": {
                        "mode": {
                          "type": "Mode",
                          "id": 1
                        },
                        "dynamicThreshold": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "Mode": {
                          "values": {
                            "MODE_UNSPECIFIED": 0,
                            "MODE_DYNAMIC": 1
                          }
                        }
                      }
                    },
                    "CodeExecution": {
                      "fields": {}
                    },
                    "ToolConfig": {
                      "fields": {
                        "functionCallingConfig": {
                          "type": "FunctionCallingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "FunctionCallingConfig": {
                      "fields": {
                        "mode": {
                          "type": "Mode",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "allowedFunctionNames": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Mode": {
                          "values": {
                            "MODE_UNSPECIFIED": 0,
                            "AUTO": 1,
                            "ANY": 2,
                            "NONE": 3
                          }
                        }
                      }
                    },
                    "FunctionDeclaration": {
                      "oneofs": {
                        "_parameters": {
                          "oneof": [
                            "parameters"
                          ]
                        },
                        "_response": {
                          "oneof": [
                            "response"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parameters": {
                          "type": "Schema",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "response": {
                          "type": "Schema",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FunctionCall": {
                      "oneofs": {
                        "_args": {
                          "oneof": [
                            "args"
                          ]
                        }
                      },
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "args": {
                          "type": "google.protobuf.Struct",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FunctionResponse": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "response": {
                          "type": "google.protobuf.Struct",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Schema": {
                      "oneofs": {
                        "_items": {
                          "oneof": [
                            "items"
                          ]
                        }
                      },
                      "fields": {
                        "type": {
                          "type": "Type",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "format": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "nullable": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "enum": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "items": {
                          "type": "Schema",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maxItems": {
                          "type": "int64",
                          "id": 21,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minItems": {
                          "type": "int64",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "properties": {
                          "keyType": "string",
                          "type": "Schema",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "required": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingPassage": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 1
                        },
                        "content": {
                          "type": "Content",
                          "id": 2
                        }
                      }
                    },
                    "GroundingPassages": {
                      "fields": {
                        "passages": {
                          "rule": "repeated",
                          "type": "GroundingPassage",
                          "id": 1
                        }
                      }
                    },
                    "CitationMetadata": {
                      "fields": {
                        "citationSources": {
                          "rule": "repeated",
                          "type": "CitationSource",
                          "id": 1
                        }
                      }
                    },
                    "CitationSource": {
                      "oneofs": {
                        "_startIndex": {
                          "oneof": [
                            "startIndex"
                          ]
                        },
                        "_endIndex": {
                          "oneof": [
                            "endIndex"
                          ]
                        },
                        "_uri": {
                          "oneof": [
                            "uri"
                          ]
                        },
                        "_license": {
                          "oneof": [
                            "license"
                          ]
                        }
                      },
                      "fields": {
                        "startIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "license": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "DiscussService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateMessage": {
                          "requestType": "GenerateMessageRequest",
                          "responseType": "GenerateMessageResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:generateMessage",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:generateMessage",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                            }
                          ]
                        },
                        "CountMessageTokens": {
                          "requestType": "CountMessageTokensRequest",
                          "responseType": "CountMessageTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:countMessageTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:countMessageTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateMessageRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateMessageResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 1
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 2
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        }
                      }
                    },
                    "Message": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "author": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "content": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "MessagePrompt": {
                      "fields": {
                        "context": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "examples": {
                          "rule": "repeated",
                          "type": "Example",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Example": {
                      "fields": {
                        "input": {
                          "type": "Message",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "Message",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_DEROGATORY": 1,
                        "HARM_CATEGORY_TOXICITY": 2,
                        "HARM_CATEGORY_VIOLENCE": 3,
                        "HARM_CATEGORY_SEXUAL": 4,
                        "HARM_CATEGORY_MEDICAL": 5,
                        "HARM_CATEGORY_DANGEROUS": 6,
                        "HARM_CATEGORY_HARASSMENT": 7,
                        "HARM_CATEGORY_HATE_SPEECH": 8,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 9,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 10,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 11
                      }
                    },
                    "ContentFilter": {
                      "oneofs": {
                        "_message": {
                          "oneof": [
                            "message"
                          ]
                        }
                      },
                      "fields": {
                        "reason": {
                          "type": "BlockedReason",
                          "id": 1
                        },
                        "message": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "BlockedReason": {
                          "values": {
                            "BLOCKED_REASON_UNSPECIFIED": 0,
                            "SAFETY": 1,
                            "OTHER": 2
                          }
                        }
                      }
                    },
                    "SafetyFeedback": {
                      "fields": {
                        "rating": {
                          "type": "SafetyRating",
                          "id": 1
                        },
                        "setting": {
                          "type": "SafetySetting",
                          "id": 2
                        }
                      }
                    },
                    "SafetyRating": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "probability": {
                          "type": "HarmProbability",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "blocked": {
                          "type": "bool",
                          "id": 5
                        }
                      },
                      "nested": {
                        "HarmProbability": {
                          "values": {
                            "HARM_PROBABILITY_UNSPECIFIED": 0,
                            "NEGLIGIBLE": 1,
                            "LOW": 2,
                            "MEDIUM": 3,
                            "HIGH": 4
                          }
                        }
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        }
                      }
                    },
                    "File": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/File",
                        "(google.api.resource).pattern": "files/{file}",
                        "(google.api.resource).plural": "files",
                        "(google.api.resource).singular": "file"
                      },
                      "oneofs": {
                        "metadata": {
                          "oneof": [
                            "videoMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "videoMetadata": {
                          "type": "VideoMetadata",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "mimeType": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sizeBytes": {
                          "type": "int64",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "expirationTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sha256Hash": {
                          "type": "bytes",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "error": {
                          "type": "google.rpc.Status",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "PROCESSING": 1,
                            "ACTIVE": 2,
                            "FAILED": 10
                          }
                        }
                      }
                    },
                    "VideoMetadata": {
                      "fields": {
                        "videoDuration": {
                          "type": "google.protobuf.Duration",
                          "id": 1
                        }
                      }
                    },
                    "FileService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreateFile": {
                          "requestType": "CreateFileRequest",
                          "responseType": "CreateFileResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/files",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/files",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ListFiles": {
                          "requestType": "ListFilesRequest",
                          "responseType": "ListFilesResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/files"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/files"
                              }
                            }
                          ]
                        },
                        "GetFile": {
                          "requestType": "GetFileRequest",
                          "responseType": "File",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=files/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=files/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DeleteFile": {
                          "requestType": "DeleteFileRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=files/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=files/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "CreateFileRequest": {
                      "fields": {
                        "file": {
                          "type": "File",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CreateFileResponse": {
                      "fields": {
                        "file": {
                          "type": "File",
                          "id": 1
                        }
                      }
                    },
                    "ListFilesRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListFilesResponse": {
                      "fields": {
                        "files": {
                          "rule": "repeated",
                          "type": "File",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GetFileRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/File"
                          }
                        }
                      }
                    },
                    "DeleteFileRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/File"
                          }
                        }
                      }
                    },
                    "GenerativeService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:generateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1alpha/{model=tunedModels/*}:generateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:generateContent",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v1alpha/{model=tunedModels/*}:generateContent",
                                  "body": "*"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "GenerateAnswer": {
                          "requestType": "GenerateAnswerRequest",
                          "responseType": "GenerateAnswerResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:generateAnswer",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,contents,safety_settings,answer_style"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:generateAnswer",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents,safety_settings,answer_style"
                            }
                          ]
                        },
                        "StreamGenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:streamGenerateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1alpha/{model=tunedModels/*}:streamGenerateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:streamGenerateContent",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v1alpha/{model=tunedModels/*}:streamGenerateContent",
                                  "body": "*"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "EmbedContent": {
                          "requestType": "EmbedContentRequest",
                          "responseType": "EmbedContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:embedContent",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,content"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:embedContent",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,content"
                            }
                          ]
                        },
                        "BatchEmbedContents": {
                          "requestType": "BatchEmbedContentsRequest",
                          "responseType": "BatchEmbedContentsResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:batchEmbedContents",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:batchEmbedContents",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,requests"
                            }
                          ]
                        },
                        "CountTokens": {
                          "requestType": "CountTokensRequest",
                          "responseType": "CountTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:countTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:countTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "BidiGenerateContent": {
                          "requestType": "BidiGenerateContentClientMessage",
                          "requestStream": true,
                          "responseType": "BidiGenerateContentServerMessage",
                          "responseStream": true
                        }
                      }
                    },
                    "TaskType": {
                      "values": {
                        "TASK_TYPE_UNSPECIFIED": 0,
                        "RETRIEVAL_QUERY": 1,
                        "RETRIEVAL_DOCUMENT": 2,
                        "SEMANTIC_SIMILARITY": 3,
                        "CLASSIFICATION": 4,
                        "CLUSTERING": 5,
                        "QUESTION_ANSWERING": 6,
                        "FACT_VERIFICATION": 7
                      }
                    },
                    "GenerateContentRequest": {
                      "oneofs": {
                        "_systemInstruction": {
                          "oneof": [
                            "systemInstruction"
                          ]
                        },
                        "_generationConfig": {
                          "oneof": [
                            "generationConfig"
                          ]
                        },
                        "_cachedContent": {
                          "oneof": [
                            "cachedContent"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "toolConfig": {
                          "type": "ToolConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generationConfig": {
                          "type": "GenerationConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "cachedContent": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "PrebuiltVoiceConfig": {
                      "oneofs": {
                        "_voiceName": {
                          "oneof": [
                            "voiceName"
                          ]
                        }
                      },
                      "fields": {
                        "voiceName": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "VoiceConfig": {
                      "oneofs": {
                        "voiceConfig": {
                          "oneof": [
                            "prebuiltVoiceConfig"
                          ]
                        }
                      },
                      "fields": {
                        "prebuiltVoiceConfig": {
                          "type": "PrebuiltVoiceConfig",
                          "id": 1
                        }
                      }
                    },
                    "SpeechConfig": {
                      "fields": {
                        "voiceConfig": {
                          "type": "VoiceConfig",
                          "id": 1
                        }
                      }
                    },
                    "GenerationConfig": {
                      "oneofs": {
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        },
                        "_presencePenalty": {
                          "oneof": [
                            "presencePenalty"
                          ]
                        },
                        "_frequencyPenalty": {
                          "oneof": [
                            "frequencyPenalty"
                          ]
                        },
                        "_responseLogprobs": {
                          "oneof": [
                            "responseLogprobs"
                          ]
                        },
                        "_logprobs": {
                          "oneof": [
                            "logprobs"
                          ]
                        },
                        "_enableEnhancedCivicAnswers": {
                          "oneof": [
                            "enableEnhancedCivicAnswers"
                          ]
                        },
                        "_speechConfig": {
                          "oneof": [
                            "speechConfig"
                          ]
                        }
                      },
                      "fields": {
                        "candidateCount": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseMimeType": {
                          "type": "string",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "responseSchema": {
                          "type": "Schema",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "presencePenalty": {
                          "type": "float",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "frequencyPenalty": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseLogprobs": {
                          "type": "bool",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "logprobs": {
                          "type": "int32",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "enableEnhancedCivicAnswers": {
                          "type": "bool",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseModalities": {
                          "rule": "repeated",
                          "type": "Modality",
                          "id": 20,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "speechConfig": {
                          "type": "SpeechConfig",
                          "id": 21,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "Modality": {
                          "values": {
                            "MODALITY_UNSPECIFIED": 0,
                            "TEXT": 1,
                            "IMAGE": 2,
                            "AUDIO": 3
                          }
                        }
                      }
                    },
                    "SemanticRetrieverConfig": {
                      "oneofs": {
                        "_maxChunksCount": {
                          "oneof": [
                            "maxChunksCount"
                          ]
                        },
                        "_minimumRelevanceScore": {
                          "oneof": [
                            "minimumRelevanceScore"
                          ]
                        }
                      },
                      "fields": {
                        "source": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "query": {
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxChunksCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "minimumRelevanceScore": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateContentResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 1
                        },
                        "promptFeedback": {
                          "type": "PromptFeedback",
                          "id": 2
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelVersion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PromptFeedback": {
                          "fields": {
                            "blockReason": {
                              "type": "BlockReason",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "safetyRatings": {
                              "rule": "repeated",
                              "type": "SafetyRating",
                              "id": 2
                            }
                          },
                          "nested": {
                            "BlockReason": {
                              "values": {
                                "BLOCK_REASON_UNSPECIFIED": 0,
                                "SAFETY": 1,
                                "OTHER": 2,
                                "BLOCKLIST": 3,
                                "PROHIBITED_CONTENT": 4,
                                "IMAGE_SAFETY": 5
                              }
                            }
                          }
                        },
                        "UsageMetadata": {
                          "fields": {
                            "promptTokenCount": {
                              "type": "int32",
                              "id": 1
                            },
                            "cachedContentTokenCount": {
                              "type": "int32",
                              "id": 4
                            },
                            "candidatesTokenCount": {
                              "type": "int32",
                              "id": 2
                            },
                            "totalTokenCount": {
                              "type": "int32",
                              "id": 3
                            }
                          }
                        }
                      }
                    },
                    "Candidate": {
                      "oneofs": {
                        "_index": {
                          "oneof": [
                            "index"
                          ]
                        }
                      },
                      "fields": {
                        "index": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finishReason": {
                          "type": "FinishReason",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 5
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tokenCount": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingAttributions": {
                          "rule": "repeated",
                          "type": "GroundingAttribution",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingMetadata": {
                          "type": "GroundingMetadata",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "avgLogprobs": {
                          "type": "double",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "logprobsResult": {
                          "type": "LogprobsResult",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FinishReason": {
                          "values": {
                            "FINISH_REASON_UNSPECIFIED": 0,
                            "STOP": 1,
                            "MAX_TOKENS": 2,
                            "SAFETY": 3,
                            "RECITATION": 4,
                            "LANGUAGE": 6,
                            "OTHER": 5,
                            "BLOCKLIST": 7,
                            "PROHIBITED_CONTENT": 8,
                            "SPII": 9,
                            "MALFORMED_FUNCTION_CALL": 10,
                            "IMAGE_SAFETY": 11
                          }
                        }
                      }
                    },
                    "LogprobsResult": {
                      "fields": {
                        "topCandidates": {
                          "rule": "repeated",
                          "type": "TopCandidates",
                          "id": 1
                        },
                        "chosenCandidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 2
                        }
                      },
                      "nested": {
                        "Candidate": {
                          "oneofs": {
                            "_token": {
                              "oneof": [
                                "token"
                              ]
                            },
                            "_tokenId": {
                              "oneof": [
                                "tokenId"
                              ]
                            },
                            "_logProbability": {
                              "oneof": [
                                "logProbability"
                              ]
                            }
                          },
                          "fields": {
                            "token": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "tokenId": {
                              "type": "int32",
                              "id": 3,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "logProbability": {
                              "type": "float",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "TopCandidates": {
                          "fields": {
                            "candidates": {
                              "rule": "repeated",
                              "type": "Candidate",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "AttributionSourceId": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "groundingPassage",
                            "semanticRetrieverChunk"
                          ]
                        }
                      },
                      "fields": {
                        "groundingPassage": {
                          "type": "GroundingPassageId",
                          "id": 1
                        },
                        "semanticRetrieverChunk": {
                          "type": "SemanticRetrieverChunk",
                          "id": 2
                        }
                      },
                      "nested": {
                        "GroundingPassageId": {
                          "fields": {
                            "passageId": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "partIndex": {
                              "type": "int32",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        },
                        "SemanticRetrieverChunk": {
                          "fields": {
                            "source": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "chunk": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "GroundingAttribution": {
                      "fields": {
                        "sourceId": {
                          "type": "AttributionSourceId",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 2
                        }
                      }
                    },
                    "RetrievalMetadata": {
                      "fields": {
                        "googleSearchDynamicRetrievalScore": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingMetadata": {
                      "oneofs": {
                        "_searchEntryPoint": {
                          "oneof": [
                            "searchEntryPoint"
                          ]
                        },
                        "_retrievalMetadata": {
                          "oneof": [
                            "retrievalMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "searchEntryPoint": {
                          "type": "SearchEntryPoint",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "groundingChunks": {
                          "rule": "repeated",
                          "type": "GroundingChunk",
                          "id": 2
                        },
                        "groundingSupports": {
                          "rule": "repeated",
                          "type": "GroundingSupport",
                          "id": 3
                        },
                        "retrievalMetadata": {
                          "type": "RetrievalMetadata",
                          "id": 4,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "webSearchQueries": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "SearchEntryPoint": {
                      "fields": {
                        "renderedContent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "sdkBlob": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingChunk": {
                      "oneofs": {
                        "chunkType": {
                          "oneof": [
                            "web"
                          ]
                        }
                      },
                      "fields": {
                        "web": {
                          "type": "Web",
                          "id": 1
                        }
                      },
                      "nested": {
                        "Web": {
                          "oneofs": {
                            "_uri": {
                              "oneof": [
                                "uri"
                              ]
                            },
                            "_title": {
                              "oneof": [
                                "title"
                              ]
                            }
                          },
                          "fields": {
                            "uri": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "title": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "Segment": {
                      "fields": {
                        "partIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "startIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "GroundingSupport": {
                      "oneofs": {
                        "_segment": {
                          "oneof": [
                            "segment"
                          ]
                        }
                      },
                      "fields": {
                        "segment": {
                          "type": "Segment",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "groundingChunkIndices": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 2
                        },
                        "confidenceScores": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 3
                        }
                      }
                    },
                    "GenerateAnswerRequest": {
                      "oneofs": {
                        "groundingSource": {
                          "oneof": [
                            "inlinePassages",
                            "semanticRetriever"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        }
                      },
                      "fields": {
                        "inlinePassages": {
                          "type": "GroundingPassages",
                          "id": 6
                        },
                        "semanticRetriever": {
                          "type": "SemanticRetrieverConfig",
                          "id": 7
                        },
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "answerStyle": {
                          "type": "AnswerStyle",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "AnswerStyle": {
                          "values": {
                            "ANSWER_STYLE_UNSPECIFIED": 0,
                            "ABSTRACTIVE": 1,
                            "EXTRACTIVE": 2,
                            "VERBOSE": 3
                          }
                        }
                      }
                    },
                    "GenerateAnswerResponse": {
                      "oneofs": {
                        "_answerableProbability": {
                          "oneof": [
                            "answerableProbability"
                          ]
                        },
                        "_inputFeedback": {
                          "oneof": [
                            "inputFeedback"
                          ]
                        }
                      },
                      "fields": {
                        "answer": {
                          "type": "Candidate",
                          "id": 1
                        },
                        "answerableProbability": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "inputFeedback": {
                          "type": "InputFeedback",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "InputFeedback": {
                          "oneofs": {
                            "_blockReason": {
                              "oneof": [
                                "blockReason"
                              ]
                            }
                          },
                          "fields": {
                            "blockReason": {
                              "type": "BlockReason",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "safetyRatings": {
                              "rule": "repeated",
                              "type": "SafetyRating",
                              "id": 2
                            }
                          },
                          "nested": {
                            "BlockReason": {
                              "values": {
                                "BLOCK_REASON_UNSPECIFIED": 0,
                                "SAFETY": 1,
                                "OTHER": 2
                              }
                            }
                          }
                        }
                      }
                    },
                    "EmbedContentRequest": {
                      "oneofs": {
                        "_taskType": {
                          "oneof": [
                            "taskType"
                          ]
                        },
                        "_title": {
                          "oneof": [
                            "title"
                          ]
                        },
                        "_outputDimensionality": {
                          "oneof": [
                            "outputDimensionality"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "taskType": {
                          "type": "TaskType",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "title": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "outputDimensionality": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ContentEmbedding": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "EmbedContentResponse": {
                      "fields": {
                        "embedding": {
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "EmbedContentRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CountTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generateContentRequest": {
                          "type": "GenerateContentRequest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CountTokensResponse": {
                      "fields": {
                        "totalTokens": {
                          "type": "int32",
                          "id": 1
                        },
                        "cachedContentTokenCount": {
                          "type": "int32",
                          "id": 5
                        }
                      }
                    },
                    "BidiGenerateContentSetup": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "generationConfig": {
                          "type": "GenerationConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentClientContent": {
                      "fields": {
                        "turns": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "turnComplete": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentRealtimeInput": {
                      "fields": {
                        "mediaChunks": {
                          "rule": "repeated",
                          "type": "Blob",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentToolResponse": {
                      "fields": {
                        "functionResponses": {
                          "rule": "repeated",
                          "type": "FunctionResponse",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentClientMessage": {
                      "oneofs": {
                        "messageType": {
                          "oneof": [
                            "setup",
                            "clientContent",
                            "realtimeInput",
                            "toolResponse"
                          ]
                        }
                      },
                      "fields": {
                        "setup": {
                          "type": "BidiGenerateContentSetup",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "clientContent": {
                          "type": "BidiGenerateContentClientContent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "realtimeInput": {
                          "type": "BidiGenerateContentRealtimeInput",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "toolResponse": {
                          "type": "BidiGenerateContentToolResponse",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentSetupComplete": {
                      "fields": {}
                    },
                    "BidiGenerateContentServerContent": {
                      "oneofs": {
                        "_modelTurn": {
                          "oneof": [
                            "modelTurn"
                          ]
                        }
                      },
                      "fields": {
                        "modelTurn": {
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "turnComplete": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "interrupted": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingMetadata": {
                          "type": "GroundingMetadata",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentToolCall": {
                      "fields": {
                        "functionCalls": {
                          "rule": "repeated",
                          "type": "FunctionCall",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentToolCallCancellation": {
                      "fields": {
                        "ids": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentServerMessage": {
                      "oneofs": {
                        "messageType": {
                          "oneof": [
                            "setupComplete",
                            "serverContent",
                            "toolCall",
                            "toolCallCancellation"
                          ]
                        }
                      },
                      "fields": {
                        "setupComplete": {
                          "type": "BidiGenerateContentSetupComplete",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "serverContent": {
                          "type": "BidiGenerateContentServerContent",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolCall": {
                          "type": "BidiGenerateContentToolCall",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolCallCancellation": {
                          "type": "BidiGenerateContentToolCallCancellation",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Corpus": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Corpus",
                        "(google.api.resource).pattern": "corpora/{corpus}",
                        "(google.api.resource).plural": "corpora",
                        "(google.api.resource).singular": "corpus"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Document": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Document",
                        "(google.api.resource).pattern": "corpora/{corpus}/documents/{document}",
                        "(google.api.resource).plural": "documents",
                        "(google.api.resource).singular": "document"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "customMetadata": {
                          "rule": "repeated",
                          "type": "CustomMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "StringList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "CustomMetadata": {
                      "oneofs": {
                        "value": {
                          "oneof": [
                            "stringValue",
                            "stringListValue",
                            "numericValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 2
                        },
                        "stringListValue": {
                          "type": "StringList",
                          "id": 6
                        },
                        "numericValue": {
                          "type": "float",
                          "id": 7
                        },
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "MetadataFilter": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "conditions": {
                          "rule": "repeated",
                          "type": "Condition",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Condition": {
                      "oneofs": {
                        "value": {
                          "oneof": [
                            "stringValue",
                            "numericValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 1
                        },
                        "numericValue": {
                          "type": "float",
                          "id": 6
                        },
                        "operation": {
                          "type": "Operator",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "Operator": {
                          "values": {
                            "OPERATOR_UNSPECIFIED": 0,
                            "LESS": 1,
                            "LESS_EQUAL": 2,
                            "EQUAL": 3,
                            "GREATER_EQUAL": 4,
                            "GREATER": 5,
                            "NOT_EQUAL": 6,
                            "INCLUDES": 7,
                            "EXCLUDES": 8
                          }
                        }
                      }
                    },
                    "Chunk": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Chunk",
                        "(google.api.resource).pattern": "corpora/{corpus}/documents/{document}/chunks/{chunk}",
                        "(google.api.resource).plural": "chunks",
                        "(google.api.resource).singular": "chunk"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "data": {
                          "type": "ChunkData",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "customMetadata": {
                          "rule": "repeated",
                          "type": "CustomMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "STATE_PENDING_PROCESSING": 1,
                            "STATE_ACTIVE": 2,
                            "STATE_FAILED": 10
                          }
                        }
                      }
                    },
                    "ChunkData": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "stringValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Model",
                        "(google.api.resource).pattern": "models/{model}"
                      },
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_maxTemperature": {
                          "oneof": [
                            "maxTemperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "baseModelId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "version": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 4
                        },
                        "description": {
                          "type": "string",
                          "id": 5
                        },
                        "inputTokenLimit": {
                          "type": "int32",
                          "id": 6
                        },
                        "outputTokenLimit": {
                          "type": "int32",
                          "id": 7
                        },
                        "supportedGenerationMethods": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8
                        },
                        "temperature": {
                          "type": "float",
                          "id": 9,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "maxTemperature": {
                          "type": "float",
                          "id": 13,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 10,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 11,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/models",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "GetTunedModel": {
                          "requestType": "GetTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListTunedModels": {
                          "requestType": "ListTunedModelsRequest",
                          "responseType": "ListTunedModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/tunedModels",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/tunedModels"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "CreateTunedModel": {
                          "requestType": "CreateTunedModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1alpha/tunedModels",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model_id,tuned_model",
                            "(google.longrunning.operation_info).response_type": "TunedModel",
                            "(google.longrunning.operation_info).metadata_type": "CreateTunedModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/tunedModels",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model"
                            },
                            {
                              "(google.api.method_signature)": "tuned_model_id,tuned_model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "TunedModel",
                                "metadata_type": "CreateTunedModelMetadata"
                              }
                            }
                          ]
                        },
                        "UpdateTunedModel": {
                          "requestType": "UpdateTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{tuned_model.name=tunedModels/*}",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{tuned_model.name=tunedModels/*}",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model,update_mask"
                            }
                          ]
                        },
                        "DeleteTunedModel": {
                          "requestType": "DeleteTunedModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GetTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "ListTunedModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListTunedModelsResponse": {
                      "fields": {
                        "tunedModels": {
                          "rule": "repeated",
                          "type": "TunedModel",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateTunedModelRequest": {
                      "oneofs": {
                        "_tunedModelId": {
                          "oneof": [
                            "tunedModelId"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateTunedModelMetadata": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "totalSteps": {
                          "type": "int32",
                          "id": 1
                        },
                        "completedSteps": {
                          "type": "int32",
                          "id": 2
                        },
                        "completedPercent": {
                          "type": "float",
                          "id": 3
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 4
                        }
                      }
                    },
                    "UpdateTunedModelRequest": {
                      "fields": {
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DeleteTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "TunedModel": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/TunedModel",
                        "(google.api.resource).pattern": "tunedModels/{tuned_model}",
                        "(google.api.resource).plural": "tunedModels",
                        "(google.api.resource).singular": "tunedModel"
                      },
                      "oneofs": {
                        "sourceModel": {
                          "oneof": [
                            "tunedModelSource",
                            "baseModel"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelSource": {
                          "type": "TunedModelSource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningTask": {
                          "type": "TuningTask",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "readerProjectNumbers": {
                          "rule": "repeated",
                          "type": "int64",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "ACTIVE": 2,
                            "FAILED": 3
                          }
                        }
                      }
                    },
                    "TunedModelSource": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "TuningTask": {
                      "fields": {
                        "startTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "completeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "trainingData": {
                          "type": "Dataset",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "hyperparameters": {
                          "type": "Hyperparameters",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      }
                    },
                    "Hyperparameters": {
                      "oneofs": {
                        "learningRateOption": {
                          "oneof": [
                            "learningRate",
                            "learningRateMultiplier"
                          ]
                        },
                        "_epochCount": {
                          "oneof": [
                            "epochCount"
                          ]
                        },
                        "_batchSize": {
                          "oneof": [
                            "batchSize"
                          ]
                        }
                      },
                      "fields": {
                        "learningRate": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "learningRateMultiplier": {
                          "type": "float",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "epochCount": {
                          "type": "int32",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "batchSize": {
                          "type": "int32",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "Dataset": {
                      "oneofs": {
                        "dataset": {
                          "oneof": [
                            "examples"
                          ]
                        }
                      },
                      "fields": {
                        "examples": {
                          "type": "TuningExamples",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "TuningExamples": {
                      "fields": {
                        "examples": {
                          "rule": "repeated",
                          "type": "TuningExample",
                          "id": 1
                        },
                        "multiturnExamples": {
                          "rule": "repeated",
                          "type": "TuningMultiturnExample",
                          "id": 2
                        }
                      }
                    },
                    "TuningPart": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "text"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TuningContent": {
                      "fields": {
                        "parts": {
                          "rule": "repeated",
                          "type": "TuningPart",
                          "id": 1
                        },
                        "role": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "TuningMultiturnExample": {
                      "oneofs": {
                        "_systemInstruction": {
                          "oneof": [
                            "systemInstruction"
                          ]
                        }
                      },
                      "fields": {
                        "systemInstruction": {
                          "type": "TuningContent",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "TuningContent",
                          "id": 1
                        }
                      }
                    },
                    "TuningExample": {
                      "oneofs": {
                        "modelInput": {
                          "oneof": [
                            "textInput"
                          ]
                        }
                      },
                      "fields": {
                        "textInput": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "output": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TuningSnapshot": {
                      "fields": {
                        "step": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "epoch": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "meanLoss": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "computeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Permission": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Permission",
                        "(google.api.resource).pattern": "corpora/{corpus}/permissions/{permission}",
                        "(google.api.resource).plural": "permissions",
                        "(google.api.resource).singular": "permission"
                      },
                      "oneofs": {
                        "_granteeType": {
                          "oneof": [
                            "granteeType"
                          ]
                        },
                        "_emailAddress": {
                          "oneof": [
                            "emailAddress"
                          ]
                        },
                        "_role": {
                          "oneof": [
                            "role"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "granteeType": {
                          "type": "GranteeType",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "role": {
                          "type": "Role",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "GranteeType": {
                          "values": {
                            "GRANTEE_TYPE_UNSPECIFIED": 0,
                            "USER": 1,
                            "GROUP": 2,
                            "EVERYONE": 3
                          }
                        },
                        "Role": {
                          "values": {
                            "ROLE_UNSPECIFIED": 0,
                            "OWNER": 1,
                            "WRITER": 2,
                            "READER": 3
                          }
                        }
                      }
                    },
                    "PermissionService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreatePermission": {
                          "requestType": "CreatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=tunedModels/*}/permissions",
                            "(google.api.http).body": "permission",
                            "(google.api.http).additional_bindings.post": "/v1alpha/{parent=corpora/*}/permissions",
                            "(google.api.http).additional_bindings.body": "permission",
                            "(google.api.method_signature)": "parent,permission"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=tunedModels/*}/permissions",
                                "body": "permission",
                                "additional_bindings": {
                                  "post": "/v1alpha/{parent=corpora/*}/permissions",
                                  "body": "permission"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,permission"
                            }
                          ]
                        },
                        "GetPermission": {
                          "requestType": "GetPermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=tunedModels/*/permissions/*}",
                            "(google.api.http).additional_bindings.get": "/v1alpha/{name=corpora/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=tunedModels/*/permissions/*}",
                                "additional_bindings": {
                                  "get": "/v1alpha/{name=corpora/*/permissions/*}"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListPermissions": {
                          "requestType": "ListPermissionsRequest",
                          "responseType": "ListPermissionsResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{parent=tunedModels/*}/permissions",
                            "(google.api.http).additional_bindings.get": "/v1alpha/{parent=corpora/*}/permissions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{parent=tunedModels/*}/permissions",
                                "additional_bindings": {
                                  "get": "/v1alpha/{parent=corpora/*}/permissions"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdatePermission": {
                          "requestType": "UpdatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{permission.name=tunedModels/*/permissions/*}",
                            "(google.api.http).body": "permission",
                            "(google.api.http).additional_bindings.patch": "/v1alpha/{permission.name=corpora/*/permissions/*}",
                            "(google.api.http).additional_bindings.body": "permission",
                            "(google.api.method_signature)": "permission,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{permission.name=tunedModels/*/permissions/*}",
                                "body": "permission",
                                "additional_bindings": {
                                  "patch": "/v1alpha/{permission.name=corpora/*/permissions/*}",
                                  "body": "permission"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "permission,update_mask"
                            }
                          ]
                        },
                        "DeletePermission": {
                          "requestType": "DeletePermissionRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=tunedModels/*/permissions/*}",
                            "(google.api.http).additional_bindings.delete": "/v1alpha/{name=corpora/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=tunedModels/*/permissions/*}",
                                "additional_bindings": {
                                  "delete": "/v1alpha/{name=corpora/*/permissions/*}"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "TransferOwnership": {
                          "requestType": "TransferOwnershipRequest",
                          "responseType": "TransferOwnershipResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{name=tunedModels/*}:transferOwnership",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{name=tunedModels/*}:transferOwnership",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreatePermissionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Permission"
                          }
                        },
                        "permission": {
                          "type": "Permission",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetPermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "ListPermissionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "*"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListPermissionsResponse": {
                      "fields": {
                        "permissions": {
                          "rule": "repeated",
                          "type": "Permission",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdatePermissionRequest": {
                      "fields": {
                        "permission": {
                          "type": "Permission",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeletePermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "TransferOwnershipRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Permission"
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TransferOwnershipResponse": {
                      "fields": {}
                    },
                    "PredictionService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "Predict": {
                          "requestType": "PredictRequest",
                          "responseType": "PredictResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:predict",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,instances"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:predict",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,instances"
                            }
                          ]
                        }
                      }
                    },
                    "PredictRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "instances": {
                          "rule": "repeated",
                          "type": "google.protobuf.Value",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parameters": {
                          "type": "google.protobuf.Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PredictResponse": {
                      "fields": {
                        "predictions": {
                          "rule": "repeated",
                          "type": "google.protobuf.Value",
                          "id": 1
                        }
                      }
                    },
                    "RetrieverService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreateCorpus": {
                          "requestType": "CreateCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).post": "/v1alpha/corpora",
                            "(google.api.http).body": "corpus",
                            "(google.api.method_signature)": "corpus"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/corpora",
                                "body": "corpus"
                              }
                            },
                            {
                              "(google.api.method_signature)": "corpus"
                            }
                          ]
                        },
                        "GetCorpus": {
                          "requestType": "GetCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=corpora/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=corpora/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCorpus": {
                          "requestType": "UpdateCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{corpus.name=corpora/*}",
                            "(google.api.http).body": "corpus",
                            "(google.api.method_signature)": "corpus,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{corpus.name=corpora/*}",
                                "body": "corpus"
                              }
                            },
                            {
                              "(google.api.method_signature)": "corpus,update_mask"
                            }
                          ]
                        },
                        "DeleteCorpus": {
                          "requestType": "DeleteCorpusRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=corpora/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=corpora/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListCorpora": {
                          "requestType": "ListCorporaRequest",
                          "responseType": "ListCorporaResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/corpora"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/corpora"
                              }
                            }
                          ]
                        },
                        "QueryCorpus": {
                          "requestType": "QueryCorpusRequest",
                          "responseType": "QueryCorpusResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{name=corpora/*}:query",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{name=corpora/*}:query",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "CreateDocument": {
                          "requestType": "CreateDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=corpora/*}/documents",
                            "(google.api.http).body": "document",
                            "(google.api.method_signature)": "parent,document"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=corpora/*}/documents",
                                "body": "document"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,document"
                            }
                          ]
                        },
                        "GetDocument": {
                          "requestType": "GetDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=corpora/*/documents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=corpora/*/documents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateDocument": {
                          "requestType": "UpdateDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{document.name=corpora/*/documents/*}",
                            "(google.api.http).body": "document",
                            "(google.api.method_signature)": "document,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{document.name=corpora/*/documents/*}",
                                "body": "document"
                              }
                            },
                            {
                              "(google.api.method_signature)": "document,update_mask"
                            }
                          ]
                        },
                        "DeleteDocument": {
                          "requestType": "DeleteDocumentRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=corpora/*/documents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=corpora/*/documents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListDocuments": {
                          "requestType": "ListDocumentsRequest",
                          "responseType": "ListDocumentsResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{parent=corpora/*}/documents",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{parent=corpora/*}/documents"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "QueryDocument": {
                          "requestType": "QueryDocumentRequest",
                          "responseType": "QueryDocumentResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{name=corpora/*/documents/*}:query",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{name=corpora/*/documents/*}:query",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "CreateChunk": {
                          "requestType": "CreateChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=corpora/*/documents/*}/chunks",
                            "(google.api.http).body": "chunk",
                            "(google.api.method_signature)": "parent,chunk"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=corpora/*/documents/*}/chunks",
                                "body": "chunk"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,chunk"
                            }
                          ]
                        },
                        "BatchCreateChunks": {
                          "requestType": "BatchCreateChunksRequest",
                          "responseType": "BatchCreateChunksResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchCreate",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchCreate",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "GetChunk": {
                          "requestType": "GetChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{name=corpora/*/documents/*/chunks/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{name=corpora/*/documents/*/chunks/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateChunk": {
                          "requestType": "UpdateChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).patch": "/v1alpha/{chunk.name=corpora/*/documents/*/chunks/*}",
                            "(google.api.http).body": "chunk",
                            "(google.api.method_signature)": "chunk,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1alpha/{chunk.name=corpora/*/documents/*/chunks/*}",
                                "body": "chunk"
                              }
                            },
                            {
                              "(google.api.method_signature)": "chunk,update_mask"
                            }
                          ]
                        },
                        "BatchUpdateChunks": {
                          "requestType": "BatchUpdateChunksRequest",
                          "responseType": "BatchUpdateChunksResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchUpdate",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchUpdate",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "DeleteChunk": {
                          "requestType": "DeleteChunkRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1alpha/{name=corpora/*/documents/*/chunks/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1alpha/{name=corpora/*/documents/*/chunks/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "BatchDeleteChunks": {
                          "requestType": "BatchDeleteChunksRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchDelete",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{parent=corpora/*/documents/*}/chunks:batchDelete",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ListChunks": {
                          "requestType": "ListChunksRequest",
                          "responseType": "ListChunksResponse",
                          "options": {
                            "(google.api.http).get": "/v1alpha/{parent=corpora/*/documents/*}/chunks",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1alpha/{parent=corpora/*/documents/*}/chunks"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateCorpusRequest": {
                      "fields": {
                        "corpus": {
                          "type": "Corpus",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        }
                      }
                    },
                    "UpdateCorpusRequest": {
                      "fields": {
                        "corpus": {
                          "type": "Corpus",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCorporaRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCorporaResponse": {
                      "fields": {
                        "corpora": {
                          "rule": "repeated",
                          "type": "Corpus",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "QueryCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "resultsCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "QueryCorpusResponse": {
                      "fields": {
                        "relevantChunks": {
                          "rule": "repeated",
                          "type": "RelevantChunk",
                          "id": 1
                        }
                      }
                    },
                    "RelevantChunk": {
                      "fields": {
                        "chunkRelevanceScore": {
                          "type": "float",
                          "id": 1
                        },
                        "chunk": {
                          "type": "Chunk",
                          "id": 2
                        }
                      }
                    },
                    "CreateDocumentRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "document": {
                          "type": "Document",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        }
                      }
                    },
                    "UpdateDocumentRequest": {
                      "fields": {
                        "document": {
                          "type": "Document",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListDocumentsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListDocumentsResponse": {
                      "fields": {
                        "documents": {
                          "rule": "repeated",
                          "type": "Document",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "QueryDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "resultsCount": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "QueryDocumentResponse": {
                      "fields": {
                        "relevantChunks": {
                          "rule": "repeated",
                          "type": "RelevantChunk",
                          "id": 1
                        }
                      }
                    },
                    "CreateChunkRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "chunk": {
                          "type": "Chunk",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchCreateChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "CreateChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchCreateChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        }
                      }
                    },
                    "GetChunkRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Chunk"
                          }
                        }
                      }
                    },
                    "UpdateChunkRequest": {
                      "fields": {
                        "chunk": {
                          "type": "Chunk",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "UpdateChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        }
                      }
                    },
                    "DeleteChunkRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Chunk"
                          }
                        }
                      }
                    },
                    "BatchDeleteChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "DeleteChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TextService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateText": {
                          "requestType": "GenerateTextRequest",
                          "responseType": "GenerateTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:generateText",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1alpha/{model=tunedModels/*}:generateText",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:generateText",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v1alpha/{model=tunedModels/*}:generateText",
                                  "body": "*"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                            }
                          ]
                        },
                        "EmbedText": {
                          "requestType": "EmbedTextRequest",
                          "responseType": "EmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:embedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,text"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:embedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,text"
                            }
                          ]
                        },
                        "BatchEmbedText": {
                          "requestType": "BatchEmbedTextRequest",
                          "responseType": "BatchEmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:batchEmbedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,texts"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:batchEmbedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,texts"
                            }
                          ]
                        },
                        "CountTextTokens": {
                          "requestType": "CountTextTokensRequest",
                          "responseType": "CountTextTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1alpha/{model=models/*}:countTextTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1alpha/{model=models/*}:countTextTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateTextRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        }
                      }
                    },
                    "GenerateTextResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "TextCompletion",
                          "id": 1
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        },
                        "safetyFeedback": {
                          "rule": "repeated",
                          "type": "SafetyFeedback",
                          "id": 4
                        }
                      }
                    },
                    "TextPrompt": {
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TextCompletion": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "output": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 2
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "EmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "EmbedTextResponse": {
                      "oneofs": {
                        "_embedding": {
                          "oneof": [
                            "embedding"
                          ]
                        }
                      },
                      "fields": {
                        "embedding": {
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "BatchEmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "texts": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "EmbedTextRequest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BatchEmbedTextResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Embedding": {
                      "fields": {
                        "value": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "CountTextTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountTextTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    }
                  }
                },
                "v1beta": {
                  "options": {
                    "go_package": "cloud.google.com/go/ai/generativelanguage/apiv1beta/generativelanguagepb;generativelanguagepb",
                    "java_multiple_files": true,
                    "java_outer_classname": "TextServiceProto",
                    "java_package": "com.google.ai.generativelanguage.v1beta"
                  },
                  "nested": {
                    "CacheService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "ListCachedContents": {
                          "requestType": "ListCachedContentsRequest",
                          "responseType": "ListCachedContentsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/cachedContents",
                            "(google.api.method_signature)": ""
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/cachedContents"
                              }
                            },
                            {
                              "(google.api.method_signature)": ""
                            }
                          ]
                        },
                        "CreateCachedContent": {
                          "requestType": "CreateCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).post": "/v1beta/cachedContents",
                            "(google.api.http).body": "cached_content",
                            "(google.api.method_signature)": "cached_content"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/cachedContents",
                                "body": "cached_content"
                              }
                            },
                            {
                              "(google.api.method_signature)": "cached_content"
                            }
                          ]
                        },
                        "GetCachedContent": {
                          "requestType": "GetCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=cachedContents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=cachedContents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCachedContent": {
                          "requestType": "UpdateCachedContentRequest",
                          "responseType": "CachedContent",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{cached_content.name=cachedContents/*}",
                            "(google.api.http).body": "cached_content",
                            "(google.api.method_signature)": "cached_content,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{cached_content.name=cachedContents/*}",
                                "body": "cached_content"
                              }
                            },
                            {
                              "(google.api.method_signature)": "cached_content,update_mask"
                            }
                          ]
                        },
                        "DeleteCachedContent": {
                          "requestType": "DeleteCachedContentRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=cachedContents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=cachedContents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "ListCachedContentsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCachedContentsResponse": {
                      "fields": {
                        "cachedContents": {
                          "rule": "repeated",
                          "type": "CachedContent",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateCachedContentRequest": {
                      "fields": {
                        "cachedContent": {
                          "type": "CachedContent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetCachedContentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent"
                          }
                        }
                      }
                    },
                    "UpdateCachedContentRequest": {
                      "fields": {
                        "cachedContent": {
                          "type": "CachedContent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteCachedContentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent"
                          }
                        }
                      }
                    },
                    "CachedContent": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/CachedContent",
                        "(google.api.resource).pattern": "cachedContents/{id}",
                        "(google.api.resource).plural": "cachedContents",
                        "(google.api.resource).singular": "cachedContent"
                      },
                      "oneofs": {
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        },
                        "_name": {
                          "oneof": [
                            "name"
                          ]
                        },
                        "_displayName": {
                          "oneof": [
                            "displayName"
                          ]
                        },
                        "_model": {
                          "oneof": [
                            "model"
                          ]
                        },
                        "_systemInstruction": {
                          "oneof": [
                            "systemInstruction"
                          ]
                        },
                        "_toolConfig": {
                          "oneof": [
                            "toolConfig"
                          ]
                        }
                      },
                      "fields": {
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 9
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "model": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model",
                            "proto3_optional": true
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "toolConfig": {
                          "type": "ToolConfig",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "UsageMetadata": {
                          "fields": {
                            "totalTokenCount": {
                              "type": "int32",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "Type": {
                      "values": {
                        "TYPE_UNSPECIFIED": 0,
                        "STRING": 1,
                        "NUMBER": 2,
                        "INTEGER": 3,
                        "BOOLEAN": 4,
                        "ARRAY": 5,
                        "OBJECT": 6,
                        "NULL": 7
                      }
                    },
                    "Modality": {
                      "values": {
                        "MODALITY_UNSPECIFIED": 0,
                        "TEXT": 1,
                        "IMAGE": 2,
                        "VIDEO": 3,
                        "AUDIO": 4,
                        "DOCUMENT": 5
                      }
                    },
                    "Content": {
                      "fields": {
                        "parts": {
                          "rule": "repeated",
                          "type": "Part",
                          "id": 1
                        },
                        "role": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Part": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "text",
                            "inlineData",
                            "functionCall",
                            "functionResponse",
                            "fileData",
                            "executableCode",
                            "codeExecutionResult"
                          ]
                        },
                        "metadata": {
                          "oneof": [
                            "videoMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 2
                        },
                        "inlineData": {
                          "type": "Blob",
                          "id": 3
                        },
                        "functionCall": {
                          "type": "FunctionCall",
                          "id": 4
                        },
                        "functionResponse": {
                          "type": "FunctionResponse",
                          "id": 5
                        },
                        "fileData": {
                          "type": "FileData",
                          "id": 6
                        },
                        "executableCode": {
                          "type": "ExecutableCode",
                          "id": 9
                        },
                        "codeExecutionResult": {
                          "type": "CodeExecutionResult",
                          "id": 10
                        },
                        "videoMetadata": {
                          "type": "VideoMetadata",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "thought": {
                          "type": "bool",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "thoughtSignature": {
                          "type": "bytes",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "partMetadata": {
                          "type": "google.protobuf.Struct",
                          "id": 8
                        }
                      }
                    },
                    "FunctionResponsePart": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "inlineData"
                          ]
                        }
                      },
                      "fields": {
                        "inlineData": {
                          "type": "FunctionResponseBlob",
                          "id": 1
                        }
                      }
                    },
                    "Blob": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2
                        }
                      }
                    },
                    "FunctionResponseBlob": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2
                        }
                      }
                    },
                    "FileData": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fileUri": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "VideoMetadata": {
                      "fields": {
                        "startOffset": {
                          "type": "google.protobuf.Duration",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "endOffset": {
                          "type": "google.protobuf.Duration",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fps": {
                          "type": "double",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ExecutableCode": {
                      "fields": {
                        "language": {
                          "type": "Language",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "code": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "Language": {
                          "values": {
                            "LANGUAGE_UNSPECIFIED": 0,
                            "PYTHON": 1
                          }
                        }
                      }
                    },
                    "CodeExecutionResult": {
                      "fields": {
                        "outcome": {
                          "type": "Outcome",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Outcome": {
                          "values": {
                            "OUTCOME_UNSPECIFIED": 0,
                            "OUTCOME_OK": 1,
                            "OUTCOME_FAILED": 2,
                            "OUTCOME_DEADLINE_EXCEEDED": 3
                          }
                        }
                      }
                    },
                    "Tool": {
                      "fields": {
                        "functionDeclarations": {
                          "rule": "repeated",
                          "type": "FunctionDeclaration",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "googleSearchRetrieval": {
                          "type": "GoogleSearchRetrieval",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "codeExecution": {
                          "type": "CodeExecution",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "googleSearch": {
                          "type": "GoogleSearch",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "computerUse": {
                          "type": "ComputerUse",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "urlContext": {
                          "type": "UrlContext",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fileSearch": {
                          "type": "FileSearch",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "googleMaps": {
                          "type": "GoogleMaps",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "GoogleSearch": {
                          "fields": {
                            "timeRangeFilter": {
                              "type": "google.type.Interval",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "ComputerUse": {
                          "fields": {
                            "environment": {
                              "type": "Environment",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "excludedPredefinedFunctions": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 5,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "Environment": {
                              "values": {
                                "ENVIRONMENT_UNSPECIFIED": 0,
                                "ENVIRONMENT_BROWSER": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "GoogleMaps": {
                      "fields": {
                        "enableWidget": {
                          "type": "bool",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "UrlContext": {
                      "fields": {}
                    },
                    "FileSearch": {
                      "fields": {
                        "retrievalResources": {
                          "rule": "repeated",
                          "type": "RetrievalResource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "retrievalConfig": {
                          "type": "RetrievalConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "RetrievalResource": {
                          "fields": {
                            "ragStoreName": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "RetrievalConfig": {
                          "oneofs": {
                            "_topK": {
                              "oneof": [
                                "topK"
                              ]
                            }
                          },
                          "fields": {
                            "topK": {
                              "type": "int32",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "metadataFilter": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        }
                      }
                    },
                    "GoogleSearchRetrieval": {
                      "fields": {
                        "dynamicRetrievalConfig": {
                          "type": "DynamicRetrievalConfig",
                          "id": 1
                        }
                      }
                    },
                    "DynamicRetrievalConfig": {
                      "oneofs": {
                        "_dynamicThreshold": {
                          "oneof": [
                            "dynamicThreshold"
                          ]
                        }
                      },
                      "fields": {
                        "mode": {
                          "type": "Mode",
                          "id": 1
                        },
                        "dynamicThreshold": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "Mode": {
                          "values": {
                            "MODE_UNSPECIFIED": 0,
                            "MODE_DYNAMIC": 1
                          }
                        }
                      }
                    },
                    "CodeExecution": {
                      "fields": {}
                    },
                    "ToolConfig": {
                      "fields": {
                        "functionCallingConfig": {
                          "type": "FunctionCallingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "retrievalConfig": {
                          "type": "RetrievalConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "RetrievalConfig": {
                      "fields": {
                        "latLng": {
                          "type": "google.type.LatLng",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "FunctionCallingConfig": {
                      "fields": {
                        "mode": {
                          "type": "Mode",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "allowedFunctionNames": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Mode": {
                          "values": {
                            "MODE_UNSPECIFIED": 0,
                            "AUTO": 1,
                            "ANY": 2,
                            "NONE": 3,
                            "VALIDATED": 4
                          }
                        }
                      }
                    },
                    "FunctionDeclaration": {
                      "oneofs": {
                        "_parameters": {
                          "oneof": [
                            "parameters"
                          ]
                        },
                        "_parametersJsonSchema": {
                          "oneof": [
                            "parametersJsonSchema"
                          ]
                        },
                        "_response": {
                          "oneof": [
                            "response"
                          ]
                        },
                        "_responseJsonSchema": {
                          "oneof": [
                            "responseJsonSchema"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parameters": {
                          "type": "Schema",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "parametersJsonSchema": {
                          "type": "google.protobuf.Value",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "response": {
                          "type": "Schema",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseJsonSchema": {
                          "type": "google.protobuf.Value",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "behavior": {
                          "type": "Behavior",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Behavior": {
                          "values": {
                            "UNSPECIFIED": 0,
                            "BLOCKING": 1,
                            "NON_BLOCKING": 2
                          }
                        }
                      }
                    },
                    "FunctionCall": {
                      "oneofs": {
                        "_args": {
                          "oneof": [
                            "args"
                          ]
                        }
                      },
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "args": {
                          "type": "google.protobuf.Struct",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FunctionResponse": {
                      "oneofs": {
                        "_scheduling": {
                          "oneof": [
                            "scheduling"
                          ]
                        }
                      },
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "response": {
                          "type": "google.protobuf.Struct",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parts": {
                          "rule": "repeated",
                          "type": "FunctionResponsePart",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "willContinue": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "scheduling": {
                          "type": "Scheduling",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "Scheduling": {
                          "values": {
                            "SCHEDULING_UNSPECIFIED": 0,
                            "SILENT": 1,
                            "WHEN_IDLE": 2,
                            "INTERRUPT": 3
                          }
                        }
                      }
                    },
                    "Schema": {
                      "oneofs": {
                        "_items": {
                          "oneof": [
                            "items"
                          ]
                        },
                        "_minimum": {
                          "oneof": [
                            "minimum"
                          ]
                        },
                        "_maximum": {
                          "oneof": [
                            "maximum"
                          ]
                        }
                      },
                      "fields": {
                        "type": {
                          "type": "Type",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "format": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "title": {
                          "type": "string",
                          "id": 24,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "nullable": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "enum": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "items": {
                          "type": "Schema",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maxItems": {
                          "type": "int64",
                          "id": 21,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minItems": {
                          "type": "int64",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "properties": {
                          "keyType": "string",
                          "type": "Schema",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "required": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minProperties": {
                          "type": "int64",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxProperties": {
                          "type": "int64",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minimum": {
                          "type": "double",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maximum": {
                          "type": "double",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "minLength": {
                          "type": "int64",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxLength": {
                          "type": "int64",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pattern": {
                          "type": "string",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "example": {
                          "type": "google.protobuf.Value",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "anyOf": {
                          "rule": "repeated",
                          "type": "Schema",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "propertyOrdering": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 23,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "default": {
                          "type": "google.protobuf.Value",
                          "id": 25,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingPassage": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 1
                        },
                        "content": {
                          "type": "Content",
                          "id": 2
                        }
                      }
                    },
                    "GroundingPassages": {
                      "fields": {
                        "passages": {
                          "rule": "repeated",
                          "type": "GroundingPassage",
                          "id": 1
                        }
                      }
                    },
                    "ModalityTokenCount": {
                      "fields": {
                        "modality": {
                          "type": "Modality",
                          "id": 1
                        },
                        "tokenCount": {
                          "type": "int32",
                          "id": 2
                        }
                      }
                    },
                    "CitationMetadata": {
                      "fields": {
                        "citationSources": {
                          "rule": "repeated",
                          "type": "CitationSource",
                          "id": 1
                        }
                      }
                    },
                    "CitationSource": {
                      "oneofs": {
                        "_startIndex": {
                          "oneof": [
                            "startIndex"
                          ]
                        },
                        "_endIndex": {
                          "oneof": [
                            "endIndex"
                          ]
                        },
                        "_uri": {
                          "oneof": [
                            "uri"
                          ]
                        },
                        "_license": {
                          "oneof": [
                            "license"
                          ]
                        }
                      },
                      "fields": {
                        "startIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "license": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "DiscussService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateMessage": {
                          "requestType": "GenerateMessageRequest",
                          "responseType": "GenerateMessageResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:generateMessage",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:generateMessage",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                            }
                          ]
                        },
                        "CountMessageTokens": {
                          "requestType": "CountMessageTokensRequest",
                          "responseType": "CountMessageTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:countMessageTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:countMessageTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateMessageRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateMessageResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 1
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 2
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        }
                      }
                    },
                    "Message": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "author": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "content": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "MessagePrompt": {
                      "fields": {
                        "context": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "examples": {
                          "rule": "repeated",
                          "type": "Example",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Example": {
                      "fields": {
                        "input": {
                          "type": "Message",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "Message",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    },
                    "HarmCategory": {
                      "valuesOptions": {
                        "HARM_CATEGORY_CIVIC_INTEGRITY": {
                          "deprecated": true
                        }
                      },
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_DEROGATORY": 1,
                        "HARM_CATEGORY_TOXICITY": 2,
                        "HARM_CATEGORY_VIOLENCE": 3,
                        "HARM_CATEGORY_SEXUAL": 4,
                        "HARM_CATEGORY_MEDICAL": 5,
                        "HARM_CATEGORY_DANGEROUS": 6,
                        "HARM_CATEGORY_HARASSMENT": 7,
                        "HARM_CATEGORY_HATE_SPEECH": 8,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 9,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 10,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 11
                      }
                    },
                    "ContentFilter": {
                      "oneofs": {
                        "_message": {
                          "oneof": [
                            "message"
                          ]
                        }
                      },
                      "fields": {
                        "reason": {
                          "type": "BlockedReason",
                          "id": 1
                        },
                        "message": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "BlockedReason": {
                          "values": {
                            "BLOCKED_REASON_UNSPECIFIED": 0,
                            "SAFETY": 1,
                            "OTHER": 2
                          }
                        }
                      }
                    },
                    "SafetyFeedback": {
                      "fields": {
                        "rating": {
                          "type": "SafetyRating",
                          "id": 1
                        },
                        "setting": {
                          "type": "SafetySetting",
                          "id": 2
                        }
                      }
                    },
                    "SafetyRating": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "probability": {
                          "type": "HarmProbability",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "blocked": {
                          "type": "bool",
                          "id": 5
                        }
                      },
                      "nested": {
                        "HarmProbability": {
                          "values": {
                            "HARM_PROBABILITY_UNSPECIFIED": 0,
                            "NEGLIGIBLE": 1,
                            "LOW": 2,
                            "MEDIUM": 3,
                            "HIGH": 4
                          }
                        }
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        }
                      }
                    },
                    "File": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/File",
                        "(google.api.resource).pattern": "files/{file}",
                        "(google.api.resource).plural": "files",
                        "(google.api.resource).singular": "file"
                      },
                      "oneofs": {
                        "metadata": {
                          "oneof": [
                            "videoMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "videoMetadata": {
                          "type": "VideoFileMetadata",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "mimeType": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sizeBytes": {
                          "type": "int64",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "expirationTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sha256Hash": {
                          "type": "bytes",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "downloadUri": {
                          "type": "string",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "source": {
                          "type": "Source",
                          "id": 13
                        },
                        "error": {
                          "type": "google.rpc.Status",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "PROCESSING": 1,
                            "ACTIVE": 2,
                            "FAILED": 10
                          }
                        },
                        "Source": {
                          "values": {
                            "SOURCE_UNSPECIFIED": 0,
                            "UPLOADED": 1,
                            "GENERATED": 2,
                            "REGISTERED": 3
                          }
                        }
                      }
                    },
                    "VideoFileMetadata": {
                      "fields": {
                        "videoDuration": {
                          "type": "google.protobuf.Duration",
                          "id": 1
                        }
                      }
                    },
                    "FileService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreateFile": {
                          "requestType": "CreateFileRequest",
                          "responseType": "CreateFileResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/files",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/files",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ListFiles": {
                          "requestType": "ListFilesRequest",
                          "responseType": "ListFilesResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/files"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/files"
                              }
                            }
                          ]
                        },
                        "GetFile": {
                          "requestType": "GetFileRequest",
                          "responseType": "File",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=files/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=files/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DeleteFile": {
                          "requestType": "DeleteFileRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=files/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=files/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DownloadFile": {
                          "requestType": "DownloadFileRequest",
                          "responseType": "DownloadFileResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=files/*}:download",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=files/*}:download"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "CreateFileRequest": {
                      "fields": {
                        "file": {
                          "type": "File",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CreateFileResponse": {
                      "fields": {
                        "file": {
                          "type": "File",
                          "id": 1
                        }
                      }
                    },
                    "ListFilesRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListFilesResponse": {
                      "fields": {
                        "files": {
                          "rule": "repeated",
                          "type": "File",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GetFileRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/File"
                          }
                        }
                      }
                    },
                    "DeleteFileRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/File"
                          }
                        }
                      }
                    },
                    "DownloadFileRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/File"
                          }
                        }
                      }
                    },
                    "DownloadFileResponse": {
                      "fields": {}
                    },
                    "GenerativeService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:generateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1beta/{model=dynamic/*}:generateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:generateContent",
                                "body": "*",
                                "additional_bindings": [
                                  {
                                    "post": "/v1beta/{model=tunedModels/*}:generateContent",
                                    "body": "*"
                                  },
                                  {
                                    "post": "/v1beta/{model=dynamic/*}:generateContent",
                                    "body": "*"
                                  }
                                ]
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "GenerateAnswer": {
                          "requestType": "GenerateAnswerRequest",
                          "responseType": "GenerateAnswerResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:generateAnswer",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,contents,safety_settings,answer_style"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:generateAnswer",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents,safety_settings,answer_style"
                            }
                          ]
                        },
                        "StreamGenerateContent": {
                          "requestType": "GenerateContentRequest",
                          "responseType": "GenerateContentResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:streamGenerateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1beta/{model=dynamic/*}:streamGenerateContent",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:streamGenerateContent",
                                "body": "*",
                                "additional_bindings": [
                                  {
                                    "post": "/v1beta/{model=tunedModels/*}:streamGenerateContent",
                                    "body": "*"
                                  },
                                  {
                                    "post": "/v1beta/{model=dynamic/*}:streamGenerateContent",
                                    "body": "*"
                                  }
                                ]
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "EmbedContent": {
                          "requestType": "EmbedContentRequest",
                          "responseType": "EmbedContentResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:embedContent",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,content"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:embedContent",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,content"
                            }
                          ]
                        },
                        "BatchEmbedContents": {
                          "requestType": "BatchEmbedContentsRequest",
                          "responseType": "BatchEmbedContentsResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:batchEmbedContents",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:batchEmbedContents",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,requests"
                            }
                          ]
                        },
                        "CountTokens": {
                          "requestType": "CountTokensRequest",
                          "responseType": "CountTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:countTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:countTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,contents"
                            }
                          ]
                        },
                        "BidiGenerateContent": {
                          "requestType": "BidiGenerateContentClientMessage",
                          "requestStream": true,
                          "responseType": "BidiGenerateContentServerMessage",
                          "responseStream": true
                        }
                      }
                    },
                    "TaskType": {
                      "values": {
                        "TASK_TYPE_UNSPECIFIED": 0,
                        "RETRIEVAL_QUERY": 1,
                        "RETRIEVAL_DOCUMENT": 2,
                        "SEMANTIC_SIMILARITY": 3,
                        "CLASSIFICATION": 4,
                        "CLUSTERING": 5,
                        "QUESTION_ANSWERING": 6,
                        "FACT_VERIFICATION": 7,
                        "CODE_RETRIEVAL_QUERY": 8
                      }
                    },
                    "GenerateContentRequest": {
                      "oneofs": {
                        "_systemInstruction": {
                          "oneof": [
                            "systemInstruction"
                          ]
                        },
                        "_generationConfig": {
                          "oneof": [
                            "generationConfig"
                          ]
                        },
                        "_cachedContent": {
                          "oneof": [
                            "cachedContent"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "toolConfig": {
                          "type": "ToolConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generationConfig": {
                          "type": "GenerationConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "cachedContent": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/CachedContent",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "PrebuiltVoiceConfig": {
                      "oneofs": {
                        "_voiceName": {
                          "oneof": [
                            "voiceName"
                          ]
                        }
                      },
                      "fields": {
                        "voiceName": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "VoiceConfig": {
                      "oneofs": {
                        "voiceConfig": {
                          "oneof": [
                            "prebuiltVoiceConfig"
                          ]
                        }
                      },
                      "fields": {
                        "prebuiltVoiceConfig": {
                          "type": "PrebuiltVoiceConfig",
                          "id": 1
                        }
                      }
                    },
                    "SpeakerVoiceConfig": {
                      "fields": {
                        "speaker": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "voiceConfig": {
                          "type": "VoiceConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "MultiSpeakerVoiceConfig": {
                      "fields": {
                        "speakerVoiceConfigs": {
                          "rule": "repeated",
                          "type": "SpeakerVoiceConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "SpeechConfig": {
                      "fields": {
                        "voiceConfig": {
                          "type": "VoiceConfig",
                          "id": 1
                        },
                        "multiSpeakerVoiceConfig": {
                          "type": "MultiSpeakerVoiceConfig",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ThinkingConfig": {
                      "oneofs": {
                        "_includeThoughts": {
                          "oneof": [
                            "includeThoughts"
                          ]
                        },
                        "_thinkingBudget": {
                          "oneof": [
                            "thinkingBudget"
                          ]
                        }
                      },
                      "fields": {
                        "includeThoughts": {
                          "type": "bool",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "thinkingBudget": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ImageConfig": {
                      "oneofs": {
                        "_aspectRatio": {
                          "oneof": [
                            "aspectRatio"
                          ]
                        }
                      },
                      "fields": {
                        "aspectRatio": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerationConfig": {
                      "oneofs": {
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        },
                        "_seed": {
                          "oneof": [
                            "seed"
                          ]
                        },
                        "_presencePenalty": {
                          "oneof": [
                            "presencePenalty"
                          ]
                        },
                        "_frequencyPenalty": {
                          "oneof": [
                            "frequencyPenalty"
                          ]
                        },
                        "_responseLogprobs": {
                          "oneof": [
                            "responseLogprobs"
                          ]
                        },
                        "_logprobs": {
                          "oneof": [
                            "logprobs"
                          ]
                        },
                        "_enableEnhancedCivicAnswers": {
                          "oneof": [
                            "enableEnhancedCivicAnswers"
                          ]
                        },
                        "_speechConfig": {
                          "oneof": [
                            "speechConfig"
                          ]
                        },
                        "_thinkingConfig": {
                          "oneof": [
                            "thinkingConfig"
                          ]
                        },
                        "_imageConfig": {
                          "oneof": [
                            "imageConfig"
                          ]
                        },
                        "_mediaResolution": {
                          "oneof": [
                            "mediaResolution"
                          ]
                        }
                      },
                      "fields": {
                        "candidateCount": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "seed": {
                          "type": "int32",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseMimeType": {
                          "type": "string",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "responseSchema": {
                          "type": "Schema",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "responseJsonSchema": {
                          "type": "google.protobuf.Value",
                          "id": 24,
                          "options": {
                            "json_name": "_responseJsonSchema",
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "responseJsonSchemaOrdered": {
                          "type": "google.protobuf.Value",
                          "id": 28,
                          "options": {
                            "json_name": "responseJsonSchema",
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "presencePenalty": {
                          "type": "float",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "frequencyPenalty": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseLogprobs": {
                          "type": "bool",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "logprobs": {
                          "type": "int32",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "enableEnhancedCivicAnswers": {
                          "type": "bool",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "responseModalities": {
                          "rule": "repeated",
                          "type": "Modality",
                          "id": 20,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "speechConfig": {
                          "type": "SpeechConfig",
                          "id": 21,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "thinkingConfig": {
                          "type": "ThinkingConfig",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "imageConfig": {
                          "type": "ImageConfig",
                          "id": 27,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "mediaResolution": {
                          "type": "MediaResolution",
                          "id": 23,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "Modality": {
                          "values": {
                            "MODALITY_UNSPECIFIED": 0,
                            "TEXT": 1,
                            "IMAGE": 2,
                            "AUDIO": 3
                          }
                        },
                        "MediaResolution": {
                          "values": {
                            "MEDIA_RESOLUTION_UNSPECIFIED": 0,
                            "MEDIA_RESOLUTION_LOW": 1,
                            "MEDIA_RESOLUTION_MEDIUM": 2,
                            "MEDIA_RESOLUTION_HIGH": 3
                          }
                        }
                      }
                    },
                    "SemanticRetrieverConfig": {
                      "oneofs": {
                        "_maxChunksCount": {
                          "oneof": [
                            "maxChunksCount"
                          ]
                        },
                        "_minimumRelevanceScore": {
                          "oneof": [
                            "minimumRelevanceScore"
                          ]
                        }
                      },
                      "fields": {
                        "source": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "query": {
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maxChunksCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "minimumRelevanceScore": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateContentResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 1
                        },
                        "promptFeedback": {
                          "type": "PromptFeedback",
                          "id": 2
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelVersion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "responseId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PromptFeedback": {
                          "fields": {
                            "blockReason": {
                              "type": "BlockReason",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "safetyRatings": {
                              "rule": "repeated",
                              "type": "SafetyRating",
                              "id": 2
                            }
                          },
                          "nested": {
                            "BlockReason": {
                              "values": {
                                "BLOCK_REASON_UNSPECIFIED": 0,
                                "SAFETY": 1,
                                "OTHER": 2,
                                "BLOCKLIST": 3,
                                "PROHIBITED_CONTENT": 4,
                                "IMAGE_SAFETY": 5
                              }
                            }
                          }
                        },
                        "UsageMetadata": {
                          "fields": {
                            "promptTokenCount": {
                              "type": "int32",
                              "id": 1
                            },
                            "cachedContentTokenCount": {
                              "type": "int32",
                              "id": 4
                            },
                            "candidatesTokenCount": {
                              "type": "int32",
                              "id": 2
                            },
                            "toolUsePromptTokenCount": {
                              "type": "int32",
                              "id": 8,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "thoughtsTokenCount": {
                              "type": "int32",
                              "id": 10,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "totalTokenCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "promptTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 5,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "cacheTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 6,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "candidatesTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 7,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "toolUsePromptTokensDetails": {
                              "rule": "repeated",
                              "type": "ModalityTokenCount",
                              "id": 9,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Candidate": {
                      "oneofs": {
                        "_index": {
                          "oneof": [
                            "index"
                          ]
                        },
                        "_finishMessage": {
                          "oneof": [
                            "finishMessage"
                          ]
                        }
                      },
                      "fields": {
                        "index": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finishReason": {
                          "type": "FinishReason",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finishMessage": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 5
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tokenCount": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingAttributions": {
                          "rule": "repeated",
                          "type": "GroundingAttribution",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingMetadata": {
                          "type": "GroundingMetadata",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "avgLogprobs": {
                          "type": "double",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "logprobsResult": {
                          "type": "LogprobsResult",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "urlContextMetadata": {
                          "type": "UrlContextMetadata",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FinishReason": {
                          "values": {
                            "FINISH_REASON_UNSPECIFIED": 0,
                            "STOP": 1,
                            "MAX_TOKENS": 2,
                            "SAFETY": 3,
                            "RECITATION": 4,
                            "LANGUAGE": 6,
                            "OTHER": 5,
                            "BLOCKLIST": 7,
                            "PROHIBITED_CONTENT": 8,
                            "SPII": 9,
                            "MALFORMED_FUNCTION_CALL": 10,
                            "IMAGE_SAFETY": 11,
                            "IMAGE_PROHIBITED_CONTENT": 14,
                            "IMAGE_OTHER": 15,
                            "NO_IMAGE": 16,
                            "IMAGE_RECITATION": 17,
                            "UNEXPECTED_TOOL_CALL": 12,
                            "TOO_MANY_TOOL_CALLS": 13
                          }
                        }
                      }
                    },
                    "UrlContextMetadata": {
                      "fields": {
                        "urlMetadata": {
                          "rule": "repeated",
                          "type": "UrlMetadata",
                          "id": 1
                        }
                      }
                    },
                    "UrlMetadata": {
                      "fields": {
                        "retrievedUrl": {
                          "type": "string",
                          "id": 1
                        },
                        "urlRetrievalStatus": {
                          "type": "UrlRetrievalStatus",
                          "id": 2
                        }
                      },
                      "nested": {
                        "UrlRetrievalStatus": {
                          "values": {
                            "URL_RETRIEVAL_STATUS_UNSPECIFIED": 0,
                            "URL_RETRIEVAL_STATUS_SUCCESS": 1,
                            "URL_RETRIEVAL_STATUS_ERROR": 2,
                            "URL_RETRIEVAL_STATUS_PAYWALL": 3,
                            "URL_RETRIEVAL_STATUS_UNSAFE": 4
                          }
                        }
                      }
                    },
                    "LogprobsResult": {
                      "oneofs": {
                        "_logProbabilitySum": {
                          "oneof": [
                            "logProbabilitySum"
                          ]
                        }
                      },
                      "fields": {
                        "logProbabilitySum": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topCandidates": {
                          "rule": "repeated",
                          "type": "TopCandidates",
                          "id": 1
                        },
                        "chosenCandidates": {
                          "rule": "repeated",
                          "type": "Candidate",
                          "id": 2
                        }
                      },
                      "nested": {
                        "Candidate": {
                          "oneofs": {
                            "_token": {
                              "oneof": [
                                "token"
                              ]
                            },
                            "_tokenId": {
                              "oneof": [
                                "tokenId"
                              ]
                            },
                            "_logProbability": {
                              "oneof": [
                                "logProbability"
                              ]
                            }
                          },
                          "fields": {
                            "token": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "tokenId": {
                              "type": "int32",
                              "id": 3,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "logProbability": {
                              "type": "float",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "TopCandidates": {
                          "fields": {
                            "candidates": {
                              "rule": "repeated",
                              "type": "Candidate",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "AttributionSourceId": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "groundingPassage",
                            "semanticRetrieverChunk"
                          ]
                        }
                      },
                      "fields": {
                        "groundingPassage": {
                          "type": "GroundingPassageId",
                          "id": 1
                        },
                        "semanticRetrieverChunk": {
                          "type": "SemanticRetrieverChunk",
                          "id": 2
                        }
                      },
                      "nested": {
                        "GroundingPassageId": {
                          "fields": {
                            "passageId": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "partIndex": {
                              "type": "int32",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        },
                        "SemanticRetrieverChunk": {
                          "fields": {
                            "source": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "chunk": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "GroundingAttribution": {
                      "fields": {
                        "sourceId": {
                          "type": "AttributionSourceId",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 2
                        }
                      }
                    },
                    "RetrievalMetadata": {
                      "fields": {
                        "googleSearchDynamicRetrievalScore": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingMetadata": {
                      "oneofs": {
                        "_searchEntryPoint": {
                          "oneof": [
                            "searchEntryPoint"
                          ]
                        },
                        "_retrievalMetadata": {
                          "oneof": [
                            "retrievalMetadata"
                          ]
                        },
                        "_googleMapsWidgetContextToken": {
                          "oneof": [
                            "googleMapsWidgetContextToken"
                          ]
                        }
                      },
                      "fields": {
                        "searchEntryPoint": {
                          "type": "SearchEntryPoint",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "groundingChunks": {
                          "rule": "repeated",
                          "type": "GroundingChunk",
                          "id": 2
                        },
                        "groundingSupports": {
                          "rule": "repeated",
                          "type": "GroundingSupport",
                          "id": 3
                        },
                        "retrievalMetadata": {
                          "type": "RetrievalMetadata",
                          "id": 4,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "webSearchQueries": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "googleMapsWidgetContextToken": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "SearchEntryPoint": {
                      "fields": {
                        "renderedContent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "sdkBlob": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GroundingChunk": {
                      "oneofs": {
                        "chunkType": {
                          "oneof": [
                            "web",
                            "retrievedContext",
                            "maps"
                          ]
                        }
                      },
                      "fields": {
                        "web": {
                          "type": "Web",
                          "id": 1
                        },
                        "retrievedContext": {
                          "type": "RetrievedContext",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "maps": {
                          "type": "Maps",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Web": {
                          "oneofs": {
                            "_uri": {
                              "oneof": [
                                "uri"
                              ]
                            },
                            "_title": {
                              "oneof": [
                                "title"
                              ]
                            }
                          },
                          "fields": {
                            "uri": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "title": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "RetrievedContext": {
                          "oneofs": {
                            "_uri": {
                              "oneof": [
                                "uri"
                              ]
                            },
                            "_title": {
                              "oneof": [
                                "title"
                              ]
                            },
                            "_text": {
                              "oneof": [
                                "text"
                              ]
                            }
                          },
                          "fields": {
                            "uri": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "title": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "text": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "Maps": {
                          "oneofs": {
                            "_uri": {
                              "oneof": [
                                "uri"
                              ]
                            },
                            "_title": {
                              "oneof": [
                                "title"
                              ]
                            },
                            "_text": {
                              "oneof": [
                                "text"
                              ]
                            },
                            "_placeId": {
                              "oneof": [
                                "placeId"
                              ]
                            },
                            "_placeAnswerSources": {
                              "oneof": [
                                "placeAnswerSources"
                              ]
                            }
                          },
                          "fields": {
                            "uri": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "title": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "text": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "placeId": {
                              "type": "string",
                              "id": 4,
                              "options": {
                                "proto3_optional": true
                              }
                            },
                            "placeAnswerSources": {
                              "type": "PlaceAnswerSources",
                              "id": 5,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          },
                          "nested": {
                            "PlaceAnswerSources": {
                              "fields": {
                                "reviewSnippets": {
                                  "rule": "repeated",
                                  "type": "ReviewSnippet",
                                  "id": 1
                                }
                              },
                              "nested": {
                                "ReviewSnippet": {
                                  "oneofs": {
                                    "_reviewId": {
                                      "oneof": [
                                        "reviewId"
                                      ]
                                    },
                                    "_googleMapsUri": {
                                      "oneof": [
                                        "googleMapsUri"
                                      ]
                                    },
                                    "_title": {
                                      "oneof": [
                                        "title"
                                      ]
                                    }
                                  },
                                  "fields": {
                                    "reviewId": {
                                      "type": "string",
                                      "id": 1,
                                      "options": {
                                        "proto3_optional": true
                                      }
                                    },
                                    "googleMapsUri": {
                                      "type": "string",
                                      "id": 2,
                                      "options": {
                                        "proto3_optional": true
                                      }
                                    },
                                    "title": {
                                      "type": "string",
                                      "id": 3,
                                      "options": {
                                        "proto3_optional": true
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "Segment": {
                      "fields": {
                        "partIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "startIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "GroundingSupport": {
                      "oneofs": {
                        "_segment": {
                          "oneof": [
                            "segment"
                          ]
                        }
                      },
                      "fields": {
                        "segment": {
                          "type": "Segment",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "groundingChunkIndices": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 2
                        },
                        "confidenceScores": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 3
                        }
                      }
                    },
                    "GenerateAnswerRequest": {
                      "oneofs": {
                        "groundingSource": {
                          "oneof": [
                            "inlinePassages",
                            "semanticRetriever"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        }
                      },
                      "fields": {
                        "inlinePassages": {
                          "type": "GroundingPassages",
                          "id": 6
                        },
                        "semanticRetriever": {
                          "type": "SemanticRetrieverConfig",
                          "id": 7
                        },
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "answerStyle": {
                          "type": "AnswerStyle",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "AnswerStyle": {
                          "values": {
                            "ANSWER_STYLE_UNSPECIFIED": 0,
                            "ABSTRACTIVE": 1,
                            "EXTRACTIVE": 2,
                            "VERBOSE": 3
                          }
                        }
                      }
                    },
                    "GenerateAnswerResponse": {
                      "oneofs": {
                        "_answerableProbability": {
                          "oneof": [
                            "answerableProbability"
                          ]
                        },
                        "_inputFeedback": {
                          "oneof": [
                            "inputFeedback"
                          ]
                        }
                      },
                      "fields": {
                        "answer": {
                          "type": "Candidate",
                          "id": 1
                        },
                        "answerableProbability": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "inputFeedback": {
                          "type": "InputFeedback",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "InputFeedback": {
                          "oneofs": {
                            "_blockReason": {
                              "oneof": [
                                "blockReason"
                              ]
                            }
                          },
                          "fields": {
                            "blockReason": {
                              "type": "BlockReason",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "safetyRatings": {
                              "rule": "repeated",
                              "type": "SafetyRating",
                              "id": 2
                            }
                          },
                          "nested": {
                            "BlockReason": {
                              "values": {
                                "BLOCK_REASON_UNSPECIFIED": 0,
                                "SAFETY": 1,
                                "OTHER": 2
                              }
                            }
                          }
                        }
                      }
                    },
                    "EmbedContentRequest": {
                      "oneofs": {
                        "_taskType": {
                          "oneof": [
                            "taskType"
                          ]
                        },
                        "_title": {
                          "oneof": [
                            "title"
                          ]
                        },
                        "_outputDimensionality": {
                          "oneof": [
                            "outputDimensionality"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "content": {
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "taskType": {
                          "type": "TaskType",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "title": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "outputDimensionality": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ContentEmbedding": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "EmbedContentResponse": {
                      "fields": {
                        "embedding": {
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "EmbedContentRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchEmbedContentsResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "ContentEmbedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CountTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "contents": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "generateContentRequest": {
                          "type": "GenerateContentRequest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CountTokensResponse": {
                      "fields": {
                        "totalTokens": {
                          "type": "int32",
                          "id": 1
                        },
                        "cachedContentTokenCount": {
                          "type": "int32",
                          "id": 5
                        },
                        "promptTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "cacheTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "RealtimeInputConfig": {
                      "oneofs": {
                        "_activityHandling": {
                          "oneof": [
                            "activityHandling"
                          ]
                        },
                        "_turnCoverage": {
                          "oneof": [
                            "turnCoverage"
                          ]
                        }
                      },
                      "fields": {
                        "automaticActivityDetection": {
                          "type": "AutomaticActivityDetection",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "activityHandling": {
                          "type": "ActivityHandling",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "turnCoverage": {
                          "type": "TurnCoverage",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "AutomaticActivityDetection": {
                          "oneofs": {
                            "_disabled": {
                              "oneof": [
                                "disabled"
                              ]
                            },
                            "_startOfSpeechSensitivity": {
                              "oneof": [
                                "startOfSpeechSensitivity"
                              ]
                            },
                            "_prefixPaddingMs": {
                              "oneof": [
                                "prefixPaddingMs"
                              ]
                            },
                            "_endOfSpeechSensitivity": {
                              "oneof": [
                                "endOfSpeechSensitivity"
                              ]
                            },
                            "_silenceDurationMs": {
                              "oneof": [
                                "silenceDurationMs"
                              ]
                            }
                          },
                          "fields": {
                            "disabled": {
                              "type": "bool",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "startOfSpeechSensitivity": {
                              "type": "StartSensitivity",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "prefixPaddingMs": {
                              "type": "int32",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "endOfSpeechSensitivity": {
                              "type": "EndSensitivity",
                              "id": 5,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            },
                            "silenceDurationMs": {
                              "type": "int32",
                              "id": 6,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            }
                          },
                          "nested": {
                            "StartSensitivity": {
                              "values": {
                                "START_SENSITIVITY_UNSPECIFIED": 0,
                                "START_SENSITIVITY_HIGH": 1,
                                "START_SENSITIVITY_LOW": 2
                              }
                            },
                            "EndSensitivity": {
                              "values": {
                                "END_SENSITIVITY_UNSPECIFIED": 0,
                                "END_SENSITIVITY_HIGH": 1,
                                "END_SENSITIVITY_LOW": 2
                              }
                            }
                          }
                        },
                        "ActivityHandling": {
                          "values": {
                            "ACTIVITY_HANDLING_UNSPECIFIED": 0,
                            "START_OF_ACTIVITY_INTERRUPTS": 1,
                            "NO_INTERRUPTION": 2
                          }
                        },
                        "TurnCoverage": {
                          "values": {
                            "TURN_COVERAGE_UNSPECIFIED": 0,
                            "TURN_INCLUDES_ONLY_ACTIVITY": 1,
                            "TURN_INCLUDES_ALL_INPUT": 2
                          }
                        }
                      }
                    },
                    "SessionResumptionConfig": {
                      "oneofs": {
                        "_handle": {
                          "oneof": [
                            "handle"
                          ]
                        }
                      },
                      "fields": {
                        "handle": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ContextWindowCompressionConfig": {
                      "oneofs": {
                        "compressionMechanism": {
                          "oneof": [
                            "slidingWindow"
                          ]
                        },
                        "_triggerTokens": {
                          "oneof": [
                            "triggerTokens"
                          ]
                        }
                      },
                      "fields": {
                        "slidingWindow": {
                          "type": "SlidingWindow",
                          "id": 2
                        },
                        "triggerTokens": {
                          "type": "int64",
                          "id": 1,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "SlidingWindow": {
                          "oneofs": {
                            "_targetTokens": {
                              "oneof": [
                                "targetTokens"
                              ]
                            }
                          },
                          "fields": {
                            "targetTokens": {
                              "type": "int64",
                              "id": 1,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        }
                      }
                    },
                    "AudioTranscriptionConfig": {
                      "fields": {}
                    },
                    "BidiGenerateContentSetup": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "generationConfig": {
                          "type": "GenerationConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "systemInstruction": {
                          "type": "Content",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tools": {
                          "rule": "repeated",
                          "type": "Tool",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "realtimeInputConfig": {
                          "type": "RealtimeInputConfig",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "sessionResumption": {
                          "type": "SessionResumptionConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "contextWindowCompression": {
                          "type": "ContextWindowCompressionConfig",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "inputAudioTranscription": {
                          "type": "AudioTranscriptionConfig",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "outputAudioTranscription": {
                          "type": "AudioTranscriptionConfig",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentClientContent": {
                      "fields": {
                        "turns": {
                          "rule": "repeated",
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "turnComplete": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentRealtimeInput": {
                      "oneofs": {
                        "_audioStreamEnd": {
                          "oneof": [
                            "audioStreamEnd"
                          ]
                        },
                        "_text": {
                          "oneof": [
                            "text"
                          ]
                        }
                      },
                      "fields": {
                        "mediaChunks": {
                          "rule": "repeated",
                          "type": "Blob",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "audio": {
                          "type": "Blob",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "audioStreamEnd": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "video": {
                          "type": "Blob",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "activityStart": {
                          "type": "ActivityStart",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "activityEnd": {
                          "type": "ActivityEnd",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "ActivityStart": {
                          "fields": {}
                        },
                        "ActivityEnd": {
                          "fields": {}
                        }
                      }
                    },
                    "BidiGenerateContentToolResponse": {
                      "fields": {
                        "functionResponses": {
                          "rule": "repeated",
                          "type": "FunctionResponse",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentClientMessage": {
                      "oneofs": {
                        "messageType": {
                          "oneof": [
                            "setup",
                            "clientContent",
                            "realtimeInput",
                            "toolResponse"
                          ]
                        }
                      },
                      "fields": {
                        "setup": {
                          "type": "BidiGenerateContentSetup",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "clientContent": {
                          "type": "BidiGenerateContentClientContent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "realtimeInput": {
                          "type": "BidiGenerateContentRealtimeInput",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "toolResponse": {
                          "type": "BidiGenerateContentToolResponse",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentSetupComplete": {
                      "fields": {}
                    },
                    "BidiGenerateContentServerContent": {
                      "oneofs": {
                        "_modelTurn": {
                          "oneof": [
                            "modelTurn"
                          ]
                        }
                      },
                      "fields": {
                        "modelTurn": {
                          "type": "Content",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        },
                        "generationComplete": {
                          "type": "bool",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "turnComplete": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "interrupted": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "groundingMetadata": {
                          "type": "GroundingMetadata",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "inputTranscription": {
                          "type": "BidiGenerateContentTranscription",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "outputTranscription": {
                          "type": "BidiGenerateContentTranscription",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "urlContextMetadata": {
                          "type": "UrlContextMetadata",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "waitingForInput": {
                          "type": "bool",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentToolCall": {
                      "fields": {
                        "functionCalls": {
                          "rule": "repeated",
                          "type": "FunctionCall",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "BidiGenerateContentToolCallCancellation": {
                      "fields": {
                        "ids": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "GoAway": {
                      "fields": {
                        "timeLeft": {
                          "type": "google.protobuf.Duration",
                          "id": 1
                        }
                      }
                    },
                    "SessionResumptionUpdate": {
                      "fields": {
                        "newHandle": {
                          "type": "string",
                          "id": 1
                        },
                        "resumable": {
                          "type": "bool",
                          "id": 2
                        }
                      }
                    },
                    "BidiGenerateContentTranscription": {
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "BidiGenerateContentServerMessage": {
                      "oneofs": {
                        "messageType": {
                          "oneof": [
                            "setupComplete",
                            "serverContent",
                            "toolCall",
                            "toolCallCancellation",
                            "goAway",
                            "sessionResumptionUpdate"
                          ]
                        }
                      },
                      "fields": {
                        "setupComplete": {
                          "type": "BidiGenerateContentSetupComplete",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "serverContent": {
                          "type": "BidiGenerateContentServerContent",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolCall": {
                          "type": "BidiGenerateContentToolCall",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolCallCancellation": {
                          "type": "BidiGenerateContentToolCallCancellation",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "goAway": {
                          "type": "GoAway",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sessionResumptionUpdate": {
                          "type": "SessionResumptionUpdate",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "usageMetadata": {
                          "type": "UsageMetadata",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "UsageMetadata": {
                      "fields": {
                        "promptTokenCount": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "cachedContentTokenCount": {
                          "type": "int32",
                          "id": 4
                        },
                        "responseTokenCount": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolUsePromptTokenCount": {
                          "type": "int32",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "thoughtsTokenCount": {
                          "type": "int32",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "totalTokenCount": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "promptTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "cacheTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "responseTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "toolUsePromptTokensDetails": {
                          "rule": "repeated",
                          "type": "ModalityTokenCount",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Corpus": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Corpus",
                        "(google.api.resource).pattern": "corpora/{corpus}",
                        "(google.api.resource).plural": "corpora",
                        "(google.api.resource).singular": "corpus"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Document": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Document",
                        "(google.api.resource).pattern": "corpora/{corpus}/documents/{document}",
                        "(google.api.resource).plural": "documents",
                        "(google.api.resource).singular": "document"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "customMetadata": {
                          "rule": "repeated",
                          "type": "CustomMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "StringList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "CustomMetadata": {
                      "oneofs": {
                        "value": {
                          "oneof": [
                            "stringValue",
                            "stringListValue",
                            "numericValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 2
                        },
                        "stringListValue": {
                          "type": "StringList",
                          "id": 6
                        },
                        "numericValue": {
                          "type": "float",
                          "id": 7
                        },
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "MetadataFilter": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "conditions": {
                          "rule": "repeated",
                          "type": "Condition",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Condition": {
                      "oneofs": {
                        "value": {
                          "oneof": [
                            "stringValue",
                            "numericValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 1
                        },
                        "numericValue": {
                          "type": "float",
                          "id": 6
                        },
                        "operation": {
                          "type": "Operator",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "Operator": {
                          "values": {
                            "OPERATOR_UNSPECIFIED": 0,
                            "LESS": 1,
                            "LESS_EQUAL": 2,
                            "EQUAL": 3,
                            "GREATER_EQUAL": 4,
                            "GREATER": 5,
                            "NOT_EQUAL": 6,
                            "INCLUDES": 7,
                            "EXCLUDES": 8
                          }
                        }
                      }
                    },
                    "Chunk": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Chunk",
                        "(google.api.resource).pattern": "corpora/{corpus}/documents/{document}/chunks/{chunk}",
                        "(google.api.resource).plural": "chunks",
                        "(google.api.resource).singular": "chunk"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "data": {
                          "type": "ChunkData",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "customMetadata": {
                          "rule": "repeated",
                          "type": "CustomMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "STATE_PENDING_PROCESSING": 1,
                            "STATE_ACTIVE": 2,
                            "STATE_FAILED": 10
                          }
                        }
                      }
                    },
                    "ChunkData": {
                      "oneofs": {
                        "data": {
                          "oneof": [
                            "stringValue"
                          ]
                        }
                      },
                      "fields": {
                        "stringValue": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Model",
                        "(google.api.resource).pattern": "models/{model}"
                      },
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_maxTemperature": {
                          "oneof": [
                            "maxTemperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "baseModelId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "version": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 4
                        },
                        "description": {
                          "type": "string",
                          "id": 5
                        },
                        "inputTokenLimit": {
                          "type": "int32",
                          "id": 6
                        },
                        "outputTokenLimit": {
                          "type": "int32",
                          "id": 7
                        },
                        "supportedGenerationMethods": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8
                        },
                        "temperature": {
                          "type": "float",
                          "id": 9,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "maxTemperature": {
                          "type": "float",
                          "id": 13,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 10,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 11,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "thinking": {
                          "type": "bool",
                          "id": 15
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/models",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "GetTunedModel": {
                          "requestType": "GetTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListTunedModels": {
                          "requestType": "ListTunedModelsRequest",
                          "responseType": "ListTunedModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/tunedModels",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/tunedModels"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "CreateTunedModel": {
                          "requestType": "CreateTunedModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1beta/tunedModels",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model_id,tuned_model",
                            "(google.longrunning.operation_info).response_type": "TunedModel",
                            "(google.longrunning.operation_info).metadata_type": "CreateTunedModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/tunedModels",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model"
                            },
                            {
                              "(google.api.method_signature)": "tuned_model_id,tuned_model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "TunedModel",
                                "metadata_type": "CreateTunedModelMetadata"
                              }
                            }
                          ]
                        },
                        "UpdateTunedModel": {
                          "requestType": "UpdateTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{tuned_model.name=tunedModels/*}",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{tuned_model.name=tunedModels/*}",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model,update_mask"
                            }
                          ]
                        },
                        "DeleteTunedModel": {
                          "requestType": "DeleteTunedModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GetTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "ListTunedModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListTunedModelsResponse": {
                      "fields": {
                        "tunedModels": {
                          "rule": "repeated",
                          "type": "TunedModel",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateTunedModelRequest": {
                      "oneofs": {
                        "_tunedModelId": {
                          "oneof": [
                            "tunedModelId"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateTunedModelMetadata": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "totalSteps": {
                          "type": "int32",
                          "id": 1
                        },
                        "completedSteps": {
                          "type": "int32",
                          "id": 2
                        },
                        "completedPercent": {
                          "type": "float",
                          "id": 3
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 4
                        }
                      }
                    },
                    "UpdateTunedModelRequest": {
                      "fields": {
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DeleteTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "TunedModel": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/TunedModel",
                        "(google.api.resource).pattern": "tunedModels/{tuned_model}",
                        "(google.api.resource).plural": "tunedModels",
                        "(google.api.resource).singular": "tunedModel"
                      },
                      "oneofs": {
                        "sourceModel": {
                          "oneof": [
                            "tunedModelSource",
                            "baseModel"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelSource": {
                          "type": "TunedModelSource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningTask": {
                          "type": "TuningTask",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "readerProjectNumbers": {
                          "rule": "repeated",
                          "type": "int64",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "ACTIVE": 2,
                            "FAILED": 3
                          }
                        }
                      }
                    },
                    "TunedModelSource": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "TuningTask": {
                      "fields": {
                        "startTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "completeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "trainingData": {
                          "type": "Dataset",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "hyperparameters": {
                          "type": "Hyperparameters",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      }
                    },
                    "Hyperparameters": {
                      "oneofs": {
                        "learningRateOption": {
                          "oneof": [
                            "learningRate",
                            "learningRateMultiplier"
                          ]
                        },
                        "_epochCount": {
                          "oneof": [
                            "epochCount"
                          ]
                        },
                        "_batchSize": {
                          "oneof": [
                            "batchSize"
                          ]
                        }
                      },
                      "fields": {
                        "learningRate": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "learningRateMultiplier": {
                          "type": "float",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "epochCount": {
                          "type": "int32",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "batchSize": {
                          "type": "int32",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "Dataset": {
                      "oneofs": {
                        "dataset": {
                          "oneof": [
                            "examples"
                          ]
                        }
                      },
                      "fields": {
                        "examples": {
                          "type": "TuningExamples",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "TuningExamples": {
                      "fields": {
                        "examples": {
                          "rule": "repeated",
                          "type": "TuningExample",
                          "id": 1
                        }
                      }
                    },
                    "TuningExample": {
                      "oneofs": {
                        "modelInput": {
                          "oneof": [
                            "textInput"
                          ]
                        }
                      },
                      "fields": {
                        "textInput": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "output": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TuningSnapshot": {
                      "fields": {
                        "step": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "epoch": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "meanLoss": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "computeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Permission": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Permission",
                        "(google.api.resource).pattern": "corpora/{corpus}/permissions/{permission}",
                        "(google.api.resource).plural": "permissions",
                        "(google.api.resource).singular": "permission"
                      },
                      "oneofs": {
                        "_granteeType": {
                          "oneof": [
                            "granteeType"
                          ]
                        },
                        "_emailAddress": {
                          "oneof": [
                            "emailAddress"
                          ]
                        },
                        "_role": {
                          "oneof": [
                            "role"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "granteeType": {
                          "type": "GranteeType",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "role": {
                          "type": "Role",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "GranteeType": {
                          "values": {
                            "GRANTEE_TYPE_UNSPECIFIED": 0,
                            "USER": 1,
                            "GROUP": 2,
                            "EVERYONE": 3
                          }
                        },
                        "Role": {
                          "values": {
                            "ROLE_UNSPECIFIED": 0,
                            "OWNER": 1,
                            "WRITER": 2,
                            "READER": 3
                          }
                        }
                      }
                    },
                    "PermissionService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreatePermission": {
                          "requestType": "CreatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=tunedModels/*}/permissions",
                            "(google.api.http).body": "permission",
                            "(google.api.http).additional_bindings.post": "/v1beta/{parent=corpora/*}/permissions",
                            "(google.api.http).additional_bindings.body": "permission",
                            "(google.api.method_signature)": "parent,permission"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=tunedModels/*}/permissions",
                                "body": "permission",
                                "additional_bindings": {
                                  "post": "/v1beta/{parent=corpora/*}/permissions",
                                  "body": "permission"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,permission"
                            }
                          ]
                        },
                        "GetPermission": {
                          "requestType": "GetPermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=tunedModels/*/permissions/*}",
                            "(google.api.http).additional_bindings.get": "/v1beta/{name=corpora/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=tunedModels/*/permissions/*}",
                                "additional_bindings": {
                                  "get": "/v1beta/{name=corpora/*/permissions/*}"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListPermissions": {
                          "requestType": "ListPermissionsRequest",
                          "responseType": "ListPermissionsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/{parent=tunedModels/*}/permissions",
                            "(google.api.http).additional_bindings.get": "/v1beta/{parent=corpora/*}/permissions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{parent=tunedModels/*}/permissions",
                                "additional_bindings": {
                                  "get": "/v1beta/{parent=corpora/*}/permissions"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdatePermission": {
                          "requestType": "UpdatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{permission.name=tunedModels/*/permissions/*}",
                            "(google.api.http).body": "permission",
                            "(google.api.http).additional_bindings.patch": "/v1beta/{permission.name=corpora/*/permissions/*}",
                            "(google.api.http).additional_bindings.body": "permission",
                            "(google.api.method_signature)": "permission,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{permission.name=tunedModels/*/permissions/*}",
                                "body": "permission",
                                "additional_bindings": {
                                  "patch": "/v1beta/{permission.name=corpora/*/permissions/*}",
                                  "body": "permission"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "permission,update_mask"
                            }
                          ]
                        },
                        "DeletePermission": {
                          "requestType": "DeletePermissionRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=tunedModels/*/permissions/*}",
                            "(google.api.http).additional_bindings.delete": "/v1beta/{name=corpora/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=tunedModels/*/permissions/*}",
                                "additional_bindings": {
                                  "delete": "/v1beta/{name=corpora/*/permissions/*}"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "TransferOwnership": {
                          "requestType": "TransferOwnershipRequest",
                          "responseType": "TransferOwnershipResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{name=tunedModels/*}:transferOwnership",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{name=tunedModels/*}:transferOwnership",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreatePermissionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Permission"
                          }
                        },
                        "permission": {
                          "type": "Permission",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetPermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "ListPermissionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "*"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListPermissionsResponse": {
                      "fields": {
                        "permissions": {
                          "rule": "repeated",
                          "type": "Permission",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdatePermissionRequest": {
                      "fields": {
                        "permission": {
                          "type": "Permission",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeletePermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "TransferOwnershipRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Permission"
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TransferOwnershipResponse": {
                      "fields": {}
                    },
                    "PredictionService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "Predict": {
                          "requestType": "PredictRequest",
                          "responseType": "PredictResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:predict",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,instances"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:predict",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,instances"
                            }
                          ]
                        },
                        "PredictLongRunning": {
                          "requestType": "PredictLongRunningRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:predictLongRunning",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,instances",
                            "(google.longrunning.operation_info).response_type": "PredictLongRunningResponse",
                            "(google.longrunning.operation_info).metadata_type": "PredictLongRunningMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:predictLongRunning",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,instances"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "PredictLongRunningResponse",
                                "metadata_type": "PredictLongRunningMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "PredictRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "instances": {
                          "rule": "repeated",
                          "type": "google.protobuf.Value",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parameters": {
                          "type": "google.protobuf.Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PredictLongRunningRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "instances": {
                          "rule": "repeated",
                          "type": "google.protobuf.Value",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parameters": {
                          "type": "google.protobuf.Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PredictResponse": {
                      "fields": {
                        "predictions": {
                          "rule": "repeated",
                          "type": "google.protobuf.Value",
                          "id": 1
                        }
                      }
                    },
                    "PredictLongRunningResponse": {
                      "oneofs": {
                        "response": {
                          "oneof": [
                            "generateVideoResponse"
                          ]
                        }
                      },
                      "fields": {
                        "generateVideoResponse": {
                          "type": "PredictLongRunningGeneratedVideoResponse",
                          "id": 1
                        }
                      }
                    },
                    "PredictLongRunningMetadata": {
                      "fields": {}
                    },
                    "Media": {
                      "oneofs": {
                        "type": {
                          "oneof": [
                            "video"
                          ]
                        }
                      },
                      "fields": {
                        "video": {
                          "type": "Video",
                          "id": 1
                        }
                      }
                    },
                    "Video": {
                      "oneofs": {
                        "content": {
                          "oneof": [
                            "video",
                            "uri"
                          ]
                        }
                      },
                      "fields": {
                        "video": {
                          "type": "bytes",
                          "id": 1
                        },
                        "uri": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "PredictLongRunningGeneratedVideoResponse": {
                      "fields": {
                        "generatedSamples": {
                          "rule": "repeated",
                          "type": "Media",
                          "id": 1
                        },
                        "raiMediaFilteredCount": {
                          "type": "int32",
                          "id": 2
                        },
                        "raiMediaFilteredReasons": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "RetrieverService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreateCorpus": {
                          "requestType": "CreateCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).post": "/v1beta/corpora",
                            "(google.api.http).body": "corpus",
                            "(google.api.method_signature)": "corpus"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/corpora",
                                "body": "corpus"
                              }
                            },
                            {
                              "(google.api.method_signature)": "corpus"
                            }
                          ]
                        },
                        "GetCorpus": {
                          "requestType": "GetCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=corpora/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=corpora/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCorpus": {
                          "requestType": "UpdateCorpusRequest",
                          "responseType": "Corpus",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{corpus.name=corpora/*}",
                            "(google.api.http).body": "corpus",
                            "(google.api.method_signature)": "corpus,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{corpus.name=corpora/*}",
                                "body": "corpus"
                              }
                            },
                            {
                              "(google.api.method_signature)": "corpus,update_mask"
                            }
                          ]
                        },
                        "DeleteCorpus": {
                          "requestType": "DeleteCorpusRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=corpora/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=corpora/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListCorpora": {
                          "requestType": "ListCorporaRequest",
                          "responseType": "ListCorporaResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/corpora"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/corpora"
                              }
                            }
                          ]
                        },
                        "QueryCorpus": {
                          "requestType": "QueryCorpusRequest",
                          "responseType": "QueryCorpusResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{name=corpora/*}:query",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{name=corpora/*}:query",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "CreateDocument": {
                          "requestType": "CreateDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=corpora/*}/documents",
                            "(google.api.http).body": "document",
                            "(google.api.method_signature)": "parent,document"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=corpora/*}/documents",
                                "body": "document"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,document"
                            }
                          ]
                        },
                        "GetDocument": {
                          "requestType": "GetDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=corpora/*/documents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=corpora/*/documents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateDocument": {
                          "requestType": "UpdateDocumentRequest",
                          "responseType": "Document",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{document.name=corpora/*/documents/*}",
                            "(google.api.http).body": "document",
                            "(google.api.method_signature)": "document,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{document.name=corpora/*/documents/*}",
                                "body": "document"
                              }
                            },
                            {
                              "(google.api.method_signature)": "document,update_mask"
                            }
                          ]
                        },
                        "DeleteDocument": {
                          "requestType": "DeleteDocumentRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=corpora/*/documents/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=corpora/*/documents/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListDocuments": {
                          "requestType": "ListDocumentsRequest",
                          "responseType": "ListDocumentsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/{parent=corpora/*}/documents",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{parent=corpora/*}/documents"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "QueryDocument": {
                          "requestType": "QueryDocumentRequest",
                          "responseType": "QueryDocumentResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{name=corpora/*/documents/*}:query",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{name=corpora/*/documents/*}:query",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "CreateChunk": {
                          "requestType": "CreateChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=corpora/*/documents/*}/chunks",
                            "(google.api.http).body": "chunk",
                            "(google.api.method_signature)": "parent,chunk"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=corpora/*/documents/*}/chunks",
                                "body": "chunk"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,chunk"
                            }
                          ]
                        },
                        "BatchCreateChunks": {
                          "requestType": "BatchCreateChunksRequest",
                          "responseType": "BatchCreateChunksResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchCreate",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchCreate",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "GetChunk": {
                          "requestType": "GetChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).get": "/v1beta/{name=corpora/*/documents/*/chunks/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{name=corpora/*/documents/*/chunks/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateChunk": {
                          "requestType": "UpdateChunkRequest",
                          "responseType": "Chunk",
                          "options": {
                            "(google.api.http).patch": "/v1beta/{chunk.name=corpora/*/documents/*/chunks/*}",
                            "(google.api.http).body": "chunk",
                            "(google.api.method_signature)": "chunk,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta/{chunk.name=corpora/*/documents/*/chunks/*}",
                                "body": "chunk"
                              }
                            },
                            {
                              "(google.api.method_signature)": "chunk,update_mask"
                            }
                          ]
                        },
                        "BatchUpdateChunks": {
                          "requestType": "BatchUpdateChunksRequest",
                          "responseType": "BatchUpdateChunksResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchUpdate",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchUpdate",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "DeleteChunk": {
                          "requestType": "DeleteChunkRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta/{name=corpora/*/documents/*/chunks/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta/{name=corpora/*/documents/*/chunks/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "BatchDeleteChunks": {
                          "requestType": "BatchDeleteChunksRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchDelete",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{parent=corpora/*/documents/*}/chunks:batchDelete",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ListChunks": {
                          "requestType": "ListChunksRequest",
                          "responseType": "ListChunksResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta/{parent=corpora/*/documents/*}/chunks",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta/{parent=corpora/*/documents/*}/chunks"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateCorpusRequest": {
                      "fields": {
                        "corpus": {
                          "type": "Corpus",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        }
                      }
                    },
                    "UpdateCorpusRequest": {
                      "fields": {
                        "corpus": {
                          "type": "Corpus",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCorporaRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCorporaResponse": {
                      "fields": {
                        "corpora": {
                          "rule": "repeated",
                          "type": "Corpus",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "QueryCorpusRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Corpus"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "resultsCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "QueryCorpusResponse": {
                      "fields": {
                        "relevantChunks": {
                          "rule": "repeated",
                          "type": "RelevantChunk",
                          "id": 1
                        }
                      }
                    },
                    "RelevantChunk": {
                      "fields": {
                        "chunkRelevanceScore": {
                          "type": "float",
                          "id": 1
                        },
                        "chunk": {
                          "type": "Chunk",
                          "id": 2
                        },
                        "document": {
                          "type": "Document",
                          "id": 3
                        }
                      }
                    },
                    "CreateDocumentRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "document": {
                          "type": "Document",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        }
                      }
                    },
                    "UpdateDocumentRequest": {
                      "fields": {
                        "document": {
                          "type": "Document",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListDocumentsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListDocumentsResponse": {
                      "fields": {
                        "documents": {
                          "rule": "repeated",
                          "type": "Document",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "QueryDocumentRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Document"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "resultsCount": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "metadataFilters": {
                          "rule": "repeated",
                          "type": "MetadataFilter",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "QueryDocumentResponse": {
                      "fields": {
                        "relevantChunks": {
                          "rule": "repeated",
                          "type": "RelevantChunk",
                          "id": 1
                        }
                      }
                    },
                    "CreateChunkRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "chunk": {
                          "type": "Chunk",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchCreateChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "CreateChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchCreateChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        }
                      }
                    },
                    "GetChunkRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Chunk"
                          }
                        }
                      }
                    },
                    "UpdateChunkRequest": {
                      "fields": {
                        "chunk": {
                          "type": "Chunk",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "UpdateChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        }
                      }
                    },
                    "DeleteChunkRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Chunk"
                          }
                        }
                      }
                    },
                    "BatchDeleteChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "DeleteChunkRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListChunksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Chunk"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListChunksResponse": {
                      "fields": {
                        "chunks": {
                          "rule": "repeated",
                          "type": "Chunk",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TextService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateText": {
                          "requestType": "GenerateTextRequest",
                          "responseType": "GenerateTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:generateText",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1beta/{model=tunedModels/*}:generateText",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:generateText",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v1beta/{model=tunedModels/*}:generateText",
                                  "body": "*"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                            }
                          ]
                        },
                        "EmbedText": {
                          "requestType": "EmbedTextRequest",
                          "responseType": "EmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:embedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,text"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:embedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,text"
                            }
                          ]
                        },
                        "BatchEmbedText": {
                          "requestType": "BatchEmbedTextRequest",
                          "responseType": "BatchEmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:batchEmbedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,texts"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:batchEmbedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,texts"
                            }
                          ]
                        },
                        "CountTextTokens": {
                          "requestType": "CountTextTokensRequest",
                          "responseType": "CountTextTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta/{model=models/*}:countTextTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}:countTextTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateTextRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        }
                      }
                    },
                    "GenerateTextResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "TextCompletion",
                          "id": 1
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        },
                        "safetyFeedback": {
                          "rule": "repeated",
                          "type": "SafetyFeedback",
                          "id": 4
                        }
                      }
                    },
                    "TextPrompt": {
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TextCompletion": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "output": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 2
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "EmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "EmbedTextResponse": {
                      "oneofs": {
                        "_embedding": {
                          "oneof": [
                            "embedding"
                          ]
                        }
                      },
                      "fields": {
                        "embedding": {
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "BatchEmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "texts": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "EmbedTextRequest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BatchEmbedTextResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Embedding": {
                      "fields": {
                        "value": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "CountTextTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountTextTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    }
                  }
                },
                "v1beta2": {
                  "options": {
                    "go_package": "cloud.google.com/go/ai/generativelanguage/apiv1beta2/generativelanguagepb;generativelanguagepb",
                    "java_multiple_files": true,
                    "java_outer_classname": "TextServiceProto",
                    "java_package": "com.google.ai.generativelanguage.v1beta2"
                  },
                  "nested": {
                    "CitationMetadata": {
                      "fields": {
                        "citationSources": {
                          "rule": "repeated",
                          "type": "CitationSource",
                          "id": 1
                        }
                      }
                    },
                    "CitationSource": {
                      "oneofs": {
                        "_startIndex": {
                          "oneof": [
                            "startIndex"
                          ]
                        },
                        "_endIndex": {
                          "oneof": [
                            "endIndex"
                          ]
                        },
                        "_uri": {
                          "oneof": [
                            "uri"
                          ]
                        },
                        "_license": {
                          "oneof": [
                            "license"
                          ]
                        }
                      },
                      "fields": {
                        "startIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "license": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "DiscussService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateMessage": {
                          "requestType": "GenerateMessageRequest",
                          "responseType": "GenerateMessageResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta2/{model=models/*}:generateMessage",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta2/{model=models/*}:generateMessage",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                            }
                          ]
                        },
                        "CountMessageTokens": {
                          "requestType": "CountMessageTokensRequest",
                          "responseType": "CountMessageTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta2/{model=models/*}:countMessageTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta2/{model=models/*}:countMessageTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateMessageRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateMessageResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 1
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 2
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        }
                      }
                    },
                    "Message": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "author": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "content": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "MessagePrompt": {
                      "fields": {
                        "context": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "examples": {
                          "rule": "repeated",
                          "type": "Example",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Example": {
                      "fields": {
                        "input": {
                          "type": "Message",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "Message",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_DEROGATORY": 1,
                        "HARM_CATEGORY_TOXICITY": 2,
                        "HARM_CATEGORY_VIOLENCE": 3,
                        "HARM_CATEGORY_SEXUAL": 4,
                        "HARM_CATEGORY_MEDICAL": 5,
                        "HARM_CATEGORY_DANGEROUS": 6
                      }
                    },
                    "ContentFilter": {
                      "oneofs": {
                        "_message": {
                          "oneof": [
                            "message"
                          ]
                        }
                      },
                      "fields": {
                        "reason": {
                          "type": "BlockedReason",
                          "id": 1
                        },
                        "message": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "BlockedReason": {
                          "values": {
                            "BLOCKED_REASON_UNSPECIFIED": 0,
                            "SAFETY": 1,
                            "OTHER": 2
                          }
                        }
                      }
                    },
                    "SafetyFeedback": {
                      "fields": {
                        "rating": {
                          "type": "SafetyRating",
                          "id": 1
                        },
                        "setting": {
                          "type": "SafetySetting",
                          "id": 2
                        }
                      }
                    },
                    "SafetyRating": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "probability": {
                          "type": "HarmProbability",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmProbability": {
                          "values": {
                            "HARM_PROBABILITY_UNSPECIFIED": 0,
                            "NEGLIGIBLE": 1,
                            "LOW": 2,
                            "MEDIUM": 3,
                            "HIGH": 4
                          }
                        }
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Model",
                        "(google.api.resource).pattern": "models/{model}"
                      },
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "baseModelId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "version": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 4
                        },
                        "description": {
                          "type": "string",
                          "id": 5
                        },
                        "inputTokenLimit": {
                          "type": "int32",
                          "id": 6
                        },
                        "outputTokenLimit": {
                          "type": "int32",
                          "id": 7
                        },
                        "supportedGenerationMethods": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8
                        },
                        "temperature": {
                          "type": "float",
                          "id": 9,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 10,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 11,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v1beta2/{name=models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta2/{name=models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta2/models",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta2/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TextService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateText": {
                          "requestType": "GenerateTextRequest",
                          "responseType": "GenerateTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta2/{model=models/*}:generateText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta2/{model=models/*}:generateText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                            }
                          ]
                        },
                        "EmbedText": {
                          "requestType": "EmbedTextRequest",
                          "responseType": "EmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta2/{model=models/*}:embedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,text"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta2/{model=models/*}:embedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,text"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateTextRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 8
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        }
                      }
                    },
                    "GenerateTextResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "TextCompletion",
                          "id": 1
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        },
                        "safetyFeedback": {
                          "rule": "repeated",
                          "type": "SafetyFeedback",
                          "id": 4
                        }
                      }
                    },
                    "TextPrompt": {
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TextCompletion": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "output": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 2
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "EmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "EmbedTextResponse": {
                      "oneofs": {
                        "_embedding": {
                          "oneof": [
                            "embedding"
                          ]
                        }
                      },
                      "fields": {
                        "embedding": {
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "Embedding": {
                      "fields": {
                        "value": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    }
                  }
                },
                "v1beta3": {
                  "options": {
                    "go_package": "cloud.google.com/go/ai/generativelanguage/apiv1beta3/generativelanguagepb;generativelanguagepb",
                    "java_multiple_files": true,
                    "java_outer_classname": "TextServiceProto",
                    "java_package": "com.google.ai.generativelanguage.v1beta3"
                  },
                  "nested": {
                    "CitationMetadata": {
                      "fields": {
                        "citationSources": {
                          "rule": "repeated",
                          "type": "CitationSource",
                          "id": 1
                        }
                      }
                    },
                    "CitationSource": {
                      "oneofs": {
                        "_startIndex": {
                          "oneof": [
                            "startIndex"
                          ]
                        },
                        "_endIndex": {
                          "oneof": [
                            "endIndex"
                          ]
                        },
                        "_uri": {
                          "oneof": [
                            "uri"
                          ]
                        },
                        "_license": {
                          "oneof": [
                            "license"
                          ]
                        }
                      },
                      "fields": {
                        "startIndex": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "endIndex": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "license": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "DiscussService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateMessage": {
                          "requestType": "GenerateMessageRequest",
                          "responseType": "GenerateMessageResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:generateMessage",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:generateMessage",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,top_p,top_k"
                            }
                          ]
                        },
                        "CountMessageTokens": {
                          "requestType": "CountMessageTokensRequest",
                          "responseType": "CountMessageTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:countMessageTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:countMessageTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateMessageRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "GenerateMessageResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 1
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 2
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        }
                      }
                    },
                    "Message": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "author": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "content": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "MessagePrompt": {
                      "fields": {
                        "context": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "examples": {
                          "rule": "repeated",
                          "type": "Example",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "messages": {
                          "rule": "repeated",
                          "type": "Message",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Example": {
                      "fields": {
                        "input": {
                          "type": "Message",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "output": {
                          "type": "Message",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "MessagePrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountMessageTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_DEROGATORY": 1,
                        "HARM_CATEGORY_TOXICITY": 2,
                        "HARM_CATEGORY_VIOLENCE": 3,
                        "HARM_CATEGORY_SEXUAL": 4,
                        "HARM_CATEGORY_MEDICAL": 5,
                        "HARM_CATEGORY_DANGEROUS": 6
                      }
                    },
                    "ContentFilter": {
                      "oneofs": {
                        "_message": {
                          "oneof": [
                            "message"
                          ]
                        }
                      },
                      "fields": {
                        "reason": {
                          "type": "BlockedReason",
                          "id": 1
                        },
                        "message": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "BlockedReason": {
                          "values": {
                            "BLOCKED_REASON_UNSPECIFIED": 0,
                            "SAFETY": 1,
                            "OTHER": 2
                          }
                        }
                      }
                    },
                    "SafetyFeedback": {
                      "fields": {
                        "rating": {
                          "type": "SafetyRating",
                          "id": 1
                        },
                        "setting": {
                          "type": "SafetySetting",
                          "id": 2
                        }
                      }
                    },
                    "SafetyRating": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "probability": {
                          "type": "HarmProbability",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmProbability": {
                          "values": {
                            "HARM_PROBABILITY_UNSPECIFIED": 0,
                            "NEGLIGIBLE": 1,
                            "LOW": 2,
                            "MEDIUM": 3,
                            "HIGH": 4
                          }
                        }
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Model",
                        "(google.api.resource).pattern": "models/{model}"
                      },
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "baseModelId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "version": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 4
                        },
                        "description": {
                          "type": "string",
                          "id": 5
                        },
                        "inputTokenLimit": {
                          "type": "int32",
                          "id": 6
                        },
                        "outputTokenLimit": {
                          "type": "int32",
                          "id": 7
                        },
                        "supportedGenerationMethods": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 8
                        },
                        "temperature": {
                          "type": "float",
                          "id": 9,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 10,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 11,
                          "options": {
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v1beta3/{name=models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/{name=models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta3/models",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "GetTunedModel": {
                          "requestType": "GetTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).get": "/v1beta3/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListTunedModels": {
                          "requestType": "ListTunedModelsRequest",
                          "responseType": "ListTunedModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta3/tunedModels",
                            "(google.api.method_signature)": "page_size,page_token"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/tunedModels"
                              }
                            },
                            {
                              "(google.api.method_signature)": "page_size,page_token"
                            }
                          ]
                        },
                        "CreateTunedModel": {
                          "requestType": "CreateTunedModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1beta3/tunedModels",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model_id,tuned_model",
                            "(google.longrunning.operation_info).response_type": "TunedModel",
                            "(google.longrunning.operation_info).metadata_type": "CreateTunedModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/tunedModels",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model"
                            },
                            {
                              "(google.api.method_signature)": "tuned_model_id,tuned_model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "TunedModel",
                                "metadata_type": "CreateTunedModelMetadata"
                              }
                            }
                          ]
                        },
                        "UpdateTunedModel": {
                          "requestType": "UpdateTunedModelRequest",
                          "responseType": "TunedModel",
                          "options": {
                            "(google.api.http).patch": "/v1beta3/{tuned_model.name=tunedModels/*}",
                            "(google.api.http).body": "tuned_model",
                            "(google.api.method_signature)": "tuned_model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta3/{tuned_model.name=tunedModels/*}",
                                "body": "tuned_model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "tuned_model,update_mask"
                            }
                          ]
                        },
                        "DeleteTunedModel": {
                          "requestType": "DeleteTunedModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta3/{name=tunedModels/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta3/{name=tunedModels/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GetTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "ListTunedModelsRequest": {
                      "fields": {
                        "pageSize": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListTunedModelsResponse": {
                      "fields": {
                        "tunedModels": {
                          "rule": "repeated",
                          "type": "TunedModel",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateTunedModelRequest": {
                      "oneofs": {
                        "_tunedModelId": {
                          "oneof": [
                            "tunedModelId"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateTunedModelMetadata": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "totalSteps": {
                          "type": "int32",
                          "id": 1
                        },
                        "completedSteps": {
                          "type": "int32",
                          "id": 2
                        },
                        "completedPercent": {
                          "type": "float",
                          "id": 3
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 4
                        }
                      }
                    },
                    "UpdateTunedModelRequest": {
                      "fields": {
                        "tunedModel": {
                          "type": "TunedModel",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteTunedModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        }
                      }
                    },
                    "TunedModel": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/TunedModel",
                        "(google.api.resource).pattern": "tunedModels/{tuned_model}",
                        "(google.api.resource).plural": "tunedModels",
                        "(google.api.resource).singular": "tunedModel"
                      },
                      "oneofs": {
                        "sourceModel": {
                          "oneof": [
                            "tunedModelSource",
                            "baseModel"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "tunedModelSource": {
                          "type": "TunedModelSource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "description": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningTask": {
                          "type": "TuningTask",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "ACTIVE": 2,
                            "FAILED": 3
                          }
                        }
                      }
                    },
                    "TunedModelSource": {
                      "fields": {
                        "tunedModel": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "baseModel": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "TuningTask": {
                      "fields": {
                        "startTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "completeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "snapshots": {
                          "rule": "repeated",
                          "type": "TuningSnapshot",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "trainingData": {
                          "type": "Dataset",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "hyperparameters": {
                          "type": "Hyperparameters",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      }
                    },
                    "Hyperparameters": {
                      "oneofs": {
                        "_epochCount": {
                          "oneof": [
                            "epochCount"
                          ]
                        },
                        "_batchSize": {
                          "oneof": [
                            "batchSize"
                          ]
                        },
                        "_learningRate": {
                          "oneof": [
                            "learningRate"
                          ]
                        }
                      },
                      "fields": {
                        "epochCount": {
                          "type": "int32",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "batchSize": {
                          "type": "int32",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "learningRate": {
                          "type": "float",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "Dataset": {
                      "oneofs": {
                        "dataset": {
                          "oneof": [
                            "examples"
                          ]
                        }
                      },
                      "fields": {
                        "examples": {
                          "type": "TuningExamples",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "TuningExamples": {
                      "fields": {
                        "examples": {
                          "rule": "repeated",
                          "type": "TuningExample",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TuningExample": {
                      "oneofs": {
                        "modelInput": {
                          "oneof": [
                            "textInput"
                          ]
                        }
                      },
                      "fields": {
                        "textInput": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "output": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TuningSnapshot": {
                      "fields": {
                        "step": {
                          "type": "int32",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "epoch": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "meanLoss": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "computeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Permission": {
                      "options": {
                        "(google.api.resource).type": "generativelanguage.googleapis.com/Permission",
                        "(google.api.resource).pattern": "tunedModels/{tuned_model}/permissions/{permission}",
                        "(google.api.resource).plural": "permissions",
                        "(google.api.resource).singular": "permission"
                      },
                      "oneofs": {
                        "_granteeType": {
                          "oneof": [
                            "granteeType"
                          ]
                        },
                        "_emailAddress": {
                          "oneof": [
                            "emailAddress"
                          ]
                        },
                        "_role": {
                          "oneof": [
                            "role"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "granteeType": {
                          "type": "GranteeType",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "proto3_optional": true
                          }
                        },
                        "role": {
                          "type": "Role",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "proto3_optional": true
                          }
                        }
                      },
                      "nested": {
                        "GranteeType": {
                          "values": {
                            "GRANTEE_TYPE_UNSPECIFIED": 0,
                            "USER": 1,
                            "GROUP": 2,
                            "EVERYONE": 3
                          }
                        },
                        "Role": {
                          "values": {
                            "ROLE_UNSPECIFIED": 0,
                            "OWNER": 1,
                            "WRITER": 2,
                            "READER": 3
                          }
                        }
                      }
                    },
                    "PermissionService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "CreatePermission": {
                          "requestType": "CreatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{parent=tunedModels/*}/permissions",
                            "(google.api.http).body": "permission",
                            "(google.api.method_signature)": "parent,permission"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{parent=tunedModels/*}/permissions",
                                "body": "permission"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,permission"
                            }
                          ]
                        },
                        "GetPermission": {
                          "requestType": "GetPermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).get": "/v1beta3/{name=tunedModels/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/{name=tunedModels/*/permissions/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListPermissions": {
                          "requestType": "ListPermissionsRequest",
                          "responseType": "ListPermissionsResponse",
                          "options": {
                            "(google.api.http).get": "/v1beta3/{parent=tunedModels/*}/permissions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1beta3/{parent=tunedModels/*}/permissions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdatePermission": {
                          "requestType": "UpdatePermissionRequest",
                          "responseType": "Permission",
                          "options": {
                            "(google.api.http).patch": "/v1beta3/{permission.name=tunedModels/*/permissions/*}",
                            "(google.api.http).body": "permission",
                            "(google.api.method_signature)": "permission,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1beta3/{permission.name=tunedModels/*/permissions/*}",
                                "body": "permission"
                              }
                            },
                            {
                              "(google.api.method_signature)": "permission,update_mask"
                            }
                          ]
                        },
                        "DeletePermission": {
                          "requestType": "DeletePermissionRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1beta3/{name=tunedModels/*/permissions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1beta3/{name=tunedModels/*/permissions/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "TransferOwnership": {
                          "requestType": "TransferOwnershipRequest",
                          "responseType": "TransferOwnershipResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{name=tunedModels/*}:transferOwnership",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{name=tunedModels/*}:transferOwnership",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreatePermissionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "generativelanguage.googleapis.com/Permission"
                          }
                        },
                        "permission": {
                          "type": "Permission",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetPermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "ListPermissionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "*"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListPermissionsResponse": {
                      "fields": {
                        "permissions": {
                          "rule": "repeated",
                          "type": "Permission",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdatePermissionRequest": {
                      "fields": {
                        "permission": {
                          "type": "Permission",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeletePermissionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Permission"
                          }
                        }
                      }
                    },
                    "TransferOwnershipRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/TunedModel"
                          }
                        },
                        "emailAddress": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TransferOwnershipResponse": {
                      "fields": {}
                    },
                    "TextService": {
                      "options": {
                        "(google.api.default_host)": "generativelanguage.googleapis.com"
                      },
                      "methods": {
                        "GenerateText": {
                          "requestType": "GenerateTextRequest",
                          "responseType": "GenerateTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:generateText",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1beta3/{model=tunedModels/*}:generateText",
                            "(google.api.http).additional_bindings.body": "*",
                            "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:generateText",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v1beta3/{model=tunedModels/*}:generateText",
                                  "body": "*"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt,temperature,candidate_count,max_output_tokens,top_p,top_k"
                            }
                          ]
                        },
                        "EmbedText": {
                          "requestType": "EmbedTextRequest",
                          "responseType": "EmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:embedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,text"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:embedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,text"
                            }
                          ]
                        },
                        "BatchEmbedText": {
                          "requestType": "BatchEmbedTextRequest",
                          "responseType": "BatchEmbedTextResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:batchEmbedText",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,texts"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:batchEmbedText",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,texts"
                            }
                          ]
                        },
                        "CountTextTokens": {
                          "requestType": "CountTextTokensRequest",
                          "responseType": "CountTextTokensResponse",
                          "options": {
                            "(google.api.http).post": "/v1beta3/{model=models/*}:countTextTokens",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "model,prompt"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta3/{model=models/*}:countTextTokens",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,prompt"
                            }
                          ]
                        }
                      }
                    },
                    "GenerateTextRequest": {
                      "oneofs": {
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "temperature": {
                          "type": "float",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "candidateCount": {
                          "type": "int32",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "maxOutputTokens": {
                          "type": "int32",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topP": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "topK": {
                          "type": "int32",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "proto3_optional": true
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 8
                        },
                        "stopSequences": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        }
                      }
                    },
                    "GenerateTextResponse": {
                      "fields": {
                        "candidates": {
                          "rule": "repeated",
                          "type": "TextCompletion",
                          "id": 1
                        },
                        "filters": {
                          "rule": "repeated",
                          "type": "ContentFilter",
                          "id": 3
                        },
                        "safetyFeedback": {
                          "rule": "repeated",
                          "type": "SafetyFeedback",
                          "id": 4
                        }
                      }
                    },
                    "TextPrompt": {
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "TextCompletion": {
                      "oneofs": {
                        "_citationMetadata": {
                          "oneof": [
                            "citationMetadata"
                          ]
                        }
                      },
                      "fields": {
                        "output": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "safetyRatings": {
                          "rule": "repeated",
                          "type": "SafetyRating",
                          "id": 2
                        },
                        "citationMetadata": {
                          "type": "CitationMetadata",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "EmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "text": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "EmbedTextResponse": {
                      "oneofs": {
                        "_embedding": {
                          "oneof": [
                            "embedding"
                          ]
                        }
                      },
                      "fields": {
                        "embedding": {
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "BatchEmbedTextRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "texts": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchEmbedTextResponse": {
                      "fields": {
                        "embeddings": {
                          "rule": "repeated",
                          "type": "Embedding",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Embedding": {
                      "fields": {
                        "value": {
                          "rule": "repeated",
                          "type": "float",
                          "id": 1
                        }
                      }
                    },
                    "CountTextTokensRequest": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "generativelanguage.googleapis.com/Model"
                          }
                        },
                        "prompt": {
                          "type": "TextPrompt",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CountTextTokensResponse": {
                      "fields": {
                        "tokenCount": {
                          "type": "int32",
                          "id": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "api": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations",
            "java_multiple_files": true,
            "java_outer_classname": "ResourceProto",
            "java_package": "com.google.api",
            "objc_class_prefix": "GAPI",
            "cc_enable_arenas": true
          },
          "nested": {
            "fieldBehavior": {
              "rule": "repeated",
              "type": "google.api.FieldBehavior",
              "id": 1052,
              "extend": "google.protobuf.FieldOptions",
              "options": {
                "packed": false
              }
            },
            "FieldBehavior": {
              "values": {
                "FIELD_BEHAVIOR_UNSPECIFIED": 0,
                "OPTIONAL": 1,
                "REQUIRED": 2,
                "OUTPUT_ONLY": 3,
                "INPUT_ONLY": 4,
                "IMMUTABLE": 5,
                "UNORDERED_LIST": 6,
                "NON_EMPTY_DEFAULT": 7,
                "IDENTIFIER": 8
              }
            },
            "http": {
              "type": "HttpRule",
              "id": 72295728,
              "extend": "google.protobuf.MethodOptions"
            },
            "Http": {
              "fields": {
                "rules": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 1
                },
                "fullyDecodeReservedExpansion": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "HttpRule": {
              "oneofs": {
                "pattern": {
                  "oneof": [
                    "get",
                    "put",
                    "post",
                    "delete",
                    "patch",
                    "custom"
                  ]
                }
              },
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "get": {
                  "type": "string",
                  "id": 2
                },
                "put": {
                  "type": "string",
                  "id": 3
                },
                "post": {
                  "type": "string",
                  "id": 4
                },
                "delete": {
                  "type": "string",
                  "id": 5
                },
                "patch": {
                  "type": "string",
                  "id": 6
                },
                "custom": {
                  "type": "CustomHttpPattern",
                  "id": 8
                },
                "body": {
                  "type": "string",
                  "id": 7
                },
                "responseBody": {
                  "type": "string",
                  "id": 12
                },
                "additionalBindings": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 11
                }
              }
            },
            "CustomHttpPattern": {
              "fields": {
                "kind": {
                  "type": "string",
                  "id": 1
                },
                "path": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "methodSignature": {
              "rule": "repeated",
              "type": "string",
              "id": 1051,
              "extend": "google.protobuf.MethodOptions"
            },
            "defaultHost": {
              "type": "string",
              "id": 1049,
              "extend": "google.protobuf.ServiceOptions"
            },
            "oauthScopes": {
              "type": "string",
              "id": 1050,
              "extend": "google.protobuf.ServiceOptions"
            },
            "apiVersion": {
              "type": "string",
              "id": 525000001,
              "extend": "google.protobuf.ServiceOptions"
            },
            "CommonLanguageSettings": {
              "fields": {
                "referenceDocsUri": {
                  "type": "string",
                  "id": 1,
                  "options": {
                    "deprecated": true
                  }
                },
                "destinations": {
                  "rule": "repeated",
                  "type": "ClientLibraryDestination",
                  "id": 2
                }
              }
            },
            "ClientLibrarySettings": {
              "fields": {
                "version": {
                  "type": "string",
                  "id": 1
                },
                "launchStage": {
                  "type": "LaunchStage",
                  "id": 2
                },
                "restNumericEnums": {
                  "type": "bool",
                  "id": 3
                },
                "javaSettings": {
                  "type": "JavaSettings",
                  "id": 21
                },
                "cppSettings": {
                  "type": "CppSettings",
                  "id": 22
                },
                "phpSettings": {
                  "type": "PhpSettings",
                  "id": 23
                },
                "pythonSettings": {
                  "type": "PythonSettings",
                  "id": 24
                },
                "nodeSettings": {
                  "type": "NodeSettings",
                  "id": 25
                },
                "dotnetSettings": {
                  "type": "DotnetSettings",
                  "id": 26
                },
                "rubySettings": {
                  "type": "RubySettings",
                  "id": 27
                },
                "goSettings": {
                  "type": "GoSettings",
                  "id": 28
                }
              }
            },
            "Publishing": {
              "fields": {
                "methodSettings": {
                  "rule": "repeated",
                  "type": "MethodSettings",
                  "id": 2
                },
                "newIssueUri": {
                  "type": "string",
                  "id": 101
                },
                "documentationUri": {
                  "type": "string",
                  "id": 102
                },
                "apiShortName": {
                  "type": "string",
                  "id": 103
                },
                "githubLabel": {
                  "type": "string",
                  "id": 104
                },
                "codeownerGithubTeams": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 105
                },
                "docTagPrefix": {
                  "type": "string",
                  "id": 106
                },
                "organization": {
                  "type": "ClientLibraryOrganization",
                  "id": 107
                },
                "librarySettings": {
                  "rule": "repeated",
                  "type": "ClientLibrarySettings",
                  "id": 109
                },
                "protoReferenceDocumentationUri": {
                  "type": "string",
                  "id": 110
                },
                "restReferenceDocumentationUri": {
                  "type": "string",
                  "id": 111
                }
              }
            },
            "JavaSettings": {
              "fields": {
                "libraryPackage": {
                  "type": "string",
                  "id": 1
                },
                "serviceClassNames": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 3
                }
              }
            },
            "CppSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PhpSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PythonSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "NodeSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "DotnetSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "renamedResources": {
                  "keyType": "string",
                  "type": "string",
                  "id": 3
                },
                "ignoredResources": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 4
                },
                "forcedNamespaceAliases": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "handwrittenSignatures": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 6
                }
              }
            },
            "RubySettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "GoSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "MethodSettings": {
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "longRunning": {
                  "type": "LongRunning",
                  "id": 2
                },
                "autoPopulatedFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                }
              },
              "nested": {
                "LongRunning": {
                  "fields": {
                    "initialPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 1
                    },
                    "pollDelayMultiplier": {
                      "type": "float",
                      "id": 2
                    },
                    "maxPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "totalPollTimeout": {
                      "type": "google.protobuf.Duration",
                      "id": 4
                    }
                  }
                }
              }
            },
            "ClientLibraryOrganization": {
              "values": {
                "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0,
                "CLOUD": 1,
                "ADS": 2,
                "PHOTOS": 3,
                "STREET_VIEW": 4,
                "SHOPPING": 5,
                "GEO": 6,
                "GENERATIVE_AI": 7
              }
            },
            "ClientLibraryDestination": {
              "values": {
                "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0,
                "GITHUB": 10,
                "PACKAGE_MANAGER": 20
              }
            },
            "LaunchStage": {
              "values": {
                "LAUNCH_STAGE_UNSPECIFIED": 0,
                "UNIMPLEMENTED": 6,
                "PRELAUNCH": 7,
                "EARLY_ACCESS": 1,
                "ALPHA": 2,
                "BETA": 3,
                "GA": 4,
                "DEPRECATED": 5
              }
            },
            "resourceReference": {
              "type": "google.api.ResourceReference",
              "id": 1055,
              "extend": "google.protobuf.FieldOptions"
            },
            "resourceDefinition": {
              "rule": "repeated",
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.FileOptions"
            },
            "resource": {
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.MessageOptions"
            },
            "ResourceDescriptor": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "pattern": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 2
                },
                "nameField": {
                  "type": "string",
                  "id": 3
                },
                "history": {
                  "type": "History",
                  "id": 4
                },
                "plural": {
                  "type": "string",
                  "id": 5
                },
                "singular": {
                  "type": "string",
                  "id": 6
                },
                "style": {
                  "rule": "repeated",
                  "type": "Style",
                  "id": 10
                }
              },
              "nested": {
                "History": {
                  "values": {
                    "HISTORY_UNSPECIFIED": 0,
                    "ORIGINALLY_SINGLE_PATTERN": 1,
                    "FUTURE_MULTI_PATTERN": 2
                  }
                },
                "Style": {
                  "values": {
                    "STYLE_UNSPECIFIED": 0,
                    "DECLARATIVE_FRIENDLY": 1
                  }
                }
              }
            },
            "ResourceReference": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "childType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "protobuf": {
          "options": {
            "go_package": "google.golang.org/protobuf/types/descriptorpb",
            "java_package": "com.google.protobuf",
            "java_outer_classname": "DescriptorProtos",
            "csharp_namespace": "Google.Protobuf.Reflection",
            "objc_class_prefix": "GPB",
            "cc_enable_arenas": true,
            "optimize_for": "SPEED"
          },
          "nested": {
            "FileDescriptorSet": {
              "edition": "proto2",
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "Edition": {
              "edition": "proto2",
              "values": {
                "EDITION_UNKNOWN": 0,
                "EDITION_PROTO2": 998,
                "EDITION_PROTO3": 999,
                "EDITION_2023": 1000,
                "EDITION_2024": 1001,
                "EDITION_1_TEST_ONLY": 1,
                "EDITION_2_TEST_ONLY": 2,
                "EDITION_99997_TEST_ONLY": 99997,
                "EDITION_99998_TEST_ONLY": 99998,
                "EDITION_99999_TEST_ONLY": 99999,
                "EDITION_MAX": 2147483647
              }
            },
            "FileDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "publicDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11
                },
                "messageType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "sourceCodeInfo": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                },
                "edition": {
                  "type": "Edition",
                  "id": 14
                }
              }
            },
            "DescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nestedType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extensionRange": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneofDecl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    },
                    "options": {
                      "type": "ExtensionRangeOptions",
                      "id": 3
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "ExtensionRangeOptions": {
              "edition": "proto2",
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                },
                "declaration": {
                  "rule": "repeated",
                  "type": "Declaration",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_SOURCE"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "verification": {
                  "type": "VerificationState",
                  "id": 3,
                  "options": {
                    "default": "UNVERIFIED",
                    "retention": "RETENTION_SOURCE"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "Declaration": {
                  "fields": {
                    "number": {
                      "type": "int32",
                      "id": 1
                    },
                    "fullName": {
                      "type": "string",
                      "id": 2
                    },
                    "type": {
                      "type": "string",
                      "id": 3
                    },
                    "reserved": {
                      "type": "bool",
                      "id": 5
                    },
                    "repeated": {
                      "type": "bool",
                      "id": 6
                    }
                  },
                  "reserved": [
                    [
                      4,
                      4
                    ]
                  ]
                },
                "VerificationState": {
                  "values": {
                    "DECLARATION": 0,
                    "UNVERIFIED": 1
                  }
                }
              }
            },
            "FieldDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "typeName": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "defaultValue": {
                  "type": "string",
                  "id": 7
                },
                "oneofIndex": {
                  "type": "int32",
                  "id": 9
                },
                "jsonName": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                },
                "proto3Optional": {
                  "type": "bool",
                  "id": 17
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REPEATED": 3,
                    "LABEL_REQUIRED": 2
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "EnumReservedRange",
                  "id": 4
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "inputType": {
                  "type": "string",
                  "id": 2
                },
                "outputType": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "clientStreaming": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "serverStreaming": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "default": false
                  }
                }
              }
            },
            "FileOptions": {
              "edition": "proto2",
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "javaGenerateEqualsAndHash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "javaStringCheckUtf8": {
                  "type": "bool",
                  "id": 27,
                  "options": {
                    "default": false
                  }
                },
                "optimizeFor": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "goPackage": {
                  "type": "string",
                  "id": 11
                },
                "ccGenericServices": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "javaGenericServices": {
                  "type": "bool",
                  "id": 17,
                  "options": {
                    "default": false
                  }
                },
                "pyGenericServices": {
                  "type": "bool",
                  "id": 18,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23,
                  "options": {
                    "default": false
                  }
                },
                "ccEnableArenas": {
                  "type": "bool",
                  "id": 31,
                  "options": {
                    "default": true
                  }
                },
                "objcClassPrefix": {
                  "type": "string",
                  "id": 36
                },
                "csharpNamespace": {
                  "type": "string",
                  "id": 37
                },
                "swiftPrefix": {
                  "type": "string",
                  "id": 39
                },
                "phpClassPrefix": {
                  "type": "string",
                  "id": 40
                },
                "phpNamespace": {
                  "type": "string",
                  "id": 41
                },
                "phpMetadataNamespace": {
                  "type": "string",
                  "id": 44
                },
                "rubyPackage": {
                  "type": "string",
                  "id": 45
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  42,
                  42
                ],
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "edition": "proto2",
              "fields": {
                "messageSetWireFormat": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "noStandardDescriptorAccessor": {
                  "type": "bool",
                  "id": 2,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "mapEntry": {
                  "type": "bool",
                  "id": 7
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 11,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 12
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "edition": "proto2",
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "unverifiedLazy": {
                  "type": "bool",
                  "id": 15,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "weak": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "retention": {
                  "type": "OptionRetention",
                  "id": 17
                },
                "targets": {
                  "rule": "repeated",
                  "type": "OptionTargetType",
                  "id": 19
                },
                "editionDefaults": {
                  "rule": "repeated",
                  "type": "EditionDefault",
                  "id": 20
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 21
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  18,
                  18
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                },
                "OptionRetention": {
                  "values": {
                    "RETENTION_UNKNOWN": 0,
                    "RETENTION_RUNTIME": 1,
                    "RETENTION_SOURCE": 2
                  }
                },
                "OptionTargetType": {
                  "values": {
                    "TARGET_TYPE_UNKNOWN": 0,
                    "TARGET_TYPE_FILE": 1,
                    "TARGET_TYPE_EXTENSION_RANGE": 2,
                    "TARGET_TYPE_MESSAGE": 3,
                    "TARGET_TYPE_FIELD": 4,
                    "TARGET_TYPE_ONEOF": 5,
                    "TARGET_TYPE_ENUM": 6,
                    "TARGET_TYPE_ENUM_ENTRY": 7,
                    "TARGET_TYPE_SERVICE": 8,
                    "TARGET_TYPE_METHOD": 9
                  }
                },
                "EditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "value": {
                      "type": "string",
                      "id": 2
                    }
                  }
                }
              }
            },
            "OneofOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "edition": "proto2",
              "fields": {
                "allowAlias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 7
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 2
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 34
                },
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "idempotencyLevel": {
                  "type": "IdempotencyLevel",
                  "id": 34,
                  "options": {
                    "default": "IDEMPOTENCY_UNKNOWN"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 35
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifierValue": {
                  "type": "string",
                  "id": 3
                },
                "positiveIntValue": {
                  "type": "uint64",
                  "id": 4
                },
                "negativeIntValue": {
                  "type": "int64",
                  "id": 5
                },
                "doubleValue": {
                  "type": "double",
                  "id": 6
                },
                "stringValue": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregateValue": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "namePart": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "isExtension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "FeatureSet": {
              "edition": "proto2",
              "fields": {
                "fieldPresence": {
                  "type": "FieldPresence",
                  "id": 1,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_2023",
                    "edition_defaults.value": "EXPLICIT"
                  }
                },
                "enumType": {
                  "type": "EnumType",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "OPEN"
                  }
                },
                "repeatedFieldEncoding": {
                  "type": "RepeatedFieldEncoding",
                  "id": 3,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "PACKED"
                  }
                },
                "utf8Validation": {
                  "type": "Utf8Validation",
                  "id": 4,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "VERIFY"
                  }
                },
                "messageEncoding": {
                  "type": "MessageEncoding",
                  "id": 5,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO2",
                    "edition_defaults.value": "LENGTH_PREFIXED"
                  }
                },
                "jsonFormat": {
                  "type": "JsonFormat",
                  "id": 6,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "ALLOW"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  1000
                ],
                [
                  1001,
                  1001
                ],
                [
                  1002,
                  1002
                ],
                [
                  9990,
                  9990
                ],
                [
                  9995,
                  9999
                ],
                [
                  10000,
                  10000
                ]
              ],
              "reserved": [
                [
                  999,
                  999
                ]
              ],
              "nested": {
                "FieldPresence": {
                  "values": {
                    "FIELD_PRESENCE_UNKNOWN": 0,
                    "EXPLICIT": 1,
                    "IMPLICIT": 2,
                    "LEGACY_REQUIRED": 3
                  }
                },
                "EnumType": {
                  "values": {
                    "ENUM_TYPE_UNKNOWN": 0,
                    "OPEN": 1,
                    "CLOSED": 2
                  }
                },
                "RepeatedFieldEncoding": {
                  "values": {
                    "REPEATED_FIELD_ENCODING_UNKNOWN": 0,
                    "PACKED": 1,
                    "EXPANDED": 2
                  }
                },
                "Utf8Validation": {
                  "values": {
                    "UTF8_VALIDATION_UNKNOWN": 0,
                    "VERIFY": 2,
                    "NONE": 3
                  }
                },
                "MessageEncoding": {
                  "values": {
                    "MESSAGE_ENCODING_UNKNOWN": 0,
                    "LENGTH_PREFIXED": 1,
                    "DELIMITED": 2
                  }
                },
                "JsonFormat": {
                  "values": {
                    "JSON_FORMAT_UNKNOWN": 0,
                    "ALLOW": 1,
                    "LEGACY_BEST_EFFORT": 2
                  }
                }
              }
            },
            "FeatureSetDefaults": {
              "edition": "proto2",
              "fields": {
                "defaults": {
                  "rule": "repeated",
                  "type": "FeatureSetEditionDefault",
                  "id": 1
                },
                "minimumEdition": {
                  "type": "Edition",
                  "id": 4
                },
                "maximumEdition": {
                  "type": "Edition",
                  "id": 5
                }
              },
              "nested": {
                "FeatureSetEditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "features": {
                      "type": "FeatureSet",
                      "id": 2
                    }
                  }
                }
              }
            },
            "SourceCodeInfo": {
              "edition": "proto2",
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "packed": true
                      }
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "edition": "proto2",
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "sourceFile": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    },
                    "semantic": {
                      "type": "Semantic",
                      "id": 5
                    }
                  },
                  "nested": {
                    "Semantic": {
                      "values": {
                        "NONE": 0,
                        "SET": 1,
                        "ALIAS": 2
                      }
                    }
                  }
                }
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Struct": {
              "fields": {
                "fields": {
                  "keyType": "string",
                  "type": "Value",
                  "id": 1
                }
              }
            },
            "Value": {
              "oneofs": {
                "kind": {
                  "oneof": [
                    "nullValue",
                    "numberValue",
                    "stringValue",
                    "boolValue",
                    "structValue",
                    "listValue"
                  ]
                }
              },
              "fields": {
                "nullValue": {
                  "type": "NullValue",
                  "id": 1
                },
                "numberValue": {
                  "type": "double",
                  "id": 2
                },
                "stringValue": {
                  "type": "string",
                  "id": 3
                },
                "boolValue": {
                  "type": "bool",
                  "id": 4
                },
                "structValue": {
                  "type": "Struct",
                  "id": 5
                },
                "listValue": {
                  "type": "ListValue",
                  "id": 6
                }
              }
            },
            "NullValue": {
              "values": {
                "NULL_VALUE": 0
              }
            },
            "ListValue": {
              "fields": {
                "values": {
                  "rule": "repeated",
                  "type": "Value",
                  "id": 1
                }
              }
            },
            "Timestamp": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Empty": {
              "fields": {}
            },
            "FieldMask": {
              "fields": {
                "paths": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                }
              }
            },
            "Any": {
              "fields": {
                "type_url": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "type": "bytes",
                  "id": 2
                }
              }
            }
          }
        },
        "rpc": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/rpc/status;status",
            "java_multiple_files": true,
            "java_outer_classname": "StatusProto",
            "java_package": "com.google.rpc",
            "objc_class_prefix": "RPC"
          },
          "nested": {
            "Status": {
              "fields": {
                "code": {
                  "type": "int32",
                  "id": 1
                },
                "message": {
                  "type": "string",
                  "id": 2
                },
                "details": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        },
        "longrunning": {
          "options": {
            "cc_enable_arenas": true,
            "csharp_namespace": "Google.LongRunning",
            "go_package": "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb",
            "java_multiple_files": true,
            "java_outer_classname": "OperationsProto",
            "java_package": "com.google.longrunning",
            "php_namespace": "Google\\LongRunning"
          },
          "nested": {
            "operationInfo": {
              "type": "google.longrunning.OperationInfo",
              "id": 1049,
              "extend": "google.protobuf.MethodOptions"
            },
            "Operations": {
              "options": {
                "(google.api.default_host)": "longrunning.googleapis.com"
              },
              "methods": {
                "ListOperations": {
                  "requestType": "ListOperationsRequest",
                  "responseType": "ListOperationsResponse",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations}",
                    "(google.api.method_signature)": "name,filter"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name,filter"
                    }
                  ]
                },
                "GetOperation": {
                  "requestType": "GetOperationRequest",
                  "responseType": "Operation",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "DeleteOperation": {
                  "requestType": "DeleteOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).delete": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "delete": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "CancelOperation": {
                  "requestType": "CancelOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).post": "/v1/{name=operations/**}:cancel",
                    "(google.api.http).body": "*",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "post": "/v1/{name=operations/**}:cancel",
                        "body": "*"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "WaitOperation": {
                  "requestType": "WaitOperationRequest",
                  "responseType": "Operation"
                }
              }
            },
            "Operation": {
              "oneofs": {
                "result": {
                  "oneof": [
                    "error",
                    "response"
                  ]
                }
              },
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "metadata": {
                  "type": "google.protobuf.Any",
                  "id": 2
                },
                "done": {
                  "type": "bool",
                  "id": 3
                },
                "error": {
                  "type": "google.rpc.Status",
                  "id": 4
                },
                "response": {
                  "type": "google.protobuf.Any",
                  "id": 5
                }
              }
            },
            "GetOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "ListOperationsRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 4
                },
                "filter": {
                  "type": "string",
                  "id": 1
                },
                "pageSize": {
                  "type": "int32",
                  "id": 2
                },
                "pageToken": {
                  "type": "string",
                  "id": 3
                }
              }
            },
            "ListOperationsResponse": {
              "fields": {
                "operations": {
                  "rule": "repeated",
                  "type": "Operation",
                  "id": 1
                },
                "nextPageToken": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "CancelOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "DeleteOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "WaitOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "timeout": {
                  "type": "google.protobuf.Duration",
                  "id": 2
                }
              }
            },
            "OperationInfo": {
              "fields": {
                "responseType": {
                  "type": "string",
                  "id": 1
                },
                "metadataType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "type": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng",
            "java_multiple_files": true,
            "java_outer_classname": "LatLngProto",
            "java_package": "com.google.type",
            "objc_class_prefix": "GTP"
          },
          "nested": {
            "Interval": {
              "fields": {
                "startTime": {
                  "type": "google.protobuf.Timestamp",
                  "id": 1
                },
                "endTime": {
                  "type": "google.protobuf.Timestamp",
                  "id": 2
                }
              }
            },
            "LatLng": {
              "fields": {
                "latitude": {
                  "type": "double",
                  "id": 1
                },
                "longitude": {
                  "type": "double",
                  "id": 2
                }
              }
            }
          }
        }
      }
    }
  }
}