Initial commit

This commit is contained in:
2025-07-10 21:59:56 -04:00
commit 4dec00d283
35 changed files with 10272 additions and 0 deletions

56
debug-cache.js Normal file
View File

@@ -0,0 +1,56 @@
// Debug script to test cache behavior in detail
const axios = require('axios');
const API_BASE = 'http://localhost:3001/api';
async function debugCache() {
console.log('🔍 Starting cache debug session...\n');
console.log('📊 Clearing cache first:');
try {
await axios.delete(`${API_BASE}/cache`);
console.log('✅ Cache cleared\n');
} catch (error) {
console.log(`❌ Error clearing cache: ${error.message}\n`);
}
console.log('📊 Making first request - should make API calls:');
const start1 = Date.now();
try {
const response1 = await axios.get(`${API_BASE}/workflow-runs`);
console.log(`✅ First request: ${response1.data.length} runs (${Date.now() - start1}ms)\n`);
} catch (error) {
console.log(`❌ First request failed: ${error.message}\n`);
}
console.log('📊 Waiting 2 seconds...\n');
await new Promise(resolve => setTimeout(resolve, 2000));
console.log('📊 Making second request - should hit cache:');
const start2 = Date.now();
try {
const response2 = await axios.get(`${API_BASE}/workflow-runs`);
console.log(`✅ Second request: ${response2.data.length} runs (${Date.now() - start2}ms)\n`);
} catch (error) {
console.log(`❌ Second request failed: ${error.message}\n`);
}
console.log('📊 Cache stats:');
try {
const stats = await axios.get(`${API_BASE}/cache/stats`);
console.log(`💾 Cache entries: ${stats.data.size}`);
console.log(`💾 Cache keys: ${stats.data.entries.join(', ')}\n`);
} catch (error) {
console.log(`❌ Cache stats failed: ${error.message}\n`);
}
console.log('📊 Rate limit info:');
try {
const rateLimit = await axios.get(`${API_BASE}/rate-limit`);
console.log(`🔄 Rate limit: ${rateLimit.data.remaining}/${rateLimit.data.limit}`);
} catch (error) {
console.log(`❌ Rate limit failed: ${error.message}`);
}
}
debugCache().catch(console.error);