@webex/internal-plugin-metrics 3.0.0-beta.3 → 3.0.0-beta.300

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 (69) hide show
  1. package/README.md +1 -3
  2. package/dist/batcher.js +5 -23
  3. package/dist/batcher.js.map +1 -1
  4. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js +66 -0
  5. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js.map +1 -0
  6. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +456 -0
  7. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -0
  8. package/dist/call-diagnostic/call-diagnostic-metrics.js +798 -0
  9. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -0
  10. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +337 -0
  11. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -0
  12. package/dist/call-diagnostic/config.js +604 -0
  13. package/dist/call-diagnostic/config.js.map +1 -0
  14. package/dist/client-metrics-batcher.js +3 -8
  15. package/dist/client-metrics-batcher.js.map +1 -1
  16. package/dist/config.js +23 -6
  17. package/dist/config.js.map +1 -1
  18. package/dist/index.js +31 -10
  19. package/dist/index.js.map +1 -1
  20. package/dist/metrics.js +43 -80
  21. package/dist/metrics.js.map +1 -1
  22. package/dist/metrics.types.js +7 -0
  23. package/dist/metrics.types.js.map +1 -0
  24. package/dist/new-metrics.js +333 -0
  25. package/dist/new-metrics.js.map +1 -0
  26. package/dist/types/batcher.d.ts +2 -0
  27. package/dist/types/call-diagnostic/call-diagnostic-metrics-batcher.d.ts +2 -0
  28. package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +194 -0
  29. package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +405 -0
  30. package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +96 -0
  31. package/dist/types/call-diagnostic/config.d.ts +171 -0
  32. package/dist/types/client-metrics-batcher.d.ts +2 -0
  33. package/dist/types/config.d.ts +36 -0
  34. package/dist/types/index.d.ts +13 -0
  35. package/dist/types/metrics.d.ts +3 -0
  36. package/dist/types/metrics.types.d.ts +103 -0
  37. package/dist/types/new-metrics.d.ts +139 -0
  38. package/dist/types/utils.d.ts +6 -0
  39. package/dist/utils.js +27 -0
  40. package/dist/utils.js.map +1 -0
  41. package/package.json +13 -8
  42. package/src/batcher.js +34 -26
  43. package/src/call-diagnostic/call-diagnostic-metrics-batcher.ts +83 -0
  44. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +414 -0
  45. package/src/call-diagnostic/call-diagnostic-metrics.ts +863 -0
  46. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +362 -0
  47. package/src/call-diagnostic/config.ts +660 -0
  48. package/src/client-metrics-batcher.js +4 -4
  49. package/src/config.js +26 -5
  50. package/src/index.ts +43 -0
  51. package/src/metrics.js +44 -58
  52. package/src/metrics.types.ts +159 -0
  53. package/src/new-metrics.ts +317 -0
  54. package/src/utils.ts +17 -0
  55. package/test/unit/spec/batcher.js +28 -15
  56. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +465 -0
  57. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +477 -0
  58. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +1943 -0
  59. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +565 -0
  60. package/test/unit/spec/client-metrics-batcher.js +28 -15
  61. package/test/unit/spec/metrics.js +86 -116
  62. package/test/unit/spec/new-metrics.ts +269 -0
  63. package/test/unit/spec/utils.ts +22 -0
  64. package/tsconfig.json +6 -0
  65. package/dist/call-diagnostic-events-batcher.js +0 -70
  66. package/dist/call-diagnostic-events-batcher.js.map +0 -1
  67. package/src/call-diagnostic-events-batcher.js +0 -62
  68. package/src/index.js +0 -17
  69. package/test/unit/spec/call-diagnostic-events-batcher.js +0 -180
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CALL_DIAGNOSTIC_LOG_IDENTIFIER","AUTHENTICATION_FAILED_CODE","NETWORK_ERROR","NEW_LOCUS_ERROR_CLIENT_CODE","MEETING_INFO_LOOKUP_ERROR_CLIENT_CODE","UNKNOWN_ERROR","ICE_FAILURE_CLIENT_CODE","MISSING_ROAP_ANSWER_CLIENT_CODE","DTLS_HANDSHAKE_FAILED_CLIENT_CODE","ICE_FAILED_WITH_TURN_TLS_CLIENT_CODE","ICE_FAILED_WITHOUT_TURN_TLS_CLIENT_CODE","WBX_APP_API_URL","BROWSER_MEDIA_ERROR_NAMES","PERMISSION_DENIED_ERROR","NOT_ALLOWED_ERROR","NOT_READABLE_ERROR","ABORT_ERROR","NOT_FOUND_ERROR","OVERCONSTRAINED_ERROR","SECURITY_ERROR","TYPE_ERROR","BROWSER_MEDIA_ERROR_NAME_TO_CLIENT_ERROR_CODES_MAP","ERROR_DESCRIPTIONS","UNKNOWN_CALL_FAILURE","LOCUS_RATE_LIMITED_INCOMING","LOCUS_RATE_LIMITED_OUTGOING","LOCUS_UNAVAILABLE","LOCUS_CONFLICT","TIMEOUT","LOCUS_INVALID_SEQUENCE_HASH","AUTHENTICATION_FAILED","UPDATE_MEDIA_FAILED","FAILED_TO_CONNECT_MEDIA","MEDIA_ENGINE_LOST","MEDIA_CONNECTION_LOST","ICE_FAILURE","MEDIA_ENGINE_HANG","ICE_SERVER_REJECTED","CALL_FULL","ROOM_TOO_LARGE","GUEST_ALREADY_ADDED","LOCUS_USER_NOT_AUTHORISED","CLOUDBERRY_UNAVAILABLE","ROOM_TOO_LARGE_FREE_ACCOUNT","MEETING_INACTIVE","MEETING_LOCKED","MEETING_TERMINATING","MODERATOR_PIN_OR_GUEST_REQUIRED","MODERATOR_PIN_OR_GUEST_PIN_REQUIRED","MODERATOR_REQUIRED","USER_NOT_MEMBER_OF_ROOM","NEW_LOCUS_ERROR","NETWORK_UNAVAILABLE","MEETING_UNAVAILABLE","MEETING_ID_INVALID","MEETING_SITE_INVALID","LOCUS_INVALID_JOINTIME","LOBBY_EXPIRED","MEDIA_CONNECTION_LOST_PAIRED","PHONE_NUMBER_NOT_A_NUMBER","PHONE_NUMBER_TOO_LONG","INVALID_DIALABLE_KEY","ONE_ON_ONE_TO_SELF_NOT_ALLOWED","REMOVED_PARTICIPANT","MEETING_LINK_NOT_FOUND","PHONE_NUMBER_TOO_SHORT_AFTER_IDD","INVALID_INVITEE_ADDRESS","PMR_USER_ACCOUNT_LOCKED_OUT","GUEST_FORBIDDEN","PMR_ACCOUNT_SUSPENDED","EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE","CONVERSATION_NOT_FOUND","SIP_CALLEE_BUSY","SIP_CALLEE_NOT_FOUND","START_RECORDING_FAILED","RECORDING_IN_PROGRESS_FAILED","MEETING_INFO_LOOKUP_ERROR","CALL_FULL_ADD_GUEST","REQUIRE_WEBEX_LOGIN","USER_NOT_ALLOWED_ACCESS_MEETING","USER_NEEDS_ACTIVATION","SIGN_UP_INVALID_EMAIL","NO_MEDIA_FOUND","STREAM_ERROR_NO_MEDIA","CAMERA_PERMISSION_DENIED","FRAUD_DETECTION","E2EE_NOT_SUPPORTED","LOCUS_LOBBY_FULL_CMR","USER_NOT_INVITED_TO_JOIN","MISSING_ROAP_ANSWER","DTLS_HANDSHAKE_FAILED","ICE_FAILED_WITHOUT_TURN_TLS","ICE_FAILED_WITH_TURN_TLS","SERVICE_ERROR_CODES_TO_CLIENT_ERROR_CODES_MAP","CLIENT_ERROR_CODE_TO_ERROR_PAYLOAD","errorDescription","category","fatal","name","shownToUser","CALL_DIAGNOSTIC_EVENT_FAILED_TO_SEND"],"sources":["config.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\n// Most client error codes are mapped based on\n// https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events\n\nimport {ClientEventError} from '../metrics.types';\n\nexport const CALL_DIAGNOSTIC_LOG_IDENTIFIER = 'call-diagnostic-events -> ';\n\nexport const AUTHENTICATION_FAILED_CODE = 1010;\nexport const NETWORK_ERROR = 1026;\nexport const NEW_LOCUS_ERROR_CLIENT_CODE = 4008;\nexport const MEETING_INFO_LOOKUP_ERROR_CLIENT_CODE = 4100;\nexport const UNKNOWN_ERROR = 9999; // Unexpected error that is not a meetingInfo error, locus error or browser media error.\nexport const ICE_FAILURE_CLIENT_CODE = 2004;\nexport const MISSING_ROAP_ANSWER_CLIENT_CODE = 2007;\nexport const DTLS_HANDSHAKE_FAILED_CLIENT_CODE = 2008;\nexport const ICE_FAILED_WITH_TURN_TLS_CLIENT_CODE = 2010;\nexport const ICE_FAILED_WITHOUT_TURN_TLS_CLIENT_CODE = 2009;\nexport const WBX_APP_API_URL = 'wbxappapi'; // MeetingInfo WebexAppApi response object normally contains a body.url that includes the string 'wbxappapi'\n\n// Found in https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\nconst BROWSER_MEDIA_ERROR_NAMES = {\n PERMISSION_DENIED_ERROR: 'PermissionDeniedError',\n NOT_ALLOWED_ERROR: 'NotAllowedError',\n NOT_READABLE_ERROR: 'NotReadableError',\n ABORT_ERROR: 'AbortError',\n NOT_FOUND_ERROR: 'NotFoundError',\n OVERCONSTRAINED_ERROR: 'OverconstrainedError',\n SECURITY_ERROR: 'SecurityError',\n TYPE_ERROR: 'TypeError',\n};\n\nexport const BROWSER_MEDIA_ERROR_NAME_TO_CLIENT_ERROR_CODES_MAP = {\n [BROWSER_MEDIA_ERROR_NAMES.PERMISSION_DENIED_ERROR]: 4032, // User did not grant permission\n [BROWSER_MEDIA_ERROR_NAMES.NOT_ALLOWED_ERROR]: 4032, // User did not grant permission\n [BROWSER_MEDIA_ERROR_NAMES.NOT_READABLE_ERROR]: 2729, // Although the user granted permission to use the matching devices, a hardware error occurred at the operating system, browser, or Web page level which prevented access to the device.\n [BROWSER_MEDIA_ERROR_NAMES.ABORT_ERROR]: 2729, // Although the user and operating system both granted access to the hardware device, and no hardware issues occurred that would cause a NotReadableError DOMException, throw if some problem occurred which prevented the device from being used.\n [BROWSER_MEDIA_ERROR_NAMES.NOT_FOUND_ERROR]: 2729, // User did not grant permission\n [BROWSER_MEDIA_ERROR_NAMES.OVERCONSTRAINED_ERROR]: 2729, // Thrown if the specified constraints resulted in no candidate devices which met the criteria requested.\n [BROWSER_MEDIA_ERROR_NAMES.SECURITY_ERROR]: 2729, // Thrown if user media support is disabled on the Document on which getUserMedia() was called. The mechanism by which user media support is enabled and disabled is left up to the individual user agent.\n [BROWSER_MEDIA_ERROR_NAMES.TYPE_ERROR]: 2729, // Thrown if the list of constraints specified is empty, or has all constraints set to false. This can also happen if you try to call getUserMedia() in an insecure context, since navigator.mediaDevices is undefined in an insecure context.\n};\n\nexport const ERROR_DESCRIPTIONS = {\n UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',\n LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',\n LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',\n LOCUS_UNAVAILABLE: 'LocusUnavailable',\n LOCUS_CONFLICT: 'LocusConflict',\n TIMEOUT: 'Timeout',\n LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',\n AUTHENTICATION_FAILED: 'AuthenticationFailed',\n NETWORK_ERROR: 'NetworkError',\n UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',\n FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',\n MEDIA_ENGINE_LOST: 'MediaEngineLost',\n MEDIA_CONNECTION_LOST: 'MediaConnectionLost',\n ICE_FAILURE: 'IceFailure',\n MEDIA_ENGINE_HANG: 'MediaEngineHang',\n ICE_SERVER_REJECTED: 'IceServerRejected',\n CALL_FULL: 'CallFull',\n ROOM_TOO_LARGE: 'RoomTooLarge',\n GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',\n LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',\n CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',\n ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',\n MEETING_INACTIVE: 'MeetingInactive',\n MEETING_LOCKED: 'MeetingLocked',\n MEETING_TERMINATING: 'MeetingTerminating',\n MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',\n MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',\n MODERATOR_REQUIRED: 'Moderator_Required',\n USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',\n NEW_LOCUS_ERROR: 'NewLocusError',\n NETWORK_UNAVAILABLE: 'NetworkUnavailable',\n MEETING_UNAVAILABLE: 'MeetingUnavailable',\n MEETING_ID_INVALID: 'MeetingIDInvalid',\n MEETING_SITE_INVALID: 'MeetingSiteInvalid',\n LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',\n LOBBY_EXPIRED: 'LobbyExpired',\n MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',\n PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',\n PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',\n INVALID_DIALABLE_KEY: 'InvalidDialableKey',\n ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',\n REMOVED_PARTICIPANT: 'RemovedParticipant',\n MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',\n PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',\n INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',\n PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',\n GUEST_FORBIDDEN: 'GuestForbidden',\n PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',\n EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',\n CONVERSATION_NOT_FOUND: 'ConversationNotFound',\n SIP_CALLEE_BUSY: 'SIPCalleeBusy',\n SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',\n START_RECORDING_FAILED: 'StartRecordingFailed',\n RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed',\n MEETING_INFO_LOOKUP_ERROR: 'MeetingInfoLookupError',\n CALL_FULL_ADD_GUEST: 'CallFullAddGuest',\n REQUIRE_WEBEX_LOGIN: 'RequireWebexLogin',\n USER_NOT_ALLOWED_ACCESS_MEETING: 'UserNotAllowedAccessMeeting',\n USER_NEEDS_ACTIVATION: 'UserNeedsActivation',\n SIGN_UP_INVALID_EMAIL: 'SignUpInvalidEmail',\n UNKNOWN_ERROR: 'UnknownError',\n NO_MEDIA_FOUND: 'NoMediaFound',\n STREAM_ERROR_NO_MEDIA: 'StreamErrorNoMedia',\n CAMERA_PERMISSION_DENIED: 'CameraPermissionDenied',\n FRAUD_DETECTION: 'FraudDetection',\n E2EE_NOT_SUPPORTED: 'E2EENotSupported',\n LOCUS_LOBBY_FULL_CMR: 'LocusLobbyFullCMR',\n USER_NOT_INVITED_TO_JOIN: 'UserNotInvitedToJoin',\n MISSING_ROAP_ANSWER: 'MissingRoapAnswer',\n DTLS_HANDSHAKE_FAILED: 'DTLSHandshakeFailed',\n ICE_FAILED_WITHOUT_TURN_TLS: 'ICEFailedWithoutTURN_TLS',\n ICE_FAILED_WITH_TURN_TLS: 'ICEFailedWithTURN_TLS',\n};\n\nexport const SERVICE_ERROR_CODES_TO_CLIENT_ERROR_CODES_MAP = {\n // ---- Webex API ----\n // Taken from https://wiki.cisco.com/display/HFWEB/MeetingInfo+API and https://sqbu-github.cisco.com/WebExSquared/spark-client-framework/blob/master/spark-client-framework/Services/WebexMeetingService/WebexMeetingModel.h\n // Site not support the URL's domain\n 58400: 4100,\n 99002: 4100,\n // Cannot find the data. Unkown meeting.\n 99009: 4100,\n // Meeting is not allow to cross env\n 58500: 4100,\n // Input parameters contain invalit item\n 400001: 4100,\n // Empty password or token. Meeting is not allow to access since require password\n 403004: 4005,\n // Wrong password. Meeting is not allow to access since password error\n 403028: 4005,\n // Wrong or expired permission. Meeting is not allow to access since permissionToken error or expire\n 403032: 4005,\n // Meeting is required login for current user\n 403034: 4036,\n // Meeting is not allow to access since require password or hostKey\n // Empty password or host key\n 403036: 4005,\n // Meeting is not allow to access since password or hostKey error\n // Wrong password or host key\n 403038: 4005,\n // CMR Meeting Not Supported (meeting exists, but not CMR meeting)\n 403040: 4100,\n // Requires Moderator Pin or Guest Pin\n 403041: 4005,\n // Email blocked\n 403047: 4101,\n // Device not authenticated for your organization\n 403408: 4101,\n // Invalid panelist Pin\n 403043: 4005,\n // Device not registered in org. Device not authenticated.\n 403048: 4101,\n // Not allowed to join external meetings. Violate meeting join policy. Your organization settings don't allow you to join this meeting.\n 403049: 4101,\n // Invalid email. Requires sign in meeting's current site.\n 403100: 4101,\n // Enforce sign in: need login before access when policy enforce sign in. GuestForceUserSignInPolicy\n 403101: 4036,\n // Enforce sign in: sign in with your email address that is approved by your organization\n 403102: 4036,\n // Join internal Meeting: need login before access when policy enforce sign in. Guest force user sign in internal meeting policy.\n 403103: 4036,\n // Join internal Meeting: The host's organization policy doesn't allow your account to join this meeting. Try switching to another account\n 403104: 4101,\n 404001: 4101,\n // Site data not found. Unkonwn meeting. Site data not found(or null).\n 404006: 4100,\n // Invalid input with too many requests. Too many requests access, please input captcha code\n 423001: 4005,\n // Wrong password with too many requests. PasswordError too many time, please input captcha code\n 423005: 4005,\n // Wrong password or host key with too many requests\n 423006: 4005,\n // PasswordError with right captcha, please input captcha code\n 423010: 4005,\n // PasswordOrHostKeyError with right captcha, please input captcha code\n 423012: 4005,\n // Unverified or invalid input. Force show captcha. Please input captcha code\"\n 423013: 4005,\n // Too many requests access\n 429005: 4100,\n\n // ---- Locus ------\n // FREE_USER_MAX_PARTICIPANTS_EXCEEDED\n 2403001: 3007,\n // PAID_USER_MAX_PARTICIPANTS_EXCEEDED\n 2403002: 3002,\n // SERVICE_MAX_PARTICIPANTS_EXCEEDED\n 2403003: 3002,\n // LOCUS_INACTIVE\n 2403004: 4001,\n // LOCUS_FREE_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED\n 2403018: 3001,\n // LOCUS_PAID_USER_MAX_PARTICIPANTS_JOINED_EXCEEDED\n 2403019: 3001,\n // LOCUS_LOCKED\n 2423003: 4002,\n // LOCUS_TERMINATING\n 2423004: 4003,\n // LOCUS_REQUIRES_MODERATOR_PIN_OR_GUEST\n 2423005: 4005,\n 2423006: 4005,\n 2423016: 4005,\n 2423017: 4005,\n 2423018: 4005,\n // LOCUS_OWNER_CONCURRENT_ACTIVE_MEETING_LIMIT_EXCEEDED\n 2423012: 12000,\n // LOCUS_LOBBY_FULL_CMR\n 2423021: 12001,\n // LOCUS_REQUIRES_MODERATOR_ROLE\n 2423007: 4006,\n // LOCUS_JOIN_RESTRICTED_USER_NOT_IN_ROOM\n 2403010: 4007,\n // LOCUS_MEETING_NOT_FOUND\n 2403014: 4011,\n // LOCUS_NOT_WEBEX_SITE\n 2403015: 4012,\n // LOCUS_INVALID_JOIN_TIME\n 2423010: 4013,\n // LOCUS_PHONE_NUMBER_NOT_A_NUMBER\n 2400008: 4016,\n // LOCUS_PHONE_NUMBER_TOO_LONG\n 2400011: 4017,\n // LOCUS_INVALID_DIALABLE_KEY\n 2400012: 4018,\n // LOCUS_ONE_ON_ONE_TO_SELF_NOT_ALLOWED\n 2403007: 4019,\n // LOCUS_REMOVED_PARTICIPANT\n 2401002: 4020,\n // LOCUS_MEETING_LINK_NOT_FOUND\n 2404002: 4021,\n // LOCUS_PHONE_NUMBER_TOO_SHORT_AFTER_IDD\n 2400009: 4022,\n // LOCUS_INVALID_INVITEE_ADDRESS\n 2400025: 4023,\n // LOCUS_PMR_USER_ACCOUNT_LOCKEDOUT\n 2423009: 4024,\n // LOCUS_RESOURCE_GUEST_FORBIDDEN\n 2403022: 4025,\n // LOCUS_PMR_SUSPENDED\n 2423008: 4026,\n // LOCUS_EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE\n 2400006: 4027,\n // LOCUS_INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST\n 2400014: 1006,\n // LOCUS_CONVERSATION_NOT_FOUND\n 2404001: 4028,\n // LOCUS_RECORDING_CONTROL_NOT_SUPPORTED\n 2403025: 4029,\n // LOCUS_RECORDING_NOT_STARTED\n 2405001: 4029,\n // LOCUS_RECORDING_NOT_ENABLED\n 2409005: 4029,\n // E2EE_NOT_SUPPORTED\n 2409062: 12002,\n // LOCUS: ONLY_INVITED_USERS_CAN_ATTEND_THIS_MEETING\n 2423025: 12003,\n\n // ---- U2C Sign in catalog ------\n // The user exists, but hasn't completed activation. Needs to visit Atlas for more processing.\n 100002: 4102,\n // The user exists, had completed activation earlier, but requires re-activation because of change in login strategy.\n // Common example is: user signed up using an OAuth provider, but that OAuth provider was removed by org's admin. Now the user needs to re-activate using alternate login strategies: password-pin, new OAuth provider, SSO, etc.\n 100007: 4102,\n // The user does not exist\n 100001: 4103,\n // The user wasn't found, and the organization used for search is a domain-claimed organization.\n 100006: 4103,\n 100005: 4103, // Depracated because of an issue in the UCF Clients\n // If both email-hash and domain-hash are null or undefined.\n 100004: 4103,\n};\n\nexport const CLIENT_ERROR_CODE_TO_ERROR_PAYLOAD: Record<number, Partial<ClientEventError>> = {\n 1000: {\n errorDescription: ERROR_DESCRIPTIONS.UNKNOWN_CALL_FAILURE,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1001: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_RATE_LIMITED_INCOMING,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1002: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_RATE_LIMITED_OUTGOING,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1003: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_UNAVAILABLE,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1004: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_CONFLICT,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1005: {\n errorDescription: ERROR_DESCRIPTIONS.TIMEOUT,\n category: 'signaling',\n fatal: true,\n name: 'locus.response',\n },\n 1006: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_INVALID_SEQUENCE_HASH,\n category: 'signaling',\n fatal: true,\n },\n 1007: {\n errorDescription: ERROR_DESCRIPTIONS.UPDATE_MEDIA_FAILED,\n category: 'signaling',\n fatal: true,\n },\n [AUTHENTICATION_FAILED_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.AUTHENTICATION_FAILED,\n category: 'network',\n fatal: true,\n },\n 1026: {\n errorDescription: ERROR_DESCRIPTIONS.NETWORK_ERROR,\n category: 'network',\n fatal: true,\n },\n 2001: {\n errorDescription: ERROR_DESCRIPTIONS.FAILED_TO_CONNECT_MEDIA,\n category: 'signaling',\n fatal: true,\n },\n 2002: {\n errorDescription: ERROR_DESCRIPTIONS.MEDIA_ENGINE_LOST,\n category: 'signaling',\n fatal: true,\n },\n 2003: {\n errorDescription: ERROR_DESCRIPTIONS.MEDIA_CONNECTION_LOST,\n category: 'signaling',\n fatal: true,\n },\n [ICE_FAILURE_CLIENT_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.ICE_FAILURE,\n category: 'media',\n fatal: true,\n },\n 2005: {\n errorDescription: ERROR_DESCRIPTIONS.MEDIA_ENGINE_HANG,\n category: 'signaling',\n fatal: true,\n },\n 2006: {\n errorDescription: ERROR_DESCRIPTIONS.ICE_SERVER_REJECTED,\n category: 'signaling',\n fatal: true,\n },\n [MISSING_ROAP_ANSWER_CLIENT_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.MISSING_ROAP_ANSWER,\n category: 'signaling',\n fatal: true,\n },\n [DTLS_HANDSHAKE_FAILED_CLIENT_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.DTLS_HANDSHAKE_FAILED,\n category: 'media',\n fatal: true,\n },\n [ICE_FAILED_WITHOUT_TURN_TLS_CLIENT_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.ICE_FAILED_WITHOUT_TURN_TLS,\n category: 'media',\n fatal: true,\n },\n [ICE_FAILED_WITH_TURN_TLS_CLIENT_CODE]: {\n errorDescription: ERROR_DESCRIPTIONS.ICE_FAILED_WITH_TURN_TLS,\n category: 'media',\n fatal: true,\n },\n 3001: {\n errorDescription: ERROR_DESCRIPTIONS.CALL_FULL,\n category: 'expected',\n fatal: true,\n },\n 3002: {\n errorDescription: ERROR_DESCRIPTIONS.ROOM_TOO_LARGE,\n category: 'expected',\n fatal: true,\n },\n 3004: {\n errorDescription: ERROR_DESCRIPTIONS.GUEST_ALREADY_ADDED,\n category: 'expected',\n fatal: false,\n },\n 3005: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_USER_NOT_AUTHORISED,\n category: 'expected',\n fatal: true,\n },\n 3006: {\n errorDescription: ERROR_DESCRIPTIONS.CLOUDBERRY_UNAVAILABLE,\n category: 'expected',\n fatal: true,\n },\n 3007: {\n errorDescription: ERROR_DESCRIPTIONS.STREAM_ERROR_NO_MEDIA,\n category: 'expected',\n fatal: true,\n },\n 3013: {\n errorDescription: ERROR_DESCRIPTIONS.ROOM_TOO_LARGE_FREE_ACCOUNT,\n category: 'expected',\n fatal: false,\n },\n 4001: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_INACTIVE,\n category: 'expected',\n fatal: true,\n },\n 4002: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_LOCKED,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n },\n 4003: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_TERMINATING,\n category: 'expected',\n fatal: true,\n name: 'locus.leave',\n },\n 4004: {\n errorDescription: ERROR_DESCRIPTIONS.MODERATOR_PIN_OR_GUEST_REQUIRED,\n category: 'expected',\n fatal: false,\n },\n 4005: {\n errorDescription: ERROR_DESCRIPTIONS.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,\n category: 'expected',\n fatal: false,\n },\n 4006: {\n errorDescription: ERROR_DESCRIPTIONS.MODERATOR_REQUIRED,\n category: 'expected',\n fatal: false,\n },\n 4007: {\n errorDescription: ERROR_DESCRIPTIONS.USER_NOT_MEMBER_OF_ROOM,\n category: 'expected',\n fatal: true,\n },\n 4008: {\n errorDescription: ERROR_DESCRIPTIONS.NEW_LOCUS_ERROR,\n category: 'signaling',\n fatal: true,\n },\n 4009: {\n errorDescription: ERROR_DESCRIPTIONS.NETWORK_UNAVAILABLE,\n category: 'network',\n fatal: true,\n },\n 4010: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_UNAVAILABLE,\n category: 'expected',\n fatal: true,\n },\n 4011: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_ID_INVALID,\n category: 'expected',\n fatal: true,\n },\n 4012: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_SITE_INVALID,\n category: 'expected',\n fatal: true,\n },\n 4013: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_INVALID_JOINTIME,\n category: 'expected',\n fatal: true,\n },\n 4014: {\n errorDescription: ERROR_DESCRIPTIONS.LOBBY_EXPIRED,\n category: 'expected',\n fatal: true,\n },\n 4015: {\n errorDescription: ERROR_DESCRIPTIONS.MEDIA_CONNECTION_LOST_PAIRED,\n category: 'expected',\n fatal: false,\n },\n 4016: {\n errorDescription: ERROR_DESCRIPTIONS.PHONE_NUMBER_NOT_A_NUMBER,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n },\n 4017: {\n errorDescription: ERROR_DESCRIPTIONS.PHONE_NUMBER_TOO_LONG,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n },\n 4018: {\n errorDescription: ERROR_DESCRIPTIONS.INVALID_DIALABLE_KEY,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n },\n 4019: {\n errorDescription: ERROR_DESCRIPTIONS.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,\n category: 'expected',\n fatal: true,\n },\n 4020: {\n errorDescription: ERROR_DESCRIPTIONS.REMOVED_PARTICIPANT,\n category: 'expected',\n fatal: true,\n },\n 4021: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_LINK_NOT_FOUND,\n category: 'expected',\n fatal: true,\n },\n 4022: {\n errorDescription: ERROR_DESCRIPTIONS.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,\n category: 'expected',\n fatal: true,\n },\n 4023: {\n errorDescription: ERROR_DESCRIPTIONS.INVALID_INVITEE_ADDRESS,\n category: 'expected',\n fatal: true,\n },\n 4024: {\n errorDescription: ERROR_DESCRIPTIONS.PMR_USER_ACCOUNT_LOCKED_OUT,\n category: 'expected',\n fatal: true,\n },\n 4025: {\n errorDescription: ERROR_DESCRIPTIONS.GUEST_FORBIDDEN,\n category: 'expected',\n fatal: true,\n },\n 4026: {\n errorDescription: ERROR_DESCRIPTIONS.PMR_ACCOUNT_SUSPENDED,\n category: 'expected',\n fatal: true,\n },\n 4027: {\n errorDescription: ERROR_DESCRIPTIONS.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,\n category: 'expected',\n fatal: true,\n },\n 4028: {\n errorDescription: ERROR_DESCRIPTIONS.CONVERSATION_NOT_FOUND,\n category: 'expected',\n fatal: true,\n },\n 4029: {\n errorDescription: ERROR_DESCRIPTIONS.START_RECORDING_FAILED,\n category: 'expected',\n fatal: true,\n },\n 4030: {\n errorDescription: ERROR_DESCRIPTIONS.RECORDING_IN_PROGRESS_FAILED,\n category: 'expected',\n fatal: true,\n },\n 4032: {\n errorDescription: ERROR_DESCRIPTIONS.CAMERA_PERMISSION_DENIED,\n category: 'expected',\n fatal: true,\n },\n 4036: {\n errorDescription: ERROR_DESCRIPTIONS.REQUIRE_WEBEX_LOGIN,\n category: 'expected',\n fatal: true,\n },\n 5000: {\n errorDescription: ERROR_DESCRIPTIONS.SIP_CALLEE_BUSY,\n category: 'expected',\n fatal: true,\n },\n 5001: {\n errorDescription: ERROR_DESCRIPTIONS.SIP_CALLEE_NOT_FOUND,\n category: 'expected',\n fatal: true,\n },\n\n // Webex App API Error Codes\n 4100: {\n errorDescription: ERROR_DESCRIPTIONS.MEETING_INFO_LOOKUP_ERROR,\n category: 'signaling',\n fatal: true,\n },\n 3003: {\n errorDescription: ERROR_DESCRIPTIONS.CALL_FULL_ADD_GUEST,\n category: 'expected',\n fatal: false,\n },\n 4101: {\n errorDescription: ERROR_DESCRIPTIONS.USER_NOT_ALLOWED_ACCESS_MEETING,\n category: 'expected',\n fatal: true,\n },\n 4102: {\n errorDescription: ERROR_DESCRIPTIONS.USER_NEEDS_ACTIVATION,\n category: 'expected',\n fatal: true,\n },\n 4103: {\n errorDescription: ERROR_DESCRIPTIONS.SIGN_UP_INVALID_EMAIL,\n category: 'expected',\n fatal: true,\n },\n 2729: {\n errorDescription: ERROR_DESCRIPTIONS.NO_MEDIA_FOUND,\n category: 'expected',\n fatal: false,\n },\n 9999: {\n errorDescription: ERROR_DESCRIPTIONS.UNKNOWN_ERROR,\n category: 'other',\n fatal: true,\n },\n 12000: {\n errorDescription: ERROR_DESCRIPTIONS.FRAUD_DETECTION,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n shownToUser: true,\n },\n 12001: {\n errorDescription: ERROR_DESCRIPTIONS.LOCUS_LOBBY_FULL_CMR,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n shownToUser: true,\n },\n 12002: {\n errorDescription: ERROR_DESCRIPTIONS.E2EE_NOT_SUPPORTED,\n category: 'expected',\n fatal: true,\n name: 'locus.response',\n shownToUser: true,\n },\n 12003: {\n errorDescription: ERROR_DESCRIPTIONS.USER_NOT_INVITED_TO_JOIN,\n category: 'expected',\n fatal: true,\n },\n};\n\nexport const CALL_DIAGNOSTIC_EVENT_FAILED_TO_SEND = 'js_sdk_call_diagnostic_event_failed_to_send';\n"],"mappings":"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"}
@@ -1,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
14
-
15
10
  var _batcher = _interopRequireDefault(require("./batcher"));
