sf-agent-framework
Version:
AI Agent Orchestration Framework for Salesforce Development - Two-phase architecture with 70% context reduction
46 lines (34 loc) • 1.26 kB
JavaScript
const fs = require('fs');
const path = require('path');
const metricsFilePath = path.join(process.cwd(), 'metrics.json');
function recordEvent(eventName, data) {
const timestamp = new Date().toISOString();
const event = { eventName, timestamp, data };
let metrics = [];
if (fs.existsSync(metricsFilePath)) {
const fileContents = fs.readFileSync(metricsFilePath, 'utf8');
metrics = JSON.parse(fileContents);
}
metrics.push(event);
fs.writeFileSync(metricsFilePath, JSON.stringify(metrics, null, 2));
console.log(`Metric recorded: ${eventName}`);
}
function generateReport() {
if (!fs.existsSync(metricsFilePath)) {
console.log('No metrics found.');
return;
}
const fileContents = fs.readFileSync(metricsFilePath, 'utf8');
const metrics = JSON.parse(fileContents);
console.log('--- Metrics Report ---');
console.log(`Total events recorded: ${metrics.length}`);
const eventCounts = metrics.reduce((acc, event) => {
acc[event.eventName] = (acc[event.eventName] || 0) + 1;
return acc;
}, {});
console.log('\nEvent Counts:');
for (const [eventName, count] of Object.entries(eventCounts)) {
console.log(`- ${eventName}: ${count}`);
}
}
module.exports = { recordEvent, generateReport };