const express = require('express'); const router = express.Router(); const { TaskService } = require('../services/task-service'); const taskService = new TaskService(); // GET /api/tasks — 扫描获取系统中聚合的 Task 列表(含父子关系) router.get('/', (req, res) => { try { const tasks = taskService.getAggregatedTasks(); const taskList = tasks.map(t => ({ taskId: t.taskId, title: t.title, createdAt: t.createdAt, updatedAt: t.updatedAt, status: t.status, from: t.from, to: t.to, parentTaskId: t.parentTaskId, children: t.children, isRoot: t.isRoot, agents: t.agents, conversationCount: t.conversations.length, })); res.json(taskList); } catch (err) { res.status(500).json({ error: err.message }); } }); // GET /api/tasks/:taskId/timeline — 获取跨 Agent 的所有 Timeline Log(含子任务) router.get('/:taskId/timeline', (req, res) => { try { const includeChildren = req.query.children !== 'false'; const timeline = taskService.getTaskTimeline(req.params.taskId, includeChildren); if (!timeline || timeline.length === 0) { return res.status(404).json({ error: '找不到该任务相关的聊天记录。' }); } res.json(timeline); } catch (err) { res.status(500).json({ error: err.message }); } }); module.exports = router;