@webex/plugin-meetings 3.0.0-beta.115 → 3.0.0-beta.117

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.
Files changed (53) hide show
  1. package/dist/breakouts/breakout.js +23 -6
  2. package/dist/breakouts/breakout.js.map +1 -1
  3. package/dist/breakouts/index.js +178 -139
  4. package/dist/breakouts/index.js.map +1 -1
  5. package/dist/constants.js +1 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/locus-info/mediaSharesUtils.js +15 -1
  8. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  9. package/dist/meeting/index.js +73 -103
  10. package/dist/meeting/index.js.map +1 -1
  11. package/dist/meeting/locusMediaRequest.js +3 -0
  12. package/dist/meeting/locusMediaRequest.js.map +1 -1
  13. package/dist/meeting/muteState.js +1 -1
  14. package/dist/meeting/muteState.js.map +1 -1
  15. package/dist/meeting/request.js +27 -20
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.js +463 -426
  18. package/dist/meeting/util.js.map +1 -1
  19. package/dist/members/index.js +4 -1
  20. package/dist/members/index.js.map +1 -1
  21. package/dist/members/request.js +75 -45
  22. package/dist/members/request.js.map +1 -1
  23. package/dist/members/util.js +308 -317
  24. package/dist/members/util.js.map +1 -1
  25. package/dist/types/constants.d.ts +1 -0
  26. package/dist/types/meeting/index.d.ts +20 -21
  27. package/dist/types/meeting/locusMediaRequest.d.ts +2 -0
  28. package/dist/types/meeting/request.d.ts +16 -8
  29. package/dist/types/meeting/util.d.ts +75 -1
  30. package/dist/types/members/request.d.ts +56 -11
  31. package/dist/types/members/util.d.ts +209 -1
  32. package/package.json +19 -19
  33. package/src/breakouts/breakout.ts +26 -4
  34. package/src/breakouts/index.ts +32 -17
  35. package/src/constants.ts +1 -0
  36. package/src/locus-info/mediaSharesUtils.ts +16 -0
  37. package/src/meeting/index.ts +20 -42
  38. package/src/meeting/locusMediaRequest.ts +6 -0
  39. package/src/meeting/muteState.ts +1 -1
  40. package/src/meeting/request.ts +26 -17
  41. package/src/meeting/util.ts +446 -410
  42. package/src/members/index.ts +7 -1
  43. package/src/members/request.ts +61 -21
  44. package/src/members/util.ts +316 -326
  45. package/test/unit/spec/breakouts/breakout.ts +26 -7
  46. package/test/unit/spec/breakouts/index.ts +48 -3
  47. package/test/unit/spec/meeting/index.js +53 -33
  48. package/test/unit/spec/meeting/locusMediaRequest.ts +25 -3
  49. package/test/unit/spec/meeting/muteState.js +5 -2
  50. package/test/unit/spec/meeting/request.js +215 -42
  51. package/test/unit/spec/meeting/utils.js +151 -7
  52. package/test/unit/spec/members/index.js +22 -1
  53. package/test/unit/spec/members/request.js +167 -35
