50 lines
1.0 KiB
TypeScript
50 lines
1.0 KiB
TypeScript
/// 消息角色枚举
|
|
export enum MessageRole {
|
|
// 智能体消息
|
|
AI = "AI",
|
|
// 我发送的消息
|
|
ME = "ME",
|
|
// 其他消息
|
|
OTHER = "OTHER",
|
|
};
|
|
|
|
/// Chat消息模型
|
|
export class ChatMessage {
|
|
// 消息唯一标识
|
|
messageId: string;
|
|
// 消息类型
|
|
messageRole: MessageRole;
|
|
// 消息内容
|
|
messageContent: string;
|
|
// 是否加载中
|
|
isLoading?: boolean;
|
|
// 是否完成
|
|
finished?: boolean;
|
|
// 工具调用信息
|
|
toolCall?: any;
|
|
// 问题信息
|
|
question?: string;
|
|
// 时间戳
|
|
timestamp?: number;
|
|
|
|
constructor(
|
|
messageId: string,
|
|
messageRole: MessageRole,
|
|
messageContent: string,
|
|
isLoading: boolean = false,
|
|
finished: boolean = false,
|
|
toolCall?: any,
|
|
question?: any,
|
|
timestamp?: number
|
|
) {
|
|
this.messageId = messageId;
|
|
this.messageRole = messageRole;
|
|
this.messageContent = messageContent;
|
|
this.isLoading = isLoading;
|
|
this.finished = finished;
|
|
this.toolCall = toolCall;
|
|
this.question = question;
|
|
this.timestamp = timestamp || Date.now();
|
|
}
|
|
}
|