import express, { Request, Response } from 'express' import type { ApiResponse } from '../../../shared/types.js' import { eventBus } from '../../events/eventBus.js' const router = express.Router() router.get('/', (req: Request, res: Response) => { if (process.env.VERCEL) { const response: ApiResponse = { success: false, error: { code: 'SSE_UNSUPPORTED', message: 'SSE在无服务器运行时中不受支持' }, } return res.status(501).json(response) } const headers = { 'Content-Type': 'text/event-stream', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache' } res.writeHead(200, headers) res.write(`data: ${JSON.stringify({ event: 'connected' })}\n\n`) eventBus.addClient(res) req.on('close', () => { eventBus.removeClient(res) }) }) export default router