16
-
17
11
  /*!
18
12
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
19
13
  */
14
+
20
15
  var ClientMetricsBatcher = _batcher.default.extend({
21
16
  namespace: 'Metrics',
22
17
  prepareItem: function prepareItem(item) {
@@ -33,11 +28,11 @@ var ClientMetricsBatcher = _batcher.default.extend({
33
28
  resource: 'clientmetrics',
34
29
  body: {
35
30
  metrics: payload
36
- }
31
+ },
32
+ waitForServiceTimeout: this.webex.config.metrics.waitForServiceTimeout
37
33
  });
38
34
  }
39
35
  });
40
-
41
36
  var _default = ClientMetricsBatcher;
42
37
  exports.default = _default;
43
38
  //# sourceMappingURL=client-metrics-batcher.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ClientMetricsBatcher","Batcher","extend","namespace","prepareItem","item","resolve","prepareRequest","queue","submitHttpRequest","payload","webex","request","method","service","resource","body","metrics"],"sources":["client-metrics-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport Batcher from './batcher';\n\nconst ClientMetricsBatcher = Batcher.extend({\n namespace: 'Metrics',\n\n prepareItem(item) {\n // Add more defaults to payload when the clientmetrics endpoint evolves to support richer payloads\n return Promise.resolve(item);\n },\n\n prepareRequest(queue) {\n return Promise.resolve(queue);\n },\n\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'metrics',\n resource: 'clientmetrics',\n body: {\n metrics: payload\n }\n });\n }\n\n});\n\nexport default ClientMetricsBatcher;\n"],"mappings":";;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;AAIA,IAAMA,oBAAoB,GAAGC,gBAAA,CAAQC,MAAR,CAAe;EAC1CC,SAAS,EAAE,SAD+B;EAG1CC,WAH0C,uBAG9BC,IAH8B,EAGxB;IAChB;IACA,OAAO,iBAAQC,OAAR,CAAgBD,IAAhB,CAAP;EACD,CANyC;EAQ1CE,cAR0C,0BAQ3BC,KAR2B,EAQpB;IACpB,OAAO,iBAAQF,OAAR,CAAgBE,KAAhB,CAAP;EACD,CAVyC;EAY1CC,iBAZ0C,6BAYxBC,OAZwB,EAYf;IACzB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,OAAO,EAAE,SAFe;MAGxBC,QAAQ,EAAE,eAHc;MAIxBC,IAAI,EAAE;QACJC,OAAO,EAAEP;MADL;IAJkB,CAAnB,CAAP;EAQD;AArByC,CAAf,CAA7B;;eAyBeV,oB"}
