28 lines
1.0 KiB
JavaScript
28 lines
1.0 KiB
JavaScript
/**
|
|
* 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;
|
|
}
|