fix: action.run executed twice if action is not awaitable (#1021)

This commit is contained in:
Xia Zhenhua 2024-04-15 20:12:07 +08:00 committed by GitHub
parent 34ecfe3c75
commit 8450b47609
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -194,10 +194,9 @@ class AgentController:
if action.executable:
try:
if inspect.isawaitable(action.run(self)):
observation = await cast(Awaitable[Observation], action.run(self))
else:
observation = action.run(self)
observation = action.run(self)
if inspect.isawaitable(observation):
observation = await cast(Awaitable[Observation], observation)
except Exception as e:
observation = AgentErrorObservation(str(e))
print_with_color(observation, 'ERROR')