@@ -1 +1 @@
1
- {"version":3,"names":["MembersUtil","generateAddMemberOptions","invitee","locusUrl","alertIfActive","generateAdmitMemberOptions","memberIds","getAddMemberBody","options","invitees","address","emailAddress","email","phoneNumber","getAdmitMemberRequestBody","sessionLocusUrls","body","admit","participantIds","authorizingLocusUrl","getAdmitMemberRequestParams","format","baseUrl","mainLocusUrl","uri","CONTROLS","method","HTTP_VERBS","PUT","getAddMemberRequestParams","requestParams","isInvalidInvitee","DIALER_REGEX","E164_FORMAT","test","VALID_EMAIL_ADDRESS","getRemoveMemberRequestParams","reason","PARTICIPANT","memberId","LEAVE","generateTransferHostMemberOptions","transfer","moderator","generateRemoveMemberOptions","removal","_FORCED_","generateMuteMemberOptions","status","isAudio","muted","generateRaiseHandMemberOptions","raised","generateRoleAssignmentMemberOptions","roles","generateLowerAllHandsMemberOptions","requestingParticipantId","generateEditDisplayNameMemberOptions","alias","getMuteMemberRequestParams","property","PATCH","getRoleAssignmentMemberRequestParams","role","forEach","push","type","hasRole","getRaiseHandMemberRequestParams","hand","getLowerAllHandsMemberRequestParams","editDisplayNameMemberRequestParams","aliasValue","ALIAS","POST","getTransferHostToMemberRequestParams","genderateSendDTMFOptions","url","tones","generateSendDTMFRequestParams","device","dtmf","correlationId","uuid","v4","direction","SEND_DTMF_ENDPOINT","cancelPhoneInviteOptions","generateCancelInviteRequestParams","actionType","_REMOVE_"],"sources":["util.ts"],"sourcesContent":["import uuid from 'uuid';\nimport {\n HTTP_VERBS,\n CONTROLS,\n _FORCED_,\n LEAVE,\n PARTICIPANT,\n VALID_EMAIL_ADDRESS,\n DIALER_REGEX,\n SEND_DTMF_ENDPOINT,\n _REMOVE_,\n ALIAS,\n} from '../constants';\n\nimport {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';\n\nconst MembersUtil: any = {};\n\n/**\n * @param {Object} invitee with emailAddress, email or phoneNumber\n * @param {String} locusUrl\n * @param {Boolean} alertIfActive\n * @returns {Object} the format object\n */\nMembersUtil.generateAddMemberOptions = (\n invitee: object,\n locusUrl: string,\n alertIfActive: boolean\n) => ({\n invitee,\n locusUrl,\n alertIfActive,\n});\n\n/**\n * @param {Array} memberIds\n * @param {String} locusUrl\n * @returns {Object} the format object\n */\nMembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: string) => ({\n locusUrl,\n memberIds,\n});\n\n/**\n * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}\n * @returns {Object} with {invitees: [{address}], alertIfActive}\n */\nMembersUtil.getAddMemberBody = (options: any) => ({\n invitees: [\n {\n address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,\n },\n ],\n alertIfActive: options.alertIfActive,\n});\n\n/**\n * @param {Object} options with {memberIds, authorizingLocusUrl}\n * @returns {Object} admit with {memberIds}\n */\nMembersUtil.getAdmitMemberRequestBody = (options: any) => {\n const {memberIds, sessionLocusUrls} = options;\n const body: any = {admit: {participantIds: memberIds}};\n if (sessionLocusUrls) {\n const {authorizingLocusUrl} = sessionLocusUrls;\n\n return {authorizingLocusUrl, ...body};\n }\n\n return body;\n};\n\n/**\n * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}\n * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request\n * if a host/cohost is in a breakout session, the locus url should be the main session locus url\n */\nMembersUtil.getAdmitMemberRequestParams = (format: any) => {\n const body = MembersUtil.getAdmitMemberRequestBody(format);\n const {locusUrl, sessionLocusUrls} = format;\n const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;\n const uri = `${baseUrl}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n};\n\n/**\n * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}\n * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request\n */\nMembersUtil.getAddMemberRequestParams = (format: any) => {\n const body = MembersUtil.getAddMemberBody(format);\n const requestParams = {\n method: HTTP_VERBS.PUT,\n uri: format.locusUrl,\n body,\n };\n\n return requestParams;\n};\n\nMembersUtil.isInvalidInvitee = (invitee) => {\n if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {\n return true;\n }\n\n if (invitee.phoneNumber) {\n return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);\n }\n\n return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);\n};\n\nMembersUtil.getRemoveMemberRequestParams = (options) => {\n const body = {\n reason: options.reason,\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n};\n\nMembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({\n moderator,\n locusUrl,\n memberId: transfer,\n});\n\nMembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({\n reason: _FORCED_,\n memberId: removal,\n locusUrl,\n});\n\nMembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl, isAudio) => ({\n memberId,\n muted: status,\n locusUrl,\n isAudio,\n});\n\nMembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({\n memberId,\n raised: status,\n locusUrl,\n});\n\n/**\n * @param {String} memberId\n * @param {[ServerRoleShape]} roles\n * @param {String} locusUrl\n * @returns {RoleAssignmentOptions}\n */\nMembersUtil.generateRoleAssignmentMemberOptions = (\n memberId: string,\n roles: Array<ServerRoleShape>,\n locusUrl: string\n): RoleAssignmentOptions => ({\n memberId,\n roles,\n locusUrl,\n});\n\nMembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({\n requestingParticipantId,\n locusUrl,\n});\n\n/**\n * @param {String} memberId id of the participant who is receiving request\n * @param {String} requestingParticipantId id of the participant who is sending request (optional)\n * @param {String} alias alias name\n * @param {String} locusUrl url\n * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}\n */\nMembersUtil.generateEditDisplayNameMemberOptions = (\n memberId,\n requestingParticipantId,\n alias,\n locusUrl\n) => ({\n memberId,\n requestingParticipantId,\n alias,\n locusUrl,\n});\n\nMembersUtil.getMuteMemberRequestParams = (options) => {\n const property = options.isAudio === false ? 'video' : 'audio';\n const body = {\n [property]: {\n muted: options.muted,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n};\n\n/**\n * @param {RoleAssignmentOptions} options\n * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request\n */\nMembersUtil.getRoleAssignmentMemberRequestParams = (\n options: RoleAssignmentOptions\n): RoleAssignmentRequest => {\n const body = {role: {roles: []}};\n options.roles.forEach((role) => {\n body.role.roles.push({type: role.type, hasRole: role.hasRole});\n });\n\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n};\n\nMembersUtil.getRaiseHandMemberRequestParams = (options) => {\n const body = {\n hand: {\n raised: options.raised,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n};\n\nMembersUtil.getLowerAllHandsMemberRequestParams = (options) => {\n const body = {\n hand: {\n raised: false,\n },\n requestingParticipantId: options.requestingParticipantId,\n };\n const uri = `${options.locusUrl}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n};\n\n/**\n * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}\n * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request\n */\nMembersUtil.editDisplayNameMemberRequestParams = (options) => {\n const body = {\n aliasValue: options.alias,\n requestingParticipantId: options.requestingParticipantId,\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;\n\n return {\n method: HTTP_VERBS.POST,\n uri,\n body,\n };\n};\n\nMembersUtil.getTransferHostToMemberRequestParams = (options) => {\n const body = {\n role: {\n moderator: options.moderator,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n};\n\nMembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({\n url,\n tones,\n memberId,\n locusUrl,\n});\n\nMembersUtil.generateSendDTMFRequestParams = ({url, tones, memberId, locusUrl}) => {\n const body = {\n device: {\n url,\n },\n memberId,\n dtmf: {\n correlationId: uuid.v4(),\n tones,\n direction: 'transmit',\n },\n };\n const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;\n\n return {\n method: HTTP_VERBS.POST,\n uri,\n body,\n };\n};\n\nMembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({\n invitee,\n locusUrl,\n});\n\nMembersUtil.generateCancelInviteRequestParams = (options) => {\n const body = {\n actionType: _REMOVE_,\n invitees: [\n {\n address: options.invitee.phoneNumber,\n },\n ],\n };\n const requestParams = {\n method: HTTP_VERBS.PUT,\n uri: options.locusUrl,\n body,\n };\n\n return requestParams;\n};\n\nexport default MembersUtil;\n"],"mappings":"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"}
1
+ {"version":3,"names":["MembersUtil","generateAddMemberOptions","invitee","locusUrl","alertIfActive","generateAdmitMemberOptions","memberIds","getAddMemberBody","options","invitees","address","emailAddress","email","phoneNumber","getAdmitMemberRequestBody","sessionLocusUrls","body","admit","participantIds","authorizingLocusUrl","getAdmitMemberRequestParams","format","baseUrl","mainLocusUrl","uri","CONTROLS","method","HTTP_VERBS","PUT","getAddMemberRequestParams","requestParams","isInvalidInvitee","DIALER_REGEX","E164_FORMAT","test","VALID_EMAIL_ADDRESS","getRemoveMemberRequestParams","reason","PARTICIPANT","memberId","LEAVE","generateTransferHostMemberOptions","transfer","moderator","generateRemoveMemberOptions","removal","_FORCED_","generateMuteMemberOptions","status","isAudio","muted","generateRaiseHandMemberOptions","raised","generateRoleAssignmentMemberOptions","roles","generateLowerAllHandsMemberOptions","requestingParticipantId","generateEditDisplayNameMemberOptions","alias","getMuteMemberRequestParams","property","PATCH","getRoleAssignmentMemberRequestParams","role","forEach","push","type","hasRole","getRaiseHandMemberRequestParams","hand","getLowerAllHandsMemberRequestParams","editDisplayNameMemberRequestParams","aliasValue","ALIAS","POST","getTransferHostToMemberRequestParams","genderateSendDTMFOptions","url","tones","generateSendDTMFRequestParams","device","dtmf","correlationId","uuid","v4","direction","SEND_DTMF_ENDPOINT","cancelPhoneInviteOptions","generateCancelInviteRequestParams","actionType","_REMOVE_"],"sources":["util.ts"],"sourcesContent":["import uuid from 'uuid';\nimport {\n HTTP_VERBS,\n CONTROLS,\n _FORCED_,\n LEAVE,\n PARTICIPANT,\n VALID_EMAIL_ADDRESS,\n DIALER_REGEX,\n SEND_DTMF_ENDPOINT,\n _REMOVE_,\n ALIAS,\n} from '../constants';\n\nimport {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';\n\nconst MembersUtil = {\n /**\n * @param {Object} invitee with emailAddress, email or phoneNumber\n * @param {String} locusUrl\n * @param {Boolean} alertIfActive\n * @returns {Object} the format object\n */\n generateAddMemberOptions: (invitee: object, locusUrl: string, alertIfActive: boolean) => ({\n invitee,\n locusUrl,\n alertIfActive,\n }),\n\n /**\n * @param {Array} memberIds\n * @param {String} locusUrl\n * @returns {Object} the format object\n */\n generateAdmitMemberOptions: (memberIds: Array<any>, locusUrl: string) => ({\n locusUrl,\n memberIds,\n }),\n\n /**\n * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}\n * @returns {Object} with {invitees: [{address}], alertIfActive}\n */\n getAddMemberBody: (options: any) => ({\n invitees: [\n {\n address:\n options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,\n },\n ],\n alertIfActive: options.alertIfActive,\n }),\n\n /**\n * @param {Object} options with {memberIds, authorizingLocusUrl}\n * @returns {Object} admit with {memberIds}\n */\n getAdmitMemberRequestBody: (options: any) => {\n const {memberIds, sessionLocusUrls} = options;\n const body: any = {admit: {participantIds: memberIds}};\n if (sessionLocusUrls) {\n const {authorizingLocusUrl} = sessionLocusUrls;\n\n return {authorizingLocusUrl, ...body};\n }\n\n return body;\n },\n\n /**\n * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}\n * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request\n * if a host/cohost is in a breakout session, the locus url should be the main session locus url\n */\n getAdmitMemberRequestParams: (format: any) => {\n const body = MembersUtil.getAdmitMemberRequestBody(format);\n const {locusUrl, sessionLocusUrls} = format;\n const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;\n const uri = `${baseUrl}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n },\n\n /**\n * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}\n * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request\n */\n getAddMemberRequestParams: (format: any) => {\n const body = MembersUtil.getAddMemberBody(format);\n const requestParams = {\n method: HTTP_VERBS.PUT,\n uri: format.locusUrl,\n body,\n };\n\n return requestParams;\n },\n\n isInvalidInvitee: (invitee) => {\n if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {\n return true;\n }\n\n if (invitee.phoneNumber) {\n return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);\n }\n\n return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);\n },\n\n getRemoveMemberRequestParams: (options) => {\n const body = {\n reason: options.reason,\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n },\n\n generateTransferHostMemberOptions: (transfer, moderator, locusUrl) => ({\n moderator,\n locusUrl,\n memberId: transfer,\n }),\n\n generateRemoveMemberOptions: (removal, locusUrl) => ({\n reason: _FORCED_,\n memberId: removal,\n locusUrl,\n }),\n\n generateMuteMemberOptions: (memberId, status, locusUrl, isAudio) => ({\n memberId,\n muted: status,\n locusUrl,\n isAudio,\n }),\n\n generateRaiseHandMemberOptions: (memberId, status, locusUrl) => ({\n memberId,\n raised: status,\n locusUrl,\n }),\n\n /**\n * @param {String} memberId\n * @param {[ServerRoleShape]} roles\n * @param {String} locusUrl\n * @returns {RoleAssignmentOptions}\n */\n generateRoleAssignmentMemberOptions: (\n memberId: string,\n roles: Array<ServerRoleShape>,\n locusUrl: string\n ): RoleAssignmentOptions => ({\n memberId,\n roles,\n locusUrl,\n }),\n\n generateLowerAllHandsMemberOptions: (requestingParticipantId, locusUrl) => ({\n requestingParticipantId,\n locusUrl,\n }),\n\n /**\n * @param {String} memberId id of the participant who is receiving request\n * @param {String} requestingParticipantId id of the participant who is sending request (optional)\n * @param {String} alias alias name\n * @param {String} locusUrl url\n * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}\n */\n generateEditDisplayNameMemberOptions: (memberId, requestingParticipantId, alias, locusUrl) => ({\n memberId,\n requestingParticipantId,\n alias,\n locusUrl,\n }),\n\n getMuteMemberRequestParams: (options) => {\n const property = options.isAudio === false ? 'video' : 'audio';\n const body = {\n [property]: {\n muted: options.muted,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n },\n\n /**\n * @param {RoleAssignmentOptions} options\n * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request\n */\n getRoleAssignmentMemberRequestParams: (options: RoleAssignmentOptions): RoleAssignmentRequest => {\n const body = {role: {roles: []}};\n options.roles.forEach((role) => {\n body.role.roles.push({type: role.type, hasRole: role.hasRole});\n });\n\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n },\n\n getRaiseHandMemberRequestParams: (options) => {\n const body = {\n hand: {\n raised: options.raised,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n },\n\n getLowerAllHandsMemberRequestParams: (options) => {\n const body = {\n hand: {\n raised: false,\n },\n requestingParticipantId: options.requestingParticipantId,\n };\n const uri = `${options.locusUrl}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n },\n\n /**\n * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}\n * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request\n */\n editDisplayNameMemberRequestParams: (options) => {\n const body = {\n aliasValue: options.alias,\n requestingParticipantId: options.requestingParticipantId,\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;\n\n return {\n method: HTTP_VERBS.POST,\n uri,\n body,\n };\n },\n\n getTransferHostToMemberRequestParams: (options) => {\n const body = {\n role: {\n moderator: options.moderator,\n },\n };\n const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;\n\n return {\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n };\n },\n\n genderateSendDTMFOptions: (url, tones, memberId, locusUrl) => ({\n url,\n tones,\n memberId,\n locusUrl,\n }),\n\n generateSendDTMFRequestParams: ({url, tones, memberId, locusUrl}) => {\n const body = {\n device: {\n url,\n },\n memberId,\n dtmf: {\n correlationId: uuid.v4(),\n tones,\n direction: 'transmit',\n },\n };\n const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;\n\n return {\n method: HTTP_VERBS.POST,\n uri,\n body,\n };\n },\n\n cancelPhoneInviteOptions: (invitee, locusUrl) => ({\n invitee,\n locusUrl,\n }),\n\n generateCancelInviteRequestParams: (options) => {\n const body = {\n actionType: _REMOVE_,\n invitees: [\n {\n address: options.invitee.phoneNumber,\n },\n ],\n };\n const requestParams = {\n method: HTTP_VERBS.PUT,\n uri: options.locusUrl,\n body,\n };\n\n return requestParams;\n },\n};\n\nexport default MembersUtil;\n"],"mappings":"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"}
@@ -182,6 +182,7 @@ export declare const EVENT_TRIGGERS: {
182
182
  MEETING_STOPPED_SHARING_LOCAL: string;
183
183
  MEETING_STARTED_SHARING_REMOTE: string;
184
184
  MEETING_STOPPED_SHARING_REMOTE: string;
185
+ MEETING_UPDATE_ANNOTATION_INFO: string;
185
186
  MEETING_STARTED_SHARING_WHITEBOARD: string;
186
187
  MEETING_STOPPED_SHARING_WHITEBOARD: string;
187
188
  MEETING_MEDIA_LOCAL_STARTED: string;
@@ -791,17 +791,6 @@ export default class Meeting extends StatelessWebexPlugin {
791
791
  owner: object;
792
792
  };
793
793
  } | any, destination?: object | string | null): void;