1
+ {"version":3,"names":["ClientMetricsBatcher","Batcher","extend","namespace","prepareItem","item","resolve","prepareRequest","queue","submitHttpRequest","payload","webex","request","method","service","resource","body","metrics","waitForServiceTimeout","config"],"sources":["client-metrics-batcher.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport Batcher from './batcher';\n\nconst ClientMetricsBatcher = Batcher.extend({\n namespace: 'Metrics',\n\n prepareItem(item) {\n // Add more defaults to payload when the clientmetrics endpoint evolves to support richer payloads\n return Promise.resolve(item);\n },\n\n prepareRequest(queue) {\n return Promise.resolve(queue);\n },\n\n submitHttpRequest(payload) {\n return this.webex.request({\n method: 'POST',\n service: 'metrics',\n resource: 'clientmetrics',\n body: {\n metrics: payload,\n },\n waitForServiceTimeout: this.webex.config.metrics.waitForServiceTimeout,\n });\n },\n});\n\nexport default ClientMetricsBatcher;\n"],"mappings":";;;;;;;;;AAIA;AAJA;AACA;AACA;;AAIA,IAAMA,oBAAoB,GAAGC,gBAAO,CAACC,MAAM,CAAC;EAC1CC,SAAS,EAAE,SAAS;EAEpBC,WAAW,uBAACC,IAAI,EAAE;IAChB;IACA,OAAO,iBAAQC,OAAO,CAACD,IAAI,CAAC;EAC9B,CAAC;EAEDE,cAAc,0BAACC,KAAK,EAAE;IACpB,OAAO,iBAAQF,OAAO,CAACE,KAAK,CAAC;EAC/B,CAAC;EAEDC,iBAAiB,6BAACC,OAAO,EAAE;IACzB,OAAO,IAAI,CAACC,KAAK,CAACC,OAAO,CAAC;MACxBC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE,SAAS;MAClBC,QAAQ,EAAE,eAAe;MACzBC,IAAI,EAAE;QACJC,OAAO,EAAEP;MACX,CAAC;MACDQ,qBAAqB,EAAE,IAAI,CAACP,KAAK,CAACQ,MAAM,CAACF,OAAO,CAACC;IACnD,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAAC,eAEYlB,oBAAoB;AAAA"}
package/dist/config.js CHANGED
@@ -1,18 +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
- exports.default = exports.CLIENT_NAME = void 0;
10
-
7
+ exports.default = exports.OS_NAME = exports.OSMap = exports.CLIENT_NAME = void 0;
11
8
  var _common = require("@webex/common");
