// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // DO NOT EDIT. This file is generated by GeminiLanguageModel/scripts/typegen; // see its README.md for how to regenerate it. import Foundation /// The result output from a FunctionCall that contains a string representing the /// FunctionDeclaration.name and a structured JSON object containing any output from the function is /// used as context to the model. This should contain the result of a `FunctionCall` made based on /// model prediction. package struct FunctionResponse: Codable, Sendable, Equatable, Hashable, Buildable { /// The id of the function call this response is for. Populated by the client to match the /// corresponding function call `id`. package var id: String? /// Required. The name of the function to call. Matches FunctionDeclaration.name and /// FunctionCall.name. package var name: String? /// Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. package var parts: [FunctionResponsePart]? /// Required. The function response in JSON object format. Use "output" key to specify function /// output and "error" key to specify error details (if any). If "output" and "error" keys are not /// specified, then whole "response" is treated as function output. package var response: JSONObject? /// Specifies how the response should be scheduled in the conversation. Only applicable to /// NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. package var scheduling: Scheduling? /// Signals that function call continues, and more responses will be returned, turning the /// function call into a generator. Is only applicable to NON_BLOCKING function calls, is ignored /// otherwise. If set to false, future responses will not be considered. It is allowed to return /// empty `response` with `will_continue=False` to signal that the function call is finished. This /// may still trigger the model generation. To avoid triggering the generation and finish the /// function call, additionally set `scheduling` to `SILENT`. /// /// > Important: This property is not supported in the Gemini Enterprise Agent Platform. package var willContinue: Bool? /// Initializes a new `FunctionResponse`. package init() {} enum CodingKeys: String, CodingKey { case id case name case parts case response case scheduling case willContinue } }