794
- /**
795
- * Sets the first locus info on the class instance
796
- * @param {Object} locus
797
- * @param {String} locus.url
798
- * @param {Array} locus.participants
799
- * @param {Object} locus.self
800
- * @returns {undefined}
801
- * @private
802
- * @memberof Meeting
803
- */
804
- private parseLocus;
805
794
  /**
806
795
  * Sets the sip uri on the class instance
807
796
  * uses meeting info as precedence
@@ -824,7 +813,13 @@ export default class Meeting extends StatelessWebexPlugin {
824
813
  * @private
825
814
  * @memberof Meeting
826
815
  */
827
- private setLocus;
816
+ setLocus(locus: {
817
+ mediaConnections: Array<any>;
818
+ locusUrl: string;
819
+ locusId: string;
820
+ mediaId: string;
821
+ host: object;
822
+ } | any): void;
828
823
  /**
829
824
  * Upload logs for the current meeting
830
825
  * @param {object} options file name and function name
@@ -1103,7 +1098,7 @@ export default class Meeting extends StatelessWebexPlugin {
1103
1098
  * @public
1104
1099
  * @memberof Meeting
1105
1100
  */
1106
- usePhoneAudio(phoneNumber: string): any;
1101
+ usePhoneAudio(phoneNumber: string): Promise<any>;
1107
1102
  /**
1108
1103
  * Determines if the given pstnStatus is in a state which implies the phone is provisioned
1109
1104
  * @param {String} pstnStatus
@@ -1230,7 +1225,7 @@ export default class Meeting extends StatelessWebexPlugin {
1230
1225
  * @public
1231
1226
  * @memberof Meeting
1232
1227
  */
