| export type AIProvider = "ollama" | "openai"; |
|
|
| export interface Message { |
| id: string; |
| role: "user" | "assistant" | "system"; |
| content: string; |
| timestamp: Date; |
| isStreaming?: boolean; |
| provider?: AIProvider; |
| } |
|
|
| export interface Conversation { |
| id: string; |
| title: string; |
| messages: Message[]; |
| createdAt: Date; |
| updatedAt: Date; |
| provider?: AIProvider; |
| } |
|
|
| export interface ScreenShareState { |
| isSharing: boolean; |
| stream: MediaStream | null; |
| error: string | null; |
| } |
|
|
| export interface VoiceState { |
| isListening: boolean; |
| isSpeaking: boolean; |
| transcript: string; |
| error: string | null; |
| } |
|
|
| export interface OllamaModel { |
| name: string; |
| size: number; |
| digest: string; |
| modified_at: string; |
| details?: { |
| format: string; |
| family: string; |
| parameter_size: string; |
| quantization_level: string; |
| }; |
| } |
|
|
| export interface OllamaLibraryModel { |
| name: string; |
| description: string; |
| tags: string[]; |
| pulls: number; |
| size?: string; |
| isInstalled?: boolean; |
| } |
|
|
| export interface PDFDocument { |
| id: string; |
| name: string; |
| content: string; |
| pages: number; |
| uploadedAt: Date; |
| } |
|
|
| export interface AIProviderConfig { |
| provider: AIProvider; |
| model: string; |
| baseUrl?: string; |
| apiKey?: string; |
| } |
|
|
| export interface AppSettings { |
| provider: AIProvider; |
| ollamaUrl: string; |
| ollamaModel: string; |
| openaiApiKey: string; |
| openaiModel: string; |
| } |
|
|