forked from Jibo-Revival-Group/JiboOs
199 lines
5.5 KiB
JavaScript
199 lines
5.5 KiB
JavaScript
/**
|
|
* 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
|
|
*/ |