@webex/calling 3.12.0-next.41 → 3.12.0-next.43

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.
@@ -88,7 +88,7 @@ function deriveMobiusSocketMessageType(uri, httpMethodType) {
88
88
  // --- Device-level operations ---
89
89
 
90
90
  // Device keepalive: .../devices/{deviceId}/status (no /calls/ in path)
91
- if (uri.includes('/devices/') && uri.endsWith('/status')) {
91
+ if (!uri.includes('/calls/') && uri.endsWith('/status')) {
92
92
  return _constants2.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;
93
93
  }
94
94
 
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_constants","_constants2","deriveMobiusSocketMessageType","uri","httpMethodType","logContext","file","MOBIUS_SOCKET_MAPPER_FILE","method","METHODS","DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE","log","warn","MOBIUS_SOCKET_MESSAGE_TYPE","UNKNOWN","includes","CALL_HOLD","CALL_RESUME","CALL_TRANSFER","concat","CALL_MEDIA","CALL_STATUS","match","HTTP_METHODS","PATCH","CALL_STATE","DELETE","CALL_DELETE","endsWith","CALL_SETUP","DEVICE_STATUS","REGISTER","UNREGISTER","GET","DEVICE_GET","DEVICE_LIST","isSupplementaryServiceMessageType","exports","type"],"sources":["mobiusSocketMapper.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {METHODS, MOBIUS_SOCKET_MAPPER_FILE} from '../constants';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\n/**\n * Derives the Mobius Socket message type from the URI and HTTP method.\n * Uses both the URI path pattern and the HTTP method to disambiguate operations\n * that share the same endpoint (e.g., PATCH vs DELETE on calls/{callId}).\n *\n * @param uri - The request URI\n * @param httpMethodType - The HTTP method used for the request\n * @returns The socket message type based on the URI pattern and HTTP method\n *\n * @example\n * deriveMobiusSocketMessageType('/api/v1/calling/web/device', HTTP_METHODS.POST)\n * // returns 'register'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.PATCH)\n * // returns 'call_state'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.DELETE)\n * // returns 'call_delete'\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function deriveMobiusSocketMessageType(\n uri?: string,\n httpMethodType?: HTTP_METHODS\n): MOBIUS_SOCKET_MESSAGE_TYPE {\n const logContext = {\n file: MOBIUS_SOCKET_MAPPER_FILE,\n method: METHODS.DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE,\n };\n\n if (!uri) {\n log.warn('Cannot derive Mobius socket message type: uri is empty', logContext);\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Supplementary services: .../services/{service}/{action} ---\n if (uri.includes('/services')) {\n if (uri.includes('/callhold/hold')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD;\n }\n if (uri.includes('/callhold/resume')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME;\n }\n if (uri.includes('/calltransfer/commit')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER;\n }\n\n log.warn(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Call sub-resource actions (checked before bare calls/{callId}) ---\n\n // Call media: .../calls/{callId}/media\n if (uri.includes('/calls/') && uri.includes('/media')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA;\n }\n\n // Call status: .../calls/{callId}/status\n if (uri.includes('/calls/') && uri.includes('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS;\n }\n\n // Call state or delete: .../calls/{callId} (PATCH → state, DELETE → delete)\n if (uri.match(/\\/calls\\/[^/]+$/)) {\n if (httpMethodType === HTTP_METHODS.PATCH) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE;\n }\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE;\n }\n\n log.warn(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Call setup: .../devices/{deviceId}/call (singular)\n if (uri.endsWith('/call')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP;\n }\n\n // --- Device-level operations ---\n\n // Device keepalive: .../devices/{deviceId}/status (no /calls/ in path)\n if (uri.includes('/devices/') && uri.endsWith('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;\n }\n\n // Device registration: .../calling/web/device (singular)\n if (uri.endsWith('/device')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER;\n }\n\n // Device unregister or get: .../devices/{deviceId} (DELETE → unregister, GET → device_get)\n if (uri.match(/\\/devices\\/[^/?]+$/) && !uri.includes('/calls')) {\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER;\n }\n if (httpMethodType === HTTP_METHODS.GET) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET;\n }\n\n log.warn(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Device list: .../devices or .../devices?userid=...\n if (uri.includes('/devices') && !uri.match(/\\/devices\\/[^/?]+/)) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST;\n }\n\n log.warn(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n}\n\nexport const isSupplementaryServiceMessageType = (type: MOBIUS_SOCKET_MESSAGE_TYPE): boolean =>\n [\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER,\n ].includes(type);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_constants","_constants2","deriveMobiusSocketMessageType","uri","httpMethodType","logContext","file","MOBIUS_SOCKET_MAPPER_FILE","method","METHODS","DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE","log","warn","MOBIUS_SOCKET_MESSAGE_TYPE","UNKNOWN","includes","CALL_HOLD","CALL_RESUME","CALL_TRANSFER","concat","CALL_MEDIA","CALL_STATUS","match","HTTP_METHODS","PATCH","CALL_STATE","DELETE","CALL_DELETE","endsWith","CALL_SETUP","DEVICE_STATUS","REGISTER","UNREGISTER","GET","DEVICE_GET","DEVICE_LIST","isSupplementaryServiceMessageType","exports","type"],"sources":["mobiusSocketMapper.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {METHODS, MOBIUS_SOCKET_MAPPER_FILE} from '../constants';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\n/**\n * Derives the Mobius Socket message type from the URI and HTTP method.\n * Uses both the URI path pattern and the HTTP method to disambiguate operations\n * that share the same endpoint (e.g., PATCH vs DELETE on calls/{callId}).\n *\n * @param uri - The request URI\n * @param httpMethodType - The HTTP method used for the request\n * @returns The socket message type based on the URI pattern and HTTP method\n *\n * @example\n * deriveMobiusSocketMessageType('/api/v1/calling/web/device', HTTP_METHODS.POST)\n * // returns 'register'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.PATCH)\n * // returns 'call_state'\n *\n * deriveMobiusSocketMessageType('/api/v1/calling/web/devices/abc123/calls/xyz789', HTTP_METHODS.DELETE)\n * // returns 'call_delete'\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function deriveMobiusSocketMessageType(\n uri?: string,\n httpMethodType?: HTTP_METHODS\n): MOBIUS_SOCKET_MESSAGE_TYPE {\n const logContext = {\n file: MOBIUS_SOCKET_MAPPER_FILE,\n method: METHODS.DERIVE_MOBIUS_SOCKET_MESSAGE_TYPE,\n };\n\n if (!uri) {\n log.warn('Cannot derive Mobius socket message type: uri is empty', logContext);\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Supplementary services: .../services/{service}/{action} ---\n if (uri.includes('/services')) {\n if (uri.includes('/callhold/hold')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD;\n }\n if (uri.includes('/callhold/resume')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME;\n }\n if (uri.includes('/calltransfer/commit')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER;\n }\n\n log.warn(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // --- Call sub-resource actions (checked before bare calls/{callId}) ---\n\n // Call media: .../calls/{callId}/media\n if (uri.includes('/calls/') && uri.includes('/media')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA;\n }\n\n // Call status: .../calls/{callId}/status\n if (uri.includes('/calls/') && uri.includes('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS;\n }\n\n // Call state or delete: .../calls/{callId} (PATCH → state, DELETE → delete)\n if (uri.match(/\\/calls\\/[^/]+$/)) {\n if (httpMethodType === HTTP_METHODS.PATCH) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE;\n }\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE;\n }\n\n log.warn(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Call setup: .../devices/{deviceId}/call (singular)\n if (uri.endsWith('/call')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP;\n }\n\n // --- Device-level operations ---\n\n // Device keepalive: .../devices/{deviceId}/status (no /calls/ in path)\n if (!uri.includes('/calls/') && uri.endsWith('/status')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;\n }\n\n // Device registration: .../calling/web/device (singular)\n if (uri.endsWith('/device')) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER;\n }\n\n // Device unregister or get: .../devices/{deviceId} (DELETE → unregister, GET → device_get)\n if (uri.match(/\\/devices\\/[^/?]+$/) && !uri.includes('/calls')) {\n if (httpMethodType === HTTP_METHODS.DELETE) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER;\n }\n if (httpMethodType === HTTP_METHODS.GET) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET;\n }\n\n log.warn(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n }\n\n // Device list: .../devices or .../devices?userid=...\n if (uri.includes('/devices') && !uri.match(/\\/devices\\/[^/?]+/)) {\n return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST;\n }\n\n log.warn(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${httpMethodType}`,\n logContext\n );\n\n return MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN;\n}\n\nexport const isSupplementaryServiceMessageType = (type: MOBIUS_SOCKET_MESSAGE_TYPE): boolean =>\n [\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME,\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER,\n ].includes(type);\n"],"mappings":"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","ignoreList":[]}
@@ -116,6 +116,12 @@ describe('mobiusSocketMapper', function () {
116
116
  expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
117
117
  expect(warnSpy).not.toHaveBeenCalled();
118
118
  });
119
+ it('should return DEVICE_STATUS for /status URI without /devices/ segment in path', function () {
120
+ var uri = '/api/v1/calling/web/status';
121
+ var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.POST);
122
+ expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
123
+ expect(warnSpy).not.toHaveBeenCalled();
124
+ });
119
125
  it('should return DEVICE_LIST for devices list URI without trailing ID', function () {
120
126
  var uri = '/api/v1/calling/web/devices';
121
127
  var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.GET);
@@ -155,10 +161,14 @@ describe('mobiusSocketMapper', function () {
155
161
  method: 'deriveMobiusSocketMessageType'
156
162
  });
157
163
  });
158
- it('should handle URI with /calls/ in path correctly for DEVICE_STATUS (not call-related)', function () {
159
- var uri = '/api/v1/calling/web/devices/device-123/status';
164
+ it('should never return DEVICE_STATUS when /calls/ is present in path ending with /status', function () {
165
+ // The DEVICE_STATUS check explicitly excludes URIs containing /calls/. Any
166
+ // call-scoped /status URI must resolve to CALL_STATUS via the earlier branch,
167
+ // and must never fall through to DEVICE_STATUS even if check ordering changes.
168
+ var uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';
160
169
  var result = (0, _mobiusSocketMapper.deriveMobiusSocketMessageType)(uri, _types.HTTP_METHODS.PATCH);
161
- expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
170
+ expect(result).toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);
171
+ expect(result).not.toBe(_constants.MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);
162
172
  expect(warnSpy).not.toHaveBeenCalled();
163
173
  });
164
174
  it('should prioritize call sub-resources over bare call patterns', function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_mobiusSocketMapper","_constants","describe","warnSpy","beforeEach","jest","clearAllMocks","spyOn","log","it","uri","result","deriveMobiusSocketMessageType","HTTP_METHODS","POST","expect","toBe","MOBIUS_SOCKET_MESSAGE_TYPE","CALL_HOLD","not","toHaveBeenCalled","CALL_RESUME","CALL_TRANSFER","UNKNOWN","toHaveBeenCalledWith","concat","file","method","CALL_SETUP","PATCH","CALL_MEDIA","CALL_STATUS","CALL_STATE","DELETE","CALL_DELETE","GET","REGISTER","UNREGISTER","DEVICE_GET","DEVICE_STATUS","DEVICE_LIST","undefined","mediaUri","statusUri","isSupplementaryServiceMessageType"],"sources":["mobiusSocketMapper.test.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {\n deriveMobiusSocketMessageType,\n isSupplementaryServiceMessageType,\n} from './mobiusSocketMapper';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\ndescribe('mobiusSocketMapper', () => {\n let warnSpy: jest.SpyInstance;\n\n beforeEach(() => {\n jest.clearAllMocks();\n warnSpy = jest.spyOn(log, 'warn');\n });\n\n describe('deriveMobiusSocketMessageType', () => {\n describe('Supplementary services', () => {\n it('should return CALL_HOLD for hold service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/hold';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_RESUME for resume service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/resume';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_TRANSFER for transfer commit service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/calltransfer/commit';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for unrecognized supplementary service', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/unknown/action';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Call operations', () => {\n it('should return CALL_SETUP for call setup URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/call';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_MEDIA for call media URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATUS for call status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATE for calls/{callId} with PATCH method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_DELETE for calls/{callId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for calls/{callId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.GET}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Device operations', () => {\n it('should return REGISTER for device registration URI', () => {\n const uri = '/api/v1/calling/web/device';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNREGISTER for devices/{deviceId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_GET for devices/{deviceId} with GET method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for devices/{deviceId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.PATCH}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return DEVICE_STATUS for devices/{deviceId}/status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI without trailing ID', () => {\n const uri = '/api/v1/calling/web/devices';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI with query parameters', () => {\n const uri = '/api/v1/calling/web/devices?userid=user-789';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('Edge cases', () => {\n it('should return UNKNOWN and log warning when uri is undefined', () => {\n const result = deriveMobiusSocketMessageType(undefined, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning when uri is empty string', () => {\n const result = deriveMobiusSocketMessageType('', HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning for completely unrecognized URI pattern', () => {\n const uri = '/api/v1/completely/unrecognized/path';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should handle URI with /calls/ in path correctly for DEVICE_STATUS (not call-related)', () => {\n const uri = '/api/v1/calling/web/devices/device-123/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should prioritize call sub-resources over bare call patterns', () => {\n const mediaUri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const statusUri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n\n expect(deriveMobiusSocketMessageType(mediaUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA\n );\n expect(deriveMobiusSocketMessageType(statusUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS\n );\n });\n });\n });\n\n describe('isSupplementaryServiceMessageType', () => {\n it('should return true for CALL_HOLD message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_RESUME message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_TRANSFER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n\n expect(result).toBe(true);\n });\n\n it('should return false for REGISTER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_SETUP message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_STATE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_DELETE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for DEVICE_STATUS message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n\n expect(result).toBe(false);\n });\n\n it('should return false for UNKNOWN message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n\n expect(result).toBe(false);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_Logger","_interopRequireDefault","_mobiusSocketMapper","_constants","describe","warnSpy","beforeEach","jest","clearAllMocks","spyOn","log","it","uri","result","deriveMobiusSocketMessageType","HTTP_METHODS","POST","expect","toBe","MOBIUS_SOCKET_MESSAGE_TYPE","CALL_HOLD","not","toHaveBeenCalled","CALL_RESUME","CALL_TRANSFER","UNKNOWN","toHaveBeenCalledWith","concat","file","method","CALL_SETUP","PATCH","CALL_MEDIA","CALL_STATUS","CALL_STATE","DELETE","CALL_DELETE","GET","REGISTER","UNREGISTER","DEVICE_GET","DEVICE_STATUS","DEVICE_LIST","undefined","mediaUri","statusUri","isSupplementaryServiceMessageType"],"sources":["mobiusSocketMapper.test.ts"],"sourcesContent":["import {HTTP_METHODS} from '../../common/types';\nimport log from '../../Logger';\nimport {\n deriveMobiusSocketMessageType,\n isSupplementaryServiceMessageType,\n} from './mobiusSocketMapper';\nimport {MOBIUS_SOCKET_MESSAGE_TYPE} from './constants';\n\ndescribe('mobiusSocketMapper', () => {\n let warnSpy: jest.SpyInstance;\n\n beforeEach(() => {\n jest.clearAllMocks();\n warnSpy = jest.spyOn(log, 'warn');\n });\n\n describe('deriveMobiusSocketMessageType', () => {\n describe('Supplementary services', () => {\n it('should return CALL_HOLD for hold service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/hold';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_RESUME for resume service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/callhold/resume';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_TRANSFER for transfer commit service URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/calltransfer/commit';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for unrecognized supplementary service', () => {\n const uri = '/api/v1/calling/web/devices/device-123/services/unknown/action';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized supplementary service uri - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Call operations', () => {\n it('should return CALL_SETUP for call setup URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/call';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_MEDIA for call media URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATUS for call status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_STATE for calls/{callId} with PATCH method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return CALL_DELETE for calls/{callId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for calls/{callId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for calls/{callId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.GET}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n });\n\n describe('Device operations', () => {\n it('should return REGISTER for device registration URI', () => {\n const uri = '/api/v1/calling/web/device';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNREGISTER for devices/{deviceId} with DELETE method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.DELETE);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNREGISTER);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_GET for devices/{deviceId} with GET method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_GET);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return UNKNOWN and log warning for devices/{deviceId} with unrecognized HTTP method', () => {\n const uri = '/api/v1/calling/web/devices/device-123';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized httpMethod for devices/{deviceId} - uri: ${uri}, httpMethod: ${HTTP_METHODS.PATCH}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return DEVICE_STATUS for devices/{deviceId}/status URI', () => {\n const uri = '/api/v1/calling/web/devices/device-123/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_STATUS for /status URI without /devices/ segment in path', () => {\n const uri = '/api/v1/calling/web/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI without trailing ID', () => {\n const uri = '/api/v1/calling/web/devices';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should return DEVICE_LIST for devices list URI with query parameters', () => {\n const uri = '/api/v1/calling/web/devices?userid=user-789';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_LIST);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n });\n\n describe('Edge cases', () => {\n it('should return UNKNOWN and log warning when uri is undefined', () => {\n const result = deriveMobiusSocketMessageType(undefined, HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning when uri is empty string', () => {\n const result = deriveMobiusSocketMessageType('', HTTP_METHODS.GET);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n 'Cannot derive Mobius socket message type: uri is empty',\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should return UNKNOWN and log warning for completely unrecognized URI pattern', () => {\n const uri = '/api/v1/completely/unrecognized/path';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.POST);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n expect(warnSpy).toHaveBeenCalledWith(\n `Unrecognized uri pattern for Mobius socket - uri: ${uri}, httpMethod: ${HTTP_METHODS.POST}`,\n {\n file: 'mobiusSocketMapper',\n method: 'deriveMobiusSocketMessageType',\n }\n );\n });\n\n it('should never return DEVICE_STATUS when /calls/ is present in path ending with /status', () => {\n // The DEVICE_STATUS check explicitly excludes URIs containing /calls/. Any\n // call-scoped /status URI must resolve to CALL_STATUS via the earlier branch,\n // and must never fall through to DEVICE_STATUS even if check ordering changes.\n const uri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n const result = deriveMobiusSocketMessageType(uri, HTTP_METHODS.PATCH);\n\n expect(result).toBe(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS);\n expect(result).not.toBe(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n expect(warnSpy).not.toHaveBeenCalled();\n });\n\n it('should prioritize call sub-resources over bare call patterns', () => {\n const mediaUri = '/api/v1/calling/web/devices/device-123/calls/call-456/media';\n const statusUri = '/api/v1/calling/web/devices/device-123/calls/call-456/status';\n\n expect(deriveMobiusSocketMessageType(mediaUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_MEDIA\n );\n expect(deriveMobiusSocketMessageType(statusUri, HTTP_METHODS.PATCH)).toBe(\n MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATUS\n );\n });\n });\n });\n\n describe('isSupplementaryServiceMessageType', () => {\n it('should return true for CALL_HOLD message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_HOLD);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_RESUME message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_RESUME);\n\n expect(result).toBe(true);\n });\n\n it('should return true for CALL_TRANSFER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_TRANSFER);\n\n expect(result).toBe(true);\n });\n\n it('should return false for REGISTER message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.REGISTER);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_SETUP message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_STATE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_STATE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for CALL_DELETE message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.CALL_DELETE);\n\n expect(result).toBe(false);\n });\n\n it('should return false for DEVICE_STATUS message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS);\n\n expect(result).toBe(false);\n });\n\n it('should return false for UNKNOWN message type', () => {\n const result = isSupplementaryServiceMessageType(MOBIUS_SOCKET_MESSAGE_TYPE.UNKNOWN);\n\n expect(result).toBe(false);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -268,7 +268,7 @@ export class Registration {
268
268
  method: REG_429_RETRY_UTIL,
269
269
  });
270
270
  await this.startKeepaliveTimer(this.deviceInfo.device?.uri, this.deviceInfo.keepaliveInterval, 'UNKNOWN');
271
- }, retryAfter * 1000);
271
+ }, (retryAfter - Number(this.deviceInfo.keepaliveInterval || 0)) * 1000);
272
272
  }
273
273
  else {
274
274
  this.retryAfter = retryAfter;
@@ -814,6 +814,7 @@ export class Registration {
814
814
  let uri = restoreData.devices[0].uri.replace(stringToReplace, '');
815
815
  if (this.apiRequest.isSocketEnabled()) {
816
816
  uri = uri.replace('https://', 'wss://');
817
+ uri = !uri.endsWith('/') ? `${uri}/` : uri;
817
818
  }
818
819
  this.setActiveMobiusUrl(uri);
819
820
  this.registrationStatus = RegistrationStatus.ACTIVE;
@@ -43,7 +43,7 @@ export function deriveMobiusSocketMessageType(uri, httpMethodType) {
43
43
  if (uri.endsWith('/call')) {
44
44
  return MOBIUS_SOCKET_MESSAGE_TYPE.CALL_SETUP;
45
45
  }
46
- if (uri.includes('/devices/') && uri.endsWith('/status')) {
46
+ if (!uri.includes('/calls/') && uri.endsWith('/status')) {
47
47
  return MOBIUS_SOCKET_MESSAGE_TYPE.DEVICE_STATUS;
48
48
  }
49
49
  if (uri.endsWith('/device')) {
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/registration/register.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -147,5 +147,5 @@
147
147
  "staticpath": "docs",
148
148
  "noprompt": true
149
149
  },
150
- "version": "3.12.0-next.41"
150
+ "version": "3.12.0-next.43"
151
151
  }