Suspicion-Agent-Demo / context.py
Jiaxian Guo
Add application file
28a47b6
raw
history blame
1.31 kB
from typing import List
from rich.console import Console
from rich.prompt import Prompt
from setting import Settings
from agent import SuspicionAgent
class Context:
def __init__(self, console: Console, settings: Settings, webcontext=None) -> None:
self.clock: int = 0
self.console: Console = console
self.agents: List[SuspicionAgent] = []
self.user_agent: SuspicionAgent = None
self.robot_agents: List[SuspicionAgent] = []
self.observations = ["Beginning of the day, people are living their lives."]
self.timewindow_size = 3
self.observations_size_history = []
self.settings = settings
self.webcontext = webcontext
def print(self, message: str, style: str = None):
if style:
self.console.print(message, style=style)
else:
self.console.print(message)
if self.webcontext:
self.webcontext.send_response(message)
def ask(self, message: str = "", choices: List[str] = None) -> str:
if self.webcontext:
return self.webcontext.ask_human(message, choices)
else:
if choices:
return Prompt.ask(message, choices=choices, default=choices[0])
else:
return Prompt.ask(message)