Forráskód Böngészése

fix(studio): broadcast book:created after agent-driven book creation

When the agent creates a book via sub_agent architect, the sidebar
didn't refresh because book:created was only broadcast from the
POST /books/create endpoint. Now the agent endpoint also broadcasts
this event when architect completes successfully.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fanghanjun 6 hónapja
szülő
commit
6ecaf3ab92
1 módosított fájl, 10 hozzáadás és 0 törlés
  1. 10 0
      packages/studio/src/api/server.ts

+ 10 - 0
packages/studio/src/api/server.ts

@@ -1378,6 +1378,16 @@ export function createStudioServer(initialConfig: ProjectConfig, root: string) {
 
 
       broadcast("agent:complete", { instruction, activeBookId });
       broadcast("agent:complete", { instruction, activeBookId });
 
 
+      // If a sub_agent created a new book during this session, broadcast book:created
+      // so the sidebar refreshes.
+      if (!activeBookId && collectedToolExecs.some((t) => t.agent === "architect" && t.status === "completed")) {
+        const books = await state.listBooks();
+        const latestBook = books.at(-1);
+        if (latestBook) {
+          broadcast("book:created", { bookId: latestBook });
+        }
+      }
+
       return c.json({
       return c.json({
         response: result.responseText,
         response: result.responseText,
         session: { sessionId: bookSession.sessionId },
         session: { sessionId: bookSession.sessionId },