WebSocket Events
Real-time events broadcast via Socket.io.
Connection
import io from 'socket.io-client';
const socket = io('http://localhost:3030');
socket.on('connect', () => {
console.log('Connected to Agor daemon');
});Events
cursor-moved
Broadcast when a user moves their cursor on the board.
Payload:
{
userId: string;
boardId: string;
position: { x: number; y: number };
timestamp: number;
}Example:
socket.on('cursor-moved', (data) => {
console.log(`User ${data.userId} moved to (${data.position.x}, ${data.position.y})`);
});session-created
Broadcast when a new session is created.
Payload:
{
session_id: string;
agent: string;
status: string;
created_at: number;
}session-updated
Broadcast when a session is updated.
Payload:
{
session_id: string;
changes: { ... };
updated_at: number;
}board-updated
Broadcast when a board layout changes.
Payload:
{
board_id: string;
sessions: Array<{ session_id: string; position: { x: number; y: number } }>;
zones: Array<{ ... }>;
}Service Events
Each FeathersJS service emits standard events:
<service> created- Resource created<service> updated- Resource updated<service> patched- Resource patched<service> removed- Resource deleted
Example:
socket.on('sessions created', (session) => {
console.log('New session:', session);
});