@webex/internal-plugin-llm 2.60.1-next.9 → 2.60.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/llm.js +29 -20
- package/dist/llm.js.map +1 -1
- package/package.json +13 -14
- package/src/llm.ts +21 -6
- package/test/unit/spec/llm.js +1 -4
package/dist/constants.js
CHANGED
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LLM","exports"],"sources":["constants.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const LLM = 'llm';\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,GAAG,
|
|
1
|
+
{"version":3,"names":["LLM","exports"],"sources":["constants.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const LLM = 'llm';\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,GAAG,GAAG,KAAK;AAACC,OAAA,CAAAD,GAAA,GAAAA,GAAA"}
|
package/dist/index.js
CHANGED
|
@@ -15,8 +15,8 @@ _Object$defineProperty(exports, "default", {
|
|
|
15
15
|
});
|
|
16
16
|
var WebexCore = _interopRequireWildcard(require("@webex/webex-core"));
|
|
17
17
|
var _llm = _interopRequireWildcard(require("./llm"));
|
|
18
|
-
function _getRequireWildcardCache(
|
|
19
|
-
function _interopRequireWildcard(
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
20
|
WebexCore.registerInternalPlugin('llm', _llm.default, {
|
|
21
21
|
config: _llm.config
|
|
22
22
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebexCore","_interopRequireWildcard","require","_llm","_getRequireWildcardCache","
|
|
1
|
+
{"version":3,"names":["WebexCore","_interopRequireWildcard","require","_llm","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","_Object$defineProperty","_Object$getOwnPropertyDescriptor","key","Object","prototype","hasOwnProperty","call","desc","set","registerInternalPlugin","LLMChannel","config"],"sources":["index.ts"],"sourcesContent":["import * as WebexCore from '@webex/webex-core';\nimport LLMChannel, {config} from './llm';\n\nWebexCore.registerInternalPlugin('llm', LLMChannel, {\n config,\n});\n\nexport {default} from './llm';\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAyC,SAAAE,yBAAAC,WAAA,eAAAC,QAAA,kCAAAC,iBAAA,OAAAD,QAAA,QAAAE,gBAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,4BAAAG,OAAA,EAAAH,GAAA,UAAAI,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAL,GAAA,YAAAI,KAAA,CAAAE,GAAA,CAAAN,GAAA,SAAAO,MAAA,WAAAC,qBAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,GAAA,EAAAW,GAAA,SAAAK,IAAA,GAAAR,qBAAA,GAAAE,gCAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAK,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,sBAAA,CAAAF,MAAA,EAAAI,GAAA,EAAAK,IAAA,YAAAT,MAAA,CAAAI,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAJ,MAAA,CAAAJ,OAAA,GAAAH,GAAA,MAAAI,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAjB,GAAA,EAAAO,MAAA,YAAAA,MAAA;AAEzChB,SAAS,CAAC2B,sBAAsB,CAAC,KAAK,EAAEC,YAAU,EAAE;EAClDC,MAAM,EAANA;AACF,CAAC,CAAC"}
|
package/dist/llm.js
CHANGED
|
@@ -17,10 +17,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
17
17
|
var _internalPluginMercury = _interopRequireDefault(require("@webex/internal-plugin-mercury"));
|
|
18
18
|
var _constants = require("./constants");
|
|
19
19
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
20
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var config = exports.config = {
|
|
20
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
21
|
+
var config = {
|
|
24
22
|
llm: {
|
|
25
23
|
/**
|
|
26
24
|
* Milliseconds between pings sent up the socket
|
|
@@ -54,23 +52,32 @@ var config = exports.config = {
|
|
|
54
52
|
/**
|
|
55
53
|
* LLMChannel to provide socket connections
|
|
56
54
|
*/
|
|
57
|
-
|
|
55
|
+
exports.config = config;
|
|
56
|
+
var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
58
57
|
(0, _inherits2.default)(LLMChannel, _ref);
|
|
59
58
|
var _super = _createSuper(LLMChannel);
|
|
59
|
+
/**
|
|
60
|
+
* If the LLM plugin has been registered and listening
|
|
61
|
+
* @instance
|
|
62
|
+
* @type {Boolean}
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Initializes the LLM Plugin
|
|
68
|
+
* @constructor
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
60
71
|
function LLMChannel() {
|
|
61
72
|
var _this;
|
|
62
73
|
(0, _classCallCheck2.default)(this, LLMChannel);
|
|
63
74
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
64
75
|
args[_key] = arguments[_key];
|
|
65
76
|
}
|
|
77
|
+
// eslint-disable-next-line constructor-super
|
|
66
78
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
67
79
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.LLM);
|
|
68
|
-
|
|
69
|
-
* If the LLM plugin has been registered and listening
|
|
70
|
-
* @instance
|
|
71
|
-
* @type {Boolean}
|
|
72
|
-
* @public
|
|
73
|
-
*/
|
|
80
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registered", false);
|
|
74
81
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webSocketUrl", void 0);
|
|
75
82
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "binding", void 0);
|
|
76
83
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
@@ -82,10 +89,7 @@ var LLMChannel = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
82
89
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "register", function (llmSocketUrl) {
|
|
83
90
|
return _this.request({
|
|
84
91
|
method: 'POST',
|
|
85
|
-
url: llmSocketUrl
|
|
86
|
-
body: {
|
|
87
|
-
deviceUrl: _this.webex.internal.device.url
|
|
88
|
-
}
|
|
92
|
+
url: llmSocketUrl
|
|
89
93
|
}).then(function (res) {
|
|
90
94
|
_this.webSocketUrl = res.body.webSocketUrl;
|
|
91
95
|
_this.binding = res.body.binding;
|
|
@@ -104,19 +108,21 @@ var LLMChannel = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
104
108
|
return _this.register(datachannelUrl).then(function () {
|
|
105
109
|
if (!locusUrl || !datachannelUrl) return undefined;
|
|
106
110
|
_this.locusUrl = locusUrl;
|
|
107
|
-
_this.connect(_this.webSocketUrl)
|
|
111
|
+
_this.connect(_this.webSocketUrl).then(function () {
|
|
112
|
+
_this.registered = true;
|
|
113
|
+
});
|
|
108
114
|
});
|
|
109
115
|
});
|
|
110
116
|
/**
|
|
111
117
|
* Tells if LLM socket is connected
|
|
112
|
-
* @returns {boolean}
|
|
118
|
+
* @returns {boolean} isRegistered
|
|
113
119
|
*/
|
|
114
120
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isConnected", function () {
|
|
115
|
-
return _this.
|
|
121
|
+
return _this.registered;
|
|
116
122
|
});
|
|
117
123
|
/**
|
|
118
|
-
* Tells if LLM socket is
|
|
119
|
-
* @returns {
|
|
124
|
+
* Tells if LLM socket is connected
|
|
125
|
+
* @returns {bool} isRegistered
|
|
120
126
|
*/
|
|
121
127
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getBinding", function () {
|
|
122
128
|
return _this.binding;
|
|
@@ -134,13 +140,16 @@ var LLMChannel = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
134
140
|
*/
|
|
135
141
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "disconnectLLM", function () {
|
|
136
142
|
return _this.disconnect().then(function () {
|
|
143
|
+
_this.registered = false;
|
|
137
144
|
_this.locusUrl = undefined;
|
|
138
145
|
_this.binding = undefined;
|
|
139
146
|
_this.webSocketUrl = undefined;
|
|
140
147
|
});
|
|
141
148
|
});
|
|
149
|
+
_this.registered = false;
|
|
142
150
|
return _this;
|
|
143
151
|
}
|
|
144
152
|
return (0, _createClass2.default)(LLMChannel);
|
|
145
153
|
}(_internalPluginMercury.default);
|
|
154
|
+
exports.default = LLMChannel;
|
|
146
155
|
//# sourceMappingURL=llm.js.map
|
package/dist/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internalPluginMercury","_interopRequireDefault","require","_constants","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","config","
|
|
1
|
+
{"version":3,"names":["_internalPluginMercury","_interopRequireDefault","require","_constants","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","config","llm","pingInterval","process","env","MERCURY_PING_INTERVAL","pongTimeout","MERCURY_PONG_TIMEOUT","backoffTimeMax","MERCURY_BACKOFF_TIME_MAX","backoffTimeReset","MERCURY_BACKOFF_TIME_RESET","forceCloseDelay","MERCURY_FORCE_CLOSE_DELAY","exports","LLMChannel","_ref","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","LLM","llmSocketUrl","request","method","url","then","res","webSocketUrl","body","binding","catch","error","logger","locusUrl","datachannelUrl","register","undefined","connect","registered","disconnect","_createClass2","Mercury"],"sources":["llm.ts"],"sourcesContent":["/* eslint-disable consistent-return */\n\nimport Mercury from '@webex/internal-plugin-mercury';\n\nimport {LLM} from './constants';\n// eslint-disable-next-line no-unused-vars\nimport {ILLMChannel} from './llm.types';\n\nexport const config = {\n llm: {\n /**\n * Milliseconds between pings sent up the socket\n * @type {number}\n */\n pingInterval: process.env.MERCURY_PING_INTERVAL || 15000,\n /**\n * Milliseconds to wait for a pong before declaring the connection dead\n * @type {number}\n */\n pongTimeout: process.env.MERCURY_PONG_TIMEOUT || 14000,\n /**\n * Maximum milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeMax: process.env.MERCURY_BACKOFF_TIME_MAX || 32000,\n /**\n * Initial milliseconds between connection attempts\n * @type {Number}\n */\n backoffTimeReset: process.env.MERCURY_BACKOFF_TIME_RESET || 1000,\n /**\n * Milliseconds to wait for a close frame before declaring the socket dead and\n * discarding it\n * @type {[type]}\n */\n forceCloseDelay: process.env.MERCURY_FORCE_CLOSE_DELAY || 2000,\n },\n};\n\n/**\n * LLMChannel to provide socket connections\n */\nexport default class LLMChannel extends (Mercury as any) implements ILLMChannel {\n namespace = LLM;\n\n /**\n * If the LLM plugin has been registered and listening\n * @instance\n * @type {Boolean}\n * @public\n */\n private registered = false;\n\n private webSocketUrl?: string;\n\n private binding?: string;\n\n private locusUrl?: string;\n\n /**\n * Initializes the LLM Plugin\n * @constructor\n * @public\n */\n constructor(...args) {\n // eslint-disable-next-line constructor-super\n super(...args);\n\n this.registered = false;\n }\n\n /**\n * Register to the websocket\n * @param {string} llmSocketUrl\n * @returns {Promise<void>}\n */\n private register = (llmSocketUrl: string): Promise<void> =>\n this.request({\n method: 'POST',\n url: llmSocketUrl,\n })\n .then((res: {body: {webSocketUrl: string; binding: string}}) => {\n this.webSocketUrl = res.body.webSocketUrl;\n this.binding = res.body.binding;\n })\n .catch((error: any) => {\n this.logger.error(`Error connecting to websocket: ${error}`);\n throw error;\n });\n\n /**\n * Register and connect to the websocket\n * @param {string} locusUrl\n * @param {string} datachannelUrl\n * @returns {Promise<void>}\n */\n public registerAndConnect = (locusUrl: string, datachannelUrl: string): Promise<void> =>\n this.register(datachannelUrl).then(() => {\n if (!locusUrl || !datachannelUrl) return undefined;\n this.locusUrl = locusUrl;\n this.connect(this.webSocketUrl).then(() => {\n this.registered = true;\n });\n });\n\n /**\n * Tells if LLM socket is connected\n * @returns {boolean} isRegistered\n */\n public isConnected = (): boolean => this.registered;\n\n /**\n * Tells if LLM socket is connected\n * @returns {bool} isRegistered\n */\n public getBinding = (): string => this.binding;\n\n /**\n * Get Locus URL for the connection\n * @returns {string} locus Url\n */\n public getLocusUrl = (): string => this.locusUrl;\n\n /**\n * Disconnects websocket connection\n * @returns {Promise<void>}\n */\n public disconnectLLM = (): Promise<void> =>\n this.disconnect().then(() => {\n this.registered = false;\n this.locusUrl = undefined;\n this.binding = undefined;\n this.webSocketUrl = undefined;\n });\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/internal-plugin-llm",
|
|
3
|
+
"version": "2.60.2",
|
|
3
4
|
"description": "",
|
|
4
5
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
5
6
|
"main": "dist/index.js",
|
|
@@ -10,10 +11,10 @@
|
|
|
10
11
|
"directory": "packages/@webex/internal-plugin-llm"
|
|
11
12
|
},
|
|
12
13
|
"engines": {
|
|
13
|
-
"node": ">=
|
|
14
|
+
"node": ">=14"
|
|
14
15
|
},
|
|
15
16
|
"dependencies": {
|
|
16
|
-
"@webex/internal-plugin-mercury": "2.60.
|
|
17
|
+
"@webex/internal-plugin-mercury": "2.60.2"
|
|
17
18
|
},
|
|
18
19
|
"browserify": {
|
|
19
20
|
"transform": [
|
|
@@ -23,14 +24,14 @@
|
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
26
|
"@babel/core": "^7.17.10",
|
|
26
|
-
"@webex/babel-config-legacy": "
|
|
27
|
-
"@webex/eslint-config-legacy": "
|
|
28
|
-
"@webex/jest-config-legacy": "
|
|
29
|
-
"@webex/legacy-tools": "
|
|
30
|
-
"@webex/test-helper-chai": "2.60.
|
|
31
|
-
"@webex/test-helper-mocha": "2.60.
|
|
32
|
-
"@webex/test-helper-mock-webex": "2.60.
|
|
33
|
-
"@webex/test-helper-test-users": "2.60.
|
|
27
|
+
"@webex/babel-config-legacy": "2.60.2",
|
|
28
|
+
"@webex/eslint-config-legacy": "2.60.2",
|
|
29
|
+
"@webex/jest-config-legacy": "2.60.2",
|
|
30
|
+
"@webex/legacy-tools": "2.60.2",
|
|
31
|
+
"@webex/test-helper-chai": "2.60.2",
|
|
32
|
+
"@webex/test-helper-mocha": "2.60.2",
|
|
33
|
+
"@webex/test-helper-mock-webex": "2.60.2",
|
|
34
|
+
"@webex/test-helper-test-users": "2.60.2",
|
|
34
35
|
"eslint": "^8.24.0",
|
|
35
36
|
"prettier": "^2.7.1",
|
|
36
37
|
"sinon": "^9.2.4"
|
|
@@ -38,12 +39,10 @@
|
|
|
38
39
|
"scripts": {
|
|
39
40
|
"build": "yarn build:src",
|
|
40
41
|
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
|
|
41
|
-
"deploy:npm": "yarn npm publish",
|
|
42
42
|
"test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
43
43
|
"test:browser": "webex-legacy-tools test --integration --unit --runner karma",
|
|
44
44
|
"test:integration": "webex-legacy-tools test --integration --runner mocha",
|
|
45
45
|
"test:style": "eslint ./src/**/*.*",
|
|
46
46
|
"test:unit": "webex-legacy-tools test --unit --runner jest"
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
}
|
|
47
|
+
}
|
|
48
|
+
}
|
package/src/llm.ts
CHANGED
|
@@ -49,6 +49,7 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
49
49
|
* @type {Boolean}
|
|
50
50
|
* @public
|
|
51
51
|
*/
|
|
52
|
+
private registered = false;
|
|
52
53
|
|
|
53
54
|
private webSocketUrl?: string;
|
|
54
55
|
|
|
@@ -56,6 +57,18 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
56
57
|
|
|
57
58
|
private locusUrl?: string;
|
|
58
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Initializes the LLM Plugin
|
|
62
|
+
* @constructor
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
constructor(...args) {
|
|
66
|
+
// eslint-disable-next-line constructor-super
|
|
67
|
+
super(...args);
|
|
68
|
+
|
|
69
|
+
this.registered = false;
|
|
70
|
+
}
|
|
71
|
+
|
|
59
72
|
/**
|
|
60
73
|
* Register to the websocket
|
|
61
74
|
* @param {string} llmSocketUrl
|
|
@@ -65,7 +78,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
65
78
|
this.request({
|
|
66
79
|
method: 'POST',
|
|
67
80
|
url: llmSocketUrl,
|
|
68
|
-
body: {deviceUrl: this.webex.internal.device.url},
|
|
69
81
|
})
|
|
70
82
|
.then((res: {body: {webSocketUrl: string; binding: string}}) => {
|
|
71
83
|
this.webSocketUrl = res.body.webSocketUrl;
|
|
@@ -86,18 +98,20 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
86
98
|
this.register(datachannelUrl).then(() => {
|
|
87
99
|
if (!locusUrl || !datachannelUrl) return undefined;
|
|
88
100
|
this.locusUrl = locusUrl;
|
|
89
|
-
this.connect(this.webSocketUrl)
|
|
101
|
+
this.connect(this.webSocketUrl).then(() => {
|
|
102
|
+
this.registered = true;
|
|
103
|
+
});
|
|
90
104
|
});
|
|
91
105
|
|
|
92
106
|
/**
|
|
93
107
|
* Tells if LLM socket is connected
|
|
94
|
-
* @returns {boolean}
|
|
108
|
+
* @returns {boolean} isRegistered
|
|
95
109
|
*/
|
|
96
|
-
public isConnected = (): boolean => this.
|
|
110
|
+
public isConnected = (): boolean => this.registered;
|
|
97
111
|
|
|
98
112
|
/**
|
|
99
|
-
* Tells if LLM socket is
|
|
100
|
-
* @returns {
|
|
113
|
+
* Tells if LLM socket is connected
|
|
114
|
+
* @returns {bool} isRegistered
|
|
101
115
|
*/
|
|
102
116
|
public getBinding = (): string => this.binding;
|
|
103
117
|
|
|
@@ -113,6 +127,7 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
113
127
|
*/
|
|
114
128
|
public disconnectLLM = (): Promise<void> =>
|
|
115
129
|
this.disconnect().then(() => {
|
|
130
|
+
this.registered = false;
|
|
116
131
|
this.locusUrl = undefined;
|
|
117
132
|
this.binding = undefined;
|
|
118
133
|
this.webSocketUrl = undefined;
|
package/test/unit/spec/llm.js
CHANGED
|
@@ -20,9 +20,7 @@ describe('plugin-llm', () => {
|
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
llmService = webex.internal.llm;
|
|
23
|
-
llmService.connect = sinon.stub().
|
|
24
|
-
llmService.connected = true;
|
|
25
|
-
});
|
|
23
|
+
llmService.connect = sinon.stub().resolves(true);
|
|
26
24
|
llmService.disconnect = sinon.stub().resolves(true);
|
|
27
25
|
llmService.request = sinon.stub().resolves({
|
|
28
26
|
headers: {},
|
|
@@ -67,7 +65,6 @@ describe('plugin-llm', () => {
|
|
|
67
65
|
sinon.match({
|
|
68
66
|
method: 'POST',
|
|
69
67
|
url: `${datachannelUrl}`,
|
|
70
|
-
body: {deviceUrl: webex.internal.device.url},
|
|
71
68
|
})
|
|
72
69
|
);
|
|
73
70
|
|