keep both agent coroutine and state
export Log action
format for strict Text