require ('dotenv').config(); const express = require('express'); const {getEnv, PORTS, SERVICES, ORCHESTRATION} = require('@nexusai/shared'); const chatRouter = require('./routes/chat'); const sessionsRouter = require('./routes/sessions'); const cors = require('cors'); const app = express(); app.use(express.json()); app.use(cors({ origin: [ getEnv('CORS_ORIGIN', ORCHESTRATION.CORS_ORIGIN), ORCHESTRATION.CORS_ORIGIN, ], methods: ['GET', 'POST', 'DELETE'], allowedHeaders: ['Content-Type'], })) const PORT = getEnv('PORT', PORTS.ORCHESTRATION); const MEMORY_URL = getEnv('MEMORY_SERVICE_URL', SERVICES.MEMORY_URL); const EMBEDDING_URL = getEnv('EMBEDDING_SERVICE_URL', SERVICES.EMBEDDING_URL); const INFERENCE_URL = getEnv('INFERENCE_SERVICE_URL', SERVICES.INFERENCE_URL); // Health check endpoint app.get('/health', (req, res) => { res.json({ service: 'Orchestration Service', status: 'healthy', memoryService: MEMORY_URL, embeddingService: EMBEDDING_URL, inferenceService: INFERENCE_URL, }); }); app.use('/chat', chatRouter); app.use('/sessions', sessionsRouter); /******* Start the server ************/ app.listen(PORT, () => { console.log(`Orchestration Service is running on port ${PORT}`); });