# rom-control Robust client for the Jibo ROM WebSocket API. Provides a discord.js-style OOP interface with promises, rich event objects, and automatic session management. ```js const { Client, AttentionMode } = require('rom-control'); const jibo = new Client({ host: '192.168.1.217' }); jibo.once('ready', async () => { await jibo.behavior.setAttention(AttentionMode.Engaged); await jibo.behavior.say(' Hello!'); }); jibo.on('trackCreate', async (track) => { await track.lookAt(); }); jibo.on('hotword', async (event) => { const result = await jibo.audio.awaitSpeech(); console.log('Heard:', result.speech); }); jibo.connect(); ``` ## Install ``` npm install rom-control ``` ## Features - Promise-based API — every action resolves when physically complete - Manager classes: `client.behavior`, `client.audio`, `client.camera`, `client.display`, `client.assets` - Rich event objects: `Track`, `Photo`, `SpeechResult`, `HotwordEvent`, `GestureEvent`, and more - Live entity tracking map (`client.tracks`) - Auto-reconnect, auto-heartbeat, and auto-subscribe - Local ASR speech recognition (no cloud required) - Wakeword detection via on-robot ASR service - ESM and CJS exports ## Documentation See [API.md](./API.md) for full reference. ## Requirements - Node.js ≥ 16 - A Jibo robot running ROM firmware on your local network