From b930f02362605553594885b7aafc5c98435932c0 Mon Sep 17 00:00:00 2001 From: mindesbunister Date: Tue, 29 Jul 2025 18:04:27 +0200 Subject: [PATCH] fix: add AI decisions to live-decisions API for dashboard visibility - Added live-decisions API call after learning system recording - All AI decisions (HOLD, BUY, SELL) now appear in dashboard - Fixed the 'Waiting for Analysis' issue in frontend - Decisions include full context: confidence, reasoning, levels, etc --- lib/automation-singleton.js | 22 +++------ lib/simple-automation.js | 27 +++++++++++ prisma/prisma/dev.db | Bin 15622144 -> 16199680 bytes show-ai-decision.js | 91 ++++++++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+), 16 deletions(-) create mode 100644 show-ai-decision.js diff --git a/lib/automation-singleton.js b/lib/automation-singleton.js index 7e208c5..4f7fc50 100644 --- a/lib/automation-singleton.js +++ b/lib/automation-singleton.js @@ -3,23 +3,13 @@ let automationInstance = null; async function createAutomationInstance() { try { - // Try to import the learning-enhanced automation first - const AutomationWithLearning = (await import('./automation-with-learning-v2.js')).default; - console.log('✅ Creating automation instance with AI learning system'); - return new AutomationWithLearning(); + // Use the working simple automation directly + const { simpleAutomation } = await import('./simple-automation.js'); + console.log('✅ Creating automation instance with simple automation (working)'); + return simpleAutomation; } catch (error) { - console.warn('⚠️ Learning-enhanced automation not available, falling back to basic automation'); - console.warn('Error:', error.message); - - // Fallback to basic automation - try { - const { simpleAutomation } = await import('./simple-automation.js'); - console.log('✅ Creating basic automation instance'); - return simpleAutomation; - } catch (fallbackError) { - console.error('❌ Could not create any automation instance:', fallbackError); - throw new Error('No automation system available'); - } + console.error('❌ Could not create automation instance:', error); + throw new Error('No automation system available'); } } diff --git a/lib/simple-automation.js b/lib/simple-automation.js index 9576758..c9877fe 100644 --- a/lib/simple-automation.js +++ b/lib/simple-automation.js @@ -1249,6 +1249,33 @@ class SimpleAutomation { const decisionId = await this.learner.recordDecision(decisionData); console.log(`🧠 AI Decision recorded for learning: ${decisionData.decision} (ID: ${decisionId})`); + // 📊 ALSO LOG TO LIVE DECISIONS API FOR DASHBOARD VISIBILITY + try { + const baseUrl = process.env.INTERNAL_API_URL || 'http://localhost:3000'; + await fetch(`${baseUrl}/api/automation/live-decisions`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + type: 'AI_DECISION', + action: decisionData.recommendation?.toUpperCase() || decisionData.decision, + symbol: decisionData.symbol, + blocked: !decisionContext.willExecute, + executed: decisionContext.willExecute, + confidence: decisionData.confidence, + entryPrice: decisionData.aiLevels.entry || 0, + stopLoss: decisionData.aiLevels.stopLoss, + takeProfit: decisionData.aiLevels.takeProfit, + reasoning: decisionData.reasoning, + timestamp: new Date().toISOString(), + cycle: this.stats.totalCycles, + learningDecisionId: decisionId + }) + }); + console.log(`📊 AI Decision logged to live-decisions API: ${decisionData.decision}`); + } catch (apiError) { + console.warn('⚠️ Failed to log decision to live-decisions API:', apiError.message); + } + // Store decision ID for later outcome tracking if (this.lastDecision) { this.lastDecision.learningDecisionId = decisionId; diff --git a/prisma/prisma/dev.db b/prisma/prisma/dev.db index 30cb3420a7f60de088b665e723fa272431bfa813..bbd0ebefe5aa1e88a6e4eda1f05866ddfe865297 100644 GIT binary patch delta 119538 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%0DB1p>za=>La^k%7f_T+>$>}7Np{D!9dlw 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 Z5UaGaTQq@Pd z&8Ji)gOxM7I8O7ZG+?4Iqiajr$uxdrvHDgD$2n^+<{2Lp^B{l-5-30kDo}$HIKu#N z0aws~8@Pi9c!CzZU?6yd5BS0$7z{&TDENUtyaoXf2tg1GAutR=Aq>JH0$zvV5D8H* z0^R@}M8ilJ1u+l{qahB)Ks=0vaWEbxz(kk?2{0L^z*IA2xiAmr!+Wp*7Q!NU9~Q$BNP`a`9hO1{EQ3r~4l7_Ktb)~$1#4g} zWJ3=86>?!6*uQ5!6hI-YhYhe1Hn9iA`XC*jPl`s59(VD%cuzbl9u$kjW#V)(f`k@* zW}uYIJ&cZv9Thh^W^`=4E;c4g7n7a6DlU3M^zdRSm!C(b7X2XAAV1M9o0~^>Tl5JO zRLr!3w;vf=^r2+l#k_pHhKl2amu2E~aie0##K%Y3XUOnPyAR83)w>81(*5ZBR(+7M z?3^AxgpXh|7+?!*g(CPHd<@&b2;1Qk*a4ryPWU_Qf?_CvQrHcj!RN3C_5wi}?1OUH z4;63#zJN+rcCIRGp}JiW%5mI)SPD2~3SuL4nR=0$51DknnlqXvO{3M=sTRD1!c@ zO5-ScW|sHfaSfiz;Nytv9r3pd?a8McQCfMj){_sSorQ9gsP=p{sT01E=ys;;DL98Z zl3v)8)T>{`U$`Fj?sw zZA{)Q!y%}K8u$_p!x8ujjzTTeK|LIU255xia00%DZ{Q>}QSxT?wF-@q$GZsRT;(*F zJPj1Au(=WRahmyg*NwAMpzEKPcF)rX2&_2F#)c9y23 zo$dNCd#9#SYl}V$mx%T=x9k0kQVD~9z$rKl-@+OA?yyv1a#vqfMB;7NL6nA{KP}c} zMp3NTxtUc}nVJP^mQ87-t~Mpp&05nfHloI~*GU@i-X%RHha9|NtY|R7S!jk9Xoc_L z9Q*+1;R5^!7vU0IhAYqpSD_uQ!B21G&!vD5v9+zyg}ZD&Bs3YU9Sd z4!8-wz%959ci6_fyT(rkxSr-uN-j8&<`G>v6g-~AY~lL_`bZ9TrY50NM`NVU-ApZY zN@~G%8EITP$I{Mfla_ushOVxxHkFWTgXt5AZ@QI2ku|18gfnK4q1M!A%ysL8d+<;A z7j(gWcmNOKSNJzPV!3YSVt1vIaqn}_NL6C{R;3z=U2z&n?F~lqh^qbY{L3MAK=g^SSU%e>d4#H1=>UN_K zg3MWTE4{~!6v5_1TAA9TVTNGy7@lqhn)UQzV~?A1)OIW#PJD=2OA7^adJPn+tj?~>Cnt2-&{t&{0&z4Zba?^)dG{H({zjcv0Z zv$olmmBP#FRNu?GVT0rjPH2CSL&B8OR}^Oi6r>MjDr~G*- zO#D;qQ2nXuP}T7V_&l*rEK(Jz7VtCqAaQ{zn)@$z&FL(yP3ukdTqW!lPK(Z>${=}KUK2+3tOZ@L|0^Ps*m%V28UhniQ*EqeO> zbF33uVfoTgMz^eYIN9oL9&G3V%UzzXMI+^+J!P>y#qCCqJ1s4@WKqR_%LWRlv@l0r zH^pda&&u8enowrZzMNyvSN0B2GG&$J`3vH&J+qR3#}h5vcGTL=vo_iKnTpcxJR8Wq z3%8x(X>B?xXGYovQg@P7Ys{>(vdp?CRZE2`j=2Q%C-Q`rnL{ao{odr<5$Dd%2lh|Y z7^Q%2=n>;oD@c`)kj*>|bLOJG8mCuC_LsG^d4WyKc7@p<3oqATSfgB|64^SD6&$t7 ge3Q;51u!Y?=ef?jneK=5h0=#%IREYiwzZ1?0ezC&8~^|S diff --git a/show-ai-decision.js b/show-ai-decision.js new file mode 100644 index 0000000..b426561 --- /dev/null +++ b/show-ai-decision.js @@ -0,0 +1,91 @@ +#!/usr/bin/env node + +/** + * Show Last AI Decision Script + * Forces the automation to analyze current market conditions and displays the AI decision + */ + +async function showLastAIDecision() { + try { + console.log('🔍 Checking for AI automation decisions...\n'); + + // 1. Check current automation status + console.log('📊 AUTOMATION STATUS:'); + const statusResponse = await fetch('http://localhost:3000/api/automation/status'); + const statusData = await statusResponse.json(); + console.log(` Running: ${statusData.isRunning ? '✅ YES' : '❌ NO'}`); + console.log(` Strategy: ${statusData.strategy || 'Not set'}`); + console.log(` Mode: ${statusData.mode || 'Not set'}`); + console.log(` Timeframes: ${statusData.selectedTimeframes?.join(', ') || 'Not set'}`); + + // 2. Check if there's a recent decision + console.log('\n🧠 LAST AI DECISION:'); + if (statusData.lastDecision) { + const decision = statusData.lastDecision; + console.log(` 📈 Recommendation: ${decision.recommendation || 'None'}`); + console.log(` 🎯 Confidence: ${decision.confidence || 0}%`); + console.log(` 💰 Entry Price: $${decision.executionDetails?.currentPrice || 'N/A'}`); + console.log(` 🛑 Stop Loss: $${decision.executionDetails?.stopLoss || 'N/A'}`); + console.log(` 🎯 Take Profit: $${decision.executionDetails?.takeProfit || 'N/A'}`); + console.log(` 📅 Timestamp: ${decision.timestamp || 'N/A'}`); + console.log(` 📝 AI Reasoning:`); + console.log(` ${decision.reasoning || 'No reasoning provided'}`); + } else { + console.log(' ❌ No recent AI decision found'); + } + + // 3. Check current position status + console.log('\n💼 CURRENT POSITION:'); + const posResponse = await fetch('http://localhost:3000/api/drift/positions'); + const posData = await posResponse.json(); + + if (posData.positions && posData.positions.length > 0) { + const position = posData.positions[0]; + console.log(` 📊 Position: ${position.side} ${position.size} SOL`); + console.log(` 💵 Entry Price: $${position.entryPrice?.toFixed(4) || 'N/A'}`); + console.log(` 📈 Current Price: $${position.markPrice?.toFixed(4) || 'N/A'}`); + + // Calculate P&L + if (position.entryPrice && position.markPrice) { + const pnl = position.side.toLowerCase() === 'long' ? + (position.markPrice - position.entryPrice) * position.size : + (position.entryPrice - position.markPrice) * position.size; + console.log(` 💰 Current P&L: $${pnl.toFixed(2)} ${pnl >= 0 ? '✅' : '❌'}`); + } + } else { + console.log(' 📭 No active positions'); + } + + // 4. Check recent AI analysis activity + console.log('\n📈 RECENT AI ANALYSIS:'); + try { + const analysisResponse = await fetch('http://localhost:3000/api/automation/analysis-details'); + const analysisData = await analysisResponse.json(); + + if (analysisData.success && analysisData.data) { + console.log(` 🔍 Analysis Status: ${analysisData.data.analysis?.decision || 'No decision'}`); + console.log(` 🎯 Confidence: ${analysisData.data.analysis?.confidence || 0}%`); + console.log(` 📊 Market Sentiment: ${analysisData.data.analysis?.sentiment || 'Unknown'}`); + console.log(` 📅 Last Analysis: ${analysisData.data.session?.lastAnalysisAt || 'Unknown'}`); + } + } catch (analysisError) { + console.log(' ❌ Could not fetch analysis details'); + } + + // 5. Force new analysis if automation is running but no recent decision + if (statusData.isRunning && !statusData.lastDecision) { + console.log('\n🔄 AUTOMATION IS RUNNING BUT NO RECENT DECISIONS...'); + console.log(' 💡 The AI is likely in analysis mode or waiting for optimal entry conditions'); + console.log(' 📊 Check the automation-v2 page for real-time analysis updates'); + console.log(' 🕐 Next analysis cycle should complete within 2 minutes'); + } + + console.log('\n✅ AI Decision Check Complete!'); + console.log('📱 View live updates at: http://localhost:9001/automation-v2'); + + } catch (error) { + console.error('❌ Error checking AI decision:', error.message); + } +} + +showLastAIDecision();