@webex/calling 3.12.0-next.28 → 3.12.0-next.29

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 (189) hide show
  1. package/dist/CallingClient/CallingClient.js +408 -194
  2. package/dist/CallingClient/CallingClient.js.map +1 -1
  3. package/dist/CallingClient/CallingClient.test.js +119 -25
  4. package/dist/CallingClient/CallingClient.test.js.map +1 -1
  5. package/dist/CallingClient/calling/call.js +11 -8
  6. package/dist/CallingClient/calling/call.js.map +1 -1
  7. package/dist/CallingClient/calling/call.test.js +45 -4
  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 +20 -2
  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 +28 -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/Metrics/index.js +60 -0
  51. package/dist/Metrics/index.js.map +1 -1
  52. package/dist/Metrics/index.test.js +356 -0
  53. package/dist/Metrics/index.test.js.map +1 -1
  54. package/dist/Metrics/types.js +11 -1
  55. package/dist/Metrics/types.js.map +1 -1
  56. package/dist/SDKConnector/types.js.map +1 -1
  57. package/dist/common/Utils.js +136 -40
  58. package/dist/common/Utils.js.map +1 -1
  59. package/dist/common/testUtil.js +8 -4
  60. package/dist/common/testUtil.js.map +1 -1
  61. package/dist/common/types.js +2 -0
  62. package/dist/common/types.js.map +1 -1
  63. package/dist/mobius-socket/config.js +24 -0
  64. package/dist/mobius-socket/config.js.map +1 -0
  65. package/dist/mobius-socket/errors.js +150 -0
  66. package/dist/mobius-socket/errors.js.map +1 -0
  67. package/dist/mobius-socket/index.js +57 -0
  68. package/dist/mobius-socket/index.js.map +1 -0
  69. package/dist/mobius-socket/mobius-socket-events.test.js +485 -0
  70. package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -0
  71. package/dist/mobius-socket/mobius-socket.js +804 -0
  72. package/dist/mobius-socket/mobius-socket.js.map +1 -0
  73. package/dist/mobius-socket/mobius-socket.test.js +1833 -0
  74. package/dist/mobius-socket/mobius-socket.test.js.map +1 -0
  75. package/dist/mobius-socket/socket/constants.js +34 -0
  76. package/dist/mobius-socket/socket/constants.js.map +1 -0
  77. package/dist/mobius-socket/socket/index.js +15 -0
  78. package/dist/mobius-socket/socket/index.js.map +1 -0
  79. package/dist/mobius-socket/socket/socket-base.js +604 -0
  80. package/dist/mobius-socket/socket/socket-base.js.map +1 -0
  81. package/dist/mobius-socket/socket/socket.js +19 -0
  82. package/dist/mobius-socket/socket/socket.js.map +1 -0
  83. package/dist/mobius-socket/socket/socket.shim.js +26 -0
  84. package/dist/mobius-socket/socket/socket.shim.js.map +1 -0
  85. package/dist/mobius-socket/socket/types.js +7 -0
  86. package/dist/mobius-socket/socket/types.js.map +1 -0
  87. package/dist/mobius-socket/socket.test.js +727 -0
  88. package/dist/mobius-socket/socket.test.js.map +1 -0
  89. package/dist/mobius-socket/test/mocha-helpers.js +23 -0
  90. package/dist/mobius-socket/test/mocha-helpers.js.map +1 -0
  91. package/dist/mobius-socket/test/promise-tick.js +28 -0
  92. package/dist/mobius-socket/test/promise-tick.js.map +1 -0
  93. package/dist/mobius-socket/types.js +7 -0
  94. package/dist/mobius-socket/types.js.map +1 -0
  95. package/dist/module/CallingClient/CallingClient.js +102 -5
  96. package/dist/module/CallingClient/calling/call.js +9 -6
  97. package/dist/module/CallingClient/calling/callManager.js +27 -7
  98. package/dist/module/CallingClient/calling/types.js +2 -0
  99. package/dist/module/CallingClient/constants.js +18 -0
  100. package/dist/module/CallingClient/registration/register.js +226 -62
  101. package/dist/module/CallingClient/registration/webWorker.js +42 -61
  102. package/dist/module/CallingClient/registration/webWorkerStr.js +47 -82
  103. package/dist/module/CallingClient/utils/constants.js +30 -0
  104. package/dist/module/CallingClient/utils/index.js +5 -0
  105. package/dist/module/CallingClient/utils/mobiusSocketMapper.js +72 -0
  106. package/dist/module/CallingClient/utils/request.js +162 -0
  107. package/dist/module/CallingClient/utils/types.js +1 -0
  108. package/dist/module/CallingClient/utils/wsFeatureFlag.js +12 -0
  109. package/dist/module/Metrics/index.js +46 -0
  110. package/dist/module/Metrics/types.js +10 -0
  111. package/dist/module/common/Utils.js +51 -8
  112. package/dist/module/common/testUtil.js +5 -1
  113. package/dist/module/common/types.js +2 -0
  114. package/dist/module/mobius-socket/config.js +15 -0
  115. package/dist/module/mobius-socket/errors.js +64 -0
  116. package/dist/module/mobius-socket/index.js +24 -0
  117. package/dist/module/mobius-socket/mobius-socket.js +571 -0
  118. package/dist/module/mobius-socket/socket/constants.js +10 -0
  119. package/dist/module/mobius-socket/socket/index.js +4 -0
  120. package/dist/module/mobius-socket/socket/socket-base.js +368 -0
  121. package/dist/module/mobius-socket/socket/socket.js +9 -0
  122. package/dist/module/mobius-socket/socket/socket.shim.js +12 -0
  123. package/dist/module/mobius-socket/socket/types.js +1 -0
  124. package/dist/module/mobius-socket/types.js +1 -0
  125. package/dist/types/CallingClient/CallingClient.d.ts +5 -0
  126. package/dist/types/CallingClient/CallingClient.d.ts.map +1 -1
  127. package/dist/types/CallingClient/calling/call.d.ts +1 -0
  128. package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
  129. package/dist/types/CallingClient/calling/callManager.d.ts +3 -2
  130. package/dist/types/CallingClient/calling/callManager.d.ts.map +1 -1
  131. package/dist/types/CallingClient/calling/types.d.ts +21 -9
  132. package/dist/types/CallingClient/calling/types.d.ts.map +1 -1
  133. package/dist/types/CallingClient/constants.d.ts +18 -0
  134. package/dist/types/CallingClient/constants.d.ts.map +1 -1
  135. package/dist/types/CallingClient/registration/register.d.ts +6 -0
  136. package/dist/types/CallingClient/registration/register.d.ts.map +1 -1
  137. package/dist/types/CallingClient/registration/types.d.ts +3 -1
  138. package/dist/types/CallingClient/registration/types.d.ts.map +1 -1
  139. package/dist/types/CallingClient/registration/webWorker.d.ts.map +1 -1
  140. package/dist/types/CallingClient/registration/webWorkerStr.d.ts +1 -1
  141. package/dist/types/CallingClient/registration/webWorkerStr.d.ts.map +1 -1
  142. package/dist/types/CallingClient/utils/constants.d.ts +30 -0
  143. package/dist/types/CallingClient/utils/constants.d.ts.map +1 -0
  144. package/dist/types/CallingClient/utils/index.d.ts +6 -0
  145. package/dist/types/CallingClient/utils/index.d.ts.map +1 -0
  146. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts +5 -0
  147. package/dist/types/CallingClient/utils/mobiusSocketMapper.d.ts.map +1 -0
  148. package/dist/types/CallingClient/utils/request.d.ts +23 -0
  149. package/dist/types/CallingClient/utils/request.d.ts.map +1 -0
  150. package/dist/types/CallingClient/utils/types.d.ts +29 -0
  151. package/dist/types/CallingClient/utils/types.d.ts.map +1 -0
  152. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts +4 -0
  153. package/dist/types/CallingClient/utils/wsFeatureFlag.d.ts.map +1 -0
  154. package/dist/types/Metrics/index.d.ts.map +1 -1
  155. package/dist/types/Metrics/types.d.ts +11 -1
  156. package/dist/types/Metrics/types.d.ts.map +1 -1
  157. package/dist/types/SDKConnector/types.d.ts +24 -0
  158. package/dist/types/SDKConnector/types.d.ts.map +1 -1
  159. package/dist/types/common/Utils.d.ts +8 -2
  160. package/dist/types/common/Utils.d.ts.map +1 -1
  161. package/dist/types/common/testUtil.d.ts +4 -1
  162. package/dist/types/common/testUtil.d.ts.map +1 -1
  163. package/dist/types/common/types.d.ts +3 -0
  164. package/dist/types/common/types.d.ts.map +1 -1
  165. package/dist/types/mobius-socket/config.d.ts +17 -0
  166. package/dist/types/mobius-socket/config.d.ts.map +1 -0
  167. package/dist/types/mobius-socket/errors.d.ts +32 -0
  168. package/dist/types/mobius-socket/errors.d.ts.map +1 -0
  169. package/dist/types/mobius-socket/index.d.ts +14 -0
  170. package/dist/types/mobius-socket/index.d.ts.map +1 -0
  171. package/dist/types/mobius-socket/mobius-socket.d.ts +48 -0
  172. package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -0
  173. package/dist/types/mobius-socket/socket/constants.d.ts +11 -0
  174. package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -0
  175. package/dist/types/mobius-socket/socket/index.d.ts +5 -0
  176. package/dist/types/mobius-socket/socket/index.d.ts.map +1 -0
  177. package/dist/types/mobius-socket/socket/socket-base.d.ts +43 -0
  178. package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -0
  179. package/dist/types/mobius-socket/socket/socket.d.ts +6 -0
  180. package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -0
  181. package/dist/types/mobius-socket/socket/socket.shim.d.ts +6 -0
  182. package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -0
  183. package/dist/types/mobius-socket/socket/types.d.ts +61 -0
  184. package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
  185. package/dist/types/mobius-socket/types.d.ts +21 -0
  186. package/dist/types/mobius-socket/types.d.ts.map +1 -0
  187. package/package.json +16 -2
  188. package/src/mobius-socket/socket/socket.shim.ts +22 -0
  189. package/src/mobius-socket/socket/socket.ts +14 -0