1233
- addMedia(options?: any): any;
1228
+ addMedia(options?: any): Promise<any>;
1234
1229
  /**
1235
1230
  * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
1236
1231
  * @returns {Boolean}
@@ -1293,7 +1288,7 @@ export default class Meeting extends StatelessWebexPlugin {
1293
1288
  sendAudio: boolean;
1294
1289
  receiveAudio: boolean;
1295
1290
  stream: MediaStream;
1296
- }): Promise<any>;
1291
+ }): Promise<unknown>;
1297
1292
  /**
1298
1293
  * Update the main video track with new parameters
1299
1294
  *
@@ -1311,7 +1306,7 @@ export default class Meeting extends StatelessWebexPlugin {
1311
1306
  sendVideo: boolean;
1312
1307
  receiveVideo: boolean;
1313
1308
  stream: MediaStream;
1314
- }): any;
1309
+ }): Promise<unknown>;
1315
1310
  /**
1316
1311
  * Internal function when stopping a share stream, cleanup
1317
1312
  * @param {boolean} sendShare
@@ -1338,7 +1333,7 @@ export default class Meeting extends StatelessWebexPlugin {
1338
1333
  receiveShare?: boolean;
1339
1334
  stream?: any;
1340
1335
  skipSignalingCheck?: boolean;
1341
- }): any;
1336
+ }): Promise<unknown>;
1342
1337
  /**
1343
1338
  * Do all the attach media pre set up before executing the actual attach
1344
1339
  * @param {MediaStream} localStream
@@ -1356,7 +1351,11 @@ export default class Meeting extends StatelessWebexPlugin {
1356
1351
  * @public
1357
1352
  * @memberof Meeting
1358
1353
  */
