Spaces:
Build error
Build error
from __future__ import annotations | |
from typing import TYPE_CHECKING, List, Tuple | |
import json | |
from copy import deepcopy | |
from . import updater_registry as UpdaterRegistry | |
from .basic import BasicUpdater | |
from agentverse.message import Message | |
if TYPE_CHECKING: | |
from agentverse.environments import PokemonEnvironment | |
class PokemonUpdater(BasicUpdater): | |
def update_memory(self, environment: PokemonEnvironment): | |
for message in environment.last_messages: | |
if message.content == "": | |
continue | |
message = deepcopy(message) | |
try: | |
message.content = json.loads(message.content) | |
except json.decoder.JSONDecodeError: | |
continue | |
if message.content["action"] == "Speak": | |
message.content = message.content["text"] | |
elif message.content["action"] == "MoveTo": | |
if message.content["to"] in environment.locations_to_agents: | |
try: | |
orig_location = environment.get_agent_to_location()[ | |
message.sender | |
] | |
environment.locations_to_agents[orig_location].remove( | |
message.sender | |
) | |
except: | |
continue | |
message.content = f"[MoveTo] {message.content['to']}" | |
else: | |
message.content = f"[{message.content['action']}]" | |
self.add_message_to_all_agents(environment.agents, message) | |