Files
searchAgent/src/routes/search.js
2026-04-04 21:51:52 +02:00

35 lines
1.1 KiB
JavaScript

import { Router } from 'express';
import { SearchServiceError } from '../services/searchService.js';
export function createSearchRouter(searchService, broadcast) {
const router = Router();
router.post('/', async (request, response) => {
const { question, previousClarification, originalQuestion } = request.body;
if (!question) {
response.status(400).json({
error: 'Missing required field: question',
example: { question: 'What are the latest developments in AI?' },
});
return;
}
try {
const result = await searchService.search(question, previousClarification, originalQuestion);
response.json(result);
} catch (error) {
if (error instanceof SearchServiceError) {
broadcast(`❌ Error: ${error.message}`, 'error', error.details);
response.status(error.statusCode).json({ error: error.message });
return;
}
broadcast(`❌ Error: ${error.message}`, 'error', { error: error.stack });
response.status(500).json({ error: error.message });
}
});
return router;
}