Files
SIA/sia/web/websockets.py

25 lines
1.3 KiB
Python

from aiohttp import web
from ..auto_approver import AutoApprover
from ..chat_io_buffer import ChatIOBuffer
from ..web_agent import WebAgent
from ..working_memory import WorkingMemory
from .auto_approver_websocket import AutoApproverWebSocket
from .chat_websocket import ChatWebSocket
from .memory_websocket import MemoryWebSocket
from .response_websocket import ResponseWebSocket
from .state_websocket import StateWebSocket
class Websockets:
def __init__(self, app: web.Application, agent: WebAgent, io_buffer: ChatIOBuffer, auto_approver: AutoApprover, working_memory: WorkingMemory):
self._auto_approver_ws = AutoApproverWebSocket(auto_approver)
self._chat_ws = ChatWebSocket(io_buffer)
self._memory_ws = MemoryWebSocket(working_memory)
self._response_ws = ResponseWebSocket(agent)
self._state_ws = StateWebSocket(agent)
app.router.add_get("/ws/auto_approver", self._auto_approver_ws.handle_connection)
app.router.add_get("/ws/chat", self._chat_ws.handle_connection)
app.router.add_get("/ws/memory", self._memory_ws.handle_connection)
app.router.add_get("/ws/response", self._response_ws.handle_connection)
app.router.add_get("/ws/state", self._state_ws.handle_connection)