// 会话状态枚举 export enum SessionStatus { RequirementDocument = 'requirement_document', TechnicalDocument = 'technical_document', Code = 'code', Test = 'test', Release = 'release' } // 智能体枚举 export enum Agent { Replenish = 'replenish', Transfer = 'transfer', Allocation = 'allocation', Report = 'report' } // 智能体显示名称映射 export const AgentDisplayName: Record = { [Agent.Replenish]: '补货', [Agent.Transfer]: '调拨', [Agent.Allocation]: '配货', [Agent.Report]: '报表' } // 会话信息(对应后端Session模型) export interface Session { id: string; // 会话ID project_id: string; // 项目ID title: string; // 标题 agent_name: string; // 智能体名称 description?: string; // 项目描述 status: string; // 状态:requirement_document|technical_document|code|test|release user_id?: string; // 用户ID tenant_id?: string; // 租户ID created_at?: string; // 创建时间 updated_at?: string; // 更新时间 // 向后兼容字段 parentID?: string; path?: { [key: string]: string }; port?: number; baseURL?: string; } // 代码项(对应后端CodeItem模型) export interface CodeItem { order: number; // 执行次序 title: string; // 步骤标题 select_part: string; // select部分SQL代码 from_part: string; // from部分代码 where_part: string; // where部分 group_by_part: string; // group by部分 order_by_part: string; // order by部分 temp_table_name: string; // 临时表名称 parameters: Record; // 参数集合 return_columns: Record; // 返回的列名称和对应的中文名称(映射) } // 会话明细(对应后端SessionDetail模型) export interface SessionDetail { id?: string; // MongoDB自动生成的ID session_id: string; // 关联的会话ID requirement_doc: string; // 需求文档 technical_doc: string; // 技术文档 code_items: CodeItem[]; // 代码数组 history_sessions: string[]; // 历史会话ID数组 created_at?: string; // 创建时间 updated_at?: string; // 更新时间 } // 包含主会话和明细的完整响应 export interface SessionWithDetail { session: Session; detail?: SessionDetail; history_count?: number; // 历史消息数量 } // 创建项目请求(对应后端SessionCreateRequest) export interface ProjectCreateRequest { title: string; // 标题 agent_name: string; // 智能体名称 project_id?: string; // 项目ID(前端生成proj_前缀UUID) description?: string; // 项目描述 } // 创建项目响应 export interface ProjectCreateResponse extends Session { // 继承Session所有字段 } // 创建项目API响应 export interface ProjectCreateApiResponse extends QueryResult { // data字段包含ProjectCreateResponse } // 项目列表响应 export interface ProjectListResponse extends QueryResult { // data字段包含会话数组(按项目分组) } // 向后兼容:保留原有接口名称 export interface SessionCreateRequest extends ProjectCreateRequest { // 保持兼容,实际使用ProjectCreateRequest } export interface SessionCreateResponse extends ProjectCreateResponse { // 保持兼容 } export interface SessionCreateApiResponse extends ProjectCreateApiResponse { // 保持兼容 } export interface SessionListResponse extends ProjectListResponse { // 保持兼容 } // 从通用QueryResult导入 import { QueryResult } from './auth.model';