From a9e639264985cabfcf91c0ca50cf5b4fc33311ad Mon Sep 17 00:00:00 2001 From: Jared Miller Date: Wed, 28 Jan 2026 13:02:05 -0500 Subject: [PATCH] Fix SSE event type to include prompt_json field The prompt SSE event now includes prompt_json to transmit structured prompt data to the dashboard for rich prompt rendering. --- src/db.ts | 15 ++++++++++++--- src/types.ts | 7 ++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/db.ts b/src/db.ts index aaaded1..bcd5dcc 100644 --- a/src/db.ts +++ b/src/db.ts @@ -1,7 +1,7 @@ // SQLite database schema and queries import { Database } from "bun:sqlite"; -import type { Device, OutputLog, Session, PromptData } from "./types"; +import type { Device, OutputLog, PromptData, Session } from "./types"; // Extend Prompt interface to include prompt_json field export interface Prompt { @@ -153,9 +153,18 @@ export function getActiveSessions(): Session[] { // Prompt functions -export function createPrompt(sessionId: number, promptText: string, promptJson?: string): Prompt { +export function createPrompt( + sessionId: number, + promptText: string, + promptJson?: string, +): Prompt { const now = Date.now(); - const row = createPromptStmt.get(sessionId, now, promptText, promptJson ?? null); + const row = createPromptStmt.get( + sessionId, + now, + promptText, + promptJson ?? null, + ); const prompt = row as any; // Parse prompt_json if present diff --git a/src/types.ts b/src/types.ts index 14bba7b..7ccfee1 100644 --- a/src/types.ts +++ b/src/types.ts @@ -71,7 +71,11 @@ export interface ExitPlanPrompt { options: PromptOption[]; } -export type PromptData = PermissionPrompt | QuestionPrompt | ExitPlanPrompt | null; +export type PromptData = + | PermissionPrompt + | QuestionPrompt + | ExitPlanPrompt + | null; export type AnswerResponse = | { type: "option"; value: string } @@ -109,6 +113,7 @@ export type SSEEvent = prompt_id: number; session_id: number; prompt_text: string; + prompt_json?: string | null; } | { type: "prompt_response";