test-full-learning.jsโข1.56 kB
#!/usr/bin/env node
import { CodeCartographerMCP } from '../dist/mcp-server/server.js';
const server = new CodeCartographerMCP();
await server.initializeForTesting();
console.log('\n๐งช Testing auto_learn_if_needed WITHOUT skipLearning (will run full learning)...\n');
try {
  const result = await server.routeToolCall('auto_learn_if_needed', {
    path: process.cwd(),
    includeSetupSteps: true,
    skipLearning: false,  // Explicitly NOT skipping learning
    force: true           // Force re-learning even if data exists
  });
  console.log('\n๐ Learning Result:');
  console.log('Action:', result.action);
  console.log('Success:', result.success);
  console.log('Concepts Learned:', result.conceptsLearned);
  console.log('Patterns Learned:', result.patternsLearned);
  console.log('Files Analyzed:', result.filesAnalyzed);
  console.log('Time Elapsed:', Math.round(result.timeElapsed / 1000) + 's');
  console.log('Message:', result.message);
  if (result.steps) {
    console.log('\nSetup Steps:');
    result.steps.forEach((step, i) => {
      console.log(`  ${i + 1}. [${step.status}] ${step.step}: ${step.message}`);
    });
  }
} catch (error) {
  console.error('\nโ Test failed:', error);
  process.exitCode = 1;
} finally {
  console.log('\n๐งน Cleaning up...');
  await server.stop();
  console.log('โ
 Cleanup complete');
  
  // Force exit after a short delay to ensure all async operations complete
  setTimeout(() => {
    console.log('๐ Forcing process exit...');
    process.exit(process.exitCode || 0);
  }, 1000);
}