@webex/cc-store 1.28.0-ccwidgets.35 → 1.28.0-ccwidgets.37

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 (2) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -7790,7 +7790,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7790
7790
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7791
7791
 
7792
7792
  "use strict";
7793
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _webexCore = __webpack_require__(/*! @webex/webex-core */ \"../../../node_modules/@webex/webex-core/dist/index.js\");\nvar _events = _interopRequireDefault(__webpack_require__(/*! events */ \"../../../node_modules/events/events.js\"));\nvar _types = __webpack_require__(/*! ./types */ \"../../../node_modules/@webex/plugin-cc/dist/types.js\");\nvar _constants = __webpack_require__(/*! ./constants */ \"../../../node_modules/@webex/plugin-cc/dist/constants.js\");\nvar _constants2 = __webpack_require__(/*! ./services/constants */ \"../../../node_modules/@webex/plugin-cc/dist/services/constants.js\");\nvar _services = _interopRequireDefault(__webpack_require__(/*! ./services */ \"../../../node_modules/@webex/plugin-cc/dist/services/index.js\"));\nvar _HttpRequest = _interopRequireDefault(__webpack_require__(/*! ./services/core/HttpRequest */ \"../../../node_modules/@webex/plugin-cc/dist/services/core/HttpRequest.js\"));\nvar _loggerProxy = _interopRequireDefault(__webpack_require__(/*! ./logger-proxy */ \"../../../node_modules/@webex/plugin-cc/dist/logger-proxy.js\"));\nvar _Utils = __webpack_require__(/*! ./services/core/Utils */ \"../../../node_modules/@webex/plugin-cc/dist/services/core/Utils.js\");\nvar _types2 = __webpack_require__(/*! ./services/config/types */ \"../../../node_modules/@webex/plugin-cc/dist/services/config/types.js\");\nvar _constants3 = __webpack_require__(/*! ./services/config/constants */ \"../../../node_modules/@webex/plugin-cc/dist/services/config/constants.js\");\nvar _TaskManager = _interopRequireDefault(__webpack_require__(/*! ./services/task/TaskManager */ \"../../../node_modules/@webex/plugin-cc/dist/services/task/TaskManager.js\"));\nvar _WebCallingService = _interopRequireDefault(__webpack_require__(/*! ./services/WebCallingService */ \"../../../node_modules/@webex/plugin-cc/dist/services/WebCallingService.js\"));\nvar _types3 = __webpack_require__(/*! ./services/task/types */ \"../../../node_modules/@webex/plugin-cc/dist/services/task/types.js\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nclass ContactCenter extends _webexCore.WebexPlugin {\n namespace = 'cc';\n LoggerProxy = _loggerProxy.default;\n constructor(...args) {\n super(...args);\n this.eventEmitter = new _events.default();\n // @ts-ignore\n this.$webex = this.webex;\n this.$webex.once(_constants.READY, () => {\n // @ts-ignore\n this.$config = this.config;\n\n /**\n * This is used for handling the async requests by sending webex.request and wait for corresponding websocket event.\n */\n this.httpRequest = _HttpRequest.default.getInstance({\n webex: this.$webex\n });\n this.services = _services.default.getInstance({\n webex: this.$webex,\n connectionConfig: this.getConnectionConfig()\n });\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n this.webCallingService = new _WebCallingService.default(this.$webex);\n this.taskManager = _TaskManager.default.getTaskManager(this.services.contact, this.webCallingService, this.services.webSocketManager);\n this.incomingTaskListener();\n _loggerProxy.default.initialize(this.$webex.logger);\n });\n }\n handleIncomingTask = task => {\n // @ts-ignore\n this.trigger(_types3.TASK_EVENTS.TASK_INCOMING, task);\n };\n handleTaskHydrate = task => {\n // @ts-ignore\n this.trigger(_types3.TASK_EVENTS.TASK_HYDRATE, task);\n };\n\n /**\n * An Incoming Call listener.\n */\n incomingTaskListener() {\n this.taskManager.on(_types3.TASK_EVENTS.TASK_INCOMING, this.handleIncomingTask);\n this.taskManager.on(_types3.TASK_EVENTS.TASK_HYDRATE, this.handleTaskHydrate);\n }\n\n /**\n * This is used for making the CC SDK ready by setting up the cc mercury connection.\n */\n async register() {\n try {\n this.setupEventListeners();\n return await this.connectWebsocket();\n } catch (error) {\n _loggerProxy.default.error(`Error during register: ${error}`, {\n module: _constants.CC_FILE,\n method: this.register.name\n });\n throw error;\n }\n }\n\n /**\n * Returns the list of buddy agents in the given state and media according to agent profile settings\n *\n * @param {BuddyAgents} data - The data required to fetch buddy agents, including additional agent profile information.\n * @returns {Promise<BuddyAgentsResponse>} A promise that resolves to the response containing buddy agents information.\n * @throws Error\n * @example getBuddyAgents({state: 'Available', mediaType: 'telephony'})\n */\n async getBuddyAgents(data) {\n try {\n return await this.services.agent.buddyAgents({\n data: {\n agentProfileId: this.agentConfig.agentProfileID,\n ...data\n }\n });\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'getBuddyAgents', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /**\n * This is used for connecting the websocket and fetching the agent profile.\n * @returns Promise<Profile>\n * @throws Error\n * @private\n */\n async connectWebsocket() {\n try {\n return this.services.webSocketManager.initWebSocket({\n body: this.getConnectionConfig()\n }).then(async data => {\n const agentId = data.agentId;\n const orgId = this.$webex.credentials.getOrgId();\n this.agentConfig = await this.services.config.getAgentConfig(orgId, agentId);\n _loggerProxy.default.log(`agent config is fetched successfully`, {\n module: _constants.CC_FILE,\n method: this.connectWebsocket.name\n });\n if (this.$config && this.$config.allowAutomatedRelogin) {\n await this.silentRelogin();\n }\n return this.agentConfig;\n }).catch(error => {\n throw error;\n });\n } catch (error) {\n _loggerProxy.default.error(`Error during register: ${error}`, {\n module: _constants.CC_FILE,\n method: this.connectWebsocket.name\n });\n throw error;\n }\n }\n\n /**\n * This is used for agent login.\n * @param data\n * @returns Promise<StationLoginResponse>\n * @throws Error\n */\n async stationLogin(data) {\n try {\n const loginResponse = this.services.agent.stationLogin({\n data: {\n dialNumber: data.loginOption === _types.LoginOption.BROWSER ? this.agentConfig.agentId : data.dialNumber,\n teamId: data.teamId,\n deviceType: data.loginOption,\n isExtension: data.loginOption === _types.LoginOption.EXTENSION,\n deviceId: this.getDeviceId(data.loginOption, data.dialNumber),\n roles: [_constants2.AGENT],\n // TODO: The public API should not have the following properties so filling them with empty values for now. If needed, we can add them in the future.\n teamName: _constants.EMPTY_STRING,\n siteId: _constants.EMPTY_STRING,\n usesOtherDN: false,\n auxCodeId: _constants.EMPTY_STRING\n }\n });\n if (data.loginOption === _types.LoginOption.BROWSER) {\n await this.webCallingService.registerWebCallingLine();\n }\n this.webCallingService.setLoginOption(data.loginOption);\n await loginResponse;\n\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n // this.incomingTaskListener();\n\n return loginResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationLogin', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /** This is used for agent logout.\n * @param data\n * @returns Promise<StationLogoutResponse>\n * @throws Error\n */\n async stationLogout(data) {\n try {\n const logoutResponse = this.services.agent.logout({\n data\n });\n await logoutResponse;\n if (this.webCallingService) {\n this.webCallingService.deregisterWebCallingLine();\n }\n\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.services.webSocketManager.off('message', this.handleWebSocketMessage);\n // this.taskManager.unregisterIncomingCallEvent();\n // this.taskManager.off(TASK_EVENTS.TASK_INCOMING, this.handleIncomingTask);\n // this.taskManager.off(TASK_EVENTS.TASK_HYDRATE, this.handleTaskHydrate);\n\n return logoutResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationLogout', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /* This is used for agent relogin.\n * @returns Promise<StationReLoginResponse>\n * @throws Error\n */\n async stationReLogin() {\n try {\n const reLoginResponse = await this.services.agent.reload();\n return reLoginResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationReLogin', _constants.CC_FILE);\n throw detailedError;\n }\n }\n getDeviceId(loginOption, dialNumber) {\n if (loginOption === _types.LoginOption.EXTENSION || loginOption === _types.LoginOption.AGENT_DN) {\n return dialNumber;\n }\n return _constants2.WEB_RTC_PREFIX + this.agentConfig.agentId;\n }\n\n /**\n * This is used for setting agent state.\n * @param options\n * @returns Promise<SetStateResponse>\n * @throws Error\n */\n\n async setAgentState(data) {\n try {\n const agentStatusResponse = await this.services.agent.stateChange({\n data: {\n ...data,\n agentId: data.agentId || this.agentConfig.agentId\n }\n });\n _loggerProxy.default.log(`SET AGENT STATUS API SUCCESS`, {\n module: _constants.CC_FILE,\n method: this.setAgentState.name\n });\n return agentStatusResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'setAgentState', _constants.CC_FILE);\n throw detailedError;\n }\n }\n handleWebSocketMessage = event => {\n const eventData = JSON.parse(event);\n // Re-emit the events related to agent\n if (Object.values(_types2.CC_AGENT_EVENTS).includes(eventData.data?.type)) {\n // @ts-ignore\n this.emit(eventData.data.type, eventData.data);\n }\n if (eventData.type === _types2.CC_EVENTS.AGENT_STATE_CHANGE) {\n // @ts-ignore\n this.emit(_constants.AGENT_STATE_CHANGE, eventData.data);\n }\n if (eventData.type === _types2.CC_EVENTS.AGENT_MULTI_LOGIN) {\n // @ts-ignore\n this.emit(_constants.AGENT_MULTI_LOGIN, eventData.data);\n }\n };\n\n /**\n * For setting up the Event Emitter listeners and handlers\n */\n setupEventListeners() {\n this.services.connectionService.on('connectionLost', this.handleConnectionLost.bind(this));\n }\n\n /**\n * This method returns the connection configuration.\n */\n getConnectionConfig() {\n return {\n force: this.$config?.force ?? true,\n isKeepAliveEnabled: this.$config?.isKeepAliveEnabled ?? false,\n clientType: this.$config?.clientType ?? 'WebexCCSDK',\n allowMultiLogin: this.$config?.allowMultiLogin ?? true\n };\n }\n\n /**\n * Called when the reconnection has been completed\n */\n async handleConnectionLost(msg) {\n if (msg.isConnectionLost) {\n // TODO: Emit an event saying connection is lost\n _loggerProxy.default.info('event=handleConnectionLost | Connection lost', {\n module: _constants.CC_FILE,\n method: this.handleConnectionLost.name\n });\n } else if (msg.isSocketReconnected) {\n // TODO: Emit an event saying connection is re-estabilished\n _loggerProxy.default.info('event=handleConnectionReconnect | Connection reconnected attempting to request silent relogin', {\n module: _constants.CC_FILE,\n method: this.handleConnectionLost.name\n });\n if (this.$config && this.$config.allowAutomatedRelogin) {\n await this.silentRelogin();\n }\n }\n }\n\n /**\n * Called when we finish registration to silently handle the errors\n */\n async silentRelogin() {\n try {\n const reLoginResponse = await this.services.agent.reload();\n const {\n agentId,\n lastStateChangeReason,\n deviceType,\n dn,\n lastStateChangeTimestamp,\n lastIdleCodeChangeTimestamp\n } = reLoginResponse.data;\n let {\n auxCodeId\n } = reLoginResponse.data;\n this.agentConfig.lastStateChangeTimestamp = lastStateChangeTimestamp;\n this.agentConfig.lastIdleCodeChangeTimestamp = lastIdleCodeChangeTimestamp;\n\n // To handle re-registration of event listeners on silent relogin\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.incomingTaskListener();\n\n if (lastStateChangeReason === 'agent-wss-disconnect') {\n _loggerProxy.default.info('event=requestAutoStateChange | Requesting state change to available on socket reconnect', {\n module: _constants.CC_FILE,\n method: this.silentRelogin.name\n });\n auxCodeId = _constants3.AGENT_STATE_AVAILABLE_ID;\n const stateChangeData = {\n state: _constants3.AGENT_STATE_AVAILABLE,\n auxCodeId,\n lastStateChangeReason,\n agentId\n };\n try {\n const agentStatusResponse = await this.setAgentState(stateChangeData);\n this.agentConfig.lastStateChangeTimestamp = agentStatusResponse.data.lastStateChangeTimestamp;\n this.agentConfig.lastIdleCodeChangeTimestamp = agentStatusResponse.data.lastIdleCodeChangeTimestamp;\n } catch (error) {\n _loggerProxy.default.error(`event=requestAutoStateChange | Error requesting state change to available on socket reconnect: ${error}`, {\n module: _constants.CC_FILE,\n method: this.silentRelogin.name\n });\n }\n }\n this.agentConfig.lastStateAuxCodeId = auxCodeId;\n await this.handleDeviceType(deviceType, dn);\n this.agentConfig.isAgentLoggedIn = true;\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n } catch (error) {\n const {\n reason,\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'silentReLogin', _constants.CC_FILE);\n if (reason === 'AGENT_NOT_FOUND') {\n _loggerProxy.default.log('Agent not found during re-login, handling silently', {\n module: _constants.CC_FILE,\n method: 'silentRelogin'\n });\n return;\n }\n throw detailedError;\n }\n }\n\n /**\n * Handles the device type specific logic\n */\n async handleDeviceType(deviceType, dn) {\n switch (deviceType) {\n case _types.LoginOption.BROWSER:\n await this.webCallingService.registerWebCallingLine();\n break;\n case _types.LoginOption.AGENT_DN:\n case _types.LoginOption.EXTENSION:\n this.agentConfig.defaultDn = dn;\n break;\n default:\n _loggerProxy.default.error(`Unsupported device type: ${deviceType}`, {\n module: _constants.CC_FILE,\n method: this.handleDeviceType.name\n });\n throw new Error(`Unsupported device type: ${deviceType}`);\n }\n this.webCallingService.setLoginOption(deviceType);\n this.agentConfig.deviceType = deviceType;\n }\n\n /**\n * This is used for making the outdial call.\n * @param outDialPayload\n * @returns Promise<TaskResponse>\n * @throws Error\n * @example\n * ```typescript\n * const outDialPayload = {\n * entryPointId: entryPointId,\n destination: destination,\n direction: 'OUTBOUND',\n attributes: {},\n mediaType: 'telephony',\n outboundType: 'OUTDIAL',\n * }\n * const result = await webex.cc.startOutdial(outDialPayload).then(()=>{}).catch(()=>{});\n * ```\n */\n\n async startOutdial(outDialPayload) {\n try {\n const result = await this.services.dialer.startOutdial({\n data: outDialPayload\n });\n return result;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'startOutdial', _constants.CC_FILE);\n throw detailedError;\n }\n }\n}\nexports[\"default\"] = ContactCenter;\n//# sourceMappingURL=cc.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/../../../node_modules/@webex/plugin-cc/dist/cc.js?");
7793
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _webexCore = __webpack_require__(/*! @webex/webex-core */ \"../../../node_modules/@webex/webex-core/dist/index.js\");\nvar _events = _interopRequireDefault(__webpack_require__(/*! events */ \"../../../node_modules/events/events.js\"));\nvar _types = __webpack_require__(/*! ./types */ \"../../../node_modules/@webex/plugin-cc/dist/types.js\");\nvar _constants = __webpack_require__(/*! ./constants */ \"../../../node_modules/@webex/plugin-cc/dist/constants.js\");\nvar _constants2 = __webpack_require__(/*! ./services/constants */ \"../../../node_modules/@webex/plugin-cc/dist/services/constants.js\");\nvar _services = _interopRequireDefault(__webpack_require__(/*! ./services */ \"../../../node_modules/@webex/plugin-cc/dist/services/index.js\"));\nvar _HttpRequest = _interopRequireDefault(__webpack_require__(/*! ./services/core/HttpRequest */ \"../../../node_modules/@webex/plugin-cc/dist/services/core/HttpRequest.js\"));\nvar _loggerProxy = _interopRequireDefault(__webpack_require__(/*! ./logger-proxy */ \"../../../node_modules/@webex/plugin-cc/dist/logger-proxy.js\"));\nvar _Utils = __webpack_require__(/*! ./services/core/Utils */ \"../../../node_modules/@webex/plugin-cc/dist/services/core/Utils.js\");\nvar _types2 = __webpack_require__(/*! ./services/config/types */ \"../../../node_modules/@webex/plugin-cc/dist/services/config/types.js\");\nvar _constants3 = __webpack_require__(/*! ./services/config/constants */ \"../../../node_modules/@webex/plugin-cc/dist/services/config/constants.js\");\nvar _TaskManager = _interopRequireDefault(__webpack_require__(/*! ./services/task/TaskManager */ \"../../../node_modules/@webex/plugin-cc/dist/services/task/TaskManager.js\"));\nvar _WebCallingService = _interopRequireDefault(__webpack_require__(/*! ./services/WebCallingService */ \"../../../node_modules/@webex/plugin-cc/dist/services/WebCallingService.js\"));\nvar _types3 = __webpack_require__(/*! ./services/task/types */ \"../../../node_modules/@webex/plugin-cc/dist/services/task/types.js\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nclass ContactCenter extends _webexCore.WebexPlugin {\n namespace = 'cc';\n LoggerProxy = _loggerProxy.default;\n constructor(...args) {\n super(...args);\n this.eventEmitter = new _events.default();\n // @ts-ignore\n this.$webex = this.webex;\n this.$webex.once(_constants.READY, () => {\n // @ts-ignore\n this.$config = this.config;\n\n /**\n * This is used for handling the async requests by sending webex.request and wait for corresponding websocket event.\n */\n this.httpRequest = _HttpRequest.default.getInstance({\n webex: this.$webex\n });\n this.services = _services.default.getInstance({\n webex: this.$webex,\n connectionConfig: this.getConnectionConfig()\n });\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n this.webCallingService = new _WebCallingService.default(this.$webex);\n this.taskManager = _TaskManager.default.getTaskManager(this.services.contact, this.webCallingService, this.services.webSocketManager);\n this.incomingTaskListener();\n _loggerProxy.default.initialize(this.$webex.logger);\n });\n }\n handleIncomingTask = task => {\n // @ts-ignore\n this.trigger(_types3.TASK_EVENTS.TASK_INCOMING, task);\n };\n handleTaskHydrate = task => {\n // @ts-ignore\n this.trigger(_types3.TASK_EVENTS.TASK_HYDRATE, task);\n };\n\n /**\n * An Incoming Call listener.\n */\n incomingTaskListener() {\n this.taskManager.on(_types3.TASK_EVENTS.TASK_INCOMING, this.handleIncomingTask);\n this.taskManager.on(_types3.TASK_EVENTS.TASK_HYDRATE, this.handleTaskHydrate);\n }\n\n /**\n * This is used for making the CC SDK ready by setting up the cc mercury connection.\n */\n async register() {\n try {\n this.setupEventListeners();\n return await this.connectWebsocket();\n } catch (error) {\n _loggerProxy.default.error(`Error during register: ${error}`, {\n module: _constants.CC_FILE,\n method: this.register.name\n });\n throw error;\n }\n }\n\n /**\n * Returns the list of buddy agents in the given state and media according to agent profile settings\n *\n * @param {BuddyAgents} data - The data required to fetch buddy agents, including additional agent profile information.\n * @returns {Promise<BuddyAgentsResponse>} A promise that resolves to the response containing buddy agents information.\n * @throws Error\n * @example getBuddyAgents({state: 'Available', mediaType: 'telephony'})\n */\n async getBuddyAgents(data) {\n try {\n return await this.services.agent.buddyAgents({\n data: {\n agentProfileId: this.agentConfig.agentProfileID,\n ...data\n }\n });\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'getBuddyAgents', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /**\n * This is used for connecting the websocket and fetching the agent profile.\n * @returns Promise<Profile>\n * @throws Error\n * @private\n */\n async connectWebsocket() {\n try {\n return this.services.webSocketManager.initWebSocket({\n body: this.getConnectionConfig()\n }).then(async data => {\n const agentId = data.agentId;\n const orgId = this.$webex.credentials.getOrgId();\n this.agentConfig = await this.services.config.getAgentConfig(orgId, agentId);\n _loggerProxy.default.log(`agent config is fetched successfully`, {\n module: _constants.CC_FILE,\n method: this.connectWebsocket.name\n });\n if (this.$config && this.$config.allowAutomatedRelogin) {\n await this.silentRelogin();\n }\n return this.agentConfig;\n }).catch(error => {\n throw error;\n });\n } catch (error) {\n _loggerProxy.default.error(`Error during register: ${error}`, {\n module: _constants.CC_FILE,\n method: this.connectWebsocket.name\n });\n throw error;\n }\n }\n\n /**\n * This is used for agent login.\n * @param data\n * @returns Promise<StationLoginResponse>\n * @throws Error\n */\n async stationLogin(data) {\n try {\n const loginResponse = this.services.agent.stationLogin({\n data: {\n dialNumber: data.loginOption === _types.LoginOption.BROWSER ? this.agentConfig.agentId : data.dialNumber,\n teamId: data.teamId,\n deviceType: data.loginOption,\n isExtension: data.loginOption === _types.LoginOption.EXTENSION,\n deviceId: this.getDeviceId(data.loginOption, data.dialNumber),\n roles: [_constants2.AGENT],\n // TODO: The public API should not have the following properties so filling them with empty values for now. If needed, we can add them in the future.\n teamName: _constants.EMPTY_STRING,\n siteId: _constants.EMPTY_STRING,\n usesOtherDN: false,\n auxCodeId: _constants.EMPTY_STRING\n }\n });\n if (data.loginOption === _types.LoginOption.BROWSER) {\n await this.webCallingService.registerWebCallingLine();\n }\n this.webCallingService.setLoginOption(data.loginOption);\n await loginResponse;\n\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n // this.incomingTaskListener();\n\n return loginResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationLogin', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /** This is used for agent logout.\n * @param data\n * @returns Promise<StationLogoutResponse>\n * @throws Error\n */\n async stationLogout(data) {\n try {\n const logoutResponse = this.services.agent.logout({\n data\n });\n await logoutResponse;\n if (this.webCallingService) {\n this.webCallingService.deregisterWebCallingLine();\n }\n\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.services.webSocketManager.off('message', this.handleWebSocketMessage);\n // this.taskManager.unregisterIncomingCallEvent();\n // this.taskManager.off(TASK_EVENTS.TASK_INCOMING, this.handleIncomingTask);\n // this.taskManager.off(TASK_EVENTS.TASK_HYDRATE, this.handleTaskHydrate);\n\n return logoutResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationLogout', _constants.CC_FILE);\n throw detailedError;\n }\n }\n\n /* This is used for agent relogin.\n * @returns Promise<StationReLoginResponse>\n * @throws Error\n */\n async stationReLogin() {\n try {\n const reLoginResponse = await this.services.agent.reload();\n return reLoginResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'stationReLogin', _constants.CC_FILE);\n throw detailedError;\n }\n }\n getDeviceId(loginOption, dialNumber) {\n if (loginOption === _types.LoginOption.EXTENSION || loginOption === _types.LoginOption.AGENT_DN) {\n return dialNumber;\n }\n return _constants2.WEB_RTC_PREFIX + this.agentConfig.agentId;\n }\n\n /**\n * This is used for setting agent state.\n * @param options\n * @returns Promise<SetStateResponse>\n * @throws Error\n */\n\n async setAgentState(data) {\n try {\n const agentStatusResponse = await this.services.agent.stateChange({\n data: {\n ...data,\n agentId: data.agentId || this.agentConfig.agentId\n }\n });\n _loggerProxy.default.log(`SET AGENT STATUS API SUCCESS`, {\n module: _constants.CC_FILE,\n method: this.setAgentState.name\n });\n return agentStatusResponse;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'setAgentState', _constants.CC_FILE);\n throw detailedError;\n }\n }\n handleWebSocketMessage = event => {\n const eventData = JSON.parse(event);\n // Re-emit the events related to agent\n if (Object.values(_types2.CC_AGENT_EVENTS).includes(eventData.data?.type)) {\n // @ts-ignore\n this.emit(eventData.data.type, eventData.data);\n }\n if (eventData.type === _types2.CC_EVENTS.AGENT_STATE_CHANGE) {\n // @ts-ignore\n this.emit(_constants.AGENT_STATE_CHANGE, eventData.data);\n }\n if (eventData.type === _types2.CC_EVENTS.AGENT_MULTI_LOGIN) {\n // @ts-ignore\n this.emit(_constants.AGENT_MULTI_LOGIN, eventData.data);\n }\n };\n\n /**\n * For setting up the Event Emitter listeners and handlers\n */\n setupEventListeners() {\n this.services.connectionService.on('connectionLost', this.handleConnectionLost.bind(this));\n }\n\n /**\n * This method returns the connection configuration.\n */\n getConnectionConfig() {\n return {\n force: this.$config?.force ?? true,\n isKeepAliveEnabled: this.$config?.isKeepAliveEnabled ?? false,\n clientType: this.$config?.clientType ?? 'WebexCCSDK',\n allowMultiLogin: this.$config?.allowMultiLogin ?? true\n };\n }\n\n /**\n * Called when the reconnection has been completed\n */\n async handleConnectionLost(msg) {\n if (msg.isConnectionLost) {\n // TODO: Emit an event saying connection is lost\n _loggerProxy.default.info('event=handleConnectionLost | Connection lost', {\n module: _constants.CC_FILE,\n method: this.handleConnectionLost.name\n });\n } else if (msg.isSocketReconnected) {\n // TODO: Emit an event saying connection is re-estabilished\n _loggerProxy.default.info('event=handleConnectionReconnect | Connection reconnected attempting to request silent relogin', {\n module: _constants.CC_FILE,\n method: this.handleConnectionLost.name\n });\n if (this.$config && this.$config.allowAutomatedRelogin) {\n await this.silentRelogin();\n }\n }\n }\n\n /**\n * Called when we finish registration to silently handle the errors\n */\n async silentRelogin() {\n try {\n const reLoginResponse = await this.services.agent.reload();\n const {\n agentId,\n lastStateChangeReason,\n deviceType,\n dn,\n lastStateChangeTimestamp,\n lastIdleCodeChangeTimestamp\n } = reLoginResponse.data;\n let {\n auxCodeId\n } = reLoginResponse.data;\n this.agentConfig.lastStateChangeTimestamp = lastStateChangeTimestamp;\n this.agentConfig.lastIdleCodeChangeTimestamp = lastIdleCodeChangeTimestamp;\n\n // To handle re-registration of event listeners on silent relogin\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n // this.incomingTaskListener();\n\n if (lastStateChangeReason === 'agent-wss-disconnect') {\n _loggerProxy.default.info('event=requestAutoStateChange | Requesting state change to available on socket reconnect', {\n module: _constants.CC_FILE,\n method: this.silentRelogin.name\n });\n auxCodeId = _constants3.AGENT_STATE_AVAILABLE_ID;\n const stateChangeData = {\n state: _constants3.AGENT_STATE_AVAILABLE,\n auxCodeId,\n lastStateChangeReason,\n agentId\n };\n try {\n const agentStatusResponse = await this.setAgentState(stateChangeData);\n this.agentConfig.lastStateChangeTimestamp = agentStatusResponse.data.lastStateChangeTimestamp;\n this.agentConfig.lastIdleCodeChangeTimestamp = agentStatusResponse.data.lastIdleCodeChangeTimestamp;\n } catch (error) {\n _loggerProxy.default.error(`event=requestAutoStateChange | Error requesting state change to available on socket reconnect: ${error}`, {\n module: _constants.CC_FILE,\n method: this.silentRelogin.name\n });\n }\n }\n this.agentConfig.lastStateAuxCodeId = auxCodeId;\n await this.handleDeviceType(deviceType, dn);\n this.agentConfig.isAgentLoggedIn = true;\n // TODO: https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-626777 Implement the de-register method and close the listener there\n this.services.webSocketManager.on('message', this.handleWebSocketMessage);\n } catch (error) {\n const {\n reason,\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'silentReLogin', _constants.CC_FILE);\n if (reason === 'AGENT_NOT_FOUND') {\n _loggerProxy.default.log('Agent not found during re-login, handling silently', {\n module: _constants.CC_FILE,\n method: 'silentRelogin'\n });\n return;\n }\n throw detailedError;\n }\n }\n\n /**\n * Handles the device type specific logic\n */\n async handleDeviceType(deviceType, dn) {\n switch (deviceType) {\n case _types.LoginOption.BROWSER:\n await this.webCallingService.registerWebCallingLine();\n break;\n case _types.LoginOption.AGENT_DN:\n case _types.LoginOption.EXTENSION:\n this.agentConfig.defaultDn = dn;\n break;\n default:\n _loggerProxy.default.error(`Unsupported device type: ${deviceType}`, {\n module: _constants.CC_FILE,\n method: this.handleDeviceType.name\n });\n throw new Error(`Unsupported device type: ${deviceType}`);\n }\n this.webCallingService.setLoginOption(deviceType);\n this.agentConfig.deviceType = deviceType;\n }\n\n /**\n * This is used for making the outdial call.\n * @param destination\n * @returns Promise<TaskResponse>\n * @throws Error\n * @example\n * ```typescript\n * const destination = '1234567890';\n * const result = await webex.cc.startOutdial(destination).then(()=>{}).catch(()=>{});\n * ```\n */\n\n async startOutdial(destination) {\n try {\n // Construct the outdial payload.\n const outDialPayload = {\n destination,\n entryPointId: this.agentConfig.outDialEp,\n direction: _constants.OUTDIAL_DIRECTION,\n attributes: _constants.ATTRIBUTES,\n mediaType: _constants.OUTDIAL_MEDIA_TYPE,\n outboundType: _constants.OUTBOUND_TYPE\n };\n const result = await this.services.dialer.startOutdial({\n data: outDialPayload\n });\n return result;\n } catch (error) {\n const {\n error: detailedError\n } = (0, _Utils.getErrorDetails)(error, 'startOutdial', _constants.CC_FILE);\n throw detailedError;\n }\n }\n}\nexports[\"default\"] = ContactCenter;\n//# sourceMappingURL=cc.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/../../../node_modules/@webex/plugin-cc/dist/cc.js?");
7794
7794
 
