@codai/romai-core
Version:
Core intelligence engine for ROMAI ecosystem - Romanian AI Central Intelligence
1 lines • 26.1 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.ts"],"names":["z","winston","OpenAI","randomUUID"],"mappings":"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","file":"index.cjs","sourcesContent":["import { OpenAI } from 'openai';\r\nimport { z } from 'zod';\r\nimport winston from 'winston';\r\nimport { randomUUID } from 'crypto';\r\nimport type {\r\n AIRequest,\r\n AIResponse,\r\n AIMessage,\r\n RomaiConfig,\r\n IntelligenceRequest,\r\n IntelligenceResponse,\r\n} from '@codai/romai-types';\r\n\r\n// Configuration validation schema\r\nconst configSchema = z.object({\r\n azure: z.object({\r\n apiKey: z.string().transform(val => val?.trim() || undefined).optional(),\r\n endpoint: z.string().transform(val => val?.trim() || undefined).optional().refine(\r\n (val) => !val || z.string().url().safeParse(val).success,\r\n \"Invalid URL format\"\r\n ),\r\n apiVersion: z.string().default('2024-12-01-preview'),\r\n deploymentName: z.string().default('gpt-4'),\r\n }),\r\n memory: z.object({\r\n provider: z.enum(['memorai', 'local', 'redis']).default('memorai'),\r\n config: z.record(z.unknown()).default({}),\r\n }),\r\n mcp: z.object({\r\n port: z.number().default(3001),\r\n name: z.string().default('romai-mcp'),\r\n version: z.string().default('0.1.0'),\r\n description: z.string().default('ROMAI MCP Server'),\r\n }),\r\n api: z.object({\r\n port: z.number().default(3000),\r\n cors: z\r\n .object({\r\n origin: z.union([z.string(), z.array(z.string())]).default('*'),\r\n credentials: z.boolean().default(true),\r\n })\r\n .default({}),\r\n rateLimit: z\r\n .object({\r\n windowMs: z.number().default(15 * 60 * 1000), // 15 minutes\r\n max: z.number().default(100), // limit each IP to 100 requests per windowMs\r\n })\r\n .default({}),\r\n auth: z.object({\r\n jwtSecret: z.string().min(32),\r\n expiresIn: z.string().default('24h'),\r\n }),\r\n }),\r\n});\r\n\r\n// Logger configuration\r\nconst logger = winston.createLogger({\r\n level: process.env.NODE_ENV === 'development' ? 'debug' : 'info',\r\n format: winston.format.combine(\r\n winston.format.timestamp(),\r\n winston.format.errors({ stack: true }),\r\n winston.format.json()\r\n ),\r\n defaultMeta: { service: 'romai-core' },\r\n transports: [\r\n new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),\r\n new winston.transports.File({ filename: 'logs/combined.log' }),\r\n ],\r\n});\r\n\r\nif (process.env.NODE_ENV !== 'production') {\r\n logger.add(\r\n new winston.transports.Console({\r\n format: winston.format.combine(winston.format.colorize(), winston.format.simple()),\r\n })\r\n );\r\n}\r\n\r\nexport class RomaiCore {\r\n private client: OpenAI;\r\n private config: RomaiConfig;\r\n private logger: winston.Logger;\r\n\r\n constructor(config: RomaiConfig) {\r\n this.logger = logger;\r\n this.config = this.validateConfig(config);\r\n\r\n // Only initialize OpenAI client if Azure credentials are provided\r\n if (this.config.azure.apiKey && this.config.azure.endpoint) {\r\n this.client = new OpenAI({\r\n apiKey: this.config.azure.apiKey,\r\n baseURL: `${this.config.azure.endpoint}/openai/deployments/${this.config.azure.deploymentName}`,\r\n defaultQuery: { 'api-version': this.config.azure.apiVersion },\r\n defaultHeaders: {\r\n 'api-key': this.config.azure.apiKey,\r\n },\r\n });\r\n\r\n this.logger.info('ROMAI Core initialized successfully with Azure OpenAI', {\r\n endpoint: this.config.azure.endpoint,\r\n model: this.config.azure.deploymentName,\r\n });\r\n } else {\r\n // Mock client for MCP-only mode\r\n this.client = null as any;\r\n this.logger.info('ROMAI Core initialized in MCP-only mode (no Azure OpenAI)');\r\n }\r\n }\r\n\r\n private validateConfig(config: RomaiConfig): RomaiConfig {\r\n try {\r\n const parsed = configSchema.parse(config);\r\n // Convert parsed config to RomaiConfig with proper typing\r\n return {\r\n azure: {\r\n apiKey: parsed.azure.apiKey || undefined,\r\n endpoint: parsed.azure.endpoint || undefined,\r\n apiVersion: parsed.azure.apiVersion,\r\n deploymentName: parsed.azure.deploymentName,\r\n },\r\n memory: parsed.memory,\r\n mcp: parsed.mcp,\r\n api: parsed.api,\r\n };\r\n } catch (error) {\r\n this.logger.error('Invalid configuration', { error });\r\n throw new Error(`Configuration validation failed: ${error}`);\r\n }\r\n }\r\n\r\n async generateResponse(request: AIRequest): Promise<AIResponse> {\r\n if (!this.client) {\r\n throw new Error('Azure OpenAI not configured. Cannot generate AI responses in MCP-only mode.');\r\n }\r\n\r\n try {\r\n this.logger.debug('Generating AI response', {\r\n messageCount: request.messages.length,\r\n model: request.model || this.config.azure.deploymentName,\r\n });\r\n\r\n const response = await this.client.chat.completions.create({\r\n model: request.model || this.config.azure.deploymentName || 'gpt-4',\r\n messages: request.messages.map(msg => ({\r\n role: msg.role,\r\n content: msg.content,\r\n })),\r\n temperature: request.temperature || 0.7,\r\n max_tokens: request.maxTokens || 2000,\r\n });\r\n\r\n const choice = response.choices[0];\r\n if (!choice?.message?.content) {\r\n throw new Error('No response content generated');\r\n }\r\n\r\n const aiResponse: AIResponse = {\r\n message: {\r\n id: randomUUID(),\r\n role: 'assistant',\r\n content: choice.message.content,\r\n timestamp: new Date(),\r\n metadata: {\r\n model: request.model || this.config.azure.deploymentName,\r\n finishReason: choice.finish_reason,\r\n },\r\n },\r\n usage: response.usage\r\n ? {\r\n promptTokens: response.usage.prompt_tokens,\r\n completionTokens: response.usage.completion_tokens,\r\n totalTokens: response.usage.total_tokens,\r\n }\r\n : undefined,\r\n model: request.model || this.config.azure.deploymentName,\r\n finishReason: choice.finish_reason || undefined,\r\n };\r\n\r\n this.logger.info('AI response generated successfully', {\r\n responseLength: choice.message.content.length,\r\n tokensUsed: response.usage?.total_tokens || 0,\r\n });\r\n\r\n return aiResponse;\r\n } catch (error) {\r\n this.logger.error('Failed to generate AI response', { error });\r\n throw error;\r\n }\r\n }\r\n\r\n async processIntelligenceRequest(request: IntelligenceRequest): Promise<IntelligenceResponse> {\r\n try {\r\n this.logger.debug('Processing intelligence request', {\r\n language: request.language,\r\n domain: request.domain,\r\n queryLength: request.query.length,\r\n });\r\n\r\n // Build context-aware prompt for Romanian AI\r\n const systemPrompt = this.buildSystemPrompt(request);\r\n const messages: AIMessage[] = [\r\n {\r\n id: randomUUID(),\r\n role: 'system',\r\n content: systemPrompt,\r\n timestamp: new Date(),\r\n },\r\n {\r\n id: randomUUID(),\r\n role: 'user',\r\n content: request.query,\r\n timestamp: new Date(),\r\n },\r\n ];\r\n\r\n // Add context if provided\r\n if (request.context) {\r\n messages.splice(1, 0, {\r\n id: randomUUID(),\r\n role: 'system',\r\n content: `Context: ${request.context}`,\r\n timestamp: new Date(),\r\n });\r\n }\r\n\r\n const aiResponse = await this.generateResponse({\r\n messages,\r\n temperature: 0.7,\r\n maxTokens: 2000,\r\n });\r\n\r\n // Parse the response to extract structured information\r\n const intelligenceResponse: IntelligenceResponse = {\r\n response: aiResponse.message.content,\r\n confidence: this.calculateConfidence(aiResponse),\r\n sources: [], // TODO: Implement source extraction\r\n relatedTopics: [], // TODO: Implement topic extraction\r\n suggestions: [], // TODO: Implement suggestion generation\r\n };\r\n\r\n this.logger.info('Intelligence request processed successfully', {\r\n confidence: intelligenceResponse.confidence,\r\n responseLength: intelligenceResponse.response.length,\r\n });\r\n\r\n return intelligenceResponse;\r\n } catch (error) {\r\n this.logger.error('Failed to process intelligence request', { error });\r\n throw error;\r\n }\r\n }\r\n\r\n private buildSystemPrompt(request: IntelligenceRequest): string {\r\n const language = request.language || 'ro';\r\n const domain = request.domain || 'general';\r\n\r\n let prompt = '';\r\n\r\n if (language === 'ro') {\r\n prompt = `Ești ROMAI, sistemul de inteligență artificială românesc central al ecosistemului CodAI. \r\n Ești un expert în toate domeniile și poți rezolva orice problemă cu precizie și creativitate.\r\n \r\n Caracteristici importante:\r\n - Răspunzi întotdeauna în română, cu un stil natural și conversațional\r\n - Ești extrem de precis și detaliat în explicații\r\n - Oferi soluții practice și implementabile\r\n - Ai o cunoaștere profundă a culturii și contextului românesc\r\n - Ești capabil să lucrezi în orice domeniu: tehnologie, business, educație, știință, artă\r\n \r\n Domeniul curent: ${domain}\r\n \r\n Instrucțiuni:\r\n 1. Analizează cererea cu atenție\r\n 2. Oferă un răspuns complet și structurat\r\n 3. Include exemple concrete când este relevant\r\n 4. Sugerează pași următori dacă este cazul\r\n 5. Menține un ton profesional dar prietenos`;\r\n } else {\r\n prompt = `You are ROMAI, the central Romanian AI intelligence system of the CodAI ecosystem.\r\n You are an expert in all domains and can solve any problem with precision and creativity.\r\n \r\n Important characteristics:\r\n - You provide accurate and detailed explanations\r\n - You offer practical and implementable solutions\r\n - You have deep knowledge across all domains\r\n - You can work in any field: technology, business, education, science, arts\r\n \r\n Current domain: ${domain}\r\n \r\n Instructions:\r\n 1. Analyze the request carefully\r\n 2. Provide a complete and structured response\r\n 3. Include concrete examples when relevant\r\n 4. Suggest next steps if applicable\r\n 5. Maintain a professional but friendly tone`;\r\n }\r\n\r\n return prompt;\r\n }\r\n\r\n private calculateConfidence(response: AIResponse): number {\r\n // Simple confidence calculation based on response characteristics\r\n // TODO: Implement more sophisticated confidence scoring\r\n let confidence = 0.8; // Base confidence\r\n\r\n // Adjust based on response length (longer responses might be more confident)\r\n const responseLength = response.message.content.length;\r\n if (responseLength > 500) confidence += 0.1;\r\n if (responseLength < 100) confidence -= 0.2;\r\n\r\n // Adjust based on finish reason\r\n if (response.finishReason === 'stop') confidence += 0.1;\r\n if (response.finishReason === 'length') confidence -= 0.1;\r\n\r\n // Ensure confidence is between 0 and 1\r\n return Math.max(0, Math.min(1, confidence));\r\n }\r\n\r\n async healthCheck(): Promise<{\r\n status: string;\r\n timestamp: Date;\r\n details: Record<string, unknown>;\r\n }> {\r\n try {\r\n if (!this.client) {\r\n return {\r\n status: 'healthy',\r\n timestamp: new Date(),\r\n details: {\r\n azure: 'not_configured',\r\n mode: 'mcp_only',\r\n },\r\n };\r\n }\r\n\r\n // Test Azure OpenAI connectivity\r\n await this.client.chat.completions.create({\r\n model: this.config.azure.deploymentName || 'gpt-4',\r\n messages: [{ role: 'user', content: 'Test connectivity' }],\r\n max_tokens: 10,\r\n });\r\n\r\n return {\r\n status: 'healthy',\r\n timestamp: new Date(),\r\n details: {\r\n azure: 'connected',\r\n model: this.config.azure.deploymentName,\r\n endpoint: this.config.azure.endpoint,\r\n },\r\n };\r\n } catch (error) {\r\n this.logger.error('Health check failed', { error });\r\n return {\r\n status: 'unhealthy',\r\n timestamp: new Date(),\r\n details: {\r\n azure: 'disconnected',\r\n error: error instanceof Error ? error.message : 'Unknown error',\r\n },\r\n };\r\n }\r\n }\r\n\r\n getConfig(): RomaiConfig {\r\n return { ...this.config };\r\n }\r\n\r\n getLogger(): winston.Logger {\r\n return this.logger;\r\n }\r\n}\r\n\r\n// Utility functions\r\nexport function createRomaiCore(config: RomaiConfig): RomaiCore {\r\n return new RomaiCore(config);\r\n}\r\n\r\nexport function loadConfigFromEnv(): RomaiConfig {\r\n const config: RomaiConfig = {\r\n azure: {\r\n apiKey: process.env.AZURE_OPENAI_API_KEY?.replace(/\\s+/g, '') || undefined,\r\n endpoint: process.env.AZURE_OPENAI_ENDPOINT?.trim() || undefined,\r\n apiVersion: process.env.AZURE_OPENAI_API_VERSION || '2024-12-01-preview',\r\n deploymentName: process.env.AZURE_OPENAI_DEPLOYMENT_NAME || 'gpt-4',\r\n },\r\n memory: {\r\n provider: (process.env.ROMAI_MEMORY_PROVIDER as 'memorai' | 'local' | 'redis') || 'memorai',\r\n config: {},\r\n },\r\n mcp: {\r\n port: parseInt(process.env.ROMAI_MCP_PORT || '3001'),\r\n name: process.env.ROMAI_MCP_NAME || 'romai-mcp',\r\n version: process.env.ROMAI_MCP_VERSION || '0.1.0',\r\n description: process.env.ROMAI_MCP_DESCRIPTION || 'ROMAI MCP Server',\r\n },\r\n api: {\r\n port: parseInt(process.env.ROMAI_API_PORT || '3000'),\r\n cors: {\r\n origin: process.env.ROMAI_CORS_ORIGIN || '*',\r\n credentials: process.env.ROMAI_CORS_CREDENTIALS === 'true',\r\n },\r\n rateLimit: {\r\n windowMs: parseInt(process.env.ROMAI_RATE_LIMIT_WINDOW || '900000'), // 15 minutes\r\n max: parseInt(process.env.ROMAI_RATE_LIMIT_MAX || '100'),\r\n },\r\n auth: {\r\n jwtSecret: process.env.ROMAI_JWT_SECRET || 'romai-secret-key-change-in-production',\r\n expiresIn: process.env.ROMAI_JWT_EXPIRES_IN || '24h',\r\n },\r\n },\r\n };\r\n\r\n return config;\r\n}\r\n\r\n// Export types and utilities\r\nexport type {\r\n RomaiConfig,\r\n AIRequest,\r\n AIResponse,\r\n IntelligenceRequest,\r\n IntelligenceResponse,\r\n} from '@codai/romai-types';\r\n"]}