Merge pull request 'feat(web): chat interface — model selector, keybindings, thinking display, v0 styled header' (#216) from feat/ui-chat into main
Some checks failed
ci/woodpecker/push/ci Pipeline failed

Reviewed-on: mosaic/mosaic-stack#216
This commit was merged in pull request #216.
This commit is contained in:
2026-03-21 12:29:29 +00:00
10 changed files with 1841 additions and 260 deletions

View File

@@ -15,10 +15,41 @@ export interface Message {
conversationId: string;
role: 'user' | 'assistant' | 'system';
content: string;
thinking?: string;
model?: string;
provider?: string;
promptTokens?: number;
completionTokens?: number;
totalTokens?: number;
metadata?: Record<string, unknown>;
createdAt: string;
}
/** Model definition returned by provider APIs. */
export interface ModelInfo {
id: string;
provider: string;
name: string;
reasoning: boolean;
contextWindow: number;
maxTokens: number;
inputTypes: Array<'text' | 'image'>;
cost: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
};
}
/** Provider with associated models. */
export interface ProviderInfo {
id: string;
name: string;
available: boolean;
models: ModelInfo[];
}
/** Task statuses. */
export type TaskStatus = 'not-started' | 'in-progress' | 'blocked' | 'done' | 'cancelled';