@webex/plugin-meetings 3.0.0-beta.255 → 3.0.0-beta.256

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.
@@ -25,6 +25,8 @@ var BEHAVIORAL_METRICS = {
25
25
  GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',
26
26
  GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',
27
27
  JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',
28
+ LLM_CONNECTION_AFTER_JOIN_FAILURE: 'js_sdk_llm_connection_after_join_failure',
29
+ RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: 'js_sdk_receive_transcription_after_join_failure',
28
30
  DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',
29
31
  MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',
30
32
  MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',
@@ -1 +1 @@
1
- {"version":3,"names":["BEHAVIORAL_METRICS","MEETINGS_REGISTRATION_FAILED","MEETINGS_REGISTRATION_SUCCESS","MERCURY_CONNECTION_FAILURE","MERCURY_CONNECTION_RESTORED","JOIN_SUCCESS","JOIN_FAILURE","ADD_MEDIA_SUCCESS","ADD_MEDIA_FAILURE","ROAP_MERCURY_EVENT_RECEIVED","CONNECTION_SUCCESS","CONNECTION_FAILURE","MEETING_LEAVE_FAILURE","MEETING_END_ALL_FAILURE","MEETING_END_ALL_INITIATED","GET_USER_MEDIA_FAILURE","GET_DISPLAY_MEDIA_FAILURE","JOIN_WITH_MEDIA_FAILURE","DISCONNECT_DUE_TO_INACTIVITY","MEETING_MEDIA_INACTIVE","MEETING_RECONNECT_FAILURE","MEETING_MAX_REJOIN_FAILURE","MEETING_SHARE_FAILURE","MEETING_START_WHITEBOARD_SHARE_FAILURE","MEETING_STOP_WHITEBOARD_SHARE_FAILURE","MUTE_AUDIO_FAILURE","MUTE_VIDEO_FAILURE","SET_MEETING_QUALITY_FAILURE","STOP_FLOOR_REQUEST_FAILURE","ADD_DIAL_IN_FAILURE","ADD_DIAL_OUT_FAILURE","UPDATE_MEDIA_FAILURE","UNMUTE_AUDIO_FAILURE","UNMUTE_VIDEO_FAILURE","ROAP_ANSWER_FAILURE","ROAP_GLARE_CONDITION","PEERCONNECTION_FAILURE","INVALID_ICE_CANDIDATE","UPLOAD_LOGS_FAILURE","UPLOAD_LOGS_SUCCESS","RECEIVE_TRANSCRIPTION_FAILURE","FETCH_MEETING_INFO_V1_SUCCESS","FETCH_MEETING_INFO_V1_FAILURE","ADHOC_MEETING_SUCCESS","ADHOC_MEETING_FAILURE","VERIFY_PASSWORD_SUCCESS","VERIFY_PASSWORD_ERROR","VERIFY_CAPTCHA_ERROR","MOVE_TO_SUCCESS","MOVE_TO_FAILURE","MOVE_FROM_SUCCESS","MOVE_FROM_FAILURE","TURN_DISCOVERY_FAILURE","MEETING_INFO_POLICY_ERROR","LOCUS_DELTA_SYNC_FAILED","LOCUS_DELTA_OUT_OF_ORDER","PERMISSION_TOKEN_REFRESH","PERMISSION_TOKEN_REFRESH_ERROR"],"sources":["constants.ts"],"sourcesContent":["// Metrics constants ----------------------------------------------------------\n\nconst BEHAVIORAL_METRICS = {\n MEETINGS_REGISTRATION_FAILED: 'js_sdk_meetings_registration_failed',\n MEETINGS_REGISTRATION_SUCCESS: 'js_sdk_meetings_registration_success',\n MERCURY_CONNECTION_FAILURE: 'js_sdk_mercury_connection_failure',\n MERCURY_CONNECTION_RESTORED: 'js_sdk_mercury_connection_restored',\n JOIN_SUCCESS: 'js_sdk_join_success',\n JOIN_FAILURE: 'js_sdk_join_failures',\n ADD_MEDIA_SUCCESS: 'js_sdk_add_media_success',\n ADD_MEDIA_FAILURE: 'js_sdk_add_media_failures',\n ROAP_MERCURY_EVENT_RECEIVED: 'js_sdk_roap_mercury_received',\n CONNECTION_SUCCESS: 'js_sdk_connection_success',\n CONNECTION_FAILURE: 'js_sdk_connection_failures',\n MEETING_LEAVE_FAILURE: 'js_sdk_meeting_leave_failure',\n MEETING_END_ALL_FAILURE: 'js_sdk_meeting_end_for_all_failure',\n MEETING_END_ALL_INITIATED: 'js_sdk_meeting_end_for_all_initiated',\n GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',\n GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',\n JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',\n\n DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',\n MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',\n MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',\n MEETING_MAX_REJOIN_FAILURE: 'js_sdk_meeting_max_rejoin_failure',\n MEETING_SHARE_FAILURE: 'js_sdk_meeting_share_failures',\n MEETING_START_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_start_whiteboard_share_failures',\n MEETING_STOP_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_stop_whiteboard_share_failures',\n MUTE_AUDIO_FAILURE: 'js_sdk_mute_audio_failures',\n MUTE_VIDEO_FAILURE: 'js_sdk_mute_video_failures',\n SET_MEETING_QUALITY_FAILURE: 'js_sdk_set_meeting_quality_failures',\n STOP_FLOOR_REQUEST_FAILURE: 'js_sdk_stop_floor_request_failures',\n ADD_DIAL_IN_FAILURE: 'js_sdk_add_dial_in_failure',\n ADD_DIAL_OUT_FAILURE: 'js_sdk_add_dial_out_failure',\n UPDATE_MEDIA_FAILURE: 'js_sdk_update_media_failures',\n UNMUTE_AUDIO_FAILURE: 'js_sdk_unmute_audio_failures',\n UNMUTE_VIDEO_FAILURE: 'js_sdk_unmute_video_failures',\n ROAP_ANSWER_FAILURE: 'js_sdk_roap_answer_failures',\n ROAP_GLARE_CONDITION: 'js_sdk_roap_glar_condition',\n PEERCONNECTION_FAILURE: 'js_sdk_peerConnection_failures',\n INVALID_ICE_CANDIDATE: 'js_sdk_invalid_ice_candidate',\n UPLOAD_LOGS_FAILURE: 'js_sdk_upload_logs_failure',\n UPLOAD_LOGS_SUCCESS: 'js_sdk_upload_logs_success',\n RECEIVE_TRANSCRIPTION_FAILURE: 'js_sdk_receive_transcription_failure',\n FETCH_MEETING_INFO_V1_SUCCESS: 'js_sdk_fetch_meeting_info_v1_success',\n FETCH_MEETING_INFO_V1_FAILURE: 'js_sdk_fetch_meeting_info_v1_failure',\n ADHOC_MEETING_SUCCESS: 'js_sdk_adhoc_meeting_success',\n ADHOC_MEETING_FAILURE: 'js_sdk_adhoc_meeting_failure',\n VERIFY_PASSWORD_SUCCESS: 'js_sdk_verify_password_success',\n VERIFY_PASSWORD_ERROR: 'js_sdk_verify_password_error',\n VERIFY_CAPTCHA_ERROR: 'js_sdk_verify_captcha_error',\n MOVE_TO_SUCCESS: 'js_sdk_move_to_success',\n MOVE_TO_FAILURE: 'js_sdk_move_to_failure',\n MOVE_FROM_SUCCESS: 'js_sdk_move_from_success',\n MOVE_FROM_FAILURE: 'js_sdk_move_from_failure',\n TURN_DISCOVERY_FAILURE: 'js_sdk_turn_discovery_failure',\n MEETING_INFO_POLICY_ERROR: 'js_sdk_meeting_info_policy_error',\n LOCUS_DELTA_SYNC_FAILED: 'js_sdk_locus_delta_sync_failed',\n LOCUS_DELTA_OUT_OF_ORDER: 'js_sdk_locus_delta_ooo',\n PERMISSION_TOKEN_REFRESH: 'js_sdk_permission_token_refresh',\n PERMISSION_TOKEN_REFRESH_ERROR: 'js_sdk_permission_token_refresh_error',\n};\n\nexport {BEHAVIORAL_METRICS as default};\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,kBAAkB,GAAG;EACzBC,4BAA4B,EAAE,qCAAqC;EACnEC,6BAA6B,EAAE,sCAAsC;EACrEC,0BAA0B,EAAE,mCAAmC;EAC/DC,2BAA2B,EAAE,oCAAoC;EACjEC,YAAY,EAAE,qBAAqB;EACnCC,YAAY,EAAE,sBAAsB;EACpCC,iBAAiB,EAAE,0BAA0B;EAC7CC,iBAAiB,EAAE,2BAA2B;EAC9CC,2BAA2B,EAAE,8BAA8B;EAC3DC,kBAAkB,EAAE,2BAA2B;EAC/CC,kBAAkB,EAAE,4BAA4B;EAChDC,qBAAqB,EAAE,8BAA8B;EACrDC,uBAAuB,EAAE,oCAAoC;EAC7DC,yBAAyB,EAAE,sCAAsC;EACjEC,sBAAsB,EAAE,gCAAgC;EACxDC,yBAAyB,EAAE,mCAAmC;EAC9DC,uBAAuB,EAAE,iCAAiC;EAE1DC,4BAA4B,EAAE,qCAAqC;EACnEC,sBAAsB,EAAE,+BAA+B;EACvDC,yBAAyB,EAAE,mCAAmC;EAC9DC,0BAA0B,EAAE,mCAAmC;EAC/DC,qBAAqB,EAAE,+BAA+B;EACtDC,sCAAsC,EAAE,gDAAgD;EACxFC,qCAAqC,EAAE,+CAA+C;EACtFC,kBAAkB,EAAE,4BAA4B;EAChDC,kBAAkB,EAAE,4BAA4B;EAChDC,2BAA2B,EAAE,qCAAqC;EAClEC,0BAA0B,EAAE,oCAAoC;EAChEC,mBAAmB,EAAE,4BAA4B;EACjDC,oBAAoB,EAAE,6BAA6B;EACnDC,oBAAoB,EAAE,8BAA8B;EACpDC,oBAAoB,EAAE,8BAA8B;EACpDC,oBAAoB,EAAE,8BAA8B;EACpDC,mBAAmB,EAAE,6BAA6B;EAClDC,oBAAoB,EAAE,4BAA4B;EAClDC,sBAAsB,EAAE,gCAAgC;EACxDC,qBAAqB,EAAE,8BAA8B;EACrDC,mBAAmB,EAAE,4BAA4B;EACjDC,mBAAmB,EAAE,4BAA4B;EACjDC,6BAA6B,EAAE,sCAAsC;EACrEC,6BAA6B,EAAE,sCAAsC;EACrEC,6BAA6B,EAAE,sCAAsC;EACrEC,qBAAqB,EAAE,8BAA8B;EACrDC,qBAAqB,EAAE,8BAA8B;EACrDC,uBAAuB,EAAE,gCAAgC;EACzDC,qBAAqB,EAAE,8BAA8B;EACrDC,oBAAoB,EAAE,6BAA6B;EACnDC,eAAe,EAAE,wBAAwB;EACzCC,eAAe,EAAE,wBAAwB;EACzCC,iBAAiB,EAAE,0BAA0B;EAC7CC,iBAAiB,EAAE,0BAA0B;EAC7CC,sBAAsB,EAAE,+BAA+B;EACvDC,yBAAyB,EAAE,kCAAkC;EAC7DC,uBAAuB,EAAE,gCAAgC;EACzDC,wBAAwB,EAAE,wBAAwB;EAClDC,wBAAwB,EAAE,iCAAiC;EAC3DC,8BAA8B,EAAE;AAClC,CAAC;AAAC"}
1
+ {"version":3,"names":["BEHAVIORAL_METRICS","MEETINGS_REGISTRATION_FAILED","MEETINGS_REGISTRATION_SUCCESS","MERCURY_CONNECTION_FAILURE","MERCURY_CONNECTION_RESTORED","JOIN_SUCCESS","JOIN_FAILURE","ADD_MEDIA_SUCCESS","ADD_MEDIA_FAILURE","ROAP_MERCURY_EVENT_RECEIVED","CONNECTION_SUCCESS","CONNECTION_FAILURE","MEETING_LEAVE_FAILURE","MEETING_END_ALL_FAILURE","MEETING_END_ALL_INITIATED","GET_USER_MEDIA_FAILURE","GET_DISPLAY_MEDIA_FAILURE","JOIN_WITH_MEDIA_FAILURE","LLM_CONNECTION_AFTER_JOIN_FAILURE","RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE","DISCONNECT_DUE_TO_INACTIVITY","MEETING_MEDIA_INACTIVE","MEETING_RECONNECT_FAILURE","MEETING_MAX_REJOIN_FAILURE","MEETING_SHARE_FAILURE","MEETING_START_WHITEBOARD_SHARE_FAILURE","MEETING_STOP_WHITEBOARD_SHARE_FAILURE","MUTE_AUDIO_FAILURE","MUTE_VIDEO_FAILURE","SET_MEETING_QUALITY_FAILURE","STOP_FLOOR_REQUEST_FAILURE","ADD_DIAL_IN_FAILURE","ADD_DIAL_OUT_FAILURE","UPDATE_MEDIA_FAILURE","UNMUTE_AUDIO_FAILURE","UNMUTE_VIDEO_FAILURE","ROAP_ANSWER_FAILURE","ROAP_GLARE_CONDITION","PEERCONNECTION_FAILURE","INVALID_ICE_CANDIDATE","UPLOAD_LOGS_FAILURE","UPLOAD_LOGS_SUCCESS","RECEIVE_TRANSCRIPTION_FAILURE","FETCH_MEETING_INFO_V1_SUCCESS","FETCH_MEETING_INFO_V1_FAILURE","ADHOC_MEETING_SUCCESS","ADHOC_MEETING_FAILURE","VERIFY_PASSWORD_SUCCESS","VERIFY_PASSWORD_ERROR","VERIFY_CAPTCHA_ERROR","MOVE_TO_SUCCESS","MOVE_TO_FAILURE","MOVE_FROM_SUCCESS","MOVE_FROM_FAILURE","TURN_DISCOVERY_FAILURE","MEETING_INFO_POLICY_ERROR","LOCUS_DELTA_SYNC_FAILED","LOCUS_DELTA_OUT_OF_ORDER","PERMISSION_TOKEN_REFRESH","PERMISSION_TOKEN_REFRESH_ERROR"],"sources":["constants.ts"],"sourcesContent":["// Metrics constants ----------------------------------------------------------\n\nconst BEHAVIORAL_METRICS = {\n MEETINGS_REGISTRATION_FAILED: 'js_sdk_meetings_registration_failed',\n MEETINGS_REGISTRATION_SUCCESS: 'js_sdk_meetings_registration_success',\n MERCURY_CONNECTION_FAILURE: 'js_sdk_mercury_connection_failure',\n MERCURY_CONNECTION_RESTORED: 'js_sdk_mercury_connection_restored',\n JOIN_SUCCESS: 'js_sdk_join_success',\n JOIN_FAILURE: 'js_sdk_join_failures',\n ADD_MEDIA_SUCCESS: 'js_sdk_add_media_success',\n ADD_MEDIA_FAILURE: 'js_sdk_add_media_failures',\n ROAP_MERCURY_EVENT_RECEIVED: 'js_sdk_roap_mercury_received',\n CONNECTION_SUCCESS: 'js_sdk_connection_success',\n CONNECTION_FAILURE: 'js_sdk_connection_failures',\n MEETING_LEAVE_FAILURE: 'js_sdk_meeting_leave_failure',\n MEETING_END_ALL_FAILURE: 'js_sdk_meeting_end_for_all_failure',\n MEETING_END_ALL_INITIATED: 'js_sdk_meeting_end_for_all_initiated',\n GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',\n GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',\n JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',\n LLM_CONNECTION_AFTER_JOIN_FAILURE: 'js_sdk_llm_connection_after_join_failure',\n RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: 'js_sdk_receive_transcription_after_join_failure',\n\n DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',\n MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',\n MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',\n MEETING_MAX_REJOIN_FAILURE: 'js_sdk_meeting_max_rejoin_failure',\n MEETING_SHARE_FAILURE: 'js_sdk_meeting_share_failures',\n MEETING_START_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_start_whiteboard_share_failures',\n MEETING_STOP_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_stop_whiteboard_share_failures',\n MUTE_AUDIO_FAILURE: 'js_sdk_mute_audio_failures',\n MUTE_VIDEO_FAILURE: 'js_sdk_mute_video_failures',\n SET_MEETING_QUALITY_FAILURE: 'js_sdk_set_meeting_quality_failures',\n STOP_FLOOR_REQUEST_FAILURE: 'js_sdk_stop_floor_request_failures',\n ADD_DIAL_IN_FAILURE: 'js_sdk_add_dial_in_failure',\n ADD_DIAL_OUT_FAILURE: 'js_sdk_add_dial_out_failure',\n UPDATE_MEDIA_FAILURE: 'js_sdk_update_media_failures',\n UNMUTE_AUDIO_FAILURE: 'js_sdk_unmute_audio_failures',\n UNMUTE_VIDEO_FAILURE: 'js_sdk_unmute_video_failures',\n ROAP_ANSWER_FAILURE: 'js_sdk_roap_answer_failures',\n ROAP_GLARE_CONDITION: 'js_sdk_roap_glar_condition',\n PEERCONNECTION_FAILURE: 'js_sdk_peerConnection_failures',\n INVALID_ICE_CANDIDATE: 'js_sdk_invalid_ice_candidate',\n UPLOAD_LOGS_FAILURE: 'js_sdk_upload_logs_failure',\n UPLOAD_LOGS_SUCCESS: 'js_sdk_upload_logs_success',\n RECEIVE_TRANSCRIPTION_FAILURE: 'js_sdk_receive_transcription_failure',\n FETCH_MEETING_INFO_V1_SUCCESS: 'js_sdk_fetch_meeting_info_v1_success',\n FETCH_MEETING_INFO_V1_FAILURE: 'js_sdk_fetch_meeting_info_v1_failure',\n ADHOC_MEETING_SUCCESS: 'js_sdk_adhoc_meeting_success',\n ADHOC_MEETING_FAILURE: 'js_sdk_adhoc_meeting_failure',\n VERIFY_PASSWORD_SUCCESS: 'js_sdk_verify_password_success',\n VERIFY_PASSWORD_ERROR: 'js_sdk_verify_password_error',\n VERIFY_CAPTCHA_ERROR: 'js_sdk_verify_captcha_error',\n MOVE_TO_SUCCESS: 'js_sdk_move_to_success',\n MOVE_TO_FAILURE: 'js_sdk_move_to_failure',\n MOVE_FROM_SUCCESS: 'js_sdk_move_from_success',\n MOVE_FROM_FAILURE: 'js_sdk_move_from_failure',\n TURN_DISCOVERY_FAILURE: 'js_sdk_turn_discovery_failure',\n MEETING_INFO_POLICY_ERROR: 'js_sdk_meeting_info_policy_error',\n LOCUS_DELTA_SYNC_FAILED: 'js_sdk_locus_delta_sync_failed',\n LOCUS_DELTA_OUT_OF_ORDER: 'js_sdk_locus_delta_ooo',\n PERMISSION_TOKEN_REFRESH: 'js_sdk_permission_token_refresh',\n PERMISSION_TOKEN_REFRESH_ERROR: 'js_sdk_permission_token_refresh_error',\n};\n\nexport {BEHAVIORAL_METRICS as default};\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,kBAAkB,GAAG;EACzBC,4BAA4B,EAAE,qCAAqC;EACnEC,6BAA6B,EAAE,sCAAsC;EACrEC,0BAA0B,EAAE,mCAAmC;EAC/DC,2BAA2B,EAAE,oCAAoC;EACjEC,YAAY,EAAE,qBAAqB;EACnCC,YAAY,EAAE,sBAAsB;EACpCC,iBAAiB,EAAE,0BAA0B;EAC7CC,iBAAiB,EAAE,2BAA2B;EAC9CC,2BAA2B,EAAE,8BAA8B;EAC3DC,kBAAkB,EAAE,2BAA2B;EAC/CC,kBAAkB,EAAE,4BAA4B;EAChDC,qBAAqB,EAAE,8BAA8B;EACrDC,uBAAuB,EAAE,oCAAoC;EAC7DC,yBAAyB,EAAE,sCAAsC;EACjEC,sBAAsB,EAAE,gCAAgC;EACxDC,yBAAyB,EAAE,mCAAmC;EAC9DC,uBAAuB,EAAE,iCAAiC;EAC1DC,iCAAiC,EAAE,0CAA0C;EAC7EC,wCAAwC,EAAE,iDAAiD;EAE3FC,4BAA4B,EAAE,qCAAqC;EACnEC,sBAAsB,EAAE,+BAA+B;EACvDC,yBAAyB,EAAE,mCAAmC;EAC9DC,0BAA0B,EAAE,mCAAmC;EAC/DC,qBAAqB,EAAE,+BAA+B;EACtDC,sCAAsC,EAAE,gDAAgD;EACxFC,qCAAqC,EAAE,+CAA+C;EACtFC,kBAAkB,EAAE,4BAA4B;EAChDC,kBAAkB,EAAE,4BAA4B;EAChDC,2BAA2B,EAAE,qCAAqC;EAClEC,0BAA0B,EAAE,oCAAoC;EAChEC,mBAAmB,EAAE,4BAA4B;EACjDC,oBAAoB,EAAE,6BAA6B;EACnDC,oBAAoB,EAAE,8BAA8B;EACpDC,oBAAoB,EAAE,8BAA8B;EACpDC,oBAAoB,EAAE,8BAA8B;EACpDC,mBAAmB,EAAE,6BAA6B;EAClDC,oBAAoB,EAAE,4BAA4B;EAClDC,sBAAsB,EAAE,gCAAgC;EACxDC,qBAAqB,EAAE,8BAA8B;EACrDC,mBAAmB,EAAE,4BAA4B;EACjDC,mBAAmB,EAAE,4BAA4B;EACjDC,6BAA6B,EAAE,sCAAsC;EACrEC,6BAA6B,EAAE,sCAAsC;EACrEC,6BAA6B,EAAE,sCAAsC;EACrEC,qBAAqB,EAAE,8BAA8B;EACrDC,qBAAqB,EAAE,8BAA8B;EACrDC,uBAAuB,EAAE,gCAAgC;EACzDC,qBAAqB,EAAE,8BAA8B;EACrDC,oBAAoB,EAAE,6BAA6B;EACnDC,eAAe,EAAE,wBAAwB;EACzCC,eAAe,EAAE,wBAAwB;EACzCC,iBAAiB,EAAE,0BAA0B;EAC7CC,iBAAiB,EAAE,0BAA0B;EAC7CC,sBAAsB,EAAE,+BAA+B;EACvDC,yBAAyB,EAAE,kCAAkC;EAC7DC,uBAAuB,EAAE,gCAAgC;EACzDC,wBAAwB,EAAE,wBAAwB;EAClDC,wBAAwB,EAAE,iCAAiC;EAC3DC,8BAA8B,EAAE;AAClC,CAAC;AAAC"}
@@ -16,6 +16,8 @@ declare const BEHAVIORAL_METRICS: {
16
16
  GET_USER_MEDIA_FAILURE: string;
17
17
  GET_DISPLAY_MEDIA_FAILURE: string;
18
18
  JOIN_WITH_MEDIA_FAILURE: string;
19
+ LLM_CONNECTION_AFTER_JOIN_FAILURE: string;
20
+ RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: string;
19
21
  DISCONNECT_DUE_TO_INACTIVITY: string;
20
22
  MEETING_MEDIA_INACTIVE: string;
21
23
  MEETING_RECONNECT_FAILURE: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.255",
3
+ "version": "3.0.0-beta.256",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.255",
36
- "@webex/test-helper-chai": "3.0.0-beta.255",
37
- "@webex/test-helper-mocha": "3.0.0-beta.255",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.255",
39
- "@webex/test-helper-retry": "3.0.0-beta.255",
40
- "@webex/test-helper-test-users": "3.0.0-beta.255",
35
+ "@webex/plugin-meetings": "3.0.0-beta.256",
36
+ "@webex/test-helper-chai": "3.0.0-beta.256",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.256",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.256",
39
+ "@webex/test-helper-retry": "3.0.0-beta.256",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.256",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,19 +46,19 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.255",
49
+ "@webex/common": "3.0.0-beta.256",
50
50
  "@webex/internal-media-core": "2.0.3",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.255",
52
- "@webex/internal-plugin-device": "3.0.0-beta.255",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.255",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.255",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.255",
56
- "@webex/internal-plugin-support": "3.0.0-beta.255",
57
- "@webex/internal-plugin-user": "3.0.0-beta.255",
58
- "@webex/media-helpers": "3.0.0-beta.255",
59
- "@webex/plugin-people": "3.0.0-beta.255",
60
- "@webex/plugin-rooms": "3.0.0-beta.255",
61
- "@webex/webex-core": "3.0.0-beta.255",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.256",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.256",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.256",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.256",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.256",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.256",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.256",
58
+ "@webex/media-helpers": "3.0.0-beta.256",
59
+ "@webex/plugin-people": "3.0.0-beta.256",
60
+ "@webex/plugin-rooms": "3.0.0-beta.256",
61
+ "@webex/webex-core": "3.0.0-beta.256",
62
62
  "ampersand-collection": "^2.0.2",
63
63
  "bowser": "^2.11.0",
64
64
  "btoa": "^1.2.1",
@@ -4553,39 +4553,13 @@ export default class Meeting extends StatelessWebexPlugin {
4553
4553
  this.meetingFiniteStateMachine.join();
4554
4554
  LoggerProxy.logger.log('Meeting:index#join --> Success');
4555
4555
 
4556
- return join;
4557
- })
4558
- .then((join) => {
4559
- joinSuccess(join);
4560
- this.deferJoin = undefined;
4561
4556
  Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_SUCCESS, {
4562
4557
  correlation_id: this.correlationId,
4563
4558
  });
4564
4559
 
4565
- return join;
4566
- })
4567
- .then(async (join) => {
4568
- // @ts-ignore - config coming from registerPlugin
4569
- if (this.config.enableAutomaticLLM) {
4570
- await this.updateLLMConnection();
4571
- }
4560
+ joinSuccess(join);
4572
4561
 
4573
- return join;
4574
- })
4575
- .then(async (join) => {
4576
- if (isBrowser) {
4577
- // @ts-ignore - config coming from registerPlugin
4578
- if (this.config.receiveTranscription || options.receiveTranscription) {
4579
- if (this.isTranscriptionSupported()) {
4580
- await this.receiveTranscription();
4581
- LoggerProxy.logger.info('Meeting:index#join --> enabled to recieve transcription!');
4582
- }
4583
- }
4584
- } else {
4585
- LoggerProxy.logger.error(
4586
- 'Meeting:index#join --> Receving transcription is not supported on this platform'
4587
- );
4588
- }
4562
+ this.deferJoin = undefined;
4589
4563
 
4590
4564
  return join;
4591
4565
  })
@@ -4621,9 +4595,59 @@ export default class Meeting extends StatelessWebexPlugin {
4621
4595
  );
4622
4596
 
4623
4597
  joinFailed(error);
4598
+
4624
4599
  this.deferJoin = undefined;
4625
4600
 
4626
4601
  return Promise.reject(error);
4602
+ })
4603
+ .then((join) => {
4604
+ // @ts-ignore - config coming from registerPlugin
4605
+ if (this.config.enableAutomaticLLM) {
4606
+ this.updateLLMConnection().catch((error) => {
4607
+ LoggerProxy.logger.error('Meeting:index#join --> Update LLM Connection Failed', error);
4608
+
4609
+ Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
4610
+ correlation_id: this.correlationId,
4611
+ reason: error?.message,
4612
+ stack: error.stack,
4613
+ });
4614
+ });
4615
+ }
4616
+
4617
+ return join;
4618
+ })
4619
+ .then((join) => {
4620
+ if (isBrowser) {
4621
+ // @ts-ignore - config coming from registerPlugin
4622
+ if (this.config.receiveTranscription || options.receiveTranscription) {
4623
+ if (this.isTranscriptionSupported()) {
4624
+ LoggerProxy.logger.info(
4625
+ 'Meeting:index#join --> Attempting to enabled to recieve transcription!'
4626
+ );
4627
+ this.receiveTranscription().catch((error) => {
4628
+ LoggerProxy.logger.error(
4629
+ 'Meeting:index#join --> Receive Transcription Failed',
4630
+ error
4631
+ );
4632
+
4633
+ Metrics.sendBehavioralMetric(
4634
+ BEHAVIORAL_METRICS.RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE,
4635
+ {
4636
+ correlation_id: this.correlationId,
4637
+ reason: error?.message,
4638
+ stack: error.stack,
4639
+ }
4640
+ );
4641
+ });
4642
+ }
4643
+ }
4644
+ } else {
4645
+ LoggerProxy.logger.error(
4646
+ 'Meeting:index#join --> Receving transcription is not supported on this platform'
4647
+ );
4648
+ }
4649
+
4650
+ return join;
4627
4651
  });