7795
7795
  /***/ }),
7796
7796
 
@@ -7812,7 +7812,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));
7812
7812
  /***/ ((__unused_webpack_module, exports) => {
7813
7813
 
7814
7814
  "use strict";
7815
- eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WEB_SOCKET_MANAGER_FILE = exports.WEB_CALLING_SERVICE_FILE = exports.TIMEOUT_DURATION = exports.TASK_MANAGER_FILE = exports.READY = exports.LOG_PREFIX = exports.EVENT = exports.EMPTY_STRING = exports.CONNECTION_SERVICE_FILE = exports.CONFIG_FILE_NAME = exports.CC_FILE = exports.AQM_REQS_FILE = exports.AGENT_STATE_CHANGE = exports.AGENT_MULTI_LOGIN = void 0;\nconst EVENT = exports.EVENT = 'event';\nconst READY = exports.READY = 'ready';\nconst TIMEOUT_DURATION = exports.TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration\nconst EMPTY_STRING = exports.EMPTY_STRING = '';\n// FILE NAMES\nconst LOG_PREFIX = exports.LOG_PREFIX = 'PLUGIN_CC';\nconst WEB_CALLING_SERVICE_FILE = exports.WEB_CALLING_SERVICE_FILE = 'WebCallingService';\nconst CONFIG_FILE_NAME = exports.CONFIG_FILE_NAME = 'config-index';\nconst CC_FILE = exports.CC_FILE = 'cc';\nconst CONNECTION_SERVICE_FILE = exports.CONNECTION_SERVICE_FILE = 'connection-service';\nconst WEB_SOCKET_MANAGER_FILE = exports.WEB_SOCKET_MANAGER_FILE = 'WebSocketManager';\nconst AQM_REQS_FILE = exports.AQM_REQS_FILE = 'aqm-reqs';\nconst TASK_MANAGER_FILE = exports.TASK_MANAGER_FILE = 'TaskManager';\nconst AGENT_STATE_CHANGE = exports.AGENT_STATE_CHANGE = 'agent:stateChange';\nconst AGENT_MULTI_LOGIN = exports.AGENT_MULTI_LOGIN = 'agent:multiLogin';\n//# sourceMappingURL=constants.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/../../../node_modules/@webex/plugin-cc/dist/constants.js?");
7815
+ eval("\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WEB_SOCKET_MANAGER_FILE = exports.WEB_CALLING_SERVICE_FILE = exports.TIMEOUT_DURATION = exports.TASK_MANAGER_FILE = exports.READY = exports.OUTDIAL_MEDIA_TYPE = exports.OUTDIAL_DIRECTION = exports.OUTBOUND_TYPE = exports.LOG_PREFIX = exports.EVENT = exports.EMPTY_STRING = exports.CONNECTION_SERVICE_FILE = exports.CONFIG_FILE_NAME = exports.CC_FILE = exports.ATTRIBUTES = exports.AQM_REQS_FILE = exports.AGENT_STATE_CHANGE = exports.AGENT_MULTI_LOGIN = void 0;\nconst EVENT = exports.EVENT = 'event';\nconst READY = exports.READY = 'ready';\nconst TIMEOUT_DURATION = exports.TIMEOUT_DURATION = 20000; // 20 seconds timeout duration for webrtc registration\nconst EMPTY_STRING = exports.EMPTY_STRING = '';\n// FILE NAMES\nconst LOG_PREFIX = exports.LOG_PREFIX = 'PLUGIN_CC';\nconst WEB_CALLING_SERVICE_FILE = exports.WEB_CALLING_SERVICE_FILE = 'WebCallingService';\nconst CONFIG_FILE_NAME = exports.CONFIG_FILE_NAME = 'config-index';\nconst CC_FILE = exports.CC_FILE = 'cc';\nconst CONNECTION_SERVICE_FILE = exports.CONNECTION_SERVICE_FILE = 'connection-service';\nconst WEB_SOCKET_MANAGER_FILE = exports.WEB_SOCKET_MANAGER_FILE = 'WebSocketManager';\nconst AQM_REQS_FILE = exports.AQM_REQS_FILE = 'aqm-reqs';\nconst TASK_MANAGER_FILE = exports.TASK_MANAGER_FILE = 'TaskManager';\nconst AGENT_STATE_CHANGE = exports.AGENT_STATE_CHANGE = 'agent:stateChange';\nconst AGENT_MULTI_LOGIN = exports.AGENT_MULTI_LOGIN = 'agent:multiLogin';\n// AGENT OUTDIAL CONSTANTS\nconst OUTDIAL_DIRECTION = exports.OUTDIAL_DIRECTION = 'OUTBOUND';\nconst ATTRIBUTES = exports.ATTRIBUTES = {};\nconst OUTDIAL_MEDIA_TYPE = exports.OUTDIAL_MEDIA_TYPE = 'telephony';\nconst OUTBOUND_TYPE = exports.OUTBOUND_TYPE = 'OUTDIAL';\n//# sourceMappingURL=constants.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/../../../node_modules/@webex/plugin-cc/dist/constants.js?");
7816
7816
 
7817
7817
  /***/ }),
