# This file was generated by liblab | https://liblab.com/

from .base import BaseModel
from enum import Enum


class Type_(Enum):
    """Function _Type"""
    FUNCTION = "function"

    @classmethod
    def list(cls):
        """Return the list of Items"""
        return [member.value for member in cls]


class OpenAiAssistantsFunction(BaseModel):
    """
    Represents a function call for OpenAI with an additional type attribute.
    """

    def __init__(self,  type: Type_, name: str, arguments: str, **kwargs):
        """
        Initialize OpenAiAssistantsFunction
        Parameters:
        ----------
            type: str
            name: str
            arguments: str
        """
        self.type = self._enum_matching(type, Type_.list(), "type")
        self.name = name
        self.arguments = arguments
