FIREBASEML

firebaseml.operations.cancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.operations.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.locations.publishers.models.countTokens

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution := [ "MEDIA_RESOLUTION_UNSPECIFIED", "MEDIA_RESOLUTION_LOW", "MEDIA_RESOLUTION_MEDIUM", "MEDIA_RESOLUTION_HIGH" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities := [ "MODALITY_UNSPECIFIED", "TEXT", "IMAGE", "AUDIO" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1beta1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].thought == BOOLEAN
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.mediaResolution == enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution[_]
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseModalities[_] == enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities[_]
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.speechConfig.voiceConfig.prebuiltVoiceConfig.voiceName == STRING
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.instances[_] == ANY
    input.Body.model == STRING
    input.Body.systemInstruction.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.output == STRING
    input.Body.systemInstruction.parts[_].executableCode.code == STRING
    input.Body.systemInstruction.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].thought == BOOLEAN
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.tools[_].codeExecution.STRING == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].googleSearch.STRING == STRING
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.metadataFilter == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorDistanceThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorSimilarityThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.hybridSearch.alpha == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.llmRanker.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.rankService.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.topK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.endpoint == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.locations.publishers.models.generateContent

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]
enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution := [ "MEDIA_RESOLUTION_UNSPECIFIED", "MEDIA_RESOLUTION_LOW", "MEDIA_RESOLUTION_MEDIUM", "MEDIA_RESOLUTION_HIGH" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities := [ "MODALITY_UNSPECIFIED", "TEXT", "IMAGE", "AUDIO" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1beta1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.cachedContent == STRING
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].thought == BOOLEAN
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.mediaResolution == enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution[_]
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseModalities[_] == enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities[_]
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.speechConfig.voiceConfig.prebuiltVoiceConfig.voiceName == STRING
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1beta1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1beta1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1beta1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.output == STRING
    input.Body.systemInstruction.parts[_].executableCode.code == STRING
    input.Body.systemInstruction.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].thought == BOOLEAN
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode[_]
    input.Body.tools[_].codeExecution.STRING == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].googleSearch.STRING == STRING
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.metadataFilter == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorDistanceThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorSimilarityThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.hybridSearch.alpha == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.llmRanker.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.rankService.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.topK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.locations.publishers.models.streamGenerateContent

enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome := [ "OUTCOME_UNSPECIFIED", "OUTCOME_OK", "OUTCOME_FAILED", "OUTCOME_DEADLINE_EXCEEDED" ]
enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode := [ "MODE_UNSPECIFIED", "MODE_DYNAMIC" ]
enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage := [ "LANGUAGE_UNSPECIFIED", "PYTHON" ]
enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode := [ "MODE_UNSPECIFIED", "AUTO", "ANY", "NONE" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution := [ "MEDIA_RESOLUTION_UNSPECIFIED", "MEDIA_RESOLUTION_LOW", "MEDIA_RESOLUTION_MEDIUM", "MEDIA_RESOLUTION_HIGH" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities := [ "MODALITY_UNSPECIFIED", "TEXT", "IMAGE", "AUDIO" ]
enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference := [ "UNKNOWN", "PRIORITIZE_QUALITY", "BALANCED", "PRIORITIZE_COST" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingCategory := [ "HARM_CATEGORY_UNSPECIFIED", "HARM_CATEGORY_HATE_SPEECH", "HARM_CATEGORY_DANGEROUS_CONTENT", "HARM_CATEGORY_HARASSMENT", "HARM_CATEGORY_SEXUALLY_EXPLICIT", "HARM_CATEGORY_CIVIC_INTEGRITY" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingMethod := [ "HARM_BLOCK_METHOD_UNSPECIFIED", "SEVERITY", "PROBABILITY" ]
enum_GoogleCloudAiplatformV1beta1SafetySettingThreshold := [ "HARM_BLOCK_THRESHOLD_UNSPECIFIED", "BLOCK_LOW_AND_ABOVE", "BLOCK_MEDIUM_AND_ABOVE", "BLOCK_ONLY_HIGH", "BLOCK_NONE", "OFF" ]
enum_GoogleCloudAiplatformV1beta1SchemaType := [ "TYPE_UNSPECIFIED", "STRING", "NUMBER", "INTEGER", "BOOLEAN", "ARRAY", "OBJECT" ]

valid {
    input.Body.cachedContent == STRING
    input.Body.contents[_].parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.contents[_].parts[_].codeExecutionResult.output == STRING
    input.Body.contents[_].parts[_].executableCode.code == STRING
    input.Body.contents[_].parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.contents[_].parts[_].fileData.fileUri == STRING
    input.Body.contents[_].parts[_].fileData.mimeType == STRING
    input.Body.contents[_].parts[_].functionCall.args.STRING == ANY
    input.Body.contents[_].parts[_].functionCall.name == STRING
    input.Body.contents[_].parts[_].functionResponse.name == STRING
    input.Body.contents[_].parts[_].functionResponse.response.STRING == ANY
    input.Body.contents[_].parts[_].inlineData.data == STRING
    input.Body.contents[_].parts[_].inlineData.mimeType == STRING
    input.Body.contents[_].parts[_].text == STRING
    input.Body.contents[_].parts[_].thought == BOOLEAN
    input.Body.contents[_].parts[_].videoMetadata.endOffset == STRING
    input.Body.contents[_].parts[_].videoMetadata.startOffset == STRING
    input.Body.contents[_].role == STRING
    input.Body.generationConfig.audioTimestamp == BOOLEAN
    input.Body.generationConfig.candidateCount == INTEGER
    input.Body.generationConfig.frequencyPenalty == NUMBER
    input.Body.generationConfig.logprobs == INTEGER
    input.Body.generationConfig.maxOutputTokens == INTEGER
    input.Body.generationConfig.mediaResolution == enum_GoogleCloudAiplatformV1beta1GenerationConfigMediaResolution[_]
    input.Body.generationConfig.presencePenalty == NUMBER
    input.Body.generationConfig.responseLogprobs == BOOLEAN
    input.Body.generationConfig.responseMimeType == STRING
    input.Body.generationConfig.responseModalities[_] == enum_GoogleCloudAiplatformV1beta1GenerationConfigResponseModalities[_]
    input.Body.generationConfig.responseSchema.anyOf[_] == NESTED
    input.Body.generationConfig.responseSchema.default == ANY
    input.Body.generationConfig.responseSchema.description == STRING
    input.Body.generationConfig.responseSchema.enum[_] == STRING
    input.Body.generationConfig.responseSchema.example == ANY
    input.Body.generationConfig.responseSchema.format == STRING
    input.Body.generationConfig.responseSchema.items == NESTED
    input.Body.generationConfig.responseSchema.maxItems == STRING
    input.Body.generationConfig.responseSchema.maxLength == STRING
    input.Body.generationConfig.responseSchema.maxProperties == STRING
    input.Body.generationConfig.responseSchema.maximum == NUMBER
    input.Body.generationConfig.responseSchema.minItems == STRING
    input.Body.generationConfig.responseSchema.minLength == STRING
    input.Body.generationConfig.responseSchema.minProperties == STRING
    input.Body.generationConfig.responseSchema.minimum == NUMBER
    input.Body.generationConfig.responseSchema.nullable == BOOLEAN
    input.Body.generationConfig.responseSchema.pattern == STRING
    input.Body.generationConfig.responseSchema.properties.STRING == NESTED
    input.Body.generationConfig.responseSchema.propertyOrdering[_] == STRING
    input.Body.generationConfig.responseSchema.required[_] == STRING
    input.Body.generationConfig.responseSchema.title == STRING
    input.Body.generationConfig.responseSchema.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.generationConfig.routingConfig.autoMode.modelRoutingPreference == enum_GoogleCloudAiplatformV1beta1GenerationConfigRoutingConfigAutoRoutingModeModelRoutingPreference[_]
    input.Body.generationConfig.routingConfig.manualMode.modelName == STRING
    input.Body.generationConfig.seed == INTEGER
    input.Body.generationConfig.speechConfig.voiceConfig.prebuiltVoiceConfig.voiceName == STRING
    input.Body.generationConfig.stopSequences[_] == STRING
    input.Body.generationConfig.temperature == NUMBER
    input.Body.generationConfig.topK == NUMBER
    input.Body.generationConfig.topP == NUMBER
    input.Body.labels.STRING == STRING
    input.Body.safetySettings[_].category == enum_GoogleCloudAiplatformV1beta1SafetySettingCategory[_]
    input.Body.safetySettings[_].method == enum_GoogleCloudAiplatformV1beta1SafetySettingMethod[_]
    input.Body.safetySettings[_].threshold == enum_GoogleCloudAiplatformV1beta1SafetySettingThreshold[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.outcome == enum_GoogleCloudAiplatformV1beta1CodeExecutionResultOutcome[_]
    input.Body.systemInstruction.parts[_].codeExecutionResult.output == STRING
    input.Body.systemInstruction.parts[_].executableCode.code == STRING
    input.Body.systemInstruction.parts[_].executableCode.language == enum_GoogleCloudAiplatformV1beta1ExecutableCodeLanguage[_]
    input.Body.systemInstruction.parts[_].fileData.fileUri == STRING
    input.Body.systemInstruction.parts[_].fileData.mimeType == STRING
    input.Body.systemInstruction.parts[_].functionCall.args.STRING == ANY
    input.Body.systemInstruction.parts[_].functionCall.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.name == STRING
    input.Body.systemInstruction.parts[_].functionResponse.response.STRING == ANY
    input.Body.systemInstruction.parts[_].inlineData.data == STRING
    input.Body.systemInstruction.parts[_].inlineData.mimeType == STRING
    input.Body.systemInstruction.parts[_].text == STRING
    input.Body.systemInstruction.parts[_].thought == BOOLEAN
    input.Body.systemInstruction.parts[_].videoMetadata.endOffset == STRING
    input.Body.systemInstruction.parts[_].videoMetadata.startOffset == STRING
    input.Body.systemInstruction.role == STRING
    input.Body.toolConfig.functionCallingConfig.allowedFunctionNames[_] == STRING
    input.Body.toolConfig.functionCallingConfig.mode == enum_GoogleCloudAiplatformV1beta1FunctionCallingConfigMode[_]
    input.Body.tools[_].codeExecution.STRING == STRING
    input.Body.tools[_].functionDeclarations[_].description == STRING
    input.Body.tools[_].functionDeclarations[_].name == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.default == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.description == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.example == ANY
    input.Body.tools[_].functionDeclarations[_].parameters.format == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.items == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].parameters.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].parameters.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].parameters.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.title == STRING
    input.Body.tools[_].functionDeclarations[_].parameters.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].functionDeclarations[_].response.anyOf[_] == NESTED
    input.Body.tools[_].functionDeclarations[_].response.default == ANY
    input.Body.tools[_].functionDeclarations[_].response.description == STRING
    input.Body.tools[_].functionDeclarations[_].response.enum[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.example == ANY
    input.Body.tools[_].functionDeclarations[_].response.format == STRING
    input.Body.tools[_].functionDeclarations[_].response.items == NESTED
    input.Body.tools[_].functionDeclarations[_].response.maxItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.maxProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.maximum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.minItems == STRING
    input.Body.tools[_].functionDeclarations[_].response.minLength == STRING
    input.Body.tools[_].functionDeclarations[_].response.minProperties == STRING
    input.Body.tools[_].functionDeclarations[_].response.minimum == NUMBER
    input.Body.tools[_].functionDeclarations[_].response.nullable == BOOLEAN
    input.Body.tools[_].functionDeclarations[_].response.pattern == STRING
    input.Body.tools[_].functionDeclarations[_].response.properties.STRING == NESTED
    input.Body.tools[_].functionDeclarations[_].response.propertyOrdering[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.required[_] == STRING
    input.Body.tools[_].functionDeclarations[_].response.title == STRING
    input.Body.tools[_].functionDeclarations[_].response.type == enum_GoogleCloudAiplatformV1beta1SchemaType[_]
    input.Body.tools[_].googleSearch.STRING == STRING
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.dynamicThreshold == NUMBER
    input.Body.tools[_].googleSearchRetrieval.dynamicRetrievalConfig.mode == enum_GoogleCloudAiplatformV1beta1DynamicRetrievalConfigMode[_]
    input.Body.tools[_].retrieval.disableAttribution == BOOLEAN
    input.Body.tools[_].retrieval.vertexAiSearch.datastore == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragCorpora[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragCorpus == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragResources[_].ragFileIds[_] == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.metadataFilter == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorDistanceThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.filter.vectorSimilarityThreshold == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.hybridSearch.alpha == NUMBER
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.llmRanker.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.ranking.rankService.modelName == STRING
    input.Body.tools[_].retrieval.vertexRagStore.ragRetrievalConfig.topK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.similarityTopK == INTEGER
    input.Body.tools[_].retrieval.vertexRagStore.vectorDistanceThreshold == NUMBER
    input.ReqMap.model == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.create

valid {
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.state.published == BOOLEAN
    input.Body.tags[_] == STRING
    input.Body.tfliteModel.automlModel == STRING
    input.Body.tfliteModel.gcsTfliteUri == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.download

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.models.patch

valid {
    input.Body.displayName == STRING
    input.Body.name == STRING
    input.Body.state.published == BOOLEAN
    input.Body.tags[_] == STRING
    input.Body.tfliteModel.automlModel == STRING
    input.Body.tfliteModel.gcsTfliteUri == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

firebaseml.projects.operations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}