1359
- acknowledge(type: string): any;
1354
+ acknowledge(type: string): Promise<{
1355
+ response: any;
1356
+ }> | Promise<{
1357
+ message: string;
1358
+ }>;
1360
1359
  /**
1361
1360
  * Decline this meeting
1362
1361
  * @param {String} reason
@@ -1407,7 +1406,7 @@ export default class Meeting extends StatelessWebexPlugin {
1407
1406
  * @public
1408
1407
  * @memberof Meeting
1409
1408
  */
1410
- stopShare(options?: {}): any;
1409
+ stopShare(options?: {}): Promise<unknown>;
1411
1410
  /**
1412
1411
  * Sends a request to Locus to release the screen share floor.
1413
1412
  * @returns {Promise} see #meetingRequest.changeMeetingFloor
@@ -1498,7 +1497,7 @@ export default class Meeting extends StatelessWebexPlugin {
1498
1497
  * @public
1499
1498
  * @memberof Meeting
1500
1499
  */
1501
- sendDTMF(tones: string): any;
1500
+ sendDTMF(tones: string): Promise<any>;
1502
1501
  /**
1503
1502
  * Sends request to change layout type for the current meeting for the specific participant/device only
1504
1503
  * @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
@@ -1725,7 +1724,7 @@ export default class Meeting extends StatelessWebexPlugin {
1725
1724
  * @public
1726
1725
  * @memberof Meeting
1727
1726
  */
