From 4ba2673557c7cfd0bc31b03e2c35ab5e1efe60e7 Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Thu, 21 May 2026 19:52:35 +0900 Subject: feat: tab system with per-tab agents, DB persistence, and DaisyUI tabs-lift UI - Add tabs, messages, and settings tables to SQLite database - Backend: refactor AgentManager to manage per-tab Agent instances via Map - Backend: WebSocket events tagged with tabId for multiplexing - Backend: tab CRUD routes (create, list, update, archive, messages) - Backend: persist user and assistant messages to DB during chat - Frontend: new tabStore replaces single chatStore with multi-tab reactive state - Frontend: TabBar component using DaisyUI tabs-lift style with status dots - Frontend: Settings sidebar panel for title generation model selection - Frontend: wire ChatPanel, ChatInput, Header to use tabStore - Fix HMR listener accumulation via wsClient.clearCallbacks() - Delete old single-chat chatStore (chat.svelte.ts) --- packages/api/src/index.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'packages/api/src/index.ts') diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 6ac6bca..a05f800 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -13,12 +13,8 @@ app.get( return { onOpen(_event, ws) { - // Send current status immediately - ws.send(JSON.stringify({ type: "status", status: agentManager.getStatus() })); - - // Send current task list state - const tasks = agentManager.getTaskList().getTasks(); - ws.send(JSON.stringify({ type: "task-list-update", tasks })); + // Send current statuses immediately + ws.send(JSON.stringify({ type: "statuses", statuses: agentManager.getAllStatuses() })); // Send any pending permission prompts const pending = permissionManager.getPending(); -- cgit v1.2.3