feat: BooCode 2.0 UI — Ember theme, brand banner, coder tabs, model-attribution chips
- Ember theme (Obsidian charcoal + #ff7a18 orange), now DEFAULT_THEME_ID; server theme_id whitelist gains 'ember' - Brand banner: transparent Westie mascot + >_BooCode wordmark, big/edge-to-edge (flood-filled to transparency + cropped) - Coder panes are multi-tab: + opens a BooCode tab, split opens a pane (shared ChatTabBar via tabKind + createCoderTab; closeOtherTabs/tab-numbering extended to coder) - Model-attribution: new messages.model column stamped at finalizeCompletion (BooChat/native coder) + dispatcher assistant-row creation (external coder); surfaced via view + wire types + live frame; rendered as a subtle shortened-name chip (shortenModelName) - Composer Web toggle moved into a boxed focus-ringed input; glowing accent dot on tool rows - Claude SDK follow-ups (1M context, follow-up-message fix, collapsed thinking/tool chips) + CLAUDE_SDK_BACKEND=1
This commit is contained in:
@@ -107,6 +107,11 @@ END $$;
|
||||
-- a single jsonb object {tool_call_id, output, truncated, error?}.
|
||||
-- reasoning_parts is consumed by the inference history fetch (payload.ts)
|
||||
-- for v1.13.1-C reasoning round-tripping. Not surfaced in external APIs.
|
||||
-- model-attribution: which model produced an assistant message (NULL for
|
||||
-- user/system rows and pre-existing messages). Stamped at finalize (BooChat /
|
||||
-- native coder) and at assistant-row creation (external coder dispatcher).
|
||||
ALTER TABLE messages ADD COLUMN IF NOT EXISTS model TEXT;
|
||||
|
||||
CREATE OR REPLACE VIEW messages_with_parts AS
|
||||
SELECT
|
||||
m.id, m.session_id, m.chat_id, m.role, m.content, m.kind, m.status,
|
||||
@@ -122,7 +127,10 @@ SELECT
|
||||
ORDER BY p.sequence LIMIT 1) AS tool_results,
|
||||
(SELECT jsonb_agg(p.payload ORDER BY p.sequence)
|
||||
FROM message_parts p
|
||||
WHERE p.message_id = m.id AND p.kind = 'reasoning' AND p.hidden_at IS NULL) AS reasoning_parts
|
||||
WHERE p.message_id = m.id AND p.kind = 'reasoning' AND p.hidden_at IS NULL) AS reasoning_parts,
|
||||
-- NEW columns MUST be appended at the end: CREATE OR REPLACE VIEW can't
|
||||
-- reorder/rename existing columns (42P16). m.model added last.
|
||||
m.model
|
||||
FROM messages m;
|
||||
|
||||
-- v1.13.20: drop legacy tool_calls/tool_results columns. Reads have routed
|
||||
|
||||
Reference in New Issue
Block a user