Embedded32 API
    Preparing search index...

    Module @embedded32/supervisor

    @embedded32/supervisor

    Process-level supervisor for Embedded32 - registers modules, tracks health, coordinates startup/shutdown, and backs @embedded32/cli start / demo.

    npm install @embedded32/supervisor
    
    import { Supervisor } from '@embedded32/supervisor';

    const supervisor = new Supervisor({
    logging: { level: 'info' },
    });

    supervisor.registerModule({
    id: 'hello',
    name: 'Hello Module',
    version: '1.0.0',
    start: async () => console.log('started'),
    stop: async () => console.log('stopped'),
    getStatus: () => ({ state: 'running', uptime: 0, restarts: 0 }),
    });

    await supervisor.start();
    await supervisor.stop();

    Easiest path for learners: npx embedded32 demo instead of wiring supervisor manually.

    Export Role
    Supervisor Start/stop runtime, module registry
    registerModule Add modules with start/stop/getStatus
    getHealthStatus Aggregate module health
    getEventBus, getLogger Shared runtime services
    • Node.js 18+
    • Depends on @embedded32/core, @embedded32/can, @embedded32/j1939, @embedded32/ethernet, @embedded32/bridge at 1.0.0 for full stacks

    None for minimal supervisor example. Full fleet configs may enable SocketCAN modules.

    Node.js only.

    Error Fix
    Module stuck in ERROR Check module start() throws; use getHealthStatus()
    Double start() Guard with isRunningFlag() or CLI status
    Wrong package name Use @embedded32/supervisor scoped install
    • @embedded32/cli - primary user entry
    • @embedded32/core - runtime primitives inside modules
    • @embedded32/bridge - optional bridge modules

    @embedded32/supervisor@1.0.0 matches CLI 1.0.0.

    MIT © Mukesh Mani Tripathi

    ModuleState
    Logger
    ModuleLoader
    RuntimeEventBus
    Supervisor
    HealthStatus
    Module
    ModuleConfig
    ModuleInfo
    RuntimeConfig
    RuntimeEvent