refactor: normalize script_builder_messages into separate table

Extract JSONB messages array from script_builder_sessions into a proper
script_builder_messages table with individual columns for role, content,
script, tokens, etc. Migration handles data migration from JSONB to rows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michael Chihlas
2026-03-21 21:06:58 -04:00
parent 0b261ee21a
commit b801f6cac5
9 changed files with 290 additions and 61 deletions

View File

@@ -66,7 +66,7 @@ export default function ScriptBuilderPage() {
const userMessage: ScriptBuilderMessage = {
role: 'user',
content,
timestamp: new Date().toISOString(),
created_at: new Date().toISOString(),
}
setMessages((prev) => [...prev, userMessage])
setIsLoading(true)
@@ -88,7 +88,7 @@ export default function ScriptBuilderPage() {
script: response.script,
script_filename: response.script_filename,
line_count: response.line_count,
timestamp: response.timestamp,
created_at: response.timestamp,
}
setMessages((prev) => [...prev, assistantMessage])
} catch (err) {
@@ -96,7 +96,7 @@ export default function ScriptBuilderPage() {
const errorMessage: ScriptBuilderMessage = {
role: 'assistant',
content: `An error occurred: ${err instanceof Error ? err.message : 'Failed to generate response. Please try again.'}`,
timestamp: new Date().toISOString(),
created_at: new Date().toISOString(),
}
setMessages((prev) => [...prev, errorMessage])
} finally {