pull/1008/head
harshalmore31 4 weeks ago
parent 01c60e56c7
commit 3473080bab

@ -96,10 +96,10 @@ export default {
const res = await fetch('/execute');
const data = await res.json();
document.getElementById('result').innerHTML = data.result?.success
? \`✅ Success: \${data.result.analysis}\`
: \`❌ Error: \${data.error}\`;
? '✅ Success: ' + data.result.analysis
: '❌ Error: ' + data.error;
} catch (e) {
document.getElementById('result').innerHTML = \`❌ Failed: \${e.message}\`;
document.getElementById('result').innerHTML = '❌ Failed: ' + e.message;
}
}
</script>
@ -156,7 +156,7 @@ async function executeAnalysis(event, env) {
throw new Error('Autonomous data collection failed - no valid market intelligence gathered');
}
console.log(\`✅ Autonomous data collection successful: \${validData.length} sources\`);
console.log('✅ Autonomous data collection successful: ' + validData.length + ' sources');
// Step 2: Deploy Swarms AI agents for autonomous analysis
console.log('🧠 Deploying Swarms AI agents for autonomous intelligence generation...');
@ -222,14 +222,14 @@ async function executeAnalysis(event, env) {
if (!response.ok) {
const errorText = await response.text();
throw new Error(\`Swarms API autonomous execution failed: \${response.status} - \${errorText}\`);
throw new Error('Swarms API autonomous execution failed: ' + response.status + ' - ' + errorText);
}
const analysisResult = await response.json();
const intelligenceReport = analysisResult.output;
console.log('✅ Autonomous Swarms AI analysis completed successfully');
console.log(\`💰 Autonomous execution cost: \${analysisResult.usage?.billing_info?.total_cost || 'N/A'}\`);
console.log('💰 Autonomous execution cost: ' + (analysisResult.usage?.billing_info?.total_cost || 'N/A'));
// Step 3: Execute autonomous actions based on intelligence
if (env.AUTONOMOUS_ALERTS_EMAIL) {
@ -272,7 +272,7 @@ async function collectMarketIntelligence() {
// Autonomous data collection from Yahoo Finance API
const response = await fetch(
\`https://query1.finance.yahoo.com/v8/finance/chart/\${symbol}\`,
'https://query1.finance.yahoo.com/v8/finance/chart/' + symbol,
{
signal: controller.signal,
headers: {
@ -283,7 +283,7 @@ async function collectMarketIntelligence() {
clearTimeout(timeout);
if (!response.ok) {
throw new Error(\`Autonomous data collection failed: HTTP \${response.status}\`);
throw new Error('Autonomous data collection failed: HTTP ' + response.status);
}
const data = await response.json();
@ -299,7 +299,7 @@ async function collectMarketIntelligence() {
const dayChange = currentPrice - previousClose;
const changePercent = ((dayChange / previousClose) * 100).toFixed(2);
console.log(\`📈 \${symbol}: $\${currentPrice} (\${changePercent}%) - Autonomous collection successful\`);
console.log('📈 ' + symbol + ': $' + currentPrice + ' (' + changePercent + '%) - Autonomous collection successful');
return [symbol, {
price: currentPrice,
@ -319,9 +319,9 @@ async function collectMarketIntelligence() {
}];
} catch (error) {
console.error(\`❌ Autonomous collection failed for \${symbol}:\`, error.message);
console.error('❌ Autonomous collection failed for ' + symbol + ':', error.message);
return [symbol, {
error: \`Autonomous collection failed: \${error.message}\`,
error: 'Autonomous collection failed: ' + error.message,
autonomous_collection_time: new Date().toISOString(),
data_quality: 'failed'
}];
@ -337,7 +337,7 @@ async function collectMarketIntelligence() {
});
const successfulCollections = Object.keys(marketIntelligence).filter(k => !marketIntelligence[k]?.error).length;
console.log(\`📊 Autonomous intelligence collection completed: \${successfulCollections}/\${targetSymbols.length} successful\`);
console.log('📊 Autonomous intelligence collection completed: ' + successfulCollections + '/' + targetSymbols.length + ' successful');
return marketIntelligence;
}
@ -353,113 +353,36 @@ async function executeAutonomousAlerts(env, intelligenceReport, marketIntelligen
// Autonomous detection of significant market movements
const significantMovements = Object.entries(marketIntelligence)
.filter(([symbol, data]) => data.change_percent && Math.abs(parseFloat(data.change_percent)) > 3)
.map(([symbol, data]) => \`\${symbol}: \${data.change_percent}%\`)
.map(([symbol, data]) => symbol + ': ' + data.change_percent + '%')
.join(', ');
const alertSubject = \`🤖 Autonomous Market Intelligence Alert - \${new Date().toLocaleDateString()}\`;
const alertSubject = '🤖 Autonomous Market Intelligence Alert - ' + new Date().toLocaleDateString();
const alertBody = \`
<!DOCTYPE html>
const alertBody = `
<html>
<head>
<style>
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; max-width: 1000px; margin: 0 auto; background: #f8f9fa; }
.container { background: white; margin: 20px; border-radius: 15px; overflow: hidden; box-shadow: 0 15px 35px rgba(0,0,0,0.1); }
.header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 40px; text-align: center; }
.content { padding: 40px; }
.autonomous-badge { background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); color: white; padding: 20px; border-radius: 10px; margin: 25px 0; text-align: center; }
.intelligence-section { background: #f8f9fa; padding: 30px; border-radius: 10px; margin: 25px 0; border-left: 5px solid #667eea; }
.market-data { margin: 25px 0; }
table { width: 100%; border-collapse: collapse; margin: 20px 0; }
th, td { padding: 15px; text-align: left; border-bottom: 1px solid #eee; }
th { background: #f8f9fa; font-weight: 600; color: #333; }
.positive { color: #28a745; font-weight: bold; }
.negative { color: #dc3545; font-weight: bold; }
.footer { background: #f8f9fa; padding: 25px; text-align: center; color: #666; font-size: 14px; }
.badge { display: inline-block; background: #667eea; color: white; padding: 5px 12px; border-radius: 15px; font-size: 12px; font-weight: 600; margin: 3px; }
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>🤖 Autonomous Market Intelligence</h1>
<p>AI-Powered Autonomous Financial Analysis • Swarms API</p>
<div>
<span class="badge">Autonomous</span>
<span class="badge">Real-time</span>
<span class="badge">AI-Powered</span>
<span class="badge">Global Edge</span>
</div>
<p><strong>Generated:</strong> \${new Date().toLocaleString()}</p>
</div>
<body>
<h1>🤖 Market Intelligence Alert</h1>
<p><strong>Date:</strong> ${new Date().toLocaleString()}</p>
<p><strong>Movements:</strong> ${significantMovements || 'Normal volatility'}</p>
<div class="content">
<div class="autonomous-badge">
<h3>🚀 Autonomous Analysis Execution Complete</h3>
<p><strong>Significant Market Movements Detected:</strong> \${significantMovements || 'Market within normal volatility parameters'}</p>
<p><strong>Next Autonomous Cycle:</strong> Scheduled automatically</p>
</div>
<div class="intelligence-section">
<h2>🧠 Autonomous AI Intelligence Report</h2>
<p><em>Generated by autonomous Swarms AI agents with real-time market intelligence:</em></p>
<pre style="white-space: pre-wrap; font-family: 'Courier New', monospace; background: white; padding: 25px; border-radius: 8px; font-size: 13px; line-height: 1.6; border: 1px solid #eee;">\${intelligenceReport}</pre>
</div>
<div class="market-data">
<h2>📊 Real-Time Market Intelligence</h2>
<table>
<thead>
<tr>
<th>Symbol</th>
<th>Price</th>
<th>Change</th>
<th>Volume</th>
<th>Market State</th>
<th>Data Quality</th>
</tr>
</thead>
<tbody>
\${Object.entries(marketIntelligence)
.filter(([symbol, data]) => !data.error)
.map(([symbol, data]) => \`
<tr>
<td><strong>\${symbol}</strong></td>
<td>$\${data.price?.toFixed(2) || 'N/A'}</td>
<td class="\${parseFloat(data.change_percent) >= 0 ? 'positive' : 'negative'}">
\${parseFloat(data.change_percent) >= 0 ? '+' : ''}\${data.change_percent}%
</td>
<td>\${data.volume?.toLocaleString() || 'N/A'}</td>
<td>\${data.market_state || 'N/A'}</td>
<td>\${data.data_quality || 'N/A'}</td>
</tr>
\`).join('')}
</tbody>
</table>
</div>
</div>
<h2>Analysis Report:</h2>
<pre>${intelligenceReport}</pre>
<div class="footer">
<p><strong>🤖 Powered by Autonomous Swarms AI Agents</strong></p>
<p>This intelligence report was generated automatically by our autonomous market analysis system</p>
<p><em>Next autonomous analysis will execute automatically on schedule</em></p>
<p>Swarms API • Autonomous Intelligence • Edge Computing</p>
</div>
</div>
</body>
<p>Powered by Swarms API</p>
</body>
</html>
\`;
`;
const formData = new FormData();
formData.append('from', \`Autonomous Market Intelligence <intelligence@\${env.MAILGUN_DOMAIN}>\`);
formData.append('from', 'Autonomous Market Intelligence <intelligence@' + env.MAILGUN_DOMAIN + '>');
formData.append('to', env.AUTONOMOUS_ALERTS_EMAIL);
formData.append('subject', alertSubject);
formData.append('html', alertBody);
const response = await fetch(\`https://api.mailgun.net/v3/\${env.MAILGUN_DOMAIN}/messages\`, {
const response = await fetch('https://api.mailgun.net/v3/' + env.MAILGUN_DOMAIN + '/messages', {
method: 'POST',
headers: {
'Authorization': \`Basic \${btoa(\`api:\${env.MAILGUN_API_KEY}\`)}\`
'Authorization': 'Basic ' + btoa('api:' + env.MAILGUN_API_KEY)
},
body: formData
});

Loading…
Cancel
Save