The Runner interface defines the contract for running agents.
Rewinds the session to before the specified invocation.
Sync interface for local testing and convenience purpose.
Main entry method to run the agent in this runner asynchronously.