1728
- toggleReactions(enable: boolean): any;
1727
+ toggleReactions(enable: boolean): Promise<any>;
1729
1728
  /**
1730
1729
  * Throws if we don't have a media connection created
1731
1730
  *
@@ -7,12 +7,14 @@ export type RoapRequest = {
7
7
  mediaId: string;
8
8
  roapMessage: any;
9
9
  reachability: any;
10
+ sequence?: any;
10
11
  joinCookie: any;
11
12
  };
12
13
  export type LocalMuteRequest = {
13
14
  type: 'LocalMute';
14
15
  selfUrl: string;
15
16
  mediaId: string;
17
+ sequence?: any;
16
18
  muteOptions: {
17
19
  audioMuted?: boolean;
18
20
  videoMuted?: boolean;
@@ -5,6 +5,8 @@ import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
5
5
  */
6
6
  export default class MeetingRequest extends StatelessWebexPlugin {
7
7
  changeVideoLayoutDebounced: any;
8
+ meetingRef: WeakRef<any>;
9
+ locusDeltaRequest: (options: object) => Promise<any>;
8
10
  /**
9
11
  * Constructor
10
12
  * @param {Object} attrs
@@ -137,7 +139,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
137
139
  deviceUrl: string;
138
140
  resourceId: string;
139
141
  correlationId: string;
140
- }): any;
142
+ }): Promise<any>;
141
143
  /**
142
144
  * Make a network request to acknowledge a meeting
143
145
  * @param {Object} options
@@ -150,8 +152,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
150
152
  locusUrl: string;
151
153
  deviceUrl: string;
152
154
  correlationId: string;
153
- }): any;
154
- lockMeeting(options: any): any;
155
+ }): Promise<any>;
156
+ /**
157
+ * Makes a network request to lock the meeting
158
+ * @param {Object} options
159
+ * @param {Boolean} options.lock Whether it is locked or not
160
+ * @returns {Promise}
161
+ */
162
+ lockMeeting(options: any): Promise<any>;
155
163
  /**
156
164
  * Make a network request to decline a meeting
157
165
  * @param {Object} options
@@ -164,7 +172,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
164
172
  locusUrl: string;
165
173
  deviceUrl: string;
166
174
  reason: string;
167
- }): any;
175
+ }): Promise<any>;
168
176
  /**
169
177
  * change the content floor grant
170
178
  * @param {Object} options options for floor grant
@@ -195,7 +203,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
195
203
  locusUrl: string;
196
204
  deviceUrl: string;
197
205
  tones: string;
198
- }): any;
206
+ }): Promise<any>;
199
207
  /**
200
208
  * Sends a request to the controls endpoint to set the video layout
201
209
  * @param {Object} options
@@ -222,7 +230,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
222
230
  width: number;
223
231
  height: number;
224
232
  };
225
- }): any;
233
+ }): Promise<any>;
226
234
  /**
227
235
  * Make a network request to end meeting for all
228
236
  * @param {Object} options
@@ -231,7 +239,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
231
239
  */
232
240
  endMeetingForAll({ locusUrl }: {
233
241
  locusUrl: string;
234
- }): any;
242
+ }): Promise<any>;
235
243
  /**
236
244
  * Send a locus keepAlive (used in lobby)
237
245
  * @param {Object} options
@@ -256,6 +264,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
256
264
  * @param {locusUrl} options.locusUrl
257
265
  * @returns {Promise}
258
266
  */
