package ai.z.openapi.service.model;

import com.fasterxml.jackson.databind.JsonNode;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Represents a function call generated by the chat model. This class contains the
 * function name and arguments that the model wants to invoke.
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ChatFunctionCall {

	/**
	 * Name of the function that the model wants to call.
	 */
	String name;

	/**
	 * JSON-formatted function call arguments generated by the model. Note that the JSON
	 * generated by the model is not always valid and may contain parameters not defined
	 * in the function schema. Please validate the arguments in your code before calling
	 * the function.
	 */
	JsonNode arguments;

}
