Estructura

El backend gestiona la lógica de negocio mediante cinco componentes principales:

anthropic.js

Gestiona las solicitudes al modelo Claude 3.5 de Anthropic

buddy-view-provider.js

Actúa como puente entre frontend y backend

extension.js

Punto de entrada de la extensión

interface-ai.js

Maneja interacciones con funcionalidades de IA

utils.js

Funciones genéricas reutilizables

Integración con Anthropic

El archivo anthropic.js gestiona las solicitudes mediante:

const queryAI = async (prompt) => {
  try {
    // Configuración y envío de la solicitud
    const response = await anthropic.messages.create({
      model: "claude-3-sonnet-20240229",
      max_tokens: 4096,
      messages: [{ role: "user", content: prompt }]
    });
    return response.content;
  } catch (error) {
    console.error("Error al consultar la API:", error);
    throw error;
  }
};

Controlador

El archivo buddy-view-provider.js funciona como controlador principal:

Funcionalidades clave

  • Preparación del entorno
  • Construcción de prompts
  • Interacción con API
  • Procesamiento de respuestas
  • Gestión de errores

Ejemplo de procesamiento

async function sendApiRequestWithCode(selectedCode) {
  try {
    // Validar selección de código
    if (!selectedCode) {
      throw new Error("No hay código seleccionado");
    }

    // Construir prompt
    const prompt = {
      role: "user",
      content: `Analiza este código: ${selectedCode}`
    };

    // Enviar solicitud
    const response = await queryAI(prompt);
    
    // Procesar y devolver respuesta
    return formatResponse(response);
  } catch (error) {
    handleError(error);
  }
}