12
-
13
9
  /*!
14
10
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
15
11
  */
12
+
16
13
  var CLIENT_NAME = 'webex-js-sdk';
17
14
  exports.CLIENT_NAME = CLIENT_NAME;
18
15
  var _default = {
@@ -27,8 +24,28 @@ var _default = {
27
24
  batcherWait: 500,
28
25
  batcherMaxCalls: 50,
29
26
  batcherMaxWait: 1500,
30
- batcherRetryPlateau: 32000
27
+ batcherRetryPlateau: 32000,
28
+ waitForServiceTimeout: 15
31
29
  }
32
30
  };
33
31
  exports.default = _default;
32
+ var OS_NAME = {
33
+ WINDOWS: 'windows',
34
+ MAC: 'mac',
35
+ IOS: 'ios',
36
+ ANDROID: 'android',
37
+ CHROME: 'chrome',
38
+ LINUX: 'linux',
39
+ OTHERS: 'other'
40
+ };
41
+ exports.OS_NAME = OS_NAME;
42
+ var OSMap = {
43
+ 'Chrome OS': OS_NAME.CHROME,
44
+ macOS: OS_NAME.MAC,
45
+ Windows: OS_NAME.WINDOWS,
46
+ iOS: OS_NAME.IOS,
47
+ Android: OS_NAME.ANDROID,
48
+ Linux: OS_NAME.LINUX
49
+ };
50
+ exports.OSMap = OSMap;
34
51
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CLIENT_NAME","device","preDiscoveryServices","metricsServiceUrl","process","env","METRICS_SERVICE_URL","metrics","appType","inBrowser","batcherWait","batcherMaxCalls","batcherMaxWait","batcherRetryPlateau"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {inBrowser} from '@webex/common';\n\nexport const CLIENT_NAME = 'webex-js-sdk';\nexport default {\n device: {\n preDiscoveryServices: {\n metricsServiceUrl: process.env.METRICS_SERVICE_URL || 'https://metrics-a.wbx2.com/metrics/api/v1',\n metrics: process.env.METRICS_SERVICE_URL || 'https://metrics-a.wbx2.com/metrics/api/v1'\n }\n },\n metrics: {\n appType: inBrowser ? 'browser' : 'nodejs',\n batcherWait: 500,\n batcherMaxCalls: 50,\n batcherMaxWait: 1500,\n batcherRetryPlateau: 32000\n }\n};\n"],"mappings":";;;;;;;;;;AAIA;;AAJA;AACA;AACA;AAIO,IAAMA,WAAW,GAAG,cAApB;;eACQ;EACbC,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBC,iBAAiB,EAAEC,OAAO,CAACC,GAAR,CAAYC,mBAAZ,IAAmC,2CADlC;MAEpBC,OAAO,EAAEH,OAAO,CAACC,GAAR,CAAYC,mBAAZ,IAAmC;IAFxB;EADhB,CADK;EAObC,OAAO,EAAE;IACPC,OAAO,EAAEC,iBAAA,GAAY,SAAZ,GAAwB,QAD1B;IAEPC,WAAW,EAAE,GAFN;IAGPC,eAAe,EAAE,EAHV;IAIPC,cAAc,EAAE,IAJT;IAKPC,mBAAmB,EAAE;EALd;AAPI,C"}
1
+ {"version":3,"names":["CLIENT_NAME","device","preDiscoveryServices","metricsServiceUrl","process","env","METRICS_SERVICE_URL","metrics","appType","inBrowser","batcherWait","batcherMaxCalls","batcherMaxWait","batcherRetryPlateau","waitForServiceTimeout","OS_NAME","WINDOWS","MAC","IOS","ANDROID","CHROME","LINUX","OTHERS","OSMap","macOS","Windows","iOS","Android","Linux"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {inBrowser} from '@webex/common';\n\nexport const CLIENT_NAME = 'webex-js-sdk';\nexport default {\n device: {\n preDiscoveryServices: {\n metricsServiceUrl:\n process.env.METRICS_SERVICE_URL || 'https://metrics-a.wbx2.com/metrics/api/v1',\n metrics: process.env.METRICS_SERVICE_URL || 'https://metrics-a.wbx2.com/metrics/api/v1',\n },\n },\n metrics: {\n appType: inBrowser ? 'browser' : 'nodejs',\n batcherWait: 500,\n batcherMaxCalls: 50,\n batcherMaxWait: 1500,\n batcherRetryPlateau: 32000,\n waitForServiceTimeout: 15,\n },\n};\n\nexport const OS_NAME = {\n WINDOWS: 'windows',\n MAC: 'mac',\n IOS: 'ios',\n ANDROID: 'android',\n CHROME: 'chrome',\n LINUX: 'linux',\n OTHERS: 'other',\n};\n\nexport const OSMap = {\n 'Chrome OS': OS_NAME.CHROME,\n macOS: OS_NAME.MAC,\n Windows: OS_NAME.WINDOWS,\n iOS: OS_NAME.IOS,\n Android: OS_NAME.ANDROID,\n Linux: OS_NAME.LINUX,\n};\n"],"mappings":";;;;;;;AAIA;AAJA;AACA;AACA;;AAIO,IAAMA,WAAW,GAAG,cAAc;AAAC;AAAA,eAC3B;EACbC,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBC,iBAAiB,EACfC,OAAO,CAACC,GAAG,CAACC,mBAAmB,IAAI,2CAA2C;MAChFC,OAAO,EAAEH,OAAO,CAACC,GAAG,CAACC,mBAAmB,IAAI;IAC9C;EACF,CAAC;EACDC,OAAO,EAAE;IACPC,OAAO,EAAEC,iBAAS,GAAG,SAAS,GAAG,QAAQ;IACzCC,WAAW,EAAE,GAAG;IAChBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,IAAI;IACpBC,mBAAmB,EAAE,KAAK;IAC1BC,qBAAqB,EAAE;EACzB;AACF,CAAC;AAAA;AAEM,IAAMC,OAAO,GAAG;EACrBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACV,CAAC;AAAC;AAEK,IAAMC,KAAK,GAAG;EACnB,WAAW,EAAER,OAAO,CAACK,MAAM;EAC3BI,KAAK,EAAET,OAAO,CAACE,GAAG;EAClBQ,OAAO,EAAEV,OAAO,CAACC,OAAO;EACxBU,GAAG,EAAEX,OAAO,CAACG,GAAG;EAChBS,OAAO,EAAEZ,OAAO,CAACI,OAAO;EACxBS,KAAK,EAAEb,OAAO,CAACM;AACjB,CAAC;AAAC"}
package/dist/index.js CHANGED
@@ -1,39 +1,60 @@
1
1
  "use strict";
2
2
 
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
3
5
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
5
7
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
8
  _Object$defineProperty(exports, "__esModule", {
8
9
  value: true
9
10
  });
10
-
11
+ exports.CallDiagnosticUtils = exports.CALL_DIAGNOSTIC_CONFIG = void 0;
12
+ _Object$defineProperty(exports, "NewMetrics", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _newMetrics.default;
16
+ }
17
+ });
18
+ exports.Utils = void 0;
11
19
  _Object$defineProperty(exports, "config", {
12
20
  enumerable: true,
13
21
  get: function get() {
14
22
  return _config.default;
15
23
  }
16
24
  });
