feat: retro Claude ekip konsolunu kur

This commit is contained in:
2026-03-16 23:38:15 +03:00
parent 9294028fb2
commit 68d5c2afea
32 changed files with 5207 additions and 0 deletions

56
server/socketHandlers.js Normal file
View File

@@ -0,0 +1,56 @@
export function registerSocketHandlers(io, sessionManager) {
io.on("connection", (socket) => {
socket.emit("session:state", sessionManager.getState());
socket.emit("log:snapshot", sessionManager.getLogSnapshot());
socket.emit("chat:snapshot", { content: sessionManager.getChatSnapshot() });
socket.on("session:start", async (payload, callback) => {
try {
await sessionManager.start();
callback?.({ ok: true });
} catch (error) {
socket.emit("session:error", { message: error.message });
callback?.({ ok: false, error: error.message });
}
});
socket.on("session:stop", async (payload, callback) => {
try {
await sessionManager.stop();
callback?.({ ok: true });
} catch (error) {
socket.emit("session:error", { message: error.message });
callback?.({ ok: false, error: error.message });
}
});
socket.on("team:activate", async (payload, callback) => {
try {
await sessionManager.activateTeam();
callback?.({ ok: true });
} catch (error) {
socket.emit("session:error", { message: error.message });
callback?.({ ok: false, error: error.message });
}
});
socket.on("prompt:send", async ({ prompt }, callback) => {
try {
await sessionManager.sendPrompt(prompt);
callback?.({ ok: true });
} catch (error) {
socket.emit("session:error", { message: error.message });
callback?.({ ok: false, error: error.message });
}
});
socket.on("terminal:resize", ({ cols, rows }) => {
sessionManager.resize({ cols, rows });
});
socket.on("logs:clear", (payload, callback) => {
sessionManager.clearLogs();
callback?.({ ok: true });
});
});
}