/** * Helpers reutilizables para resolver datos derivados de la sesion MCP en curso. * * Usan AsyncLocalStorage (`utils/sessionContext.js`) para recuperar el * `mcpSessionId` activo y leer informacion asociada desde * `auth/credentials.js`. En modo stdio (sin HTTP) devuelven `null` y el caller * decide como actuar. */ import { getCurrentSessionId } from "../../utils/sessionContext.js"; import { getMcpSessionCredentials } from "../../auth/credentials.js"; /** * Recupera el `acai_user` de la sesion HTTP activa (si existe). * * Se usa para inyectar el header `X-Acai-User` en llamadas al server Python, * evitando asi depender de Authorization Basic y permitiendo que los endpoints * autenticados (p.ej. `/api/generate-image`, `/api/files/write`) identifiquen * al usuario propietario del proyecto. * * @returns {string|null} */ export function resolveCurrentAcaiUser() { const sessionId = getCurrentSessionId(); if (!sessionId) return null; const creds = getMcpSessionCredentials(sessionId); return creds?.acai_user || null; }