4628
4652
  }
4629
4653
 
@@ -18,6 +18,8 @@ const BEHAVIORAL_METRICS = {
18
18
  GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',
19
19
  GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',
20
20
  JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',
21
+ LLM_CONNECTION_AFTER_JOIN_FAILURE: 'js_sdk_llm_connection_after_join_failure',
22
+ RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: 'js_sdk_receive_transcription_after_join_failure',
21
23
 
22
24
  DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',
23
25
  MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',
@@ -13,6 +13,7 @@ import {Credentials, Token, WebexPlugin} from '@webex/webex-core';
13
13
  import Support from '@webex/internal-plugin-support';
14
14
  import MockWebex from '@webex/test-helper-mock-webex';
15
15
  import StaticConfig from '@webex/plugin-meetings/src/common/config';
16
+ import { Defer } from '@webex/common';
16
17
  import {
17
18
  FLOOR_ACTION,
18
19
  SHARE_STATUS,
@@ -96,6 +97,7 @@ import {
96
97
  } from '../../../../src/meeting-info/meeting-info-v2';
97
98
  import {ANNOTATION_POLICY} from '../../../../src/annotation/constants';
98
99
 
100
+
99
101
  // Non-stubbed function
100
102
  const {getDisplayMedia} = Media;
101
103
 
@@ -818,27 +820,6 @@ describe('plugin-meetings', () => {
818
820
  assert.equal(result, joinMeetingResult);
819
821
  });
820
822
 
821
- it('should call updateLLMConnection upon joining if config value is set', async () => {
822
- meeting.config.enableAutomaticLLM = true;
823
- await meeting.join();
824
-
825
- assert.calledOnce(meeting.updateLLMConnection);
826
- });
827
-
828
- it('should not call updateLLMConnection upon joining if config value is not set', async () => {
829
- await meeting.join();
830
-
831
- assert.notCalled(meeting.updateLLMConnection);
832
- });
833
-
834
- it('should invoke `receiveTranscription()` if receiveTranscription is set to true', async () => {
835
- meeting.isTranscriptionSupported = sinon.stub().returns(true);
836
- meeting.receiveTranscription = sinon.stub().returns(Promise.resolve());
837
-
838
- await meeting.join({receiveTranscription: true});
839
- assert.calledOnce(meeting.receiveTranscription);
840
- });
841
-
842
823
  it('should not create new correlation ID on join immediately after create', async () => {
843
824
  await meeting.join();
844
825
  sinon.assert.notCalled(setCorrelationIdSpy);
@@ -937,6 +918,125 @@ describe('plugin-meetings', () => {
937
918
  });
938
919
  });
939
920
  });
