Actualmente no se distribuye un SDK público independiente de EditorBrain con un contrato de soporte propio. El repositorio tiene packages/core para validación/resolución y un cliente interno del CLI; sus nombres internos no son paquetes públicos que debas instalar.
Para una integración externa usa la API HTTP, un cliente MCP o invoca el CLI como proceso. No importes archivos internos de node_modules/editorbrain como si fueran una API estable.
Ejemplo Node.js: leer contexto
Este ejemplo hace una consulta, no genera ni gasta créditos creativos:
const token = process.env.EDITORBRAIN_API_KEY;
if (!token) throw new Error('Falta la credencial en el entorno');
const response = await fetch('https://api.editorbrain.com/v1/workflow/check', {
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({projectId: 'mi-proyecto'}),
redirect: 'error',
signal: AbortSignal.timeout(15000)
});
const result = await response.json();
if (!response.ok) {
throw new Error(`${response.status}: ${result.error?.code ?? 'request_failed'}`);
}
console.log(result.editorialSnapshot?.brandId);
Sustituye el ID por uno accesible a la credencial. No registres el token ni el contexto privado completo. Un timeout limita tu espera, no cancela automáticamente una operación iniciada por el servidor.
Invocar el CLI
import {execFile} from 'node:child_process';
import {promisify} from 'node:util';
const exec = promisify(execFile);
const {stdout} = await exec('editorbrain', [
'workflow', 'check', '--project', 'mi-proyecto'
], {timeout: 15000, maxBuffer: 2 * 1024 * 1024});
const workflow = JSON.parse(stdout);
console.log(workflow.mode);
Usa argumentos separados y evita concatenar entrada del usuario en un comando de shell. Conserva el error/código de salida y acota el volumen de datos. No conviertas un fallo de red en un reintento automático de un gasto.
Código del núcleo para colaboradores del repositorio
El núcleo TypeScript comparte validadores y resolución entre CLI y servicio. Las carpetas portables contienen marca, estilo, proyecto y hashes de fuentes. Si contribuyes al repositorio, consulta packages/core; si consumes el producto, utiliza interfaces públicas versionadas y no copies lógica de permisos o saldo al cliente.