message.py 616 B

12345678910111213141516171819202122232425
  1. from dataclasses import dataclass
  2. from opendevin.core.schema import ActionType
  3. from .action import Action
  4. @dataclass
  5. class MessageAction(Action):
  6. content: str
  7. images_urls: list | None = None
  8. wait_for_response: bool = False
  9. action: str = ActionType.MESSAGE
  10. @property
  11. def message(self) -> str:
  12. return self.content
  13. def __str__(self) -> str:
  14. ret = f'**MessageAction** (source={self.source})\n'
  15. ret += f'CONTENT: {self.content}'
  16. if self.images_urls:
  17. for url in self.images_urls:
  18. ret += f'\nIMAGE_URL: {url}'
  19. return ret