7818
7818
 
@@ -22782,7 +22782,7 @@ eval("\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\
22782
22782
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
22783
22783
 
22784
22784
  "use strict";
22785
- eval("\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// Note: this file is written using commonjs instead of import/export to\n// simplify consumption by those less familiar with the current state of\n// JavaScript modularization\n\n/* eslint camelcase: [0] */\n\n__webpack_require__(/*! @webex/plugin-authorization */ \"./node_modules/@webex/plugin-authorization/dist/index.browser.js\");\n// explicitly load wdm, since we're relying on preDiscoveryServices and the\n// url interceptor\n__webpack_require__(/*! @webex/internal-plugin-calendar */ \"./node_modules/@webex/internal-plugin-calendar/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-device */ \"./node_modules/@webex/internal-plugin-device/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-presence */ \"./node_modules/@webex/internal-plugin-presence/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-support */ \"./node_modules/@webex/internal-plugin-support/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-llm */ \"../../../node_modules/@webex/internal-plugin-llm/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-attachment-actions */ \"./node_modules/@webex/plugin-attachment-actions/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-device-manager */ \"./node_modules/@webex/plugin-device-manager/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-logger */ \"./node_modules/@webex/plugin-logger/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-meetings */ \"../../../node_modules/@webex/plugin-meetings/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-messages */ \"./node_modules/@webex/plugin-messages/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-memberships */ \"./node_modules/@webex/plugin-memberships/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-people */ \"./node_modules/@webex/plugin-people/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-rooms */ \"../../../node_modules/@webex/plugin-rooms/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-teams */ \"./node_modules/@webex/plugin-teams/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-team-memberships */ \"./node_modules/@webex/plugin-team-memberships/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-webhooks */ \"./node_modules/@webex/plugin-webhooks/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-cc */ \"../../../node_modules/@webex/plugin-cc/dist/index.js\");\nvar merge = __webpack_require__(/*! lodash/merge */ \"../../../node_modules/lodash/merge.js\");\nvar WebexCore = (__webpack_require__(/*! @webex/webex-core */ \"../../../node_modules/@webex/webex-core/dist/index.js\")[\"default\"]);\nvar config = __webpack_require__(/*! ./config */ \"./node_modules/webex/dist/config.js\");\n\n// documentation.js puts hashes in relative urls, so need to specify full urls\n// here\n/**\n * See {@link https://webex.github.io/webex-js-sdk/example/browsers|Browser Guide} and\n * {@link https://webex.github.io/webex-js-sdk/example/servers|Server Guide}\n * @see {@link /example/browsers|Browser Guide}\n * @see {@link /example/servers|Server Guide}\n * @class Webex\n */\nvar Webex = WebexCore.extend({\n webex: true,\n version: \"3.7.0-wxcc.18\"\n});\n\n/**\n * Create a new {@link Webex} instance\n *\n * @example\n * <caption>Create a new Webex instance configured for your OAuth client</caption>\n * const webex = Webex.init({\n * config: {\n * credentials: {\n * authorizationString: `<AUTHORIZATION URL FROM DEVELOPER PORTAL>`\n * }\n * }\n * });\n *\n * @example\n * <caption>Create a new Webex instance configured for a Bot</caption>\n * const webex = Webex.init({\n * credentials: `<BOT TOKEN FROM DEVELOPER PORTAL>`\n * });\n *\n *\n * @param {Object} attrs\n * @param {Object} attrs.config (optional)\n * @memberof Webex\n * @returns {Webex}\n */\nWebex.init = function init() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n attrs.config = merge({\n sdkType: 'webex'\n }, config, attrs.config); // eslint-disable-line no-param-reassign\n\n return new Webex(attrs);\n};\nmodule.exports = Webex;\n//# sourceMappingURL=webex.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/./node_modules/webex/dist/webex.js?");
22785
+ eval("\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n// Note: this file is written using commonjs instead of import/export to\n// simplify consumption by those less familiar with the current state of\n// JavaScript modularization\n\n/* eslint camelcase: [0] */\n\n__webpack_require__(/*! @webex/plugin-authorization */ \"./node_modules/@webex/plugin-authorization/dist/index.browser.js\");\n// explicitly load wdm, since we're relying on preDiscoveryServices and the\n// url interceptor\n__webpack_require__(/*! @webex/internal-plugin-calendar */ \"./node_modules/@webex/internal-plugin-calendar/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-device */ \"./node_modules/@webex/internal-plugin-device/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-presence */ \"./node_modules/@webex/internal-plugin-presence/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-support */ \"./node_modules/@webex/internal-plugin-support/dist/index.js\");\n__webpack_require__(/*! @webex/internal-plugin-llm */ \"../../../node_modules/@webex/internal-plugin-llm/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-attachment-actions */ \"./node_modules/@webex/plugin-attachment-actions/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-device-manager */ \"./node_modules/@webex/plugin-device-manager/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-logger */ \"./node_modules/@webex/plugin-logger/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-meetings */ \"../../../node_modules/@webex/plugin-meetings/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-messages */ \"./node_modules/@webex/plugin-messages/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-memberships */ \"./node_modules/@webex/plugin-memberships/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-people */ \"./node_modules/@webex/plugin-people/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-rooms */ \"../../../node_modules/@webex/plugin-rooms/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-teams */ \"./node_modules/@webex/plugin-teams/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-team-memberships */ \"./node_modules/@webex/plugin-team-memberships/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-webhooks */ \"./node_modules/@webex/plugin-webhooks/dist/index.js\");\n__webpack_require__(/*! @webex/plugin-cc */ \"../../../node_modules/@webex/plugin-cc/dist/index.js\");\nvar merge = __webpack_require__(/*! lodash/merge */ \"../../../node_modules/lodash/merge.js\");\nvar WebexCore = (__webpack_require__(/*! @webex/webex-core */ \"../../../node_modules/@webex/webex-core/dist/index.js\")[\"default\"]);\nvar config = __webpack_require__(/*! ./config */ \"./node_modules/webex/dist/config.js\");\n\n// documentation.js puts hashes in relative urls, so need to specify full urls\n// here\n/**\n * See {@link https://webex.github.io/webex-js-sdk/example/browsers|Browser Guide} and\n * {@link https://webex.github.io/webex-js-sdk/example/servers|Server Guide}\n * @see {@link /example/browsers|Browser Guide}\n * @see {@link /example/servers|Server Guide}\n * @class Webex\n */\nvar Webex = WebexCore.extend({\n webex: true,\n version: \"3.7.0-wxcc.19\"\n});\n\n/**\n * Create a new {@link Webex} instance\n *\n * @example\n * <caption>Create a new Webex instance configured for your OAuth client</caption>\n * const webex = Webex.init({\n * config: {\n * credentials: {\n * authorizationString: `<AUTHORIZATION URL FROM DEVELOPER PORTAL>`\n * }\n * }\n * });\n *\n * @example\n * <caption>Create a new Webex instance configured for a Bot</caption>\n * const webex = Webex.init({\n * credentials: `<BOT TOKEN FROM DEVELOPER PORTAL>`\n * });\n *\n *\n * @param {Object} attrs\n * @param {Object} attrs.config (optional)\n * @memberof Webex\n * @returns {Webex}\n */\nWebex.init = function init() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n attrs.config = merge({\n sdkType: 'webex'\n }, config, attrs.config); // eslint-disable-line no-param-reassign\n\n return new Webex(attrs);\n};\nmodule.exports = Webex;\n//# sourceMappingURL=webex.js.map\n\n\n//# sourceURL=webpack://@webex/cc-store/./node_modules/webex/dist/webex.js?");
22786
22786
 
22787
22787
  /***/ }),
22788
22788
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webex/cc-store",
3
3
  "description": "Webex Contact Center Widgets: Widgets Store",
4
- "version": "1.28.0-ccwidgets.35",
4
+ "version": "1.28.0-ccwidgets.37",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
7
7
  "publishConfig": {
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "mobx": "6.13.5",
25
25
  "typescript": "5.6.3",
26
- "webex": "3.7.0-wxcc.18"
26
+ "webex": "3.7.0-wxcc.19"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@babel/core": "7.25.2",