|
|
@@ -187,7 +187,7 @@ class AgentController:
|
|
|
self.agent.reset()
|
|
|
|
|
|
async def set_agent_state_to(self, new_state: AgentState):
|
|
|
- logger.info(f'Setting agent state from {self._agent_state} to {new_state}')
|
|
|
+ logger.info(f'Setting agent({type(self.agent).__name__}) state from {self._agent_state} to {new_state}')
|
|
|
if new_state == self._agent_state:
|
|
|
return
|
|
|
|
|
|
@@ -201,9 +201,7 @@ class AgentController:
|
|
|
self._cur_step += 1
|
|
|
if self.agent_task is not None:
|
|
|
self.agent_task.cancel()
|
|
|
- elif new_state == AgentState.STOPPED:
|
|
|
- await self.reset_task()
|
|
|
- elif new_state == AgentState.FINISHED:
|
|
|
+ elif new_state == AgentState.STOPPED or new_state == AgentState.ERROR or new_state == AgentState.FINISHED:
|
|
|
await self.reset_task()
|
|
|
|
|
|
await self.event_stream.add_event(
|
|
|
@@ -291,6 +289,9 @@ class AgentController:
|
|
|
return self.state
|
|
|
|
|
|
def _is_stuck(self):
|
|
|
+ # check if delegate stuck
|
|
|
+ if self.delegate and self.delegate._is_stuck():
|
|
|
+ return True
|
|
|
if (
|
|
|
self.state is None
|
|
|
or self.state.history is None
|