add getAgentState and getAgentMode