@webex/internal-plugin-llm 3.0.0-beta.39 → 3.0.0-beta.391
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/llm.js +6 -27
- package/dist/llm.js.map +1 -1
- package/package.json +5 -5
- package/src/llm.ts +6 -21
- package/test/unit/spec/llm.js +4 -1
package/dist/llm.js
CHANGED
|
@@ -56,35 +56,24 @@ exports.config = config;
|
|
|
56
56
|
var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
57
57
|
(0, _inherits2.default)(LLMChannel, _ref);
|
|
58
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
|
-
*/
|
|
71
59
|
function LLMChannel() {
|
|
72
60
|
var _this;
|
|
73
61
|
(0, _classCallCheck2.default)(this, LLMChannel);
|
|
74
62
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
75
63
|
args[_key] = arguments[_key];
|
|
76
64
|
}
|
|
77
|
-
// eslint-disable-next-line constructor-super
|
|
78
65
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
79
66
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.LLM);
|
|
80
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registered", false);
|
|
81
67
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webSocketUrl", void 0);
|
|
82
68
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "binding", void 0);
|
|
83
69
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
84
70
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "register", function (llmSocketUrl) {
|
|
85
71
|
return _this.request({
|
|
86
72
|
method: 'POST',
|
|
87
|
-
url: llmSocketUrl
|
|
73
|
+
url: llmSocketUrl,
|
|
74
|
+
body: {
|
|
75
|
+
deviceUrl: _this.webex.internal.device.url
|
|
76
|
+
}
|
|
88
77
|
}).then(function (res) {
|
|
89
78
|
_this.webSocketUrl = res.body.webSocketUrl;
|
|
90
79
|
_this.binding = res.body.binding;
|
|
@@ -97,13 +86,11 @@ var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
|
97
86
|
return _this.register(datachannelUrl).then(function () {
|
|
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
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isConnected", function () {
|
|
106
|
-
return _this.
|
|
93
|
+
return _this.connected;
|
|
107
94
|
});
|
|
108
95
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getBinding", function () {
|
|
109
96
|
return _this.binding;
|
|
@@ -113,21 +100,13 @@ var LLMChannel = /*#__PURE__*/function (_ref) {
|
|
|
113
100
|
});
|
|
114
101
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "disconnectLLM", function () {
|
|
115
102
|
return _this.disconnect().then(function () {
|
|
116
|
-
_this.registered = false;
|
|
117
103
|
_this.locusUrl = undefined;
|
|
118
104
|
_this.binding = undefined;
|
|
119
105
|
_this.webSocketUrl = undefined;
|
|
120
106
|
});
|
|
121
107
|
});
|
|
122
|
-
_this.registered = false;
|
|
123
108
|
return _this;
|
|
124
109
|
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Register to the websocket
|
|
128
|
-
* @param {string} llmSocketUrl
|
|
129
|
-
* @returns {Promise<void>}
|
|
130
|
-
*/
|
|
131
110
|
return (0, _createClass2.default)(LLMChannel);
|
|
132
111
|
}(_internalPluginMercury.default);
|
|
133
112
|
exports.default = LLMChannel;
|
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/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.391",
|
|
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.391",
|
|
18
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.391"
|
|
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.391",
|
|
28
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.391",
|
|
29
29
|
"sinon": "^9.2.4"
|
|
30
30
|
}
|
|
31
31
|
}
|
package/src/llm.ts
CHANGED
|
@@ -49,7 +49,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
49
49
|
* @type {Boolean}
|
|
50
50
|
* @public
|
|
51
51
|
*/
|
|
52
|
-
private registered = false;
|
|
53
52
|
|
|
54
53
|
private webSocketUrl?: string;
|
|
55
54
|
|
|
@@ -57,18 +56,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
57
56
|
|
|
58
57
|
private locusUrl?: string;
|
|
59
58
|
|
|
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
|
-
|
|
72
59
|
/**
|
|
73
60
|
* Register to the websocket
|
|
74
61
|
* @param {string} llmSocketUrl
|
|
@@ -78,6 +65,7 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
78
65
|
this.request({
|
|
79
66
|
method: 'POST',
|
|
80
67
|
url: llmSocketUrl,
|
|
68
|
+
body: {deviceUrl: this.webex.internal.device.url},
|
|
81
69
|
})
|
|
82
70
|
.then((res: {body: {webSocketUrl: string; binding: string}}) => {
|
|
83
71
|
this.webSocketUrl = res.body.webSocketUrl;
|
|
@@ -98,20 +86,18 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
98
86
|
this.register(datachannelUrl).then(() => {
|
|
99
87
|
if (!locusUrl || !datachannelUrl) return undefined;
|
|
100
88
|
this.locusUrl = locusUrl;
|
|
101
|
-
this.connect(this.webSocketUrl)
|
|
102
|
-
this.registered = true;
|
|
103
|
-
});
|
|
89
|
+
this.connect(this.webSocketUrl);
|
|
104
90
|
});
|
|
105
91
|
|
|
106
92
|
/**
|
|
107
93
|
* Tells if LLM socket is connected
|
|
108
|
-
* @returns {boolean}
|
|
94
|
+
* @returns {boolean} connected
|
|
109
95
|
*/
|
|
110
|
-
public isConnected = (): boolean => this.
|
|
96
|
+
public isConnected = (): boolean => this.connected;
|
|
111
97
|
|
|
112
98
|
/**
|
|
113
|
-
* Tells if LLM socket is
|
|
114
|
-
* @returns {
|
|
99
|
+
* Tells if LLM socket is binding
|
|
100
|
+
* @returns {string} binding
|
|
115
101
|
*/
|
|
116
102
|
public getBinding = (): string => this.binding;
|
|
117
103
|
|
|
@@ -127,7 +113,6 @@ export default class LLMChannel extends (Mercury as any) implements ILLMChannel
|
|
|
127
113
|
*/
|
|
128
114
|
public disconnectLLM = (): Promise<void> =>
|
|
129
115
|
this.disconnect().then(() => {
|
|
130
|
-
this.registered = false;
|
|
131
116
|
this.locusUrl = undefined;
|
|
132
117
|
this.binding = undefined;
|
|
133
118
|
this.webSocketUrl = undefined;
|
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
|
|