921
+ describe('lmm and transcription decoupling', () => {
922
+ beforeEach(() => {
923
+ sandbox.stub(MeetingUtil, 'joinMeeting').returns(Promise.resolve(joinMeetingResult));
924
+ });
925
+
926
+ describe('llm', () => {
927
+ it('makes sure that join does not wait for update llm connection promise', async () => {
928
+ const defer = new Defer();
929
+
930
+ meeting.config.enableAutomaticLLM = true;
931
+ meeting.updateLLMConnection = sinon.stub().returns(defer.promise);
932
+
933
+ const result = await meeting.join();
934
+
935
+ assert.equal(result, joinMeetingResult);
936
+
937
+ defer.resolve();
938
+ });
939
+
940
+ it('should call updateLLMConnection as part of joining if config value is set', async () => {
941
+ meeting.config.enableAutomaticLLM = true;
942
+ meeting.updateLLMConnection = sinon.stub().resolves();
943
+
944
+ await meeting.join();
945
+
946
+ assert.calledOnce(meeting.updateLLMConnection);
947
+ });
948
+
949
+ it('should not call updateLLMConnection as part of joining if config value is not set', async () => {
950
+ meeting.updateLLMConnection = sinon.stub().resolves();
951
+ await meeting.join();
952
+
953
+ assert.notCalled(meeting.updateLLMConnection);
954
+ });
955
+
956
+ it('handles catching error of llm connection later, and join still resolves', async () => {
957
+ const defer = new Defer();
958
+
959
+ meeting.config.enableAutomaticLLM = true;
960
+ meeting.updateLLMConnection = sinon.stub().returns(defer.promise);
961
+
962
+ const result = await meeting.join();
963
+
964
+ assert.equal(result, joinMeetingResult);
965
+
966
+ defer.reject(new Error("bad day", {cause: 'bad weather'}));
967
+
968
+ try {
969
+ await defer.promise;
970
+ } catch (err) {
971
+
972
+ assert.deepEqual(Metrics.sendBehavioralMetric.getCalls()[0].args, [
973
+ BEHAVIORAL_METRICS.JOIN_SUCCESS, {correlation_id: meeting.correlationId}
974
+ ])
975
+
976
+ assert.deepEqual(Metrics.sendBehavioralMetric.getCalls()[1].args, [
977
+ BEHAVIORAL_METRICS.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
978
+ correlation_id: meeting.correlationId,
979
+ reason: err.message,
980
+ stack: err.stack,
981
+ }
982
+ ]);
983
+ }
984
+ });
985
+ });
986
+
987
+ describe('receive transcription', () => {
988
+ it('should invoke `receiveTranscription()` if receiveTranscription is set to true', async () => {
989
+ meeting.isTranscriptionSupported = sinon.stub().returns(true);
990
+ meeting.receiveTranscription = sinon.stub().returns(Promise.resolve());
991
+
992
+ await meeting.join({receiveTranscription: true});
993
+ assert.calledOnce(meeting.receiveTranscription);
994
+ });
995
+
996
+ it('make sure that join does not wait for setting up receive transcriptions', async () => {
997
+ const defer = new Defer();
998
+
999
+ meeting.isTranscriptionSupported = sinon.stub().returns(true);
1000
+ meeting.receiveTranscription = sinon.stub().returns(defer.promise);
1001
+
1002
+ const result = await meeting.join({receiveTranscription: true});
1003
+
1004
+ assert.equal(result, joinMeetingResult);
1005
+
1006
+ defer.resolve();
1007
+ });
1008
+
1009
+ it('handles catching error of receiveTranscription(), and join still resolves', async () => {
1010
+ const defer = new Defer();
1011
+
1012
+ meeting.isTranscriptionSupported = sinon.stub().returns(true);
1013
+ meeting.receiveTranscription = sinon.stub().returns(defer.promise);
1014
+
1015
+ const result = await meeting.join({receiveTranscription: true});
1016
+
1017
+ assert.equal(result, joinMeetingResult);
1018
+
1019
+ defer.reject(new Error("bad day", {cause: 'bad weather'}));
1020
+
1021
+ try {
1022
+ await defer.promise;
1023
+ } catch (err) {
1024
+ console.log(Metrics.sendBehavioralMetric.getCalls())
1025
+ assert.deepEqual(Metrics.sendBehavioralMetric.getCalls()[0].args, [
1026
+ BEHAVIORAL_METRICS.JOIN_SUCCESS, {correlation_id: meeting.correlationId}
1027
+ ])
1028
+
1029
+ assert.deepEqual(Metrics.sendBehavioralMetric.getCalls()[1].args, [
1030
+ BEHAVIORAL_METRICS.RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE, {
1031
+ correlation_id: meeting.correlationId,
1032
+ reason: err.message,
1033
+ stack: err.stack,
1034
+ }
1035
+ ]);
1036
+ }
1037
+ })
1038
+ })
1039
+ })
940
1040
  });
