state.py 787 B

1234567891011121314151617181920212223242526
  1. from dataclasses import dataclass, field
  2. from typing import Dict, List, Tuple
  3. from opendevin.action import (
  4. Action,
  5. )
  6. from opendevin.observation import (
  7. CmdOutputObservation,
  8. Observation,
  9. )
  10. from opendevin.plan import Plan
  11. @dataclass
  12. class State:
  13. plan: Plan
  14. iteration: int = 0
  15. # number of characters we have sent to and received from LLM so far for current task
  16. num_of_chars: int = 0
  17. background_commands_obs: List[CmdOutputObservation] = field(
  18. default_factory=list)
  19. history: List[Tuple[Action, Observation]] = field(default_factory=list)
  20. updated_info: List[Tuple[Action, Observation]
  21. ] = field(default_factory=list)
  22. inputs: Dict = field(default_factory=dict)
  23. outputs: Dict = field(default_factory=dict)