/** * Enum of RunMode types. * * ``` * jibo.RunMode.SIMULATOR * ``` * * @typedef module:jibo.Runtime#RunMode * @prop {string} SIMULATOR Running in the simulator. * @prop {string} REMOTELY Running in remote mode. * @prop {string} ON_ROBOT Running on the robot. * @prop {string} UNIT_TESTS Running in dev mode, no SSM. */ /** Running in the simulator. */ /** Running in remote mode. */ /** Running on the robot. */ /** Running in dev mode, no SSM */ /** * Internal object for an installed plugin */ /** * @prop {jibo.animdb} animdb The Jibo Animation Database. * @prop {jibo.bt} bt SDK behaviors and decorators. * @prop {jibo.context} context Context Service (on robot context provider for Cloud). * @prop {jibo.embodied} embodied Jibo Embodied Dialog. * @prop {jibo.emotion} emotion Jibo Emotion System. * @prop {jibo.expression} expression Jibo's expression client. * @prop {jibo.face} face API to jibo's face. * @prop {jibo.flow} flow API for the Jibo Flow Editor. * @prop {jibo.globalEvents} globalEvents Typed global events for events module. * @prop {jibo.kb} kb Knowledge Base API * @prop {jibo.loader} loader Load skill assets. * @prop {jibo.lps} lps Jibo's Local Perceptual Space. * @prop {jibo.media} media Jibo's Media API (camera and pictures). * @prop {jibo.mim} mim Jibo's multimodal interaction manager. * @prop {jibo.sound} sound Manage playback of audio media. * @prop {jibo.system} system Non-motion related body services. * @prop {jibo.timer} timer Jibo's main update loop. * @prop {jibo.tts} tts Text-to-speech. * @prop {jibo.utils} utils Utility methods for animation, audio, and pathing. * @prop {jibo.versions} versions Versions for skills-service-manager, platform, and jibo. * @module jibo * @description The Jibo SDK singleton. */ /** * `true` if Jibo is currently being initialized. * @name module:jibo.Runtime.isInitializing * @type {Boolean} * @readOnly * @default false */ /** * `true` if Jibo has finished being initialized. * @name module:jibo.Runtime.isInitialized * @type {Boolean} * @readOnly * @default false */ /** * Runtime is running in Electron-based environment. * @name module:jibo.Runtime.electron * @type {Boolean} * @readOnly */ /** * Collection of installed plugins. * @name module:jibo.Runtime._plugins * @type {Boolean} * @readOnly * @private */ /** * Singleton instance of jibo. * @name module:jibo.Runtime._instance * @type {jibo.Runtime} * @readOnly * @private */ /** * Current version of the Jibo Runtime. * @name module:jibo.Runtime#version * @type {String} * @readOnly */ /** * Electron IPCRenderer context of the Jibo Runtime. * @name module:jibo.Runtime#electronContext * @type {Object} * @readOnly */ /** For the SDK tool */ /** * @name module:jibo.Runtime#behaviorEmitter * @type {BehaviorEmitter} * @private */ /** * @name module:jibo.Runtime#session * @type {SessionManager} * @private */ /** * @name module:jibo.Runtime#systemManager * @type {SystemManager} * @private */ /** // * @name module:jibo.Runtime#visualize // * @type {Object} // * @private // */ /** * Initialization options * @name module:jibo.Runtime#options * @type {Object} * @private */ /** * @description * Initializes the jibo SDK. * * ``` * let jibo = require('jibo'); * jibo.init('face', (e) => { * if (e) return console.error(e); * // Setup! * }); * ``` * @method module:jibo.Runtime#init * @param {Object|Function|String|HTMLElement} [options] Either the options, canvas DOM ID or DOM Element for canvas or callback * @param {DOMElement|String} [options.display] Either the canvas DOM or DOM ID * @param {Function} [callback] Called when the SDK is finished initializing. */ /** * Register an external plugin with the jibo runtime. * @method module:jibo.Runtime#registerPlugin * @private * @param {jibo.PluginConstructor} pluginClass The class definition. * @param {String} id The identifier of the plugin. * @param {Object} [options] Additional register options or the API name. * @param {Boolean} [options.api=false] If the plugin is also an API on jibo. * @param {String[]} [options.depends] The plugin dependencies. * @param {Boolean} [options.electron=false] If the plugin is electron-only. */ /** * Stores which mode the current skill is running. It can be: `jibo.RunMode.SIMULATOR`, `jibo.RunMode.REMOTELY`, or `jibo.RunMode.ON_ROBOT`. * * ``` * let jibo = require('jibo'); * if( jibo.runMode === jibo.RunMode.SIMULATOR ){ * // ... * } * ``` * @name module:jibo.Runtime.runMode * @type {RunMode} * @readOnly */ /** * Setup plugins to create the jibo API. * @method module:jibo.Runtime#_installPlugins * @private */ /** * Setup plugins to create the jibo API. * @method module:jibo.Runtime#_initPlugins * @private */ /** * Gets singleton instance of Jibo. * @name module:jibo.Runtime.instance * @type {jibo} * @private * @readOnly */