const { Pool } = require('pg'); const fs = require('fs'); const pdfParse = require('pdf-parse'); const pool = new Pool({ connectionString: 'postgresql://postgres:password@localhost:5432/cim_processor' }); async function testLLMDirect() { try { console.log('🔍 Testing LLM processing directly...'); // Find the STAX CIM document const docResult = await pool.query(` SELECT id, original_file_name, status, user_id, file_path FROM documents WHERE original_file_name = 'stax-cim-test.pdf' ORDER BY created_at DESC LIMIT 1 `); if (docResult.rows.length === 0) { console.log('❌ No STAX CIM document found'); return; } const document = docResult.rows[0]; console.log(`📄 Found document: ${document.original_file_name}`); console.log(`📁 File path: ${document.file_path}`); // Check if file exists if (!fs.existsSync(document.file_path)) { console.log('❌ File not found at path:', document.file_path); return; } console.log('✅ File found, extracting text...'); // Extract text from PDF const dataBuffer = fs.readFileSync(document.file_path); const pdfData = await pdfParse(dataBuffer); console.log(`📊 Extracted ${pdfData.text.length} characters from ${pdfData.numpages} pages`); console.log('📝 First 500 characters:'); console.log(pdfData.text.substring(0, 500)); console.log('...'); console.log(''); console.log('🎯 Next Steps:'); console.log('1. The text extraction is working'); console.log('2. The LLM processing should work with your API keys'); console.log('3. The issue is that the job queue worker isn\'t running'); console.log(''); console.log('💡 To fix this:'); console.log('1. The backend needs to be restarted to pick up the processing jobs'); console.log('2. Or we need to manually trigger the LLM processing'); console.log('3. The processing jobs are already created and ready'); } catch (error) { console.error('❌ Error testing LLM:', error.message); } finally { await pool.end(); } } testLLMDirect();