@webex/calling 3.12.0-next.3 → 3.12.0-next.31

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 (194) hide show
  1. package/dist/CallingClient/CallingClient.js +463 -205
  2. package/dist/CallingClient/CallingClient.js.map +1 -1
  3. package/dist/CallingClient/CallingClient.test.js +170 -77
  4. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  5. package/dist/CallingClient/calling/call.js +32 -8
  6. package/dist/CallingClient/calling/call.js.map +1 -1
  7. package/dist/CallingClient/calling/call.test.js +581 -445
  8. package/dist/CallingClient/calling/call.test.js.map +1 -1
  9. package/dist/CallingClient/calling/callManager.js +53 -30
  10. package/dist/CallingClient/calling/callManager.js.map +1 -1
  11. package/dist/CallingClient/calling/callManager.test.js +35 -0
  12. package/dist/CallingClient/calling/callManager.test.js.map +1 -1
  13. package/dist/CallingClient/calling/types.js +2 -0
  14. package/dist/CallingClient/calling/types.js.map +1 -1
  15. package/dist/CallingClient/constants.js +24 -3
  16. package/dist/CallingClient/constants.js.map +1 -1
  17. package/dist/CallingClient/line/line.test.js +16 -1
  18. package/dist/CallingClient/line/line.test.js.map +1 -1
  19. package/dist/CallingClient/registration/register.js +694 -406
  20. package/dist/CallingClient/registration/register.js.map +1 -1
  21. package/dist/CallingClient/registration/register.test.js +202 -21
  22. package/dist/CallingClient/registration/register.test.js.map +1 -1
  23. package/dist/CallingClient/registration/types.js.map +1 -1
  24. package/dist/CallingClient/registration/webWorker.js +41 -104
  25. package/dist/CallingClient/registration/webWorker.js.map +1 -1
  26. package/dist/CallingClient/registration/webWorker.test.js +39 -153
  27. package/dist/CallingClient/registration/webWorker.test.js.map +1 -1
  28. package/dist/CallingClient/registration/webWorkerStr.js +1 -1
  29. package/dist/CallingClient/registration/webWorkerStr.js.map +1 -1
  30. package/dist/CallingClient/utils/constants.js +46 -0
  31. package/dist/CallingClient/utils/constants.js.map +1 -0
  32. package/dist/CallingClient/utils/index.js +63 -0
  33. package/dist/CallingClient/utils/index.js.map +1 -0
  34. package/dist/CallingClient/utils/mobiusSocketMapper.js +122 -0
  35. package/dist/CallingClient/utils/mobiusSocketMapper.js.map +1 -0
  36. package/dist/CallingClient/utils/mobiusSocketMapper.test.js +211 -0
  37. package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
  38. package/dist/CallingClient/utils/request.js +349 -0
  39. package/dist/CallingClient/utils/request.js.map +1 -0
  40. package/dist/CallingClient/utils/request.test.js +881 -0
  41. package/dist/CallingClient/utils/request.test.js.map +1 -0
  42. package/dist/CallingClient/utils/types.js +7 -0
  43. package/dist/CallingClient/utils/types.js.map +1 -0
  44. package/dist/CallingClient/utils/wsFeatureFlag.js +70 -0
  45. package/dist/CallingClient/utils/wsFeatureFlag.js.map +1 -0
  46. package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
  47. package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
  48. package/dist/Contacts/ContactsClient.test.js +3 -8
  49. package/dist/Contacts/ContactsClient.test.js.map +1 -1
  50. package/dist/Events/types.js +1 -11
  51. package/dist/Events/types.js.map +1 -1
  52. package/dist/Metrics/index.js +60 -0
  53. package/dist/Metrics/index.js.map +1 -1
  54. package/dist/Metrics/index.test.js +356 -0
  55. package/dist/Metrics/index.test.js.map +1 -1
  56. package/dist/Metrics/types.js +11 -1
  57. package/dist/Metrics/types.js.map +1 -1
  58. package/dist/SDKConnector/types.js.map +1 -1
  59. package/dist/common/Utils.js +138 -44
  60. package/dist/common/Utils.js.map +1 -1
  61. package/dist/common/testUtil.js +8 -4
  62. package/dist/common/testUtil.js.map +1 -1
  63. package/dist/common/types.js +2 -0
  64. package/dist/common/types.js.map +1 -1
  65. package/dist/mobius-socket/config.js +24 -0
  66. package/dist/mobius-socket/config.js.map +1 -0
  67. package/dist/mobius-socket/errors.js +150 -0
  68. package/dist/mobius-socket/errors.js.map +1 -0
  69. package/dist/mobius-socket/index.js +57 -0
  70. package/dist/mobius-socket/index.js.map +1 -0
  71. package/dist/mobius-socket/mobius-socket-events.test.js +485 -0
  72. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  73. package/dist/mobius-socket/mobius-socket.js +804 -0
  74. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  75. package/dist/mobius-socket/mobius-socket.test.js +1833 -0
  76. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  77. package/dist/mobius-socket/socket/constants.js +34 -0
  78. package/dist/mobius-socket/socket/constants.js.map +1 -0
  79. package/dist/mobius-socket/socket/index.js +15 -0
  80. package/dist/mobius-socket/socket/index.js.map +1 -0
  81. package/dist/mobius-socket/socket/socket-base.js +604 -0
  82. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  83. package/dist/mobius-socket/socket/socket.js +19 -0
  84. package/dist/mobius-socket/socket/socket.js.map +1 -0
  85. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  86. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  87. package/dist/mobius-socket/socket/types.js +7 -0
  88. package/dist/mobius-socket/socket/types.js.map +1 -0
  89. package/dist/mobius-socket/socket.test.js +727 -0
  90. package/dist/mobius-socket/socket.test.js.map +1 -0
  91. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  92. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  93. package/dist/mobius-socket/test/promise-tick.js +28 -0
  94. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  95. package/dist/mobius-socket/types.js +7 -0
  96. package/dist/mobius-socket/types.js.map +1 -0
  97. package/dist/module/CallingClient/CallingClient.js +141 -10
  98. package/dist/module/CallingClient/calling/call.js +24 -6
  99. package/dist/module/CallingClient/calling/callManager.js +27 -7
  100. package/dist/module/CallingClient/calling/types.js +2 -0
  101. package/dist/module/CallingClient/constants.js +20 -0
  102. package/dist/module/CallingClient/registration/register.js +226 -62
  103. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  104. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  105. package/dist/module/CallingClient/utils/constants.js +30 -0
  106. package/dist/module/CallingClient/utils/index.js +5 -0
  107. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  108. package/dist/module/CallingClient/utils/request.js +162 -0
  109. package/dist/module/CallingClient/utils/types.js +1 -0
  110. package/dist/module/CallingClient/utils/wsFeatureFlag.js +41 -0
  111. package/dist/module/Events/types.js +0 -10
  112. package/dist/module/Metrics/index.js +46 -0
  113. package/dist/module/Metrics/types.js +10 -0
  114. package/dist/module/common/Utils.js +52 -12
  115. package/dist/module/common/testUtil.js +5 -1
  116. package/dist/module/common/types.js +2 -0
  117. package/dist/module/mobius-socket/config.js +15 -0
  118. package/dist/module/mobius-socket/errors.js +64 -0
  119. package/dist/module/mobius-socket/index.js +24 -0
  120. package/dist/module/mobius-socket/mobius-socket.js +571 -0
  121. package/dist/module/mobius-socket/socket/constants.js +10 -0
  122. package/dist/module/mobius-socket/socket/index.js +4 -0
  123. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  124. package/dist/module/mobius-socket/socket/socket.js +9 -0
  125. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  126. package/dist/module/mobius-socket/socket/types.js +1 -0
  127. package/dist/module/mobius-socket/types.js +1 -0
  128. package/dist/types/CallingClient/CallingClient.d.ts +7 -0
  129. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  130. package/dist/types/CallingClient/calling/call.d.ts +2 -0
  131. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  132. package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
  133. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  134. package/dist/types/CallingClient/calling/types.d.ts +21 -9
  135. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  136. package/dist/types/CallingClient/constants.d.ts +20 -0
  137. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  138. package/dist/types/CallingClient/registration/register.d.ts +6 -0
  139. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  140. package/dist/types/CallingClient/registration/types.d.ts +3 -1
  141. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  142. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  143. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  144. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  145. package/dist/types/CallingClient/utils/constants.d.ts +30 -0
  146. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  147. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  148. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  149. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  150. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  151. package/dist/types/CallingClient/utils/request.d.ts +23 -0
  152. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  153. package/dist/types/CallingClient/utils/types.d.ts +29 -0
  154. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  155. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  156. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  157. package/dist/types/Events/types.d.ts +0 -10
  158. package/dist/types/Events/types.d.ts.map +1 -1
  159. package/dist/types/Metrics/index.d.ts.map +1 -1
  160. package/dist/types/Metrics/types.d.ts +11 -1
  161. package/dist/types/Metrics/types.d.ts.map +1 -1
  162. package/dist/types/SDKConnector/types.d.ts +24 -0
  163. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  164. package/dist/types/common/Utils.d.ts +9 -2
  165. package/dist/types/common/Utils.d.ts.map +1 -1
  166. package/dist/types/common/testUtil.d.ts +4 -1
  167. package/dist/types/common/testUtil.d.ts.map +1 -1
  168. package/dist/types/common/types.d.ts +3 -0
  169. package/dist/types/common/types.d.ts.map +1 -1
  170. package/dist/types/mobius-socket/config.d.ts +17 -0
  171. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  172. package/dist/types/mobius-socket/errors.d.ts +32 -0
  173. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  174. package/dist/types/mobius-socket/index.d.ts +14 -0
  175. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  176. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  177. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  178. package/dist/types/mobius-socket/socket/constants.d.ts +11 -0
  179. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  180. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  181. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  182. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  183. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  184. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  185. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  186. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  187. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  188. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  189. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  190. package/dist/types/mobius-socket/types.d.ts +21 -0
  191. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  192. package/package.json +20 -5
  193. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  194. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IAEjC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,cAAc,EAAE,MAAM,CAAC;IAEvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,2BAA2B,EAAE,MAAM,CAAC;IAEpC,UAAU,EAAE,MAAM,CAAC;IAEnB,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;;;;AAYD,wBAEE"}
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import { Exception } from '@webex/common';
5
+ import type { SocketCloseEvent, SocketResponse } from './socket/types';
6
+ import { MobiusSocketResponseError } from './types';
7
+ export declare class ConnectionError extends Exception {
8
+ static defaultMessage: string;
9
+ code?: number;
10
+ reason?: string;
11
+ constructor(event?: SocketCloseEvent);
12
+ parse(event?: SocketCloseEvent): string | undefined;
13
+ }
14
+ export declare class UnknownResponse extends ConnectionError {
15
+ static defaultMessage: string;
16
+ constructor(event?: SocketCloseEvent);
17
+ }
18
+ export declare class BadRequest extends ConnectionError {
19
+ static defaultMessage: string;
20
+ constructor(event?: SocketCloseEvent);
21
+ }
22
+ export declare class NotAuthorized extends ConnectionError {
23
+ static defaultMessage: string;
24
+ constructor(event?: SocketCloseEvent);
25
+ }
26
+ export declare class Forbidden extends ConnectionError {
27
+ static defaultMessage: string;
28
+ constructor(event?: SocketCloseEvent);
29
+ }
30
+ export declare function createWssResponseError(response: SocketResponse, statusCode?: number, statusMessage?: string): MobiusSocketResponseError;
31
+ export declare function createTimeoutError(request: SocketResponse): MobiusSocketResponseError;
32
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAKlD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,cAAc,SAAiC;IAEtD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGJ,KAAK,CAAC,EAAE,gBAAgB;IASpC,KAAK,CAAC,KAAK,GAAE,gBAAqB;CAYnC;AAOD,qBAAa,eAAgB,SAAQ,eAAe;IAClD,MAAM,CAAC,cAAc,SACyF;gBAGlG,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAMD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,cAAc,SACwD;gBAGjE,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAMD,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,SAAsC;gBAG/C,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAMD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,cAAc,SAA4E;gBAGrF,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAUD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,yBAAyB,CAY3B;AAQD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,yBAAyB,CAQrF"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import '@webex/internal-plugin-device';
5
+ import '@webex/internal-plugin-feature';
6
+ import '@webex/internal-plugin-metrics';
7
+ import type { WebexSDK } from '../SDKConnector/types';
8
+ import MobiusSocket from './mobius-socket';
9
+ import { MobiusSocketConfig } from './config';
10
+ export declare function getMobiusSocketInstance(webex: WebexSDK, mobiusSocketConfig?: Partial<MobiusSocketConfig>): MobiusSocket;
11
+ export declare function resetMobiusSocketInstance(): void;
12
+ export default MobiusSocket;
13
+ export { MobiusSocket };
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAe,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAYpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,YAAY,CAWd;AAKD,wBAAgB,yBAAyB,SAExC;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file
3
+ */
4
+ /// <reference types="node" />
5
+ import { EventEmitter } from 'events';
6
+ import type { WebexSDK } from '../SDKConnector/types';
7
+ import type { MobiusSocketConfig } from './config';
8
+ import type { SocketResponse } from './socket/types';
9
+ import type { MobiusSocketCloseOptions, MobiusSocketDisconnectResult, MobiusSocketRequestOptions, MobiusSocketRequestPayload } from './types';
10
+ declare class MobiusSocket extends EventEmitter {
11
+ private webex;
12
+ private config;
13
+ private logger;
14
+ private connected;
15
+ private connecting;
16
+ private hasEverConnected;
17
+ private socket;
18
+ private backoffCall;
19
+ private shutdownSwitchoverBackoffCall;
20
+ private seenAsyncEventIds;
21
+ private connectPromise;
22
+ private socketUrl;
23
+ private tokenRefreshTimer;
24
+ private tokenRefreshInFlight;
25
+ constructor(webex: WebexSDK, config?: Partial<MobiusSocketConfig>);
26
+ off(eventName: string, listener?: (...args: unknown[]) => void): this;
27
+ private attachSocketEventListeners;
28
+ private trackAsyncEventAndShouldSuppressDuplicate;
29
+ private handleImminentShutdown;
30
+ getConnectedWebSocketUrl(): string | undefined;
31
+ sendWssRequest(payload: MobiusSocketRequestPayload, options?: MobiusSocketRequestOptions): Promise<SocketResponse>;
32
+ isConnected(): boolean;
33
+ connect(webSocketUrl?: string): Promise<void>;
34
+ disconnect(options?: MobiusSocketCloseOptions): MobiusSocketDisconnectResult;
35
+ private prepareUrl;
36
+ private attemptConnection;
37
+ private prepareAndOpenSocket;
38
+ private connectWithBackoff;
39
+ private emitEvent;
40
+ private startTokenRefreshTimer;
41
+ private stopTokenRefreshTimer;
42
+ private refreshToken;
43
+ private onclose;
44
+ private onmessage;
45
+ private reconnect;
46
+ }
47
+ export default MobiusSocket;
48
+ //# sourceMappingURL=mobius-socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAIpC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAGpD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAuC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAkBjB,cAAM,YAAa,SAAQ,YAAY;IACrC,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,6BAA6B,CAAM;IAC3C,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,oBAAoB,CAA+B;gBAE/C,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAsB9D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;IAcrE,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,yCAAyC;IA2CjD,OAAO,CAAC,sBAAsB;IA8DvB,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAc9C,cAAc,CACnB,OAAO,EAAE,0BAA0B,EACnC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,cAAc,CAAC;IAgBnB,WAAW,IAAI,OAAO;IAStB,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D7C,UAAU,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,4BAA4B;IAuCnF,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAoIzB,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,kBAAkB;IAmJ1B,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,YAAY;IAiDpB,OAAO,CAAC,OAAO;IAkGf,OAAO,CAAC,SAAS;IA0DjB,OAAO,CAAC,SAAS;CAKlB;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const SOCKET_READY_STATE: Readonly<{
2
+ CONNECTING: 0;
3
+ OPEN: 1;
4
+ CLOSING: 2;
5
+ CLOSED: 3;
6
+ }>;
7
+ export declare const MESSAGE_TYPES: Readonly<{
8
+ AUTH: "auth";
9
+ EVENT_ACK: "event_ack";
10
+ }>;
11
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB;;;;;EAS7B,CAAC;AAKH,eAAO,MAAM,aAAa;;;EAKxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ export { default } from './socket';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC"}
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /// <reference types="node" />
5
+ import { EventEmitter } from 'events';
6
+ import type { SocketCloseEvent, SocketLogger, SocketMessageEvent, SendRequestOptions, SocketOpenOptions, SocketResponse } from './types';
7
+ export default class Socket extends EventEmitter {
8
+ private domain;
9
+ private pendingResponses;
10
+ forceCloseDelay: number;
11
+ logger: SocketLogger;
12
+ refreshToken?: (response: SocketResponse) => unknown;
13
+ token: string;
14
+ trackingId: string;
15
+ wssResponseTimeout?: number;
16
+ constructor();
17
+ get binaryType(): string;
18
+ get bufferedAmount(): number;
19
+ get extensions(): string;
20
+ get protocol(): string;
21
+ get readyState(): number;
22
+ get url(): string;
23
+ static getWebSocketConstructor(): unknown;
24
+ close(options?: {
25
+ reason?: string;
26
+ code?: number;
27
+ }): Promise<void | SocketCloseEvent>;
28
+ open(url: string, options?: SocketOpenOptions): Promise<void>;
29
+ onclose(event: SocketCloseEvent): void;
30
+ onmessage(event: SocketMessageEvent<string>): void;
31
+ send(data: string | Record<string, unknown>): Promise<void>;
32
+ sendRequest(data: SocketResponse, options?: SendRequestOptions): Promise<SocketResponse>;
33
+ private acknowledge;
34
+ refresh(token: string | {
35
+ toString(): string;
36
+ }): Promise<SocketResponse>;
37
+ private authorize;
38
+ private clearPendingResponse;
39
+ private rejectPendingResponses;
40
+ private handlePendingResponse;
41
+ private fixCloseCode;
42
+ }
43
+ //# sourceMappingURL=socket-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-base.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket-base.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAkBpC,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAElB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EAGf,MAAM,SAAS,CAAC;AAWjB,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,gBAAgB,CAAoC;IAE5D,eAAe,EAAG,MAAM,CAAC;IAEzB,MAAM,EAAG,YAAY,CAAC;IAEtB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC;IAErD,KAAK,EAAG,MAAM,CAAC;IAEf,UAAU,EAAG,MAAM,CAAC;IAEpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;;IAmB5B,IAAW,UAAU,WAEpB;IAMD,IAAW,cAAc,WAExB;IAMD,IAAW,UAAU,WAEpB;IAMD,IAAW,QAAQ,WAElB;IAMD,IAAW,UAAU,WAEpB;IAMD,IAAW,GAAG,WAEb;WAOa,uBAAuB,IAAI,OAAO;IAWzC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;IAoGhD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAqF7C,OAAO,CAAC,KAAK,EAAE,gBAAgB;IAgB/B,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;IA0B3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiC3C,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,kBAAuB;IAgDzE,OAAO,CAAC,WAAW;IA0BZ,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,QAAQ,IAAI,MAAM,CAAA;KAAC;IAuBnD,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,YAAY;CAyBrB"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Socket from './socket-base';
5
+ export default Socket;
6
+ //# sourceMappingURL=socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAOnC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Socket from './socket-base';
5
+ export default Socket;
6
+ //# sourceMappingURL=socket.shim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.shim.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.shim.ts"],"names":[],"mappings":"AAEA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAanC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,61 @@
1
+ export type BrowserWebSocketConstructor = typeof WebSocket;
2
+ export type ShimGlobalScope = {
3
+ MozWebSocket?: BrowserWebSocketConstructor;
4
+ WebSocket?: BrowserWebSocketConstructor;
5
+ };
6
+ export type SocketCloseEvent = {
7
+ code?: number;
8
+ reason?: string;
9
+ };
10
+ export type SocketMessageEvent<T = unknown> = {
11
+ data: T;
12
+ };
13
+ export type SocketLogger = {
14
+ info: (...args: unknown[]) => void;
15
+ warn: (...args: unknown[]) => void;
16
+ };
17
+ export type SocketResponse = {
18
+ trackingId?: string;
19
+ type?: string;
20
+ subtype?: string;
21
+ statusCode?: number;
22
+ statusMessage?: string;
23
+ reason?: string;
24
+ eventId?: string;
25
+ [key: string]: unknown;
26
+ };
27
+ export type PendingResponseEntry = {
28
+ request: SocketResponse;
29
+ resolve: (response: SocketResponse) => void;
30
+ reject: (error: unknown) => void;
31
+ timeoutId: ReturnType<typeof setTimeout>;
32
+ };
33
+ export type SendRequestOptions = {
34
+ createTimeoutError?: (request: SocketResponse) => unknown;
35
+ timeout?: number;
36
+ };
37
+ export type SocketOpenOptions = {
38
+ forceCloseDelay: number;
39
+ token: string;
40
+ trackingId: string;
41
+ logger: SocketLogger;
42
+ wssResponseTimeout?: number;
43
+ refreshToken?: (response: SocketResponse) => unknown;
44
+ [key: string]: unknown;
45
+ };
46
+ export type SocketTransport = {
47
+ binaryType: string;
48
+ bufferedAmount: number;
49
+ extensions: string;
50
+ protocol: string;
51
+ readyState: number;
52
+ url: string;
53
+ onmessage: ((event: SocketMessageEvent<string>) => void) | null;
54
+ onclose: ((event: SocketCloseEvent) => void) | null;
55
+ onopen: (() => void) | null;
56
+ onerror: ((event: unknown) => void) | null;
57
+ close: (code?: number, reason?: string) => void;
58
+ send: (data: string) => void;
59
+ };
60
+ export type SocketTransportConstructor = new (...args: unknown[]) => SocketTransport;
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { SocketCloseEvent, SocketResponse } from './socket/types';
2
+ export type MobiusSocketCloseOptions = {
3
+ code?: number;
4
+ reason?: string;
5
+ };
6
+ export type MobiusSocketRequestPayload = SocketResponse & {
7
+ trackingId: string;
8
+ type: string;
9
+ };
10
+ export type MobiusSocketRequestOptions = {
11
+ timeout?: number;
12
+ };
13
+ export type MobiusSocketResponseError = Error & {
14
+ name: 'MobiusSocketResponseError';
15
+ response?: SocketResponse;
16
+ statusCode?: number;
17
+ statusMessage?: string;
18
+ trackingId?: string;
19
+ };
20
+ export type MobiusSocketDisconnectResult = Promise<void | SocketCloseEvent>;
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAKrE,MAAM,MAAM,wBAAwB,GAAG;IAErC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,MAAM,MAAM,0BAA0B,GAAG,cAAc,GAAG;IAExD,UAAU,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAKF,MAAM,MAAM,0BAA0B,GAAG;IAEvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG;IAE9C,IAAI,EAAE,2BAA2B,CAAC;IAElC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAKF,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,IAAI,GAAG,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -20,6 +20,10 @@
20
20
  "url": "https://github.com/webex/webex-js-sdk.git",