259
- toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any;
267
+ toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
260
268
  getLocusStatusByUrl(locusUrl: string): any;
261
269
  }
@@ -1,2 +1,76 @@
1
- declare const MeetingUtil: any;
1
+ import { LocalCameraTrack, LocalMicrophoneTrack } from '@webex/media-helpers';
2
+ declare const MeetingUtil: {
3
+ parseLocusJoin: (response: any) => any;
4
+ remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
5
+ hasOwner: (info: any) => any;
6
+ isOwnerSelf: (owner: any, selfId: any) => boolean;
7
+ isPinOrGuest: (err: any) => boolean;
8
+ joinMeeting: (meeting: any, options: any) => any;
9
+ cleanUp: (meeting: any) => any;
10
+ disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
11
+ leaveMeeting: (meeting: any, options?: any) => any;
12
+ declineMeeting: (meeting: any, reason: any) => any;
13
+ isUserInLeftState: (locusInfo: any) => boolean;
14
+ isUserInIdleState: (locusInfo: any) => boolean;
15
+ isUserInJoinedState: (locusInfo: any) => boolean;
16
+ isMediaEstablished: (currentMediaStatus: any) => any;
17
+ joinMeetingOptions: (meeting: any, options?: any) => any;
18
+ validateOptions: (options: any) => Promise<void>;
19
+ getTrack: (stream: any) => {
20
+ audioTrack: any;
21
+ videoTrack: any;
22
+ };
23
+ getModeratorFromLocusInfo: (locusInfo: any) => any;
24
+ getPolicyFromLocusInfo: (locusInfo: any) => any;
25
+ getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
26
+ canInviteNewParticipants: (displayHints: any) => any;
27
+ canAdmitParticipant: (displayHints: any) => any;
28
+ canUserLock: (displayHints: any) => any;
29
+ canUserUnlock: (displayHints: any) => any;
30
+ canUserRaiseHand: (displayHints: any) => any;
31
+ canUserLowerAllHands: (displayHints: any) => any;
32
+ canUserLowerSomeoneElsesHand: (displayHints: any) => any;
33
+ bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
34
+ canManageBreakout: (displayHints: any) => any;
35
+ isSuppressBreakoutSupport: (displayHints: any) => any;
36
+ canAdmitLobbyToBreakout: (displayHints: any) => boolean;
37
+ isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
38
+ canUserAskForHelp: (displayHints: any) => boolean;
39
+ lockMeeting: (actions: any, request: any, locusUrl: any) => any;
40
+ unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
41
+ handleAudioLogging: (audioTrack: LocalMicrophoneTrack | null) => void;
42
+ handleVideoLogging: (videoTrack: LocalCameraTrack | null) => void;
43
+ handleDeviceLogging: (devices?: any[]) => void;
44
+ endMeetingForAll: (meeting: any) => any;
45
+ canEnableClosedCaption: (displayHints: any) => any;
46
+ isSaveTranscriptsEnabled: (displayHints: any) => any;
47
+ canStartTranscribing: (displayHints: any) => any;
48
+ canStopTranscribing: (displayHints: any) => any;
49
+ isClosedCaptionActive: (displayHints: any) => any;
50
+ isWebexAssistantActive: (displayHints: any) => any;
51
+ canViewCaptionPanel: (displayHints: any) => any;
52
+ isRealTimeTranslationEnabled: (displayHints: any) => any;
53
+ canSelectSpokenLanguages: (displayHints: any) => any;
54
+ waitingForOthersToJoin: (displayHints: any) => any;
55
+ canSendReactions: (originalValue: any, displayHints: any) => any;
56
+ canUserRenameSelfAndObserved: (displayHints: any) => any;
57
+ canUserRenameOthers: (displayHints: any) => any;
58
+ /**
59
+ * Adds the current locus sequence information to a request body
60
+ * @param {Object} meeting The meeting object
61
+ * @param {Object} requestBody The body of a request to locus
62
+ * @returns {void}
63
+ */
64
+ addSequence: (meeting: any, requestBody: any) => void;
65
+ /**
66
+ * Updates the locus info for the meeting with the delta locus
67
+ * returned from requests that include the sequence information
68
+ * Returns the original response object
69
+ * @param {Object} meeting The meeting object
70
+ * @param {Object} response The response of the http request
71
+ * @returns {Object}
72
+ */
73
+ updateLocusWithDelta: (meeting: any, response: any) => any;
74
+ generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
75
+ };
2
76
  export default MeetingUtil;
