def create_wrapped_function(
        self,
        *,
        primary_func: Callable[..., Any],
        functions: list[Callable[..., Any]],
        catalog: str,
        schema: str,
        replace: bool = False,
        properties: Optional[str] = "null",
        timeout: Optional[float] = None,
    ) -> FunctionInfo:
        """
        Create a wrapped function in Unity Catalog. The primary
        function is the interface function that will be called by the user. The wrapped
        functions that are supplied via the `functions` argument will be in-lined into the
        primary function's definition, above its body contents.

        For example:

        def a(x: int) -> int:
            return x + 1

        def b(y: int) -> int:
            return y + 2

        def wrapper(x: int, y:int) -> int:
            '''
            This is a wrapper function that calls the wrapped functions a and b.
            Args:
                x: The first argument.
                y: The second argument.
            Returns:
                The result of the wrapped functions.
            '''
            return a(x) + b(y)

        client.create_wrapped_function(
            primary_func=wrapper,
            functions=[a, b],
            catalog="my_catalog",
            schema="my_schema"
        )

        Args:
            primary_func: The primary function to create in Unity Catalog.
            functions: List of wrapped functions to be in-lined into the primary function.
            catalog: The catalog name.
            schema: The schema name.
            replace: Whether to replace the function if it already exists. Defaults to False.
            properties: JSON-serialized key-value pair map encoded as a string.
            timeout: The timeout in seconds.

        Returns:
            The created FunctionInfo object.
        """

        pass

        Create a wrapped function in Unity Catalog. The primary
        function is the interface function that will be called by the user. The wrapped
        functions that are supplied via the `functions` argument will be in-lined into the
        primary function's definition, above its body contents.

        For example:

        def a(x: int) -> int:
            return x + 1

        def b(y: int) -> int:
            return y + 2

        def wrapper(x: int, y:int) -> int:
            '''
            This is a wrapper function that calls the wrapped functions a and b.
            Args:
                x: The first argument.
                y: The second argument.
            Returns:
                The result of the wrapped functions.
            '''
            return a(x) + b(y)

        client.create_wrapped_function(
            primary_func=wrapper,
            functions=[a, b],
            catalog="my_catalog",
            schema="my_schema"
        )

        Args:
            primary_func: The primary function to create in Unity Catalog.
            functions: List of wrapped functions to be in-lined into the primary function.
            catalog: The catalog name.
            schema: The schema name.
            replace: Whether to replace the function if it already exists. Defaults to False.
            properties: JSON-serialized key-value pair map encoded as a string.
            timeout: The timeout in seconds.

        Returns:
            The created FunctionInfo object.
        
ai/core/src/unitycatalog/ai/core/client.py