17
-
18
25
  _Object$defineProperty(exports, "default", {
19
26
  enumerable: true,
20
27
  get: function get() {
21
28
  return _metrics.default;
22
29
  }
23
30
  });
24
-
31
+ _Object$defineProperty(exports, "getOSNameInternal", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _metrics.getOSNameInternal;
35
+ }
36
+ });
25
37
  require("@webex/internal-plugin-device");
26
-
27
38
  var _webexCore = require("@webex/webex-core");
28
-
29
- var _metrics = _interopRequireDefault(require("./metrics"));
30
-
39
+ var _metrics = _interopRequireWildcard(require("./metrics"));
31
40
  var _config = _interopRequireDefault(require("./config"));
32
-
41
+ var _newMetrics = _interopRequireDefault(require("./new-metrics"));
42
+ var Utils = _interopRequireWildcard(require("./utils"));
43
+ exports.Utils = Utils;
44
+ var CALL_DIAGNOSTIC_CONFIG = _interopRequireWildcard(require("./call-diagnostic/config"));
45
+ exports.CALL_DIAGNOSTIC_CONFIG = CALL_DIAGNOSTIC_CONFIG;
46
+ var CallDiagnosticUtils = _interopRequireWildcard(require("./call-diagnostic/call-diagnostic-metrics.util"));
47
+ exports.CallDiagnosticUtils = CallDiagnosticUtils;
48
+ 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); }
49
+ 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; }
33
50
  /*!
34
51
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
35
52
  */
