{
  "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
                          }
                        }
                      }
                    },
                    "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"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "type": "string",
                          "id": 2
                        },
                        "inlineData": {
                          "type": "Blob",
                          "id": 3
                        }
                      }
                    },
                    "Blob": {
                      "fields": {
                        "mimeType": {
                          "type": "string",
                          "id": 1
                        },
                        "data": {
                          "type": "bytes",
                          "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=tunedModels/*}: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": "*"
                                }
                              }
                            },
                            {
                              "(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.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{model=models/*}: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
                      }
                    },
                    "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"
                          ]
                        }
                      },
                      "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
                          }
                        }
                      }
                    },
                    "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"
                          }
                        }
                      },
                      "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
                              }
                            }
                          }
                        },
                        "UsageMetadata": {
                          "fields": {
                            "promptTokenCount": {
                              "type": "int32",
                              "id": 1
                            },
                            "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"
                          }
                        }
                      },
                      "nested": {
                        "FinishReason": {
                          "values": {
                            "FINISH_REASON_UNSPECIFIED": 0,
                            "STOP": 1,
                            "MAX_TOKENS": 2,
                            "SAFETY": 3,
                            "RECITATION": 4,
                            "OTHER": 5
                          }
                        }
                      }
                    },
                    "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
                        }
                      }
                    },
                    "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
                      }
                    },
                    "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
                          }
                        }
                      }
                    },
                    "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": "/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
                        }
                      }
                    }
                  }
                },
                "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)": "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"
                          }
                        },
                        "codeExecution": {
                          "type": "CodeExecution",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "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"
                          ]
                        }
                      },
                      "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
                          }
                        }
                      }
                    },
                    "FunctionCall": {
                      "oneofs": {
                        "_args": {
                          "oneof": [
                            "args"
                          ]
                        }
                      },
                      "fields": {
                        "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": {
                        "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
                          }
                        },
                        "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": "/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": {
                      "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
                      }
                    },
                    "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
                          }
                        }
                      }
                    },
                    "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": "/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"
                            }
                          ]
                        }
                      }
                    },
                    "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": "/v1beta/{model=models/*}:generateContent",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v1beta/{model=tunedModels/*}: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": "*"
                                }
                              }
                            },
                            {
                              "(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.method_signature)": "model,contents"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1beta/{model=models/*}: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"
                            }
                          ]
                        }
                      }
                    },
                    "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
                          }
                        }
                      }
                    },
                    "GenerationConfig": {
                      "oneofs": {
                        "_candidateCount": {
                          "oneof": [
                            "candidateCount"
                          ]
                        },
                        "_maxOutputTokens": {
                          "oneof": [
                            "maxOutputTokens"
                          ]
                        },
                        "_temperature": {
                          "oneof": [
                            "temperature"
                          ]
                        },
                        "_topP": {
                          "oneof": [
                            "topP"
                          ]
                        },
                        "_topK": {
                          "oneof": [
                            "topK"
                          ]
                        }
                      },
                      "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"
                          }
                        }
                      }
                    },
                    "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"
                          }
                        }
                      },
                      "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
                              }
                            }
                          }
                        },
                        "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"
                          }
                        }
                      },
                      "nested": {
                        "FinishReason": {
                          "values": {
                            "FINISH_REASON_UNSPECIFIED": 0,
                            "STOP": 1,
                            "MAX_TOKENS": 2,
                            "SAFETY": 3,
                            "RECITATION": 4,
                            "OTHER": 5
                          }
                        }
                      }
                    },
                    "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
                        }
                      }
                    },
                    "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
                        }
                      }
                    },
                    "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": "/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)": "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": {
                        "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,
                          "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": "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": {}
                    },
                    "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
                        }
                      }
                    },
                    "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"
            },
            "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"
            },
            "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
                }
              }
            },
            "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": {
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "Edition": {
              "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": {
              "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,
                  "options": {
                    "packed": false
                  }
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11,
                  "options": {
                    "packed": false
                  }
                },
                "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": {
              "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": {
              "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": {
              "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": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "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": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "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": {
              "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": {
              "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": {
              "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,
                  "options": {
                    "packed": false
                  }
                },
                "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": {
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "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": {
              "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": {
              "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": {
              "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": {
              "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": {
              "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
                ],
                [
                  9995,
                  9999
                ]
              ],
              "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": {
              "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": {
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "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
                }
              }
            }
          }
        }
      }
    }
  }
}