#!/usr/bin/env node /** * Test script to verify AI learning decision recording */ const { getDB } = require('./lib/db.js') async function testLearningRecording() { try { console.log('๐Ÿงช Testing AI learning decision recording...') const prisma = getDB() // Get current count const currentCount = await prisma.ai_learning_data.count({ where: { OR: [ { analysisData: { string_contains: 'STOP_LOSS_DECISION' } }, { analysisData: { string_contains: 'ANALYSIS_DECISION' } } ] } }) console.log(`๐Ÿ“Š Current total decisions: ${currentCount}`) // Record a new test decision const decisionData = { type: 'ANALYSIS_DECISION', symbol: 'SOLUSD', timeframe: '60', recommendation: 'BUY', confidence: 85, reasoning: 'Test analysis decision for continuous learning', marketSentiment: 'BULLISH', timestamp: new Date().toISOString() } const record = await prisma.ai_learning_data.create({ data: { id: `test_analysis_decision_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`, userId: 'continuous-learning-test', symbol: 'SOLUSD', timeframe: '60', analysisData: JSON.stringify(decisionData), marketConditions: JSON.stringify({ sentiment: 'BULLISH', confidence: 85, recommendation: 'BUY' }), confidenceScore: 85 } }) console.log(`โœ… Test decision recorded: ${record.id}`) // Check new count const newCount = await prisma.ai_learning_data.count({ where: { OR: [ { analysisData: { string_contains: 'STOP_LOSS_DECISION' } }, { analysisData: { string_contains: 'ANALYSIS_DECISION' } } ] } }) console.log(`๐Ÿ“Š New total decisions: ${newCount}`) console.log(`๐Ÿ“ˆ Increase: ${newCount - currentCount}`) } catch (error) { console.error('โŒ Error testing AI learning recording:', error.message) console.error('โŒ Stack trace:', error.stack) } } testLearningRecording()