#!/usr/bin/env node
/**
 * AstroAgent console runner — bootstrap.
 *
 * Loads the generic host, registers the agent modules, and starts listening.
 * Runs AS the confined agent user (systemd User=), binds 127.0.0.1 only, and is
 * reached exclusively through nginx, which gates every request with auth_request
 * against the PHP admin session — this process does not re-check that.
 *
 * The shared runtime lives in ./host.mjs; each capability is a module under
 * ./agents/ exporting register(host). (Phase 3 will drive this roster from
 * astroagent.config.json instead of the hardcoded list below.)
 *
 * Node built-ins only — no dependencies.
 */

import { host } from "./host.mjs";
import { register as registerInPageConsole } from "./agents/in-page-console.mjs";
import { register as registerProjectBuilder } from "./agents/project-builder.mjs";
import { register as registerWebDesigner } from "./agents/web-designer.mjs";
import { register as registerQa } from "./agents/qa.mjs";

registerInPageConsole(host);
registerProjectBuilder(host);
registerWebDesigner(host);
registerQa(host);

host.listen();
