|
import { Chat } from "@google/genai"; |
|
|
|
export type MessageSender = 'user' | 'model'; |
|
|
|
export interface UploadedFile { |
|
name: string; |
|
type: string; |
|
size: number; |
|
dataUrl?: string; |
|
|
|
} |
|
|
|
export interface ChatMessage { |
|
id: string; |
|
text: string; |
|
sender: MessageSender; |
|
timestamp: number; |
|
isStreaming?: boolean; |
|
error?: string; |
|
groundingChunks?: GroundingChunk[]; |
|
file?: UploadedFile; |
|
} |
|
|
|
export interface ChatSession { |
|
id: string; |
|
name: string; |
|
messages: ChatMessage[]; |
|
createdAt: number; |
|
|
|
} |
|
|
|
|
|
export interface GroundingChunkWeb { |
|
uri: string; |
|
title: string; |
|
} |
|
export interface GroundingChunk { |
|
web: GroundingChunkWeb; |
|
} |
|
|
|
|
|
export interface GeminiServiceConfig { |
|
apiKey?: string; |
|
} |