21
21
  "directory": "packages/calling"
22
22
  },
23
+ "browser": {
24
+ "./dist/module/mobius-socket/socket/socket.js": "./dist/module/mobius-socket/socket/socket.shim.js",
25
+ "./src/mobius-socket/socket/socket.ts": "./src/mobius-socket/socket/socket.shim.ts"
26
+ },
23
27
  "engines": {
24
28
  "node": ">=18"
25
29
  },
@@ -33,18 +37,25 @@
33
37
  "fix:prettier": "prettier \"src/**/*.ts\" --write",
34
38
  "build:docs": "typedoc --out ../../docs/calling",
35
39
  "docs": "typedoc --emit none",
40
+ "test:e2e": "npx playwright test --config=playwright.config.ts",
36
41
  "deploy:npm": "yarn npm publish"
37
42
  },
38
43
  "dependencies": {
39
44
  "@types/platform": "1.3.4",
40
- "@webex/internal-media-core": "2.23.1",
41
- "@webex/internal-plugin-metrics": "3.12.0-next.1",
42
- "@webex/media-helpers": "3.11.0-next.4",
45
+ "@webex/common": "3.12.0-next.1",
46
+ "@webex/common-timers": "3.12.0-next.1",
47
+ "@webex/internal-media-core": "2.24.1",
48
+ "@webex/internal-plugin-device": "3.12.0-next.15",
49
+ "@webex/internal-plugin-feature": "3.12.0-next.15",
50
+ "@webex/internal-plugin-metrics": "3.12.0-next.15",
51
+ "@webex/media-helpers": "3.12.0-next.3",
43
52
  "async-mutex": "0.4.0",
53
+ "backoff": "2.5.0",
44
54
  "buffer": "6.0.3",
45
- "jest-html-reporters": "3.0.11",
55
+ "lodash": "^4.17.21",
46
56
  "platform": "1.3.6",
47
57
  "uuid": "8.3.2",
58
+ "ws": "8.17.1",
48
59
  "xstate": "4.30.6"
49
60
  },
