@js-maia/core
v0.5.3
Published
MAIA-CORE (Anillo 0) — orquestador modular: registry, EventBus, health, launcher remoto.
Maintainers
Readme
@js-maia/core
MAIA-CORE (Anillo 0) — orquestador modular del ecosistema MAIA: registry, EventBus, health, launcher de módulos remotos, HTTP (Elysia) y WebSocket.
| | | | --------------- | ---------------------------------------------------- | | Versión | 0.5.3 | | Runtime | Bun ≥ 1.1 | | Licencia | MIT | | Repositorio | Core-MAIA |
Instalación
bun add @js-maia/core elysia @elysiajs/openapielysia y @elysiajs/openapi son peer dependencies (HTTP + OpenAPI del Core).
Uso programático
import { createCore, MAIA_RING_CORE } from "@js-maia/core";
const core = createCore({
environment: "development",
server: { port: 3000 },
});
await core.bootstrap();
console.log(core.getVersion(), core.getBootMode(), MAIA_RING_CORE); // ring 0API exportada (resumen)
| Export | Descripción |
| ------------------------------------------------------ | -------------------------------- |
| createCore, Core | Instancia del orquestador |
| MAIA_RING_CORE, MaiaRingClass, resolveRingClass | Modelo de anillos |
| Tipos IModule, IEventBus, HealthCheckResponse, … | Contratos públicos |
| MAIA_UI_PACKAGE, resolvePackageInstallDir, … | Utilidades paquetes @js-maia/* |
Importar siempre desde @js-maia/core — las rutas internas de src/core/ no son semver-estables.
CLI
Tras instalar el paquete:
export MAIA_AUTH_TOKEN=dev-secret # obligatorio en production
export CORE_PORT=3000
maia-core
# o: bunx maia-coreEl bin maia-core arranca el Core con bootstrap completo (HTTP + WS + launcher si existe maia.modules.json en el directorio de trabajo).
HTTP y OpenAPI
Con el servidor en marcha:
| Ruta | Uso |
| ------------------------ | ----------------------------------------------------- |
| GET /health | Estado del Core y módulos |
| POST /modules/register | Registro de módulos remotos (Authorization: Bearer) |
| GET /openapi | UI OpenAPI |
| GET /openapi/json | Esquema JSON |
| WS /ws | Protocolo MAIA (lifecycle, EventBus, requests) |
Variables de entorno
| Variable | Obligatoria | Descripción |
| -------------------- | ------------------- | ---------------------------------------------- |
| MAIA_AUTH_TOKEN | Sí en production | Shared secret para registro de módulos remotos |
| CORE_PORT / PORT | No (default 3000) | Puerto HTTP/WebSocket |
| NODE_ENV | No | development, production o test |
Módulos remotos
El Core no importa módulos remotos en runtime.
Ejemplo: @js-maia/ui
se instala aparte, se declara en maia.modules.json y el launcher hace spawn del bin maia-ui.
Guía paso a paso para un repo consumidor: Core Consumer Integration Guide.
Desarrollo (repo Core-MAIA)
Este repositorio contiene el código fuente, tests E2E y el ecosistema de desarrollo
(@js-maia/ui y @js-maia/auth como peerDependencies opcionales;
bun run modules:sync los instala en node_modules sin fijarlos en dependencies).
git clone https://github.com/jaminsmoke/Core-MAIA.git
cd Core-MAIA
bun run setup # install + build módulos remotos del manifiesto
cp .env.example .env
bun run dev:ecosystem # Core + MAIA-UI
bun run build:core # dist/ para npm
bun run pack:test # npm pack + install limpio (smoke)
bun testDocumentación completa: .Docs/ · Roadmap 9.
Publicación npm (maintainers)
bun run prepublishOnly # check + test + build:core
npm publish --access public
git tag v0.5.3 && git push origin v0.5.3
gh release create v0.5.3 --notes-file .github/release-notes/v0.5.3.mdLicencia
MIT — ver LICENSE.