@@ -4,6 +4,15 @@ import { StatelessWebexPlugin } from '@webex/webex-core';
4
4
  */
5
5
  export default class MembersRequest extends StatelessWebexPlugin {
6
6
  namespace: string;
7
+ locusDeltaRequest: (options: object) => Promise<any>;
8
+ /**
9
+ * Constructor
10
+ * @param {Object} attrs
11
+ * @param {Object} options
12
+ */
13
+ constructor(attrs: {
14
+ meeting: any;
15
+ }, options: object);
7
16
  /**
8
17
  *
9
18
  * @param {Object} options with format of {invitee: string, locusUrl: string}
@@ -11,7 +20,7 @@ export default class MembersRequest extends StatelessWebexPlugin {
11
20
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
12
21
  * @memberof MembersRequest
13
22
  */
14
- addMembers(options: any): any;
23
+ addMembers(options: any): Promise<any>;
15
24
  /**
16
25
  *
17
26
  * @param {Object} options
@@ -19,9 +28,23 @@ export default class MembersRequest extends StatelessWebexPlugin {
19
28
  * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl
20
29
  * @memberof MembersRequest
21
30
  */
22
- admitMember(options: any): any;
23
- removeMember(options: any): any;
24
- muteMember(options: any): any;
31
+ admitMember(options: any): Promise<any>;
32
+ /**
33
+ * Sends a request to remove a member
34
+ * @param {Object} options
35
+ * @param {String} options.locusUrl
36
+ * @param {String} options.memberId ID of member
37
+ * @returns {Promise}
38
+ */
39
+ removeMember(options: any): Promise<any>;
40
+ /**
41
+ * Sends a request to mute a member
42
+ * @param {Object} options
43
+ * @param {String} options.locusUrl
44
+ * @param {String} options.memberId ID of member
45
+ * @returns {Promise}
46
+ */
47
+ muteMember(options: any): Promise<any>;
25
48
  /**
26
49
  * Sends a request to the DTMF endpoint to send tones
27
50
  * @param {Object} options
@@ -29,9 +52,23 @@ export default class MembersRequest extends StatelessWebexPlugin {
29
52
  * @param {String} options.memberId ID of PSTN user
30
53
  * @returns {Promise}
31
54
  */
32
- assignRolesMember(options: any): any;
33
- raiseOrLowerHandMember(options: any): any;
34
- lowerAllHandsMember(options: any): any;
55
+ assignRolesMember(options: any): Promise<any>;
56
+ /**
57
+ * Sends a request to raise or lower a member's hand
58
+ * @param {Object} options
59
+ * @param {String} options.locusUrl
60
+ * @param {String} options.memberId ID of member
61
+ * @returns {Promise}
62
+ */
63
+ raiseOrLowerHandMember(options: any): Promise<any>;
64
+ /**
65
+ * Sends a request to lower all hands
66
+ * @param {Object} options
67
+ * @param {String} options.locusUrl
68
+ * @param {String} options.requestingParticipantId ID of requesting participant
69
+ * @returns {Promise}
70
+ */
71
+ lowerAllHandsMember(options: any): Promise<any>;
35
72
  /**
36
73
  *
37
74
  * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
@@ -42,8 +79,16 @@ export default class MembersRequest extends StatelessWebexPlugin {
42
79
  editDisplayNameMember(options: {
43
80
  locusUrl: string;
44
81
  requestingParticipantId: string;
45
- }): any;
46
- transferHostToMember(options: any): any;
82
+ }): Promise<any>;
83
+ /**
84
+ * Sends a request to raise or lower a member's hand
85
+ * @param {Object} options
86
+ * @param {String} options.locusUrl
87
+ * @param {String} options.memberId ID of member
88
+ * @param {String} options.moderator ID of moderator
89
+ * @returns {Promise}
90
+ */
91
+ transferHostToMember(options: any): Promise<any>;
47
92
  /**
48
93
  * Sends a request to the DTMF endpoint to send tones
49
94
  * @param {Object} options
@@ -58,12 +103,12 @@ export default class MembersRequest extends StatelessWebexPlugin {
58
103
  url: string;
59
104
  tones: string;
60
105
  memberId: string;
61
- }): any;
106
+ }): Promise<any>;
62
107
  /**
63
108
  * @param {Object} options with format of {invitee: string, locusUrl: string}
64
109
  * @returns {Promise}
65
110
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
66
111
  * @memberof MembersRequest
67
112
  */
68
- cancelPhoneInvite(options: any): any;
113
+ cancelPhoneInvite(options: any): Promise<any>;
69
114
  }