53
+
36
54
  (0, _webexCore.registerInternalPlugin)('metrics', _metrics.default, {
37
55
  config: _config.default
38
56
  });
57
+ (0, _webexCore.registerInternalPlugin)('newMetrics', _newMetrics.default, {
58
+ config: _config.default
59
+ });
39
60
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Metrics","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Metrics from './metrics';\nimport config from './config';\n\nregisterInternalPlugin('metrics', Metrics, {\n config\n});\n\nexport {default} from './metrics';\nexport {config};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;AAEA;;AACA;;AATA;AACA;AACA;AASA,IAAAA,iCAAA,EAAuB,SAAvB,EAAkCC,gBAAlC,EAA2C;EACzCC,MAAM,EAANA;AADyC,CAA3C"}
1
+ {"version":3,"names":["registerInternalPlugin","Metrics","config","NewMetrics"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Metrics from './metrics';\nimport config from './config';\nimport NewMetrics from './new-metrics';\nimport * as Utils from './utils';\nimport {\n ClientEvent,\n ClientEventLeaveReason,\n SubmitBehavioralEvent,\n SubmitClientEvent,\n SubmitInternalEvent,\n SubmitOperationalEvent,\n SubmitMQE,\n} from './metrics.types';\nimport * as CALL_DIAGNOSTIC_CONFIG from './call-diagnostic/config';\nimport * as CallDiagnosticUtils from './call-diagnostic/call-diagnostic-metrics.util';\n\nregisterInternalPlugin('metrics', Metrics, {\n config,\n});\n\nregisterInternalPlugin('newMetrics', NewMetrics, {\n config,\n});\n\nexport {default, getOSNameInternal} from './metrics';\nexport {config, CALL_DIAGNOSTIC_CONFIG, NewMetrics, Utils, CallDiagnosticUtils};\nexport type {\n ClientEvent,\n ClientEventLeaveReason,\n SubmitBehavioralEvent,\n SubmitClientEvent,\n SubmitInternalEvent,\n SubmitMQE,\n SubmitOperationalEvent,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AAEA;AAEA;AACA;AACA;AACA;AAAiC;AAUjC;AAAmE;AACnE;AAAsF;AAAA;AAAA;AAtBtF;AACA;AACA;;AAsBA,IAAAA,iCAAsB,EAAC,SAAS,EAAEC,gBAAO,EAAE;EACzCC,MAAM,EAANA;AACF,CAAC,CAAC;AAEF,IAAAF,iCAAsB,EAAC,YAAY,EAAEG,mBAAU,EAAE;EAC/CD,MAAM,EAANA;AACF,CAAC,CAAC"}
package/dist/metrics.js CHANGED
@@ -1,126 +1,88 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
14
+ exports.getOSNameInternal = getOSNameInternal;
23
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
26
-
27
16
  var _webexCore = require("@webex/webex-core");
28
-
29
17
  var _common = require("@webex/common");
30
-
31
18
  var _config = require("./config");
32
-
33
19
  var _batcher = _interopRequireDefault(require("./batcher"));
34
-
35
20
  var _clientMetricsBatcher = _interopRequireDefault(require("./client-metrics-batcher"));
36
-
37
- var _callDiagnosticEventsBatcher = _interopRequireDefault(require("./call-diagnostic-events-batcher"));
38
-
39
21
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
40
-
41
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
42
-
43
23
  var _BrowserDetection = (0, _common.BrowserDetection)(),
44
- getOSName = _BrowserDetection.getOSName,
45
- getOSVersion = _BrowserDetection.getOSVersion,
46
- getBrowserName = _BrowserDetection.getBrowserName,
47
- getBrowserVersion = _BrowserDetection.getBrowserVersion;
48
-
24
+ getOSName = _BrowserDetection.getOSName,
25
+ getOSVersion = _BrowserDetection.getOSVersion,
26
+ getBrowserName = _BrowserDetection.getBrowserName,
27
+ getBrowserVersion = _BrowserDetection.getBrowserVersion;
28
+ function getOSNameInternal() {
29
+ var _OSMap$getOSName;
30
+ return (_OSMap$getOSName = _config.OSMap[getOSName()]) !== null && _OSMap$getOSName !== void 0 ? _OSMap$getOSName : _config.OS_NAME.OTHERS;
31
+ }
49
32
  function getSparkUserAgent(webex) {
50
33
  var _webex$config;
51
-
52
34
  var _ref = (_webex$config = webex === null || webex === void 0 ? void 0 : webex.config) !== null && _webex$config !== void 0 ? _webex$config : {},
53
- appName = _ref.appName,
54
- appVersion = _ref.appVersion,
55
- appPlatform = _ref.appPlatform;
56
-
35
+ appName = _ref.appName,
36
+ appVersion = _ref.appVersion,
37
+ appPlatform = _ref.appPlatform;
57
38
  var sparkUserAgent = _config.CLIENT_NAME;
58
-
59
39
  if (appName) {
60
40
  sparkUserAgent += " ".concat(appName, "/").concat(appVersion !== null && appVersion !== void 0 ? appVersion : '0.0');
61
41
  }
62
-
63
42
  if (appPlatform) {
64
43
  sparkUserAgent += " ".concat(appPlatform);
65
44
  }
66
-
67
45
  return sparkUserAgent;
68
46
  }
69
-
70
47
  var Metrics = _webexCore.WebexPlugin.extend({
71
48
  children: {
72
49
  batcher: _batcher.default,
73
- clientMetricsBatcher: _clientMetricsBatcher.default,
74
- callDiagnosticEventsBatcher: _callDiagnosticEventsBatcher.default
50
+ clientMetricsBatcher: _clientMetricsBatcher.default
75
51
  },
76
52
  namespace: 'Metrics',
77
53
  submit: function submit(key, value) {
78
- return this.batcher.request((0, _assign.default)({
54
+ return this.batcher.request(_objectSpread({
79
55
  key: key
80
56
  }, value));
81
57
  },
82
-
83
58
  /**
84
- * This corresponds to #sendSemiStructured() in the deprecated metrics handler
59
+ * Returns the payload for submitting client metrics.
85
60
  * @param {string} eventName
86
- * @param {Object} props
87
- * @param {string} preLoginId
88
- * @returns {Object} HttpResponse object
61
+ * @param {any} props
62
+ * @returns {any} - the payload
89
63
  */
90
- submitClientMetrics: function submitClientMetrics(eventName) {
91
- var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
92
- var preLoginId = arguments.length > 2 ? arguments[2] : undefined;
93
-
64
+ getClientMetricsPayload: function getClientMetricsPayload(eventName, props) {
94
65
  if (!eventName) {
95
66
  throw Error('Missing behavioral metric name. Please provide one');
96
67
  }
97
-
98
68
  var payload = {
99
69
  metricName: eventName
100
70
  };
101
71
  payload.tags = _objectSpread(_objectSpread({}, props.tags), {}, {
102
72
  browser: getBrowserName(),
103
- os: getOSName(),
73
+ os: getOSNameInternal(),
104
74
  // Node does not like this so we need to check if it exists or not
105
75
  // eslint-disable-next-line no-undef
106
- domain: typeof window !== 'undefined' ? window.location.hostname || 'non-browser' : 'non-browser',
107
- // Check what else we could measure
108
- client_id: this.webex.credentials.config.client_id,
109
- user_id: this.webex.internal.device.userId
76
+ domain: typeof window !== 'undefined' ? window.location.hostname || 'non-browser' : 'non-browser' // Check what else we could measure
110
77
  });
111
78
 
112
- try {
113
- payload.tags.org_id = this.webex.credentials.getOrgId();
114
- } catch (_unused) {
115
- this.logger.info('metrics: unable to get orgId');
116
- }
117
-
118
79
  payload.fields = _objectSpread(_objectSpread({}, props.fields), {}, {
119
80
  browser_version: getBrowserVersion(),
120
81
  os_version: getOSVersion(),
121
82
  sdk_version: this.webex.version,
122
83
  platform: 'Web',
123
- spark_user_agent: getSparkUserAgent(this.webex)
84
+ spark_user_agent: getSparkUserAgent(this.webex),
85
+ client_id: this.webex.credentials.config.client_id
124
86
  });
125
87
  payload.type = props.type || this.webex.config.metrics.type;
126
88
  payload.context = _objectSpread(_objectSpread({}, props.context), {}, {
@@ -129,32 +91,42 @@ var Metrics = _webexCore.WebexPlugin.extend({
129
91
  },
130
92
  locale: 'en-US',
131
93
  os: {
132
- name: getOSName(),
94
+ name: getOSNameInternal(),
133
95
  version: getOSVersion()
134
96
  }
135
97
  });
136
-
137
98
  if (props.eventPayload) {
138
99
  payload.eventPayload = props.eventPayload;
139
- } // Mocking the time in tests when running in node
140
- // is impossible so unable to use Date.now()
141
-
100
+ }
142
101
 
102
+ // Mocking the time in tests when running in node
103
+ // is impossible so unable to use Date.now()
143
104
  payload.timestamp = new Date().valueOf();
144
-
105
+ return payload;
106
+ },
107
+ /**
108
+ * This corresponds to #sendSemiStructured() in the deprecated metrics handler
109
+ * @param {string} eventName
110
+ * @param {Object} props
111
+ * @param {string} preLoginId
112
+ * @returns {Object} HttpResponse object
113
+ */
114
+ submitClientMetrics: function submitClientMetrics(eventName) {
115
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
116
+ var preLoginId = arguments.length > 2 ? arguments[2] : undefined;
117
+ var payload = this.getClientMetricsPayload(eventName, props);
145
118
  if (preLoginId) {
146
119
  var _payload = {
147
120
  metrics: [payload]
148
- }; // Do not batch these because pre-login events occur during onboarding, so we will be partially blind
121
+ };
122
+
123
+ // Do not batch these because pre-login events occur during onboarding, so we will be partially blind
149
124
  // to users' progress through the reg flow if we wait to persist pre-login metrics for people who drop off because
150
125
  // their metrics will not post from a queue flush in time
151
-
152
126
  return this.postPreLoginMetric(_payload, preLoginId);
153
127
  }
154
-
155
128
  return this.clientMetricsBatcher.request(payload);
156
129
  },
157
-
158
130
  /**
159
131
  * Issue request to alias a user's pre-login ID with their CI UUID
160
132
  * @param {string} preLoginId
@@ -176,7 +148,6 @@ var Metrics = _webexCore.WebexPlugin.extend({
176
148
  },
177
149
  postPreLoginMetric: function postPreLoginMetric(payload, preLoginId) {
178
150
  var _this = this;
179
-
180
151
  return this.webex.credentials.getClientToken().then(function (token) {
181
152
  return _this.request({
182
153
  method: 'POST',
@@ -190,16 +161,8 @@ var Metrics = _webexCore.WebexPlugin.extend({
190
161
  });
191
162
  });
192
163
  },
193
- submitCallDiagnosticEvents: function submitCallDiagnosticEvents(payload) {
194
- var event = {
195
- type: 'diagnostic-event',
196
- eventPayload: payload
197
- };
198
- return this.callDiagnosticEventsBatcher.request(event);
199
- },
200
- version: "3.0.0-beta.3"
164
+ version: "3.0.0-beta.300"
201
165
  });
202
-
203
166
  var _default = Metrics;
204
167
  exports.default = _default;
205
168
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BrowserDetection","getOSName","getOSVersion","getBrowserName","getBrowserVersion","getSparkUserAgent","webex","config","appName","appVersion","appPlatform","sparkUserAgent","CLIENT_NAME","Metrics","WebexPlugin","extend","children","batcher","Batcher","clientMetricsBatcher","ClientMetricsBatcher","callDiagnosticEventsBatcher","CallDiagnosticEventsBatcher","namespace","submit","key","value","request","submitClientMetrics","eventName","props","preLoginId","Error","payload","metricName","tags","browser","os","domain","window","location","hostname","client_id","credentials","user_id","internal","device","userId","org_id","getOrgId","logger","info","fields","browser_version","os_version","sdk_version","version","platform","spark_user_agent","type","metrics","context","app","locale","name","eventPayload","timestamp","Date","valueOf","_payload","postPreLoginMetric","aliasUser","method","api","resource","headers","body","qs","alias","getClientToken","then","token","authorization","toString","submitCallDiagnosticEvents","event"],"sources":["metrics.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {BrowserDetection} from '@webex/common';\n\nimport {CLIENT_NAME} from './config';\nimport Batcher from './batcher';\nimport ClientMetricsBatcher from './client-metrics-batcher';\nimport CallDiagnosticEventsBatcher from './call-diagnostic-events-batcher';\n\nconst {\n getOSName,\n getOSVersion,\n getBrowserName,\n getBrowserVersion\n} = BrowserDetection();\n\nfunction getSparkUserAgent(webex) {\n const {\n appName,\n appVersion,\n appPlatform\n } = webex?.config ?? {};\n\n let sparkUserAgent = CLIENT_NAME;\n\n if (appName) {\n sparkUserAgent += ` ${appName}/${appVersion ?? '0.0'}`;\n }\n\n if (appPlatform) {\n sparkUserAgent += ` ${appPlatform}`;\n }\n\n return sparkUserAgent;\n}\n\n\nconst Metrics = WebexPlugin.extend({\n children: {\n batcher: Batcher,\n clientMetricsBatcher: ClientMetricsBatcher,\n callDiagnosticEventsBatcher: CallDiagnosticEventsBatcher\n },\n\n namespace: 'Metrics',\n\n submit(key, value) {\n return this.batcher.request(Object.assign({key}, value));\n },\n\n\n /**\n * This corresponds to #sendSemiStructured() in the deprecated metrics handler\n * @param {string} eventName\n * @param {Object} props\n * @param {string} preLoginId\n * @returns {Object} HttpResponse object\n */\n submitClientMetrics(eventName, props = {}, preLoginId) {\n if (!eventName) {\n throw Error('Missing behavioral metric name. Please provide one');\n }\n const payload = {metricName: eventName};\n\n payload.tags = {\n ...props.tags,\n browser: getBrowserName(),\n os: getOSName(),\n\n // Node does not like this so we need to check if it exists or not\n // eslint-disable-next-line no-undef\n domain: typeof window !== 'undefined' ? window.location.hostname || 'non-browser' : 'non-browser', // Check what else we could measure\n client_id: this.webex.credentials.config.client_id,\n user_id: this.webex.internal.device.userId\n };\n\n try {\n payload.tags.org_id = this.webex.credentials.getOrgId();\n }\n catch {\n this.logger.info('metrics: unable to get orgId');\n }\n\n\n payload.fields = {\n ...props.fields,\n browser_version: getBrowserVersion(),\n os_version: getOSVersion(),\n sdk_version: this.webex.version,\n platform: 'Web',\n spark_user_agent: getSparkUserAgent(this.webex)\n };\n\n\n payload.type = props.type || this.webex.config.metrics.type;\n\n\n payload.context = {\n ...props.context,\n app: {\n version: this.webex.version\n },\n locale: 'en-US',\n os: {\n name: getOSName(),\n version: getOSVersion()\n }\n };\n\n\n if (props.eventPayload) {\n payload.eventPayload = props.eventPayload;\n }\n\n // Mocking the time in tests when running in node\n // is impossible so unable to use Date.now()\n payload.timestamp = new Date().valueOf();\n\n if (preLoginId) {\n const _payload = {\n metrics: [payload]\n };\n\n // Do not batch these because pre-login events occur during onboarding, so we will be partially blind\n // to users' progress through the reg flow if we wait to persist pre-login metrics for people who drop off because\n // their metrics will not post from a queue flush in time\n return this.postPreLoginMetric(_payload, preLoginId);\n }\n\n return this.clientMetricsBatcher.request(payload);\n },\n\n /**\n * Issue request to alias a user's pre-login ID with their CI UUID\n * @param {string} preLoginId\n * @returns {Object} HttpResponse object\n */\n aliasUser(preLoginId) {\n return this.request({\n method: 'POST',\n api: 'metrics',\n resource: 'clientmetrics',\n headers: {\n 'x-prelogin-userid': preLoginId\n },\n body: {},\n qs: {\n alias: true\n }\n });\n },\n\n postPreLoginMetric(payload, preLoginId) {\n return this.webex.credentials.getClientToken().then((token) =>\n this.request({\n method: 'POST',\n api: 'metrics',\n resource: 'clientmetrics-prelogin',\n headers: {\n authorization: token.toString(),\n 'x-prelogin-userid': preLoginId\n },\n body: payload\n }));\n },\n\n submitCallDiagnosticEvents(payload) {\n const event = {\n type: 'diagnostic-event',\n eventPayload: payload\n };\n\n return this.callDiagnosticEventsBatcher.request(event);\n }\n});\n\nexport default Metrics;\n"],"mappings":"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"}
1
+ {"version":3,"names":["BrowserDetection","getOSName","getOSVersion","getBrowserName","getBrowserVersion","getOSNameInternal","OSMap","OS_NAME","OTHERS","getSparkUserAgent","webex","config","appName","appVersion","appPlatform","sparkUserAgent","CLIENT_NAME","Metrics","WebexPlugin","extend","children","batcher","Batcher","clientMetricsBatcher","ClientMetricsBatcher","namespace","submit","key","value","request","getClientMetricsPayload","eventName","props","Error","payload","metricName","tags","browser","os","domain","window","location","hostname","fields","browser_version","os_version","sdk_version","version","platform","spark_user_agent","client_id","credentials","type","metrics","context","app","locale","name","eventPayload","timestamp","Date","valueOf","submitClientMetrics","preLoginId","_payload","postPreLoginMetric","aliasUser","method","api","resource","headers","body","qs","alias","getClientToken","then","token","authorization","toString"],"sources":["metrics.js"],"sourcesContent":["/* eslint-disable default-param-last */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {BrowserDetection} from '@webex/common';\nimport {OS_NAME, OSMap, CLIENT_NAME} from './config';\n\nimport Batcher from './batcher';\nimport ClientMetricsBatcher from './client-metrics-batcher';\n\nconst {getOSName, getOSVersion, getBrowserName, getBrowserVersion} = BrowserDetection();\n\nexport function getOSNameInternal() {\n return OSMap[getOSName()] ?? OS_NAME.OTHERS;\n}\n\nfunction getSparkUserAgent(webex) {\n const {appName, appVersion, appPlatform} = webex?.config ?? {};\n\n let sparkUserAgent = CLIENT_NAME;\n\n if (appName) {\n sparkUserAgent += ` ${appName}/${appVersion ?? '0.0'}`;\n }\n\n if (appPlatform) {\n sparkUserAgent += ` ${appPlatform}`;\n }\n\n return sparkUserAgent;\n}\n\nconst Metrics = WebexPlugin.extend({\n children: {\n batcher: Batcher,\n clientMetricsBatcher: ClientMetricsBatcher,\n },\n\n namespace: 'Metrics',\n\n submit(key, value) {\n return this.batcher.request({key, ...value});\n },\n\n /**\n * Returns the payload for submitting client metrics.\n * @param {string} eventName\n * @param {any} props\n * @returns {any} - the payload\n */\n getClientMetricsPayload(eventName, props) {\n if (!eventName) {\n throw Error('Missing behavioral metric name. Please provide one');\n }\n const payload = {metricName: eventName};\n\n payload.tags = {\n ...props.tags,\n browser: getBrowserName(),\n os: getOSNameInternal(),\n\n // Node does not like this so we need to check if it exists or not\n // eslint-disable-next-line no-undef\n domain:\n typeof window !== 'undefined' ? window.location.hostname || 'non-browser' : 'non-browser', // Check what else we could measure\n };\n\n payload.fields = {\n ...props.fields,\n browser_version: getBrowserVersion(),\n os_version: getOSVersion(),\n sdk_version: this.webex.version,\n platform: 'Web',\n spark_user_agent: getSparkUserAgent(this.webex),\n client_id: this.webex.credentials.config.client_id,\n };\n\n payload.type = props.type || this.webex.config.metrics.type;\n\n payload.context = {\n ...props.context,\n app: {\n version: this.webex.version,\n },\n locale: 'en-US',\n os: {\n name: getOSNameInternal(),\n version: getOSVersion(),\n },\n };\n\n if (props.eventPayload) {\n payload.eventPayload = props.eventPayload;\n }\n\n // Mocking the time in tests when running in node\n // is impossible so unable to use Date.now()\n payload.timestamp = new Date().valueOf();\n\n return payload;\n },\n\n /**\n * This corresponds to #sendSemiStructured() in the deprecated metrics handler\n * @param {string} eventName\n * @param {Object} props\n * @param {string} preLoginId\n * @returns {Object} HttpResponse object\n */\n submitClientMetrics(eventName, props = {}, preLoginId) {\n const payload = this.getClientMetricsPayload(eventName, props);\n\n if (preLoginId) {\n const _payload = {\n metrics: [payload],\n };\n\n // Do not batch these because pre-login events occur during onboarding, so we will be partially blind\n // to users' progress through the reg flow if we wait to persist pre-login metrics for people who drop off because\n // their metrics will not post from a queue flush in time\n return this.postPreLoginMetric(_payload, preLoginId);\n }\n\n return this.clientMetricsBatcher.request(payload);\n },\n\n /**\n * Issue request to alias a user's pre-login ID with their CI UUID\n * @param {string} preLoginId\n * @returns {Object} HttpResponse object\n */\n aliasUser(preLoginId) {\n return this.request({\n method: 'POST',\n api: 'metrics',\n resource: 'clientmetrics',\n headers: {\n 'x-prelogin-userid': preLoginId,\n },\n body: {},\n qs: {\n alias: true,\n },\n });\n },\n\n postPreLoginMetric(payload, preLoginId) {\n return this.webex.credentials.getClientToken().then((token) =>\n this.request({\n method: 'POST',\n api: 'metrics',\n resource: 'clientmetrics-prelogin',\n headers: {\n authorization: token.toString(),\n 'x-prelogin-userid': preLoginId,\n },\n body: payload,\n })\n );\n },\n});\n\nexport default Metrics;\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ //# sourceMappingURL=metrics.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["metrics.types.ts"],"sourcesContent":["import {\n ClientEvent as RawClientEvent,\n Event as RawEvent,\n MediaQualityEvent as RawMediaQualityEvent,\n} from '@webex/event-dictionary-ts';\n\nexport type Event = Omit<RawEvent, 'event'> & {event: RawClientEvent | RawMediaQualityEvent};\n\nexport type ClientEventError = NonNullable<RawClientEvent['errors']>[0];\n\nexport type EnvironmentType = NonNullable<RawEvent['origin']['environment']>;\n\nexport type NewEnvironmentType = NonNullable<RawEvent['origin']['newEnvironment']>;\n\nexport type ClientLaunchMethodType = NonNullable<\n RawEvent['origin']['clientInfo']\n>['clientLaunchMethod'];\n\nexport type SubmitClientEventOptions = {\n meetingId?: string;\n mediaConnections?: any[];\n rawError?: any;\n correlationId?: string;\n preLoginId?: string;\n environment?: EnvironmentType;\n newEnvironmentType?: NewEnvironmentType;\n clientLaunchMethod?: ClientLaunchMethodType;\n webexConferenceIdStr?: string;\n globalMeetingId?: string;\n};\n\nexport type SubmitMQEOptions = {\n meetingId: string;\n mediaConnections?: any[];\n networkType?: Event['origin']['networkType'];\n webexConferenceIdStr?: string;\n globalMeetingId?: string;\n};\n\nexport type InternalEvent = {\n name:\n | 'internal.client.meetinginfo.request'\n | 'internal.client.meetinginfo.response'\n | 'internal.reset.join.latencies'\n | 'internal.client.meeting.click.joinbutton'\n | 'internal.host.meeting.participant.admitted'\n | 'internal.client.meeting.interstitial-window.showed'\n | 'internal.client.interstitial-window.click.joinbutton'\n | 'internal.client.add-media.turn-discovery.start'\n | 'internal.client.add-media.turn-discovery.end';\n\n payload?: never;\n options?: never;\n};\n\nexport interface ClientEvent {\n name: RawClientEvent['name'];\n payload?: RawClientEvent;\n options?: SubmitClientEventOptions;\n}\n\nexport interface BehavioralEvent {\n // TODO: not implemented\n name: 'host.meeting.participant.admitted' | 'sdk.media-flow.started';\n payload?: never;\n options?: never;\n}\n\nexport interface OperationalEvent {\n // TODO: not implemented\n name: never;\n payload?: never;\n options?: never;\n}\n\nexport interface FeatureEvent {\n // TODO: not implemented\n name: never;\n payload?: never;\n options?: never;\n}\n\nexport interface MediaQualityEvent {\n name: RawMediaQualityEvent['name'];\n payload?: RawMediaQualityEvent;\n options: SubmitMQEOptions;\n}\n\nexport type RecursivePartial<T> = {\n [P in keyof T]?: T[P] extends (infer U)[]\n ? RecursivePartial<U>[]\n : T[P] extends object\n ? RecursivePartial<T[P]>\n : T[P];\n};\n\nexport type MetricEventNames =\n | InternalEvent['name']\n | ClientEvent['name']\n | BehavioralEvent['name']\n | OperationalEvent['name']\n | FeatureEvent['name']\n | MediaQualityEvent['name'];\n\nexport type ClientInfo = NonNullable<RawEvent['origin']['clientInfo']>;\nexport type ClientType = NonNullable<RawEvent['origin']['clientInfo']>['clientType'];\nexport type SubClientType = NonNullable<RawEvent['origin']['clientInfo']>['subClientType'];\nexport type NetworkType = NonNullable<RawEvent['origin']>['networkType'];\n\nexport type ClientEventPayload = RecursivePartial<ClientEvent['payload']>;\nexport type ClientEventLeaveReason = ClientEvent['payload']['leaveReason'];\nexport type ClientEventPayloadError = ClientEvent['payload']['errors'];\n\nexport type MediaQualityEventAudioSetupDelayPayload = NonNullable<\n MediaQualityEvent['payload']\n>['audioSetupDelay'];\nexport type MediaQualityEventVideoSetupDelayPayload = NonNullable<\n MediaQualityEvent['payload']\n>['videoSetupDelay'];\n\nexport type SubmitMQEPayload = RecursivePartial<MediaQualityEvent['payload']> & {\n intervals: NonNullable<MediaQualityEvent['payload']>['intervals'];\n};\n\nexport type SubmitInternalEvent = (args: {\n name: InternalEvent['name'];\n payload?: RecursivePartial<InternalEvent['payload']>;\n options?: any;\n}) => void;\n\nexport type SubmitBehavioralEvent = (args: {\n name: BehavioralEvent['name'];\n payload?: RecursivePartial<BehavioralEvent['payload']>;\n options?: any;\n}) => void;\n\nexport type SubmitClientEvent = (args: {\n name: ClientEvent['name'];\n payload?: RecursivePartial<ClientEvent['payload']>;\n options?: SubmitClientEventOptions;\n}) => Promise<any>;\n\nexport type SubmitOperationalEvent = (args: {\n name: OperationalEvent['name'];\n payload?: RecursivePartial<OperationalEvent['payload']>;\n options?: any;\n}) => void;\n\nexport type SubmitMQE = (args: {\n name: MediaQualityEvent['name'];\n payload: SubmitMQEPayload;\n options: any;\n}) => void;\n\nexport type BuildClientEventFetchRequestOptions = (args: {\n name: ClientEvent['name'];\n payload?: RecursivePartial<ClientEvent['payload']>;\n options?: SubmitClientEventOptions;\n}) => Promise<any>;\n"],"mappings":""}