async def logging_function_middleware( context: FunctionInvocationContext, next: Callable[[FunctionInvocationContext], Awaitable[None]], ) -> None: print(f"[Function] Calling {context.function.name}") await next(context) print(f"[Function] {context.function.name} completed")