import { z } from "zod";
import { wsManager } from "../services/websocket-manager.js";
const schema = z.object({});
export const getRealtimeStatusTool = {
name: "get_realtime_status",
description:
"Get status of WebSocket subscriptions (active topics, connection state, stats, recent messages). connected=false means offline; subscriptions can exist but will not receive events until connected.",
parameters: schema,
execute: async () => {
try {
const status = wsManager.getStatus();
const messages = wsManager.getBufferedMessages();
return JSON.stringify({ ...status, recentMessages: messages.slice(-20) }, null, 2);
} catch (error) {
return JSON.stringify({ error: error instanceof Error ? error.message : String(error) });
}
},
};