2025-08-25 18:01:04 +08:00
|
|
|
import type { Ref } from 'vue';
|
|
|
|
|
import type { BubbleListProps } from '@/components/xt-chat/xt-bubble/types';
|
|
|
|
|
|
|
|
|
|
// 定义角色常量
|
2025-08-26 17:59:42 +08:00
|
|
|
export const LOADING_ROLE = 'loading'; // 加载中
|
|
|
|
|
export const INTELLECTUAL_THINKING_ROLE = 'intellectual_thinking'; // 智能思考标题
|
2025-08-25 18:01:04 +08:00
|
|
|
export const QUESTION_ROLE = 'question';
|
|
|
|
|
export const ANSWER_ROLE = 'text';
|
|
|
|
|
export const FILE_ROLE = 'file';
|
|
|
|
|
export const THOUGHT_ROLE = 'thought';
|
|
|
|
|
|
|
|
|
|
export const ROLE_STYLE = {
|
|
|
|
|
width: '600px',
|
|
|
|
|
margin: '0 auto',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const ANSWER_STYLE = {
|
|
|
|
|
...ROLE_STYLE,
|
|
|
|
|
paddingLeft: '12px',
|
|
|
|
|
borderLeft: '1px solid #E6E6E8',
|
|
|
|
|
position: 'relative',
|
|
|
|
|
left: '6px',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export interface UseChatHandlerReturn {
|
|
|
|
|
roles: BubbleListProps['roles'];
|
|
|
|
|
currentTaskId: Ref<string | null>;
|
2025-08-26 17:59:42 +08:00
|
|
|
handleMessage: (parsedData: { event: string; data: MESSAGE.Answer }) => void;
|
|
|
|
|
handleOpen: (data: Response) => void;
|
2025-08-25 18:01:04 +08:00
|
|
|
generateLoading: Ref<boolean>;
|
|
|
|
|
conversationList: Ref<any[]>;
|
|
|
|
|
showRightView: Ref<boolean>;
|
2025-08-26 17:59:42 +08:00
|
|
|
rightViewInfo: Ref<any>;
|
|
|
|
|
senderRef: Ref<null>
|
|
|
|
|
}
|
|
|
|
|
export enum EnumTeamRunStatus {
|
2025-08-27 12:04:23 +08:00
|
|
|
TeamRunStarted = 'TeamRunStarted', // 对话开始
|
|
|
|
|
TeamRunResponseContent = 'TeamRunResponseContent', // 对话执行中
|
|
|
|
|
TeamRunCompleted = 'TeamRunCompleted', // 对话完成
|
|
|
|
|
RunStarted = 'RunStarted', // l2开始运行
|
|
|
|
|
RunResponseContent = 'RunResponseContent', // l2执行中
|
|
|
|
|
RunCompleted = 'RunCompleted', // l2完成
|
2025-08-25 18:01:04 +08:00
|
|
|
}
|