import { NextRequest, NextResponse } from 'next/server' import { enhancedScreenshotService } from '../../../lib/enhanced-screenshot-simple' import { AIAnalysisService } from '../../../lib/ai-analysis' export async function POST(req: NextRequest) { try { const { symbol, timeframe, layouts, credentials, analyze = false } = await req.json() if (!symbol) { return NextResponse.json({ error: 'Missing symbol' }, { status: 400 }) } console.log('Enhanced screenshot API called with:', { symbol, timeframe, layouts, analyze }) const config = { symbol, timeframe: timeframe || '240', layouts: layouts || ['ai', 'diy'], credentials } const screenshots = await enhancedScreenshotService.captureWithLogin(config) let analysis = null if (analyze && screenshots.length > 0) { console.log('🤖 Starting AI analysis of screenshots...') try { const aiAnalysisService = new AIAnalysisService() // Extract filenames from screenshot paths for analysis const filenames = screenshots.map(path => path.split('/').pop() || '').filter(Boolean) if (filenames.length > 0) { console.log(`🔍 Analyzing ${filenames.length} screenshots: ${filenames.join(', ')}`) if (filenames.length === 1) { // Single screenshot analysis analysis = await aiAnalysisService.analyzeScreenshot(filenames[0]) } else { // Multi-screenshot analysis for comprehensive trading advice analysis = await aiAnalysisService.analyzeMultipleScreenshots(filenames) } console.log('✅ AI analysis completed:', analysis ? 'Success' : 'Failed') } else { console.warn('⚠️ No valid screenshot filenames found for analysis') } } catch (analysisError: any) { console.error('❌ AI analysis failed:', analysisError.message) // Don't fail the whole request if analysis fails } } const response = { success: true, screenshots, analysis, message: `Captured ${screenshots.length} screenshot(s) for ${symbol} with layouts: ${layouts?.join(', ') || 'default'}` } if (analysis) { response.message += '. AI analysis completed.' } return NextResponse.json(response) } catch (error: any) { console.error('Enhanced screenshot API error:', error) return NextResponse.json({ error: error.message, success: false }, { status: 500 }) } } export async function GET() { return NextResponse.json({ message: 'Enhanced Screenshot API', methods: ['POST'], example: { symbol: 'SOLUSD', timeframe: '240', layouts: ['ai', 'diy'] } }) }