story-kit: merge 340_story_web_ui_rebuild_and_restart_button

This commit is contained in:
Dave
2026-03-20 09:08:13 +00:00
parent 0897b36cc1
commit 594114d671
4 changed files with 589 additions and 209 deletions

View File

@@ -357,6 +357,10 @@ export const api = {
getAllTokenUsage(baseUrl?: string) {
return requestJson<AllTokenUsageResponse>("/token-usage", {}, baseUrl);
},
/** Trigger a server rebuild and restart. */
rebuildAndRestart() {
return callMcpTool("rebuild_and_restart", {});
},
/** Approve a story in QA, moving it to merge. */
approveQa(storyId: string) {
return callMcpTool("approve_qa", { story_id: storyId });
@@ -424,6 +428,7 @@ export class ChatWebSocket {
level: string,
message: string,
) => void;
private onConnected?: () => void;
private connected = false;
private closeTimer?: number;
private wsPath = DEFAULT_WS_PATH;
@@ -470,6 +475,7 @@ export class ChatWebSocket {
this.socket.onopen = () => {
this.reconnectDelay = 1000;
this._startHeartbeat();
this.onConnected?.();
};
this.socket.onmessage = (event) => {
try {
@@ -567,6 +573,7 @@ export class ChatWebSocket {
onSideQuestionToken?: (content: string) => void;
onSideQuestionDone?: (response: string) => void;
onLogEntry?: (timestamp: string, level: string, message: string) => void;
onConnected?: () => void;
},
wsPath = DEFAULT_WS_PATH,
) {
@@ -585,6 +592,7 @@ export class ChatWebSocket {
this.onSideQuestionToken = handlers.onSideQuestionToken;
this.onSideQuestionDone = handlers.onSideQuestionDone;
this.onLogEntry = handlers.onLogEntry;
this.onConnected = handlers.onConnected;
this.wsPath = wsPath;
this.shouldReconnect = true;