@@ -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":"AAGA,MAAM,MAAM,2BAA2B,GAAG,OAAO,SAAS,CAAC;AAK3D,MAAM,MAAM,eAAe,GAAG;IAE5B,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAE3C,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC,CAAC;AAKF,MAAM,MAAM,gBAAgB,GAAG;IAE7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,IAAI;IAE5C,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAKF,MAAM,MAAM,YAAY,GAAG;IAEzB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAEnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACpC,CAAC;AAKF,MAAM,MAAM,cAAc,GAAG;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAKF,MAAM,MAAM,oBAAoB,GAAG;IAEjC,OAAO,EAAE,cAAc,CAAC;IAExB,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAE5C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,SAAS,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC1C,CAAC;AAKF,MAAM,MAAM,kBAAkB,GAAG;IAE/B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;IAE1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,MAAM,MAAM,iBAAiB,GAAG;IAE9B,eAAe,EAAE,MAAM,CAAC;IAExB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,YAAY,CAAC;IAErB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC;IAErD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAKF,MAAM,MAAM,eAAe,GAAG;IAE5B,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAEnB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAEhE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpD,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3C,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;AAKF,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,eAAe,CAAC"}
@@ -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
  },
@@ -38,14 +42,20 @@
38
42
  },
39
43
  "dependencies": {
40
44
  "@types/platform": "1.3.4",
45
+ "@webex/common": "3.12.0-next.1",
46
+ "@webex/common-timers": "3.12.0-next.1",
41
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",
42
50
  "@webex/internal-plugin-metrics": "3.12.0-next.15",
43
51
  "@webex/media-helpers": "3.12.0-next.3",
44
52
  "async-mutex": "0.4.0",
53
+ "backoff": "2.5.0",
45
54
  "buffer": "6.0.3",
46
- "jest-html-reporters": "3.0.11",
55
+ "lodash": "^4.17.21",
47
56
  "platform": "1.3.6",
48
57
  "uuid": "8.3.2",
58
+ "ws": "8.17.1",
49
59
  "xstate": "4.30.6"
50
60
  },
51
61
  "devDependencies": {
@@ -65,6 +75,9 @@
65
75
  "@typescript-eslint/eslint-plugin": "5.38.1",
66
76
  "@typescript-eslint/parser": "5.38.1",
67
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",
68
81
  "chai": "4.3.4",
69
82
  "cspell": "5.19.2",
70
83
  "esbuild": "^0.17.19",
@@ -77,6 +90,7 @@
77
90
  "eslint-plugin-prettier": "4.0.0",
78
91
  "eslint-plugin-tsdoc": "0.2.14",
79
92
  "jest": "29.3.1",
93
+ "jest-html-reporters": "3.0.11",
80
94
  "jest-junit": "13.0.0",
81
95
  "karma": "6.4.3",
82
96
  "karma-chai": "0.1.0",
@@ -133,5 +147,5 @@
133
147
  "staticpath": "docs",
134
148
  "noprompt": true
135
149
  },
136
- "version": "3.12.0-next.28"
150
+ "version": "3.12.0-next.29"
137
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;