50
61
  "devDependencies": {
@@ -64,6 +75,9 @@
64
75
  "@typescript-eslint/eslint-plugin": "5.38.1",
65
76
  "@typescript-eslint/parser": "5.38.1",
66
77
  "@web/dev-server": "0.4.5",
78
+ "@webex/test-helper-chai": "3.12.0-next.1",
79
+ "@webex/test-helper-mock-web-socket": "3.12.0-next.1",
80
+ "@webex/test-helper-mock-webex": "3.12.0-next.1",
67
81
  "chai": "4.3.4",
68
82
  "cspell": "5.19.2",
69
83
  "esbuild": "^0.17.19",
@@ -76,6 +90,7 @@
76
90
  "eslint-plugin-prettier": "4.0.0",
77
91
  "eslint-plugin-tsdoc": "0.2.14",
78
92
  "jest": "29.3.1",
93
+ "jest-html-reporters": "3.0.11",
79
94
  "jest-junit": "13.0.0",
80
95
  "karma": "6.4.3",
81
96
  "karma-chai": "0.1.0",
@@ -132,5 +147,5 @@
132
147
  "staticpath": "docs",
133
148
  "noprompt": true
134
149
  },
135
- "version": "3.12.0-next.3"
150
+ "version": "3.12.0-next.31"
136
151
  }
@@ -0,0 +1,22 @@
1
+ /* eslint-disable no-restricted-globals */
2
+
3
+ /*!
4
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
5
+ */
6
+
7
+ /* eslint-env browser */
8
+
9
+ import Socket from './socket-base';
10
+ import type {BrowserWebSocketConstructor, ShimGlobalScope} from './types';
11
+
12
+ Socket.getWebSocketConstructor = function getWebSocketConstructor() {
13
+ if (typeof WebSocket !== 'undefined') {
14
+ return WebSocket;
15
+ }
16
+
17
+ const scope = typeof globalThis !== 'undefined' ? (globalThis as ShimGlobalScope) : undefined;
18
+
19
+ return (scope?.WebSocket || scope?.MozWebSocket) as BrowserWebSocketConstructor;
20
+ };
21
+
22
+ export default Socket;
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+
5
+ import WS from 'ws';
6
+
7
+ import Socket from './socket-base';
8
+ import type {SocketTransportConstructor} from './types';
9
+
10
+ Socket.getWebSocketConstructor = function getWebSocketConstructor() {
11
+ return WS as unknown as SocketTransportConstructor;
12
+ };
13
+
14
+ export default Socket;