import axios from "axios"; import { LOCAL_SERVER_URL, getLocalServerHeaders } from "../config/index.js"; /** * Resuelve info de un proyecto contra el server Python local. * * @param {string|Object} projectName - nombre del proyecto o query object (ej. { project_dir }) * @param {string|null} acaiUser - usuario Acai propietario del proyecto. Si se pasa, * se reenvia como header `X-Acai-User` para aislar la busqueda a * `/opt/acai/webs//`. Nginx valida el secret y aƱade este header * automaticamente; en modo stdio no se propaga y la logica original se * mantiene. */ export async function fetchProjectInfo(projectName, acaiUser = null) { const params = typeof projectName === "string" ? { project: projectName } : (projectName || {}); const headers = getLocalServerHeaders(); if (acaiUser) headers["X-Acai-User"] = acaiUser; const response = await axios.get(`${LOCAL_SERVER_URL}/api/project-info`, { params, headers, }); return response.data; // { success, web_url, token, tokenHash, domain, project_dir } } export async function fetchProjectsList(acaiUser = null) { const headers = getLocalServerHeaders(); if (acaiUser) headers["X-Acai-User"] = acaiUser; const response = await axios.get(`${LOCAL_SERVER_URL}/api/mcp/projects`, { headers, }); return response.data; // { success, projects: [...] } }