941
1041
 
942
1042
  describe('#addMedia', () => {
@@ -5719,9 +5819,9 @@ describe('plugin-meetings', () => {
5719
5819
  assert.notOk(meeting.permissionTokenPayload);
5720
5820
 
5721
5821
  const permissionTokenPayloadData = {permission: {userPolicies: {a: true}}, exp: '1234'};
5722
-
5822
+
5723
5823
  const jwtDecodeStub = sinon.stub(jwt, 'decode').returns(permissionTokenPayloadData);
5724
-
5824
+
5725
5825
  meeting.setPermissionTokenPayload();
5726
5826
 
5727
5827
  assert.calledOnce(jwtDecodeStub);
@@ -5818,7 +5918,7 @@ describe('plugin-meetings', () => {
5818
5918
  assert.equal(meeting.owner, expectedInfoToParse.owner);
5819
5919
  assert.equal(meeting.permissionToken, expectedInfoToParse.permissionToken);
5820
5920
  assert.deepEqual(meeting.selfUserPolicies, expectedInfoToParse.selfUserPolicies);
5821
-
5921
+
5822
5922
  if(expectedInfoToParse.permissionTokenPayload) {
5823
5923
  assert.deepEqual(meeting.permissionTokenPayload, expectedInfoToParse.permissionTokenPayload);
5824
5924
  }
@@ -5837,9 +5937,9 @@ describe('plugin-meetings', () => {
5837
5937
  }
5838
5938
  };
5839
5939
 
5840
- // generated permissionToken with secret `secret` and
5940
+ // generated permissionToken with secret `secret` and
5841
5941
  // value `JSON.stringify(expectedPermissionTokenPayload)`
5842
- const permissionToken =
5942
+ const permissionToken =
5843
5943
  'eyJhbGciOiJIUzI1NiJ9.eyJleHAiOiIxMjM0NTYiLCJwZXJtaXNzaW9uIjp7InVzZXJQb2xpY2llcyI6eyJhIjp0cnVlfX19.wkTk0Hp8sUlq2wi2nP4-Ym4Xb7aEUHzyXA1kzk6f0V0';
5844
5944
 
5845
5945
  const FAKE_MEETING_INFO = {
@@ -8189,20 +8289,20 @@ describe('plugin-meetings', () => {
8189
8289
  });
8190
8290
 
8191
8291
  afterEach(() => {
8192
- clock.restore();
8292
+ clock.restore();
8193
8293
  })
8194
8294
 
8195
- it('should return undefined if exp is undefined', () => {
8295
+ it('should return undefined if exp is undefined', () => {
8196
8296
  assert.equal(meeting.getPermissionTokenTimeLeftInSec(), undefined)
8197
8297
  });
8198
8298
 
8199
- it('should return the expected positive exp', () => {
8299
+ it('should return the expected positive exp', () => {
8200
8300
  // set permission token as now + 1 sec
8201
8301
  meeting.permissionTokenPayload = {exp: (now + 1000).toString()};
8202
8302
  assert.equal(meeting.getPermissionTokenTimeLeftInSec(), 1);
8203
8303
  });
8204
8304
 
8205
- it('should return the expected negative exp', () => {
8305
+ it('should return the expected negative exp', () => {
8206
8306
  // set permission token as now - 1 sec
8207
8307
  meeting.permissionTokenPayload = {exp: (now - 1000).toString()};
8208
8308
  assert.equal(meeting.getPermissionTokenTimeLeftInSec(), -1);