from aiohttp import web from ..web_agent import WebAgent from ..web_io_buffer import WebIOBuffer from ..auto_approver import AutoApprover from .llm_websocket import LlmWebSocket from .context_websocket import ContextWebSocket from .token_websocket import TokenWebSocket from .stdout_websocket import StdoutWebSocket from .auto_approver_websocket import AutoApproverWebSocket class Websockets: def __init__(self, app: web.Application, agent: WebAgent, io_buffer: WebIOBuffer, auto_approver: AutoApprover): self._llm_ws = LlmWebSocket(agent) self._context_ws = ContextWebSocket(agent) self._token_ws = TokenWebSocket(agent) self._stdout_ws = StdoutWebSocket(io_buffer) self._auto_approver_ws = AutoApproverWebSocket(auto_approver) app.router.add_get("/ws/llm", self._llm_ws.handle_connection) app.router.add_get("/ws/context", self._context_ws.handle_connection) app.router.add_get("/ws/token", self._token_ws.handle_connection) app.router.add_get("/ws/stdout", self._stdout_ws.handle_connection) app.router.add_get("/ws/auto_approver", self._auto_approver_ws.handle_connection)