|
|
export type ChatMessageRole = 'system' | 'user' | 'assistant'; |
|
|
|
|
|
export interface ChatMessage { |
|
|
role: ChatMessageRole; |
|
|
content: string; |
|
|
|
|
|
modelId: number; |
|
|
|
|
|
createdAt: Date; |
|
|
updatedAt: Date; |
|
|
|
|
|
isStreaming?: boolean; |
|
|
} |
|
|
|
|
|
export interface ChatSession { |
|
|
id: string; |
|
|
topic?: string; |
|
|
updatedAt: Date; |
|
|
messagesCount: number; |
|
|
} |
|
|
|
|
|
export interface DashboardChatSession extends ChatSession { |
|
|
user: { |
|
|
id: string; |
|
|
name: string; |
|
|
}; |
|
|
_count: { |
|
|
messages: number; |
|
|
}; |
|
|
} |
|
|
|
|
|
export interface ChatSessionWithMessage extends ChatSession { |
|
|
messages: ChatMessage[]; |
|
|
} |
|
|
|
|
|
export interface NewMessageDto { |
|
|
|
|
|
modelId: number; |
|
|
|
|
|
content: string; |
|
|
|
|
|
memoryPrompt?: string; |
|
|
} |
|
|
|