feat: Add Be and tbd skill, also added Roadmap file

This commit is contained in:
2026-05-10 16:32:12 -04:00
parent 3500ade13f
commit 0bb8885802
29587 changed files with 10611695 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
/**
* Interface for 'clients' of the command library.
* would be sent down to the comman dlibrary
* groups (buttons, labels, .etc) Has base methods that deal with display
* and positioning.
*
* @interface ICommandClient
*/
/**
* Constructor
* @param {string} id identifier for the CommandConnector
* @param {CommandLibrary} commandLib instance of the CommandLibrary, required to setup connection
* @param {boolean} [isReady = true] flag determining if session can begin immediately,
* if false then the owner of the CommandConnector is responsible for setting this flag
* @private
*/
/**
* Called by client to activate connection with command library
* @param {ACO} aco permissions for this connection
* @param {MessageOut} [responseCB] handler for responses coming from the CommandLibrary
* @param {SessionClosed} [sessionEndedCB] handler for session being closed
*/
/**
* Called by client or command library to end connection.
* @param {DisconnectCode} [code = DisconnectCode.RobotError] code for reason of disconnection, maps to DisconnectCode enum.
* DisconnectCode enum is meant to be an addition to those values already defined in the Websocket API
* @return {boolean} `false` if not connected, thus nothing to disconnect
*/
/**
* Called by connector owner to indicate the connection is down, but it may return.
* Command library will starts a reconnect timeout upon receivig this.
*/
/**
* Called by connector owner to send command request to command library.
*/
/**
* Called by connector owner to let command library know a message failed to be sent.
*/
/**
* Called by connector owner when ready for session to begin.
* Use of ready may not always be required.
*/
/**
* Called by command library to provide a proxy
* @param {CommandProxy} commandProxy proxy object used to communicate with CommandLibrary
* @private
*/

View File

@@ -0,0 +1,20 @@
/**
* Proxy for CommandLibrary
*/
/**
* Called by Command Library to send response message out
* @private
*/
/**
* Called by Command Library when session is closed by commaand library
* Generally called due to inactivity or reconnect timeout
* @private
*/
/**
* Called by Command Library to notify when session has started.
* You can get this same information for the start session response, this is a convenience method
* @private
*/

View File

@@ -0,0 +1,18 @@
/**
* Check if command's session id does not match with active session
* @param {string} sessionId
*/
/**
* Intercept and handle StartSession commands, because they are more of a pain to do with the component system
* @param data
*/
/**
* Reconnect an existing session or create a new one.
* New sessions rely on the pending session command supplied by checkSessionCommand
*/
/**
* Called in case of disconnection, determines if a session restore is possible
*/

View File

@@ -0,0 +1,120 @@
/**
* Singleton instance of CommandLibrary.
* @type {CommandLibrary}
* @readOnly
* @private
*/
/**
* CommandLibrary constructor
* @param {any} jibo Instance of jibo runtime
* @param {boolean} [validate = true] Flag deteremining if CommandLibrary shoudl validate protocol, `false` used for testing
*/
/**
* Gets singleton instance of CommandLibrary.
*/
/**
* Destroy CommandLibrary and nullify its singleton
*/
/**
* Create a CommandConnector.
* If there is alreayd a CommandConnector registered with taht id it will return that CommandConnector.
*/
/**
* Remove reference to CommandConnector.
* If the given CommandConnector is the active it will be disconnected.
*/
/**
* Remove reference to CommandConnector by id.
* If the given CommandConnector is the active it will be disconnected.
*/
/**
* Connect delegate to command library
* private - only called by via CommandConnector.connect()
* @private
*/
/**
* Returns a Promise that resolves on completion of entity engine update.
* Convenience method for testing purposes
* @return {Promise<void>} - Promise resolving on completion of entity engine update
* @private
*/
/**
* Returns a entity Engine
* Convenience method for testing purposes
* @return {Engine} - entity engine of current command session
* @private
*/
/**
* Method to pass commands.
* @method CommandManager#onMessage
* @param {Command} data
* @private
*/
/**
* Handler for responses that could not be deliver, returned via a CommandConnector
* @private
*/
/**
* Start a session.
* @private
*/
/**
* Called by CommandConnector when a connection is lost, but a reconnect is desired.
* Would get called in the case of connection disruption.
* @private
*/
/**
* Called to disconnect current connection.
* Sends disconnect request to currently active CommandConnector
* @private
*/
/**
* End the current session and nullify active connection and connection proxy
* @private
*/
/**
* Converts ACO into a Permissions object for use by the CommandLibrary
* @private
*/
/**
* Create protocol validators for supported protocol versions
* Will need to add validators for each supported protocol
* @private
*/
/**
* Checks if data fits the protocol format of the current connection.
* @private
*/
/**
* Checks if version matches active version, if not send appropriate response code
* @private
*/
/**
* Checks if version string is incluced in set of supported protocols
* @private
*/
/**
* Helper method to send acknowledgements
* @private
*/

View File

@@ -0,0 +1,3 @@
/**
* @private
*/