async def create_wrapped_function_async(
        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 asynchronously. The primary
        function is the interface function that will be called by the user. The wrapped
        function that are supplied via the functions argument will be in-lined into the
        primary function's definition, above its body contents.

        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. Currently serves
                as a reserved field for future functionality. Required in the client API, but defaulted
                to "null" in this API.
            timeout: The timeout in seconds.

        Returns:
            The created FunctionInfo object.
        """

        if not callable(primary_func):
            raise ValueError("The provided primary function is not callable.")

        callable_info = generate_wrapped_function_info(
            primary_func=primary_func, functions=functions
        )

        function_name = f"{catalog}.{schema}.{callable_info.callable_name}"

        return await self.create_function_async(
            function_name=function_name,
            routine_definition=callable_info.routine_definition,
            data_type=callable_info.data_type,
            full_data_type=callable_info.full_data_type,
            comment=callable_info.comment,
            parameters=callable_info.parameters,
            properties=properties,
            timeout=timeout,
            replace=replace,
        )

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

        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. Currently serves
                as a reserved field for future functionality. Required in the client API, but defaulted
                to "null" in this API.
            timeout: The timeout in seconds.

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