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