Finished reorganization

This commit is contained in:
Renn F
2025-12-14 03:40:48 +01:00
parent 855536eb18
commit 348795c50b
48 changed files with 2491 additions and 1988 deletions
+3 -78
View File
@@ -9,30 +9,18 @@ Real-time communication via WebSocket connections for:
import asyncio
import json
from dataclasses import dataclass
from datetime import UTC, datetime
from typing import Any
from uuid import UUID
import httpx
from fastapi import APIRouter, WebSocket, WebSocketDisconnect, status
from pydantic import BaseModel
from roboco.api.schemas.websocket import (
NewMessageBroadcast,
)
from roboco.config import settings
@dataclass
class NewMessageBroadcast:
"""Data for broadcasting a new message."""
channel_id: UUID
session_id: UUID
message_id: UUID
agent_id: UUID
content: str
message_type: str
router = APIRouter()
@@ -215,69 +203,6 @@ async def validate_channel_access(channel_id: UUID, agent_id: UUID) -> bool:
return False
# =============================================================================
# WebSocket Message Types
# =============================================================================
class WSMessage(BaseModel):
"""Base WebSocket message."""
type: str
timestamp: datetime = datetime.now(UTC)
class WSMessageNew(WSMessage):
"""New message event."""
type: str = "message.new"
message_id: UUID
agent_id: UUID
content: str
message_type: str
class WSMessageEdit(WSMessage):
"""Message edited event."""
type: str = "message.edit"
message_id: UUID
content: str
class WSMessageDelete(WSMessage):
"""Message deleted event."""
type: str = "message.delete"
message_id: UUID
class WSAgentStream(WSMessage):
"""Agent stream chunk."""
type: str = "agent.stream"
agent_id: UUID
chunk: str
class WSSessionClosed(WSMessage):
"""Session closed event."""
type: str = "session.closed"
session_id: UUID
reason: str
class WSNotification(WSMessage):
"""Notification event."""
type: str = "notification"
notification_id: UUID
notification_type: str
subject: str
priority: str
# =============================================================================
# WebSocket Routes
# =============================================================================