Files
nexusAI/packages/orchestration-service/src/index.js
2026-04-07 01:30:35 -07:00

42 lines
1.3 KiB
JavaScript

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}`);
});