@webex/internal-plugin-llm 3.0.0-beta.3 → 3.0.0-beta.300
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/README.md +1 -2
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +1 -1
- package/dist/llm.js +8 -61
- package/dist/llm.js.map +1 -1
- package/dist/llm.types.js +0 -1
- package/dist/llm.types.js.map +1 -1
- package/package.json +5 -5
- package/src/llm.ts +9 -23
- package/src/llm.types.ts +7 -8
- package/test/unit/spec/llm.js +4 -1
package/README.md
CHANGED
|
@@ -22,14 +22,13 @@ npm install --save @webex/internal-plugin-llm
|
|
|
22
22
|
## Usage
|
|
23
23
|
|
|
24
24
|
```js
|
|
25
|
-
|
|
26
25
|
import '@webex/internal-plugin-llm';
|
|
27
26
|
|
|
28
27
|
import WebexCore from '@webex/webex-core';
|
|
29
28
|
|
|
30
29
|
const webex = new WebexCore();
|
|
31
30
|
// locusUrl is got from meeting.locusInfo.url;
|
|
32
|
-
// datachannelUrl is got from meeting.locusInfo.info.datachannelUrl;
|
|
31
|
+
// datachannelUrl is got from meeting.locusInfo.info.datachannelUrl;
|
|
33
32
|
webex.internal.llm.registerAndConnect(locusUrl, datachannelUrl);
|
|
34
33
|
|
|
35
34
|
// Checks if LLM is connected
|
package/dist/constants.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
|
|
9
7
|
exports.LLM = void 0;
|
|
10
8
|
// eslint-disable-next-line import/prefer-default-export
|
|
11
9
|
var LLM = 'llm';
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LLM"],"sources":["constants.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const LLM = 'llm';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["LLM"],"sources":["constants.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const LLM = 'llm';\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,GAAG,GAAG,KAAK;AAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
|
|
4
|
-
|
|
5
4
|
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
6
|
-
|
|
7
5
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
8
|
-
|
|
9
6
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
10
|
-
|
|
11
7
|
_Object$defineProperty(exports, "__esModule", {
|
|
12
8
|
value: true
|
|
13
9
|
});
|
|
14
|
-
|
|
15
10
|
_Object$defineProperty(exports, "default", {
|
|
16
11
|
enumerable: true,
|
|
17
12
|
get: function get() {
|
|
18
13
|
return _llm.default;
|
|
19
14
|
}
|
|
20
15
|
});
|
|
21
|
-
|
|
22
16
|
var WebexCore = _interopRequireWildcard(require("@webex/webex-core"));
|
|
23
|
-
|
|
24
17
|
var _llm = _interopRequireWildcard(require("./llm"));
|
|
25
|
-
|
|
26
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); }
|
|
27
|
-
|
|
28
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; }
|
|
29
|
-
|
|
30
20
|
WebexCore.registerInternalPlugin('llm', _llm.default, {
|
|
31
21
|
config: _llm.config
|
|
32
22
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebexCore","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":"
|
|
1
|
+
{"version":3,"names":["WebexCore","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;AACA;AAAyC;AAAA;AAEzCA,SAAS,CAACC,sBAAsB,CAAC,KAAK,EAAEC,YAAU,EAAE;EAClDC,MAAM,EAANA;AACF,CAAC,CAAC"}
|
package/dist/llm.js
CHANGED
|
@@ -1,41 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
-
|
|
5
4
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
6
|
-
|
|
7
5
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
8
|
-
|
|
9
6
|
_Object$defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
12
|
-
|
|
13
9
|
exports.default = exports.config = void 0;
|
|
14
|
-
|
|
15
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
16
|
-
|
|
17
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
18
|
-
|
|
19
12
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
20
|
-
|
|
21
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
22
|
-
|
|
23
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
24
|
-
|
|
25
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
26
|
-
|
|
27
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
28
|
-
|
|
29
17
|
var _internalPluginMercury = _interopRequireDefault(require("@webex/internal-plugin-mercury"));
|
|
30
|
-
|
|
31
|
-
var _pluginMeetings = require("@webex/plugin-meetings");
|
|
32
|
-
|
|
33
18
|
var _constants = require("./constants");
|
|
34
|
-
|
|
35
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); }; }
|
|
36
|
-
|
|
37
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; } }
|
|
38
|
-
|
|
39
21
|
var config = {
|
|
40
22
|
llm: {
|
|
41
23
|
/**
|
|
@@ -43,25 +25,21 @@ var config = {
|
|
|
43
25
|
* @type {number}
|
|
44
26
|
*/
|
|
45
27
|
pingInterval: process.env.MERCURY_PING_INTERVAL || 15000,
|
|
46
|
-
|
|
47
28
|
/**
|
|
48
29
|
* Milliseconds to wait for a pong before declaring the connection dead
|
|
49
30
|
* @type {number}
|
|
50
31
|
*/
|
|
51
32
|
pongTimeout: process.env.MERCURY_PONG_TIMEOUT || 14000,
|
|
52
|
-
|
|
53
33
|
/**
|
|
54
34
|
* Maximum milliseconds between connection attempts
|
|
55
35
|
* @type {Number}
|
|
56
36
|
*/
|
|
57
37
|
backoffTimeMax: process.env.MERCURY_BACKOFF_TIME_MAX || 32000,
|
|
58
|
-
|
|
59
38
|
/**
|
|
60
39
|
* Initial milliseconds between connection attempts
|
|
61
40
|
* @type {Number}
|
|
62
41
|
*/
|
|
63
42
|
backoffTimeReset: process.env.MERCURY_BACKOFF_TIME_RESET || 1000,
|
|
64
|
-
|
|
65
43
|
/**
|
|
66
44
|
* Milliseconds to wait for a close frame before declaring the socket dead and
|
|
67
45
|
* discarding it
|
|
@@ -70,55 +48,37 @@ var config = {
|
|
|
70
48
|
forceCloseDelay: process.env.MERCURY_FORCE_CLOSE_DELAY || 2000
|
|
71
49
|
}
|
|
72
50
|
};
|
|
51
|
+
|
|
73
52
|
/**
|
|
74
53
|
* LLMChannel to provide socket connections
|
|
75
54
|
*/
|
|
76
|
-
|
|
77
55
|
exports.config = config;
|
|
78
|
-
|
|
79
56
|
var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
80
57
|
(0, _inherits2.default)(LLMChannel, _ref);
|
|
81
|
-
|
|
82
58
|
var _super = _createSuper(LLMChannel);
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* If the LLM plugin has been registered and listening
|
|
86
|
-
* @instance
|
|
87
|
-
* @type {Boolean}
|
|
88
|
-
* @public
|
|
89
|
-
*/
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Initializes the LLM Plugin
|
|
93
|
-
* @constructor
|
|
94
|
-
* @public
|
|
95
|
-
*/
|
|
96
59
|
function LLMChannel() {
|
|
97
60
|
var _this;
|
|
98
|
-
|
|
99
61
|
(0, _classCallCheck2.default)(this, LLMChannel);
|
|
100
|
-
|
|
101
62
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
102
63
|
args[_key] = arguments[_key];
|
|
103
64
|
}
|
|
104
|
-
|
|
105
|
-
// eslint-disable-next-line constructor-super
|
|
106
65
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
107
66
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.LLM);
|
|
108
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registered", false);
|
|
109
67
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webSocketUrl", void 0);
|
|
110
68
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "binding", void 0);
|
|
111
69
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
112
70
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "register", function (llmSocketUrl) {
|
|
113
71
|
return _this.request({
|
|
114
72
|
method: 'POST',
|
|
115
|
-
url: llmSocketUrl
|
|
73
|
+
url: llmSocketUrl,
|
|
74
|
+
body: {
|
|
75
|
+
deviceUrl: _this.webex.internal.device.url
|
|
76
|
+
}
|
|
116
77
|
}).then(function (res) {
|
|
117
78
|
_this.webSocketUrl = res.body.webSocketUrl;
|
|
118
79
|
_this.binding = res.body.binding;
|
|
119
80
|
}).catch(function (error) {
|
|
120
|
-
|
|
121
|
-
|
|
81
|
+
_this.logger.error("Error connecting to websocket: ".concat(error));
|
|
122
82
|
throw error;
|
|
123
83
|
});
|
|
124
84
|
});
|
|
@@ -126,14 +86,11 @@ var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
|
126
86
|
return _this.register(datachannelUrl).then(function () {
|
|
127
87
|
if (!locusUrl || !datachannelUrl) return undefined;
|
|
128
88
|
_this.locusUrl = locusUrl;
|
|
129
|
-
|
|
130
|
-
_this.connect(_this.webSocketUrl).then(function () {
|
|
131
|
-
_this.registered = true;
|
|
132
|
-
});
|
|
89
|
+
_this.connect(_this.webSocketUrl);
|
|
133
90
|
});
|
|
134
91
|
});
|
|
135
92
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isConnected", function () {
|
|
136
|
-
return _this.
|
|
93
|
+
return _this.connected;
|
|
137
94
|
});
|
|
138
95
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getBinding", function () {
|
|
139
96
|
return _this.binding;
|
|
@@ -143,24 +100,14 @@ var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
|
143
100
|
});
|
|
144
101
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "disconnectLLM", function () {
|
|
145
102
|
return _this.disconnect().then(function () {
|
|
146
|
-
_this.registered = false;
|
|
147
103
|
_this.locusUrl = undefined;
|
|
148
104
|
_this.binding = undefined;
|
|
149
105
|
_this.webSocketUrl = undefined;
|
|
150
106
|
});
|
|
151
107
|
});
|
|
152
|
-
_this.registered = false;
|
|
153
108
|
return _this;
|
|
154
109
|
}
|
|
155
|
-
/**
|
|
156
|
-
* Register to the websocket
|
|
157
|
-
* @param {string} llmSocketUrl
|
|
158
|
-
* @returns {Promise<void>}
|
|
159
|
-
*/
|
|
160
|
-
|
|
161
|
-
|
|
162
110
|
return (0, _createClass2.default)(LLMChannel);
|
|
163
111
|
}(_internalPluginMercury.default);
|
|
164
|
-
|
|
165
112
|
exports.default = LLMChannel;
|
|
166
113
|
//# sourceMappingURL=llm.js.map
|
package/dist/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["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","LLMChannel","
|
|
1
|
+
{"version":3,"names":["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","LLMChannel","LLM","llmSocketUrl","request","method","url","body","deviceUrl","webex","internal","device","then","res","webSocketUrl","binding","catch","error","logger","locusUrl","datachannelUrl","register","undefined","connect","connected","disconnect","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\n private webSocketUrl?: string;\n\n private binding?: string;\n\n private locusUrl?: string;\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 body: {deviceUrl: this.webex.internal.device.url},\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);\n });\n\n /**\n * Tells if LLM socket is connected\n * @returns {boolean} connected\n */\n public isConnected = (): boolean => this.connected;\n\n /**\n * Tells if LLM socket is binding\n * @returns {string} binding\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.locusUrl = undefined;\n this.binding = undefined;\n this.webSocketUrl = undefined;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA;AAEA;AAAgC;AAAA;AAIzB,IAAMA,MAAM,GAAG;EACpBC,GAAG,EAAE;IACH;AACJ;AACA;AACA;IACIC,YAAY,EAAEC,OAAO,CAACC,GAAG,CAACC,qBAAqB,IAAI,KAAK;IACxD;AACJ;AACA;AACA;IACIC,WAAW,EAAEH,OAAO,CAACC,GAAG,CAACG,oBAAoB,IAAI,KAAK;IACtD;AACJ;AACA;AACA;IACIC,cAAc,EAAEL,OAAO,CAACC,GAAG,CAACK,wBAAwB,IAAI,KAAK;IAC7D;AACJ;AACA;AACA;IACIC,gBAAgB,EAAEP,OAAO,CAACC,GAAG,CAACO,0BAA0B,IAAI,IAAI;IAChE;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAET,OAAO,CAACC,GAAG,CAACS,yBAAyB,IAAI;EAC5D;AACF,CAAC;;AAED;AACA;AACA;AAFA;AAAA,IAGqBC,UAAU;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,wFACjBC,cAAG;IAAA;IAAA;IAAA;IAAA,uFAoBI,UAACC,YAAoB;MAAA,OACtC,MAAKC,OAAO,CAAC;QACXC,MAAM,EAAE,MAAM;QACdC,GAAG,EAAEH,YAAY;QACjBI,IAAI,EAAE;UAACC,SAAS,EAAE,MAAKC,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACL;QAAG;MAClD,CAAC,CAAC,CACCM,IAAI,CAAC,UAACC,GAAoD,EAAK;QAC9D,MAAKC,YAAY,GAAGD,GAAG,CAACN,IAAI,CAACO,YAAY;QACzC,MAAKC,OAAO,GAAGF,GAAG,CAACN,IAAI,CAACQ,OAAO;MACjC,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAAU,EAAK;QACrB,MAAKC,MAAM,CAACD,KAAK,0CAAmCA,KAAK,EAAG;QAC5D,MAAMA,KAAK;MACb,CAAC,CAAC;IAAA;IAAA,iGAQsB,UAACE,QAAgB,EAAEC,cAAsB;MAAA,OACnE,MAAKC,QAAQ,CAACD,cAAc,CAAC,CAACR,IAAI,CAAC,YAAM;QACvC,IAAI,CAACO,QAAQ,IAAI,CAACC,cAAc,EAAE,OAAOE,SAAS;QAClD,MAAKH,QAAQ,GAAGA,QAAQ;QACxB,MAAKI,OAAO,CAAC,MAAKT,YAAY,CAAC;MACjC,CAAC,CAAC;IAAA;IAAA,0FAMiB;MAAA,OAAe,MAAKU,SAAS;IAAA;IAAA,yFAM9B;MAAA,OAAc,MAAKT,OAAO;IAAA;IAAA,0FAMzB;MAAA,OAAc,MAAKI,QAAQ;IAAA;IAAA,4FAMzB;MAAA,OACrB,MAAKM,UAAU,EAAE,CAACb,IAAI,CAAC,YAAM;QAC3B,MAAKO,QAAQ,GAAGG,SAAS;QACzB,MAAKP,OAAO,GAAGO,SAAS;QACxB,MAAKR,YAAY,GAAGQ,SAAS;MAC/B,CAAC,CAAC;IAAA;IAAA;EAAA;EAAA;AAAA,EA5EmCI,8BAAO;AAAA"}
|
package/dist/llm.types.js
CHANGED
package/dist/llm.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["llm.types.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":[],"sources":["llm.types.ts"],"sourcesContent":["interface ILLMChannel {\n registerAndConnect: (locusUrl: string, datachannelUrl: string) => Promise<void>;\n isConnected: () => boolean;\n getBinding: () => string;\n getLocusUrl: () => string;\n disconnectLLM: () => Promise<void>;\n}\n// eslint-disable-next-line import/prefer-default-export\nexport type {ILLMChannel};\n"],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/internal-plugin-llm",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.300",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"node": ">=16"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
18
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
17
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.300",
|
|
18
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.300"
|
|
19
19
|
},
|
|
20
20
|
"browserify": {
|
|
21
21
|
"transform": [
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
28
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
27
|
+
"@webex/test-helper-chai": "3.0.0-beta.300",
|
|
28
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.300",
|
|
29
29
|
"sinon": "^9.2.4"
|
|
30
30
|
}
|
|
31
31
|
}
|
package/src/llm.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/* eslint-disable consistent-return */
|
|
2
|
+
|
|
1
3
|
import Mercury from '@webex/internal-plugin-mercury';
|
|
2
|
-
import {LoggerProxy} from '@webex/plugin-meetings';
|
|
3
4
|
|
|
4
5
|
import {LLM} from './constants';
|
|
5
6
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -48,7 +49,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
48
49
|
* @type {Boolean}
|
|
49
50
|
* @public
|
|
50
51
|
*/
|
|
51
|
-
private registered: boolean = false;
|
|
52
52
|
|
|
53
53
|
private webSocketUrl?: string;
|
|
54
54
|
|
|
@@ -56,18 +56,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
56
56
|
|
|
57
57
|
private locusUrl?: string;
|
|
58
58
|
|
|
59
|
-
/**
|
|
60
|
-
* Initializes the LLM Plugin
|
|
61
|
-
* @constructor
|
|
62
|
-
* @public
|
|
63
|
-
*/
|
|
64
|
-
constructor(...args) {
|
|
65
|
-
// eslint-disable-next-line constructor-super
|
|
66
|
-
super(...args);
|
|
67
|
-
|
|
68
|
-
this.registered = false;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
59
|
/**
|
|
72
60
|
* Register to the websocket
|
|
73
61
|
* @param {string} llmSocketUrl
|
|
@@ -77,13 +65,14 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
77
65
|
this.request({
|
|
78
66
|
method: 'POST',
|
|
79
67
|
url: llmSocketUrl,
|
|
68
|
+
body: {deviceUrl: this.webex.internal.device.url},
|
|
80
69
|
})
|
|
81
70
|
.then((res: {body: {webSocketUrl: string; binding: string}}) => {
|
|
82
71
|
this.webSocketUrl = res.body.webSocketUrl;
|
|
83
72
|
this.binding = res.body.binding;
|
|
84
73
|
})
|
|
85
74
|
.catch((error: any) => {
|
|
86
|
-
|
|
75
|
+
this.logger.error(`Error connecting to websocket: ${error}`);
|
|
87
76
|
throw error;
|
|
88
77
|
});
|
|
89
78
|
|
|
@@ -97,20 +86,18 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
97
86
|
this.register(datachannelUrl).then(() => {
|
|
98
87
|
if (!locusUrl || !datachannelUrl) return undefined;
|
|
99
88
|
this.locusUrl = locusUrl;
|
|
100
|
-
this.connect(this.webSocketUrl)
|
|
101
|
-
this.registered = true;
|
|
102
|
-
});
|
|
89
|
+
this.connect(this.webSocketUrl);
|
|
103
90
|
});
|
|
104
91
|
|
|
105
92
|
/**
|
|
106
93
|
* Tells if LLM socket is connected
|
|
107
|
-
* @returns {boolean}
|
|
94
|
+
* @returns {boolean} connected
|
|
108
95
|
*/
|
|
109
|
-
public isConnected = (): boolean => this.
|
|
96
|
+
public isConnected = (): boolean => this.connected;
|
|
110
97
|
|
|
111
98
|
/**
|
|
112
|
-
* Tells if LLM socket is
|
|
113
|
-
* @returns {
|
|
99
|
+
* Tells if LLM socket is binding
|
|
100
|
+
* @returns {string} binding
|
|
114
101
|
*/
|
|
115
102
|
public getBinding = (): string => this.binding;
|
|
116
103
|
|
|
@@ -126,7 +113,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
126
113
|
*/
|
|
127
114
|
public disconnectLLM = (): Promise<void> =>
|
|
128
115
|
this.disconnect().then(() => {
|
|
129
|
-
this.registered = false;
|
|
130
116
|
this.locusUrl = undefined;
|
|
131
117
|
this.binding = undefined;
|
|
132
118
|
this.webSocketUrl = undefined;
|
package/src/llm.types.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
disconnectLLM: () => Promise<void>;
|
|
1
|
+
interface ILLMChannel {
|
|
2
|
+
registerAndConnect: (locusUrl: string, datachannelUrl: string) => Promise<void>;
|
|
3
|
+
isConnected: () => boolean;
|
|
4
|
+
getBinding: () => string;
|
|
5
|
+
getLocusUrl: () => string;
|
|
6
|
+
disconnectLLM: () => Promise<void>;
|
|
8
7
|
}
|
|
9
8
|
// eslint-disable-next-line import/prefer-default-export
|
|
10
|
-
export {ILLMChannel};
|
|
9
|
+
export type {ILLMChannel};
|
package/test/unit/spec/llm.js
CHANGED
|
@@ -20,7 +20,9 @@ describe('plugin-llm', () => {
|
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
llmService = webex.internal.llm;
|
|
23
|
-
llmService.connect = sinon.stub().
|
|
23
|
+
llmService.connect = sinon.stub().callsFake(() => {
|
|
24
|
+
llmService.connected = true;
|
|
25
|
+
});
|
|
24
26
|
llmService.disconnect = sinon.stub().resolves(true);
|
|
25
27
|
llmService.request = sinon.stub().resolves({
|
|
26
28
|
headers: {},
|
|
@@ -65,6 +67,7 @@ describe('plugin-llm', () => {
|
|
|
65
67
|
sinon.match({
|
|
66
68
|
method: 'POST',
|
|
67
69
|
url: `${datachannelUrl}`,
|
|
70
|
+
body: {deviceUrl: webex.internal.device.url},
|
|
68
71
|
})
|
|
69
72
|
);
|
|
70
73
|
|