const url = 'https://vuhoanganh1704.app.n8n.cloud/mcp-server/sse';
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MDg3MjUyMS1lMWU0LTQyOGItOGJkYi02Y2Y4MTZhM2QxYTkiLCJpc3MiOiJuOG4iLCJhdWQiOiJtY3Atc2VydmVyLWFwaSIsImp0aSI6ImUxNTRmOTU5LTdiZWItNDc0Ny1iZjQ2LTcxZDI5OGMxODNiMyIsImlhdCI6MTc3NzQ0MjQ2M30.Ll2wmRMUB0p3JtIMMSIVtrGVRvTWoNqVfWMSapC9xkA';

async function debugSSE() {
  console.log('🚀 Đang giả lập luồng kết nối SSE của Extension...');
  console.log('Target URL:', url);

  try {
    const controller = new AbortController();
    const timeout = setTimeout(() => controller.abort(), 10000);

    const response = await fetch(url, {
      method: 'GET',
      headers: {
        'Accept': 'text/event-stream',
        'Authorization': `Bearer ${token}`
      },
      signal: controller.signal
    });

    clearTimeout(timeout);

    console.log('Status:', response.status);
    console.log('Headers:', JSON.stringify([...response.headers.entries()], null, 2));

    if (response.ok) {
      console.log('✅ Kết nối HTTP thành công. Đang đọc stream...');
      const reader = response.body.getReader();
      const decoder = new TextDecoder();
      
      // Read first chunk
      const { value } = await reader.read();
      const chunk = decoder.decode(value);
      console.log('Dữ liệu đầu tiên nhận được:', chunk);
      
      if (chunk.includes('event: endpoint') || chunk.includes('data:')) {
        console.log('✨ KẾT LUẬN: Server n8n đang hoạt động hoàn hảo!');
      } else {
        console.log('❓ Nhận được dữ liệu nhưng không đúng format MCP.');
      }
      controller.abort();
    } else {
      console.error('❌ LỖI KẾT NỐI:', response.status);
      console.error('Nội dung:', await response.text());
    }
  } catch (error) {
    console.error('❌ LỖI HỆ THỐNG:', error.message);
  }
}

debugSSE();
