diff --git a/src/server.ts b/src/server.ts index 1337d51..dcfe9f2 100644 --- a/src/server.ts +++ b/src/server.ts @@ -447,8 +447,9 @@ const server = Bun.serve({ // Handle state message if (msg.type === "state") { const sessionState = sessionStates.get(ws.data.sessionId); - if (sessionState && msg.state) { - sessionState.state = msg.state; + const validStates = ["ready", "thinking", "permission", "question", "complete", "interrupted"]; + if (sessionState && msg.state && validStates.includes(msg.state)) { + sessionState.state = msg.state as SessionState["state"]; sessionState.dirty = true; // Broadcast SSE state event broadcastSSE({