@webex/internal-plugin-llm 3.12.0-next.8 → 3.12.0-task-refactor.1
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 +12 -83
- package/dist/constants.js +1 -8
- package/dist/constants.js.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/llm.js +51 -247
- package/dist/llm.js.map +1 -1
- package/dist/llm.types.js +0 -6
- package/dist/llm.types.js.map +1 -1
- package/package.json +6 -6
- package/src/constants.ts +0 -12
- package/src/index.ts +0 -2
- package/src/llm.ts +33 -236
- package/src/llm.types.ts +5 -28
- package/test/unit/spec/llm.js +52 -349
package/README.md
CHANGED
|
@@ -23,93 +23,22 @@ npm install --save @webex/internal-plugin-llm
|
|
|
23
23
|
|
|
24
24
|
```js
|
|
25
25
|
import '@webex/internal-plugin-llm';
|
|
26
|
+
|
|
26
27
|
import WebexCore from '@webex/webex-core';
|
|
27
|
-
// Optional: import enum from package internals if needed in your app setup
|
|
28
|
-
// import {DataChannelTokenType} from '@webex/internal-plugin-llm/src/llm.types';
|
|
29
28
|
|
|
30
29
|
const webex = new WebexCore();
|
|
30
|
+
// locusUrl is got from meeting.locusInfo.url;
|
|
31
|
+
// datachannelUrl is got from meeting.locusInfo.info.datachannelUrl;
|
|
32
|
+
webex.internal.llm.registerAndConnect(locusUrl, datachannelUrl);
|
|
33
|
+
|
|
34
|
+
// Checks if LLM is connected
|
|
35
|
+
webex.internal.llm.isConnected();
|
|
36
|
+
|
|
37
|
+
// Disconnect LLM connection
|
|
38
|
+
webex.internal.llm.disconnectLLM();
|
|
31
39
|
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
const datachannelUrl = meeting.locusInfo.info.datachannelUrl;
|
|
35
|
-
|
|
36
|
-
// Optional JWT token for data channel auth
|
|
37
|
-
const datachannelToken = '<jwt-token>';
|
|
38
|
-
|
|
39
|
-
// Default session (no token)
|
|
40
|
-
await webex.internal.llm.registerAndConnect(locusUrl, datachannelUrl);
|
|
41
|
-
|
|
42
|
-
// Default session (with JWT token)
|
|
43
|
-
await webex.internal.llm.registerAndConnect(locusUrl, datachannelUrl, datachannelToken);
|
|
44
|
-
|
|
45
|
-
// Multiple named sessions
|
|
46
|
-
await webex.internal.llm.registerAndConnect(locusUrlA, datachannelUrlA, undefined, 'session-a');
|
|
47
|
-
await webex.internal.llm.registerAndConnect(
|
|
48
|
-
locusUrlB,
|
|
49
|
-
datachannelUrlB,
|
|
50
|
-
datachannelToken,
|
|
51
|
-
'session-b'
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
// Listen across multiple connections
|
|
55
|
-
const llm = webex.internal.llm;
|
|
56
|
-
const sessionA = 'session-a';
|
|
57
|
-
const sessionB = 'session-b';
|
|
58
|
-
|
|
59
|
-
// Default session events use the base event name.
|
|
60
|
-
llm.on('online', () => {
|
|
61
|
-
console.log('[default] connected');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
llm.on('event', (envelope) => {
|
|
65
|
-
console.log('[default] event', envelope.data?.eventType, envelope.sessionId);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// Non-default sessions emit events with :<sessionId> suffix.
|
|
69
|
-
llm.on(`online:${sessionA}`, () => {
|
|
70
|
-
console.log(`[${sessionA}] connected`);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
llm.on(`event:${sessionA}`, (envelope) => {
|
|
74
|
-
console.log(`[${sessionA}] event`, envelope.data?.eventType, envelope.sessionId);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
llm.on(`event:${sessionB}`, (envelope) => {
|
|
78
|
-
console.log(`[${sessionB}] event`, envelope.data?.eventType, envelope.sessionId);
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// Optional: store/retrieve token by token type
|
|
82
|
-
webex.internal.llm.setDatachannelToken(datachannelToken, 'llm-default-session');
|
|
83
|
-
webex.internal.llm.getDatachannelToken('llm-default-session');
|
|
84
|
-
|
|
85
|
-
// Optional: inject token refresh handler
|
|
86
|
-
webex.internal.llm.setRefreshHandler(async () => {
|
|
87
|
-
// Return shape must match plugin expectation
|
|
88
|
-
return {
|
|
89
|
-
body: {
|
|
90
|
-
datachannelToken: '<refreshed-jwt-token>',
|
|
91
|
-
datachannelTokenType: 'llm-default-session',
|
|
92
|
-
},
|
|
93
|
-
};
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// Optional: manually trigger refresh (if needed by your flow)
|
|
97
|
-
await webex.internal.llm.refreshDataChannelToken();
|
|
98
|
-
|
|
99
|
-
// Per-session status and metadata
|
|
100
|
-
webex.internal.llm.isConnected('session-a');
|
|
101
|
-
webex.internal.llm.getBinding('session-a');
|
|
102
|
-
webex.internal.llm.getLocusUrl('session-a');
|
|
103
|
-
webex.internal.llm.getDatachannelUrl('session-a');
|
|
104
|
-
|
|
105
|
-
// All active sessions
|
|
106
|
-
webex.internal.llm.getAllConnections();
|
|
107
|
-
|
|
108
|
-
// Disconnect one session
|
|
109
|
-
await webex.internal.llm.disconnectLLM({code: 1000, reason: 'done'}, 'session-a');
|
|
110
|
-
|
|
111
|
-
// Disconnect all sessions
|
|
112
|
-
await webex.internal.llm.disconnectAllLLM({code: 1000, reason: 'shutdown'});
|
|
40
|
+
// Get Locus URL
|
|
41
|
+
webex.internal.llm.getLocusUrl();
|
|
113
42
|
```
|
|
114
43
|
|
|
115
44
|
## Maintainers
|
package/dist/constants.js
CHANGED
|
@@ -4,14 +4,7 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
|
|
|
4
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.LLM = void 0;
|
|
8
8
|
// eslint-disable-next-line import/prefer-default-export
|
|
9
9
|
var LLM = exports.LLM = 'llm';
|
|
10
|
-
var LLM_DEFAULT_SESSION = exports.LLM_DEFAULT_SESSION = 'llm-default-session';
|
|
11
|
-
var DATA_CHANNEL_WITH_JWT_TOKEN = exports.DATA_CHANNEL_WITH_JWT_TOKEN = 'data-channel-with-jwt-token';
|
|
12
|
-
var SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM = exports.SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM = 'subscriptionAwareSubchannels';
|
|
13
|
-
var DATA_CHNANEL_TYPE = exports.DATA_CHNANEL_TYPE = {
|
|
14
|
-
TRANSCRIPTION: 'transcription'
|
|
15
|
-
};
|
|
16
|
-
var AWARE_DATA_CHANNEL = exports.AWARE_DATA_CHANNEL = [DATA_CHNANEL_TYPE.TRANSCRIPTION];
|
|
17
10
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LLM","exports"
|
|
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,GAAAC,OAAA,CAAAD,GAAA,GAAG,KAAK","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -7,12 +7,6 @@ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/o
|
|
|
7
7
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
_Object$defineProperty(exports, "DataChannelTokenType", {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _llm2.DataChannelTokenType;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
10
|
_Object$defineProperty(exports, "default", {
|
|
17
11
|
enumerable: true,
|
|
18
12
|
get: function get() {
|
|
@@ -21,7 +15,6 @@ _Object$defineProperty(exports, "default", {
|
|
|
21
15
|
});
|
|
22
16
|
var WebexCore = _interopRequireWildcard(require("@webex/webex-core"));
|
|
23
17
|
var _llm = _interopRequireWildcard(require("./llm"));
|
|
24
|
-
var _llm2 = require("./llm.types");
|
|
25
18
|
function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
26
19
|
WebexCore.registerInternalPlugin('llm', _llm.default, {
|
|
27
20
|
config: _llm.config
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebexCore","_interopRequireWildcard","require","_llm","
|
|
1
|
+
{"version":3,"names":["WebexCore","_interopRequireWildcard","require","_llm","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","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,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,QAAA,MAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAL,uBAAA,YAAAA,wBAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,gBAAAW,OAAA,CAAAX,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAM,GAAA,CAAAZ,CAAA,UAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,GAAAM,CAAA,CAAAQ,GAAA,CAAAd,CAAA,EAAAQ,CAAA,cAAAO,EAAA,IAAAf,CAAA,gBAAAe,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,EAAA,OAAAR,CAAA,IAAAD,CAAA,GAAAY,sBAAA,KAAAC,gCAAA,CAAAnB,CAAA,EAAAe,EAAA,OAAAR,CAAA,CAAAM,GAAA,IAAAN,CAAA,CAAAO,GAAA,IAAAR,CAAA,CAAAE,CAAA,EAAAO,EAAA,EAAAR,CAAA,IAAAC,CAAA,CAAAO,EAAA,IAAAf,CAAA,CAAAe,EAAA,WAAAP,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEzCL,SAAS,CAACwB,sBAAsB,CAAC,KAAK,EAAEC,YAAU,EAAE;EAClDC,MAAM,EAANA;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/llm.js
CHANGED
|
@@ -7,20 +7,18 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
9
|
exports.default = exports.config = void 0;
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
11
|
-
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
13
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
15
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
17
14
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
18
|
-
var
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
19
16
|
var _internalPluginMercury = _interopRequireDefault(require("@webex/internal-plugin-mercury"));
|
|
20
17
|
var _constants = require("./constants");
|
|
21
|
-
var _llm = require("./llm.types");
|
|
22
18
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
23
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable consistent-return */
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable consistent-return */
|
|
20
|
+
// eslint-disable-next-line no-unused-vars
|
|
21
|
+
|
|
24
22
|
var config = exports.config = {
|
|
25
23
|
llm: {
|
|
26
24
|
/**
|
|
@@ -63,289 +61,95 @@ var LLMChannel = exports.default = /*#__PURE__*/function (_ref) {
|
|
|
63
61
|
args[_key] = arguments[_key];
|
|
64
62
|
}
|
|
65
63
|
_this = _callSuper(this, LLMChannel, [].concat(args));
|
|
66
|
-
(0,
|
|
67
|
-
(0, _defineProperty3.default)(_this, "defaultSessionId", _constants.LLM_DEFAULT_SESSION);
|
|
64
|
+
(0, _defineProperty2.default)(_this, "namespace", _constants.LLM);
|
|
68
65
|
/**
|
|
69
|
-
*
|
|
70
|
-
* @
|
|
71
|
-
* @type {
|
|
66
|
+
* If the LLM plugin has been registered and listening
|
|
67
|
+
* @instance
|
|
68
|
+
* @type {Boolean}
|
|
69
|
+
* @public
|
|
72
70
|
*/
|
|
73
|
-
(0,
|
|
74
|
-
(0,
|
|
75
|
-
(0,
|
|
71
|
+
(0, _defineProperty2.default)(_this, "webSocketUrl", void 0);
|
|
72
|
+
(0, _defineProperty2.default)(_this, "binding", void 0);
|
|
73
|
+
(0, _defineProperty2.default)(_this, "locusUrl", void 0);
|
|
74
|
+
(0, _defineProperty2.default)(_this, "datachannelUrl", void 0);
|
|
76
75
|
/**
|
|
77
76
|
* Register to the websocket
|
|
78
77
|
* @param {string} llmSocketUrl
|
|
79
|
-
* @param {string} datachannelToken
|
|
80
|
-
* @param {string} sessionId - Connection identifier
|
|
81
78
|
* @returns {Promise<void>}
|
|
82
79
|
*/
|
|
83
|
-
(0,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
url: llmSocketUrl,
|
|
99
|
-
body: {
|
|
100
|
-
deviceUrl: _this.webex.internal.device.url
|
|
101
|
-
},
|
|
102
|
-
headers: isDataChannelTokenEnabled && datachannelToken ? {
|
|
103
|
-
'Data-Channel-Auth-Token': datachannelToken
|
|
104
|
-
} : {}
|
|
105
|
-
}).then(function (res) {
|
|
106
|
-
// Get or create connection data
|
|
107
|
-
var sessionData = _this.connections.get(sessionId) || {};
|
|
108
|
-
sessionData.webSocketUrl = res.body.webSocketUrl;
|
|
109
|
-
sessionData.binding = res.body.binding;
|
|
110
|
-
_this.connections.set(sessionId, sessionData);
|
|
111
|
-
}).catch(function (error) {
|
|
112
|
-
_this.logger.error("Error connecting to websocket for ".concat(sessionId, ": ").concat(error));
|
|
113
|
-
throw error;
|
|
114
|
-
}));
|
|
115
|
-
case 2:
|
|
116
|
-
case "end":
|
|
117
|
-
return _context.stop();
|
|
118
|
-
}
|
|
119
|
-
}, _callee);
|
|
120
|
-
}));
|
|
121
|
-
return function (_x, _x2) {
|
|
122
|
-
return _ref2.apply(this, arguments);
|
|
123
|
-
};
|
|
124
|
-
}());
|
|
80
|
+
(0, _defineProperty2.default)(_this, "register", function (llmSocketUrl) {
|
|
81
|
+
return _this.request({
|
|
82
|
+
method: 'POST',
|
|
83
|
+
url: llmSocketUrl,
|
|
84
|
+
body: {
|
|
85
|
+
deviceUrl: _this.webex.internal.device.url
|
|
86
|
+
}
|
|
87
|
+
}).then(function (res) {
|
|
88
|
+
_this.webSocketUrl = res.body.webSocketUrl;
|
|
89
|
+
_this.binding = res.body.binding;
|
|
90
|
+
}).catch(function (error) {
|
|
91
|
+
_this.logger.error("Error connecting to websocket: ".concat(error));
|
|
92
|
+
throw error;
|
|
93
|
+
});
|
|
94
|
+
});
|
|
125
95
|
/**
|
|
126
96
|
* Register and connect to the websocket
|
|
127
97
|
* @param {string} locusUrl
|
|
128
98
|
* @param {string} datachannelUrl
|
|
129
|
-
* @param {string} datachannelToken
|
|
130
|
-
* @param {string} sessionId - Connection identifier
|
|
131
99
|
* @returns {Promise<void>}
|
|
132
100
|
*/
|
|
133
|
-
(0,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (!(!locusUrl || !datachannelUrl)) {
|
|
141
|
-
_context2.next = 1;
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
return _context2.abrupt("return", undefined);
|
|
145
|
-
case 1:
|
|
146
|
-
// Get or create connection data
|
|
147
|
-
sessionData = _this.connections.get(sessionId) || {};
|
|
148
|
-
sessionData.locusUrl = locusUrl;
|
|
149
|
-
sessionData.datachannelUrl = datachannelUrl;
|
|
150
|
-
sessionData.datachannelToken = datachannelToken;
|
|
151
|
-
_this.connections.set(sessionId, sessionData);
|
|
152
|
-
_context2.next = 2;
|
|
153
|
-
return _this.isDataChannelTokenEnabled();
|
|
154
|
-
case 2:
|
|
155
|
-
isDataChannelTokenEnabled = _context2.sent;
|
|
156
|
-
connectUrl = isDataChannelTokenEnabled ? LLMChannel.buildUrlWithAwareSubchannels(sessionData.webSocketUrl, _constants.AWARE_DATA_CHANNEL) : sessionData.webSocketUrl;
|
|
157
|
-
return _context2.abrupt("return", _this.connect(connectUrl, sessionId));
|
|
158
|
-
case 3:
|
|
159
|
-
case "end":
|
|
160
|
-
return _context2.stop();
|
|
161
|
-
}
|
|
162
|
-
}, _callee2);
|
|
163
|
-
})));
|
|
101
|
+
(0, _defineProperty2.default)(_this, "registerAndConnect", function (locusUrl, datachannelUrl) {
|
|
102
|
+
return _this.register(datachannelUrl).then(function () {
|
|
103
|
+
if (!locusUrl || !datachannelUrl) return undefined;
|
|
104
|
+
_this.locusUrl = locusUrl;
|
|
105
|
+
_this.datachannelUrl = datachannelUrl;
|
|
106
|
+
_this.connect(_this.webSocketUrl);
|
|
107
|
+
});
|
|
164
108
|
});
|
|
165
109
|
/**
|
|
166
110
|
* Tells if LLM socket is connected
|
|
167
|
-
* @param {string} sessionId - Connection identifier
|
|
168
111
|
* @returns {boolean} connected
|
|
169
112
|
*/
|
|
170
|
-
(0,
|
|
171
|
-
|
|
172
|
-
var socket = _this.getSocket(sessionId);
|
|
173
|
-
return socket ? socket.connected : false;
|
|
113
|
+
(0, _defineProperty2.default)(_this, "isConnected", function () {
|
|
114
|
+
return _this.connected;
|
|
174
115
|
});
|
|
175
116
|
/**
|
|
176
117
|
* Tells if LLM socket is binding
|
|
177
|
-
* @param {string} sessionId - Connection identifier
|
|
178
118
|
* @returns {string} binding
|
|
179
119
|
*/
|
|
180
|
-
(0,
|
|
181
|
-
|
|
182
|
-
var sessionData = _this.connections.get(sessionId);
|
|
183
|
-
return sessionData === null || sessionData === void 0 ? void 0 : sessionData.binding;
|
|
120
|
+
(0, _defineProperty2.default)(_this, "getBinding", function () {
|
|
121
|
+
return _this.binding;
|
|
184
122
|
});
|
|
185
123
|
/**
|
|
186
124
|
* Get Locus URL for the connection
|
|
187
|
-
* @param {string} sessionId - Connection identifier
|
|
188
125
|
* @returns {string} locus Url
|
|
189
126
|
*/
|
|
190
|
-
(0,
|
|
191
|
-
|
|
192
|
-
var sessionData = _this.connections.get(sessionId);
|
|
193
|
-
return sessionData === null || sessionData === void 0 ? void 0 : sessionData.locusUrl;
|
|
127
|
+
(0, _defineProperty2.default)(_this, "getLocusUrl", function () {
|
|
128
|
+
return _this.locusUrl;
|
|
194
129
|
});
|
|
195
130
|
/**
|
|
196
131
|
* Get data channel URL for the connection
|
|
197
|
-
* @param {string} sessionId - Connection identifier
|
|
198
132
|
* @returns {string} data channel Url
|
|
199
133
|
*/
|
|
200
|
-
(0,
|
|
201
|
-
|
|
202
|
-
var sessionData = _this.connections.get(sessionId);
|
|
203
|
-
return sessionData === null || sessionData === void 0 ? void 0 : sessionData.datachannelUrl;
|
|
204
|
-
});
|
|
205
|
-
/**
|
|
206
|
-
* Get data channel token for the connection
|
|
207
|
-
* @param {DataChannelTokenType} dataChannelTokenType
|
|
208
|
-
* @returns {string} data channel token
|
|
209
|
-
*/
|
|
210
|
-
(0, _defineProperty3.default)(_this, "getDatachannelToken", function () {
|
|
211
|
-
var dataChannelTokenType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _llm.DataChannelTokenType.Default;
|
|
212
|
-
return _this.datachannelTokens[dataChannelTokenType];
|
|
213
|
-
});
|
|
214
|
-
/**
|
|
215
|
-
* Set data channel token for the connection
|
|
216
|
-
* @param {string} datachannelToken - data channel token
|
|
217
|
-
* @param {DataChannelTokenType} dataChannelTokenType
|
|
218
|
-
* @returns {void}
|
|
219
|
-
*/
|
|
220
|
-
(0, _defineProperty3.default)(_this, "setDatachannelToken", function (datachannelToken) {
|
|
221
|
-
var dataChannelTokenType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _llm.DataChannelTokenType.Default;
|
|
222
|
-
_this.datachannelTokens[dataChannelTokenType] = datachannelToken;
|
|
134
|
+
(0, _defineProperty2.default)(_this, "getDatachannelUrl", function () {
|
|
135
|
+
return _this.datachannelUrl;
|
|
223
136
|
});
|
|
224
137
|
/**
|
|
225
138
|
* Disconnects websocket connection
|
|
226
139
|
* @param {{code: number, reason: string}} options - The disconnect option object with code and reason
|
|
227
|
-
* @param {string} sessionId - Connection identifier
|
|
228
140
|
* @returns {Promise<void>}
|
|
229
141
|
*/
|
|
230
|
-
(0,
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
_this.
|
|
142
|
+
(0, _defineProperty2.default)(_this, "disconnectLLM", function (options) {
|
|
143
|
+
return _this.disconnect(options).then(function () {
|
|
144
|
+
_this.locusUrl = undefined;
|
|
145
|
+
_this.datachannelUrl = undefined;
|
|
146
|
+
_this.binding = undefined;
|
|
147
|
+
_this.webSocketUrl = undefined;
|
|
235
148
|
});
|
|
236
149
|
});
|
|
237
|
-
/**
|
|
238
|
-
* Disconnects all LLM websocket connections
|
|
239
|
-
* @param {{code: number, reason: string}} options - The disconnect option object with code and reason
|
|
240
|
-
* @returns {Promise<void>}
|
|
241
|
-
*/
|
|
242
|
-
(0, _defineProperty3.default)(_this, "disconnectAllLLM", function (options) {
|
|
243
|
-
return _this.disconnectAll(options).then(function () {
|
|
244
|
-
// Clean up all connection data
|
|
245
|
-
_this.connections.clear();
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
/**
|
|
249
|
-
* Get all active LLM connections
|
|
250
|
-
* @returns {Map} Map of sessionId to session data
|
|
251
|
-
*/
|
|
252
|
-
(0, _defineProperty3.default)(_this, "getAllConnections", function () {
|
|
253
|
-
return new _map.default(_this.connections);
|
|
254
|
-
});
|
|
255
150
|
return _this;
|
|
256
151
|
}
|
|
257
152
|
(0, _inherits2.default)(LLMChannel, _ref);
|
|
258
|
-
return (0, _createClass2.default)(LLMChannel
|
|
259
|
-
key: "resetDatachannelTokens",
|
|
260
|
-
value:
|
|
261
|
-
/**
|
|
262
|
-
* Resets all data‑channel tokens to their initial undefined values.
|
|
263
|
-
* Used when leaving or disconnecting from a meeting.
|
|
264
|
-
* @returns {void}
|
|
265
|
-
*/
|
|
266
|
-
function resetDatachannelTokens() {
|
|
267
|
-
this.datachannelTokens = (0, _defineProperty3.default)((0, _defineProperty3.default)({}, _llm.DataChannelTokenType.Default, undefined), _llm.DataChannelTokenType.PracticeSession, undefined);
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Set the handler used to refresh the DataChannel token
|
|
272
|
-
*
|
|
273
|
-
* @param {function} handler - Function that returns a refreshed token
|
|
274
|
-
* @returns {void}
|
|
275
|
-
*/
|
|
276
|
-
}, {
|
|
277
|
-
key: "setRefreshHandler",
|
|
278
|
-
value: function setRefreshHandler(handler) {
|
|
279
|
-
this.refreshHandler = handler;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Refresh the data channel token using the injected handler.
|
|
284
|
-
* Logs a descriptive error if the handler is missing or fails.
|
|
285
|
-
*
|
|
286
|
-
* @returns {Promise<string>} The refreshed token.
|
|
287
|
-
*/
|
|
288
|
-
}, {
|
|
289
|
-
key: "refreshDataChannelToken",
|
|
290
|
-
value: (function () {
|
|
291
|
-
var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
292
|
-
var res, _t;
|
|
293
|
-
return _regenerator.default.wrap(function (_context3) {
|
|
294
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
295
|
-
case 0:
|
|
296
|
-
if (this.refreshHandler) {
|
|
297
|
-
_context3.next = 1;
|
|
298
|
-
break;
|
|
299
|
-
}
|
|
300
|
-
this.logger.warn('llm#refreshDataChannelToken --> LLM refreshHandler is not set, skipping token refresh');
|
|
301
|
-
return _context3.abrupt("return", null);
|
|
302
|
-
case 1:
|
|
303
|
-
_context3.prev = 1;
|
|
304
|
-
_context3.next = 2;
|
|
305
|
-
return this.refreshHandler();
|
|
306
|
-
case 2:
|
|
307
|
-
res = _context3.sent;
|
|
308
|
-
return _context3.abrupt("return", res);
|
|
309
|
-
case 3:
|
|
310
|
-
_context3.prev = 3;
|
|
311
|
-
_t = _context3["catch"](1);
|
|
312
|
-
this.logger.warn("llm#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ".concat((_t === null || _t === void 0 ? void 0 : _t.message) || _t));
|
|
313
|
-
return _context3.abrupt("return", null);
|
|
314
|
-
case 4:
|
|
315
|
-
case "end":
|
|
316
|
-
return _context3.stop();
|
|
317
|
-
}
|
|
318
|
-
}, _callee3, this, [[1, 3]]);
|
|
319
|
-
}));
|
|
320
|
-
function refreshDataChannelToken() {
|
|
321
|
-
return _refreshDataChannelToken.apply(this, arguments);
|
|
322
|
-
}
|
|
323
|
-
return refreshDataChannelToken;
|
|
324
|
-
}())
|
|
325
|
-
}, {
|
|
326
|
-
key: "isDataChannelTokenEnabled",
|
|
327
|
-
value:
|
|
328
|
-
/**
|
|
329
|
-
* Returns true if data channel token is enabled, false otherwise
|
|
330
|
-
* @returns {Promise<boolean>} resolves with true if data channel token is enabled
|
|
331
|
-
*/
|
|
332
|
-
function isDataChannelTokenEnabled() {
|
|
333
|
-
// @ts-ignore
|
|
334
|
-
return this.webex.internal.feature.getFeature('developer', _constants.DATA_CHANNEL_WITH_JWT_TOKEN);
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Builds a WebSocket URL with the `subscriptionAwareSubchannels` query parameter.
|
|
339
|
-
*
|
|
340
|
-
* @param {string} baseUrl - The original WebSocket URL.
|
|
341
|
-
* @param {string[]} subchannels - List of subchannels to declare as subscription-aware.
|
|
342
|
-
* @returns {string} The final URL with updated query parameters.
|
|
343
|
-
*/
|
|
344
|
-
}]);
|
|
153
|
+
return (0, _createClass2.default)(LLMChannel);
|
|
345
154
|
}(_internalPluginMercury.default);
|
|
346
|
-
(0, _defineProperty3.default)(LLMChannel, "buildUrlWithAwareSubchannels", function (baseUrl, subchannels) {
|
|
347
|
-
var urlObj = new URL(baseUrl);
|
|
348
|
-
urlObj.searchParams.set(_constants.SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM, subchannels.join(','));
|
|
349
|
-
return urlObj.toString();
|
|
350
|
-
});
|
|
351
155
|
//# sourceMappingURL=llm.js.map
|
package/dist/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_internalPluginMercury","_interopRequireDefault","require","_constants","_llm","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","config","exports","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","_ref","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty3","LLM","LLM_DEFAULT_SESSION","_map","DataChannelTokenType","Default","undefined","PracticeSession","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","llmSocketUrl","datachannelToken","sessionId","isDataChannelTokenEnabled","_args","wrap","_context","prev","next","sent","abrupt","request","method","url","body","deviceUrl","webex","internal","device","headers","then","res","sessionData","connections","get","webSocketUrl","binding","set","catch","error","logger","stop","_x","_x2","locusUrl","datachannelUrl","register","_callee2","connectUrl","_context2","buildUrlWithAwareSubchannels","AWARE_DATA_CHANNEL","connect","socket","getSocket","connected","dataChannelTokenType","datachannelTokens","options","disconnect","delete","disconnectAll","clear","_inherits2","_createClass2","key","value","resetDatachannelTokens","setRefreshHandler","handler","refreshHandler","_refreshDataChannelToken","_callee3","_t","_context3","warn","message","refreshDataChannelToken","feature","getFeature","DATA_CHANNEL_WITH_JWT_TOKEN","Mercury","baseUrl","subchannels","urlObj","URL","searchParams","SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM","join","toString"],"sources":["llm.ts"],"sourcesContent":["/* eslint-disable consistent-return */\n\nimport Mercury from '@webex/internal-plugin-mercury';\n\n// eslint-disable-next-line no-unused-vars\nimport {\n LLM,\n DATA_CHANNEL_WITH_JWT_TOKEN,\n AWARE_DATA_CHANNEL,\n SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM,\n LLM_DEFAULT_SESSION,\n} from './constants';\nimport {ILLMChannel, DataChannelTokenType} 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 defaultSessionId = LLM_DEFAULT_SESSION;\n /**\n * Map to store connection-specific data for multiple LLM connections\n * @private\n * @type {Map<string, {webSocketUrl?: string; binding?: string; locusUrl?: string; datachannelUrl?: string}>}\n */\n private connections: Map<\n string,\n {\n webSocketUrl?: string;\n binding?: string;\n locusUrl?: string;\n datachannelUrl?: string;\n datachannelToken?: string;\n }\n > = new Map();\n\n private datachannelTokens: Record<DataChannelTokenType, string> = {\n [DataChannelTokenType.Default]: undefined,\n [DataChannelTokenType.PracticeSession]: undefined,\n };\n\n private refreshHandler?: () => Promise<{\n body: {datachannelToken: string; datachannelTokenType: DataChannelTokenType};\n }>;\n\n /**\n * Register to the websocket\n * @param {string} llmSocketUrl\n * @param {string} datachannelToken\n * @param {string} sessionId - Connection identifier\n * @returns {Promise<void>}\n */\n private register = async (\n llmSocketUrl: string,\n datachannelToken?: string,\n sessionId: string = LLM_DEFAULT_SESSION\n ): Promise<void> => {\n const isDataChannelTokenEnabled = await this.isDataChannelTokenEnabled();\n\n return this.request({\n method: 'POST',\n url: llmSocketUrl,\n body: {deviceUrl: this.webex.internal.device.url},\n headers:\n isDataChannelTokenEnabled && datachannelToken\n ? {'Data-Channel-Auth-Token': datachannelToken}\n : {},\n })\n .then((res: {body: {webSocketUrl: string; binding: string}}) => {\n // Get or create connection data\n const sessionData = this.connections.get(sessionId) || {};\n sessionData.webSocketUrl = res.body.webSocketUrl;\n sessionData.binding = res.body.binding;\n this.connections.set(sessionId, sessionData);\n })\n .catch((error: any) => {\n this.logger.error(`Error connecting to websocket for ${sessionId}: ${error}`);\n throw error;\n });\n };\n\n /**\n * Register and connect to the websocket\n * @param {string} locusUrl\n * @param {string} datachannelUrl\n * @param {string} datachannelToken\n * @param {string} sessionId - Connection identifier\n * @returns {Promise<void>}\n */\n public registerAndConnect = (\n locusUrl: string,\n datachannelUrl: string,\n datachannelToken?: string,\n sessionId: string = LLM_DEFAULT_SESSION\n ): Promise<void> =>\n this.register(datachannelUrl, datachannelToken, sessionId).then(async () => {\n if (!locusUrl || !datachannelUrl) return undefined;\n\n // Get or create connection data\n const sessionData = this.connections.get(sessionId) || {};\n sessionData.locusUrl = locusUrl;\n sessionData.datachannelUrl = datachannelUrl;\n sessionData.datachannelToken = datachannelToken;\n this.connections.set(sessionId, sessionData);\n\n const isDataChannelTokenEnabled = await this.isDataChannelTokenEnabled();\n\n const connectUrl = isDataChannelTokenEnabled\n ? LLMChannel.buildUrlWithAwareSubchannels(sessionData.webSocketUrl, AWARE_DATA_CHANNEL)\n : sessionData.webSocketUrl;\n\n return this.connect(connectUrl, sessionId);\n });\n\n /**\n * Tells if LLM socket is connected\n * @param {string} sessionId - Connection identifier\n * @returns {boolean} connected\n */\n public isConnected = (sessionId = LLM_DEFAULT_SESSION): boolean => {\n const socket = this.getSocket(sessionId);\n\n return socket ? socket.connected : false;\n };\n\n /**\n * Tells if LLM socket is binding\n * @param {string} sessionId - Connection identifier\n * @returns {string} binding\n */\n public getBinding = (sessionId = LLM_DEFAULT_SESSION): string => {\n const sessionData = this.connections.get(sessionId);\n\n return sessionData?.binding;\n };\n\n /**\n * Get Locus URL for the connection\n * @param {string} sessionId - Connection identifier\n * @returns {string} locus Url\n */\n public getLocusUrl = (sessionId = LLM_DEFAULT_SESSION): string => {\n const sessionData = this.connections.get(sessionId);\n\n return sessionData?.locusUrl;\n };\n\n /**\n * Get data channel URL for the connection\n * @param {string} sessionId - Connection identifier\n * @returns {string} data channel Url\n */\n public getDatachannelUrl = (sessionId = LLM_DEFAULT_SESSION): string => {\n const sessionData = this.connections.get(sessionId);\n\n return sessionData?.datachannelUrl;\n };\n\n /**\n * Get data channel token for the connection\n * @param {DataChannelTokenType} dataChannelTokenType\n * @returns {string} data channel token\n */\n public getDatachannelToken = (\n dataChannelTokenType: DataChannelTokenType = DataChannelTokenType.Default\n ): string => {\n return this.datachannelTokens[dataChannelTokenType];\n };\n\n /**\n * Set data channel token for the connection\n * @param {string} datachannelToken - data channel token\n * @param {DataChannelTokenType} dataChannelTokenType\n * @returns {void}\n */\n public setDatachannelToken = (\n datachannelToken: string,\n dataChannelTokenType: DataChannelTokenType = DataChannelTokenType.Default\n ): void => {\n this.datachannelTokens[dataChannelTokenType] = datachannelToken;\n };\n\n /**\n * Resets all data‑channel tokens to their initial undefined values.\n * Used when leaving or disconnecting from a meeting.\n * @returns {void}\n */\n public resetDatachannelTokens() {\n this.datachannelTokens = {\n [DataChannelTokenType.Default]: undefined,\n [DataChannelTokenType.PracticeSession]: undefined,\n };\n }\n\n /**\n * Set the handler used to refresh the DataChannel token\n *\n * @param {function} handler - Function that returns a refreshed token\n * @returns {void}\n */\n public setRefreshHandler(\n handler: () => Promise<{\n body: {datachannelToken: string; datachannelTokenType: DataChannelTokenType};\n }>\n ) {\n this.refreshHandler = handler;\n }\n\n /**\n * Refresh the data channel token using the injected handler.\n * Logs a descriptive error if the handler is missing or fails.\n *\n * @returns {Promise<string>} The refreshed token.\n */\n public async refreshDataChannelToken() {\n if (!this.refreshHandler) {\n this.logger.warn(\n 'llm#refreshDataChannelToken --> LLM refreshHandler is not set, skipping token refresh'\n );\n\n return null;\n }\n\n try {\n const res = await this.refreshHandler();\n\n return res;\n } catch (error: any) {\n this.logger.warn(\n `llm#refreshDataChannelToken --> DataChannel token refresh failed (likely locus changed or participant left): ${\n error?.message || error\n }`\n );\n\n return null;\n }\n }\n\n /**\n * Disconnects websocket connection\n * @param {{code: number, reason: string}} options - The disconnect option object with code and reason\n * @param {string} sessionId - Connection identifier\n * @returns {Promise<void>}\n */\n public disconnectLLM = (\n options: {code: number; reason: string},\n sessionId: string = LLM_DEFAULT_SESSION\n ): Promise<void> =>\n this.disconnect(options, sessionId).then(() => {\n // Clean up sessions data\n this.connections.delete(sessionId);\n });\n\n /**\n * Disconnects all LLM websocket connections\n * @param {{code: number, reason: string}} options - The disconnect option object with code and reason\n * @returns {Promise<void>}\n */\n public disconnectAllLLM = (options?: {code: number; reason: string}): Promise<void> =>\n this.disconnectAll(options).then(() => {\n // Clean up all connection data\n this.connections.clear();\n });\n\n /**\n * Get all active LLM connections\n * @returns {Map} Map of sessionId to session data\n */\n public getAllConnections = (): Map<\n string,\n {\n webSocketUrl?: string;\n binding?: string;\n locusUrl?: string;\n datachannelUrl?: string;\n datachannelToken?: string;\n }\n > => new Map(this.connections);\n\n /**\n * Returns true if data channel token is enabled, false otherwise\n * @returns {Promise<boolean>} resolves with true if data channel token is enabled\n */\n public isDataChannelTokenEnabled(): Promise<boolean> {\n // @ts-ignore\n return this.webex.internal.feature.getFeature('developer', DATA_CHANNEL_WITH_JWT_TOKEN);\n }\n\n /**\n * Builds a WebSocket URL with the `subscriptionAwareSubchannels` query parameter.\n *\n * @param {string} baseUrl - The original WebSocket URL.\n * @param {string[]} subchannels - List of subchannels to declare as subscription-aware.\n * @returns {string} The final URL with updated query parameters.\n */\n\n public static buildUrlWithAwareSubchannels = (baseUrl: string, subchannels: string[]) => {\n const urlObj = new URL(baseUrl);\n urlObj.searchParams.set(SUBSCRIPTION_AWARE_SUBCHANNELS_PARAM, subchannels.join(','));\n\n return urlObj.toString();\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_internalPluginMercury","_interopRequireDefault","require","_constants","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","config","exports","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","_ref","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","LLM","llmSocketUrl","request","method","url","body","deviceUrl","webex","internal","device","then","res","webSocketUrl","binding","catch","error","logger","locusUrl","datachannelUrl","register","undefined","connect","connected","options","disconnect","_inherits2","_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\n private webSocketUrl?: string;\n\n private binding?: string;\n\n private locusUrl?: string;\n\n private datachannelUrl?: 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.datachannelUrl = datachannelUrl;\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 * Get data channel URL for the connection\n * @returns {string} data channel Url\n */\n public getDatachannelUrl = (): string => this.datachannelUrl;\n\n /**\n * Disconnects websocket connection\n * @param {{code: number, reason: string}} options - The disconnect option object with code and reason\n * @returns {Promise<void>}\n */\n public disconnectLLM = (options: object): Promise<void> =>\n this.disconnect(options).then(() => {\n this.locusUrl = undefined;\n this.datachannelUrl = undefined;\n this.binding = undefined;\n this.webSocketUrl = undefined;\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/llm.types.js
CHANGED
|
@@ -4,10 +4,4 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
|
|
|
4
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.DataChannelTokenType = void 0;
|
|
8
|
-
var DataChannelTokenType = exports.DataChannelTokenType = /*#__PURE__*/function (DataChannelTokenType) {
|
|
9
|
-
DataChannelTokenType["Default"] = "llm-default-session";
|
|
10
|
-
DataChannelTokenType["PracticeSession"] = "llm-practice-session";
|
|
11
|
-
return DataChannelTokenType;
|
|
12
|
-
}({}); // eslint-disable-next-line import/prefer-default-export
|
|
13
7
|
//# sourceMappingURL=llm.types.js.map
|
package/dist/llm.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
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: (options: {code: number; reason: string}) => Promise<void>;\n}\n// eslint-disable-next-line import/prefer-default-export\nexport type {ILLMChannel};\n"],"mappings":"","ignoreList":[]}
|