30 lines
526 B
TypeScript
30 lines
526 B
TypeScript
import { Types } from "mongoose";
|
|
|
|
export enum MessageType {
|
|
USER = "user",
|
|
BOT = "bot",
|
|
SYSTEM = "system",
|
|
}
|
|
|
|
export enum MessageStatus {
|
|
SENT = "sent",
|
|
DELIVERED = "delivered",
|
|
READ = "read",
|
|
FAILED = "failed",
|
|
}
|
|
|
|
export interface IChatMessage {
|
|
_id: Types.ObjectId;
|
|
content: string;
|
|
type: MessageType;
|
|
status: MessageStatus;
|
|
session: Types.ObjectId;
|
|
sender?: Types.ObjectId;
|
|
metadata?: Record<string, any>;
|
|
responseToId?: string;
|
|
tokensUsed: number;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|