@webex/internal-plugin-voicea 3.0.0-beta.4 → 3.0.0-beta.400
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 +24 -21
- package/dist/constants.js +13 -3
- package/dist/constants.js.map +1 -1
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/utils.js +0 -4
- package/dist/utils.js.map +1 -1
- package/dist/voicea.js +136 -148
- package/dist/voicea.js.map +1 -1
- package/dist/voicea.types.js +0 -1
- package/dist/voicea.types.js.map +1 -1
- package/package.json +8 -9
- package/src/constants.ts +15 -3
- package/src/index.ts +1 -0
- package/src/utils.ts +1 -2
- package/src/voicea.ts +149 -50
- package/src/voicea.types.ts +3 -3
- package/test/unit/spec/voicea.js +156 -44
package/README.md
CHANGED
|
@@ -22,61 +22,64 @@ npm install --save @webex/internal-plugin-voicea
|
|
|
22
22
|
## Usage
|
|
23
23
|
|
|
24
24
|
```js
|
|
25
|
-
|
|
26
25
|
import '@webex/internal-plugin-voicea';
|
|
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
|
// internally uses LLM plugin
|
|
34
33
|
webex.internal.voicea.registerAndConnect(locusUrl, datachannelUrl);
|
|
35
|
-
|
|
36
34
|
```
|
|
35
|
+
|
|
37
36
|
Toggle Transcribing
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
- Enable/Disable Transcribing in a meeting
|
|
39
|
+
- Automatically activates Closed Captions(CC) if enabled.
|
|
40
|
+
|
|
43
41
|
```js
|
|
44
42
|
await webex.internal.voicea.toggleTranscribing(true);
|
|
45
43
|
await webex.internal.voicea.toggleTranscribing(false);
|
|
46
44
|
```
|
|
47
45
|
|
|
48
|
-
|
|
49
46
|
Toggle Captions
|
|
50
47
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
- Enable Captioning in a meeting
|
|
49
|
+
- Closed Caption cannot be turned off in a meeting
|
|
50
|
+
- Triggers voicea:captionOn
|
|
51
|
+
|
|
55
52
|
```js
|
|
56
53
|
await webex.internal.voicea.toggleTranscribing(true);
|
|
57
54
|
await webex.internal.voicea.toggleTranscribing(false);
|
|
58
55
|
```
|
|
59
56
|
|
|
60
57
|
Set Spoken Language
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
|
|
59
|
+
- Host can set the spoken language of the meeting
|
|
60
|
+
- Triggers voicea:spokenLanguageSet
|
|
61
|
+
|
|
63
62
|
```js
|
|
64
63
|
webex.internal.voicea.setSpokenLanguage('en');
|
|
65
64
|
```
|
|
66
65
|
|
|
67
66
|
Set Caption Language
|
|
68
|
-
|
|
67
|
+
|
|
68
|
+
- Anyone can request caption languages for the meeting
|
|
69
|
+
|
|
69
70
|
```js
|
|
70
71
|
webex.internal.voicea.requestLanguage('en');
|
|
71
72
|
```
|
|
72
73
|
|
|
73
74
|
Other Triggers:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
|
|
76
|
+
- voicea:announcement - Triggered when voicea has
|
|
77
|
+
joined the meeting
|
|
78
|
+
- voicea:captionLanguageUpdate - Triggered when a response for requesting caption language is recieved.
|
|
79
|
+
- voicea:newCaption - Returns a caption sent by voicea
|
|
80
|
+
- voicea:wxa - Triggers whenever WXA is listening or finished listening, along with any action taken
|
|
81
|
+
- voicea:highlightCreated - Returns the created highlight
|
|
82
|
+
|
|
80
83
|
## Maintainers
|
|
81
84
|
|
|
82
85
|
This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
|
package/dist/constants.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
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
|
-
exports.VOICEA_RELAY_TYPES = exports.VOICEA = exports.TRANSCRIPTION_TYPE = exports.EVENT_TRIGGERS = void 0;
|
|
7
|
+
exports.VOICEA_RELAY_TYPES = exports.VOICEA = exports.TURN_ON_CAPTION_STATUS = exports.TRANSCRIPTION_TYPE = exports.EVENT_TRIGGERS = exports.ANNOUNCE_STATUS = void 0;
|
|
10
8
|
var EVENT_TRIGGERS = {
|
|
11
9
|
VOICEA_ANNOUNCEMENT: 'voicea:announcement',
|
|
12
10
|
CAPTION_LANGUAGE_UPDATE: 'voicea:captionLanguageUpdate',
|
|
@@ -39,4 +37,16 @@ var TRANSCRIPTION_TYPE = {
|
|
|
39
37
|
exports.TRANSCRIPTION_TYPE = TRANSCRIPTION_TYPE;
|
|
40
38
|
var VOICEA = 'voicea';
|
|
41
39
|
exports.VOICEA = VOICEA;
|
|
40
|
+
var ANNOUNCE_STATUS = {
|
|
41
|
+
IDLE: 'idle',
|
|
42
|
+
JOINED: 'joined',
|
|
43
|
+
JOINING: 'joining'
|
|
44
|
+
};
|
|
45
|
+
exports.ANNOUNCE_STATUS = ANNOUNCE_STATUS;
|
|
46
|
+
var TURN_ON_CAPTION_STATUS = {
|
|
47
|
+
IDLE: 'idle',
|
|
48
|
+
ENABLED: 'enabled',
|
|
49
|
+
SENDING: 'sending'
|
|
50
|
+
};
|
|
51
|
+
exports.TURN_ON_CAPTION_STATUS = TURN_ON_CAPTION_STATUS;
|
|
42
52
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EVENT_TRIGGERS","VOICEA_ANNOUNCEMENT","CAPTION_LANGUAGE_UPDATE","SPOKEN_LANGUAGE_UPDATE","CAPTIONS_TURNED_ON","TRANSCRIBING_ON","TRANSCRIBING_OFF","NEW_CAPTION","EVA_COMMAND","HIGHLIGHT_CREATED","VOICEA_RELAY_TYPES","ANNOUNCEMENT","CLIENT_ANNOUNCEMENT","TRANSLATION_REQUEST","TRANSLATION_RESPONSE","TRANSCRIPTION","TRANSCRIPTION_TYPE","UNKNOWN","EVA_WAKE","EVA_THANKS","EVA_CANCEL","TRANSCRIPT_INTERIM_RESULTS","TRANSCRIPT_FINAL_RESULT","VOICEA"],"sources":["constants.ts"],"sourcesContent":["export const EVENT_TRIGGERS = {\n VOICEA_ANNOUNCEMENT: 'voicea:announcement',\n CAPTION_LANGUAGE_UPDATE: 'voicea:captionLanguageUpdate',\n SPOKEN_LANGUAGE_UPDATE: 'voicea:spokenLanguageUpdate',\n CAPTIONS_TURNED_ON: 'voicea:captionOn',\n TRANSCRIBING_ON: 'voicea:transcribingOn',\n TRANSCRIBING_OFF: 'voicea:transcribingOff',\n\n NEW_CAPTION: 'voicea:newCaption',\n EVA_COMMAND: 'voicea:wxa',\n HIGHLIGHT_CREATED: 'voicea:highlightCreated'
|
|
1
|
+
{"version":3,"names":["EVENT_TRIGGERS","VOICEA_ANNOUNCEMENT","CAPTION_LANGUAGE_UPDATE","SPOKEN_LANGUAGE_UPDATE","CAPTIONS_TURNED_ON","TRANSCRIBING_ON","TRANSCRIBING_OFF","NEW_CAPTION","EVA_COMMAND","HIGHLIGHT_CREATED","VOICEA_RELAY_TYPES","ANNOUNCEMENT","CLIENT_ANNOUNCEMENT","TRANSLATION_REQUEST","TRANSLATION_RESPONSE","TRANSCRIPTION","TRANSCRIPTION_TYPE","UNKNOWN","EVA_WAKE","EVA_THANKS","EVA_CANCEL","TRANSCRIPT_INTERIM_RESULTS","TRANSCRIPT_FINAL_RESULT","VOICEA","ANNOUNCE_STATUS","IDLE","JOINED","JOINING","TURN_ON_CAPTION_STATUS","ENABLED","SENDING"],"sources":["constants.ts"],"sourcesContent":["export const EVENT_TRIGGERS = {\n VOICEA_ANNOUNCEMENT: 'voicea:announcement',\n CAPTION_LANGUAGE_UPDATE: 'voicea:captionLanguageUpdate',\n SPOKEN_LANGUAGE_UPDATE: 'voicea:spokenLanguageUpdate',\n CAPTIONS_TURNED_ON: 'voicea:captionOn',\n TRANSCRIBING_ON: 'voicea:transcribingOn',\n TRANSCRIBING_OFF: 'voicea:transcribingOff',\n\n NEW_CAPTION: 'voicea:newCaption',\n EVA_COMMAND: 'voicea:wxa',\n HIGHLIGHT_CREATED: 'voicea:highlightCreated',\n};\n\nexport const VOICEA_RELAY_TYPES = {\n ANNOUNCEMENT: 'voicea.annc',\n CLIENT_ANNOUNCEMENT: 'client.annc',\n TRANSLATION_REQUEST: 'voicea.transl.req',\n TRANSLATION_RESPONSE: 'voicea.transl.rsp',\n TRANSCRIPTION: 'voicea.transcription',\n};\n\nexport const TRANSCRIPTION_TYPE = {\n UNKNOWN: 'unknown',\n EVA_WAKE: 'eva_wake',\n EVA_THANKS: 'eva_thanks',\n EVA_CANCEL: 'eva_cancel',\n HIGHLIGHT_CREATED: 'highlight_created',\n TRANSCRIPT_INTERIM_RESULTS: 'transcript_interim_results',\n TRANSCRIPT_FINAL_RESULT: 'transcript_final_result',\n};\n\nexport const VOICEA = 'voicea';\n\nexport const ANNOUNCE_STATUS = {\n IDLE: 'idle',\n JOINED: 'joined',\n JOINING: 'joining',\n};\n\nexport const TURN_ON_CAPTION_STATUS = {\n IDLE: 'idle',\n ENABLED: 'enabled',\n SENDING: 'sending',\n};\n"],"mappings":";;;;;;;AAAO,IAAMA,cAAc,GAAG;EAC5BC,mBAAmB,EAAE,qBAAqB;EAC1CC,uBAAuB,EAAE,8BAA8B;EACvDC,sBAAsB,EAAE,6BAA6B;EACrDC,kBAAkB,EAAE,kBAAkB;EACtCC,eAAe,EAAE,uBAAuB;EACxCC,gBAAgB,EAAE,wBAAwB;EAE1CC,WAAW,EAAE,mBAAmB;EAChCC,WAAW,EAAE,YAAY;EACzBC,iBAAiB,EAAE;AACrB,CAAC;AAAC;AAEK,IAAMC,kBAAkB,GAAG;EAChCC,YAAY,EAAE,aAAa;EAC3BC,mBAAmB,EAAE,aAAa;EAClCC,mBAAmB,EAAE,mBAAmB;EACxCC,oBAAoB,EAAE,mBAAmB;EACzCC,aAAa,EAAE;AACjB,CAAC;AAAC;AAEK,IAAMC,kBAAkB,GAAG;EAChCC,OAAO,EAAE,SAAS;EAClBC,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBC,UAAU,EAAE,YAAY;EACxBX,iBAAiB,EAAE,mBAAmB;EACtCY,0BAA0B,EAAE,4BAA4B;EACxDC,uBAAuB,EAAE;AAC3B,CAAC;AAAC;AAEK,IAAMC,MAAM,GAAG,QAAQ;AAAC;AAExB,IAAMC,eAAe,GAAG;EAC7BC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC;AAAC;AAEK,IAAMC,sBAAsB,GAAG;EACpCH,IAAI,EAAE,MAAM;EACZI,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACX,CAAC;AAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,35 @@
|
|
|
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
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
12
|
-
|
|
13
8
|
_Object$defineProperty(exports, "__esModule", {
|
|
14
9
|
value: true
|
|
15
10
|
});
|
|
16
|
-
|
|
11
|
+
_Object$defineProperty(exports, "EVENT_TRIGGERS", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return _constants.EVENT_TRIGGERS;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
_Object$defineProperty(exports, "TURN_ON_CAPTION_STATUS", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function get() {
|
|
20
|
+
return _constants.TURN_ON_CAPTION_STATUS;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
17
23
|
_Object$defineProperty(exports, "default", {
|
|
18
24
|
enumerable: true,
|
|
19
25
|
get: function get() {
|
|
20
26
|
return _voicea.default;
|
|
21
27
|
}
|
|
22
28
|
});
|
|
23
|
-
|
|
24
29
|
var WebexCore = _interopRequireWildcard(require("@webex/webex-core"));
|
|
25
|
-
|
|
26
30
|
var _voicea = _interopRequireDefault(require("./voicea"));
|
|
27
|
-
|
|
31
|
+
var _constants = require("./constants");
|
|
28
32
|
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); }
|
|
29
|
-
|
|
30
33
|
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; }
|
|
31
|
-
|
|
32
34
|
WebexCore.registerInternalPlugin('voicea', _voicea.default, {});
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebexCore","registerInternalPlugin","VoiceaChannel"],"sources":["index.ts"],"sourcesContent":["import * as WebexCore from '@webex/webex-core';\n\nimport VoiceaChannel from './voicea';\n\nWebexCore.registerInternalPlugin('voicea', VoiceaChannel, {});\n\nexport {default} from './voicea';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["WebexCore","registerInternalPlugin","VoiceaChannel"],"sources":["index.ts"],"sourcesContent":["import * as WebexCore from '@webex/webex-core';\n\nimport VoiceaChannel from './voicea';\n\nWebexCore.registerInternalPlugin('voicea', VoiceaChannel, {});\n\nexport {default} from './voicea';\nexport {EVENT_TRIGGERS, TURN_ON_CAPTION_STATUS} from './constants';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;AAKA;AAAmE;AAAA;AAHnEA,SAAS,CAACC,sBAAsB,CAAC,QAAQ,EAAEC,eAAa,EAAE,CAAC,CAAC,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
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.millisToMinutesAndSeconds = void 0;
|
|
10
|
-
|
|
11
8
|
// eslint-disable-next-line import/prefer-default-export
|
|
12
9
|
var millisToMinutesAndSeconds = function millisToMinutesAndSeconds(millis) {
|
|
13
10
|
var minutes = Math.floor(millis / 60000);
|
|
14
11
|
var seconds = (millis % 60000 / 1000).toFixed(0);
|
|
15
12
|
return "".concat(minutes, ":").concat(+seconds < 10 ? '0' : '').concat(seconds);
|
|
16
13
|
};
|
|
17
|
-
|
|
18
14
|
exports.millisToMinutesAndSeconds = millisToMinutesAndSeconds;
|
|
19
15
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["millisToMinutesAndSeconds","millis","minutes","Math","floor","seconds","toFixed"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const millisToMinutesAndSeconds = (millis: number) => {\n const minutes = Math.floor(millis / 60000);\n const seconds = ((millis % 60000) / 1000).toFixed(0);\n\n return `${minutes}:${+
|
|
1
|
+
{"version":3,"names":["millisToMinutesAndSeconds","millis","minutes","Math","floor","seconds","toFixed"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport const millisToMinutesAndSeconds = (millis: number) => {\n const minutes = Math.floor(millis / 60000);\n const seconds = ((millis % 60000) / 1000).toFixed(0);\n\n return `${minutes}:${+seconds < 10 ? '0' : ''}${seconds}`;\n};\n"],"mappings":";;;;;;;AAAA;AACO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyB,CAAIC,MAAc,EAAK;EAC3D,IAAMC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,GAAG,KAAK,CAAC;EAC1C,IAAMI,OAAO,GAAG,CAAEJ,MAAM,GAAG,KAAK,GAAI,IAAI,EAAEK,OAAO,CAAC,CAAC,CAAC;EAEpD,iBAAUJ,OAAO,cAAI,CAACG,OAAO,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,SAAGA,OAAO;AACzD,CAAC;AAAC"}
|